CE PLUS - Nota 002175

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Rotina de Pagamento

Data/Hora da Publicação: 28/09/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 09:45:06

Descrição da Nota: ROTINA DE PAGAMENTO - CAMPO DATA "DE" "ATÉ"

Sintoma

Ao entrar no programa de rotina de pagamento e processar boleto o programa não esta respeitando no

criterio de seleção as datas De e até, respeitando apenas a data ATÉ, ou seja, se selecionarmos no

processar boleto boletos de pagamento antecipado no cambio importação de 01.09.2006 até 20.09.2006,

p programa ira trazer para tela todos os pagamentos antecipados até a data de 20.09.2006 incluindo

os com vencimentos anterior a data de 01.09.2006, não respeitando a data solicitada.

 

 

Solução

Ajuste efetuado para que respeite o período informado na tela de seleção. Teste efetuado no período

de 01062006 a 15092006 para todos os módulos e o programa respeitou corretamente. Verificado que

também traz os registros com data de vencimento em branco. Conversado com o Rodrigo que informou que

pode manter os registros que estiverem com esse campo em branco

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 02175 Data: 28/09/2006 Hora: 16:07:45

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

 

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

Nota Número              : 02175

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00132

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

ROTINA DE PAGAMENTO - CAMPO DATA "DE" "ATÉ"

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

Palavras Chave:

ROTINA DE PAGAMENTO - CAMPO DATA "DE" "ATÉ"

 

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

Objetos da nota:

REPS /PWS/ZYGLR001

REPS /PWS/ZYGLR002

REPS /PWS/ZYGLR003

 

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

Modificações efetuadas em REPS /PWS/ZYGLR001

 

...

FORM seleciona_fatura.

  DATA: v_dtpror LIKE sy-datum.

  DATA: BEGIN OF itab_zycmt014 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycmt014.

  DATA: END OF itab_zycmt014.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT * FROM /pws/zycmt005

           INTO TABLE itab_zycmt005

           WHERE nrseq    IN fatura

             AND dtvencto LE v_data

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

               AND waers    IN moeda.

  ELSE.

    SELECT * FROM /pws/zycmt005

             INTO TABLE itab_zycmt005

             WHERE nrseq    IN fatura

               AND dtvencto IN data

* << Fim da inclusão

             AND waers    IN moeda.

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

  ENDIF.

* << Fim da inclusão

  IF itab_zycmt005[] IS INITIAL.

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

    IF data-high IS INITIAL.

* << Fim da inclusão

    SELECT nrseq nrpagto bukrs dtvencto bconegoc waers slpgfat nrfat

           lifnr refbanco codmod corret ebeln percomis vlcomis kostl

           prctr nrdi fcambio txtinf dtincl dtemb tbn codint gsber

              FROM /pws/zycbt119

              INTO TABLE itab_zycbt119

...

 

...

                AND status   NE 'E'

                AND lifnr    IN fornece

                AND waers    IN moeda

                AND nrseq    IN fatura

                AND dtvencto LE v_data.

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

    ELSE.

      SELECT nrseq nrpagto bukrs dtvencto bconegoc waers slpgfat nrfat

             lifnr refbanco codmod corret ebeln percomis vlcomis kostl

             prctr nrdi fcambio txtinf dtincl dtemb tbn codint gsber

                FROM /pws/zycbt119

                INTO TABLE itab_zycbt119

                WHERE bukrs IN empresa

               AND ( dtpagto  EQ '00000000' OR dtpagto  EQ '        ' )

                  AND status   NE 'E'

                  AND lifnr    IN fornece

                  AND waers    IN moeda

                  AND nrseq    IN fatura

                  AND dtvencto IN data.

    ENDIF.

* << Fim da inclusão

  ELSE.

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

    IF data-high IS INITIAL.

* << Fim da inclusão

    SELECT nrseq nrpagto bukrs dtvencto bconegoc waers slpgfat nrfat

