CE PLUS - Nota 001245

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Relatórios

Data/Hora da Publicação: 25/04/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 09:38:43

Descrição da Nota: RELATÓRIO DE IMPORTAÇÕES PAGAS - AJUSTES GERAIS

Sintoma

Quando a fatura criada na documentação importação está associada à uma fatura criada no câmbio, Na

coluna Boleto é exibido um boleto de uma outra fatura, sendo que para faturas associadas não existe

boleto, portanto não deveria aparecer nenhum número nessa coluna. - As colunas "Valor Boleto", "Taxa

Boleto", "Valor MI" e "Equivalência em USD" aparecem preenchidas com as informações do boleto da

coluna boleto e está errado.

 

 

Solução

Pagamento de Fatura - se for gerada no câmbio, exibir dados do boleto apenas, não exibir

informações de associação. Se for gerada na DI/Carga exibir dados das associações e dos boletos,

em linhas separadas. Se só tiver associação parcial, exibir.

Financiamento - não exibir informações das associações, apenas dos boletos ou dos refinanciamentos.

Pagamento Antecipado - não exibir informações das associações, apenas dos boletos ou dos

financiamentos associados.

Despesas - exibir informações dos boletos.

Para todos ajustar as buscas das informações dos boletos, se baseando na tabela /PWS/ZYCBT064.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 01245 Data: 25/04/2006 Hora: 14:01:59

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

 

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

Nota Número              : 01245

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00110

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

RELATÓRIO DE IMPORTAÇÕES PAGAS - AJUSTES GERAIS

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

Palavras Chave:

RELATÓRIO DE IMPORTAÇÕES PAGAS AJUSTES DADOS GERAIS

ASSOCIAÇÃO REFINANCIAMENTO

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

Objetos da nota:

REPS /PWS/ZYCBR111

 

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

Modificações efetuadas em REPS /PWS/ZYCBR111

 

...

    lifnr      LIKE /pws/zycbt112-lifnr   ,

    tbn        LIKE /pws/zycbt112-tbn     ,

    codint     LIKE /pws/zycbt112-codint  ,

    dtincl     LIKE /pws/zycbt112-dtincl  ,

  END OF itab_zycbt112,

* >> Início da exclusão:

  itab_zycbt113     LIKE /pws/zycbt113 OCCURS 100 WITH HEADER LINE,

* << Fim da exclusão

  itab_zycbt031     LIKE /pws/zycbt031 OCCURS 100 WITH HEADER LINE,

  itab_zycbt131     LIKE /pws/zycbt131 OCCURS 100 WITH HEADER LINE,

* >> Início da exclusão:

  itab_zycbt131_fat LIKE /pws/zycbt131 OCCURS 100 WITH HEADER LINE,

* << Fim da exclusão

  BEGIN OF itab_zycbt119 OCCURS 100,

    nrseq      LIKE /pws/zycbt119-nrseq   ,

    gsber      LIKE /pws/zycbt119-gsber   ,

    nrpagto    LIKE /pws/zycbt119-nrpagto ,

    bukrs      LIKE /pws/zycbt119-bukrs   ,

...

 

...

        INCLUDE STRUCTURE /pws/zycit100.

DATA: END OF itab_zycit100.

DATA: BEGIN OF itab_zycit003 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit003.

DATA: END OF itab_zycit003.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycbt116 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt116.

DATA: END OF itab_zycbt116.

DATA: BEGIN OF itab_zycbt113 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt113.

DATA: bukrs LIKE /pws/zycbt112-bukrs.

DATA: END OF itab_zycbt113.

DATA: BEGIN OF itab_zycmt023 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycmt023.

DATA: END OF itab_zycmt023.

* << Fim da inclusão

DATA: BEGIN OF itab_bkpf OCCURS 0,

        budat LIKE bkpf-budat,

        belnr LIKE bkpf-belnr,

        gjahr LIKE bkpf-gjahr,

        bukrs LIKE bkpf-bukrs,

* >> Início da inclusão:

        kursf LIKE bkpf-kursf,

* << Fim da inclusão

