CE PLUS - Nota 004725

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 14/09/2007 00:00:00

Data/Hora Última Alteração: 21/02/2011 10:54:49

Descrição da Nota: VINCULAÇÃO - CONTABILIZAÇÃO E ESTORNO DE CAMBIO PRONTO

Sintoma

O programa não está fazendo corretamente a contabilização e estorno da liquidação automática de

cambio pronto.

 

 

Solução

Foram adicionados os tratamentos para que a liquidação automática de cambio pronto seja feita de

maneira correta.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

VINCULAÇÃO - LIQUIDAÇÃO AUTOMATICA CAMBIO PRONTO

VINCULAÇÃO - LIQUIDAÇÃO AUTOMÁTICA CP - CONTA LIQ. ANDAMENTO

VINCULAÇÃO - CONTABILIZAÇÃO DA COMISSÃO DE AGENTE CONTA GRÁFICA

VINCULAÇÃO CP COM LIQUIDAÇÃO AUTOMÁTICA - ESTORNO

VINCULAÇÃO - LIQUIDAÇÃO CAMBIO PRONTO

Informações Complementares

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

Nota Número 04725 Data: 14/09/2007 Hora: 11:45:10

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

 

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

Nota Número              : 04725

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00012

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

Referência às notas relacionadas:

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

 

02754  - 00001 - 6.0    - 00026  - VINCULAÇÃO - CONTABILIZAÇÃO DA COMISSÃO DE AGENTE CONTA GRÁFICA

03538  - 00002 - 7.0    - 00001  - VINCULAÇÃO - LIQUIDAÇÃO CAMBIO PRONTO

03970  - 00003 - 7.0    - 00001  - VINCULAÇÃO - LIQUIDAÇÃO AUTOMATICA CAMBIO PRONTO

04109  - 00004 - 7.0    - 00002  - VINCULAÇÃO - LIQUIDAÇÃO AUTOMÁTICA CP - CONTA LIQ. ANDAMENTO

04418  - 00005 - 7.0    - 00002  - VINCULAÇÃO CP COM LIQUIDAÇÃO AUTOMÁTICA - ESTORNO

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

VINCULAÇÃO - CONTABILIZAÇÃO E ESTORNO DE CAMBIO PRONTO

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

Palavras Chave:

VINCULAÇÃO/LIQUIDAÇÃO AUTOMÁTICA

CONTABILIZAÇÃO E ESTORNO DE CAMBIO PRONTO

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

Objetos da nota:

REPS /PWS/MZYCB009F03

REPS /PWS/MZYCB009F07

REPS /PWS/MZYCB009F08

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F03

 

...

    ELSE.

      IF itab_zycbt030-belnr6 IS INITIAL.

        v_belnr = itab_zycbt030-belnr.

      ELSE.

        v_belnr = itab_zycbt030-belnr6.

      ENDIF.

      v_data  = itab_zycbt030-budat(4).

      v_conta = itab_zycbt017-kunag.

    ENDIF.

  ENDIF.

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

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

    READ TABLE itab_zycbt209 WITH KEY nrinvoic = itab_zycbt030-nrinvoic

                                      nrparcf  = itab_zycbt030-nrparcf

                                      gsberf   = itab_zycbt030-gsberf.

    IF sy-subrc = 0.

      IF     /pws/zycbt089-tp_liq_and EQ 'Z'.

        SELECT SINGLE agums FROM /pws/zycbt011

                            INTO itab_zycbe033-umskz

                            WHERE codeven = '023' AND

                                  codmod  = 'E'   AND

                                  bukrs   = itab_zycbt017-bukrs.

        itab_zycbe033-agums   = itab_zycbe033-umskz.

        itab_zycbe033-agkoa   = 'D'.

        itab_zycbe033-newbs   = '09'.

      ELSEIF /pws/zycbt089-tp_liq_and EQ 'D'.

        IF NOT /pws/zycbt089-liq_and_cod_cli IS INITIAL.

          v_conta = /pws/zycbt089-liq_and_cod_cli.

        ELSE.

          SELECT * FROM /pws/zyglt368 INTO TABLE itab_zyglt368

                   WHERE bukrs = itab_zycbt017-bukrs.

          READ TABLE itab_zyglt368 INDEX 1.

          IF sy-subrc = 0 AND itab_zyglt368-kunag IS INITIAL.

            SELECT SINGLE ktokd FROM kna1 INTO v_ktokd

                                WHERE kunnr EQ itab_zycbt017-kunag.

            READ TABLE itab_zyglt368 WITH KEY ktokd = v_ktokd.

            IF sy-subrc EQ 0.

              v_conta = itab_zyglt368-codtrans.

            ENDIF.

          ELSEIF sy-subrc = 0 AND itab_zyglt368-ktokd IS INITIAL.

            READ TABLE itab_zyglt368

                                   WITH KEY kunag = itab_zycbt017-kunag.

            IF sy-subrc EQ 0.

              v_conta = itab_zyglt368-codtrans.

            ENDIF.

          ENDIF.

        ENDIF.

      ELSEIF /pws/zycbt089-tp_liq_and EQ 'S'.

        itab_zycbe033-koart = 'S'.

        itab_zycbe033-agkoa = 'S'.

        itab_zycbe033-newbs = '40'.

        CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

             EXPORTING

                  bukrs           = itab_zycbt017-bukrs

                  ktosl           = 'TRE'

                  codaux1         = 'BAIXA CLIENTE'

             TABLES

                  account         = itab_zyglt316

             EXCEPTIONS

                  key_not_found   = 1

                  rules_not_found = 2

                  OTHERS          = 3.

        READ TABLE itab_zyglt316 INDEX 1.

        v_conta = itab_zyglt316-konts.

        v_modulo = 'S'.

      ENDIF.

      itab_zycbe033-d_newko = v_conta.

    ENDIF.

  ENDIF.

  IF /pws/zycbe001-tpcontr(1) = 'C' AND /pws/zycbt089-tp_liq_and EQ 'S'

     AND v_modulo = 'S'.

    CALL FUNCTION '/PWS/ZYCB_DOCUMENTO_VERIFICA'

         EXPORTING

              i_modulo             = v_modulo

              i_bukrs              = /pws/zycbe001-bukrs

              i_hkont              = v_conta

              i_gjahr              = v_data

         CHANGING

              c_belnr              = v_belnr

         EXCEPTIONS

              documento_compensado = 1

              OTHERS               = 2.

  ELSE.

