CE PLUS - Nota 003478

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 17/04/2007 00:00:00

Data/Hora Última Alteração: 10/03/2010 15:18:18

Descrição da Nota: VINCULAÇÃO LIQ. AUT. / LIQUIDAÇÃO - CÂMBIO PRONTO - ARBITRAGEM

Sintoma

 

Ao efetuar vinculação de câmbio pronto com liquidação automática, cenário de arbitragem, o sistema

esta se perdendo nos contábeis, lançando o contrato na moeda da fatura, buscando a taxa incorreta e

não lançando arbitragem.

Ao efetuar liquidação de câmbio pronto, arbitragem, o sistema esta lançando a arbitragem na chave 40

correta, mas com a conta crédito.

 

Solução

 

Incluir na vinculação com liquidação automática de CP, arbitragem, os tratamentos da liquidação

(programa /pws/sapmzycb004).

Fazer a busca da conta débito na liquidação, utilizando o campo KONTS no lugar do KONTH.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 03478 Data: 17/04/2007 Hora: 11:41:53

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

 

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

Nota Número              : 03478

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00001

Agrupamento              : 00162

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

VINCULAÇÃO LIQ. AUT. / LIQUIDAÇÃO - CÂMBIO PRONTO - ARBITRAGEM

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

Palavras Chave:

VINCULAÇÃO LIQUIDAÇÃO AUTOMÁTICA LIQUIDAÇÃO CÂMBIO PRONTO

ARBITRAGEM MOEDAS DIFERENTES

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

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_F_30_W

REPS /PWS/MZYCB004F01

REPS /PWS/MZYCB004F02

REPS /PWS/MZYCB009F08

REPS /PWS/MZYCB009F09

REPS /PWS/MZYCB009F10

REPS /PWS/MZYCB009TOP

REPT /PWS/SAPMZYCB009

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W

 

...

        SORT itab_parts BY shkzg agkoa agkon agums ASCENDING.

      ELSE.

        SORT itab_parts BY shkzg agkoa agkon agums.

      ENDIF.

      CLEAR: v_last.

      READ TABLE itab_parts WITH KEY agkon = t_dados-d_newko.

      IF sy-subrc EQ 0.

        MOVE: itab_parts-agkoa TO v_agkoa,

              itab_parts-agkon TO v_agkon_emp.

      ENDIF.

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

     IF NOT v_res_liq_and IS INITIAL.

       ADD 1 TO v_linhas.

     ENDIF.

* << Fim da inclusão

      LOOP AT itab_parts.

        AT LAST.

          v_last = 'X'.

        ENDAT.

        IF itab_parts-agkoa EQ 'D'.

          IF itab_parts-agums IS INITIAL.

            v_tela = '0301'.

          ELSE.

            PERFORM define_tela2 USING itab_parts-tcode

                                       t_dados-bukrs

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F01

 

...

  ENDIF.

  IF p_v_sinal EQ '-'.

    itab_zycbe033-c_newko = itab_zyglt316-konth.

    PERFORM verify_null_field USING itab_zycbe033-c_newko

                                    'SAKNR'

                                    text-041.

  ELSE.

    IF wa_zycbt007-liq_trans EQ 'R'.

      itab_zycbe033-d_newko = itab_zycbt012-saknr2.

    ELSE.

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

      itab_zycbe033-d_newko = itab_zyglt316-konth.

* << Fim da exclusão

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

      itab_zycbe033-d_newko = itab_zyglt316-konts.

* << Fim da inclusão

    ENDIF.

    PERFORM verify_null_field USING itab_zycbe033-d_newko

                                    'SAKNR'

                                    text-010.

  ENDIF.

ENDFORM.

FORM verify_null_field USING value(p_field)

                             value(p_fieldname)

                             value(p_description).

  IF p_field IS INITIAL.

...

 

...

    EXPORT itab_erro TO MEMORY ID '001'.

    SUBMIT /pws/zycbr126 AND RETURN.

    REFRESH itab_erro.

  ENDIF.

ENDFORM.

FORM clearing_newko.

  PERFORM clear_date_batch.

  itab_zycbe033-agkoa  = 'S'.

  IF itab_zycbt006-agkon IS INITIAL.

    PERFORM get_parameters_002 USING '+'.

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

    itab_zycbe033-agkon  = itab_zyglt316-konth.

* << Fim da exclusão

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

    itab_zycbe033-agkon  = itab_zyglt316-konts.

* << Fim da inclusão

  ELSE.

    itab_zycbe033-agkon  = itab_zycbt006-agkon.

  ENDIF.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'agkon'

                                  text-028.

  IF itab_zycbt006-v_armda EQ 'X'.

    PERFORM fill_date6_f30_2.

  ELSE.

    PERFORM fill_date6_f30.

...

 

...

    ELSE.

      itab_zycbe033-agkon   = itab_zycbt209-hkont.

      itab_zycbe033-umskz   = itab_zycbt209-umskz.

      itab_zycbe033-agkoa   = itab_zycbt209-koart.

    ENDIF.

  ELSE.

    itab_zycbe033-agkon   = itab_zycbt209-hkont.

    itab_zycbe033-umskz   = itab_zycbt209-umskz.

    itab_zycbe033-agkoa   = itab_zycbt209-koart.

  ENDIF.

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

  itab_zycbe033-d_newko = itab_zyglt316-konth.

* << Fim da exclusão

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

  itab_zycbe033-d_newko = itab_zyglt316-konts.

* << Fim da inclusão

  itab_zycbe033-newbs   = '40'.

  itab_zycbe033-awtyp   = '2'.

  DELETE itab_zycbt209 WHERE belnr_d IS initial

                         AND nrinvoic = itab_zycbt006-nrinvoic

                         AND nrparcf  = itab_zycbt006-nrparcf

                         AND gsberf   = itab_zycbt006-gsberf.

  READ TABLE itab_zycbt209

           WITH KEY nrinvoic = itab_zycbt006-nrinvoic

                    nrparcf  = itab_zycbt006-nrparcf

                    gsberf   = itab_zycbt006-gsberf

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F02

 

...

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

    IF sy-subrc EQ 0.

      READ TABLE itab_zyglt316 INDEX 1.

    ENDIF.

  ENDIF.

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

  itab_zycbe033-d_newko = itab_zyglt316-konth.

* << Fim da exclusão

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

  itab_zycbe033-d_newko = itab_zyglt316-konts.

* << Fim da inclusão

  PERFORM verify_null_field USING itab_zycbe033-d_newko

                                      'SAKNR'

                                      text-010.

ENDFORM.

FORM get_parameters_003_arb USING    v_sinal.

  DATA: v_nrdias_arb  TYPE i,

        v_prazo_arb,

        v_cod_param  LIKE /pws/zyglt316-codaux1.

  CLEAR itab_zycbt012.

  CONCATENATE '003' /pws/zycbe005-tpcontr INTO v_codeven.

...

 

 

 

...

 

  ELSE.

    itab_zycbe033-d_gsber = itab_zycbt006-gsberf.

  ENDIF.

 

  itab_zycbe033-dtdocto = itab_zycbt006-dtpagto.

  itab_zycbe033-koart = 'S'.

 

  IF     itab_zycbt005-slpagar    IS INITIAL AND

     NOT itab_zycbt005-tpcontr(1) CA 'CE'.

    itab_zycbe033-flag_nc = 'X'. " usar essa variável para controlar se

    " houve desmembramento ou não.

  ENDIF.

 

  IF v_variacao < 0.

    itab_zycbe033-newbs = '40'.

  ELSEIF v_variacao > 0.

    itab_zycbe033-newbs = '50'.

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

    itab_zycbe033-d_newko = itab_zyglt316-konth.

* << Fim da exclusão

  ELSE.

    CLEAR itab_zycbe033-newbs.

  ENDIF.

 

  IF NOT v_desmembramento IS INITIAL.

    itab_zycbt036-dtdocto = itab_zycbt030-budat.

    CLEAR itab_zycbe033-c_zuonr.

  ELSE.

    itab_zycbt036-dtdocto = itab_zycbt030-budat.

 

  ENDIF.

  IF NOT itab_zycbt209[] IS INITIAL.

    CLEAR itab_zycbe033-c_zuonr.

  ENDIF.

  APPEND itab_zycbe033.

 

ENDFORM.                    " fill_date6_f30_2

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F08

 

...

    v_kursf = itab_zycbe033-kursf.

    PERFORM clearing TABLES itab_vinc

                     USING itab_zycbt035-d_newko

                           v_datum

                           v_kursf

                           v_koart

                           itab_vinc-belnr_vinc

                           itab_vinc-dtvincul

                           text-341

                           wa_zycbt011-agums

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

                           itab_vinc-bukrs

                           itab_vinc-waers

                           /pws/zycbe005-j_1bbranch