END OF itab_bkpf.

TYPES: BEGIN OF msg_struc,

        tcode LIKE bdcmsgcoll-tcode,

        dyname LIKE bdcmsgcoll-dyname,

        dynumb LIKE bdcmsgcoll-dynumb,

...

 

...

           FOR ALL ENTRIES IN itab_zycbt112

           WHERE nrseq   EQ itab_zycbt112-nrseq AND

                 dtpagto IN so_dtpg             AND

                 dtpagto NOT IN ('00000000', '        ') AND

                 status  NE 'E'.

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

    LOOP AT itab_zycbt113.

      READ TABLE itab_zycbt112 WITH KEY nrseq = itab_zycbt113-nrseq.

      IF sy-subrc = 0.

        itab_zycbt113-bukrs = itab_zycbt112-bukrs.

        MODIFY itab_zycbt113 TRANSPORTING bukrs

               WHERE nrseq = itab_zycbt113-nrseq.

* << Fim da inclusão

  ENDIF.

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

    ENDLOOP.

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt113[] IS INITIAL.

    SELECT *

           FROM /pws/zycbt064

           INTO TABLE itab_zycbt064_01

           FOR ALL ENTRIES IN itab_zycbt113

           WHERE mdcorresp EQ 'IF'                 AND

                 nrchave   EQ itab_zycbt113-nrseq  AND

                 tpparc    EQ itab_zycbt113-tpparc AND

                 nrparc    EQ itab_zycbt113-nrparc.

    IF sy-subrc EQ 0 AND NOT itab_zycbt064_01[] IS INITIAL.

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

      SELECT budat belnr gjahr bukrs kursf FROM bkpf

       INTO TABLE itab_bkpf

       FOR ALL ENTRIES IN itab_zycbt113

        WHERE belnr = itab_zycbt113-belnr_p

          AND gjahr = itab_zycbt113-dtpagto(4)

          AND bukrs = itab_zycbt113-bukrs.

* << Fim da inclusão

      SELECT *

             FROM /pws/zycbt031

             INTO TABLE itab_zycbt031_01

             FOR ALL ENTRIES IN itab_zycbt064_01

             WHERE nrseq    EQ itab_zycbt064_01-nrboleto AND

...

 

...

      APPEND itab_zycbt048_01 TO itab_zycbt048.

    ENDLOOP.

    itab_zycbt134[] = itab_zycbt134_01[].

  ENDIF.

  IF NOT itab_zycbt112[] IS INITIAL.

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

    SELECT *

           FROM /pws/zycbt131 INTO TABLE itab_zycbt131

* << Fim da exclusão

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

    SELECT * FROM /pws/zycbt116 INTO TABLE itab_zycbt116

* << Fim da inclusão

           FOR ALL ENTRIES IN itab_zycbt112

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

           WHERE mdcorresp EQ 'IF'  AND

                 nrseq     EQ itab_zycbt112-nrseq.

* << Fim da exclusão

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

             WHERE nrfinanc = itab_zycbt112-nrseq.

* << Fim da inclusão

    SELECT *

           FROM /pws/zycbt041

           INTO TABLE itab_zycbt041

           FOR ALL ENTRIES IN itab_zycbt112

           WHERE mdcorresp EQ 'IF'   AND

...

 

...

  SORT itab_zycbt131 BY nrseq mdcorresp nrseq_pgfat.

  SORT itab_zycbt064 BY nrchave tpparc.

  LOOP AT itab_zycbt112.

    LOOP AT itab_zycbt113 WHERE nrseq = itab_zycbt112-nrseq.

      MOVE-CORRESPONDING itab_zycbt113 TO wa_zycbt131.

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

      CLEAR itab_dados.

* << Fim da exclusão

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

      CLEAR: itab_dados,

      itab_zycbt031, itab_zycbt064.