...

 

...

                AND status NE 'E'

                AND lifnr  IN fornece

                AND waers  IN moeda

                AND nrseq  IN fatura

                AND ( dtvencto LE v_data OR

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

                        nrseq = itab_zycmt005-nrseq ).

    ELSE.

      SELECT nrseq nrpagto bukrs dtvencto bconegoc waers slpgfat nrfat

             lifnr refbanco codmod corret ebeln percomis vlcomis kostl

             prctr nrdi fcambio txtinf dtincl dtemb tbn codint gsber

                FROM /pws/zycbt119

                INTO TABLE itab_zycbt119

                FOR ALL ENTRIES IN itab_zycmt005

                WHERE bukrs IN empresa

               AND ( dtpagto  EQ '00000000' OR dtpagto  EQ '        ' )

                  AND status NE 'E'

                  AND lifnr  IN fornece

                  AND waers  IN moeda

                  AND nrseq  IN fatura

                  AND ( dtvencto IN data OR

* << Fim da inclusão

                      nrseq = itab_zycmt005-nrseq ).

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

...

 

...

    ENDIF.

  ENDLOOP.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt119, itab_selreg.

ENDFORM.

FORM seleciona_despesa.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseq nrdesp tpdesp bukrs codmodul nrref dtvencto benefic

         fcambio kursf ftaxa waers vlme kostl prctr frpagto txtinf

         frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

         seq aprova bname dtbname hrbname frggr

    INTO TABLE itab_zycbt118

    FROM /pws/zycbt118

    WHERE bukrs IN empresa

      AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND dtvencto LE v_data

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

        AND status   NE 'E'

        AND codmod   EQ 'I'

        AND waers    IN moeda

        AND nrseq    IN despesa

        AND benefic  IN fornece

        AND frgzu    NE '1'.

  ELSE.

    SELECT nrseq nrdesp tpdesp bukrs codmodul nrref dtvencto benefic

           fcambio kursf ftaxa waers vlme kostl prctr frpagto txtinf

           frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr

      INTO TABLE itab_zycbt118

      FROM /pws/zycbt118

      WHERE bukrs IN empresa

        AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvencto IN data

* << Fim da inclusão

      AND status   NE 'E'

      AND codmod   EQ 'I'

      AND waers    IN moeda

      AND nrseq    IN despesa

      AND benefic  IN fornece

      AND frgzu    NE '1'.

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt118[] IS INITIAL.

    SELECT * FROM /pws/zycbt015 INTO TABLE itab_zycbt015

             FOR ALL ENTRIES IN itab_zycbt118

             WHERE tpdesp = itab_zycbt118-tpdesp

               AND ftipo = 'I'.

...

 

...

  ENDLOOP.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt118, /pws/zycbt015, itab_selreg.

ENDFORM.

FORM seleciona_financi.

  FREE itab_zycbt113.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseq tpparc nrparc nrfinanc dtinicio dtfinal

         txjfixa txjvar txjtotal aliqir vlme vlir txtinf

    APPENDING TABLE itab_zycbt113

    FROM /pws/zycbt113

    WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND dtfinal LE v_data

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

        AND dtfinal IN data

        AND status  NE 'E'

        AND tpparc  NE 'C'

        AND nrseq   IN financi.

  ELSE.

    SELECT nrseq tpparc nrparc nrfinanc dtinicio dtfinal

           txjfixa txjvar txjtotal aliqir vlme vlir txtinf

      APPENDING TABLE itab_zycbt113

      FROM /pws/zycbt113

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtfinal IN data

        AND dtfinal IN data