* << Fim da inclusão

                  CHANGING v_belnr.

    v_belnr_001 = v_belnr.

    v_dtdocto   = itab_vinc-dtvincul.

    IF sy-subrc NE 0.

      v_subrc = 4.

      v_erro_estorno = 'X'.

      EXIT.

    ENDIF.

    itab_vinc-belnr = v_belnr.

    MODIFY itab_vinc TRANSPORTING belnr

...

 

...

ENDFORM.

FORM clearing TABLES itab_vinc STRUCTURE itab_zycbt005

              USING      value(p_conta)

                         value(p_budat)

                         value(p_kursf)

                         value(p_agkoa)

                         value(p_belnr_ref)

                         value(p_budat_ref)

                         value(p_texto)

                         value(p_agums)

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

                         value(p_bukrs)

                         value(p_waers)

                         value(p_j_1bbranch)

* << Fim da inclusão

              CHANGING   p_belnr.

  itab_zycbe033-tcode  = 'F-30'.

  itab_zycbe033-cpochv = itab_vinc-nrinvoic.

  itab_zycbe033-tabela = 'ZYCBT005'.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = itab_zycbe033-tabela.

  PERFORM verify_null_field USING p_budat

                                  'BUDAT'

...

 

...

            itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.

          ELSEIF itab_zyglt321-cpocb IS INITIAL AND

                 NOT itab_zyglt321-descr IS INITIAL.

            itab_zycbe033-d_zuonr = itab_zyglt321-descr.

          ENDIF.

          itab_zycbe033-c_zuonr = itab_zycbe033-d_zuonr.

        ENDIF.

    ENDCASE.

  ENDLOOP.

  itab_zycbe033-bktxt  = wa_zycbt007-bktxt.

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

  PERFORM verify_null_field USING itab_vinc-bukrs

* << Fim da exclusão

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

  PERFORM verify_null_field USING p_bukrs

* << Fim da inclusão

                                  'BUKRS'

                                  text-004.

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

  itab_zycbe033-bukrs  = itab_vinc-bukrs.

  PERFORM verify_null_field USING itab_vinc-waers

* << Fim da exclusão

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

  itab_zycbe033-bukrs  = p_bukrs.

  PERFORM verify_null_field USING p_waers

* << Fim da inclusão

                                  'WAERS'

                                  text-005.

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

  itab_zycbe033-waers  = itab_vinc-waers.

* << Fim da exclusão

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

  itab_zycbe033-waers  = p_waers.

* << Fim da inclusão

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

...

 

...

     NOT p_agums IS INITIAL.

    itab_zycbe033-newbs = '19'.

    itab_zycbe033-agums = p_agums.

  ENDIF.

  itab_zycbe033-belnr   = p_belnr_ref.

  itab_zycbe033-dtdocto = p_budat_ref.

  IF /pws/zycbe001-tpcontr(1) NE 'D'.

    itab_zycbe033-d_zuonr = itab_vinc-nrinvoic.

    itab_zycbe033-c_zuonr = itab_vinc-nrinvoic.

  ENDIF.

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

  IF NOT /pws/zycbe005-j_1bbranch IS INITIAL.

    PERFORM verifica_pais_filial USING /pws/zycbe005-bukrs

                                       /pws/zycbe005-j_1bbranch.

    itab_zycbe033-brnch = /pws/zycbe005-j_1bbranch.

* << Fim da exclusão

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

  IF NOT p_j_1bbranch IS INITIAL.

    PERFORM verifica_pais_filial USING p_bukrs

                                       p_j_1bbranch.

    itab_zycbe033-brnch = p_j_1bbranch.

* << Fim da inclusão

  ELSE.

    PERFORM local_negocio.

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

    PERFORM verifica_pais_filial USING /pws/zycbe005-bukrs

* << Fim da exclusão

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

    PERFORM verifica_pais_filial USING p_bukrs

* << Fim da inclusão

                                       wa_t001w-j_1bbranch.

    itab_zycbe033-brnch = wa_t001w-j_1bbranch.

...

 

...

      v_kursf = itab_zycbe033-kursf.

      PERFORM clearing TABLES itab_vinc

                       USING v_kunnr

                             itab_vinc-dtvincul

                             v_kursf

                             'D'

                             v_belnr2

                             v_budat2

                             text-296

                             ' '

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

                             itab_vinc-bukrs

                             itab_vinc-waers

                             /pws/zycbe005-j_1bbranch

* << Fim da inclusão

                    CHANGING v_belnr.

      IF sy-subrc NE 0.

        v_subrc = 4.

        v_erro_estorno = 'X'.

        EXIT.

      ENDIF.

      DELETE FROM /pws/zycbt084

            WHERE nrseqc   = itab_vinc-nrseqc AND

                  nrparc   = itab_vinc-nrparc AND

                  dtincl   = itab_vinc-dtincl AND

...

 

...

      IF itab_zycbt209-koart NE 'D'.

        PERFORM clearing TABLES itab_vinc

                         USING  itab_trans-hkont

                                itab_vinc-dtvincul

                                v_kursf

                                itab_trans-koart

                                v_belnr2

                                v_budat2

                                text-249

                                itab_zycbt209-umskz

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

                                itab_vinc-bukrs

                                itab_vinc-waers

                                /pws/zycbe005-j_1bbranch

* << Fim da inclusão

                      CHANGING  v_belnr.

      ELSE.

        PERFORM clearing TABLES itab_vinc

                         USING  itab_zycbt209-hkont

                                itab_vinc-dtvincul

                                v_kursf

                                itab_zycbt209-koart

                                v_belnr2

                                v_budat2

                                text-249

                                itab_zycbt209-umskz

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

                                itab_vinc-bukrs

                                itab_vinc-waers

                                /pws/zycbe005-j_1bbranch

* << Fim da inclusão

                       CHANGING v_belnr.

      ENDIF.

      IF sy-subrc NE 0.

        v_subrc = 4.

        v_erro_estorno = 'X'.

        EXIT.

      ENDIF.

      itab_zycbt209-belnr2  = v_belnr.

      itab_zycbt209-dtbelnr = itab_vinc-dtvincul.

      itab_zycbt209-saldo   = itab_zycbt209-saldo + itab_trans-wrbtr.

...

 

...

        APPEND itab_zycbt036.

        MODIFY itab_zycbt221.

      ENDLOOP.

    ENDIF.

    CLEAR itab_zycbt030-vbeln.

    PERFORM verifica_data2 USING /pws/zycbt089-tx_cl_ace_liq

                                 itab_vinc-dtvincul

                                 itab_vinc-nrinvoic.

    IF NOT v_databl IS INITIAL.

      PERFORM define_cambio USING v_databl

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

                                  itab_vinc-waers

* << Fim da exclusão

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

                                  /pws/zycbe001-waers

* << Fim da inclusão

                                  wa_zycbt007-waersb

                                  itab_zycbe033-kursf.

    ENDIF.

    v_kursf = itab_zycbe033-kursf.

    IF /pws/zycbe001-tpcontr(01) EQ 'D'.

      v_agkoa = 'D'.

    ELSE.

      v_agkoa = 'S'.

    ENDIF.

    PERFORM clearing TABLES itab_vinc

                     USING v_saknr_ace

                           itab_vinc-dtvincul

                           v_kursf

                           v_agkoa

                           v_belnr

                           v_dtlanc

                           text-302

                           wa_zycbt011-agums

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

                           /pws/zycbe001-bukrs

                           /pws/zycbe001-waers

                           /pws/zycbe001-j_1bbranch

* << Fim da inclusão

                  CHANGING v_belnr.

    IF sy-subrc NE 0.

      v_subrc = 4.

      v_erro_estorno = 'X'.

      EXIT.

    ENDIF.

    itab_vinc-belnr   = v_belnr.

    itab_vinc-dtbelnr = itab_vinc-dtvincul.

    itab_vinc-slpagar = itab_vinc-slpagar -

                                itab_vinc-vldif.

...

 

...

      APPEND itab_erro.

    ENDLOOP.

    v_subrc = 4.

    v_erro_estorno = 'X'.

  ENDIF.

  sy-subrc = v_subrc.

ENDFORM.

FORM seleciona_paga_documento USING    p_flag.

  PERFORM seleciona_zycbt030_b.

  PERFORM seleciona_zycbt045.

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

  IF /pws/zycbe001-tpcontr(1) NE 'C'.