* << Fim da inclusão

      READ TABLE itab_zycbt064 WITH KEY nrchave = itab_zycbt113-nrseq

                                        tpparc  = itab_zycbt113-tpparc

                                        nrparc  = itab_zycbt113-nrparc.

      READ TABLE itab_zycbt031 WITH KEY

                                      nrseq    = itab_zycbt064-nrboleto

                                      dtboleto = itab_zycbt064-dtboleto.

      IF sy-subrc NE 0.

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

       READ TABLE itab_zycbt116 WITH KEY nrfinanc = itab_zycbt113-nrseq

                                        tpparc   = itab_zycbt113-tpparc

                                        nrparc   = itab_zycbt113-nrparc.

        IF sy-subrc NE 0.

* << Fim da inclusão

        CONTINUE.

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

        ENDIF.

* << Fim da inclusão

      ENDIF.

...

 

...

      itab_dados-totfinan  = itab_zycbt112-vlme.

      itab_dados-kursf     = itab_zycbt031-kursf.

      itab_dados-vlmi      = v_mi.

      itab_dados-oper      = text-031.

      itab_dados-dtincl    = itab_zycbt112-dtincl.

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

      IF NOT itab_dados-nrboleto IS INITIAL.

* << Fim da inclusão

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

      IF itab_zycbt113-tpparc = 'P'.

        LOOP AT itab_zycbt131 WHERE nrseq     = itab_zycbt112-nrseq AND

                                    mdcorresp = 'IF'.

          wa_zycbt131 = itab_zycbt131.

          itab_dados-fatura   = wa_zycbt131-nrseq_pgfat.

          itab_dados-vlfatura = wa_zycbt131-vlme.

          MOVE  itab_dados TO wa_itab_dados.

          CLEAR itab_dados-vlusd.

          ON CHANGE OF itab_zycbt031-nrseq.

            MOVE wa_itab_dados TO itab_dados.

          ENDON.

          APPEND itab_dados.

        ENDLOOP.

        IF sy-subrc NE 0.

          itab_dados-fatura   = space.

          itab_dados-vlfatura = space.

          APPEND itab_dados.

        ENDIF.

      ELSE.

* << Fim da exclusão

        APPEND itab_dados.

      ENDIF.

      IF itab_zycbt113-tpparc = 'C'.

        PERFORM calcula_total_comissao.

      ELSEIF itab_zycbt113-tpparc = 'P'.

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

        READ TABLE itab_zycbt116 WITH KEY

                                   nrfinanc = itab_zycbt113-nrseq

                                   tpparc   = itab_zycbt113-tpparc

                                   nrparc   = itab_zycbt113-nrparc.

        IF sy-subrc = 0.

          itab_dados-refint    = itab_zycbt113-nrseq.

          itab_dados-vlme      = itab_zycbt113-vlme.

          itab_dados-fatura    = itab_zycbt116-nrrefin.

          itab_dados-vlfatura  = itab_zycbt113-vlme.

          IF itab_zycbt112-waers EQ /pws/zycbt007-waersa.

            itab_dados-vlusd = itab_dados-vlfatura.

          ELSE.

            v_me =  itab_dados-vlfatura.

            v_moeda = itab_zycbt112-waers.

            PERFORM casas_decimais.

            PERFORM converte_usd.

            PERFORM casas_decimais.

            itab_dados-vlusd     = v_usd.

          ENDIF.

          READ TABLE itab_bkpf WITH KEY belnr = itab_zycbt113-belnr_p

                                    gjahr     = itab_zycbt113-dtpagto(4)

                                    bukrs     = itab_zycbt113-bukrs.

          IF sy-subrc = 0.

            itab_dados-vlmi = itab_dados-vlfatura * itab_bkpf-kursf.

          ENDIF.

          APPEND itab_dados.

        ENDIF.

* << Fim da inclusão

        PERFORM calcula_total_principal.

      ELSEIF itab_zycbt113-tpparc = 'J'.

        IF itab_zycbt113-vlir > 0.

          PERFORM parcela_juros.

        ENDIF.

...

 

...

  SELECT nrseq    gsber    nrpagto bukrs   dtemb dtincl

         dtvencto bconegoc waers   vlme    nrfat lifnr

         refbanco codmod   nrdi    dtpagto tbn   codint

         INTO TABLE itab_zycbt119

         FROM /pws/zycbt119

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

         WHERE dtpagto  IN so_dtpg AND

               dtpagto  NOT IN ('00000000', '        ') AND

               bukrs    IN so_empr  AND