* << Fim da inclusão

      AND status  NE 'E'

      AND tpparc  NE 'C'

      AND nrseq   IN financi.

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

  ENDIF.

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseq tpparc nrparc nrfinanc dtinicio dtvecto

         txjfixa txjvar txjtotal aliqir vlme vlir txtinf

    APPENDING TABLE itab_zycbt113

    FROM /pws/zycbt113

    WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND dtvecto LE v_data

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

        AND status  NE 'E'

        AND tpparc  EQ 'C'

        AND nrseq   IN financi.

  ELSE.

    SELECT nrseq tpparc nrparc nrfinanc dtinicio dtvecto

           txjfixa txjvar txjtotal aliqir vlme vlir txtinf

      APPENDING TABLE itab_zycbt113

      FROM /pws/zycbt113

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvecto IN data

* << Fim da inclusão

      AND status  NE 'E'

      AND tpparc  EQ 'C'

      AND nrseq   IN financi.

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt113[] IS INITIAL.

    SELECT * FROM /pws/zycbt112 INTO TABLE itab_zycbt112

      FOR ALL ENTRIES IN itab_zycbt113

      WHERE nrseq  EQ itab_zycbt113-nrseq

        AND bukrs  IN empresa

...

 

...

    APPEND itab_selreg.

  ENDLOOP.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt113, itab_zycbt112, itab_selreg.

ENDFORM.

FORM seleciona_pgtoant.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT *

    INTO TABLE itab_zycbt117

    FROM /pws/zycbt117

    WHERE bukrs IN empresa

      AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND dtvencto LE v_data

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

        AND status NE 'E'

        AND nrseq IN pgtoant

        AND lifnr IN fornece

        AND waers IN moeda.

  ELSE.

    SELECT *

      INTO TABLE itab_zycbt117

      FROM /pws/zycbt117

      WHERE bukrs IN empresa

        AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvencto IN data

* << Fim da inclusão

      AND status NE 'E'

      AND nrseq IN pgtoant

      AND lifnr IN fornece

      AND waers IN moeda.

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

  ENDIF.

* << Fim da inclusão

  LOOP AT itab_zycbt117.

    CLEAR: itab_selreg, v_me, v_usd.

    v_tipo = text-041.

    v_me   = itab_zycbt117-slpgant.

    MOVE:

...

 

...

    pgassun2 = 'X'.

  ENDIF.

ENDFORM.

FORM seleciona_pgassun.

  DATA: v_taxaneg LIKE /pws/zycmt002-tx_negoc.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT * FROM /pws/zycmt001

    INTO TABLE itab_zycmt001

    WHERE bukrs      IN empresa

      AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND dtvencto   LE v_data

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

        AND status     NE 'E'

        AND docpgto    NE space

        AND nrseq      IN pgassun

        AND waers      IN moeda.

  ELSE.

    SELECT * FROM /pws/zycmt001

      INTO TABLE itab_zycmt001

      WHERE bukrs      IN empresa

        AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvencto   IN data

* << Fim da inclusão

      AND status     NE 'E'

      AND docpgto    NE space

      AND nrseq      IN pgassun

      AND waers      IN moeda.

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycmt001[] IS INITIAL.

    SELECT * FROM /pws/zycmt002

             INTO TABLE itab_zycmt002

             FOR ALL ENTRIES IN itab_zycmt001

             WHERE assuncao = itab_zycmt001-nrseq.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYGLR002

 

...

    v_zero8 = contrat-low.

    contrat-low = v_zero8.

  ENDIF.

ENDFORM.

FORM seleciona_despesa.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseqc tpdesp nrparc dtincl dtliquid tpjuros

         nrcontr tpcontr bconegoc bukrs benefic

         frpagto waers percdesp vlme dtvencto fcambio txtinf

         kostl prctr dtpagto nrinvoic

         nrparcf gsberf vlir

...

 

