CE PLUS - Nota 003584

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Frete Internacional

Data/Hora da Publicação: 02/05/2007 00:00:00

Data/Hora Última Alteração: 09/03/2010 09:36:25

Descrição da Nota: ESTORNAR FATURA DE FRETE E SEGURO APÓS RECEBIMENTO,ELIMINA ITEM DO CUSTO

Sintoma

 

ao estornar fatura de frete e seguro após recebimento, está eliminando linha no custo .

 

Solução

 

Atualização do programa de fatura para verificar se há recebimento e ao estornar a fatura de

frete e seguro após o recebimento deverá apenas limpar a coluna realizado e mover o valor para a

coluna diferença.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 03584 Data: 02/05/2007 Hora: 16:35:13

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

 

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

Nota Número              : 03584

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00027

Agrupamento              : 00164

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

ESTORNAR FATURA DE FRETE E SEGURO APÓS RECEBIMENTO,ELIMINA ITEM DO CUSTO

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

Palavras Chave:

FATURA DE FRETE - FATURA DE SEGURO - RECEBIMENTO - CONGELAMENTO

ESTORNO - CUSTO EFETIVO

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

Objetos da nota:

REPS /PWS/MZYCI003F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

                  WHERE nrseq = itab_zycit094-nrseq.

              ENDIF.

            ELSE.

              SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

                FOR ALL ENTRIES IN itab_zycit094

                WHERE nrseq = itab_zycit094-nrseq.

            ENDIF.

          ENDIF.

          IF /pws/zycie006-tpfatura = '02'.

            LOOP AT itab_zycit003.

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

              SELECT SINGLE *

                FROM /pws/zycit036

                  INTO itab_zycit036_aux

               WHERE nrseq    = itab_zycit003-nrseq    AND

                     ebeln    = itab_zycit003-ebeln    AND

                     ebelp    = itab_zycit003-ebelp    AND

                     codmod   = 'D'                    AND

                     origem   = 'FAT'                  AND

                     nrseqori = /pws/zycie006-nrseq    AND

                     codigo   = 'FRETEI'               AND

                     congelamov = 'X'.

              IF itab_zycit036_aux-congelamov EQ 'X'.

                CLEAR: itab_zycit036_aux-vlreal,

                       itab_zycit036_aux-waers_real.

                MODIFY /pws/zycit036 FROM itab_zycit036_aux.

              ELSE.

* << Fim da inclusão

              DELETE FROM /pws/zycit036

                     WHERE codigo   = 'FRETEI'

                       AND nrseq    = itab_zycit003-nrseq

                       AND ebeln    = itab_zycit003-ebeln

                       AND ebelp    = itab_zycit003-ebelp

                       AND codmod   = 'D'

                       AND origem   = 'FAT'

                       AND nrseqori = /pws/zycie006-nrseq.

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

              ENDIF.

* << Fim da inclusão

            ENDLOOP.

          ELSEIF /pws/zycie006-tpfatura = '03'.

            LOOP AT itab_zycit003.

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

              SELECT SINGLE *

                FROM /pws/zycit036

                  INTO itab_zycit036_aux

               WHERE nrseq    = itab_zycit003-nrseq    AND

                     ebeln    = itab_zycit003-ebeln    AND

                     ebelp    = itab_zycit003-ebelp    AND

                     codmod   = 'D'                    AND

                     origem   = 'FAT'                  AND

                     nrseqori = /pws/zycie006-nrseq    AND

                     codigo   = 'FRETEI'               AND

                     congelamov = 'X'.

              IF itab_zycit036_aux-congelamov EQ 'X'.

                CLEAR: itab_zycit036_aux-vlreal,

                       itab_zycit036_aux-waers_real.

                MODIFY /pws/zycit036 FROM itab_zycit036_aux.

              ELSE.

* << Fim da inclusão

              DELETE FROM /pws/zycit036

                     WHERE codigo   = 'SEGURO'

                       AND nrseq    = itab_zycit003-nrseq

                       AND ebeln    = itab_zycit003-ebeln

                       AND ebelp    = itab_zycit003-ebelp

                       AND codmod   = 'D'

                       AND origem   = 'FAT'

                       AND nrseqori = /pws/zycie006-nrseq.

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

              ENDIF.