* << Fim da exclusão

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

         WHERE bukrs    IN so_empr  AND

* << Fim da inclusão

               gsber    IN so_div   AND

               codint   IN so_tpmt  AND

               bconegoc IN so_bco   AND

               lifnr    IN so_forn  AND

               status   NE 'E'      AND

               dtincl   IN so_dtinc.

  IF NOT itab_zycbt119[] IS INITIAL.

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

    IF NOT so_dtpg[] IS INITIAL.

      DELETE itab_zycbt119 WHERE dtpagto = '00000000'

                              OR dtpagto = '        '.

      LOOP AT itab_zycbt119.

        LOOP AT so_dtpg WHERE low  <= itab_zycbt119-dtpagto

                          AND high >= itab_zycbt119-dtpagto.

          EXIT.

        ENDLOOP.

        IF sy-subrc NE 0.

          DELETE itab_zycbt119 WHERE nrseq = itab_zycbt119-nrseq.

        ENDIF.

      ENDLOOP.

    ENDIF.

* << Fim da inclusão

    SELECT *

           FROM /pws/zycbt064

           INTO TABLE itab_zycbt064

           FOR ALL ENTRIES IN itab_zycbt119

           WHERE mdcorresp EQ 'IP' AND

...

 

...

             FROM /pws/zycbt134

             INTO TABLE itab_zycbt134

             FOR ALL ENTRIES IN itab_zycbt064

             WHERE nrseq    EQ itab_zycbt064-nrboleto AND

                   dtboleto EQ itab_zycbt064-dtboleto.

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

      IF sy-subrc EQ 0 AND NOT itab_zycbt134[] IS INITIAL.

* << Fim da exclusão

        SELECT *

          FROM /pws/zycbt031

          INTO TABLE itab_zycbt031

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

          FOR ALL ENTRIES IN itab_zycbt134

          WHERE nrseq    EQ itab_zycbt134-nrseq AND

                dtboleto EQ itab_zycbt134-dtboleto.

* << Fim da exclusão

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

        FOR ALL ENTRIES IN itab_zycbt064

        WHERE nrseq    EQ itab_zycbt064-nrboleto AND

              dtboleto EQ itab_zycbt064-dtboleto.

* << Fim da inclusão

        SELECT *

         FROM /pws/zycbt048

         INTO TABLE itab_zycbt048

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

         FOR ALL ENTRIES IN itab_zycbt134

         WHERE nrseq    EQ itab_zycbt134-nrseq AND

               dtboleto EQ itab_zycbt134-dtboleto.

      ENDIF.

* << Fim da exclusão

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

       FOR ALL ENTRIES IN itab_zycbt064

       WHERE nrseq    EQ itab_zycbt064-nrboleto AND

             dtboleto EQ itab_zycbt064-dtboleto.

* << Fim da inclusão

    ENDIF.

    SELECT *

           FROM /pws/zycmt014

           INTO TABLE itab_zycmt014

           FOR ALL ENTRIES IN itab_zycbt119

...

 

...

                 nrseq     EQ itab_zycbt119-nrseq.

    SELECT *

           FROM /pws/zycbt131

           INTO TABLE itab_zycbt131

           FOR ALL ENTRIES IN itab_zycbt119

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

           WHERE mdcorresp EQ 'IP'   AND

                 nrseq     EQ itab_zycbt119-nrseq.

* << Fim da exclusão

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

           WHERE belnr        = itab_zycbt119-nrpagto AND

                 nrseq_pgfat  = itab_zycbt119-nrseq.

    IF sy-subrc = 0.

* << Fim da inclusão

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

    SELECT *

           FROM /pws/zycbt131

           INTO TABLE itab_zycbt131_fat

           FOR ALL ENTRIES IN itab_zycbt119

           WHERE belnr       EQ itab_zycbt119-nrpagto AND

                 nrseq_pgfat EQ itab_zycbt119-nrseq.