* << Fim da inclusão

  PERFORM lancamento_provisao_dp USING p_flag.

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

  ELSE.

    PERFORM fill_date1_f30_cp.

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM lancamento_provisao_dp USING p_flag.

  DATA: v_docto LIKE /pws/zycbt030-belnr,

        v_subrc LIKE sy-subrc,

...

 

...

        IF /pws/zycbe001-tpcontr(1) = 'D'.

          itab_zycbe033-c_zuonr = itab_zycbe033-d_zuonr.

        ENDIF.

      WHEN 'ZTERM'.

        IF itab_zyglt321-cpocb = 'ZTERM'.

          itab_zycbe033-zterm = itab_zycbt017-zterm.

        ENDIF.

    ENDCASE.

  ENDLOOP.

  itab_zycbe033-bktxt  = wa_zycbt007-bktxt.

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

  PERFORM verify_null_field USING itab_zycbt005-bukrs

* << Fim da exclusão

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

  PERFORM verify_null_field USING /pws/zycbe001-bukrs

* << Fim da inclusão

                                  'BUKRS'

                                  text-004.

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

  itab_zycbe033-bukrs  = itab_zycbt005-bukrs.

  PERFORM verify_null_field USING itab_zycbt005-waers

* << Fim da exclusão

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

  itab_zycbe033-bukrs  = /pws/zycbe001-bukrs.

  PERFORM verify_null_field USING /pws/zycbe001-waers

* << Fim da inclusão

                                  'WAERS'

                                  text-005.

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

  itab_zycbe033-waers  = itab_zycbt005-waers.

* << Fim da exclusão

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

  itab_zycbe033-waers  = /pws/zycbe001-waers.

* << Fim da inclusão

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

...

 

...

    itab_zycbe033-d_gsber = /pws/zycbe001-gsber.

  ELSE.

    itab_zycbe033-d_gsber = itab_zycbt005-gsberf.

  ENDIF.

  itab_zycbe033-c_gsber = itab_zycbe033-d_gsber.

  PERFORM verifica_data2 USING /pws/zycbt089-tx_desm_ace

                               itab_zycbt005-dtvincul

                               itab_zycbt005-nrinvoic.

  IF NOT v_databl IS INITIAL.

    PERFORM define_cambio USING v_databl

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

                                itab_zycbt005-waers

* << Fim da exclusão

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

                                /pws/zycbe001-waers

* << Fim da inclusão

                                wa_zycbt007-waersb

                                itab_zycbe033-kursf.

  ENDIF.

  CLEAR itab_zycbt012.

  IF itab_zycbt005-tpcontr(01) = 'C'.

    CONCATENATE '003' /pws/zycbe001-tpcontr INTO v_codeven.

  ELSEIF itab_zycbt005-tpcontr(01) = 'D'.

    CONCATENATE '002' /pws/zycbe001-tpcontr INTO v_codeven.

  ENDIF.

  IF v_nrdias > 360.

...

 

...

                                        chlanc   = 'C'

                                        tpcodaux = 'G'

                                        codaux   = ''

                                        codaux2  = ''.

    ENDIF.

  ELSEIF itab_zycbt005-tpcontr(01) = 'C'.

    CONCATENATE itab_zycbt005-tpcontr(01) v_prazo

        INTO v_codaux1 SEPARATED BY space.

    CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         EXPORTING

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

              bukrs           = itab_zycbt005-bukrs

* << Fim da exclusão

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

              bukrs           = /pws/zycbe001-bukrs

* << Fim da inclusão

              ktosl           = 'CPT'

              codaux1         = v_codaux1

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

  ENDIF.

  CLEAR v_vinc_tot.

...

 

...

          WHEN 'O'.

            v_data = /pws/zycbe001-dtcontr.

          WHEN 'D'.

            v_data = /pws/zycbe001-dtdesem.

          WHEN OTHERS.

            v_data = /pws/zycbe001-dtcred.

        ENDCASE.

        CLEAR v_year.

        CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

             EXPORTING

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

                  v_bukrs                = itab_zycbt005-bukrs

* << Fim da exclusão

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

                  v_bukrs                = /pws/zycbe001-bukrs

* << Fim da inclusão

                  v_date                 = v_data

             IMPORTING

                  v_year                 = v_year

             EXCEPTIONS

                  variante_de_exercicio  = 1

                  data_nao_encontrada    = 2

                  empresa_nao_encontrada = 3

                  period_in_not_valid    = 4

                  period_not_assigned    = 5

                  version_undefined      = 6

                  OTHERS                 = 7.

        SELECT wrbtr shkzg

               FROM bseg

               INTO (v_wrbtr1, v_shkzg)

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

               WHERE belnr = /pws/zycbe001-belnr       AND

                     bukrs = itab_zycbt005-bukrs    AND

* << Fim da exclusão

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

               WHERE belnr = /pws/zycbe001-belnr    AND

                     bukrs = /pws/zycbe001-bukrs    AND

* << Fim da inclusão

                     gjahr = v_year AND

                     hkont = itab_zycbe033-d_newko  AND

                     augbl = '          '.

          IF v_shkzg EQ 'H'.

            v_wrbtr = v_wrbtr + v_wrbtr1.

          ELSE.

            v_wrbtr = v_wrbtr - v_wrbtr1.

          ENDIF.

        ENDSELECT.

      ELSE.

...

 

...

          IF /pws/zycbe001-fdtlanc = 'C'.

            /pws/zycbe001-dtvincul = /pws/zycbe001-dtcred.

          ELSEIF /pws/zycbe001-fdtlanc = 'D'.

            /pws/zycbe001-dtvincul = /pws/zycbe001-dtdesem.

          ELSEIF /pws/zycbe001-fdtlanc = 'O'.

            /pws/zycbe001-dtvincul = /pws/zycbe001-dtcontr.

          ENDIF.

        ENDIF.

        CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

             EXPORTING

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

                  v_bukrs                = itab_zycbt005-bukrs

* << Fim da exclusão

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

                  v_bukrs                = /pws/zycbe001-bukrs

* << Fim da inclusão

                  v_date                 = /pws/zycbe001-dtvincul

             IMPORTING

                  v_year                 = v_year

             EXCEPTIONS

                  variante_de_exercicio  = 1

                  data_nao_encontrada    = 2

                  empresa_nao_encontrada = 3

                  period_in_not_valid    = 4

                  period_not_assigned    = 5

                  version_undefined      = 6

                  OTHERS                 = 7.

        SELECT wrbtr shkzg

               FROM bseg

               INTO (v_wrbtr1, v_shkzg)

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

               WHERE belnr = /pws/zycbe001-belnr2      AND

                     bukrs = itab_zycbt005-bukrs    AND

* << Fim da exclusão

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

               WHERE belnr = /pws/zycbe001-belnr2   AND

                     bukrs = /pws/zycbe001-bukrs    AND

* << Fim da inclusão

                     gjahr = v_year AND

                     hkont = itab_zycbe033-d_newko  AND

                     augbl = '          '.

          IF v_shkzg EQ 'H'.

            v_wrbtr = v_wrbtr + v_wrbtr1.

          ELSE.

            v_wrbtr = v_wrbtr - v_wrbtr1.

          ENDIF.

        ENDSELECT.

      ENDIF.

    ELSE.

      CLEAR v_year.

      CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

           EXPORTING

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

                v_bukrs                = itab_zycbt005-bukrs

* << Fim da exclusão

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

                v_bukrs                = /pws/zycbe001-bukrs

* << Fim da inclusão

                v_date                 = /pws/zycbt005-dtvincul

           IMPORTING

                v_year                 = v_year

           EXCEPTIONS

                variante_de_exercicio  = 1

                data_nao_encontrada    = 2

                empresa_nao_encontrada = 3

                period_in_not_valid    = 4

                period_not_assigned    = 5

                version_undefined      = 6

                OTHERS                 = 7.

      SELECT wrbtr shkzg

             FROM bseg

             INTO (v_wrbtr1, v_shkzg)

             WHERE belnr = itab_zycbt005-belnr     AND

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

                   bukrs = itab_zycbt005-bukrs      AND

* << Fim da exclusão

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

                   bukrs = /pws/zycbe001-bukrs      AND

* << Fim da inclusão

                   gjahr = v_year AND

                   hkont = itab_zycbe033-d_newko    AND

                   augbl = '          '.

        IF v_shkzg EQ 'H'.

          v_wrbtr = v_wrbtr + v_wrbtr1.

        ELSE.

          v_wrbtr = v_wrbtr - v_wrbtr1.

        ENDIF.

      ENDSELECT.

    ENDIF.

...

 

...

          itab_zycbe033-dtdocto = /pws/zycbe001-dtvincul.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

  CLEAR v_vinc_tot.

  IF /pws/zycbe001-tpcontr+0(1) = 'D'.

    CLEAR v_year.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

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

              v_bukrs                = itab_zycbt005-bukrs