* << Fim da exclusão

    CALL FUNCTION '/PWS/ZYCB_DOCUMENTO_VERIFICA'

         EXPORTING

              i_modulo             = v_modulo

              i_bukrs              = /pws/zycbe001-bukrs

              i_kunnr              = v_conta

              i_gjahr              = v_data

         CHANGING

              c_belnr              = v_belnr

         EXCEPTIONS

              documento_compensado = 1

              OTHERS               = 2.

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

  ENDIF.

* << Fim da exclusão

  IF sy-subrc = 0.

    itab_zycbt030-v_belnr = v_belnr.

    MODIFY itab_zycbt030 TRANSPORTING v_belnr

                         WHERE belnr = itab_zycbt030-belnr.

  ELSE.

    itab_erro1-vbeln = itab_zycbt030-vbeln.

    CONCATENATE text-120 v_belnr text-154 INTO itab_erro1-msg

                SEPARATED BY space.

    APPEND itab_erro1.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F07

 

...

       EXCEPTIONS

            zycbe224_null = 1

            erro_bloqueio = 2

            OTHERS        = 3.

  IF sy-subrc NE 0.

  ENDIF.

  IF wa_zycbt089-est_variacao IS INITIAL.

    PERFORM seleciona_zycbt030_b.

    PERFORM seleciona_zycbt045.

    PERFORM fill_date1_f30_cp.

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

    PERFORM grava_liquidacao.

* << Fim da inclusão

  ELSE.

    MOVE text-038 TO v_flag_mod.

    PERFORM seleciona_paga_documento USING v_flag_mod.

    PERFORM grava_liquidacao.

    PERFORM save_changes.

    IF wa_zycbt007-liq_com_cg NE 'RP'.

      PERFORM liquida_comissao_de_agente.

    ENDIF.

  ENDIF.

  PERFORM grava_contabilizacao.

...

 

...

FORM fill_date1_f30_cp.

  CLEAR: itab_erro1.

  REFRESH: itab_zycbt030_aux, itab_erro1.

  LOOP AT itab_zycbt005 WHERE flag = 'I'.

    IF itab_zycbt005-waers EQ itab_zycbt005-waers_c.

      PERFORM get_parameters_cp.

      CLEAR wa_zycbt005.

      CLEAR itab_belnr.

      REFRESH itab_belnr.

      MOVE itab_zycbt005 TO wa_zycbt005.

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

      wa_zycbt005-slpagar = wa_zycbt005-vlme_p.

* << Fim da inclusão

      LOOP AT itab_zycbt030 WHERE nrinvoic = wa_zycbt005-nrinvoic AND

                                  nrparcf  = wa_zycbt005-nrparcf  AND

                                  gsberf   = wa_zycbt005-gsberf.

        itab_zycbt030-v_kwert = ( itab_zycbt030-kwert /

                                  itab_zycbt030-s_kwert ) *

                                wa_zycbt005-vlme_p.

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

        LOOP AT itab_zycbt209

          WHERE nrinvoic = wa_zycbt005-nrinvoic AND

                gsberf   = wa_zycbt005-gsberf   AND

                nrparcf  = wa_zycbt005-nrparcf.

          CHECK wa_zycbt005-slpagar GT 0.

          PERFORM desmembra_liq_and CHANGING wa_zycbt005.

          MODIFY itab_zycbt209.

        ENDLOOP.

* << Fim da inclusão

        MODIFY itab_zycbt030.

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

        IF wa_zycbt005-slpagar GT 0.

* << Fim da inclusão

        PERFORM lanca_cp.

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

        ENDIF.

* << Fim da inclusão

      ENDLOOP.

      PERFORM desmembra_ace_cp.

      PERFORM clearing_030_cp.

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

      MODIFY /pws/zycbt209 FROM TABLE itab_zycbt209.

* << Fim da inclusão

      MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.

      COMMIT WORK.

      MOVE wa_zycbt005 TO itab_zycbt005.

      MODIFY itab_zycbt005.

    ELSE.

      PERFORM contabiliza_cp_arbitr.

    ENDIF.

  ENDLOOP.

  IF v_erro_estorno IS INITIAL.

    /pws/zycbe001-slpagar = /pws/zycbe001-slvinc.

...

 

...

  ENDIF.

  IF wa_zycbt007-dtliqcp NE 'DTCONTR' AND

     wa_zycbt007-dtliqcp NE 'TXCONTR'.

    itab_zycbe033-kursf = wa_zycbt005-txcamb.

  ELSE.

    itab_zycbe033-kursf = /pws/zycbe001-txcneg.

  ENDIF.

  PERFORM verify_null_field USING itab_zycbe033-kursf

                                  'TXCAMB'

                                  text-080.

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

  itab_zycbe033-wrbtr   = itab_zycbt030-v_kwert.

* << Fim da exclusão

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

  CLEAR v_wrbtr.

  LOOP AT itab_zycbt209

    WHERE nrinvoic = wa_zycbt005-nrinvoic AND

          gsberf   = wa_zycbt005-gsberf   AND

          nrparcf  = wa_zycbt005-nrparcf.

    v_wrbtr = v_wrbtr + itab_zycbt209-vlme - itab_zycbt209-saldo.

  ENDLOOP.

  itab_zycbe033-wrbtr   = itab_zycbt030-v_kwert - v_wrbtr.

  IF itab_zycbe033-wrbtr EQ 0.

    EXIT.

  ENDIF.

  clear itab_zycbe033-newbs.