* << Fim da exclusão

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

      SELECT budat belnr gjahr bukrs kursf FROM bkpf

       APPENDING TABLE itab_bkpf

       FOR ALL ENTRIES IN itab_zycbt131

        WHERE belnr = itab_zycbt131-belnr_as

          AND gjahr = itab_zycbt131-dtassoc(4)

          AND bukrs = itab_zycbt131-bukrs.

    ENDIF.

* << Fim da inclusão

    SELECT *

           FROM /pws/zycbt108

           INTO TABLE itab_zycbt108

           FOR ALL ENTRIES IN itab_zycbt119

           WHERE nrseq_pgfat = itab_zycbt119-nrseq.

    IF NOT itab_zycbt108[] IS INITIAL.

      SELECT budat belnr gjahr bukrs

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

             kursf

* << Fim da inclusão

             FROM bkpf

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

             INTO TABLE itab_bkpf

* << Fim da exclusão

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

             APPENDING TABLE itab_bkpf

* << Fim da inclusão

             FOR ALL ENTRIES IN itab_zycbt108

             WHERE belnr = itab_zycbt108-belnr_co  AND

                   gjahr = itab_zycbt108-dtincl(4) AND

                   bukrs = itab_zycbt108-bukrs.

    ENDIF.

...

 

...

      DELETE ADJACENT DUPLICATES FROM t_lfa1 COMPARING lifnr.

    ENDIF.

  ENDIF.

  SORT itab_zycbt064 BY nrchave tpparc.

  LOOP AT itab_zycbt119.

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

    CLEAR itab_dados.

* << Fim da exclusão

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

    CLEAR: itab_dados,

          itab_zycbt064, itab_zycbt031.

* << Fim da inclusão

    READ TABLE itab_zycbt064 WITH KEY nrchave  = itab_zycbt119-nrseq.

    READ TABLE itab_zycbt031 WITH KEY nrseq    = itab_zycbt064-nrboleto

                                      dtboleto = itab_zycbt064-dtboleto.

    IF sy-subrc NE 0.

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

      READ TABLE itab_zycbt131_fat WITH KEY

* << Fim da exclusão

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

      READ TABLE itab_zycbt131 WITH KEY

* << Fim da inclusão

                                     belnr       = itab_zycbt119-nrpagto

                                     nrseq_pgfat = itab_zycbt119-nrseq.

      IF sy-subrc NE 0.

        CONTINUE.

      ENDIF.

...

 

...

    itab_dados-lifnr     = v_fornec.

    itab_dados-banco     = v_banco.

    itab_dados-bcooper   = v_bcooper.

    itab_dados-txjtotal  = space.

    itab_dados-waers     = itab_zycbt119-waers.

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

    itab_dados-vlme      = itab_zycbt119-vlme.

* << Fim da exclusão

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

    itab_dados-vlme      = itab_zycbt064-vlme.

* << Fim da inclusão

    itab_dados-vlboleto  = itab_zycbt031-vlme.

    itab_dados-totfinan  = space.

    itab_dados-kursf     = itab_zycbt031-kursf.

    itab_dados-vlmi      = v_mi.

    itab_dados-dtincl    = itab_zycbt119-dtincl.

...

 

...

                                   ebelp = itab_zycit003-ebelp.

        IF sy-subrc = 0.

          READ TABLE itab_zycit085 WITH KEY

                                nrseqdi = itab_zycit100-nrseqdi.

          itab_dados-dtreg = itab_zycit085-dtreg.

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

        ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

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

    IF NOT itab_dados-nrboleto IS INITIAL.

      APPEND itab_dados.

    ELSE.

      itab_dados-vlme    = itab_zycbt119-vlme.

* << Fim da inclusão

    ENDIF.

    LOOP AT itab_zycbt131 WHERE belnr       = itab_zycbt119-nrpagto AND

                                nrseq_pgfat = itab_zycbt119-nrseq.

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

      itab_dados-fatura   = itab_zycbt131-nrseq_pgfat.

* << Fim da exclusão

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

      itab_dados-fatura   = itab_zycbt131-nrseq.