* << Fim da exclusão

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

              v_bukrs                = /pws/zycbe001-bukrs

* << Fim da inclusão

              v_date                 = itab_zycbt030-budat

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    SELECT SINGLE wrbtr

           FROM bsid

           INTO v_wrbtr2

           WHERE belnr  = itab_zycbe033-belnr

           AND   gjahr  = v_year

           AND   kunnr  = itab_zycbe033-d_newko

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

           AND   bukrs  = itab_zycbt005-bukrs

* << Fim da exclusão

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

           AND   bukrs  = /pws/zycbe001-bukrs

* << Fim da inclusão

           AND   umskz  = itab_zycbe033-umskz

           AND   shkzg  = 'H'.

    IF v_wrbtr2 EQ itab_zycbt005-vlme_p.

      v_vinc_tot = 'X'.

    ENDIF.

  ENDIF.

  IF /pws/zycbe001-tpcontr(01) NE 'C' AND

     itab_zycbt005-vlme_p NE itab_zycbt005-vlvinc .

    IF NOT /pws/zycbe005-j_1bbranch IS INITIAL.

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

      PERFORM verifica_pais_filial USING itab_zycbt005-bukrs

                                         itab_zycbt005-j_1bbranch.

* << Fim da exclusão

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

      PERFORM verifica_pais_filial USING /pws/zycbe001-bukrs

                                         /pws/zycbe001-j_1bbranch.

* << Fim da inclusão

      itab_zycbe033-brnch = itab_zycbt005-j_1bbranch.

    ELSE.

      PERFORM local_negocio.

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

      PERFORM verifica_pais_filial USING itab_zycbt005-bukrs

* << Fim da exclusão

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

      PERFORM verifica_pais_filial USING /pws/zycbe001-bukrs

* << Fim da inclusão

                                         wa_t001w-j_1bbranch.

      itab_zycbe033-brnch = wa_t001w-j_1bbranch.

    ENDIF.

  ELSE.

    CLEAR itab_zycbe033-brnch.

  ENDIF.

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = 'ZYCBT005'.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

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

  itab_zycbt036-residuo = itab_zycbt005-vlme_p.

* << Fim da exclusão

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

  itab_zycbt036-residuo = /pws/zycbe001-vlme.

* << Fim da inclusão

  CONCATENATE text-376 itab_zycbt005-nrinvoic

              INTO itab_zycbt036-zuonr

              SEPARATED BY space.

  IF itab_zycbt005-tpcontr(1) CA 'CE'.

    itab_zycbt036-belnr  = itab_zycbe033-belnr.

    CLEAR v_year.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

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

              v_bukrs                = itab_zycbt005-bukrs

* << Fim da exclusão

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

              v_bukrs                = /pws/zycbe001-bukrs

* << Fim da inclusão

              v_date                 = itab_zycbe033-dtdocto

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    SELECT SINGLE * FROM bkpf

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

         WHERE bukrs = itab_zycbt005-bukrs

* << Fim da exclusão

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

         WHERE bukrs = /pws/zycbe001-bukrs

* << Fim da inclusão

           AND belnr = itab_zycbt036-belnr

           AND gjahr = v_year.

    itab_zycbt036-dtdocto = bkpf-budat.

  ELSE.

    IF NOT itab_zycbt005-belnr IS INITIAL.

      itab_zycbt036-belnr   = itab_zycbt005-belnr.

      v_data = itab_zycbt005-dtvincul.

    ELSE.

      IF /pws/zycbe001-belnr2 IS INITIAL.

        CASE /pws/zycbe001-fdtlanc.

...

 

...

        ENDCASE.

        itab_zycbt036-belnr   = /pws/zycbe001-belnr.

      ELSE.

        itab_zycbt036-belnr   = /pws/zycbe001-belnr2.

        v_data = /pws/zycbe001-dtvincul.

      ENDIF.

    ENDIF.

    CLEAR v_year.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

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

              v_bukrs                = itab_zycbt005-bukrs

* << Fim da exclusão

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

              v_bukrs                = /pws/zycbe001-bukrs

* << Fim da inclusão

              v_date                 = v_data

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    SELECT SINGLE * FROM bkpf

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

         WHERE bukrs = itab_zycbt005-bukrs

* << Fim da exclusão

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

         WHERE bukrs = /pws/zycbe001-bukrs

* << Fim da inclusão

           AND belnr = itab_zycbt036-belnr

           AND gjahr = v_year.

    itab_zycbt036-dtdocto = bkpf-budat.

  ENDIF.

  APPEND itab_zycbt036.

  IF itab_zycbt005-slpagar IS INITIAL AND

     itab_zycbt005-tpcontr(1) NA 'CE'.

    itab_zycbe033-flag_nc = 'X'.

  ENDIF.

  IF itab_zycbt005-tpcontr(1) CA 'CE'    AND

...

 

...

      itab_partidas-v_sinal = '+'.

    ELSE.

      CONCATENATE text-375

                  itab_zycbt005-nrinvoic

                  INTO itab_partidas-d_zuonr

                  SEPARATED BY space.

      itab_partidas-v_sinal = '-'.

    ENDIF.

    APPEND itab_partidas.

  ENDLOOP.

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

  IF sy-subrc                  EQ 0 AND

* << Fim da exclusão

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

  IF ( sy-subrc                  EQ 0 AND

* << Fim da inclusão

     itab_zycbt030-vlsltrans   GT 0 AND

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

     NOT itab_zycbt030-belnr_d IS INITIAL.

* << Fim da exclusão

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

       NOT itab_zycbt030-belnr_d IS INITIAL

       AND /pws/zycbt089-tp_liq_and NE 'Z' ) OR

     ( /pws/zycbe001-waers NE itab_zycbt005-waers ).

* << Fim da inclusão

    v_res_liq_and = 'X'.

...

 

...

  ENDIF.

  MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.

  COMMIT WORK.

  MOVE wa_zycbt005 TO itab_zycbt005.

  MODIFY itab_zycbt005.

ENDFORM.

FORM abre_docto_cliente_2.

  PERFORM encontra_documento.

  MODIFY itab_zycbt030.

  PERFORM fill_date6_f30_cliente.

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

  IF NOT v_desmembramento IS INITIAL.

    EXIT.

  ENDIF.

* << Fim da exclusão

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034 IS INITIAL.

    CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_P'

         EXPORTING

              v_modo          = v_modo_bi

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

              v_vinc_tot      = 'X'

* << Fim da inclusão

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

              t_zycbt036      = itab_zycbt036

              t_doctos        = itab_doctos

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 2.

    IF sy-subrc = 0.

...

 

...

               bukrs = wa_zycbt005-bukrs AND

               kunnr = wa_zycbt005-kunnr.

  IF sy-subrc EQ 0.

    SELECT SINGLE budat

           FROM bkpf

           INTO itab_zycbe033-dtdocto

           WHERE belnr = itab_zycbt030-belnr AND

                 bukrs = wa_zycbt005-bukrs AND

                 gjahr = v_gjahr.

  ENDIF.

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

  IF v_wrbtr EQ itab_zycbe033-wrbtr.

    itab_zycbt030-belnr_d  = itab_zycbe033-belnr.

    itab_zycbt030-status_d = 'X'.

    MODIFY itab_zycbt030.

    v_desmembramento = 'X'.

    EXIT.

  ENDIF.

* << Fim da exclusão

  PERFORM verifica_prorrogacao.

  itab_zycbe033-zbd1t = v_zbd1t.

  IF itab_zycbe033-wrbtr GT 0.

    APPEND itab_zycbe033.

  ENDIF.

  itab_zycbt036-tcode   = itab_zycbe033-tcode.

  itab_zycbt036-tabela  = itab_zycbe033-tabela.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  itab_zycbt036-residuo = itab_zycbe033-wrbtr.

  itab_zycbt036-zuonr   = itab_zycbe033-d_zuonr.

...

 

...

  itab_doctos-tcode   = itab_zycbe033-tcode.

  itab_doctos-tabela  = itab_zycbe033-tabela.

  itab_doctos-cpochv  = itab_zycbe033-cpochv.

  itab_doctos-belnr   = itab_zycbe033-belnr.

  itab_doctos-dtdocto = itab_zycbe033-dtdocto.

  APPEND itab_doctos.

ENDFORM.

FORM abre_docto_ace_2.

  PERFORM clear_date_batch.

  PERFORM fill_date6_f30_cp.

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

  IF NOT v_desmembramento IS INITIAL.

    EXIT.

  ENDIF.

  IF /pws/zycbe001-tpcontr(01) = 'C'.

    v_desmembramento = 'X'.

  ENDIF.

