CE PLUS - Nota 005727

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Associação

Data/Hora da Publicação: 23/01/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 09:54:37

Descrição da Nota: BUSCA EVENTOS NA ZYGL011 POR EMPRESA

Sintoma

Criar novo tratamento nos programas: Associação de importação, financiamento, carga de fatura de

importação e saída de pagamento com o objetivo de utilizar o campo ¿Empresa¿ para efetuar a busca da

categoria de moeda, tipo de documento, tipo de conta e código do razão especial (quando existir) na

Tabela /PWS/ZYCBT011 além do código do evento e código do módulo.

 

 

Solução

Aterações nas includes /PWS/LZYCMGF2F01, /PWS/MZYCB113F01, /PWS/MZYCB115F01, PWS/MZYCB115F02,

/PWS/MZYCM101F01 e no programa /PWS/ZYCMR900 consistindo a empresa(BUKRS) para as seleções na tabela

/PWS/ZYCBT011.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO

Informações Complementares

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

Nota Número 05727 Data: 23/01/2008 Hora: 11:54:01

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

 

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

Nota Número              : 05727

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00031

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

Referência às notas relacionadas:

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

 

03270  - 00001 - 6.0    - 00026  - DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO

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

BUSCA EVENTOS NA ZYGL011 POR EMPRESA

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

Palavras Chave:

BUSCA EVENTOS NA ZYGL011 POR EMPRESA - ASSOCIAÇÃO, FINANCIAMENTO, SAÍDA

DE PAGAMENTO E CARGA DE FATURA DE IMPORTAÇÃO

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

Objetos da nota:

REPS /PWS/LZYCMGF2F01

REPS /PWS/MZYCB113F01

REPS /PWS/MZYCB115F01

REPS /PWS/MZYCB115F02

REPS /PWS/MZYCM101F01

REPS /PWS/ZYCMR900

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2F01

 

...

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe112-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = text-052.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                  AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  CLEAR v_ok.

  IF sy-subrc EQ 0.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

                itab_zycbt108-gjahr INTO v_chave.

    itab_zycbe033-cpochv = v_chave.

    itab_zycbe033-bldat = sy-datum.

    IF NOT itab_zycbt131-dtassoc IS INITIAL.

...

 

...

    itab_zycbt036-residuo = itab_zycbt131-slfat  * -1.

    itab_zycbt036-waers   = itab_zycbt131-waers.

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM ler_txt_evento.

  CLEAR: v_txtdesc_even.

  IF v_finan = 'X'. MOVE '001A' TO v_codeven1. ENDIF.

  IF v_pgfat = 'X'. MOVE '007A' TO v_codeven1. ENDIF.

  IF v_pgant = 'X'. MOVE '005A' TO v_codeven1. ENDIF.

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

  CASE v_tpdoc.

    WHEN 'I'.

* << Fim da inclusão

  SELECT SINGLE txtdesc INTO (v_txtdesc_even)

                FROM /pws/zycbt011

                WHERE codeven = v_codeven1

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

                AND codmod  = 'I'.

ENDFORM.

FORM executa_f_51_dif.

* << Fim da exclusão

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

                      AND codmod  = 'I'

                      AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

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

  DATA: v_taxacambial  LIKE /pws/zycbt112-kursf,

               v_codeven      LIKE /pws/zycbt011-codeven.

  IF v_tpdoc EQ 'I'.

    CONCATENATE '001' 'D' INTO v_codeven.

  ELSEIF v_tpdoc EQ 'P'.

    CONCATENATE '007' 'D' INTO v_codeven.

  ELSEIF v_tpdoc EQ 'A'.

    CONCATENATE '005' 'D' INTO v_codeven.

  ENDIF.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe112-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT108E'.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

                AND codmod  = 'I'.

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

           AND codmod    = 'I'.

  CLEAR v_ok.

  CLEAR itab_zycbt012.

  READ TABLE itab_zycbt108 INDEX 1.

  IF sy-subrc EQ 0.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

                itab_zycbt108-gjahr INTO v_chave.

    itab_zycbe033-cpochv = v_chave.

    CASE v_tpdoc.

      WHEN 'I'.

        itab_zycbe033-c_valut = /pws/zycbe112-dtvencto.

        itab_zycbe033-d_valut = /pws/zycbe112-dtvencto.

        IF NOT itab_zycbt131-dtassoc IS INITIAL.

          v_data = itab_zycbt131-dtassoc.

        ELSE.

          v_data = /pws/zycbe131-dtassoc.

        ENDIF.

      WHEN 'P'.

        itab_zycbe033-c_valut = /pws/zycbe119-dtvencto.

        itab_zycbe033-d_valut = /pws/zycbe119-dtvencto.

        v_data = /pws/zycbe131-dtassoc.

* << Fim da exclusão

      WHEN 'A'.

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

        itab_zycbe033-c_valut = /pws/zycbe117-dtvencto.

        itab_zycbe033-d_valut = /pws/zycbe117-dtvencto.

        v_data = /pws/zycbe131-dtassoc.

* << Fim da exclusão

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

      SELECT SINGLE txtdesc INTO (v_txtdesc_even)

                    FROM /pws/zycbt011

                    WHERE codeven = v_codeven1

                      AND codmod  = 'I'

                      AND bukrs   = /pws/zycbe119-bukrs.

* << Fim da inclusão

    ENDCASE.

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

ENDFORM.

* << Fim da inclusão

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

    itab_zycbe033-bldat = v_data.

    itab_zycbe033-budat = v_data.

    itab_zycbe033-bktxt = wa_zycbt007-bktxt.

    itab_zycbe033-agums = wa_zycbt011-agums.

    itab_zycbe033-agkoa = wa_zycbt011-koart.

    itab_zycbe033-agkon = itab_zycbt108-lifnr.

    PERFORM verify_null_field USING itab_zycbe033-agkon

                                    'AGKON'

                                    text-027.

    PERFORM preenche_documentos_dif.

    READ TABLE itab_zycbt108 INDEX 1.

    LOOP AT itab_zycbt013.

      CASE itab_zycbt013-cpor3.

        WHEN 'XBLNR'.

          CASE itab_zycbt013-cpocb.

            WHEN 'BELNR'.

              itab_zycbe033-xblnr = itab_zycbt108-belnr.

            WHEN 'NRFAT'.

              itab_zycbe033-xblnr = itab_zycbt108-nrfat.

          ENDCASE.

        WHEN 'ZUONR'.

          CASE itab_zycbt013-cpocb.

            WHEN 'BELNR'.

              itab_zycbe033-d_zuonr = itab_zycbt108-belnr.

              itab_zycbe033-c_zuonr = itab_zycbt108-belnr.

            WHEN 'NRFAT'.

              itab_zycbe033-d_zuonr = itab_zycbt108-nrfat.

              itab_zycbe033-c_zuonr = itab_zycbt108-nrfat.

            WHEN 'EMBARCA'.

              CLEAR: /pws/zycit006.

              SELECT embarca INTO (/pws/zycit006-embarca)

                  FROM /pws/zycit006

                  UP TO 1 ROWS

                  WHERE nrseq = itab_zycbt108-belnr.

              ENDSELECT.

              itab_zycbe033-d_zuonr = /pws/zycit006-embarca.

              itab_zycbe033-c_zuonr = /pws/zycbe112-nrfinanc.

          ENDCASE.

      ENDCASE.

    ENDLOOP.

    IF itab_zycbt108-ftxt IS INITIAL.

      itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

      itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

      itab_zycbe033-augtx   = wa_zycbt011-txtdesc.

    ELSE.

      itab_zycbe033-d_sgtxt = itab_zycbt108-txtinf.

      itab_zycbe033-c_sgtxt = itab_zycbt108-txtinf.

      itab_zycbe033-augtx   = itab_zycbt108-txtinf.

    ENDIF.

    PERFORM verify_null_field USING itab_zycbt108-bukrs

                                    'BUKRS'

                                    text-021.

    itab_zycbe033-bukrs  = itab_zycbt108-bukrs.

    PERFORM calcula_montante.

    itab_zycbe033-waers  = wa_zycbt007-waersb.

    itab_zycbe033-waersb = wa_zycbt007-waersb.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-066.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    itab_zycbe033-c_gsber = itab_zycbt108-gsber.

    itab_zycbe033-d_gsber = itab_zycbt108-gsber.

    APPEND itab_zycbe033.

    LOOP AT itab_zycbt034.

      MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

    ENDLOOP.

    IF itab_zycbt034 IS INITIAL.

      CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51C'

           EXPORTING

                sem_partida_residual = v_sempartida

                associa_saldo_total  = v_saldototal

                v_modo               = v_modo_bi

           TABLES

                t_dados              = itab_zycbe033

                t_campo              = itab_zycbt034

                t_zycbt032           = itab_zycbt032

                t_zycbt036           = itab_zycbt036

           EXCEPTIONS

                campo_em_branco      = 1

                periodo_fechado      = 2

                OTHERS               = 3.

      IF sy-subrc = 0.

        READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                          tabela = '/PWS/ZYCBT108'

                                          cpochv = v_chave

                                          tpmsg  = 'S'.

        IF sy-subrc = 0.

          v_ok = 'X'.

          /pws/zycbe112-fassoc  = 'X'.

        ENDIF.

      ELSE.

        LOOP AT itab_zycbt034.

          MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

  CLEAR: v_sempartida, v_saldototal.

ENDFORM.

* << Fim da exclusão

FORM preenche_documentos.

  itab_zycbt036-tcode  = 'F-51'.

  itab_zycbt036-tabela = '/PWS/ZYCBT108'.

  itab_zycbt036-cpochv = v_chave.

  itab_zycbt036-belnr = /pws/zycbe119-belnr_p.

  CLEAR /pws/zycbt031.

  SELECT SINGLE dtcredpr FROM /pws/zycbt031

                         INTO /pws/zycbt031-dtcredpr

                         WHERE nrcorresp EQ /pws/zycbe119-nrseq

                           AND mdcorresp EQ 'IP'.