* << Fim da inclusão

      itab_dados-vlfatura = itab_zycbt131-vlme.

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

      IF NOT itab_dados-nrboleto IS INITIAL.

        CLEAR: itab_dados-nrboleto,  itab_dados-vlboleto,

               itab_dados-kursf,     itab_dados-nrcontr,

               itab_dados-dtcontr,   itab_dados-dtdebito,

               itab_dados-dtliquida, itab_dados-corret,

               itab_dados-bcooper,   itab_dados-nrparc,

               itab_dados-tipoparc,  itab_dados-vlusd,

               itab_dados-vlmi,      itab_dados-vlmecorr,

               itab_dados-vlme,      itab_dados-vlmicorr_orig.

      ENDIF.

      IF itab_zycbt119-waers EQ /pws/zycbt007-waersa.

        itab_dados-vlusd = itab_dados-vlfatura.

      ELSE.

        v_me =  itab_dados-vlfatura.

        v_moeda = itab_zycbt119-waers.

        PERFORM casas_decimais.

        PERFORM converte_usd.

        PERFORM casas_decimais.

        itab_dados-vlusd     = v_usd.

      ENDIF.

      READ TABLE itab_bkpf WITH KEY belnr = itab_zycbt131-belnr_as

                                gjahr     = itab_zycbt131-dtassoc(4)

                                bukrs     = itab_zycbt131-bukrs.

      IF sy-subrc = 0.

        itab_dados-vlmi = itab_dados-vlfatura * itab_bkpf-kursf.

      ENDIF.

* << Fim da inclusão

      APPEND itab_dados.

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

      CLEAR itab_dados-vlme.

* << Fim da inclusão

    ENDLOOP.

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

    IF sy-subrc NE 0.

      itab_dados-fatura   = space.

      itab_dados-vlfatura = space.

      APPEND itab_dados.

    ENDIF.

* << Fim da exclusão

    CLEAR: v_empresa, v_fornec, v_banco, v_bcooper.

  ENDLOOP.

  PERFORM filtra_faturas.

ENDFORM.

FORM processar_pantec.

...

 

...

               codint  IN so_tpmt       AND

               status  NE 'E'           AND

               dtincl  IN so_dtinc      AND

               gsber   IN so_div.

  IF NOT itab_zycbt117[] IS INITIAL.

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

    SELECT * FROM /pws/zycmt023

        INTO TABLE itab_zycmt023

        FOR ALL ENTRIES IN itab_zycbt117

        WHERE nrcorresp EQ itab_zycbt117-nrseq AND

              mdcorresp EQ 'IA'.

* << Fim da inclusão

    SELECT *

           FROM /pws/zycbt064

           INTO TABLE itab_zycbt064

           FOR ALL ENTRIES IN itab_zycbt117

           WHERE mdcorresp EQ 'IA' AND

...

 

...

             FROM /pws/zycbt134

             INTO TABLE itab_zycbt134

             FOR ALL ENTRIES IN itab_zycbt064

             WHERE nrseq    EQ itab_zycbt064-nrboleto AND

                   dtboleto EQ itab_zycbt064-dtboleto.

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

      IF sy-subrc EQ 0 AND NOT itab_zycbt134[] IS INITIAL.

* << Fim da exclusão

        SELECT *

               FROM /pws/zycbt031

               INTO TABLE itab_zycbt031

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

               FOR ALL ENTRIES IN itab_zycbt134

               WHERE nrseq    EQ itab_zycbt134-nrseq AND

                     dtboleto EQ itab_zycbt134-dtboleto.

* << Fim da exclusão

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

      FOR ALL ENTRIES IN itab_zycbt064

      WHERE nrseq    EQ itab_zycbt064-nrboleto AND

            dtboleto EQ itab_zycbt064-dtboleto.

* << Fim da inclusão

        SELECT *

               FROM /pws/zycbt048

               INTO TABLE itab_zycbt048

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

               FOR ALL ENTRIES IN itab_zycbt134

               WHERE nrseq    EQ itab_zycbt134-nrseq AND

                     dtboleto EQ itab_zycbt134-dtboleto.

      ENDIF.