...

      AND benefic  IN fornece

      AND nrseqc   IN contrat

      AND nrinvoic IN invoice

      AND waers    IN moeda

      AND frgzu    NE '1'.

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

  ELSE.

    SELECT nrseqc tpdesp nrparc dtincl dtliquid tpjuros

           nrcontr tpcontr bconegoc bukrs benefic

           frpagto waers percdesp vlme dtvencto fcambio txtinf

           kostl prctr dtpagto nrinvoic

           nrparcf gsberf vlir

           frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr

      INTO TABLE itab_zycbt004

      FROM /pws/zycbt004

      WHERE dtpagto  EQ '00000000'

        AND dtvencto IN data

        AND bukrs    IN empresa

        AND benefic  IN fornece

        AND nrseqc   IN contrat

        AND nrinvoic IN invoice

        AND waers    IN moeda

        AND frgzu    NE '1'.

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt004[] IS INITIAL.

    REFRESH itab_zycbt015.

    SELECT tpdesp ftipo txtdesc

           FROM /pws/zycbt015 INTO TABLE itab_zycbt015

           FOR ALL ENTRIES IN itab_zycbt004

...

 

...

  DATA: sign(1)   TYPE c,

        option(2) TYPE c,

        low       LIKE /pws/zycbt156-benefic,

        high      LIKE /pws/zycbt156-benefic.

  DATA: END OF v_fornece.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseqc nrseq nrccred tpdesp dtincl bcocred benefic

         bukrs dtvencto frpagto waers vlme fcambio kostl txtinf prctr

         dtpagto gsber

    INTO TABLE itab_zycbt028

    FROM /pws/zycbt028

    WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND nrseqc   IN carta

      AND dtvencto LE v_data

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

        AND benefic  IN fornece

        AND waers    IN moeda

        AND bukrs    IN empresa.

  ELSE.

    SELECT nrseqc nrseq nrccred tpdesp dtincl bcocred benefic

           bukrs dtvencto frpagto waers vlme fcambio kostl txtinf prctr

           dtpagto gsber

      INTO TABLE itab_zycbt028

      FROM /pws/zycbt028

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND nrseqc   IN carta

        AND dtvencto IN data

* << Fim da inclusão

      AND benefic  IN fornece

      AND waers    IN moeda

      AND bukrs    IN empresa.

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt028[] IS INITIAL.

    REFRESH itab_zycbt015.

    SELECT tpdesp ftipo txtdesc

           FROM /pws/zycbt015 INTO TABLE itab_zycbt015

           FOR ALL ENTRIES IN itab_zycbt028

...

 

...

      itab_zycbt028-dtpagto   TO itab_selreg-dtpagto,

      itab_zycbt028-gsber     TO itab_selreg-gsberf.

    APPEND itab_selreg.

  ENDLOOP.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt028, itab_zycbt015, itab_selreg.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseq nrseqd nrccred bcoavisa tpdesp dtincl bcocred benefic

         bukrs dtvencto frpagto waers vlme fcambio kostl txtinf prctr

         dtpagto

         frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

         seq aprova bname dtbname hrbname frggr gsber

    INTO TABLE itab_zycbt156

    FROM /pws/zycbt156

    WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND nrseq    IN carta

      AND dtvencto LE v_data

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

        AND benefic  IN fornece

        AND waers    IN moeda

        AND frgzu    NE '1'

        AND bukrs    IN empresa.

  ELSE.

    SELECT nrseq nrseqd nrccred bcoavisa tpdesp dtincl bcocred benefic

           bukrs dtvencto frpagto waers vlme fcambio kostl txtinf prctr

           dtpagto

           frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr gsber

      INTO TABLE itab_zycbt156

      FROM /pws/zycbt156

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND nrseq    IN carta

        AND dtvencto IN data

* << Fim da inclusão

      AND benefic  IN fornece

      AND waers    IN moeda

      AND frgzu    NE '1'

      AND bukrs    IN empresa.

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

  ENDIF.