* << Fim da exclusão

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034 IS INITIAL.

    CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_P'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

...

 

...

  ENDIF.

  MOVE itab_zycbt032[] TO itab_zycbt032a[].

  PERFORM clear_date_batch.

  sy-subrc = v_subrc.

ENDFORM.

FORM lancamento_liquida_2.

  DATA: v_nrdias TYPE i,

        v_vlmel  LIKE /pws/zycbt006-vlme,

        v_prazo.

  v_vlmel = itab_zycbt005-vlme_p.

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

  IF v_nrdias > 360.

    v_prazo = 'L'.

  ELSE.

    v_prazo = 'S'.

  ENDIF.

* << Fim da exclusão

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

  PERFORM clear_date_batch.

* << Fim da inclusão

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

  READ TABLE itab_zycbt012 WITH KEY codeven  = v_codeven

                                    codmod   = 'E'

                                    chlanc   = 'D'

                                    tpcodaux = 'G'

                                    codaux   = ''

                                    codaux2  = v_prazo.

* << Fim da exclusão

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

  PERFORM busca_conta.

* << Fim da inclusão

  PERFORM encontra_documento.

  PERFORM fill_date6_f30_liquid.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    IF /pws/zycbe001-tpcontr(01) = 'C'.

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

      CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_28_A'

* << Fim da exclusão

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

      CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_W'

* << Fim da inclusão

           EXPORTING

                v_modo          = v_modo_bi

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

                v_vinc_tot      = 'X'

* << Fim da inclusão

           TABLES

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

                t_zycbt032      = itab_zycbt032

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

                t_zycbt036      = itab_zycbt036

                t_doctos        = itab_doctos

* << Fim da exclusão

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

                t_partidas      = itab_partidas

* << Fim da inclusão

           EXCEPTIONS

                campo_em_branco = 1

                OTHERS          = 2.

    ELSEIF /pws/zycbe001-tpcontr(01) = 'D'.

      CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_U'

           EXPORTING

                v_modo          = v_modo_bi

           TABLES

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

...

 

...

                OTHERS          = 2.

    ENDIF.

    IF sy-subrc = 0.

      CONCATENATE wa_zycbt005-nrseqc   wa_zycbt005-tpdesp

                  wa_zycbt005-nrparc   wa_zycbt005-dtincl

                  wa_zycbt005-nrinvoic wa_zycbt005-gsberf

                  wa_zycbt005-nrparcf

                  wa_zycbt005-dtvincul wa_zycbt005-dtvencto

                  itab_zycbt030-budat  itab_zycbt030-vbeln

                  itab_zycbt030-belnr  INTO v_cpochv.

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

      IF /pws/zycbe001-tpcontr(01) = 'C'.

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

                                          tabela = 'ZYCBT006'

                                          cpochv = v_cpochv

                                          tpmsg  = 'S'.

      ELSEIF /pws/zycbe001-tpcontr(01) = 'D'.

* << Fim da exclusão

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

                                          tabela = 'ZYCBT006'

                                          cpochv = v_cpochv

                                          tpmsg  = 'S'.

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

      ENDIF.

* << Fim da exclusão

      IF sy-subrc = 0.

        wa_zycbt005-belnr_f28 = itab_zycbt032-belnr.

        v_data_f_28  = itab_zycbe033-budat.

...

 

...

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

    ENDIF.

  ENDIF.

  MOVE itab_zycbt032[] TO itab_zycbt032a[].

  PERFORM clear_date_batch.

  sy-subrc = v_subrc.

ENDFORM.

FORM fill_date6_f30_cp.

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

  DATA: v_cod_param LIKE /pws/zyglt316-codaux1.

* << Fim da inclusão

  READ TABLE itab_zycbt005

        WITH KEY nrinvoic = itab_zycbt006-nrinvoic

                 gsberf   = itab_zycbt006-gsberf.

  CONCATENATE wa_zycbt005-nrseqc   wa_zycbt005-tpdesp

              wa_zycbt005-nrparc   wa_zycbt005-dtincl

              wa_zycbt005-nrinvoic wa_zycbt005-gsberf

              wa_zycbt005-nrparcf

              wa_zycbt005-dtvincul wa_zycbt005-dtvencto

              itab_zycbt030-budat  itab_zycbt030-vbeln

              itab_zycbt030-belnr  INTO v_cpochv.

...

 

...

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-d_zuonr = itab_zyglt321-descr.

        ENDIF.

      WHEN 'ZTERM'.

        IF itab_zyglt321-cpocb = 'ZTERM'.

          itab_zycbe033-zterm = itab_zycbt017-zterm.

        ENDIF.

    ENDCASE.

  ENDLOOP.

  IF itab_zycbt005-tpcontr(01) = 'C'.

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

    CLEAR itab_zycbt012.

    READ TABLE itab_zycbt012 WITH KEY codeven  = v_codeven

                                    codmod   = 'E'

                                    chlanc   = 'D'

                                    tpcodaux = 'G'

                                    codaux   = ''

                                    codaux2  = 'C'.

* << Fim da exclusão

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

    v_nrdias = /pws/zycbe006-dtpagto - /pws/zycbe005-dtvincul.

    IF v_nrdias > 360.

      v_prazo = 'L'.

    ELSE.

      v_prazo = 'S'.

    ENDIF.

    IF /pws/zycbe001-tpcontr+0(01) EQ 'E' OR

       /pws/zycbe001-tpcontr+0(01) EQ 'C'.

      CONCATENATE /pws/zycbe001-tpcontr v_prazo

          INTO v_cod_param SEPARATED BY space .

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe001-bukrs

                ktosl           = 'CPT'

                codaux1         = v_cod_param

           TABLES

                account         = itab_zyglt316

           EXCEPTIONS

                key_not_found   = 1

                rules_not_found = 2

                OTHERS          = 3.

      IF sy-subrc EQ 0.

        READ TABLE itab_zyglt316 INDEX 1.

      ENDIF.

    ELSE.

      CONCATENATE 'E' v_prazo INTO v_cod_param SEPARATED BY space .

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe001-bukrs

                ktosl           = 'CPT'

                codaux1         = v_cod_param

                codaux2         = /pws/zycbe001-tpcontr

           TABLES

                account         = itab_zyglt316

           EXCEPTIONS

                key_not_found   = 1

                rules_not_found = 2

                OTHERS          = 3.

      IF sy-subrc EQ 0.

        READ TABLE itab_zyglt316 INDEX 1.

      ENDIF.

    ENDIF.

    itab_zycbe033-agkon   = itab_zyglt316-konth.

    itab_zycbe033-d_newko = itab_zyglt316-konth.

* << Fim da inclusão

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

    itab_zycbe033-d_newko = itab_zycbt012-saknr1.

* << Fim da exclusão

    itab_zycbe033-newbs   = '50'.

    CLEAR itab_zycbe033-agums.

  ELSEIF itab_zycbt005-tpcontr(01) = 'D'.

    itab_zycbe033-d_newko = /pws/zycbe001-kunnr.

    MOVE wa_zycbt011-agums TO itab_zycbe033-agums.

    MOVE wa_zycbt011-agums TO itab_zycbe033-umskz.

    itab_zycbe033-newbs = '19'.

  ENDIF.

  itab_zycbe033-wrbtr   = itab_zycbt005-vlme_p * itab_zycbt005-parid..

  itab_zycbe033-c_gsber = wa_zycbt005-gsberf.

...

 

...

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  SELECT SINGLE * FROM bkpf

       WHERE bukrs = itab_zycbt006-bukrs

         AND belnr = itab_zycbt036-belnr

         AND gjahr = v_year.

  itab_zycbt036-dtdocto = bkpf-budat.

  APPEND itab_zycbt036.

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

  IF v_desmembramento IS INITIAL.

* << Fim da exclusão

    APPEND itab_zycbe033.

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

  ELSE.

    wa_zycbt005-belnr_d = itab_zycbe033-belnr.

    v_data_desm_ace       = itab_zycbe033-dtdocto.

    MODIFY itab_zycbt006.

    EXIT.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM fill_date6_f30_liquid.

  CONCATENATE wa_zycbt005-nrseqc   wa_zycbt005-tpdesp

              wa_zycbt005-nrparc   wa_zycbt005-dtincl

              wa_zycbt005-nrinvoic wa_zycbt005-gsberf

              wa_zycbt005-nrparcf

              wa_zycbt005-dtvincul wa_zycbt005-dtvencto

              itab_zycbt030-budat  itab_zycbt030-vbeln

              itab_zycbt030-belnr  INTO v_cpochv.

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

  IF /pws/zycbe001-tpcontr(01) = 'C'.

    itab_zycbe033-tcode  = 'F-28'.

  ELSEIF /pws/zycbe001-tpcontr(01) = 'D'.

