CE PLUS - Nota 012532

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 19/09/2012 00:00:00

Data/Hora Última Alteração: 19/08/2013 11:22:35

Descrição da Nota: AO ELIMINAR FATURA NÃO ATUALIZA CUSTO EFETIVO

Sintoma

Ao eliminar fatura não atualiza custo efetivo

 

 

Solução

Corrigir seleção do itens de custo.

 

Versões Tratadas

9.0

Informações Complementares

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

Nota Número 12532 Data: 19/09/2012 Hora: 16:09:05

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

 

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

Nota Número              : 12532

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00002

Agrupamento              : 00129

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

Referência às notas relacionadas:

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

 

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

AO ELIMINAR FATURA NÃO ATUALIZA CUSTO EFETIVO

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

Palavras Chave:

FATURA - CUSTO EFETIVO - SEGURO - FRETE

 

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

Objetos da nota:

REPS /PWS/MZYCI003F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

                  FOR ALL ENTRIES IN itab_zycit094

                  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'.

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

            LOOP AT itab_zycit003.

              SELECT SINGLE *

                FROM /pws/zycit036

                  INTO itab_zycit036_aux

* << Fim da exclusão

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

            CLEAR   itab_zycit036_aux.

            REFRESH itab_zycit036_aux.

            SELECT * FROM /pws/zycit036

            INTO TABLE itab_zycit036_aux

            FOR ALL ENTRIES IN itab_zycit003

* << Fim da inclusão

               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

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

                     codigo   = 'FRETEI'               AND

                     congelamov = 'X'.

* << Fim da exclusão

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

                   codigo   = 'FRETEI' .

            LOOP AT itab_zycit003.

              CLEAR itab_zycit036_aux.

              READ TABLE itab_zycit036_aux WITH KEY

                                   nrseq    = itab_zycit003-nrseq

                                   ebeln    = itab_zycit003-ebeln

                                   ebelp    = itab_zycit003-ebelp

                                   codmod   = 'D'

                                   origem   = 'FAT'

                                   nrseqori = /pws/zycie006-nrseq

                                   codigo   = 'FRETEI'      .

              IF sy-subrc EQ 0.

* << Fim da inclusão

              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.

                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

              ENDIF.

            ENDLOOP.

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

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

            LOOP AT itab_zycit003.

              SELECT SINGLE *

                FROM /pws/zycit036

                  INTO itab_zycit036_aux

* << Fim da exclusão

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

            CLEAR   itab_zycit036_aux.

            REFRESH itab_zycit036_aux.

            SELECT * FROM /pws/zycit036

            INTO TABLE itab_zycit036_aux

            FOR ALL ENTRIES IN itab_zycit003

* << Fim da inclusão

               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

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

                     codigo   = 'SEGURO'               AND

                     congelamov = 'X'.

* << Fim da exclusão

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

                   codigo   = 'SEGURO'.

            LOOP AT itab_zycit003.

              CLEAR itab_zycit036_aux.

              READ TABLE itab_zycit036_aux WITH KEY

                                   nrseq    = itab_zycit003-nrseq

                                   ebeln    = itab_zycit003-ebeln

                                   ebelp    = itab_zycit003-ebelp

                                   codmod   = 'D'

                                   origem   = 'FAT'

                                   nrseqori = /pws/zycie006-nrseq

                                   codigo   = 'SEGURO'      .

              IF sy-subrc EQ 0.

* << Fim da inclusão

              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.

                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.

              ENDIF.

* >> 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.

        REFRESH it_zycit270.

        PERFORM hist_contabil.

...

 

...

                FOR ALL ENTRIES IN itab_zycit094

                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'.

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

          LOOP AT itab_zycit003.

            SELECT SINGLE *

              FROM /pws/zycit036

                INTO itab_zycit036_aux

* << Fim da exclusão

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

          CLEAR   itab_zycit036_aux.

          REFRESH itab_zycit036_aux.

          SELECT * FROM /pws/zycit036

          INTO TABLE itab_zycit036_aux

          FOR ALL ENTRIES IN itab_zycit003

* << Fim da inclusão

             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

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

                   codigo   = 'FRETEI'               AND

                   congelamov = 'X'.

* << Fim da exclusão

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

                 codigo   = 'FRETEI' .

          LOOP AT itab_zycit003.

            CLEAR itab_zycit036_aux.

            READ TABLE itab_zycit036_aux WITH KEY

                                 nrseq    = itab_zycit003-nrseq

                                 ebeln    = itab_zycit003-ebeln

                                 ebelp    = itab_zycit003-ebelp

                                 codmod   = 'D'

                                 origem   = 'FAT'

                                 nrseqori = /pws/zycie006-nrseq

                                 codigo   = 'FRETEI'      .

            IF sy-subrc EQ 0.

* << Fim da inclusão

            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.

              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

            ENDIF.

          ENDLOOP.

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

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

          LOOP AT itab_zycit003.

            SELECT SINGLE *

              FROM /pws/zycit036

                INTO itab_zycit036_aux