* << Fim da inclusão

  IF sy-subrc NE 0.

    LOOP AT fornece.

      MOVE: fornece-sign        TO v_fornece-sign,

            fornece-option      TO v_fornece-option,

            fornece-low+06(04)  TO v_fornece-low,

            fornece-high+06(04) TO v_fornece-high.

      APPEND v_fornece.

    ENDLOOP.

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

    IF data-high IS INITIAL.

* << Fim da inclusão

    SELECT nrseq nrseqd nrccred bcoavisa tpdesp dtincl bcocred benefic

           bukrs dtvencto frpagto waers vlme fcambio kostl txtinf prctr

           dtpagto

           frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr gsber

      INTO TABLE itab_zycbt156

      FROM /pws/zycbt156

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND nrseq    IN carta

        AND dtvencto LE v_data

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

                 AND benefic  IN v_fornece

                 AND waers    IN moeda

                 AND frgzu    NE '1'

                 AND bukrs    IN empresa.

    ELSE.

     SELECT nrseq nrseqd nrccred bcoavisa tpdesp dtincl bcocred benefic

           bukrs dtvencto frpagto waers vlme fcambio kostl txtinf prctr

                    dtpagto

                   frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

                    seq aprova bname dtbname hrbname frggr gsber

               INTO TABLE itab_zycbt156

               FROM /pws/zycbt156

              WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

             AND nrseq    IN carta

                 AND dtvencto IN data

* << Fim da inclusão

        AND benefic  IN v_fornece

        AND waers    IN moeda

        AND frgzu    NE '1'

        AND bukrs    IN empresa.

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt156[] IS INITIAL.

    REFRESH itab_zycbt015.

    SELECT tpdesp ftipo txtdesc

           FROM /pws/zycbt015 INTO TABLE itab_zycbt015

           FOR ALL ENTRIES IN itab_zycbt156

...

 

...

  ENDIF.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt156, itab_zycbt015, itab_selreg.

ENDFORM.

FORM seleciona_comissao.

  SELECT * FROM /pws/zycet037 INTO TABLE itab_zycet037.

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

  IF data-high IS INITIAL.

    SELECT * FROM /pws/zycet010 INTO TABLE itab_zycet010

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

       AND ( belnr     NE space AND belnr NE '0000000000'

       AND belnr       NE '          ' )

       AND dtvencto    LE v_data

       AND lifnr       IN fornece

       AND waers       IN moeda

       AND nrseq       IN invoice.

  ELSE.

* << Fim da inclusão

  SELECT * FROM /pws/zycet010 INTO TABLE itab_zycet010

    WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

     AND ( belnr     NE space AND belnr NE '0000000000'

     AND belnr       NE '          ' )

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

     AND dtvencto LE v_data

* << Fim da exclusão

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

       AND dtvencto    IN data

* << Fim da inclusão

     AND lifnr       IN fornece

     AND waers       IN moeda

     AND nrseq       IN invoice.

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

  ENDIF.

* << Fim da inclusão

  IF sy-subrc EQ 0.

    SORT itab_zycet010 BY nrseq lifnr belnr.

    REFRESH itab_nrinvoic.

    LOOP AT itab_zycet010.

      itab_nrinvoic-nrinvoic = itab_zycet010-nrseq.

...

 

...

      AND belnr    NE space

      AND lifnr    IN fornece

      AND waers    IN moeda

      AND nrseq    IN invoice.

  IF sy-subrc = 0.

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

    IF data-high IS INITIAL.

      SELECT * FROM /pws/zycet010 INTO TABLE itab_zycet010

               FOR ALL ENTRIES IN itab_zycet013

               WHERE nrseq EQ itab_zycet013-nrseq

                 AND dtvencto LE v_data.

    ELSE.

* << Fim da inclusão

    SELECT * FROM /pws/zycet010 INTO TABLE itab_zycet010

             FOR ALL ENTRIES IN itab_zycet013

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

             WHERE nrseq EQ itab_zycet013-nrseq.