...

 

...

    ENDIF.

  ELSE.

    PERFORM verify_null_field USING v_tot_brl

                                    'VLME'

                                    text-078.

    PERFORM verify_null_field USING v_assoc_brl

                                    'VLME'

                                    text-078.

  ENDIF.

ENDFORM.

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

FORM executa_f_51a.

  DATA: v_taxacambial  LIKE /pws/zycbt112-kursf,

               v_codeven      LIKE /pws/zycbt011-codeven,

                              v_agums        LIKE /pws/zycbt011-agums.

  CLEAR /pws/zyglt009.

  SELECT SINGLE contpa FROM /pws/zyglt009

                       INTO /pws/zyglt009-contpa

                       WHERE bukrs EQ /pws/zycbe117-bukrs.

  CLEAR /pws/zycbt031-belnr_f47.

  SELECT SINGLE belnr_f47 FROM /pws/zycbt031

                          INTO /pws/zycbt031-belnr_f47

                         WHERE mdcorresp EQ 'IA'

                           AND nrcorresp EQ /pws/zycbe117-nrseq

                           AND status    NE 'E'.

  IF NOT /pws/zyglt009-contpa IS INITIAL AND

     NOT /pws/zycbt031-belnr_f47 IS INITIAL.

    CONCATENATE '055' /pws/zycbe117-codint INTO v_codeven.

  ELSE.

    CONCATENATE '005' /pws/zycbe117-codint INTO v_codeven.

  ENDIF.

  FREE: itab_zycbe033, itab_zycbt034, itab_zycbt032.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe117-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT108'.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

               WHERE codeven = v_codeven

                 AND codmod  = 'I'.

  CLEAR v_ok.

  IF sy-subrc EQ 0.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

                itab_zycbt108-gjahr INTO v_chave.

    itab_zycbe033-cpochv = v_chave.

    itab_zycbe033-bldat = sy-datum.

    itab_zycbe033-budat = /pws/zycbe131-dtassoc.

    itab_zycbe033-bktxt = wa_zycbt007-bktxt.

    itab_zycbe033-agums = wa_zycbt011-agums.

    itab_zycbe033-agkoa = wa_zycbt011-koart.

    itab_zycbe033-d_newko = itab_zycbt108-lifnr.

    PERFORM verify_null_field USING itab_zycbe033-d_newko

                                    'D_NEWKO'

                                    text-027.

    itab_zycbe033-agkon = itab_zycbt108-lifnr.

    PERFORM verify_null_field USING itab_zycbe033-agkon

                                    'AGKON'

                                    text-027.

    PERFORM preenche_documentos_a.

    SELECT SINGLE * FROM /pws/zycbt131 INTO wa_zycbt131_aux

                    WHERE mdcorresp = 'IA'

                      AND nrseq     = /pws/zycbe117-nrseq

                      AND bukrs     = /pws/zycbe117-bukrs.

    IF /pws/zyglt009-contpa = 'X' OR

       ( /pws/zyglt009-contpa = 'Y' AND sy-subrc NE 0 ).

      CLEAR itab_ekpo.

      REFRESH itab_ekpo.

      SELECT * FROM ekpo

               INTO TABLE itab_ekpo

               WHERE ebeln EQ /pws/zycbe117-ebeln.

      DESCRIBE TABLE itab_ekpo LINES v_linhas.

      v_linhas = v_linhas + 1.

      itab_zycbe033-numpg = v_linhas.

    ELSE.

      CLEAR itab_zycbe033-numpg.

    ENDIF.

    LOOP AT itab_zycbt013.

      CASE itab_zycbt013-cpor3.

        WHEN 'XBLNR'.

          CASE itab_zycbt013-cpocb.

            WHEN 'BELNR'.

              itab_zycbe033-xblnr = itab_zycbt108-belnr.

            WHEN 'NRFAT'.

              itab_zycbe033-xblnr = itab_zycbt108-nrfat.

          ENDCASE.

        WHEN 'ZUONR'.

          CASE itab_zycbt013-cpocb.

            WHEN 'BELNR'.

              itab_zycbe033-d_zuonr = itab_zycbt108-belnr.

            WHEN 'NRFAT'.

              itab_zycbe033-d_zuonr = itab_zycbt108-nrfat.

          ENDCASE.

      ENDCASE.

    ENDLOOP.

    PERFORM ler_txt_evento.

    itab_zycbe033-d_sgtxt = v_txtdesc_even.

    itab_zycbe033-c_sgtxt = v_txtdesc_even.

    itab_zycbe033-augtx   = text-079.

    PERFORM verify_null_field USING itab_zycbt108-bukrs

                                    'BUKRS'

                                    text-021.

    itab_zycbe033-bukrs  = itab_zycbt108-bukrs.

    v_vlassoc = v_vlassoc + itab_zycbt131-vlme.

    PERFORM verify_null_field USING v_vlassoc

                                    'VLME'

                                    text-064.

    itab_zycbe033-wrbtr  = v_vlassoc.

    PERFORM verify_null_field USING itab_zycbt108-waers

                                    'WAERS'

                                    text-065.

    itab_zycbe033-waers  = itab_zycbt108-waers.

    itab_zycbe033-waersb  = wa_zycbt007-waersb.

    PERFORM busca_taxa.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-066.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    itab_zycbe033-d_gsber = itab_zycbt108-gsber.

    APPEND itab_zycbe033.

    LOOP AT itab_zycbt034.

      MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

    ENDLOOP.

    IF itab_zycbt034 IS INITIAL.

      IF ( /pws/zyglt009-contpa = 'Y' AND /pws/zycbe117-codint = 'IM' )

 OR

         ( /pws/zyglt009-contpa = 'Y' AND /pws/zycbe117-codint = 'ES'

           AND v_trans IS INITIAL ).

        CONCATENATE /pws/zycbe117-nrseq 'PA' INTO v_zuonr.

      ELSE.

        v_zuonr = /pws/zycbe117-nrseq.

      ENDIF.

      CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51F'

           EXPORTING

                v_modo          = v_modo_bi

                v_zuonr         = v_zuonr

           TABLES

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

                t_zycbt032      = itab_zycbt032

                t_zycbt036      = itab_zycbt036

           EXCEPTIONS

                campo_em_branco = 1

                periodo_fechado = 2

                OTHERS          = 3.

      IF sy-subrc = 0.

        READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                          tabela = '/PWS/ZYCBT108'

                                          cpochv = v_chave

                                          tpmsg  = 'S'.

        IF sy-subrc = 0.

          IF itab_zycbt032-belnr EQ space OR

             itab_zycbt032-belnr EQ '0'.

            EXIT.

          ENDIF.

          v_ok = 'X'.

          itab_zycbt108-statusp = 'C'.

          itab_zycbt108-belnr_lq = itab_zycbt032-belnr.

          itab_zycbt108-codmodul = 'I'.

          itab_zycbt108-nrcorresp = itab_zycbt131-nrseq.

          itab_zycbt108-tpdoc = v_tpdoc.

          itab_zycbt108-belnr_as = itab_zycbt032-belnr.

          READ TABLE itab_zycbe033 INDEX 1.

          itab_zycbt108-dtassoc  = itab_zycbe033-budat.

          IF itab_zycbt108-slfat EQ 0.

            itab_zycbt108-fassoc = 'X'.

          ENDIF.

          MODIFY itab_zycbt108.

          itab_zycbt131-status = 'C'.

          itab_zycbt131-belnr_as = itab_zycbt032-belnr.

          MODIFY itab_zycbt131 TRANSPORTING status belnr_as

                      WHERE nrseq       = v_nrseq

                        AND bukrs       = itab_zycbt108-bukrs

                        AND belnr       = itab_zycbt108-belnr

                        AND nrseq_pgfat = itab_zycbt108-nrseq_pgfat

                        AND gjahr       = itab_zycbt108-gjahr.

          /pws/zycbe117-belnr2  = itab_zycbt032-belnr.

          /pws/zycbe117-slpgant = v_saldo_pa.

          /pws/zycbe117-dtassoc = itab_zycbe033-budat.

          MOVE itab_zycbt131 TO /pws/zycbt131.

          MODIFY /pws/zycbt131  .

          MOVE itab_zycbt108 TO /pws/zycbt108.

          MODIFY /pws/zycbt108 .

          UPDATE /pws/zycbt117 SET   slpgant = /pws/zycbe117-slpgant

                                 belnr2 = /pws/zycbe117-belnr2

                                 dtassoc = /pws/zycbe117-dtassoc

                          WHERE   nrseq = /pws/zycbe117-nrseq.

          IF itab_zycbt108-slfat EQ 0.

            UPDATE /pws/zycbt119 SET  slpgfat = itab_zycbt108-slfat

                                 belnr_p = itab_zycbt108-belnr_lq

                                 dtpagto = sy-datum

                          WHERE  nrseq   = itab_zycbt108-nrseq_pgfat.

          ELSE.

            UPDATE /pws/zycbt119 SET  slpgfat = itab_zycbt108-slfat

                                 belnr_p = itab_zycbt108-belnr_lq

                          WHERE  nrseq   = itab_zycbt108-nrseq_pgfat.

          ENDIF.

        ELSE.

          v_saldo_pa = v_saldo_pa + itab_zycbt131-vlme.

        ENDIF.

      ELSE.

        v_saldo_pa = v_saldo_pa + itab_zycbt131-vlme.

        LOOP AT itab_zycbt034.

          MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

        ENDLOOP.

      ENDIF.

    ELSE.

      v_saldo_pa = v_saldo_pa + itab_zycbt131-vlme.

    ENDIF.

  ENDIF.

  CLEAR: v_sempartida, v_saldototal.

ENDFORM.

* << Fim da exclusão