* << Fim da exclusão

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

          CLEAR   itab_zycit036_aux.

          REFRESH itab_zycit036_aux.

          SELECT * FROM /pws/zycit036

          INTO TABLE itab_zycit036_aux

          FOR ALL ENTRIES IN itab_zycit003

* << Fim da inclusão

             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

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

                   codigo   = 'SEGURO'               AND

                   congelamov = 'X'.

* << Fim da exclusão

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

                 codigo   = 'SEGURO'.

          LOOP AT itab_zycit003.

            CLEAR itab_zycit036_aux.

            READ TABLE itab_zycit036_aux WITH KEY

                                 nrseq    = itab_zycit003-nrseq

                                 ebeln    = itab_zycit003-ebeln

                                 ebelp    = itab_zycit003-ebelp

                                 codmod   = 'D'

                                 origem   = 'FAT'

                                 nrseqori = /pws/zycie006-nrseq

                                 codigo   = 'SEGURO'      .

            IF sy-subrc EQ 0.

* << Fim da inclusão

            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.

              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

            ENDIF.

          ENDLOOP.

        ENDIF.

      ENDIF.

      UPDATE /pws/zycbt108 SET status   = 'E'

                      WHERE bukrs    = /pws/zycie006-bukrs

                        AND belnr    = /pws/zycie006-nrseq

                        AND gjahr    = v_ano.

      UPDATE /pws/zycbt119 SET status   = 'E'

                    WHERE nrseq   = /pws/zycie006-nrseq_pgfat.

...

 

...

                ' '  '/PWS/SAPMZYCA109' /pws/zycbt124-nrseq.

        ENDIF.

        DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.

      ENDIF.

    ENDIF.

  ELSEIF /pws/zycie006-tpfatura NE '01'.

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

      SELECT SINGLE * FROM /pws/zycit094

        WHERE nrseqce = /pws/zycie006-nrseqce.

      SELECT SINGLE * FROM /pws/zycit042

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

    WHERE nrseq = /pws/zycit094-nrseq.                  "#EC CI_NOFIRST

* << Fim da exclusão

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

   WHERE nrseq = /pws/zycit094-nrseq.                   "#EC CI_NOFIRST

* << Fim da inclusão

      SELECT SINGLE * FROM /pws/zycit041

        WHERE nrseq = /pws/zycit042-nrseqnf AND

              belnr_mr1m NE space AND

              cancel NE space.

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM /pws/zycit043

       WHERE nrseq = /pws/zycit042-nrseqnf AND

             belnr_mr1m NE space AND

             cancel NE space.

        IF sy-subrc EQ 0.

...

 

...

            FOR ALL ENTRIES IN itab_zycit094

            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'.

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

      LOOP AT itab_zycit003.

        SELECT SINGLE *

          FROM /pws/zycit036

            INTO itab_zycit036_aux

* << Fim da exclusão

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

      CLEAR   itab_zycit036_aux.

      REFRESH itab_zycit036_aux.

      SELECT * FROM /pws/zycit036

      INTO TABLE itab_zycit036_aux

      FOR ALL ENTRIES IN itab_zycit003

* << Fim da inclusão

         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

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

               codigo   = 'FRETEI'               AND

               congelamov = 'X'.

* << Fim da exclusão

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

             codigo   = 'FRETEI' .

      LOOP AT itab_zycit003.

        CLEAR itab_zycit036_aux.

        READ TABLE itab_zycit036_aux WITH KEY

                             nrseq    = itab_zycit003-nrseq

                             ebeln    = itab_zycit003-ebeln

                             ebelp    = itab_zycit003-ebelp

                             codmod   = 'D'

                             origem   = 'FAT'

                             nrseqori = /pws/zycie006-nrseq

                             codigo   = 'FRETEI'      .

        IF sy-subrc EQ 0.

* << Fim da inclusão

        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.

          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.

        ENDIF.

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

        ENDIF.

* << Fim da inclusão

      ENDLOOP.

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

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

      LOOP AT itab_zycit003.

        SELECT SINGLE *

          FROM /pws/zycit036

            INTO itab_zycit036_aux

* << Fim da exclusão

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

      CLEAR   itab_zycit036_aux.

      REFRESH itab_zycit036_aux.

      SELECT * FROM /pws/zycit036

      INTO TABLE itab_zycit036_aux

      FOR ALL ENTRIES IN itab_zycit003

* << Fim da inclusão

         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

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

               codigo   = 'SEGURO'               AND

               congelamov = 'X'.

* << Fim da exclusão

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

             codigo   = 'SEGURO'.

      LOOP AT itab_zycit003.

        CLEAR itab_zycit036_aux.

        READ TABLE itab_zycit036_aux WITH KEY

                             nrseq    = itab_zycit003-nrseq

                             ebeln    = itab_zycit003-ebeln

                             ebelp    = itab_zycit003-ebelp

                             codmod   = 'D'

                             origem   = 'FAT'

                             nrseqori = /pws/zycie006-nrseq

                             codigo   = 'SEGURO'      .

        IF sy-subrc EQ 0.

* << Fim da inclusão

        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.

          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

        ENDIF.

      ENDLOOP.

    ENDIF.

...