* << Fim da exclusão

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

               WHERE nrseq EQ itab_zycet013-nrseq

                 AND dtvencto IN data.

    ENDIF.

* << Fim da inclusão

    SORT itab_zycet010 BY nrseq lifnr belnr.

    REFRESH itab_nrinvoic.

    LOOP AT itab_zycet010.

      itab_nrinvoic-nrinvoic = itab_zycet010-nrseq.

      APPEND itab_nrinvoic.

...

 

...

  ENDIF.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt017, itab_zycbt037,

         itab_selreg.

ENDFORM.

FORM seleciona_juros.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseq nrcjur bukrs dtvencto waers vlme vlir irfat nrfat

         nrinvoic

         nrparcf

    kostl prctr txtinf dtpagto frreceb belnr_pr dtincl

    INTO TABLE itab_zycbt086

    FROM /pws/zycbt086

    WHERE bukrs    IN empresa

      AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND dtvencto LE v_data

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

        AND nrseq    IN letraj

        AND nrinvoic IN invoice

        AND waers    IN moeda.

  ELSE.

    SELECT nrseq nrcjur bukrs dtvencto waers vlme vlir irfat nrfat

           nrinvoic

           nrparcf

      kostl prctr txtinf dtpagto frreceb belnr_pr dtincl

      INTO TABLE itab_zycbt086

      FROM /pws/zycbt086

      WHERE bukrs    IN empresa

        AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvencto IN data

* << Fim da inclusão

      AND nrseq    IN letraj

      AND nrinvoic IN invoice

      AND waers    IN moeda.

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt086[] IS INITIAL.

    SELECT bukrs belnr gjahr bstat awtyp awkey awsys

           FROM bkpf INTO TABLE itab_bkpf

           FOR ALL ENTRIES IN itab_zycbt086

           WHERE belnr EQ itab_zycbt086-belnr_pr AND

...

 

...

  IF /pws/zycbt007 IS INITIAL.

    SELECT SINGLE * FROM /pws/zycbt007 WHERE bukrs IN empresa.

  ENDIF.

ENDFORM.

FORM seleciona_trava.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseqc tpdesp nrparc dtincl dtliquid tpjuros

         nrcontr tpcontr bconegoc bukrs benefic

         frpagto waers percdesp vlme dtvencto fcambio txtinf

         kostl prctr dtpagto nrinvoic

         nrparcf

    gsberf

    INTO TABLE itab_zycbt004

    FROM /pws/zycbt004

    WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND dtvencto LE v_data

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

        AND bukrs    IN empresa

        AND benefic  IN fornece

        AND nrseqc   IN contrat

        AND waers    IN moeda

        AND ( tpdesp EQ 'PR' OR

              tpdesp EQ 'P' ).

  ELSE.

    SELECT nrseqc tpdesp nrparc dtincl dtliquid tpjuros

           nrcontr tpcontr bconegoc bukrs benefic

           frpagto waers percdesp vlme dtvencto fcambio txtinf

           kostl prctr dtpagto nrinvoic

           nrparcf

      gsberf

      INTO TABLE itab_zycbt004

      FROM /pws/zycbt004

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvencto IN data

* << Fim da inclusão

      AND bukrs    IN empresa

      AND benefic  IN fornece

      AND nrseqc   IN contrat

      AND waers    IN moeda

      AND ( tpdesp EQ 'PR' OR

            tpdesp EQ 'P' ).

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt004[] IS INITIAL.

    REFRESH itab_zycbt015.

    SELECT tpdesp ftipo txtdesc

           FROM /pws/zycbt015 INTO TABLE itab_zycbt015

           FOR ALL ENTRIES IN itab_zycbt004

...

 

...