FORM preenche_documentos_a.

  REFRESH itab_zycbt036.

  CLEAR itab_zycbt036.

  itab_zycbt036-tcode = 'F-51'.

  itab_zycbt036-tabela = '/PWS/ZYCBT108'.

  itab_zycbt036-cpochv = v_chave.

  v_saldo_pa = v_saldo_pa - itab_zycbt131-vlme.

  itab_zycbt036-residuo = v_saldo_pa.

  itab_zycbt036-waers   = /pws/zycbe117-waers.

  itab_zycbt036-dtdocto = itab_zycbe033-budat.

...

 

...

                           WHERE nrseq EQ itab_zycbt108-nrseq_pgfat.

      SELECT SINGLE awkey FROM bkpf

                          INTO itab_zycbt036-awkey

                          WHERE belnr EQ itab_zycbt036-belnr

                            AND bukrs EQ itab_zycbt108-bukrs

                            AND gjahr EQ /pws/zycbt119-dtincl(4).

    ENDIF.

  ENDIF.

  APPEND itab_zycbt036.

ENDFORM.

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

FORM executa_f_51p.

  DATA: v_taxacambial  LIKE /pws/zycbt112-kursf,

               v_codeven      LIKE /pws/zycbt011-codeven.

  CONCATENATE '007' 'A' INTO v_codeven.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe119-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT108E'.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

                AND codmod  = 'I'.

  CLEAR v_ok.

  READ TABLE itab_zycbt108 INDEX 1.

  IF sy-subrc EQ 0.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

                itab_zycbt108-gjahr INTO v_chave.

    itab_zycbe033-cpochv = v_chave.

    itab_zycbe033-bldat = sy-datum.

    itab_zycbe033-budat = /pws/zycbe131-dtassoc.

    itab_zycbe033-bktxt = wa_zycbt007-bktxt.

    itab_zycbe033-agums = wa_zycbt011-agums.

    itab_zycbe033-agkoa = wa_zycbt011-koart.

    itab_zycbe033-d_newko = itab_zycbt108-lifnr.

    PERFORM verify_null_field USING itab_zycbe033-d_newko

                                    'D_NEWKO'

                                    text-027.

    itab_zycbe033-agkon = itab_zycbt108-lifnr.

    PERFORM verify_null_field USING itab_zycbe033-agkon

                                    'AGKON'

                                    text-027.

    PERFORM preenche_documentos.

    READ TABLE itab_zycbt108 INDEX 1.

    LOOP AT itab_zycbt013.

      CASE itab_zycbt013-cpor3.

        WHEN 'XBLNR'.

          CASE itab_zycbt013-cpocb.

            WHEN 'BELNR'.

              itab_zycbe033-xblnr = itab_zycbt108-belnr.

            WHEN 'NRFAT'.

              itab_zycbe033-xblnr = itab_zycbt108-nrfat.

          ENDCASE.

        WHEN 'ZUONR'.

          CASE itab_zycbt013-cpocb.

            WHEN 'BELNR'.

              itab_zycbe033-d_zuonr = itab_zycbt108-belnr.

            WHEN 'NRFAT'.

              itab_zycbe033-d_zuonr = itab_zycbt108-nrfat.

            WHEN 'EMBARCA'.

              CLEAR: /pws/zycit006.

              SELECT embarca INTO (/pws/zycit006-embarca)

                  FROM /pws/zycit006

                  UP TO 1 ROWS

                  WHERE nrseq = itab_zycbt108-belnr.

              ENDSELECT.

              itab_zycbe033-d_zuonr = /pws/zycit006-embarca.

              itab_zycbe033-c_zuonr = /pws/zycbe112-nrfinanc.

          ENDCASE.

      ENDCASE.

    ENDLOOP.

    IF itab_zycbt108-ftxt IS INITIAL.

      itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

      itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

      itab_zycbe033-augtx   = wa_zycbt011-txtdesc.

    ELSE.

      itab_zycbe033-d_sgtxt = itab_zycbt108-txtinf.

      itab_zycbe033-c_sgtxt = itab_zycbt108-txtinf.

      itab_zycbe033-augtx   = itab_zycbt108-txtinf.

    ENDIF.

    PERFORM verify_null_field USING itab_zycbt108-bukrs

                                    'BUKRS'

                                    text-021.

    itab_zycbe033-bukrs  = itab_zycbt108-bukrs.

    CLEAR v_vlassoc.

    LOOP AT itab_zycbt131.

      v_vlassoc = v_vlassoc + itab_zycbt131-vlme.

    ENDLOOP.

    PERFORM verify_null_field USING v_vlassoc

                                    'VLME'

                                    text-064.

    itab_zycbe033-wrbtr  = v_vlassoc.

    PERFORM verify_null_field USING itab_zycbt108-waers

                                    'WAERS'

                                    text-065.

    itab_zycbe033-waers  = itab_zycbt108-waers.

    itab_zycbe033-waersb = wa_zycbt007-waersb.

    SELECT SINGLE kursf INTO bkpf-kursf FROM bkpf

      WHERE bukrs EQ /pws/zycbe119-bukrs

        AND belnr EQ /pws/zycbe119-belnr_p

        AND gjahr EQ /pws/zycbe119-dtpagto+0(4).

    IF sy-subrc = 0.

      itab_zycbe033-kursf = bkpf-kursf.

    ENDIF.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-066.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    itab_zycbe033-d_gsber = itab_zycbt108-gsber.

    APPEND itab_zycbe033.

    LOOP AT itab_zycbt034.

      MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

    ENDLOOP.

    IF itab_zycbt034 IS INITIAL.

      CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51'

           EXPORTING

                sem_partida_residual = v_sempartida

                associa_saldo_total  = v_saldototal

                v_modo               = v_modo_bi

           TABLES

                t_dados              = itab_zycbe033

                t_campo              = itab_zycbt034

                t_zycbt032           = itab_zycbt032

                t_zycbt036           = itab_zycbt036

           EXCEPTIONS

                campo_em_branco      = 1

                periodo_fechado      = 2

                OTHERS               = 3.

      IF sy-subrc = 0.

        READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                          tabela = '/PWS/ZYCBT108'

                                          cpochv = v_chave

                                          tpmsg  = 'S'.

        IF sy-subrc = 0.

          READ TABLE itab_zycbe033 INDEX 1.

          UPDATE /pws/zycbt108 SET dtassoc = itab_zycbe033-budat

                          WHERE nrseq_pgfat EQ /pws/zycbe119-nrseq.

          LOOP AT itab_zycbt108.

            itab_zycbt108-belnr_as = itab_zycbt032-belnr.

            MODIFY itab_zycbt108.

          ENDLOOP.

          READ TABLE itab_zycbt108 INDEX 1.

          v_ok = 'X'.

        ENDIF.

      ELSE.

        LOOP AT itab_zycbt034.

          MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

  CLEAR: v_sempartida, v_saldototal.

ENDFORM.

* << Fim da exclusão

FORM carrega_itab_zycbt131.

  DATA v_mdcorresp LIKE /pws/zycbt131-mdcorresp.

  CASE v_tpdoc.

    WHEN 'I'.

      v_mdcorresp = 'IF'.

    WHEN 'P'.

      v_mdcorresp = 'IP'.

    WHEN 'A'.

      v_mdcorresp = 'IA'.

  ENDCASE.

...

 

...

               AND codmod = 'FI'.

  ENDIF.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe112-bukrs.

  CONCATENATE '001' /pws/zycbe112-codint INTO v_codeven.

  SELECT SINGLE * FROM /pws/zycbt011

         INTO wa_zycbt011

         WHERE codeven = v_codeven

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

         AND codmod  = 'I'.

* << Fim da exclusão

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

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'FIN'

             AND codeven = v_codeven.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT112'.

  itab_zycbe033-cpochv = /pws/zycbe112-nrseq.

  itab_zycbe033-c_valut = /pws/zycbe112-dtvencto.

...

 

...

    ENDIF.

  ENDIF.

ENDFORM.

FORM desmembra_docto_fatura.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

  PERFORM limpa_itabs_contabil.

  SELECT SINGLE * FROM /pws/zycbt119 INTO /pws/zycbt119

         WHERE nrseq = itab_zycbt108-nrseq_pgfat.

  CONCATENATE '010' /pws/zycbt119-codint INTO v_codeven.

  CLEAR wa_zycbt011.

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

  CASE v_tpdoc.

    WHEN 'I'.

      SELECT SINGLE * FROM /pws/zycbt011

                      INTO wa_zycbt011

                      WHERE codeven EQ v_codeven

                        AND codmod  EQ 'I'

                        AND bukrs   EQ /pws/zycbe112-bukrs.

    WHEN 'P'.

      SELECT SINGLE * FROM /pws/zycbt011

                      INTO wa_zycbt011

                      WHERE codeven EQ v_codeven

                        AND codmod  EQ 'I'

                        AND bukrs   EQ /pws/zycbe119-bukrs.

    WHEN 'A'.

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO wa_zycbt011

                  WHERE codeven EQ v_codeven

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

                    AND codmod  EQ 'I'.

* << Fim da exclusão

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

                        AND codmod  EQ 'I'

                        AND bukrs   EQ /pws/zycbe117-bukrs.

  ENDCASE.

* << Fim da inclusão

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbt119-bukrs.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  itab_zycbe033-cpochv = /pws/zycbt119-nrseq.

  itab_zycbe033-c_valut = /pws/zycbt119-dtvencto.

  itab_zycbe033-d_valut = /pws/zycbt119-dtvencto.

...

 

...

    ENDIF.

    PERFORM limpa_itabs_contabil.

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbe112-bukrs.

    CONCATENATE '001' /pws/zycbe112-codint INTO v_codeven.

    SELECT SINGLE * FROM /pws/zycbt011

           INTO wa_zycbt011

           WHERE codeven = v_codeven

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

           AND codmod  = 'I'.