* << Fim da exclusão

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

     FOR ALL ENTRIES IN itab_zycbt064

     WHERE nrseq    EQ itab_zycbt064-nrboleto AND

           dtboleto EQ itab_zycbt064-dtboleto.

* << Fim da inclusão

    ENDIF.

    SELECT *

           FROM /pws/zycbt041

           INTO TABLE itab_zycbt041

           FOR ALL ENTRIES IN itab_zycbt117

           WHERE mdcorresp = 'IA' AND

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

                 nrseq     = itab_zycbt117-nrseq.

    SELECT *

           FROM /pws/zycbt131

           INTO TABLE itab_zycbt131

           FOR ALL ENTRIES IN itab_zycbt117

           WHERE mdcorresp = 'IA'  AND

* << Fim da exclusão

                 nrseq     = itab_zycbt117-nrseq.

    SELECT bukrs butxt

           INTO TABLE t_001

           FROM t001

           FOR ALL ENTRIES IN itab_zycbt117

...

 

...

      DELETE ADJACENT DUPLICATES FROM t_lfa1 COMPARING lifnr.

    ENDIF.

  ENDIF.

  SORT itab_zycbt064 BY nrchave tpparc.

  LOOP AT itab_zycbt117.

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

    CLEAR itab_dados.

* << Fim da exclusão

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

    CLEAR: itab_dados,

          itab_zycbt031, itab_zycbt064.

* << Fim da inclusão

    READ TABLE itab_zycbt064 WITH KEY nrchave = itab_zycbt117-nrseq.

    READ TABLE itab_zycbt031 WITH KEY nrseq    = itab_zycbt064-nrboleto

                                      dtboleto = itab_zycbt064-dtboleto.

    IF sy-subrc = 0.

      v_mi                = itab_zycbt064-vlme * itab_zycbt031-kursf.

...

 

...

        itab_dados-dtliquida = itab_zycbt048-dtliquida.

        itab_dados-dtdebito  = itab_zycbt048-dtdebito.

        itab_dados-corret    = itab_zycbt048-corret.

      ENDIF.

    ELSE.

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

      READ TABLE itab_zycmt023 WITH KEY nrcorresp = itab_zycbt117-nrseq.

      IF sy-subrc NE 0.

* << Fim da inclusão

      CONTINUE.

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

    IF itab_zycbt117-waers EQ /pws/zycbt007-waersa.

      itab_dados-vlusd =  itab_zycbt064-vlme.

    ELSE.

      v_me    = itab_zycbt064-vlme.

      v_moeda = itab_zycbt117-waers.

...

 

...

       pfatur EQ ' ' AND

       desp   EQ ' '.

      itab_dados-slpgant    = itab_zycbt117-slpgant.

      PERFORM calcula_slpgant_mi.

    ENDIF.

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

    IF NOT itab_dados-nrboleto IS INITIAL.

      APPEND itab_dados.

    ELSE.

      itab_dados-vlme      = itab_zycbt117-vlme.

      itab_dados-refint    = itab_zycbt117-nrseq.

      LOOP AT itab_zycmt023 WHERE nrcorresp = itab_zycbt117-nrseq.

        itab_dados-fatura    = itab_zycmt023-nrseq.

        itab_dados-vlfatura  = itab_zycmt023-vlfinme.

* << Fim da inclusão

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

    LOOP AT itab_zycbt131 WHERE nrseq     = itab_zycbt117-nrseq AND

                                mdcorresp = 'IA'.

      itab_dados-fatura   = itab_zycbt131-nrseq_pgfat.

      itab_dados-vlfatura = itab_zycbt131-vlme.

* << Fim da exclusão

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

        IF itab_zycbt117-waers EQ /pws/zycbt007-waersa.

          itab_dados-vlusd = itab_dados-vlfatura.

        ELSE.

          v_me =  itab_dados-vlfatura.

          v_moeda = itab_zycbt117-waers.

          PERFORM casas_decimais.

          PERFORM converte_usd.

          PERFORM casas_decimais.

          itab_dados-vlusd     = v_usd.

        ENDIF.

        itab_dados-vlmi = itab_zycmt023-vlfinmi.