FORM seleciona_prestconta.

  DATA: v_waersb LIKE /pws/zycbt007-waersb.

  SELECT SINGLE waersb FROM /pws/zycbt007

  INTO v_waersb

  WHERE bukrs IN empresa.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT * FROM /pws/zycet033

  INTO TABLE itab_zycet033

  WHERE bukrs     IN empresa       AND

        dtvencto  LE v_data        AND

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

          despach   IN fornece       AND

          waers     IN moeda         AND

          waers     NE v_waersb      AND

          nrseq     IN invoice       AND

          nrpres    IN prest         AND

          pgtocamb  EQ 'X'           AND

          statuscb  NE 'E'           AND

          ( docfat  NE ''            OR

            docfat  NE space ).

  ELSE.

    SELECT * FROM /pws/zycet033

    INTO TABLE itab_zycet033

    WHERE bukrs     IN empresa       AND

          dtvencto  IN data          AND

* << Fim da inclusão

        despach   IN fornece       AND

        waers     IN moeda         AND

        waers     NE v_waersb      AND

        nrseq     IN invoice       AND

        nrpres    IN prest         AND

        pgtocamb  EQ 'X'           AND

        statuscb  NE 'E'           AND

        ( docfat  NE ''            OR

          docfat  NE space ).

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycet033[] IS INITIAL.

    SELECT * FROM /pws/zycbt031

    INTO TABLE itab_zycbt031

    WHERE mdcorresp = 'EP'.

    LOOP AT itab_zycet033.

...

 

...

      APPEND itab_selreg.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM seleciona_com_contrato.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseqc nrparc tpparc nrcontr tpcontr bcofinan dtinicio dtfinal

         vlme txtinf kostl prctr dtpagto vlir waers dtvencto belnr_ir

         belnr_ir_comp dtpagtoir

    INTO TABLE itab_zycbt002

    FROM /pws/zycbt002

    WHERE dtpagto   EQ '00000000'

      AND dtpagtoir EQ '00000000'

      AND dtvencto  LE v_data

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

            AND nrseqc    IN contrat

            AND waers     IN moeda

            AND tpparc    EQ 'C'.

  ELSE.

  SELECT nrseqc nrparc tpparc nrcontr tpcontr bcofinan dtinicio dtfinal

           vlme txtinf kostl prctr dtpagto vlir waers dtvencto belnr_ir

               belnr_ir_comp dtpagtoir

          INTO TABLE itab_zycbt002

          FROM /pws/zycbt002

          WHERE dtpagto   EQ '00000000'

            AND dtpagtoir EQ '00000000'

            AND dtvencto  IN data

* << Fim da inclusão

      AND nrseqc    IN contrat

      AND waers     IN moeda

      AND tpparc    EQ 'C'.

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt002[] IS INITIAL.

    SELECT * FROM /pws/zycbt001

      INTO TABLE itab_zycbt001

      FOR ALL ENTRIES IN itab_zycbt002

      WHERE nrseqc = itab_zycbt002-nrseqc.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYGLR003

 

...

      EXPORT itab_selreg[] TO MEMORY ID 'E012'.

    ENDIF.

    LEAVE PROGRAM.

  ENDIF.

FORM seleciona_remessa.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseq nrfech bukrs dtvencto bcofech waers vlme vlir irfat

         nrfat tpoper codpagto recrem corret kostl prctr txtinf dtpagto

         vcide frpagto frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5

         nlib seq aprova bname dtbname hrbname frggr

         vlpis vlcofins

...

 

...

      AND recrem   IN fornece

      AND waers    IN moeda

      AND nrseq    IN remessa

      AND tpoper   IN codmod

      AND frgzu    NE '1'.

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

  ELSE.

    SELECT nrseq nrfech bukrs dtvencto bcofech waers vlme vlir irfat

         nrfat tpoper codpagto recrem corret kostl prctr txtinf dtpagto

          vcide frpagto frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5

           nlib seq aprova bname dtbname hrbname frggr

           vlpis vlcofins

      INTO TABLE itab_zycbt124

      FROM /pws/zycbt124

      WHERE bukrs    IN empresa

        AND ( dtpagto  EQ '00000000' OR dtpagto  EQ '        ' )

        AND dtvencto IN data

        AND status   NE 'E'

        AND recrem   IN fornece

        AND waers    IN moeda

        AND nrseq    IN remessa

        AND tpoper   IN codmod

        AND frgzu    NE '1'.

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt124[] IS INITIAL.

    SELECT nrseq belnr_f43 bcofav vlcide codigo

      INTO TABLE itab_zycbt144

      FROM /pws/zycbt144

      WHERE nrseq = itab_zycbt124-nrseq

