CE PLUS - Nota 003958

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: BL

Data/Hora da Publicação: 18/06/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 14:16:28

Descrição da Nota: ERRO AO EXCLUIR O BL, MESMO SENDO FATURAS DO TIPO SEVIÇO

Sintoma

Criei o embarque com um item de serviço e o outro não.

Criei o b/l e a fatura somente para o item de serviço

Eliminei o b/l.

1) não estou conseguindo entrar na fatura de serviço para fazer o recebimento

2) a fatura de serviço consta da tabela 006 (vide anexo) porém na pasta pedidos do embarque, o campo

qt embarque não está fechado

 

 

Solução

Ajuste feito para permitir excluir o BL apenas quando existir faturas do tipo Serviço. Ajuste no

programa para poder entrar nas faturas, mesmo quando não existir BL, caso a modalidade seja do tipo

Serviço

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES REFERENTES A PERFORMANCE DO EMBARQUE.

SISTEMA NÃO PERMITE ELIMINAR BL MESMO NÃO TENDO FATURA

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 03958 Data: 18/06/2007 Hora: 16:08:02

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 03958

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00001

Agrupamento              : 00170

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

03482  - 00001 - 7.0    - 00001  - SISTEMA NÃO PERMITE ELIMINAR BL MESMO NÃO TENDO FATURA

03732  - 00002 - 7.0    - 00001  - AJUSTES REFERENTES A PERFORMANCE DO EMBARQUE.

----------------------------------------------------------------------------------------------------

ERRO AO EXCLUIR O BL, MESMO SENDO FATURAS DO TIPO SEVIÇO

----------------------------------------------------------------------------------------------------

Palavras Chave:

FORM RECUPERANDO_ITENS, ITAB_ZYCIT006, ITAB_ZYCIT263

FORM VERIFICA_ITENS, /PWS/ZYCIT006, ITAB_TEMP_SEQ_PGFAT

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI002F02

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

      LOOP AT itab_zycit263.

        itab_temp_seq_pgfat-nrseq_pgfat = itab_zycit263-nrseq_pgfat.

        COLLECT itab_temp_seq_pgfat.

      ENDLOOP.

      IF NOT itab_temp_seq_pgfat[] IS INITIAL.

        SELECT * FROM /pws/zycit006

          INTO TABLE itab_zycit006

          FOR ALL ENTRIES IN itab_temp_seq_pgfat

          WHERE nrseq_pgfat EQ itab_temp_seq_pgfat-nrseq_pgfat

            AND nrseqce = /pws/zycit094-nrseqce.

* >> Início da inclusão: FORM VERIFICA_ITENS

        IF sy-subrc NE 0.

          SELECT * FROM /pws/zycit006

            INTO TABLE itab_zycit006

            FOR ALL ENTRIES IN itab_temp_seq_pgfat

            WHERE nrseq_pgfat EQ itab_temp_seq_pgfat-nrseq_pgfat

              AND tpfatura  = '11'.

        ENDIF.

* << Fim da inclusão

      ENDIF.

      LOOP AT itab_zycit263.

        v_tabix = sy-tabix.

        READ TABLE itab_zycit006 WITH KEY

             nrseq_pgfat = itab_zycit263-nrseq_pgfat

             eliminado   = space.

        IF sy-subrc NE 0.

          DELETE itab_zycit263 INDEX v_tabix.

        ENDIF.

      ENDLOOP.

...

 

...

          MESSAGE s061 WITH text-026 text-027.

          EXIT.

        ENDIF.

      ENDIF.

      PERFORM valida_trans USING '/PWS/ZYCI003_C' ''.

    ELSE.

      MESSAGE s015 WITH text-073.

    ENDIF.

  ELSE.

    CLEAR v_subrc.

* >> Início da exclusão: FORM CALL_FATURA

    IF /pws/zycie001-modalidade EQ '02'.

* << Fim da exclusão

* >> Início da inclusão: FORM CALL_FATURA

    IF /pws/zycie001-modalidade EQ '02'

    OR /pws/zycie001-modalidade EQ '03'.

* << Fim da inclusão

      v_subrc = 'X'.

    ELSE.

      SELECT SINGLE * FROM /pws/zycit094

       WHERE nrseq = /pws/zycie001-nrseq.

      IF sy-subrc EQ 0.

        v_subrc = 'X'.

      ENDIF.

    ENDIF.

    IF v_subrc EQ 'X'.

      LOOP AT itab_zycit263.

...

 

...

      LOOP AT itab_zycit263.

        itab_temp_seq_pgfat-nrseq_pgfat = itab_zycit263-nrseq_pgfat.

        COLLECT itab_temp_seq_pgfat.

      ENDLOOP.

      IF NOT itab_temp_seq_pgfat[] IS INITIAL.

        SELECT * FROM /pws/zycit006

          INTO TABLE itab_zycit006

          FOR ALL ENTRIES IN itab_temp_seq_pgfat

          WHERE nrseq_pgfat EQ itab_temp_seq_pgfat-nrseq_pgfat

            AND nrseqce = /pws/zycit094-nrseqce.

* >> Início da inclusão: FORM RECUPERANDO_ITENS

        IF sy-subrc NE 0.

          SELECT * FROM /pws/zycit006

            INTO TABLE itab_zycit006

            FOR ALL ENTRIES IN itab_temp_seq_pgfat

            WHERE nrseq_pgfat EQ itab_temp_seq_pgfat-nrseq_pgfat

              AND tpfatura  = '11'.

        ENDIF.

* << Fim da inclusão

      ENDIF.

      LOOP AT itab_zycit263.

        IF itab_zycit263-nrseq_pgfat IS INITIAL.

          DELETE FROM /pws/zycit263

              WHERE nrseq EQ itab_zycit263-nrseq

                AND ebeln EQ itab_zycit263-ebeln

                AND ebelp EQ itab_zycit263-ebelp

                AND nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.

          DELETE itab_zycit263.

          CONTINUE.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI002F02

 

...

  ENDSELECT.

  IF sy-subrc EQ 0.

    MESSAGE s061 WITH text-025 text-026 wa_zycie085_del-nrseqdi.

    EXIT.

  ELSE.

    SELECT  * FROM /pws/zycit006

      into table itab_zycit006

      WHERE nrseqce = /pws/zycie093-nrseqce AND

            eliminado = space

            AND tpfatura NE '11'.

* >> Início da inclusão: FORM TRATA_BOTAO_DELE

    IF NOT itab_zycit006[] IS INITIAL.

      SELECT * FROM /pws/zycit263

      INTO TABLE itab_zycit263

      FOR ALL ENTRIES IN itab_zycit006

      WHERE nrseq_pgfat = itab_zycit006-nrseq_pgfat.

    ENDIF.

* << Fim da inclusão

      loop at itab_zycit006.

         v_tabix = sy-tabix.

         if itab_zycit006-tpfatura eq '01'.

            read table itab_zycit263

              with key nrseq_pgfat = itab_zycit006-nrseq_pgfat.

           if sy-subrc ne 0.

                itab_zycit006-eliminado = 'X'.

                modify itab_zycit006 index v_tabix.

                modify /pws/zycit006 from itab_zycit006.

           else.

...