* << Fim da exclusão

    itab_zycbe033-tcode  = 'F-30'.

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

  ENDIF.

* << Fim da exclusão

  itab_zycbe033-tabela = 'ZYCBT006'.

  itab_zycbe033-cpochv = v_cpochv.

  PERFORM verify_null_field USING wa_zycbt005-dtvincul

                                  'DTPAGTO'

                                  text-003.

  itab_zycbe033-budat  = wa_zycbt005-dtvincul.

...

 

...

                                  text-004.

  itab_zycbe033-bukrs  = wa_zycbt005-bukrs.

  PERFORM verify_null_field USING wa_zycbt005-waers

             'WAERS'

                                  text-005.

  itab_zycbe033-waers  = wa_zycbt005-waers.

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

                                  text-006.

  itab_zycbe033-blart  = wa_zycbt011-blart.

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

  CLEAR itab_zycbt012.

  READ TABLE itab_zycbt012 WITH KEY codeven  = v_codeven

                                    codmod   = 'E'

                                    chlanc   = 'D'

                                    tpcodaux = 'G'

                                    codaux   = ''

                                    codaux2  = 'C'.

  PERFORM verifica_data3.

* << Fim da exclusão

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

  PERFORM verifica_data2 USING  wa_zycbt007-dtliquid

                               itab_zycbe033-budat

                               wa_zycbt005-nrinvoic.

  IF NOT v_databl IS INITIAL.

* << Fim da inclusão

  PERFORM define_cambio USING v_databl

                              wa_zycbt005-waers

                              wa_zycbt007-waersb

                              itab_zycbe033-kursf.

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

  ENDIF.

* << Fim da inclusão

  PERFORM verify_null_field USING itab_zycbe033-kursf

                                  'KURSF'

                                  text-051.

  itab_zycbe033-c_gsber = wa_zycbt005-gsberf.

  itab_zycbe033-d_gsber = wa_zycbt005-gsberf.

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

  READ TABLE itab_zycbt209

       WITH KEY nrinvoic = wa_zycbt005-nrinvoic

                nrparcf  = wa_zycbt005-nrparcf

                gsberf   = wa_zycbt005-gsberf

                nrseqc   = wa_zycbt005-nrseqc.

  IF sy-subrc NE 0.

    READ TABLE itab_zycbt209

         WITH KEY nrinvoic = wa_zycbt005-nrinvoic

                  nrparcf  = wa_zycbt005-nrparcf

                  gsberf   = wa_zycbt005-gsberf.

    IF sy-subrc NE 0.

* << Fim da inclusão

  itab_zycbe033-agkon   = wa_zycbt005-kunnr.

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

      itab_zycbe033-agkoa   = 'D'.

    ELSE.

      itab_zycbe033-agkon   = itab_zycbt209-hkont.

      itab_zycbe033-umskz   = itab_zycbt209-umskz.

      itab_zycbe033-agkoa   = itab_zycbt209-koart.

    ENDIF.

  ELSE.

    itab_zycbe033-agkon   = itab_zycbt209-hkont.

    itab_zycbe033-umskz   = itab_zycbt209-umskz.

    itab_zycbe033-agkoa   = itab_zycbt209-koart.

  ENDIF.

* << Fim da inclusão

  IF itab_zycbt005-tpcontr(01) = 'C'.

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

    itab_zycbe033-d_newko = itab_zycbt012-saknr1.

* << Fim da exclusão

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

    itab_zycbe033-d_newko = itab_zyglt316-konts.

* << Fim da inclusão

    itab_zycbe033-newbs   = '40'.

  ELSEIF itab_zycbt005-tpcontr(01) = 'D'.

    itab_zycbe033-d_newko = /pws/zycbe001-kunnr.

    itab_zycbe033-agums  = wa_zycbt011-agums.

    itab_zycbe033-umskz  = wa_zycbt011-agums.

    itab_zycbe033-newbs = '09'.

  ENDIF.

  itab_zycbe033-agkoa   = 'D'.

  itab_zycbe033-awtyp   = '2'.

  itab_zycbe033-belnr   = itab_zycbt030-belnr_d.

  itab_zycbe033-zfbdt   = itab_zycbe033-budat.

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

  DELETE itab_zycbt209 WHERE belnr_d IS initial

                         AND nrinvoic = wa_zycbt005-nrinvoic

                         AND nrparcf  = wa_zycbt005-nrparcf

                         AND gsberf   = wa_zycbt005-gsberf.

  READ TABLE itab_zycbt209

           WITH KEY nrinvoic = wa_zycbt005-nrinvoic

                    nrparcf  = wa_zycbt005-nrparcf

                    gsberf   = wa_zycbt005-gsberf

                    nrseqc   = wa_zycbt005-nrseqc.

  IF sy-subrc NE 0.

    READ TABLE itab_zycbt209

             WITH KEY nrinvoic = wa_zycbt005-nrinvoic

                      nrparcf  = wa_zycbt005-nrparcf

                      gsberf   = wa_zycbt005-gsberf.

    IF sy-subrc NE 0.

      itab_zycbe033-belnr   = itab_zycbt030-belnr_d.

    ELSE.

      itab_zycbe033-belnr   = itab_zycbt209-belnr_d.

    ENDIF.

  ELSE.

    itab_zycbe033-belnr   = itab_zycbt209-belnr_d.

  ENDIF.

* << Fim da inclusão

  itab_zycbe033-wrbtr = itab_zycbt030-v_kwert.

  v_data = itab_zycbe033-budat(4).

  CLEAR v_year.

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = wa_zycbt005-bukrs

            v_date                 = v_data

       IMPORTING

            v_year                 = v_year

       EXCEPTIONS

...

 

...

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  SELECT SINGLE * FROM bkpf

     WHERE bukrs = wa_zycbt005-bukrs

       AND belnr = itab_zycbt030-belnr_d

       AND gjahr = v_year.

  itab_zycbe033-dtdocto = bkpf-budat.

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

  CONCATENATE text-375 itab_zycbt006-nrinvoic

              INTO itab_zycbe033-d_zuonr

* << Fim da exclusão

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

  CONCATENATE text-375 wa_zycbt005-nrinvoic

              INTO itab_zycbe033-c_zuonr

              SEPARATED BY space.

  LOOP AT itab_zycbt030 WHERE nrinvoic = wa_zycbt005-nrinvoic AND

                              gsberf   = wa_zycbt005-gsberf   AND

                              nrparcf  = wa_zycbt005-nrparcf.

    CHECK NOT itab_zycbt030-belnr_d IS INITIAL.

    itab_partidas-tcode   = itab_zycbe033-tcode.

    itab_partidas-tabela  = itab_zycbe033-tabela.

    itab_partidas-cpochv  = itab_zycbe033-cpochv.

    itab_partidas-belnr   = itab_zycbt030-belnr_d.

    itab_partidas-agkon   = itab_zycbt017-kunag.

    itab_partidas-agkoa   = 'D'.

    itab_partidas-agums   = space.

    itab_partidas-bukrs   = wa_zycbt005-bukrs.

    itab_partidas-shkzg   = 'H'.

    itab_partidas-v_sinal = '+'.

    itab_partidas-dtdocto = itab_zycbt006-dtpagto.

    CONCATENATE 'Des.'

                wa_zycbt005-nrinvoic

                INTO itab_partidas-d_zuonr

* << Fim da inclusão

              SEPARATED BY space.

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

    itab_partidas-v_sinal = '-'.

    APPEND itab_partidas.

  ENDLOOP.

  IF NOT itab_partidas[] IS INITIAL.

    itab_zycbe033-agkon   = itab_zycbt017-kunag.

    CLEAR itab_zycbe033-umskz.

    itab_zycbe033-agkoa   = 'D'.

  ENDIF.

* << Fim da inclusão

  APPEND itab_zycbe033.

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

  LOOP AT itab_zycbt209 WHERE nrinvoic = wa_zycbt005-nrinvoic AND

                              gsberf   = wa_zycbt005-gsberf   AND

                              nrparcf  = wa_zycbt005-nrparcf  AND

                              baixa    = 'X'.

    itab_partidas-tcode   = itab_zycbe033-tcode.

    itab_partidas-tabela  = itab_zycbe033-tabela.

    itab_partidas-cpochv  = itab_zycbe033-cpochv.

    itab_partidas-belnr   = itab_zycbt209-belnr_d.

    itab_partidas-dtdocto = itab_zycbt209-budat_d.

    itab_partidas-agkon   = itab_zycbt209-hkont.

    itab_partidas-agkoa   = itab_zycbt209-koart.

    itab_partidas-agums   = itab_zycbt209-umskz.

    itab_partidas-bukrs   = itab_zycbt209-bukrs.

    itab_partidas-shkzg   = 'H'.