* << Fim da exclusão

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

             AND codmod  = 'I'

             AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

    REFRESH itab_zyglt321.

    SELECT * FROM /pws/zyglt321

             INTO TABLE itab_zyglt321

             WHERE ktosl   = 'FIN'

               AND codeven = v_codeven.

    IF itab_zycmt020[] IS INITIAL.

      SELECT * FROM /pws/zycmt020 INTO TABLE itab_zycmt020

               WHERE nrseq  = /pws/zycbe112-nrseq

                 AND codmod = 'FI'.

    ENDIF.

...

 

...

           WHERE tabela = '/PWS/ZYCBT108E'.

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'FIN'

             AND codeven = v_codeven.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

           AND codmod    = 'I'.

  CLEAR itab_zycbt012.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

              itab_zycbt108-gjahr INTO v_chave.

...

 

...

           WHERE tabela = '/PWS/ZYCBT108E'.

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'FIN'

             AND codeven = v_codeven_f.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

           AND codmod    = 'I'.

  CLEAR itab_zycbt012.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

              itab_zycbt108-gjahr INTO v_chave.

...

 

...

    v_data = itab_zycbt131-dtassoc.

  ELSE.

    v_data = /pws/zycbe131-dtassoc.

  ENDIF.

  itab_zycbe033-bldat = v_data.

  itab_zycbe033-budat = v_data.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  SELECT SINGLE agums FROM /pws/zycbt011

                INTO itab_zycbe033-agums

                WHERE codeven = v_codeven_f

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  itab_zycbe033-agkoa = wa_zycbt011-koart.

  itab_zycbe033-agkon = itab_zycbt108-lifnr.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-027.

  IF /pws/zycbe112-bco_forn IS INITIAL.

    itab_zycbe033-d_newko = /pws/zycbe112-lifnr.

  ELSE.

    itab_zycbe033-d_newko = /pws/zycbe112-bcofinan.

  ENDIF.

...

 

...

    IF ok_code NE 'SAVE'.

      CHECK v_estorno_ok = 'X'.

    ENDIF.

    READ TABLE itab_zycbt108 WITH KEY belnr = itab_zycbt131-belnr

                               nrseq_pgfat = itab_zycbt131-nrseq_pgfat.

    PERFORM limpa_itabs_contabil.

    SELECT SINGLE * FROM /pws/zycbt119 INTO /pws/zycbt119

           WHERE nrseq = itab_zycbt108-nrseq_pgfat.

    CONCATENATE '010' /pws/zycbt119-codint INTO v_codeven.

    CLEAR wa_zycbt011.

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

    CASE v_tpdoc.

      WHEN 'I'.

        SELECT SINGLE * FROM /pws/zycbt011

                        INTO wa_zycbt011

                        WHERE codeven EQ v_codeven

                          AND codmod  EQ 'I'

                          AND bukrs   EQ /pws/zycbe112-bukrs.

      WHEN 'P'.

        SELECT SINGLE * FROM /pws/zycbt011

                        INTO wa_zycbt011

                        WHERE codeven EQ v_codeven

                          AND codmod  EQ 'I'

                          AND bukrs   EQ /pws/zycbe119-bukrs.

      WHEN 'A'.

* << Fim da inclusão

    SELECT SINGLE * FROM /pws/zycbt011

                    INTO wa_zycbt011

                    WHERE codeven EQ v_codeven

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

                      AND codmod  EQ 'I'.

* << Fim da exclusão

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

                          AND codmod  EQ 'I'

                          AND bukrs   EQ /pws/zycbe117-bukrs.

    ENDCASE.

* << Fim da inclusão

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbt119-bukrs.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    itab_zycbe033-cpochv = /pws/zycbt119-nrseq.

    itab_zycbe033-c_valut = /pws/zycbt119-dtvencto.

    itab_zycbe033-d_valut = /pws/zycbt119-dtvencto.

...

 

...

FORM gera_docto_f43_pa.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

  v_codeven = '005A'.

  PERFORM limpa_itabs_contabil.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe117-bukrs.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO wa_zycbt011

                  WHERE codeven EQ v_codeven

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

                    AND codmod  EQ 'I'.

* << Fim da exclusão

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

                    AND codmod  EQ 'I'

                    AND bukrs   EQ /pws/zycbe117-bukrs.

* << Fim da inclusão

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-43'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  itab_zycbe033-cpochv = /pws/zycbe117-nrseq.

  IF NOT itab_zycbt131-dtassoc IS INITIAL.

    itab_zycbe033-bldat = itab_zycbt131-dtassoc.

    itab_zycbe033-budat = itab_zycbt131-dtassoc.

  ELSE.

    itab_zycbe033-bldat = /pws/zycbe131-dtassoc.

    itab_zycbe033-budat = /pws/zycbe131-dtassoc.

...

 

...

  itab_zycbe033-d_fipos = /pws/zycbe117-fipos.

  itab_zycbe033-c_fipos = /pws/zycbe117-fipos.

  itab_zycbe033-c_newko = itab_zycbt131-lifnr.

  itab_zycbe033-d_newko = /pws/zycbe117-lifnr.

  CLEAR v_codeven.

  CONCATENATE '005' /pws/zycbe117-codint INTO v_codeven.

  CLEAR /pws/zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO /pws/zycbt011

                  WHERE codeven EQ v_codeven

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

                    AND codmod EQ 'I'.

* << Fim da exclusão

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

                    AND codmod  EQ 'I'

                    AND bukrs   EQ /pws/zycbe117-bukrs.

* << Fim da inclusão

  itab_zycbe033-umskz   = /pws/zycbt011-agums.

  SELECT SINGLE kursf INTO bkpf-kursf FROM bkpf

    WHERE bukrs EQ /pws/zycbe117-bukrs

      AND belnr EQ /pws/zycbe117-belnr_p

      AND gjahr EQ /pws/zycbe117-dtpagto+0(4).

  IF sy-subrc = 0.

    itab_zycbe033-kursf = bkpf-kursf.

  ENDIF.

  APPEND itab_zycbe033.

  CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_43B'

...

 

...

  IF NOT v_belnr_f43 IS INITIAL.

    PERFORM limpa_itabs_contabil.

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbe117-bukrs.

    CONCATENATE '005' /pws/zycbe117-codint INTO v_codeven.

    SELECT SINGLE * FROM /pws/zycbt011

           INTO wa_zycbt011

           WHERE codeven = v_codeven

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

           AND codmod  = 'I'.

* << Fim da exclusão

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

             AND codmod  = 'I'

             AND bukrs   = /pws/zycbe117-bukrs.

* << Fim da inclusão

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    itab_zycbe033-cpochv = /pws/zycbe117-nrseq.

    itab_zycbe033-c_valut = /pws/zycbe117-dtvencto.

    itab_zycbe033-d_valut = /pws/zycbe117-dtvencto.

    itab_zycbe033-zfbdt = /pws/zycbe117-dtvencto.

    IF NOT itab_zycbt131-dtassoc IS INITIAL.

      v_data = itab_zycbt131-dtassoc.

    ELSE.

...

 

...

FORM reclassifica_f51_fatura.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

  IF NOT v_belnr_f43 IS INITIAL.

    READ TABLE itab_zycbt108 WITH KEY belnr = itab_zycbt131-belnr

                               nrseq_pgfat = itab_zycbt131-nrseq_pgfat.

    PERFORM limpa_itabs_contabil.

    SELECT SINGLE * FROM /pws/zycbt119 INTO /pws/zycbt119

           WHERE nrseq = itab_zycbt108-nrseq_pgfat.

    CONCATENATE '010' /pws/zycbt119-codint INTO v_codeven.

    CLEAR wa_zycbt011.

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

    CASE v_tpdoc.

      WHEN 'I'.

        SELECT SINGLE * FROM /pws/zycbt011

                        INTO wa_zycbt011

                        WHERE codeven EQ v_codeven

                          AND codmod  EQ 'I'

                          AND bukrs   EQ /pws/zycbe112-bukrs.

      WHEN 'P'.

        SELECT SINGLE * FROM /pws/zycbt011

                        INTO wa_zycbt011

                        WHERE codeven EQ v_codeven

                          AND codmod  EQ 'I'

                          AND bukrs   EQ /pws/zycbe119-bukrs.

      WHEN 'A'.

* << Fim da inclusão

    SELECT SINGLE * FROM /pws/zycbt011

                    INTO wa_zycbt011

                    WHERE codeven EQ v_codeven

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

                      AND codmod  EQ 'I'.

* << Fim da exclusão

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

                          AND codmod  EQ 'I'

                          AND bukrs   EQ /pws/zycbe117-bukrs.

    ENDCASE.

* << Fim da inclusão

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbt119-bukrs.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    itab_zycbe033-cpochv = /pws/zycbt119-nrseq.

    itab_zycbe033-c_valut = /pws/zycbt119-dtvencto.

    itab_zycbe033-d_valut = /pws/zycbt119-dtvencto.

...

 

...

FORM gera_docto_f43_fat.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

  v_codeven = '007A'.

  PERFORM limpa_itabs_contabil.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ itab_zycbt131-bukrs.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO wa_zycbt011

                  WHERE codeven EQ v_codeven

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

                    AND codmod  EQ 'I'.

* << Fim da exclusão

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

                    AND codmod  EQ 'I'

                    AND bukrs   EQ /pws/zycbe119-bukrs.

* << Fim da inclusão

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-43'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  itab_zycbe033-cpochv = /pws/zycbe119-nrseq.

  IF NOT itab_zycbt131-dtassoc IS INITIAL.

    itab_zycbe033-bldat = itab_zycbt131-dtassoc.

    itab_zycbe033-budat = itab_zycbt131-dtassoc.

  ELSE.

    itab_zycbe033-bldat = /pws/zycbe131-dtassoc.

    itab_zycbe033-budat = /pws/zycbe131-dtassoc.

...

 