* << Fim da inclusão

      APPEND itab_dados.

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

        CLEAR: itab_dados-vlme, itab_dados-vlmecorr,

               itab_dados-vlmicorr_orig.

* << Fim da inclusão

    ENDLOOP.

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

    IF sy-subrc NE 0.

      itab_dados-fatura   = space.

      itab_dados-vlfatura = space.

      APPEND itab_dados.

* << Fim da exclusão

    ENDIF.

    CLEAR: v_empresa, v_fornec, v_bcooper.

  ENDLOOP.

ENDFORM.

FORM processar_despesa.

...

 

...

          FROM /pws/zycbt134

          INTO TABLE itab_zycbt134

          FOR ALL ENTRIES IN itab_zycbt064

          WHERE nrseq    EQ itab_zycbt064-nrboleto AND

                dtboleto EQ itab_zycbt064-dtboleto.

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

      IF sy-subrc EQ 0 AND NOT itab_zycbt134[] IS INITIAL.

* << Fim da exclusão

        SELECT *

               FROM /pws/zycbt031

               INTO TABLE itab_zycbt031

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

               FOR ALL ENTRIES IN itab_zycbt134

               WHERE nrseq    EQ itab_zycbt134-nrseq AND

                     dtboleto EQ itab_zycbt134-dtboleto.

* << Fim da exclusão

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

     FOR ALL ENTRIES IN itab_zycbt064

     WHERE nrseq    EQ itab_zycbt064-nrboleto AND

           dtboleto EQ itab_zycbt064-dtboleto.

* << Fim da inclusão

        SELECT *

               FROM /pws/zycbt048

               INTO TABLE itab_zycbt048

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

               FOR ALL ENTRIES IN itab_zycbt134

               WHERE nrseq    EQ itab_zycbt134-nrseq AND

                     dtboleto EQ itab_zycbt134-dtboleto.

* << Fim da exclusão

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

     FOR ALL ENTRIES IN itab_zycbt064

     WHERE nrseq    EQ itab_zycbt064-nrboleto AND

           dtboleto EQ itab_zycbt064-dtboleto.

* << Fim da inclusão

      ENDIF.

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

    ENDIF.

* << Fim da exclusão

    SELECT bukrs butxt

...

 

...

      SORT t_lfa1 BY lifnr.

      DELETE ADJACENT DUPLICATES FROM t_lfa1 COMPARING lifnr.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycbt118.

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

    CLEAR itab_dados.

    READ TABLE itab_zycbt134 WITH KEY nrcorresp = itab_zycbt118-nrseq.

    CHECK sy-subrc EQ 0.

    READ TABLE itab_zycbt031 WITH KEY nrseq    = itab_zycbt134-nrseq

                                    dtboleto = itab_zycbt134-dtboleto.

    READ TABLE itab_zycbt064 WITH KEY nrboleto = itab_zycbt134-nrseq

                                    dtboleto = itab_zycbt134-dtboleto.

* << Fim da exclusão

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

    CLEAR: itab_dados,

           itab_zycbt031, itab_zycbt064.

    READ TABLE itab_zycbt064 WITH KEY nrchave = itab_zycbt118-nrseq.

    READ TABLE itab_zycbt031 WITH KEY nrseq   = itab_zycbt064-nrboleto

                                     dtboleto = itab_zycbt064-dtboleto.

    CHECK sy-subrc = 0.

    READ TABLE itab_zycbt134 WITH KEY nrseq   = itab_zycbt064-nrboleto

                                     dtboleto = itab_zycbt064-dtboleto.

* << Fim da inclusão

    v_mi = itab_zycbt064-vlme * itab_zycbt031-kursf.

    IF itab_zycbt118-waers EQ /pws/zycbt007-waersa.

      itab_dados-vlusd =  itab_zycbt064-vlme.

    ELSE.

      v_me    =  itab_zycbt064-vlme.

...