...

 

...

  ENDLOOP.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt124, itab_zycbt125,

 itab_zycbt144.

ENDFORM.

FORM seleciona_despesa.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseq nrdesp tpdesp bukrs codmodul nrref dtvencto benefic

         fcambio kursf ftaxa waers vlme kostl prctr frpagto txtinf

         dtpagto frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

         seq aprova bname dtbname hrbname frggr

    INTO TABLE itab_zycbt118

    FROM /pws/zycbt118

    WHERE bukrs    IN empresa

      AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

      AND dtvencto LE v_data

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

        AND status   NE 'E'

        AND codmod   EQ 'F'

        AND waers    IN moeda

        AND nrseq    IN despesa

        AND benefic  IN fornece

        AND frgzu    NE '1'.

  ELSE.

    SELECT nrseq nrdesp tpdesp bukrs codmodul nrref dtvencto benefic

           fcambio kursf ftaxa waers vlme kostl prctr frpagto txtinf

           dtpagto frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr

      INTO TABLE itab_zycbt118

      FROM /pws/zycbt118

      WHERE bukrs    IN empresa

        AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvencto IN data

* << Fim da inclusão

      AND status   NE 'E'

      AND codmod   EQ 'F'

      AND waers    IN moeda

      AND nrseq    IN despesa

      AND benefic  IN fornece

      AND frgzu    NE '1'.

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

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt118[] IS INITIAL.

    SELECT tpdesp ftipo txtdesc FROM /pws/zycbt015

             INTO TABLE itab_zycbt015

             FOR ALL ENTRIES IN itab_zycbt118

             WHERE tpdesp = itab_zycbt118-tpdesp

...

 

...

    APPEND itab_selreg.

  ENDLOOP.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt118, /pws/zycbt015.

ENDFORM.

FORM seleciona_emprestimo.

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

  IF data-high IS INITIAL.

* << Fim da inclusão

  SELECT nrseq tpparc nrparc nremprest dtinicio dtfinal

         txjfixa txjvar txjtotal aliqir vlme vlir vliof txtinf

         dtpagto dtvencto

    INTO TABLE itab_zycbt129

    FROM /pws/zycbt129

    WHERE ( dtpagto  EQ '00000000' OR dtpagto  EQ '        ' )

      AND dtvencto LE v_data

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

      AND status  NE 'E'

      AND nrseq   IN emprest.

* << Fim da exclusão

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

        AND status   NE 'E'

        AND nrseq    IN emprest.

  ELSE.

    SELECT nrseq tpparc nrparc nremprest dtinicio dtfinal

           txjfixa txjvar txjtotal aliqir vlme vlir vliof txtinf

           dtpagto dtvencto

      INTO TABLE itab_zycbt129

      FROM /pws/zycbt129

      WHERE ( dtpagto  EQ '00000000' OR dtpagto  EQ '        ' )

        AND dtvencto IN data

        AND status   NE 'E'

        AND nrseq    IN emprest.

  ENDIF.

* << Fim da inclusão

  IF NOT itab_zycbt129[] IS INITIAL.

    SELECT * FROM /pws/zycbt128 INTO TABLE itab_zycbt128

      FOR ALL ENTRIES IN itab_zycbt129

      WHERE nrseq  EQ itab_zycbt129-nrseq

        AND bukrs  IN empresa

...