...

  itab_zycbe033-d_fipos = /pws/zycbe119-fipos.

  itab_zycbe033-c_fipos = /pws/zycbe119-fipos.

  itab_zycbe033-c_newko = itab_zycbt131-lifnr.

  itab_zycbe033-d_newko = /pws/zycbe119-lifnr.

  CLEAR v_codeven.

  CONCATENATE '010' /pws/zycbe119-codint INTO v_codeven.

  CLEAR /pws/zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO /pws/zycbt011

                  WHERE codeven EQ v_codeven

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

                    AND codmod EQ 'I'.

* << Fim da exclusão

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

                    AND codmod  EQ 'I'

                    AND bukrs   EQ /pws/zycbe119-bukrs.

* << Fim da inclusão

  itab_zycbe033-umskz   = /pws/zycbt011-agums.

  SELECT SINGLE kursf INTO bkpf-kursf FROM bkpf

    WHERE bukrs EQ /pws/zycbe119-bukrs

      AND belnr EQ /pws/zycbe119-belnr_p

      AND gjahr EQ /pws/zycbe119-dtpagto+0(4).

  IF sy-subrc = 0.

    itab_zycbe033-kursf = bkpf-kursf.

  ENDIF.

  APPEND itab_zycbe033.

  CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_43B'

...

 

...

  IF NOT v_belnr_f43 IS INITIAL.

    PERFORM limpa_itabs_contabil.

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbe119-bukrs.

    CONCATENATE '010' /pws/zycbe119-codint INTO v_codeven.

    SELECT SINGLE * FROM /pws/zycbt011

           INTO wa_zycbt011

           WHERE codeven = v_codeven

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

           AND codmod  = 'I'.

* << Fim da exclusão

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

             AND codmod  = 'I'

             AND bukrs   = /pws/zycbe119-bukrs.

* << Fim da inclusão

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    itab_zycbe033-cpochv = /pws/zycbe119-nrseq.

    itab_zycbe033-c_valut = /pws/zycbe119-dtvencto.

    itab_zycbe033-d_valut = /pws/zycbe119-dtvencto.

    itab_zycbe033-zfbdt = /pws/zycbe119-dtvencto.

    IF NOT itab_zycbt131-dtassoc IS INITIAL.

      v_data = itab_zycbt131-dtassoc.

    ELSE.

...

 

...

               AND codmod = 'PA'.

  ENDIF.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe117-bukrs.

  CONCATENATE '005' /pws/zycbe117-codint INTO v_codeven.

  SELECT SINGLE * FROM /pws/zycbt011

         INTO wa_zycbt011

         WHERE codeven = v_codeven

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

         AND codmod  = 'I'.

* << Fim da exclusão

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

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe117-bukrs.

* << Fim da inclusão

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT112'.

  itab_zycbe033-cpochv = /pws/zycbe117-nrseq.

  itab_zycbe033-c_valut = /pws/zycbe117-dtvencto.

  itab_zycbe033-d_valut = /pws/zycbe117-dtvencto.

  IF NOT itab_zycbt131-dtassoc IS INITIAL.

    v_data = itab_zycbt131-dtassoc.

  ELSE.

    v_data = /pws/zycbe131-dtassoc.

...

 

...

    ENDIF.

    PERFORM limpa_itabs_contabil.

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbe117-bukrs.

    CONCATENATE '005' /pws/zycbe117-codint INTO v_codeven.

    SELECT SINGLE * FROM /pws/zycbt011

           INTO wa_zycbt011

           WHERE codeven = v_codeven

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

           AND codmod  = 'I'.

* << Fim da exclusão

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

                    AND codmod  = 'I'

                    AND bukrs   = /pws/zycbe117-bukrs.

* << Fim da inclusão

    IF itab_zycmt020[] IS INITIAL.

      SELECT * FROM /pws/zycmt020 INTO TABLE itab_zycmt020

               WHERE nrseq  = /pws/zycbe117-nrseq

                 AND codmod = 'PA'.

    ENDIF.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT112'.

    itab_zycbe033-cpochv = /pws/zycbe117-nrseq.

    itab_zycbe033-c_valut = /pws/zycbe117-dtvencto.

...

 

...

                  INTO wa_zycbt007

                  WHERE bukrs EQ itab_zycbt108-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT108E'.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe117-bukrs.

* << Fim da inclusão

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

           AND codmod    = 'I'.

  CLEAR itab_zycbt012.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

              itab_zycbt108-gjahr INTO v_chave.

...

 

...

                  INTO wa_zycbt007

                  WHERE bukrs EQ itab_zycbt108-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT108E'.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe117-bukrs.

* << Fim da inclusão

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

           AND codmod    = 'I'.

  CLEAR itab_zycbt012.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

              itab_zycbt108-gjahr INTO v_chave.

...

 

...

    v_data = itab_zycbt131-dtassoc.

  ELSE.

    v_data = /pws/zycbe131-dtassoc.

  ENDIF.

  itab_zycbe033-bldat = v_data.

  itab_zycbe033-budat = v_data.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  SELECT SINGLE agums FROM /pws/zycbt011

                INTO itab_zycbe033-agums

                WHERE codeven = v_codeven_p

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs  = /pws/zycbe117-bukrs.

* << Fim da inclusão

  itab_zycbe033-agkoa = wa_zycbt011-koart.

  itab_zycbe033-agkon = itab_zycbt108-lifnr.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-027.

  itab_zycbe033-d_newko = /pws/zycbe117-lifnr.

  PERFORM preenche_doctos_assoc.

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

      WHEN 'XBLNR'.

...

 

...

         v_defator LIKE tcurr-ffact,

         v_parafator LIKE tcurr-tfact,

         v_txcbrl LIKE bkpf-kursf,

         v_reais_fi LIKE /pws/zycbt117-vlme,

         v_reais_fa LIKE /pws/zycbt117-vlme.

  CONCATENATE '005' /pws/zycbe117-codint INTO v_codeven.

  CLEAR /pws/zycbt011-agums.

  SELECT SINGLE agums FROM /pws/zycbt011

                       INTO /pws/zycbt011-agums

                       WHERE codeven EQ v_codeven

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

                         AND codmod EQ 'I'.

* << Fim da exclusão

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

                         AND codmod  EQ 'I'

                         AND bukrs   EQ /pws/zycbe117-bukrs.

* << Fim da inclusão

  CLEAR lfb1.

  SELECT SINGLE akont FROM lfb1

               INTO lfb1-akont

               WHERE lifnr EQ /pws/zycbe117-lifnr

                 AND bukrs EQ /pws/zycbe117-bukrs.

  CLEAR t074.

  SELECT SINGLE skont FROM t074

                      INTO t074-skont

                      WHERE ktopl EQ wa_zycbt007-plcontas

                        AND koart EQ 'K'

...

 

...

               AND codmod = 'PG'.

  ENDIF.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe119-bukrs.

  CONCATENATE '007' /pws/zycbe119-codint INTO v_codeven.

  SELECT SINGLE * FROM /pws/zycbt011

         INTO wa_zycbt011

         WHERE codeven = v_codeven

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

         AND codmod  = 'I'.

* << Fim da exclusão

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

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe119-bukrs.

* << Fim da inclusão

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT112'.

  itab_zycbe033-cpochv = /pws/zycbe119-nrseq.

  itab_zycbe033-c_valut = /pws/zycbe119-dtvencto.

  itab_zycbe033-d_valut = /pws/zycbe119-dtvencto.

  IF NOT itab_zycbt131-dtassoc IS INITIAL.

    v_data = itab_zycbt131-dtassoc.

  ELSE.

    v_data = /pws/zycbe131-dtassoc.

...

 

...

  IF NOT itab_zycbt131-belnr_rfin IS INITIAL

     AND ( NOT v_pant_cont IS INITIAL OR ok_code NE 'SAVE' ).

    IF ok_code NE 'SAVE'.

      CHECK v_estorno_ok = 'X'.

    ENDIF.

    PERFORM limpa_itabs_contabil.

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbe119-bukrs.

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

    CONCATENATE '007' 'A' INTO v_codeven.

* << Fim da exclusão

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

    CONCATENATE '007' /pws/zycbe119-codint INTO v_codeven.

* << Fim da inclusão

    SELECT SINGLE * FROM /pws/zycbt011

           INTO wa_zycbt011

           WHERE codeven = v_codeven

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

           AND codmod  = 'I'.

* << Fim da exclusão

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

             AND codmod  = 'I'

             AND bukrs   = /pws/zycbe119-bukrs.

* << Fim da inclusão

    IF itab_zycmt020[] IS INITIAL.

      SELECT * FROM /pws/zycmt020 INTO TABLE itab_zycmt020

               WHERE nrseq  = /pws/zycbe119-nrseq

                 AND codmod = 'PG'.

    ENDIF.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT112'.

    itab_zycbe033-cpochv = /pws/zycbe119-nrseq.

    itab_zycbe033-c_valut = /pws/zycbe119-dtvencto.

...

 

...

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe119-bukrs

                          AND gjahr EQ v_gjahr.

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM f51_pgfat_moedas_iguais.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

  PERFORM limpa_itabs_contabil.

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

  CONCATENATE '007' 'A' INTO v_codeven.

* << Fim da exclusão

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

  CONCATENATE '007' /pws/zycbe119-codint INTO v_codeven.

* << Fim da inclusão

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ itab_zycbt108-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT108E'.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe119-bukrs.

* << Fim da inclusão

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

           AND codmod    = 'I'.

  CLEAR itab_zycbt012.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

              itab_zycbt108-gjahr INTO v_chave.

...

 

...

                  INTO wa_zycbt007

                  WHERE bukrs EQ itab_zycbt108-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT108E'.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe119-bukrs.

* << Fim da inclusão

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

           AND codmod    = 'I'.

  CLEAR itab_zycbt012.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

              itab_zycbt108-gjahr INTO v_chave.

...

 