* << Fim da inclusão

  itab_zycbe033-c_gsber = wa_zycbt005-gsberf.

  itab_zycbe033-d_gsber = wa_zycbt005-gsberf.

  IF itab_zycbe033-agkoa IS INITIAL.

    itab_zycbe033-agkoa   = 'D'.

  ENDIF.

  IF itab_zycbe033-newbs IS INITIAL.

    IF itab_zycbt030-flag <> 'X'.

      itab_zycbe033-newbs = '01'.

    ELSE.

      itab_zycbe033-newbs = '12'.

...

 

...

  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.

  IF v_wrbtr = itab_zycbe033-wrbtr OR

    itab_zycbt030-vlsltrans = itab_zycbe033-wrbtr.

    v_vinc_tot = 'X'.

  ENDIF.

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

  IF itab_zycbt030-belnr6 IS INITIAL.

* << Fim da inclusão

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

  itab_zycbe033-belnr     = itab_zycbt030-v_belnr.

* << Fim da exclusão

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

    itab_zycbe033-belnr     = itab_zycbt030-belnr.

  ELSE.

    itab_zycbe033-belnr     = itab_zycbt030-belnr6.

  ENDIF.

* << Fim da inclusão

  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.

  ELSE.

    PERFORM local_negocio.

    PERFORM verifica_pais_filial USING /pws/zycbe005-bukrs

                                       wa_t001w-j_1bbranch.

    itab_zycbe033-brnch = wa_t001w-j_1bbranch.

  ENDIF.

...

 

...

                                        tabela = '/PWS/ZYCBT006'

                                        cpochv = v_cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        itab_belnr-nrinvoic = wa_zycbt005-nrinvoic.

        itab_belnr-nrparcf  = wa_zycbt005-nrparcf.

        itab_belnr-belnr    = itab_zycbt032-belnr.

        itab_belnr-budat    = wa_zycbt005-dtvincul.

        itab_belnr-gsberf   = wa_zycbt005-gsberf.

        APPEND itab_belnr.

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

        PERFORM grava_t084 USING itab_zycbt032-belnr.

* << Fim da exclusão

        itab_zycbt077-belnr    = itab_zycbt032-belnr.

        itab_zycbt077-bukrs    = itab_zycbe033-bukrs.

        itab_zycbt077-gjahr    = itab_zycbe033-budat(4).

        itab_zycbt077-status   = 'E'.

        itab_zycbt077-tcode    = itab_zycbt032-tcode.

        CONCATENATE 'RD' /pws/zycbe005-tpcontr INTO

                  itab_zycbt077-codeven.

        itab_zycbt077-codmod   = 'E'.

        itab_zycbt077-nrseqc   = /pws/zycbe005-nrseqc.

        itab_zycbt077-gsberf   = itab_zycbt006-gsberf.

...

 

...

        itab_zycbt077-nrinvoic = itab_zycbt006-nrinvoic.

        itab_zycbt077-nrparcf   = itab_zycbt006-nrparcf.

        itab_zycbt077-belnr    = itab_zycbt030-vbeln.

        itab_zycbt077-dtpagto  = itab_zycbt006-dtpagto.

        IF wa_zycbt007-liq_trans IS INITIAL.

          itab_zycbt030-belnr6 = itab_zycbt032-belnr.

          itab_zycbt030-budat  = wa_zycbt005-dtvincul.

        ELSE.

          itab_zycbt030-belnr_t = itab_zycbt032-belnr.

          itab_zycbt030-budat_t = wa_zycbt005-dtvincul.

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

        ENDIF.

        itab_zycbt030-belnr_d = itab_zycbt032-belnr.

* << Fim da inclusão

          itab_zycbt030-vlslliq = itab_zycbt030-vlslliq -

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

                                  itab_zycbt030-v_kwert.

        ENDIF.

* << Fim da exclusão

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

                                itab_zycbe033-wrbtr.

        itab_zycbt030-vlsltrans = itab_zycbt030-vlsltrans -

                                  itab_zycbe033-wrbtr.

        wa_zycbt005-slpagar = wa_zycbt005-slpagar - itab_zycbe033-wrbtr.

* << Fim da inclusão

        MODIFY itab_zycbt030 TRANSPORTING belnr6 budat belnr_t

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

                                          budat_t vlslliq

* << Fim da exclusão

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

                                          budat_t vlslliq vlsltrans

                                          belnr_d

* << Fim da inclusão

               WHERE nrinvoic = itab_zycbt030-nrinvoic

                 AND nrparcf  = itab_zycbt030-nrparcf

                 AND gsberf   = itab_zycbt030-gsberf

                 AND vbeln    = itab_zycbt030-vbeln.

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

        itab_zycbt030-belnr_d = itab_zycbt032-belnr.

* << Fim da exclusão

        itab_contabil-nrinvoic = itab_zycbt030-nrinvoic.

        itab_contabil-nrparcf   = itab_zycbt030-nrparcf.

        itab_contabil-vbeln    = itab_zycbt030-vbeln.

        itab_contabil-gsberf   = itab_zycbt030-gsberf.

        itab_contabil-docto    = itab_zycbt032-belnr.

        itab_contabil-dtdocto  = wa_zycbt005-dtvincul.

        itab_contabil-bukrs    = wa_zycbt005-bukrs.

        itab_contabil-msg      = text-237.

        APPEND itab_contabil.

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

        /pws/zycbt084-nrseqc   = wa_zycbt005-nrseqc.

        /pws/zycbt084-tpdesp   = wa_zycbt005-tpdesp.

        /pws/zycbt084-nrparc   = wa_zycbt005-nrparc.

        /pws/zycbt084-dtincl   = wa_zycbt005-dtincl.

        /pws/zycbt084-nrinvoic = wa_zycbt005-nrinvoic.

        /pws/zycbt084-nrparcf  = wa_zycbt005-nrparcf.

        /pws/zycbt084-gsberf   = wa_zycbt005-gsberf.

        /pws/zycbt084-dtvincul = wa_zycbt005-dtvincul.

        /pws/zycbt084-dtvencto = wa_zycbt005-dtvencto.

        /pws/zycbt084-dtpagto  = /pws/zycbe006-dtpagto.

        /pws/zycbt084-vbeln    = itab_zycbt030-vbeln.

        /pws/zycbt084-belnr    = itab_zycbt032-belnr.

        /pws/zycbt084-tdesmemb = 'K'.

        /pws/zycbt084-liq_and  = space.

        MODIFY /pws/zycbt084 FROM /pws/zycbt084.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032 WHERE tcode  = 'F-30'

                                AND tabela = '/PWS/ZYCBT006'

                                AND cpochv = v_cpochv.

          itab_erro-vbeln = itab_zycbt030-vbeln.

          itab_erro-msg   = itab_zycbt032-msg.

          APPEND itab_erro.

        ENDLOOP.

      ENDIF.

    ELSE.