* << Fim da inclusão

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

  itab_zycbt036-tcode   = itab_zycbe033-tcode.

  itab_zycbt036-tabela  = itab_zycbe033-tabela.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  itab_zycbt036-residuo = itab_zycbe033-wrbtr.

  CONCATENATE text-376 wa_zycbt005-nrinvoic

              INTO itab_zycbt036-zuonr

* << Fim da exclusão

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

    CONCATENATE 'Des.'

                wa_zycbt005-nrinvoic

                INTO itab_partidas-d_zuonr

* << Fim da inclusão

              SEPARATED BY space.

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

  APPEND itab_zycbt036.

* << Fim da exclusão

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

    itab_partidas-v_sinal = '-'.

    APPEND itab_partidas.

* << Fim da inclusão

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

  itab_doctos-tcode   = itab_zycbe033-tcode.

  itab_doctos-tabela  = itab_zycbe033-tabela.

  itab_doctos-cpochv  = itab_zycbe033-cpochv.

  itab_doctos-belnr   = itab_zycbe033-belnr.

  itab_doctos-dtdocto = itab_zycbe033-dtdocto.

  APPEND itab_doctos.

* << Fim da exclusão

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

  ENDLOOP.

* << Fim da inclusão

ENDFORM.

FORM lancamento_clearing_2.

  DATA v_vltot.

  v_waersbrl = wa_zycbt007-waersb.

  PERFORM clearing_newko.

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = 'ZYCBT006'.

  itab_zycbt036-cpochv  = v_cpochv.

  itab_zycbt036-belnr   = wa_zycbt005-belnr_d.

  itab_zycbt036-dtdocto = v_data_desm_ace.

...

 

...

              campo_em_branco = 1

              periodo_fechado = 2

              OTHERS          = 3.

    IF sy-subrc = 0.

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

                                        tabela = 'ZYCBT006'

                                        cpochv = v_cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        wa_zycbt005-status = 'C'.

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

        /pws/zycbt084-nrseqc   = itab_zycbt006-nrseqc.

        /pws/zycbt084-tpdesp   = itab_zycbt006-tpdesp.

        /pws/zycbt084-nrparc   = itab_zycbt006-nrparc.

        /pws/zycbt084-dtincl   = itab_zycbt006-dtincl.

        /pws/zycbt084-nrinvoic = itab_zycbt006-nrinvoic.

        /pws/zycbt084-nrparcf  = itab_zycbt006-nrparcf.

        /pws/zycbt084-gsberf   = itab_zycbt006-gsberf.

        /pws/zycbt084-dtvincul = itab_zycbt006-dtvincul.

        /pws/zycbt084-dtvencto = itab_zycbt006-dtvencto.

        /pws/zycbt084-dtpagto  = itab_zycbt006-dtpagto.

        /pws/zycbt084-vbeln    = itab_zycbt030-vbeln.

        /pws/zycbt084-belnr    = itab_zycbt032-belnr.

        /pws/zycbt084-liq_and  = space.

        /pws/zycbt084-tdesmemb = 'A'.

        MODIFY /pws/zycbt084 FROM /pws/zycbt084.

        COMMIT WORK.

* << Fim da inclusão

        itab_contabil-docto    = itab_zycbt032-belnr.

        itab_contabil-dtdocto  = itab_zycbe033-budat.

        itab_contabil-bukrs    = itab_zycbt006-bukrs.

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

        itab_contabil-msg      = text-287.

* << Fim da exclusão

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

        itab_contabil-msg      = text-062.

* << Fim da inclusão

        APPEND itab_contabil.

...

 

...

    ENDIF.

  ENDIF.

  PERFORM clear_date_batch.

  CLEAR itab_zycbt036.

  REFRESH itab_zycbt036.

  sy-subrc = v_subrc.

ENDFORM.

FORM clearing_newko.

  PERFORM clear_date_batch.

  IF wa_zycbt005-tpcontr(01) = 'C'.

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

    itab_zycbe033-agkon  = itab_zycbt012-saknr1.

* << Fim da exclusão

    itab_zycbe033-koart  = 'S'.

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

    itab_zycbe033-agkoa  = 'S'.

    PERFORM get_parameters_002_cp USING '+'.

    itab_zycbe033-agkon  = itab_zyglt316-konts.

* << Fim da inclusão

  ELSEIF wa_zycbt005-tpcontr(01) = 'D'.

    itab_zycbe033-agkon  = wa_zycbt005-kunnr.

    itab_zycbe033-koart  = 'D'.

  ENDIF.

...

 

...

    CLEAR skb1.

    SELECT SINGLE xsalh FROM skb1

                 INTO skb1-xsalh

                 WHERE bukrs EQ wa_zycbt005-bukrs

                   AND saknr EQ lfb1-akont.

  ELSEIF wa_zycbt005-tpcontr(01) = 'C'.

    CLEAR skb1.

    SELECT SINGLE xsalh FROM skb1

                 INTO skb1-xsalh

                 WHERE bukrs EQ wa_zycbt005-bukrs

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

                   AND saknr EQ itab_zycbe033-agkon.

* << Fim da exclusão

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

                   AND saknr EQ itab_zycbe033-d_newko.

* << Fim da inclusão

  ENDIF.

  CLEAR t001a.

  SELECT SINGLE kurst FROM t001a

                      INTO t001a-kurst

                      WHERE bukrs EQ wa_zycbt005-bukrs.

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

  CLEAR t001.

  SELECT SINGLE xslta FROM t001

                      INTO t001-xslta

                      WHERE bukrs EQ itab_zycbt006-bukrs.

* << Fim da inclusão

  PERFORM converte_brl.

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

  IF NOT skb1-xsalh IS INITIAL.

* << Fim da exclusão

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

  IF NOT skb1-xsalh IS INITIAL

     or NOT t001-xslta IS INITIAL.

* << Fim da inclusão

    CLEAR bkpf.

    CLEAR v_year.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F09

 

FORM fill_date6_f30_2.

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

  DATA: v_nrdias_arb  TYPE i,

        v_prazo_arb,

        v_codaux_arb  LIKE /pws/zyglt316-codaux1.

* << Fim da inclusão

  CLEAR: v_data.

  itab_zycbe033-tcode  = 'F-30'.

  itab_zycbe033-tabela = 'ZYCBT006'.

  CONCATENATE wa_zycbt005-nrseqc   wa_zycbt005-tpdesp

              wa_zycbt005-nrparc   wa_zycbt005-dtincl

              wa_zycbt005-nrinvoic wa_zycbt005-gsberf

              wa_zycbt005-nrparcf

              wa_zycbt005-dtvincul wa_zycbt005-dtvencto

              itab_zycbt030-budat  itab_zycbt030-vbeln

              itab_zycbt030-belnr  INTO v_cpochv.

...

 

...

                                  text-004.

  itab_zycbe033-bukrs  = wa_zycbt005-bukrs.

  PERFORM verify_null_field USING wa_zycbt005-waers_c

                                  'WAERS'

                                  text-005.

  itab_zycbe033-waers  = wa_zycbt005-waers_c.

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

                                  text-006.

  itab_zycbe033-blart  = wa_zycbt011-blart.

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

  CLEAR itab_zycbt012.

  READ TABLE itab_zycbt012 WITH KEY codeven  = v_codeven

                                    codmod   = 'E'

                                    chlanc   = 'D'

                                    tpcodaux = 'G'

                                    codaux   = ''

                                    codaux2  = 'C'.

* << Fim da exclusão

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

  IF itab_zycbt005-tpcontr(01) = 'C'.

    itab_zycbe033-agkon   = itab_zyglt316-konts.

  ENDIF.

  IF /pws/zycbe001-waers NE itab_zycbt005-waers.

    v_nrdias_arb = /pws/zycbe006-dtpagto - /pws/zycbe005-dtvincul.

    IF v_nrdias_arb > 360.

      v_prazo_arb = 'L'.

    ELSE.

      v_prazo_arb = 'S'.

    ENDIF.

    IF /pws/zycbe001-tpcontr(01) EQ 'E'.

      CONCATENATE 'E' v_prazo_arb

        INTO v_codaux_arb SEPARATED BY space .

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe001-bukrs

                ktosl           = 'ARB'

                codaux1         = v_codaux_arb

           TABLES

                account         = itab_zyglt316

           EXCEPTIONS

                key_not_found   = 1

                rules_not_found = 2

                OTHERS          = 3.

      IF sy-subrc EQ 0.

        READ TABLE itab_zyglt316 INDEX 1.

      ENDIF.

    ELSE.

      CONCATENATE 'E' v_prazo_arb

        INTO v_codaux_arb SEPARATED BY space .

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe001-bukrs

                ktosl           = 'ARB'

                codaux1         = v_codaux_arb

                codaux2         = /pws/zycbe001-tpcontr(01)

           TABLES

                account         = itab_zyglt316

           EXCEPTIONS

                key_not_found   = 1

                rules_not_found = 2

                OTHERS          = 3.

      IF sy-subrc EQ 0.

        READ TABLE itab_zyglt316 INDEX 1.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  IF itab_zycbt005-tpcontr(01) = 'C'.

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

    itab_zycbe033-agkon   = itab_zycbt012-saknr1.