...

    v_data = itab_zycbt131-dtassoc.

  ELSE.

    v_data = /pws/zycbe131-dtassoc.

  ENDIF.

  itab_zycbe033-bldat = v_data.

  itab_zycbe033-budat = v_data.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  SELECT SINGLE agums FROM /pws/zycbt011

                INTO itab_zycbe033-agums

                WHERE codeven = v_codeven_p

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

                AND codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe119-bukrs.

* << Fim da inclusão

  itab_zycbe033-agkoa = wa_zycbt011-koart.

  itab_zycbe033-agkon = itab_zycbt108-lifnr.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-027.

  itab_zycbe033-d_newko = /pws/zycbe119-lifnr.

  PERFORM preenche_doctos_assoc.

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

      WHEN 'XBLNR'.

...

 

...

         v_defator LIKE tcurr-ffact,

         v_parafator LIKE tcurr-tfact,

         v_txcbrl LIKE bkpf-kursf,

         v_reais_fi LIKE /pws/zycbt119-vlme,

         v_reais_fa LIKE /pws/zycbt119-vlme.

  CONCATENATE '007' 'A' INTO v_codeven.

  CLEAR /pws/zycbt011-agums.

  SELECT SINGLE agums FROM /pws/zycbt011

                       INTO /pws/zycbt011-agums

                       WHERE codeven EQ v_codeven

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

                         AND codmod EQ 'I'.

* << Fim da exclusão

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

                         AND codmod  EQ 'I'

                         AND bukrs   EQ /pws/zycbe119-bukrs.

* << Fim da inclusão

  CLEAR lfb1.

  SELECT SINGLE akont FROM lfb1

               INTO lfb1-akont

               WHERE lifnr EQ /pws/zycbe119-lifnr

                 AND bukrs EQ /pws/zycbe119-bukrs.

  CLEAR t074.

  SELECT SINGLE skont FROM t074

                      INTO t074-skont

                      WHERE ktopl EQ wa_zycbt007-plcontas

                        AND koart EQ 'K'

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB113F01

 

...

  REFRESH itab_zycbt013.

  SELECT *

         FROM /pws/zycbt013

         INTO TABLE itab_zycbt013

         WHERE tabela = '/PWS/ZYCBT108E'.

  CLEAR wa_zycbt011.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

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

         WHERE codeven = v_codeven  AND

               codmod  = 'I'.

* << Fim da exclusão

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

         WHERE codeven = v_codeven

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe119-bukrs.

* << Fim da inclusão

  ENDSELECT.

  CLEAR v_ok.

  READ TABLE itab_zycbt108 INDEX 1.

  IF sy-subrc EQ 0.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

                itab_zycbt108-gjahr INTO v_chave.

    itab_zycbe033-cpochv = v_chave.

...

 

...

         FROM /pws/zycbt007

         INTO wa_zycbt007

         WHERE bukrs EQ /pws/zycbe112-bukrs.

  ENDSELECT.

  REFRESH itab_zycbt013.

  SELECT *

         FROM /pws/zycbt013

         INTO TABLE itab_zycbt013

         WHERE tabela = '/PWS/ZYCBT108E'.

  CLEAR wa_zycbt011.

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

  IF v_tpdoc = 'I'.

    SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

         WHERE codeven = v_codeven

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe112-bukrs.

    ENDSELECT.

  ELSEIF v_tpdoc = 'P'.

    SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

         WHERE codeven = v_codeven

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe119-bukrs.

    ENDSELECT.

  ELSEIF v_tpdoc = 'A'.

* << Fim da inclusão

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

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

         WHERE codeven = v_codeven AND

               codmod  = 'I'.

* << Fim da exclusão

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

         WHERE codeven = v_codeven

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe117-bukrs.

* << Fim da inclusão

  ENDSELECT.

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

  ENDIF.

* << Fim da inclusão

  SELECT *

         FROM /pws/zycbt012

         INTO TABLE itab_zycbt012

         WHERE codeven = v_codeven AND

               codmod    = 'I'.

  CLEAR v_ok.

...

 

...

  REFRESH itab_zycbt013.

  SELECT *

         FROM /pws/zycbt013

         INTO TABLE itab_zycbt013

         WHERE tabela = '/PWS/ZYCBT108'.

  CLEAR wa_zycbt011.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

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

         WHERE codeven = v_codeven AND

               codmod  = 'I'.

* << Fim da exclusão

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

         WHERE codeven = v_codeven

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe117-bukrs.

* << Fim da inclusão

  ENDSELECT.

  CLEAR v_ok.

  IF sy-subrc EQ 0.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

                itab_zycbt108-gjahr INTO v_chave.

    itab_zycbe033-cpochv = v_chave.

    itab_zycbe033-bldat = sy-datum.

...

 

...

  ENDSELECT.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT108'.

  CLEAR wa_zycbt011.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

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

         WHERE codeven = v_codeven  AND

               codmod  = 'I'.

* << Fim da exclusão

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

         WHERE codeven = v_codeven

           AND codmod  = 'I'

           AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  ENDSELECT.

  CLEAR v_ok.

  IF sy-subrc EQ 0.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT108'.

    CONCATENATE itab_zycbt108-bukrs itab_zycbt108-belnr

                itab_zycbt108-gjahr INTO v_chave.

    itab_zycbe033-cpochv = v_chave.

    itab_zycbe033-bldat = sy-datum.

...

 

...

    itab_zycbt036-residuo = itab_zycbt131-slfat  * -1.

    itab_zycbt036-waers   = itab_zycbt131-waers.

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM ler_txt_evento.

  CLEAR v_txtdesc_even.

  IF v_finan = 'X'. MOVE '001A' TO v_codeven1. ENDIF.

  IF v_pgfat = 'X'. MOVE '007A' TO v_codeven1. ENDIF.

  IF v_pgant = 'X'. MOVE '005A' TO v_codeven1. ENDIF.

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

  IF v_tpdoc = 'I'.

    SELECT txtdesc

          UP TO 1 ROWS

          INTO (v_txtdesc_even)

          FROM /pws/zycbt011

          WHERE codeven = v_codeven1

            AND codmod  = 'I'

            AND bukrs   = /pws/zycbe112-bukrs.

    ENDSELECT.

  ELSEIF v_tpdoc = 'A'.

* << Fim da inclusão

  SELECT txtdesc

         UP TO 1 ROWS

         INTO (v_txtdesc_even)

         FROM /pws/zycbt011

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

         WHERE codeven = v_codeven1 AND

               codmod  = 'I'.

* << Fim da exclusão

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

           WHERE codeven = v_codeven1

             AND codmod  = 'I'

             AND bukrs   = /pws/zycbe117-bukrs.

* << Fim da inclusão

  ENDSELECT.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM checa_empresa USING p_empresa.

  AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'

                  ID     'BUKRS'

                  FIELD  p_empresa

                  ID     'ACTVT' FIELD '01'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB115F01

 

...

    v_codmod  = text-218.

  ENDIF.

  IF NOT v_ccexterior IS INITIAL.

    v_codeven = '009O'.

  ENDIF.

  v_evento = v_codeven.

  CLEAR wa_zycbt011.

  SELECT *

         FROM /pws/zycbt011

         INTO wa_zycbt011

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

         WHERE codeven = v_codeven AND

               codmod  = v_codmod.

* << Fim da exclusão

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

         WHERE codeven = v_codeven

           AND codmod  = v_codmod

           AND bukrs   = itab_zycbt134-bukrs.

* << Fim da inclusão

  ENDSELECT.

  CLEAR   itab_zycbt011_aux.

  REFRESH itab_zycbt011_aux.

  SELECT *

         FROM /pws/zycbt011

         INTO TABLE itab_zycbt011_aux

         WHERE ( codeven = text-102   OR

                 codeven = text-205   OR

                 codeven = text-249   OR

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

                 codeven = text-250 ) AND

                 codmod = v_codmod.

* << Fim da exclusão

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

                 codeven = text-250 )

           AND   codmod = v_codmod

           AND   bukrs  = itab_zycbt134-bukrs.

* << Fim da inclusão

  CLEAR   itab_zycbt012.

  REFRESH itab_zycbt012.

  SELECT *

         FROM /pws/zycbt012

         INTO TABLE itab_zycbt012

         WHERE codeven = v_codeven AND

               codmod  = v_codmod.

ENDFORM.

FORM  executa_batch.

  DATA: v_dtcredpr_aux LIKE /pws/zycbt031-dtcredpr,

...

 

...

  IF v_nrdias <= 360.

    v_prazo = 'S'.

  ELSE.

    v_prazo = 'L'.

  ENDIF.

  CLEAR wa_zycbt011.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

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

         WHERE codeven = vcodeven AND

               codmod  = 'I'.

* << Fim da exclusão

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

         WHERE codeven = vcodeven

           AND codmod  = 'I'

           AND bukrs   = itab_zycbt031-bukrs.

* << Fim da inclusão

  ENDSELECT.

  SELECT *

         FROM /pws/zycbt113

         INTO wa_zycbt113

         WHERE nrseq  = itab_zycbt031-nrcorresp AND

               tpparc = itab_zycbt031-tpparc    AND

               nrparc = itab_zycbt031-nrparc.

  ENDSELECT.

  CONCATENATE '001' /pws/zycbt112-codint INTO v_codeven.

  SELECT *

...

 

...

  ELSEIF v_mod = 'CI'.

    v_codeven = '002IC'.

  ENDIF.

  v_evento = v_codeven.

  IF itab_zycbt134_sel-mdcorresp = 'IF'.

  READ TABLE itab_zycbt112 WITH KEY nrseq = itab_zycbt134_sel-nrcorresp.

    SELECT *

           UP TO 1 ROWS

           FROM /pws/zycbt011

           INTO wa_zycbt011

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

           WHERE codeven = v_codeven AND

                 codmod  = 'I'.

* << Fim da exclusão

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

           WHERE codeven = v_codeven

             AND codmod  = 'I'

             AND bukrs   = itab_zycbt112-bukrs.