* << Fim da inclusão

            ENDLOOP.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSE.

      IF NOT /pws/zycie006-statusp IS INITIAL

         AND /pws/zycie006-frpagto NE 'A'

         AND v_pag_antecipado IS INITIAL.

        SELECT SINGLE *

          FROM bkpf

...

 

...

                WHERE nrseq = itab_zycit094-nrseq.

            ENDIF.

          ELSE.

            SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

              FOR ALL ENTRIES IN itab_zycit094

              WHERE nrseq = itab_zycit094-nrseq.

          ENDIF.

        ENDIF.

        IF /pws/zycie006-tpfatura = '02'.

          LOOP AT itab_zycit003.

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

            SELECT SINGLE *

              FROM /pws/zycit036

                INTO itab_zycit036_aux

             WHERE nrseq    = itab_zycit003-nrseq    AND

                   ebeln    = itab_zycit003-ebeln    AND

                   ebelp    = itab_zycit003-ebelp    AND

                   codmod   = 'D'                    AND

                   origem   = 'FAT'                  AND

                   nrseqori = /pws/zycie006-nrseq    AND

                   codigo   = 'FRETEI'               AND

                   congelamov = 'X'.

            IF itab_zycit036_aux-congelamov EQ 'X'.

              CLEAR: itab_zycit036_aux-vlreal,

                     itab_zycit036_aux-waers_real.

              MODIFY /pws/zycit036 FROM itab_zycit036_aux.

            ELSE.

* << Fim da inclusão

            DELETE FROM /pws/zycit036

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

                   WHERE codigo = 'FRETEI'

                     AND nrseq  = itab_zycit003-nrseq

                     AND ebeln  = itab_zycit003-ebeln

                     AND ebelp  = itab_zycit003-ebelp

                     AND codmod = 'D'

                     AND origem = 'FAT'

* << Fim da exclusão

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

                     WHERE codigo   = 'FRETEI'

                       AND nrseq    = itab_zycit003-nrseq

                       AND ebeln    = itab_zycit003-ebeln

                       AND ebelp    = itab_zycit003-ebelp

                       AND codmod   = 'D'

                       AND origem   = 'FAT'

* << Fim da inclusão

                     AND nrseqori = /pws/zycie006-nrseq.

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

            ENDIF.

          ENDLOOP.

* << Fim da inclusão

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

          ENDLOOP.

* << Fim da exclusão

        ELSEIF /pws/zycie006-tpfatura = '03'.

          LOOP AT itab_zycit003.

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

            SELECT SINGLE *

              FROM /pws/zycit036

                INTO itab_zycit036_aux

             WHERE nrseq    = itab_zycit003-nrseq    AND

                   ebeln    = itab_zycit003-ebeln    AND

                   ebelp    = itab_zycit003-ebelp    AND

                   codmod   = 'D'                    AND

                   origem   = 'FAT'                  AND

                   nrseqori = /pws/zycie006-nrseq    AND

                   codigo   = 'FRETEI'               AND

                   congelamov = 'X'.

            IF itab_zycit036_aux-congelamov EQ 'X'.

              CLEAR: itab_zycit036_aux-vlreal,

                     itab_zycit036_aux-waers_real.

              MODIFY /pws/zycit036 FROM itab_zycit036_aux.

            ELSE.

* << Fim da inclusão

            DELETE FROM /pws/zycit036

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

                   WHERE codigo = 'SEGURO'

                     AND nrseq  = itab_zycit003-nrseq

                     AND ebeln  = itab_zycit003-ebeln

                     AND ebelp  = itab_zycit003-ebelp

                     AND codmod = 'D'

                     AND origem = 'FAT'

* << Fim da exclusão

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

                     WHERE codigo   = 'SEGURO'

                       AND nrseq    = itab_zycit003-nrseq

                       AND ebeln    = itab_zycit003-ebeln

                       AND ebelp    = itab_zycit003-ebelp

                       AND codmod   = 'D'

                       AND origem   = 'FAT'

* << Fim da inclusão

                     AND nrseqori = /pws/zycie006-nrseq.

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

            ENDIF.

* << Fim da inclusão

          ENDLOOP.

        ENDIF.

      ENDIF.

      UPDATE /pws/zycbt108 SET status   = 'E'

                      WHERE bukrs    = /pws/zycie006-bukrs

                        AND belnr    = /pws/zycie006-nrseq