...

 

...

        CONCATENATE itab_aux-nrinvoic

        itab_aux-nrparcf

        itab_aux-vbeln itab_aux-gsberf

        INTO v_chave.

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

                                          tabela = '/PWS/ZYCET010'

                                          cpochv = v_chave

                                          tpmsg  = 'S'.

        IF sy-subrc = 0.

          itab_zycbt030-belnr6 = itab_zycbt032-belnr.

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

          itab_zycbt030-vlslliq =

            itab_zycbt030-vlslliq -  itab_zycbe033-wrbtr.

* << Fim da inclusão

          READ TABLE itab_zycbe033 WITH KEY cpochv = v_chave.

          itab_zycbt030-budat  = itab_zycbe033-budat.

          MODIFY itab_zycbt030 TRANSPORTING belnr6 budat

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

                                            vlslliq

* << Fim da inclusão

                 WHERE nrinvoic = itab_aux-nrinvoic

                   AND nrparcf  = itab_aux-nrparcf

                   AND vbeln    = itab_aux-vbeln

                   AND gsberf   = itab_aux-gsberf.

          UPDATE /pws/zycbt030 SET: belnr6 = itab_zycbt032-belnr

                              budat  = itab_zycbe033-budat

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

                              vlslliq = itab_zycbt030-vlslliq

* << Fim da inclusão

                      WHERE nrinvoic = itab_aux-nrinvoic

                        AND nrparcf  = itab_aux-nrparcf

                        AND vbeln    = itab_aux-vbeln

                        AND gsberf   = itab_aux-gsberf.

          IF /pws/zycet037-comis_provisao IS INITIAL OR

             /pws/zycet037-comis_provisao EQ 0.

            IF v_subrc EQ 0.

              itab_zycet010-status  = 'C'.

              itab_zycet010-belnr_p = itab_zycbt032-belnr.

              itab_zycet010-dtpagto = itab_zycbt006-dtpagto.

...

 

...

        CONCATENATE itab_aux-nrinvoic

                    itab_aux-nrparcf

                    itab_aux-vbeln itab_aux-gsberf

        INTO v_chave.

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

                                          tabela = '/PWS/ZYCET010'

                                          cpochv = v_chave

                                          tpmsg  = 'S'.

        IF sy-subrc = 0.

          itab_zycbt030-belnr6 = itab_zycbt032-belnr.

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

          itab_zycbt030-vlslliq =

            itab_zycbt030-vlslliq -  itab_zycbe033-wrbtr.

* << Fim da inclusão

          READ TABLE itab_zycbe033 WITH KEY cpochv = v_chave.

          itab_zycbt030-budat  = itab_zycbe033-budat.

          MODIFY itab_zycbt030 TRANSPORTING belnr6 budat

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

                                            vlslliq

* << Fim da inclusão

                 WHERE nrinvoic = itab_aux-nrinvoic

                   AND nrparcf  = itab_aux-nrparcf

                   AND vbeln    = itab_aux-vbeln

                   AND gsberf   = itab_aux-gsberf.

          UPDATE /pws/zycbt030 SET: belnr6 = itab_zycbt032-belnr

                               budat  = itab_zycbe033-budat

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

                              vlslliq = itab_zycbt030-vlslliq

* << Fim da inclusão

                      WHERE nrinvoic = itab_aux-nrinvoic

                        AND nrparcf  = itab_aux-nrparcf

                        AND vbeln    = itab_aux-vbeln

                        AND gsberf   = itab_aux-gsberf.

          IF /pws/zycet037-comis_provisao IS INITIAL OR

             /pws/zycet037-comis_provisao EQ 0.

            IF v_subrc EQ 0.

              itab_zycet010-status  = 'C'.

              itab_zycet010-belnr_p = itab_zycbt032-belnr.

              itab_zycet010-dtpagto = itab_zycbt006-dtpagto.

...

 

...

        ENDIF.

      ENDIF.

    ELSE.

      v_belnr_cap   = wa_zycbt005-belnr.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycbt030 WHERE nrinvoic = wa_zycbt005-nrinvoic AND

                              gsberf   = wa_zycbt005-gsberf   AND

                              nrparcf  = wa_zycbt005-nrparcf.

    CHECK NOT itab_zycbt030-belnr6 IS INITIAL.

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

    CHECK NOT itab_zycbt030-belnr_d IS INITIAL.

* << Fim da inclusão

    itab_partidas-tcode   = 'F-30'.

    itab_partidas-tabela  = 'ZYCBT006'.

    itab_partidas-cpochv  = itab_zycbe033-cpochv.

    itab_partidas-belnr   = itab_zycbt030-belnr6.

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

    itab_partidas-agkon   = itab_zycbe033-agkon.

    itab_partidas-agkoa   = itab_zycbe033-agkoa.

* << Fim da exclusão

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

    READ TABLE itab_zycbt017

      WITH KEY nrinvoic = wa_zycbt005-nrinvoic

               gsberf   = wa_zycbt005-gsberf

               nrparcf  = wa_zycbt005-nrparcf.

    itab_partidas-agkon   = itab_zycbt017-kunag.

    itab_partidas-agkoa   = 'D'.

* << Fim da inclusão

    itab_partidas-agums   = space.

    itab_partidas-bukrs   = wa_zycbt005-bukrs.

    itab_partidas-shkzg   = 'H'.

    itab_partidas-v_sinal = '+'.

    IF NOT /pws/zycbt074-dtcont IS INITIAL.

      itab_partidas-dtdocto = /pws/zycbt074-dtcont.

    ELSE.

      itab_partidas-dtdocto = /pws/zycbe006-dtpagto.

    ENDIF.

    CONCATENATE 'Des.'