* << Fim da inclusão

    ENDSELECT.

    SELECT *

           FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven AND

                 codmod  = 'I'       AND

                 codaux  = itab_zycbt112-codint.

  ENDIF.

  IF itab_zycbt134_sel-mdcorresp = 'CE'.

  READ TABLE itab_zycbt128 WITH KEY nrseq = itab_zycbt134_sel-nrcorresp.

    SELECT *

           UP TO 1 ROWS

           FROM /pws/zycbt011

           INTO wa_zycbt011

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

           WHERE codeven = v_codeven AND

                 codmod  = 'F'.

* << Fim da exclusão

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

           WHERE codeven = v_codeven

             AND codmod  = 'F'

             AND bukrs   = itab_zycbt128-bukrs.

* << Fim da inclusão

    ENDSELECT.

    SELECT *

           FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven AND

                 codmod  = 'F'       AND

                 codaux  = itab_zycbt128-tpemprest.

  ENDIF.

  IF itab_zycbt134_sel-mdcorresp = 'ED'.

    IF v_trans = 'F-02'.

      CONCATENATE '005' itab_zycbt001-tpcontr INTO v_codeven.

    ENDIF.

    SELECT *

           FROM /pws/zycbt011

           INTO wa_zycbt011

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

           WHERE codeven = v_codeven AND

                 codmod  = 'E'.

* << Fim da exclusão

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

           WHERE codeven = v_codeven

             AND codmod  = 'E'

             AND bukrs   = itab_zycbt134-bukrs.

* << Fim da inclusão

    ENDSELECT.

  ENDIF.

  IF itab_zycbt134_sel-mdcorresp EQ 'EO'.

    IF v_trans EQ 'F-02'.

      v_codeven = '005CM'.

    ENDIF.

    SELECT SINGLE *

      FROM /pws/zycbt011

      INTO wa_zycbt011

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

      WHERE codeven EQ v_codeven AND

            codmod  EQ 'E'.

* << Fim da exclusão

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

      WHERE codeven EQ v_codeven

        AND codmod  EQ 'E'

        AND bukrs   EQ itab_zycbt134-bukrs.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM verifica_documentos_clearing.

  TYPES: BEGIN OF t_dif_comissao,

           tpcontr    TYPE /pws/zycbt154-tpcontr,

           codint     TYPE /pws/zycbt154-codint,

           nrcorresp  TYPE /pws/zycbt154-nrcorresp,

         END OF t_dif_comissao.

  DATA: v_codmodul(1) TYPE c,

        v_tabix       LIKE sy-tabix,

...

 

...

  REFRESH itab_zycbt012c.

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012c

           WHERE codeven  = vcodeven

             AND codmod   = 'F'.

  CLEAR wa_zycbt011.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

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

         WHERE codeven = vcodeven AND

               codmod  = 'F'.

* << Fim da exclusão

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

         WHERE codeven = vcodeven

           AND codmod  = 'F'

           AND bukrs   = itab_zycbt134-bukrs.

* << Fim da inclusão

  ENDSELECT.

  CLEAR wa_zycbt129.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt129

         INTO wa_zycbt129

         WHERE nrseq  = itab_zycbt031-nrcorresp AND

               tpparc = itab_zycbt031-tpparc    AND

               nrparc = itab_zycbt031-nrparc.

  ENDSELECT.

...

 

...

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  IF wa_zycbt007-fdtdoc   = 'D'.

    itab_zycbe033-bldat   = sy-datum.

  ELSE.

    itab_zycbe033-bldat   = itab_zycbe033-budat.

  ENDIF.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO /pws/zycbt011

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

         WHERE codeven = '004P' AND

               codmod = 'F'.

* << Fim da exclusão

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

         WHERE codeven = '004P'

           AND codmod  = 'F'

           AND bukrs   = itab_zycbt134-bukrs.

* << Fim da inclusão

  ENDSELECT.

  itab_zycbe033-agums = /pws/zycbt011-agums.

  itab_zycbe033-d_newko = itab_zycbt124-recrem.

  itab_zycbe033-agkon   = itab_zycbt124-recrem.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-061.

  itab_zycbe033-agkoa = /pws/zycbt011-koart.

  itab_zycbe033-belnr = wa_zycbt031-belnr_p.

  SELECT awkey

...

 

...

    ENDIF.

    IF sy-subrc = 0.

      itab_zycbe033-c_newko = itab_zycbt012-lifnr.

      itab_zycbe033-d_newko = itab_zycbt012-lifnr.

      itab_zycbe033-agkon = itab_zycbt012-lifnr.

    ENDIF.

    SELECT *

           UP TO 1 ROWS

           FROM /pws/zycbt011

           INTO /pws/zycbt011

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

           WHERE codeven = '004I' AND

                 codmod = 'F'.

* << Fim da exclusão

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

           WHERE codeven = '004I'

             AND codmod  = 'F'

             AND bukrs   = itab_zycbt134-bukrs.

* << Fim da inclusão

    ENDSELECT.

    itab_zycbe033-agkoa = /pws/zycbt011-koart.

    itab_zycbe033-agums = /pws/zycbt011-agums.

  ELSE.

    READ TABLE itab_zycbt012 WITH KEY codeven  = '004I'

                                      codmod   = 'F'

                                      chlanc   = 'C'

                                      tpcodaux = 'S'

                                      codaux   = itab_zycbt124-codpagto.

    IF sy-subrc NE 0.

...

 

...

    ENDIF.

    itab_zycbe033-d_newko = itab_zycbt124-recrem.

    itab_zycbe033-agkon = itab_zycbt124-recrem.

    PERFORM verify_null_field USING itab_zycbe033-agkon

                                    'AGKON'

                                    text-061.

    SELECT *

           UP TO 1 ROWS

           FROM /pws/zycbt011

           INTO /pws/zycbt011

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

           WHERE codeven = '004P' AND

                 codmod  = 'F'.

* << Fim da exclusão

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

           WHERE codeven = '004P'

             AND codmod  = 'F'

             AND bukrs   = itab_zycbt134-bukrs.

* << Fim da inclusão

    ENDSELECT.

    itab_zycbe033-agkoa = /pws/zycbt011-koart.

    itab_zycbe033-agums = /pws/zycbt011-agums.

  ENDIF.

  IF itab_zycbt124-irfat EQ 'S'.

    itab_zycbe033-belnr  = wa_zycbt031-belnr_p.

    itab_zycbt036-tcode  = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT119'.

    itab_zycbt036-cpochv = wa_zycbt031-nrseq.

    itab_zycbt036-belnr  = wa_zycbt031-belnr_pi.

...

 

...

    ENDIF.

    itab_zycbe033-wrbtr   = wa_zycbt031-vlcide.

    itab_zycbe033-c_sgtxt = itab_zycbt124-txtinf.

    itab_zycbe033-budat   = wa_zycbt031-dtcredpr.

    itab_zycbe033-c_zuonr = itab_zycbt124-nrseq.

    itab_zycbe033-kursf = wa_zycbt031-taxair.

    SELECT *

           UP TO 1 ROWS

           FROM /pws/zycbt011

           INTO /pws/zycbt011

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

           WHERE codeven = '004C' AND

                 codmod = 'F'.

* << Fim da exclusão

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

           WHERE codeven = '004C'

             AND codmod  = 'F'

             AND bukrs   = itab_zycbt134-bukrs.

* << Fim da inclusão

    ENDSELECT.

    itab_zycbe033-agkoa = /pws/zycbt011-koart.

    itab_zycbe033-agums = /pws/zycbt011-agums.

    CLEAR itab_zycbe033-belnr.

    CLEAR itab_zycbe033-awkey.

    itab_zycbe033-dmbtr = '          '.

    MODIFY itab_zycbe033 INDEX 1.

    DELETE itab_zycbe033 INDEX 2.

    LOOP AT itab_zycbt124 WHERE nrseq = itab_zycbt134-nrcorresp.

      itab_zycbt036-tcode  = 'F-51'.

...

 

...

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

                                  text-076.

  v_blart = wa_zycbt011-blart.

  itab_zycbe033-blart     = v_blart.

  itab_zycbe033-d_sgtxt = v_d_sgtxt.

  SELECT koart

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO itab_zycbe033-agkoa

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

         WHERE codeven = v_codeven AND

               codmod  = v_codmod.

* << Fim da exclusão

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

         WHERE codeven = v_codeven

           AND codmod  = v_codmod

           AND bukrs   = itab_zycbt031-bukrs.

* << Fim da inclusão

  ENDSELECT.

  CLEAR itab_zycbt012.

  READ TABLE itab_zycbt012 WITH KEY codeven  = v_codeven

                                    codmod   = v_codmod

                                    chlanc   = 'C'

                                    tpcodaux = 'B'

                                    codaux   = itab_zycbt134-bcocred.

  itab_zycbe033-d_newko = itab_zycbt012-saknr2.

  PERFORM verify_null_field USING itab_zycbe033-d_newko

                                  'D_NEWKO'

...

 

...

ENDFORM.

FORM posiciona_registro.

  CALL SCREEN '0002' STARTING AT 16 12 ENDING AT 46 12.

ENDFORM.

FORM desmembra_docto_provisao_cp.

  PERFORM clear_date_batch.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

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

         WHERE codmod  = 'F' AND

               codeven = '004P'.

* << Fim da exclusão

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

         WHERE codmod  = 'F'

           AND codeven = '004P'

           AND bukrs   = itab_zycbt124-bukrs.

* << Fim da inclusão

  ENDSELECT.

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'DSF'

             AND codeven = '004P'.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT124'.

  itab_zycbe033-cpochv = itab_zycbt124-nrseq.

...

 

...

         UP TO 1 ROWS

         FROM /pws/zycbt124

         WHERE nrseq = itab_zycbt134-nrcorresp.

  ENDSELECT.

  IF v_ccexterior IS INITIAL.

    IF /pws/zycbt124-tpoper = 'P'.

      SELECT *

             UP TO 1 ROWS

             FROM /pws/zycbt011

             INTO wa_zycbt011

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

             WHERE codeven = '009' AND

                   codmod  = 'F'.