* << Fim da exclusão

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

    itab_zycbe033-d_newko = itab_zyglt316-konts.

* << Fim da inclusão

    itab_zycbe033-agkoa   = 'S'.

    CLEAR itab_zycbe033-umskz.

  ELSEIF itab_zycbt005-tpcontr(01) = 'D'.

...

 

...

        ELSEIF itab_zyglt321-cpocb = 'DTVINCUL'.

          itab_zycbe033-d_valut = itab_zycbt005-dtvincul.

          itab_zycbe033-c_valut = itab_zycbt005-dtvincul.

        ENDIF.

      WHEN 'ZTERM'.

        IF itab_zyglt321-cpocb = 'ZTERM'.

          itab_zycbe033-zterm = itab_zycbt017-zterm.

        ENDIF.

    ENDCASE.

  ENDLOOP.

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

  CONCATENATE text-376 wa_zycbt005-nrinvoic

              INTO itab_zycbe033-c_zuonr

              SEPARATED BY space.

* << Fim da exclusão

  CALL CUSTOMER-FUNCTION '004'

     IMPORTING

     v_subrc = v_retexit.

  IF v_retexit = 'X'.

    itab_zycbe033-d_gsber = /pws/zycbe001-gsber.

  ELSE.

    itab_zycbe033-d_gsber = wa_zycbt005-gsberf.

  ENDIF.

  itab_zycbe033-dtdocto = wa_zycbt005-dtvincul.

  IF wa_zycbt005-slpagar    IS INITIAL AND

     NOT wa_zycbt005-tpcontr(1) CA 'CE'.

    itab_zycbe033-flag_nc = 'X'.

  ENDIF.

  IF v_variacao < 0.

    itab_zycbe033-newbs = '40'.

  ELSEIF v_variacao > 0.

    itab_zycbe033-newbs = '50'.

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

    itab_zycbe033-d_newko = itab_zyglt316-konth.

* << Fim da exclusão

  ELSE.

    CLEAR itab_zycbe033-newbs.

  ENDIF.

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

  READ TABLE itab_zycbt012_aux WITH KEY codeven  = v_codeven_aux

                                    codmod   = 'E'

                                    chlanc   = 'D'

                                    tpcodaux = 'G'

                                    codaux   = ''.

  itab_zycbe033-d_newko =  itab_zycbt012_aux-saknr1.

  CONCATENATE text-375 itab_zycbt006-nrinvoic

              INTO itab_zycbe033-c_zuonr

              SEPARATED BY space.

* << Fim da exclusão

 

  IF NOT v_desmembramento IS INITIAL.

    itab_zycbt036-dtdocto = itab_zycbt030-budat.

    CLEAR itab_zycbe033-c_zuonr.

  ELSE.

    itab_zycbt036-dtdocto = itab_zycbt030-budat.

  ENDIF.

  APPEND itab_zycbe033.

ENDFORM.

FORM verifica_data_arb.

  IF wa_zycbt007-dtliquid = 'DTEMB'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F10

 

...

  ENDIF.

  APPEND   'endform.                                     ' TO t_prog.

  GENERATE SUBROUTINE POOL t_prog NAME w_prog.

  IF sy-subrc = 0.

    PERFORM log IN PROGRAM (w_prog) USING    p_dados

                                             p_tabela

                                    CHANGING p_wa_log

                                    IF FOUND.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

form get_parameters_002_cp using value(p_v_sinal).

  DATA: v_nrdias TYPE i,

        v_prazo,

        v_codaux  LIKE /pws/zyglt316-codaux1.

  CONCATENATE '003' /pws/zycbe005-tpcontr INTO v_codeven.

  v_nrdias = /pws/zycbe006-dtpagto - /pws/zycbe005-dtvincul.

  IF v_nrdias > 360.

    v_prazo = 'L'.

  ELSE.

    v_prazo = 'S'.

  ENDIF.

  IF /pws/zycbe001-tpcontr(01) EQ 'E' OR

     /pws/zycbe001-tpcontr(01) EQ 'C'.

    CONCATENATE /pws/zycbE001-tpcontr v_prazo

      INTO v_codaux SEPARATED BY space .

    CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         EXPORTING

              bukrs           = /pws/zycbe001-bukrs

              ktosl           = 'CPT'

              codaux1         = v_codaux

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

    IF sy-subrc EQ 0.

      READ TABLE itab_zyglt316 INDEX 1.

    ENDIF.

  ELSE.

    CONCATENATE 'E' v_prazo

      INTO v_codaux SEPARATED BY space .

    CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         EXPORTING

              bukrs           = /pws/zycbe001-bukrs

              ktosl           = 'CPT'

              codaux1         = v_codaux

              codaux2         = /pws/zycbe001-tpcontr

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

    IF sy-subrc EQ 0.

      READ TABLE itab_zyglt316 INDEX 1.

    ENDIF.

  ENDIF.

  itab_zycbe033-v_sinal = p_v_sinal.

  IF itab_zycbt030-flag = 'X'.

    itab_zycbe033-flag_nc = 'X'.

  ENDIF.

  IF p_v_sinal EQ '-'.

    itab_zycbe033-c_newko = itab_zyglt316-konth.

    PERFORM verify_null_field USING itab_zycbe033-c_newko

                                    'SAKNR'

                                    text-014.

  ELSE.

    IF wa_zycbt007-liq_trans EQ 'R'.

      itab_zycbe033-d_newko = itab_zycbt012-saknr2.

    ELSE.

      itab_zycbe033-d_newko = itab_zyglt316-konts.

    ENDIF.

    PERFORM verify_null_field USING itab_zycbe033-d_newko

                                    'SAKNR'

                                    text-011.

  ENDIF.

endform.

form busca_conta.

  DATA: v_cod_param LIKE /pws/zyglt316-codaux1,

        v_prazo,

        v_nrdias TYPE i.

  v_nrdias = /pws/zycbe006-dtpagto - /pws/zycbe005-dtvincul.

  IF v_nrdias > 360.

    v_prazo = 'L'.

  ELSE.

    v_prazo = 'S'.

  ENDIF.

  IF /pws/zycbe001-tpcontr(01) EQ 'E' OR

     /pws/zycbe001-tpcontr(01) EQ 'C'.

    CONCATENATE /pws/zycbe001-tpcontr

          v_prazo INTO v_cod_param SEPARATED BY space .

    CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         EXPORTING

              bukrs           = /pws/zycbe001-bukrs

              ktosl           = 'CPT'

              codaux1         = v_cod_param

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

    IF sy-subrc EQ 0.

      READ TABLE itab_zyglt316 INDEX 1.

    ENDIF.

  ELSE.

    CONCATENATE 'E' v_prazo INTO v_cod_param SEPARATED BY space .

    CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         EXPORTING

              bukrs           = /pws/zycbe001-bukrs

              ktosl           = 'CPT'

              codaux1         = v_cod_param

              codaux2         = /pws/zycbe001-tpcontr(01)

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

    IF sy-subrc EQ 0.

      READ TABLE itab_zyglt316 INDEX 1.

    ENDIF.

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB009TOP

 

...

  /pws/zycet001,

  /pws/zycet002,

  /pws/zycet020,

  /pws/zycet037,

  t052u,

  cskb,

  knb1,

  lfb1,

  skb1,

  t001a,

* >> Início da inclusão:

  t001,

* << Fim da inclusão

  /pws/zycbt214,

  /pws/zycbt209,

  /pws/zyglt364,

  j_1bbranch,

  adrc,

  /pws/zycbt220,

  /pws/zycbe223,

  /pws/zycbe074,

  /pws/zycbt031,

  /pws/zycbt044,

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB009

 

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 062

 

Texto: (31 caracteres)

"Clearing cta. ACE/Câmbio Pronto"

 

Comprimento máximo: 31