...

 

...

                   buzei <= 2.

      itab_partidas-v_sinal = '+'.

    ELSE.

      CONCATENATE 'Des.'

                  wa_zycbt005-nrinvoic

                  wa_zycbt005-nrparcf

                  INTO itab_partidas-d_zuonr

                  SEPARATED BY space.

      itab_partidas-v_sinal = '-'.

    ENDIF.

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

    itab_zycbt209-belnr2  = itab_zycbt209-belnr_d.

    itab_zycbt209-dtbelnr = itab_zycbt209-budat_d.

    itab_zycbt209-saldo   = itab_zycbt209-saldo -

                           itab_zycbt209-vlbaixa.

    MODIFY itab_zycbt209.

* << Fim da inclusão

    APPEND itab_partidas.

  ENDLOOP.

  LOOP AT itab_zycbt219 WHERE nrinvoic = wa_zycbt005-nrinvoic AND

                              gsberf   = wa_zycbt005-gsberf   AND

                              nrparcf  = wa_zycbt005-nrparcf  AND

                              baixa    = 'X'.

    itab_partidas-tcode   = 'F-30'.

    itab_partidas-tabela  = 'ZYCBT006'.

    itab_partidas-cpochv  = itab_zycbe033-cpochv.

    itab_partidas-belnr   = itab_zycbt219-belnr_d.

...

 

...

    IF sy-subrc = 0.

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

                                        tabela = 'ZYCBT006'

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        v_cp_ok = 'X'.

        wa_zycbt005-status = 'C'.

        wa_zycbt005-dtbelnr = itab_zycbe033-budat.

        wa_zycbt005-belnr_d  = itab_zycbt032-belnr.

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

        wa_zycbt005-slpagar = 0.

* << Fim da exclusão

        itab_contabil-nrinvoic = wa_zycbt005-nrinvoic.

        itab_contabil-nrparcf  = wa_zycbt005-nrparcf.

        CLEAR itab_contabil-vbeln.

        itab_contabil-gsberf   = wa_zycbt005-gsberf.

        itab_contabil-docto    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-295.

        CLEAR /pws/zycbt084.

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

        PERFORM grava_t084 USING itab_zycbt032-belnr.

* << Fim da inclusão

        READ TABLE itab_zycbt074 WITH KEY nrseqc = wa_zycbt005-nrseqc.

        IF sy-subrc EQ 0.

          IF itab_zycbt074-dtcont IS INITIAL OR

             itab_zycbt074-dtcont EQ '00000000'.

            itab_contabil-dtdocto  = /pws/zycbe006-dtpagto.

          ELSE.

            itab_contabil-dtdocto  = itab_zycbt074-dtcont.

          ENDIF.

        ENDIF.

        itab_contabil-bukrs    = wa_zycbt005-bukrs.

...

 

...

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      v_subrc = 4.

    ENDIF.

  ELSE.

    v_subrc = 4.

  ENDIF.

  sy-subrc = v_subrc.

ENDFORM.

* >> Início da inclusão:

FORM desmembra_liq_and

  CHANGING p_zycbt005 LIKE LINE OF itab_zycbt005.

  DATA: v_subrc    LIKE sy-subrc,

        v_dtliquid LIKE /pws/zycbt006-dtpagto,

        v_dtemb    LIKE /pws/zycet001-dtemb,

        v_codeven2 TYPE /pws/zycbt011-codeven,

        v_belnr    TYPE /pws/zycbt209-belnr.

  CLEAR   itab_doctos.

  REFRESH itab_doctos.

  DATA: v_gjahr TYPE gjahr.

  PERFORM clear_date_batch.

  CLEAR: v_data.

  itab_zycbe033-tcode  = 'F-30'.

  itab_zycbe033-tabela = 'ZYCBT006'.

  CONCATENATE itab_zycbt209-nrinvoic

              itab_zycbt209-belnr

              itab_zycbt209-gsberf

              itab_zycbt209-nrparcf

         INTO v_cpochv.

  itab_zycbe033-cpochv = v_cpochv.

  PERFORM verify_null_field USING /pws/zycbe006-dtpagto

                                  'DTPAGTO'

                                  text-392.

  itab_zycbe033-budat = /pws/zycbe006-dtpagto.

  itab_zycbe033-bldat = /pws/zycbe006-dtpagto.

  itab_zycbe033-zfbdt = /pws/zycbe006-dtpagto.

  IF p_zycbt005-ftxt IS INITIAL.

    itab_zycbe033-augtx   = wa_zycbt011-txtdesc.

    itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

  ELSE.

    itab_zycbe033-augtx   = p_zycbt005-txtinf.

    itab_zycbe033-d_sgtxt = p_zycbt005-txtinf.

  ENDIF.

  itab_zycbe033-c_sgtxt = p_zycbt005-nrinvoic.

  itab_zycbe033-c_zuonr = itab_zycbt209-nrinvoic.

  READ TABLE itab_zycbt017 WITH KEY nrinvoic = p_zycbt005-nrinvoic

                                    gsberf   = p_zycbt005-gsberf.

  CONCATENATE '003' p_zycbt005-tpcontr INTO v_codeven2.

  CLEAR itab_zyglt321.

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'CPT'

             AND codeven = v_codeven2.

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

        IF itab_zyglt321-cpocb = 'V_TXTINF'.

          itab_zycbe033-d_sgtxt = v_txtinf.

          itab_zycbe033-augtx   = v_txtinf.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

           p_zycbt005-ftxt IS INITIAL AND

           NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-d_sgtxt = itab_zyglt321-descr.

          itab_zycbe033-augtx   = itab_zyglt321-descr.

        ENDIF.

      WHEN 'XBLNR'.

        IF itab_zyglt321-cpocb = 'NRSEQ' OR

           itab_zyglt321-cpocb = 'NRSEQC'.

          itab_zycbe033-xblnr = /pws/zycbe001-nrseqc.

        ELSEIF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-xblnr = /pws/zycbe001-nrcontr.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-xblnr = itab_zyglt321-descr.

        ENDIF.

      WHEN 'ZFBDT'.

        IF itab_zyglt321-cpocb = 'DTBL'.

          itab_zycbe033-zfbdt = itab_zycbt017-dtbl.

        ELSEIF itab_zyglt321-cpocb = 'DTINCL'.

          SELECT SINGLE dtincl FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = p_zycbt005-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTEMB'.

          SELECT SINGLE dtemb FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = p_zycbt005-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.

          SELECT SINGLE dtvencto FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTVINCUL'.

          itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.

        ENDIF.

      WHEN 'VALUT'.

        IF itab_zyglt321-cpocb = 'DTVENCTO'.

          itab_zycbe033-d_valut = itab_zycbt017-dtvencto.

        ENDIF.

      WHEN 'ZUONR'.

        IF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.

        ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.

          itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               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.

  itab_zycbe033-bktxt  = wa_zycbt007-bktxt.

  PERFORM verify_null_field USING p_zycbt005-bukrs

                                    'BUKRS'

                                    text-004.

  itab_zycbe033-bukrs  = p_zycbt005-bukrs.

  PERFORM verify_null_field USING p_zycbt005-waers

                                  'WAERS'

                                  text-005.

  itab_zycbe033-waers  = p_zycbt005-waers.

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

                                  text-006.

  itab_zycbe033-blart  = wa_zycbt011-blart.

  itab_zycbe033-d_gsber = p_zycbt005-gsberf.

  itab_zycbe033-c_gsber = p_zycbt005-gsberf.

  SELECT SINGLE dtemb kurrf_bl viatrans dtaverb dtcruze nrseq

   FROM /pws/zycet001

  INTO (v_dtemb, v_kurrf_bl, v_viatrans, v_dtaverb2, v_dtcruze,

         v_nrseq)

   WHERE nrseq EQ p_zycbt005-nrinvoic.

  IF /pws/zycbt089-tx_desm_cli = 'DTFECH' OR

     /pws/zycbt089-tx_desm_cli = 'DTFECH1'.

    IF wa_zycbt007-dtjuros = 'DTPAGEXT'.

      v_dtliquid = /pws/zycbe006-dtpagext.

    ELSEIF wa_zycbt007-dtliquid = 'DTPAGTO'.

      v_dtliquid = /pws/zycbe006-dtpagto.

    ENDIF.

    v_dtemb+6(2) = '01'.

    v_dtliquid+6(2) = '01'.

    IF  v_dtemb EQ v_dtliquid.

      CLEAR /pws/zycbt089-tx_desm_cli.

      /pws/zycbt089-tx_desm_cli = 'DTEMB'.

    ENDIF.

  ENDIF.

  IF itab_zycbt209-belnr2 IS INITIAL.

    v_belnr = itab_zycbt209-belnr.

  ELSE.

    v_belnr = itab_zycbt209-belnr2.

  ENDIF.

  SELECT SINGLE kursf FROM bkpf

    INTO itab_zycbe033-kursf

   WHERE bukrs EQ itab_zycbt209-bukrs

     AND belnr EQ v_belnr

     AND gjahr EQ itab_zycbt209-dtbelnr(4).

  IF itab_zycbt209-saldo GT p_zycbt005-slpagar.

    itab_zycbe033-wrbtr = p_zycbt005-slpagar.

  ELSE.

    itab_zycbe033-wrbtr = itab_zycbt209-saldo.

  ENDIF.

  IF itab_zycbt209-saldo = itab_zycbt209-vlme.

    v_desmembramento = 'X'.

  ENDIF.

  v_gjahr = itab_zycbt209-dtbelnr(4).

  IF itab_zycbt209-belnr2 IS INITIAL.

    itab_zycbe033-belnr = itab_zycbt209-belnr.

  ELSE.

    itab_zycbe033-belnr = itab_zycbt209-belnr2.

  ENDIF.

  itab_zycbe033-dtdocto = itab_zycbt209-dtbelnr.

  itab_zycbe033-d_newko = itab_zycbt209-hkont.

  itab_zycbe033-umskz   = itab_zycbt209-umskz.

  IF itab_zycbt209-koart EQ 'D'.

    IF itab_zycbt209-umskz IS INITIAL.

      itab_zycbe033-newbs = '01'.

    ELSE.

      itab_zycbe033-newbs = '09'.

    ENDIF.

  ELSE.

    itab_zycbe033-newbs = '40'.

  ENDIF.

  CONCATENATE 'Des.' p_zycbt005-nrinvoic p_zycbt005-nrparcf

              INTO itab_zycbe033-d_zuonr

              SEPARATED BY space.

  itab_zycbt036-tcode   = itab_zycbe033-tcode.

  itab_zycbt036-tabela  = itab_zycbe033-tabela.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  itab_zycbt036-residuo = itab_zycbe033-wrbtr.

  APPEND itab_zycbt036.

  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.

  IF NOT /pws/zycbe005-j_1bbranch IS INITIAL.

    PERFORM verifica_pais_filial USING p_zycbt005-bukrs

                                       /pws/zycbe005-j_1bbranch.

    itab_zycbe033-brnch = /pws/zycbe005-j_1bbranch.

  ELSE.

    PERFORM local_negocio.

    PERFORM verifica_pais_filial USING p_zycbt005-bukrs

                                       wa_t001w-j_1bbranch.

    itab_zycbe033-brnch = wa_t001w-j_1bbranch.

  ENDIF.

  itab_zycbe033-werks = /pws/zycbe005-werks.

  PERFORM verifica_prorrogacao.

  APPEND itab_zycbe033.

  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

              v_vinc_tot      = 'X'

         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

              periodo_fechado = 2

              OTHERS          = 3.

    IF sy-subrc = 0.

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

                                        tabela = 'ZYCBT006'

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        itab_zycbt030-vlslliq =

          itab_zycbt030-vlslliq - itab_zycbe033-wrbtr.

        itab_zycbt209-baixa = 'X'.

        itab_zycbt209-saldo = itab_zycbt209-saldo - itab_zycbe033-wrbtr.

        itab_zycbt209-belnr_d = itab_zycbt032-belnr.

        itab_zycbt209-budat_d = p_zycbt005-dtvincul.

        p_zycbt005-slpagar = p_zycbt005-slpagar - itab_zycbe033-wrbtr.

        itab_contabil-nrinvoic = itab_zycbt209-nrinvoic.

        itab_contabil-vbeln    = itab_zycbt209-belnr.

        itab_contabil-nrparcf  = itab_zycbt209-nrparcf.

        itab_contabil-gsberf   = itab_zycbt209-gsberf.

        itab_contabil-docto    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-197.

        itab_contabil-dtdocto  = /pws/zycbe006-dtpagto.

        itab_contabil-bukrs    = itab_zycbe033-bukrs.

        APPEND itab_contabil.

        /pws/zycbt084-nrseqc   = p_zycbt005-nrseqc.

        /pws/zycbt084-tpdesp   = p_zycbt005-tpdesp.

        /pws/zycbt084-nrparc   = p_zycbt005-nrparc.

        /pws/zycbt084-dtincl   = p_zycbt005-dtincl.

        /pws/zycbt084-nrinvoic = p_zycbt005-nrinvoic.

        /pws/zycbt084-nrparcf  = p_zycbt005-nrparcf.

        /pws/zycbt084-gsberf   = p_zycbt005-gsberf.

        /pws/zycbt084-dtvincul = p_zycbt005-dtvincul.

        /pws/zycbt084-dtvencto = p_zycbt005-dtvencto.

        /pws/zycbt084-dtpagto  = /pws/zycbe006-dtpagto.

        /pws/zycbt084-dtpagext = /pws/zycbe006-dtpagext.

        /pws/zycbt084-belnr    = itab_zycbt032-belnr.

        /pws/zycbt084-vbeln    = itab_zycbt209-belnr.

        /pws/zycbt084-liq_and  = 'X'.

        /pws/zycbt084-tdesmemb = 'H'.

        MODIFY /pws/zycbt084 FROM /pws/zycbt084.

        v_subrc = 0.

      ELSE.

        LOOP AT itab_zycbt032 WHERE tcode  = 'F-30'

                                AND tabela = 'ZYCBT006'

                                AND cpochv = v_cpochv.

          itab_erro-vbeln = itab_zycbt209-belnr.

          itab_erro-msg   = itab_zycbt032-msg.

          APPEND itab_erro.

        ENDLOOP.

        v_subrc = 4.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      v_subrc = 4.

    ENDIF.

  ELSE.

    v_subrc = 4.

  ENDIF.

  sy-subrc = v_subrc.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F08

 