* << Fim da exclusão

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

             WHERE codeven = '009'

               AND codmod  = 'F'

               AND bukrs   = itab_zycbt124-bukrs.

* << Fim da inclusão

      ENDSELECT.

      SELECT *

             FROM /pws/zyglt321

             INTO TABLE itab_zyglt321

             WHERE ktosl   = 'DSF' AND

                   codeven = '009'.

    ELSEIF /pws/zycbt124-tpoper = 'R'.

      SELECT *

             UP TO 1 ROWS

             FROM /pws/zycbt011

             INTO wa_zycbt011

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

             WHERE codeven = '009' AND

                   codmod  = 'F'.

* << Fim da exclusão

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

             WHERE codeven = '009'

               AND codmod  = 'F'

               AND bukrs   = itab_zycbt124-bukrs.

* << Fim da inclusão

      ENDSELECT.

      SELECT *

             FROM /pws/zyglt321

             INTO TABLE itab_zyglt321

             WHERE ktosl   = 'RCF' AND

                   codeven = '009'.

    ENDIF.

  ELSE.

    IF /pws/zycbt124-tpoper = 'P'.

      SELECT *

             UP TO 1 ROWS

             FROM /pws/zycbt011

             INTO wa_zycbt011

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

             WHERE codeven = '009O' AND

                   codmod  = 'F'.

* << Fim da exclusão

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

             WHERE codeven = '009O'

               AND codmod  = 'F'

               AND bukrs   = itab_zycbt124-bukrs.

* << Fim da inclusão

      ENDSELECT.

    ELSEIF /pws/zycbt124-tpoper = 'R'.

      SELECT *

             UP TO 1 ROWS

             FROM /pws/zycbt011

             INTO wa_zycbt011

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

             WHERE codeven = '009O' AND

                   codmod  = 'F'.

* << Fim da exclusão

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

             WHERE codeven = '009O'

               AND codmod  = 'F'

               AND bukrs   = itab_zycbt124-bukrs.

* << Fim da inclusão

      ENDSELECT.

    ENDIF.

  ENDIF.

ENDFORM.

FORM seleciona_docto_cp USING p_tpproc.

  READ TABLE itab_zycbt031 WITH KEY nrseq = itab_zycbt134-nrseq.

  CHECK sy-subrc = 0.

  CLEAR   itab_zycbt036.

  REFRESH itab_zycbt036.

  IF p_tpproc = 'PRINCIPAL' OR p_tpproc = ' '.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB115F02

 

...

FORM get_parameters_ordem.

  IF     itab_zycbt226-tipo_op = 'E'.

    v_codeven = '029'.

  ELSEIF itab_zycbt226-tipo_op = 'P'.

    v_codeven = '030'.

  ENDIF.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO wa_zycbt011

                  WHERE codeven = v_codeven

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

                    AND codmod  = 'E'.

* << Fim da exclusão

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

                    AND codmod  = 'E'

                    AND bukrs   = itab_zycbt226-bukrs.

* << Fim da inclusão

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'TRE'

             AND codeven = v_codeven.

ENDFORM.

FORM define_taxa_cambio USING    p_codeven

                                 p_budat

                                 p_estorno

                                 v_f_dtc

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCM101F01

 

...

                     WHERE bukrs EQ /pws/zycbe112-bukrs.

  IF v_nrdias <= /pws/zyglt009-nrdias_cp.

    v_prazo = 'S'.

  ELSE.

    v_prazo = 'L'.

  ENDIF.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  CONCATENATE /pws/zycbe112-codint v_prazo

              INTO v_codaux1 SEPARATED BY space.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbe112-bukrs

            ktosl           = 'FIN'

            codaux1         = v_codaux1

       TABLES

            account         = itab_zyglt316

       EXCEPTIONS

...

 

...

  REFRESH: itab_zycbt012.

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

             AND codmod  = text-016.

  CLEAR itab_zycbt012.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbe112-bukrs

            ktosl           = 'DSI'

            codaux1         = 'CO'

            codaux2         = /pws/zycbe112-codint

       TABLES

            account         = itab_zyglt316

       EXCEPTIONS

            key_not_found   = 1

...

 

...

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe112-bukrs.

  CONCATENATE text-019 /pws/zycbe112-codint INTO v_codeven_f.

  CONCATENATE text-019 text-055 INTO v_codeven_r.

  CONCATENATE text-019 text-088 INTO v_codeven_rd.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven_f

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  CLEAR wa_zycbt011_rd.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011_rd

                WHERE codeven = v_codeven_rd

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'FIN'

             AND codeven = v_codeven_rd.

  CLEAR itab_zycbt012.

  REFRESH itab_zycbt012.

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven_f

...

 

...

  REFRESH: itab_zycbt012.

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

             AND codmod  = text-016.

  CLEAR: itab_zycbt012,

         wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  v_diasp = wa_zycbt112-dtvencto - wa_zycbt112-dtdesem.

  CLEAR /pws/zyglt009.

  SELECT SINGLE nrdias_cp FROM /pws/zyglt009

                     INTO /pws/zyglt009-nrdias_cp

                     WHERE bukrs EQ /pws/zycbe112-bukrs.

  IF v_diasp <= /pws/zyglt009-nrdias_cp.

    v_prazo = 'S'.

  ELSE.

    v_prazo = 'L'.

  ENDIF.

...

 

...

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

             AND codmod  = text-016.

  CLEAR itab_zycbt012.

  v_prazo = wa_zycbt113-ftransf.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  CONCATENATE wa_zycbt112r-codint v_prazo

              INTO v_codaux1 SEPARATED BY space.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbe112-bukrs

            ktosl           = 'FIN'

            codaux1         = v_codaux1

       TABLES

            account         = itab_zyglt316

       EXCEPTIONS

...

 

...

  REFRESH: itab_zycbt012.

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

             AND codmod  = text-016.

  CLEAR: itab_zycbt012,

         wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  v_diasp = /pws/zycbe112-dtvencto - /pws/zycbe112-dtdesem.

  CLEAR /pws/zyglt009.

  SELECT SINGLE nrdias_cp FROM /pws/zyglt009

                     INTO /pws/zyglt009-nrdias_cp

                     WHERE bukrs EQ /pws/zycbe112-bukrs.

  IF v_diasp <= /pws/zyglt009-nrdias_cp.

    v_prazo = 'S'.

  ELSE.

    v_prazo = 'L'.

  ENDIF.

...

 

...

    v_prazo = 'L'.

  ELSEIF itab_zycbt113p-ftransf EQ 'S'.

    v_prazo = 'S'.

  ELSE.

    v_prazo = 'C'.

  ENDIF.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  CONCATENATE /pws/zycbe112-codint v_prazo

              INTO v_codaux1 SEPARATED BY space.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbe112-bukrs

            ktosl           = 'FIN'

            codaux1         = v_codaux1

       TABLES

            account         = itab_zyglt316

       EXCEPTIONS

...

 

...

    IF sy-subrc EQ 0.

      READ TABLE itab_zyglt316 INDEX 1.

      v_conta_sp = itab_zyglt316-konth.

      EXIT.

    ENDIF.

  ENDLOOP.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO wa_zycbt011

                WHERE codeven = v_codeven

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

                AND codmod  = text-016.

* << Fim da exclusão

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

                  AND codmod  = text-016

                  AND bukrs   = /pws/zycbe112-bukrs.

* << Fim da inclusão

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'FIN'

             AND codeven = v_codeven.

ENDFORM.

FORM preenche_dados_batch USING p_data.

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCMR900

 

...

                                  'BUKRS'

                                  text-002.

  itab_zycbe033-bukrs  = itab_zycbt119-bukrs.

  PERFORM verify_null_field USING itab_zycbt119-waers

                                  'WAERS'

                                  text-003.

  itab_zycbe033-waers  = itab_zycbt119-waers.

  IF pa_dtlan EQ 'X'.

    SELECT SINGLE ctmoed INTO v_ctmoed FROM /pws/zycbt011

    WHERE codeven = v_codeven

* >> Início da exclusão: FORM FILL_DATE_F-43

    AND    codmod = 'I'.

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-43

      AND  codmod = 'I'

      AND  bukrs  = itab_zycbt119-bukrs.

* << Fim da inclusão

    CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

         EXPORTING

              i_montante                   = itab_zycbt119-vlme

              i_demoeda                    = itab_zycbt119-waers

              i_paramoeda                  = itab_zycbt007-waersb

              i_ctmoeda                    = v_ctmoed

              i_dtbase                     = v_data_wwert

         IMPORTING

              e_txc                        = itab_zycbe033-kursf

         EXCEPTIONS

...

 

...

    READ TABLE itab_zyglt316 INDEX 1.

    itab_zycbe033-d_newko = itab_zyglt316-konts.

  ENDIF.

  PERFORM verify_null_field USING itab_zycbe033-d_newko

                                  'NEWKO'

                                  text-006.

  CLEAR itab_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                INTO itab_zycbt011

                WHERE codeven = v_codeven

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

                AND   codmod  = 'I'.

* << Fim da exclusão

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

                  AND codmod  = 'I'

                  AND bukrs   = itab_zycbt119-bukrs.

* << Fim da inclusão

ENDFORM.

FORM sele_dados119.

  v_codeven = '010'.

  SELECT   nrseq        nrpagto  a~bukrs    a~gsber

         a~j_1bbranch a~werks    a~lifnr    a~dtemb

         a~nrfat      a~vlme     a~dtincl   a~dtvencto

         a~waers        belnr_co a~zlspr

         FROM /pws/zycbt119       AS a

         INNER JOIN /pws/zycbt108 AS b

           ON a~nrseq   = b~nrseq_pgfat AND

...