...

 

...

            WHERE nrseq = itab_zycit094-nrseq.

        ENDIF.

      ELSE.

        SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

          FOR ALL ENTRIES IN itab_zycit094

          WHERE nrseq = itab_zycit094-nrseq.

      ENDIF.

    ENDIF.

    IF /pws/zycie006-tpfatura = '02'.

      LOOP AT itab_zycit003.

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

              SELECT SINGLE *

                FROM /pws/zycit036

                  INTO itab_zycit036_aux

               WHERE nrseq    = itab_zycit003-nrseq    AND

                     ebeln    = itab_zycit003-ebeln    AND

                     ebelp    = itab_zycit003-ebelp    AND

                     codmod   = 'D'                    AND

                     origem   = 'FAT'                  AND

                     nrseqori = /pws/zycie006-nrseq    AND

                     codigo   = 'FRETEI'               AND

                     congelamov = 'X'.

              IF itab_zycit036_aux-congelamov EQ 'X'.

                CLEAR: itab_zycit036_aux-vlreal,

                       itab_zycit036_aux-waers_real.

                MODIFY /pws/zycit036 FROM itab_zycit036_aux.

              ELSE.

* << Fim da inclusão

        DELETE FROM /pws/zycit036

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

               WHERE codigo = 'FRETEI'

                 AND nrseq  = itab_zycit003-nrseq

                 AND ebeln  = itab_zycit003-ebeln

                 AND ebelp  = itab_zycit003-ebelp

                 AND codmod = 'D'

                 AND origem = 'FAT'

* << Fim da exclusão

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

                       WHERE codigo   = 'FRETEI'

                         AND nrseq    = itab_zycit003-nrseq

                         AND ebeln    = itab_zycit003-ebeln

                         AND ebelp    = itab_zycit003-ebelp

                         AND codmod   = 'D'

                         AND origem   = 'FAT'

* << Fim da inclusão

                 AND nrseqori = /pws/zycie006-nrseq.

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

              ENDIF.

* << Fim da inclusão

      ENDLOOP.

    ELSEIF /pws/zycie006-tpfatura = '03'.

      LOOP AT itab_zycit003.

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

              SELECT SINGLE *

                FROM /pws/zycit036

                  INTO itab_zycit036_aux

               WHERE nrseq    = itab_zycit003-nrseq    AND

                     ebeln    = itab_zycit003-ebeln    AND

                     ebelp    = itab_zycit003-ebelp    AND

                     codmod   = 'D'                    AND

                     origem   = 'FAT'                  AND

                     nrseqori = /pws/zycie006-nrseq    AND

                     codigo   = 'FRETEI'               AND

                     congelamov = 'X'.

              IF itab_zycit036_aux-congelamov EQ 'X'.

                CLEAR: itab_zycit036_aux-vlreal,

                       itab_zycit036_aux-waers_real.

                MODIFY /pws/zycit036 FROM itab_zycit036_aux.

              ELSE.

* << Fim da inclusão

        DELETE FROM /pws/zycit036

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

               WHERE codigo = 'SEGURO'

                 AND nrseq  = itab_zycit003-nrseq

                 AND ebeln  = itab_zycit003-ebeln

                 AND ebelp  = itab_zycit003-ebelp

                 AND codmod = 'D'

                 AND origem = 'FAT'

* << Fim da exclusão

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

                       WHERE codigo   = 'SEGURO'

                         AND nrseq    = itab_zycit003-nrseq

                         AND ebeln    = itab_zycit003-ebeln

                         AND ebelp    = itab_zycit003-ebelp

                         AND codmod   = 'D'

                         AND origem   = 'FAT'

* << Fim da inclusão

                 AND nrseqori = /pws/zycie006-nrseq.

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

              ENDIF.

* << Fim da inclusão

      ENDLOOP.

    ENDIF.

    SET SCREEN 0.

    DELETE FROM /pws/zycit130 WHERE nrseq = /pws/zycie006-nrseq.

    DELETE FROM /pws/zycit126 WHERE nrseq = /pws/zycie006-nrseq.

    DELETE FROM /pws/zycit129 WHERE nrseq = /pws/zycie006-nrseq.

...