...

        prctr TYPE prctr.

  DATA: END OF itab_ace.

  DATA: BEGIN OF itab_ace_aux OCCURS 2.

  DATA: belnr TYPE belnr_d,

        budat TYPE datum,

        wrbtr TYPE wrbtr,

        prctr TYPE prctr.

  DATA: END OF itab_ace_aux.

  DATA: BEGIN OF itab_cli OCCURS 2.

  DATA: belnr TYPE belnr_d,

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

        budat TYPE datum.

* << Fim da exclusão

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

        budat TYPE datum,

        wrbtr TYPE wrbtr.

* << Fim da inclusão

  DATA: END OF itab_cli.

  DATA: BEGIN OF itab_trans OCCURS 2.

  DATA: belnr TYPE belnr_d,

        budat TYPE datum,

        hkont TYPE hkont,

        umskz TYPE umskz,

        koart TYPE koart,

        wrbtr TYPE wrbtr.

  DATA: END OF itab_trans.

  DATA: v_nrdias TYPE i,

...

 

...

      READ TABLE itab_zycbt006 WITH KEY nrseqc   =  itab_vinc-nrseqc

                                        tpdesp   =  itab_vinc-tpdesp

                                        nrparc   =  itab_vinc-nrparc

                                        dtincl   =  itab_vinc-dtincl

                                        nrinvoic =  itab_vinc-nrinvoic

                                        nrparcf  =  itab_vinc-nrparcf

                                        gsberf   =  itab_vinc-gsberf

                                        dtvincul =  itab_vinc-dtvincul

                                        dtvencto =  itab_vinc-dtvencto.

      IF sy-subrc EQ 0 AND NOT itab_zycbt006-dtpagto IS INITIAL.

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

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

          itab_vinc-belnr = itab_zycbt006-belnr.

          MODIFY itab_vinc.

        ENDIF.

* << Fim da inclusão

        v_data_doc = itab_zycbt006-dtpagto.

      ELSE.

        v_data_doc = itab_vinc-dtvincul.

      ENDIF.

    ELSE.

      v_data_doc = itab_vinc-dtvincul.

    ENDIF.

    IF v_nrdias > 360.

      v_prazo = 'L'.

    ELSE.

...

 

...

    IF wa_zycbt007-liq_trans IS INITIAL.

      v_kunnr = itab_vinc-kunnr.

    ELSE.

      READ TABLE itab_zycbt012_trans WITH KEY codeven = text-159

                                              codmod  = text-047.

      IF sy-subrc EQ 0.

        v_kunnr = itab_zycbt012_trans-codaux.

      ENDIF.

    ENDIF.

    SELECT belnr budat

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

           wrbtr

* << Fim da inclusão

           FROM bsad

           INTO TABLE itab_cli

           WHERE bukrs =  itab_vinc-bukrs       AND

                 kunnr =  v_kunnr               AND

                 augdt =  v_data_doc            AND

                 augbl =  itab_vinc-belnr       AND

                 gjahr =  v_year AND

                 belnr <> itab_vinc-belnr.

    SELECT belnr budat hkont wrbtr

           FROM bsas

...

 

...

                  gsberf   = itab_vinc-gsberf AND

                  dtvincul = itab_vinc-dtvincul AND

                  vbeln    = itab_zycbt030-vbeln AND

                  liq_and  = space              AND

                  tdesmemb = 'K'.

      COMMIT WORK.

      IF wa_zycbt007-liq_trans IS INITIAL.

        itab_zycbt030-belnr6 = v_belnr.

        itab_zycbt030-budat  = itab_vinc-dtvincul.

        itab_zycbt030-vlslliq =

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

          itab_zycbt030-vlslliq + itab_vinc-vlme_p.

* << Fim da exclusão

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

          itab_zycbt030-vlslliq + itab_cli-wrbtr.

* << Fim da inclusão

        IF /pws/zycbe001-desc_receb IS INITIAL.

          itab_zycbt030-vlsltrans =

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

                    itab_zycbt030-vlsltrans + itab_vinc-vlme_p.

* << Fim da exclusão

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

                    itab_zycbt030-vlsltrans + itab_cli-wrbtr.

* << Fim da inclusão

        ENDIF.

      ELSE.

        itab_zycbt030-belnr_t = v_belnr.

        itab_zycbt030-budat_t = itab_vinc-dtvincul.

        itab_zycbt030-vlslliq =

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

                  itab_zycbt030-vlslliq + itab_vinc-vlme_p.

* << Fim da exclusão

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

                  itab_zycbt030-vlslliq + itab_cli-wrbtr.

* << Fim da inclusão

      ENDIF.

      MODIFY itab_zycbt030.

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

      PERFORM grava_t084 USING ' '.

* << Fim da exclusão

    ENDLOOP.

    IF v_subrc NE 0.

      EXIT.

    ENDIF.

    LOOP AT itab_zycbt209 WHERE nrinvoic = itab_vinc-nrinvoic AND

...

 

...

                   dtpagto  = /pws/zycbe006-dtpagto AND

                   vbeln    = itab_zycbt209-belnr   AND

                   liq_and  = 'X'                AND

                   tdesmemb = 'H'.

      CHECK sy-subrc EQ 0.

      CHECK NOT v_belnr IS INITIAL.

      READ TABLE itab_trans WITH KEY belnr = v_belnr.

      v_budat  = itab_trans-budat.

      v_belnr1 = itab_zycbt209-belnr2.

      v_budat1 = itab_zycbt209-dtbelnr.

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

      IF itab_zycbt209-belnr2 IS INITIAL.

* << Fim da inclusão

      v_belnr2 = itab_zycbt209-belnr.

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

      ELSE.

        v_belnr2 = itab_zycbt209-belnr2.

      ENDIF.

* << Fim da inclusão

      v_budat2 = itab_zycbt209-dtcredext.

      PERFORM clear_date_batch.

      itab_zycbt036-tcode   = 'F-30'.

      itab_zycbt036-tabela  = 'ZYCBT005'.

...

 

...

      MODIFY itab_zycbt209.

      LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt209-nrinvoic AND

                                  gsberf   = itab_zycbt209-gsberf   AND

                                  nrparcf  = itab_zycbt209-nrparcf.

        itab_zycbt030-vlslliq   = itab_zycbt030-vlslliq +

                                  ( itab_trans-wrbtr *

                                    itab_zycbt030-kwert /

                                    itab_zycbt030-s_kwert ).

        MODIFY itab_zycbt030.

      ENDLOOP.

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

      DELETE FROM /pws/zycbt084

             WHERE nrseqc   = itab_vinc-nrseqc   AND

                   tpdesp   = itab_vinc-tpdesp   AND

                   nrparc   = itab_vinc-nrparc   AND

                   nrparcf  = itab_vinc-nrparcf  AND

                   dtincl   = itab_vinc-dtincl   AND

                   nrinvoic = itab_vinc-nrinvoic AND

                   gsberf   = itab_vinc-gsberf   AND

                   dtvincul = itab_vinc-dtvincul AND

                   dtpagto  = /pws/zycbe006-dtpagto AND

                   vbeln    = itab_zycbt209-belnr   AND

                   liq_and  = 'X'                AND

                   tdesmemb = 'H'.

* << Fim da inclusão

    ENDLOOP.

    MODIFY /pws/zycbt209 FROM TABLE itab_zycbt209.

    COMMIT WORK.

    IF v_subrc NE 0.

      EXIT.

    ENDIF.

    PERFORM clear_date_batch.

    CLEAR: v_belnr.

    LOOP AT itab_ace.

      itab_zycbt036-tcode   = 'F-30'.

...

 

...

      itab_vinc-dtbelnr = itab_vinc-dtvincul.

      MODIFY itab_vinc TRANSPORTING belnr dtbelnr

                           WHERE nrinvoic = itab_vinc-nrinvoic

                             AND gsberf   = itab_vinc-gsberf

                             AND nrparcf  = itab_vinc-nrparcf.

      itab_vinc-status = 'I'.

    ELSE.

      itab_vinc-status = ' '.

    ENDIF.

    MODIFY itab_vinc.

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

    DELETE FROM /pws/zycbt084

           WHERE nrseqc   = itab_vinc-nrseqc   AND

                 tpdesp   = itab_vinc-tpdesp   AND

                 nrparc   = itab_vinc-nrparc   AND

                 nrparcf  = itab_vinc-nrparcf  AND

                 dtincl   = itab_vinc-dtincl   AND

                 nrinvoic = itab_vinc-nrinvoic AND

                 gsberf   = itab_vinc-gsberf   AND

                 dtvincul = itab_vinc-dtvincul AND

                 dtpagto  = /pws/zycbe006-dtpagto AND

                 liq_and  = space              AND

                 tdesmemb = 'E'.

* << Fim da inclusão

    v_belnr_001       = v_belnr.

    v_dtdocto         = itab_vinc-dtvincul.

    /pws/zycbe001-belnr2   = v_belnr.

    /pws/zycbe001-dtvincul = itab_vinc-dtvincul.

    READ TABLE itab_zycbt006

          WITH KEY nrseqc   = itab_vinc-nrseqc

                   tpdesp   = itab_vinc-tpdesp

                   nrparc   = itab_vinc-nrparc

                   dtincl   = itab_vinc-dtincl

                   nrinvoic = itab_vinc-nrinvoic

...