CE PLUS - Nota 010911

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 21/01/2011 00:00:00

Data/Hora Última Alteração: 21/01/2011 10:38:41

Descrição da Nota: VINCULAÇÃO E LIQUIDAÇÃO CONTRATOS CÂMBIO PRONTO E ACE

Sintoma

Flexibilizar as vinculações e liquidações dos contratos de cambio pronto e ACE, permitindo-as que

sejam feitas com valores parciais, que sejam estonadas com valores parciais e que sejam vinculadas e

liquidadas após o prazo de vencimento.

 

 

Solução

Realizado desenvolvimento para permitir vinculação e liquidação parcial para contratos de câmbio

pronto e de ace.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

VINCULAÇÃO/LIQUIDAÇÃO ARBITRAGEM-MOEDA SEM CASAS DECIMAIS, CENTAVOS

Informações Complementares

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

Nota Número 10911 Data: 21/01/2011 Hora: 09:44:05

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

 

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

Nota Número              : 10911

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00006

Agrupamento              : 00055

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

Referência às notas relacionadas:

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

 

10889  - 00007 - 8.0    - 00006  - VINCULAÇÃO/LIQUIDAÇÃO ARBITRAGEM-MOEDA SEM CASAS DECIMAIS, CENTAV

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

VINCULAÇÃO E LIQUIDAÇÃO CONTRATOS CÂMBIO PRONTO E ACE

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

Palavras Chave:

VINCULAÇÃO,  LIQUIDAÇÃO, CONTRATOS CÂMBIO PRONTO, ACE

 

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

Objetos da nota:

MERG F6DK977997 20110119 165708 PWSCB

RELE F6DK978061 20110121 092423 PWSCB

REPS /PWS/MZYCB004F01

REPS /PWS/MZYCB004F02

REPS /PWS/MZYCB004I01

REPS /PWS/MZYCB009F03

REPS /PWS/MZYCB009F04

 

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

Modificações efetuadas em MERG F6DK977997 20110119 165708 PWSCB

 

 

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

Modificações efetuadas em RELE F6DK978061 20110121 092423 PWSCB

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F01

 

...

            itab_zycbt030-vlslliq + itab_zycbt030-v_kwert.

          if /pws/zycbe001-desc_receb is initial.

            itab_zycbt030-vlsltrans =

              itab_zycbt030-vlsltrans + itab_zycbt030-v_kwert.

            itab_zycbt030-vlslliq =

              itab_zycbt030-vlslliq + itab_zycbt084-result_saldo.

          endif.

          clear itab_zycbt030-belnr_d.

        else.

          itab_zycbt030-vlslliq =

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

            itab_zycbt030-vlslliq + itab_zycbt006-vlme.

* << Fim da exclusão

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

            itab_zycbt030-vlslliq + itab_zycbt005_ant-vlme_p.

* << Fim da inclusão

          clear itab_zycbt030-belnr_d.

        endif.

        if itab_zycbt030-belnr6 = itab_zycbt030-belnr.

          clear: itab_zycbt030-budat_t,

                 itab_zycbt030-belnr_t.

        endif.

      else.

        itab_zycbt030-vlslliq =

                     itab_zycbt030-vlslliq + itab_zycbt084-result_saldo.

      endif.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F02

 

...

      IF itab_zycbt006-v_status = 'N'.

        v_slpagar = itab_zycbt005-slpagar +

                    ( itab_zycbt006-v_vldif * itab_zycbt005-parid ).

        READ TABLE /pws/zycbt005.

        UPDATE /pws/zycbt005 SET slpagar = v_slpagar

                          WHERE nrseqc   = itab_zycbt006-nrseqc

                            AND nrinvoic = itab_zycbt006-nrinvoic

                            AND dtvincul = itab_zycbt006-dtvincul

                            AND nrparcf  = itab_zycbt006-nrparcf

                            AND gsberf   = itab_zycbt006-gsberf.

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

        itab_zycbt005-slpagar = v_slpagar.

        modify itab_zycbt005 transporting slpagar

               where nrseqc    = itab_zycbt006-nrseqc

                 and nrparc    = itab_zycbt006-nrparc

                 and dtincl    = itab_zycbt006-dtincl

                 and nrinvoic  = itab_zycbt006-nrinvoic

                 and nrparcf   = itab_zycbt006-nrparcf

                 and gsberf    = itab_zycbt006-gsberf

                 and dtvincul  = itab_zycbt006-dtvincul

                 and dtvencto  = itab_zycbt006-dtvencto.

* << Fim da inclusão

        UPDATE /pws/zycbt006 SET vljur    = itab_zycbt006-vljur

                                 txjtotal = itab_zycbt006-txjtotal

                           WHERE nrseqc   = itab_zycbt006-nrseqc

                             AND tpdesp   = itab_zycbt006-tpdesp

                             AND nrparc   = itab_zycbt006-nrparc

                             AND dtincl   = itab_zycbt006-dtincl

                             AND nrinvoic = itab_zycbt006-nrinvoic

                             AND nrparcf  = itab_zycbt006-nrparcf

                             AND gsberf   = itab_zycbt006-gsberf

                             AND dtvincul = itab_zycbt006-dtvincul

...

 

...

             v_slpagar = itab_zycbt005-slpagar + ( itab_zycbt006-vlme *

                                                  itab_zycbt005-parid ).

            ENDIF.

            READ TABLE /pws/zycbt005.

            UPDATE /pws/zycbt005 SET slpagar = v_slpagar

                              WHERE nrseqc   = itab_zycbt006-nrseqc

                                AND nrinvoic = itab_zycbt006-nrinvoic

                                AND dtvincul = itab_zycbt006-dtvincul

                                AND nrparcf  = itab_zycbt006-nrparcf

                                AND gsberf   = itab_zycbt006-gsberf.

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

            itab_zycbt005-slpagar = v_slpagar.

            modify itab_zycbt005 transporting slpagar

                   where nrseqc    = itab_zycbt006-nrseqc

                     and nrparc    = itab_zycbt006-nrparc

                     and dtincl    = itab_zycbt006-dtincl

                     and nrinvoic  = itab_zycbt006-nrinvoic

                     and nrparcf   = itab_zycbt006-nrparcf

                     and gsberf    = itab_zycbt006-gsberf

                     and dtvincul  = itab_zycbt006-dtvincul

                     and dtvencto  = itab_zycbt006-dtvencto.

* << Fim da inclusão

          ENDIF.

        ENDIF.

      ENDIF.

      LOOP AT itab_zycbt069 WHERE nrseqc   = itab_zycbt006-nrseqc

                              AND nrinvoic = itab_zycbt006-nrinvoic

                              AND dtvincul = itab_zycbt006-dtvincul

                              AND gsberf   = itab_zycbt006-gsberf

                              AND nrparcf  = itab_zycbt006-nrparcf.

        MOVE-CORRESPONDING itab_zycbt069 TO /pws/zycbt069.

        MODIFY /pws/zycbt069.

...

 

...

        ENDIF.

        v_slpagar001 = v_slpagar001 +

        itab_zycbt006-v_vldif_arb.

        v_slpagar = itab_zycbt005-slpagar - itab_zycbt006-v_vldif_arb.

        UPDATE /pws/zycbt005 SET slpagar = v_slpagar

                            WHERE nrseqc   = itab_zycbt006-nrseqc

                              AND nrinvoic = itab_zycbt006-nrinvoic

                              AND dtvincul = itab_zycbt006-dtvincul

                              AND nrparcf  = itab_zycbt006-nrparcf

                              AND gsberf   = itab_zycbt006-gsberf.

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

        itab_zycbt005-slpagar = v_slpagar.

        modify itab_zycbt005 transporting slpagar

               where nrseqc    = itab_zycbt006-nrseqc

                 and nrparc    = itab_zycbt006-nrparc

                 and dtincl    = itab_zycbt006-dtincl

                 and nrinvoic  = itab_zycbt006-nrinvoic

                 and nrparcf   = itab_zycbt006-nrparcf

                 and gsberf    = itab_zycbt006-gsberf

                 and dtvincul  = itab_zycbt006-dtvincul

                 and dtvencto  = itab_zycbt006-dtvencto.

* << Fim da inclusão

      ENDIF.

      MODIFY itab_zycbt006.

      CLEAR itab_recurso_aux.

      READ TABLE itab_recurso_aux

           WITH KEY nrinvoic   = itab_zycbt006-nrinvoic

                    gsberf   = itab_zycbt006-gsberf

                    nrparcf  = itab_zycbt006-nrparcf.

      IF itab_recurso_aux-descorigem EQ c_liq_vme.

        MOVE 'X' TO /pws/zycbt006-tpfatura_or.

        MODIFY /pws/zycbt006.

...

 

...

    UPDATE /pws/zycbt001 SET:   belnr2 = /pws/zycbe001-belnr2

                         dtvincul = /pws/zycbe001-dtvincul

                  WHERE nrseqc = /pws/zycbe001-nrseqc.

  ENDIF.

  CLEAR itab_zycbt005_ant.

  REFRESH: itab_zycbt005_ant, itab_zycbt006_pre.

  MOVE itab_zycbt005[] TO itab_zycbt005_ant[].

  CLEAR v_exec_arb.

  IF v_vinculacao IS INITIAL.

    COMMIT WORK.

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

    perform carga_valor_contrato.

* << Fim da inclusão

  ENDIF.

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

  PERFORM carga_valor_contrato.

* << Fim da exclusão

ENDFORM.

FORM lancamento_provisao2.

  DATA: v_docto  LIKE /pws/zycbt030-belnr,

        v_subrc  LIKE sy-subrc,

        v_linha  TYPE i,

        v_index  TYPE i,

...

 

...

      READ TABLE itab_zycbt032 WITH KEY tcode  = v_text

                                        tabela = 'ZYCBT006'

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0

         OR NOT v_tot_cliente IS INITIAL.

        IF itab_zycbt032-belnr IS INITIAL.

          itab_zycbt032-belnr   = itab_zycbt030-v_belnr.

          itab_zycbt030-belnr_d = itab_zycbt030-v_belnr.

          READ TABLE itab_doctos WITH KEY belnr = itab_zycbt030-v_belnr.

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

          IF sy-subrc = 0.

            itab_zycbt005-dtbelnr = itab_doctos-dtdocto.

          ELSE.

            itab_zycbt005-dtbelnr = itab_zycbe033-dtdocto.

          ENDIF.

          MODIFY itab_zycbt005 TRANSPORTING dtbelnr

                              WHERE nrinvoic = itab_zycbt006-nrinvoic

                                 AND nrparcf  = itab_zycbt006-nrparcf

                                 AND gsberf   = itab_zycbt006-gsberf.

          itab_zycbt030-budat   = itab_zycbt005-dtbelnr.

* << Fim da exclusão

          MODIFY itab_zycbt030.

        ELSE.

          itab_zycbt030-belnr_d = itab_zycbt032-belnr.

          READ TABLE itab_zycbe033 INDEX 1.

          IF itab_zycbe033-budat NE itab_zycbt006-dtpagto.

            itab_zycbt074-dtcont = /pws/zycbt074-dtcont =

            itab_zycbe033-budat.

            MODIFY itab_zycbt074 TRANSPORTING dtcont

                                 WHERE nrseqc = /pws/zycbe001-nrseqc.

            IF sy-subrc NE 0.

...

 

...

                               v_belnr2

                               v_budat2

                               text-188

                               'X'

                      CHANGING v_belnr.

        IF sy-subrc NE 0.

          v_subrc = 4.

          EXIT.

        ENDIF.

      ENDIF.

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

      clear itab_zycbt005_ant.

      read table itab_zycbt005_ant with key

                            nrinvoic = itab_zycbt006-nrinvoic

                            gsberf   = itab_zycbt006-gsberf

                            nrparcf  = itab_zycbt006-nrparcf.

* << Fim da inclusão

      IF wa_zycbt007-liq_trans IS INITIAL.

        itab_zycbt030-belnr6 = v_belnr.

        itab_zycbt030-budat  = itab_zycbt006-dtpagto.

        IF itab_zycbt030-belnr6 = itab_zycbt030-belnr.

          itab_zycbt030-budat = itab_zycbt030-dtbelnr.

          IF /pws/zycbe001-desc_receb IS INITIAL.

            itab_zycbt030-vlsltrans =

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

              itab_zycbt030-vlsltrans + itab_zycbt006-vlme.

* << Fim da exclusão

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

              itab_zycbt030-vlsltrans + itab_zycbt005_ant-vlme_p.

* << Fim da inclusão

          ENDIF.

          itab_zycbt030-vlslliq =

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

            itab_zycbt030-vlslliq + itab_zycbt006-vlme.

* << Fim da exclusão

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

            itab_zycbt030-vlslliq + itab_zycbt005_ant-vlme_p.

* << Fim da inclusão

        ELSE.

          itab_zycbt030-budat = itab_zycbt006-dtpagto.

...

 

...

              itab_zycbt030-vlsltrans + itab_cli-wrbtr.

          ENDIF.

          itab_zycbt030-vlslliq =

            itab_zycbt030-vlslliq + itab_cli-wrbtr.

        ENDIF.

        IF itab_zycbt030-belnr6 = itab_zycbt030-belnr.

          CLEAR: itab_zycbt030-belnr_t, itab_zycbt030-budat_t.

        ENDIF.

      ELSE.

        itab_zycbt030-vlslliq =

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

          itab_zycbt030-vlslliq + itab_zycbt006-vlme.

* << Fim da exclusão

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

            itab_zycbt030-vlslliq + itab_zycbt005_ant-vlme_p.

* << Fim da inclusão

      ENDIF.

      MODIFY itab_zycbt030.

      PERFORM grava_zycbt084 USING ' '.

    ENDLOOP.

    IF v_subrc NE 0.

      EXIT.

    ENDIF.

    SELECT * FROM /pws/zycbt084

           APPENDING TABLE itab_zycbt084

              WHERE nrseqc = itab_zycbt006-nrseqc.

...

 

...

                    empresa_nao_encontrada = 3

                    period_in_not_valid    = 4

                    period_not_assigned    = 5

                    version_undefined      = 6

                    OTHERS                 = 7.

          itab_zycbt006_aux4-dtpagto = itab_zycbt030-dtbelnr.

          itab_zycbt006_aux4-belnr   = itab_zycbt030-belnr.

          itab_zycbt006_aux4-gjahr   = v_year.

          APPEND itab_zycbt006_aux4.

          itab_zycbt006_aux4-belnr   = itab_zycbt006-belnr.

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

          append itab_zycbt006_aux4.

        endif.

        if not itab_zycbt030-dtbelnr is initial and

           itab_zycbt030-dtbelnr ne itab_zycbt006_aux4-dtpagto.

          clear v_year.

          call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

               exporting

                    v_bukrs                = itab_zycbt006-bukrs

                    v_date                 = itab_zycbt030-dtbelnr

               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.

          itab_zycbt006_aux4-dtpagto = itab_zycbt030-dtbelnr.

          itab_zycbt006_aux4-gjahr = v_year.

* << Fim da inclusão

          APPEND itab_zycbt006_aux4.

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

          itab_zycbt006_aux4-dtpagto = itab_zycbt030-budat.

          itab_zycbt006_aux4-gjahr = v_year.

          append itab_zycbt006_aux4.

* << Fim da inclusão

        ENDIF.

      ENDIF.

      LOOP AT itab_zycbt209 WHERE nrinvoic = itab_zycbt006-nrinvoic

                              AND nrparcf  = itab_zycbt006-nrparcf

...

 

...

                            AND gsberf   = itab_zycbt006-gsberf

                            AND nrparcf  = itab_zycbt006-nrparcf.

      CHECK NOT itab_zycbt030-belnr_d IS INITIAL.

      IF wa_zycbt007-liq_trans EQ space.

        itab_zycbt030-belnr6  = itab_zycbt030-belnr_d.

        itab_zycbt030-budat   = v_datum.

        itab_zycbt030-vlslliq =

          itab_zycbt030-vlslliq + itab_zycbt030-v_kwert.

        IF /pws/zycbe001-desc_receb IS INITIAL.

          itab_zycbt030-vlsltrans =

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

            itab_zycbt030-vlsltrans + itab_zycbt030-v_kwert.

* << Fim da exclusão

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

              itab_zycbt030-vlsltrans + itab_zycbt005_ant-vlme_p.

* << Fim da inclusão

        ENDIF.

        CLEAR itab_zycbt030-belnr_d.

      ELSE.

        itab_zycbt030-vlslliq =

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

          itab_zycbt030-vlslliq + itab_zycbt006-vlme.

* << Fim da exclusão

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

            itab_zycbt030-vlslliq + itab_zycbt005_ant-vlme_p.

* << Fim da inclusão

        CLEAR itab_zycbt030-belnr_d.

      ENDIF.

      MODIFY itab_zycbt030.

      PERFORM grava_zycbt084 USING ' '.

    ENDLOOP.

    LOOP AT itab_zycbt069 WHERE nrseqc   = itab_zycbt006-nrseqc

                            AND nrinvoic = itab_zycbt006-nrinvoic

                            AND dtvincul = itab_zycbt006-dtvincul

                            AND gsberf   = itab_zycbt006-gsberf

                            AND nrparcf  = itab_zycbt006-nrparcf.

...

 

...

          itab_contabil-nrparcf  = itab_zycbt030-nrparcf.

          itab_contabil-docto    = itab_zycbt032-belnr.

          itab_contabil-dtdocto  = v_dtpagto.

          itab_contabil-bukrs    = itab_zycbt006-bukrs.

          itab_contabil-msg      = text-126.

          APPEND itab_contabil.

          v_subrc = 0.

        ELSE.

          itab_zycbt032-belnr   = itab_zycbe033-belnr.

          itab_zycbt030-belnr_d = itab_zycbt032-belnr.

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

          itab_zycbt030-budat  = itab_zycbe033-dtdocto.

* << Fim da exclusão

          MODIFY itab_zycbt030.

        ENDIF.

        /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.

...

 

...

    LOOP AT itab_zycbt034.

      itab_erro-vbeln = itab_zycbt006-belnr.

      itab_erro-msg   = itab_zycbt034-descricao.

      APPEND itab_erro.

    ENDLOOP.

    v_subrc = 4.

  ENDIF.

  sy-subrc = v_subrc.

ENDFORM.

FORM estorno_periodo_ab_perf.

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

  DATA: BEGIN OF itab_bsas OCCURS 0,

         bukrs LIKE bsas-bukrs,

         hkont LIKE bsas-hkont,

         augdt LIKE bsas-augdt,

         augbl LIKE bsas-augbl,

         gjahr LIKE bsas-gjahr,

         belnr LIKE bsas-belnr,

         budat LIKE bsas-budat,

         wrbtr LIKE bsas-wrbtr,

        END OF itab_bsas.

  DATA: BEGIN OF itab_bsad OCCURS 0,

         bukrs LIKE bsad-bukrs,

         kunnr LIKE bsad-kunnr,

         umskz LIKE bsad-umskz,

         augdt LIKE bsad-augdt,

         augbl LIKE bsad-augbl,

         gjahr LIKE bsad-gjahr,

         belnr LIKE bsad-belnr,

         wrbtr LIKE bsad-wrbtr,

         budat LIKE bsad-budat,

        END OF itab_bsad.

* << Fim da exclusão

  DATA: BEGIN OF itab_ace OCCURS 2.

  DATA: belnr TYPE belnr_d,

        budat TYPE datum,

        wrbtr TYPE wrbtr.

  DATA: END OF itab_ace.

  DATA: BEGIN OF itab_cli OCCURS 2.

  DATA: belnr TYPE belnr_d,

        budat TYPE datum,

        wrbtr TYPE wrbtr.

  DATA: END OF itab_cli.

...

 

...

                                  ( itab_trans-wrbtr *

                                    itab_zycbt030-kwert /

                                    itab_zycbt030-s_kwert ).

        MODIFY itab_zycbt030.

      ENDLOOP.

      PERFORM grava_zycbt084_and USING ' '.

    ENDLOOP.

    IF v_subrc NE 0.

      EXIT.

    ENDIF.

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

      clear itab_zycbt005_ant.

      read table itab_zycbt005_ant with key

                            nrinvoic = itab_zycbt006-nrinvoic

                            gsberf   = itab_zycbt006-gsberf

                            nrparcf  = itab_zycbt006-nrparcf.

* << Fim da inclusão

    LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt006-nrinvoic AND

                                gsberf   = itab_zycbt006-gsberf   AND

                                nrparcf  = itab_zycbt006-nrparcf.

      IF wa_zycbt007-liq_trans IS INITIAL.

        CLEAR v_belnr.

        SELECT SINGLE belnr

               FROM /pws/zycbt084

               INTO v_belnr

               WHERE nrseqc   = itab_zycbt006-nrseqc   AND

                     tpdesp   = itab_zycbt006-tpdesp   AND

...

 

...

                 FROM bkpf

                 INTO v_budat2

                 WHERE belnr = itab_zycbt030-belnr AND

                       bukrs = itab_zycbt006-bukrs.

          v_budat  = itab_cli-budat.

          v_belnr1 = itab_zycbt030-belnr6.

          v_budat1 = itab_zycbt030-budat.

          v_belnr2 = itab_zycbt030-belnr.

        ELSE.

          itab_zycbt030-vlslliq = itab_zycbt030-vlslliq +

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

                                  ( itab_zycbt006-vlme -

* << Fim da exclusão

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

                                  ( itab_zycbt005_ant-vlme_p -

* << Fim da inclusão

                                    v_liq_and ).

          MODIFY itab_zycbt030.

          EXIT.

        ENDIF.

      ELSE.

        READ TABLE itab_cli INDEX 1.

        v_belnr  = itab_cli-belnr.

        v_budat  = itab_cli-budat.

        v_belnr1 = itab_zycbt030-belnr_t.

        v_budat1 = itab_zycbt030-budat_t.

...

 

...

          itab_zycbt030-budat  = itab_zycbt006-dtpagto.

        ENDIF.

        IF /pws/zycbe001-desc_receb IS INITIAL.

          itab_zycbt030-vlsltrans =

            itab_zycbt030-vlsltrans + itab_cli-wrbtr.

        ENDIF.

        itab_zycbt030-vlslliq =

          itab_zycbt030-vlslliq + itab_cli-wrbtr.

        IF itab_cli-wrbtr IS INITIAL.

          itab_zycbt030-vlslliq =

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

            itab_zycbt030-vlslliq + itab_zycbt006-vlme.

* << Fim da exclusão

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

            itab_zycbt030-vlslliq + itab_zycbt005_ant-vlme_p.

        else.

* << Fim da inclusão

        ENDIF.

        itab_zycbt030-vlslliq = itab_zycbt030-vlslliq +

                                itab_zycbt084-result_saldo.

      ELSE.

        itab_zycbt030-vlslliq =

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

          itab_zycbt030-vlslliq + itab_zycbt006-vlme.

* << Fim da exclusão

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

            itab_zycbt030-vlslliq + itab_zycbt005_ant-vlme_p.

* << Fim da inclusão

      ENDIF.

      IF itab_zycbt030-belnr6 = itab_zycbt030-belnr.

        CLEAR: itab_zycbt030-budat_t, itab_zycbt030-belnr_t.

      ENDIF.

      MODIFY itab_zycbt030.

      PERFORM grava_zycbt084 USING ' '.

    ENDLOOP.

    IF v_subrc NE 0.

      EXIT.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004I01

 

...

      endif.

      if v_vinculacao is initial.

        perform limpa_tabela.

        perform selecao_faturas.

        if not it_zycbt226[] is initial and

         ( not it_zycbt209[] is initial or

           not it_zycbt030[] is initial ).

          call screen '102' starting at 2 2  ending at 124 20.

          check ok_code eq 'ENTER'.

        endif.

* >> Início da exclusão: MODULE USER_COMMAND_0100

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

          select nrinvoic nrparcf gsberf slpagar vlvinc slpagar

                 from /pws/zycbt005

                 into table itab_zycbt005_cp

                   where nrseqc = /pws/zycbe001-nrseqc.

          describe table itab_zycbt005_cp lines v_linha.

          describe table itab_zycbt005    lines v_line.

          refresh itab_zycbt005_cp.

          if v_linha ne v_line and

             not itab_zycbt005[] is initial.

            message i061 with text-465 text-466.

            exit.

          endif.

          clear v_disp.

          loop at itab_zycbt005_cp.

            read table itab_zycbt005 with key

                                    nrinvoic = itab_zycbt005_cp-nrinvoic

                                    gsberf   = itab_zycbt005_cp-gsberf

                                    nrparcf  = itab_zycbt005_cp-nrparcf.

            if sy-subrc eq 0 and

               itab_zycbt005_cp-vlme ne itab_zycbt005-vlme.

              message i061 with text-465 text-466.

              v_disp = 'X'.

              exit.

            endif.

          endloop.

          if not v_disp is initial.

            clear v_disp.

            exit.

          endif.

        endif.

* << Fim da exclusão

      endif.

      perform grava_tabelas.

      perform executa_exit_p using 'LIQ016'.

      clear v_modo_bi.

      v_status_s = '0'.

      v_trans = '3'.

      if not v_vinculacao is initial.

        perform consiste_saldos_erro.

        leave program.

      endif.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F03

 

...

    loop at itab_zycbt005.

    endloop.

    if sy-subrc ne 0.

      message i015 with text-058 text-239.

      exit.

    endif.

  endif.

  if v_executa eq 'X'.

    exit.

  endif.

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

  if /pws/zycbe001-tpcontr(1) eq 'C' or

     /pws/zycbe001-tpcontr(1) eq 'E'.

    if not /pws/zycbe001-slvinc eq 0.

      if /pws/zycbe001-slvinc ne /pws/zycbe001-vlme.

        call function 'POPUP_TO_DISPLAY_TEXT'

             exporting

                  titel        = text-028

                  textline1    = text-031

                  textline2    = text-032

                  start_column = 10

                  start_row    = 6.

        exit.

      endif.

    endif.

  endif.

* << Fim da exclusão

  if /pws/zycbe005-dtvincul lt /pws/zycbe001-dtcontr.

    message i011(pc) with text-051.

    exit.

  endif.

  case /pws/zycbe001-fdtlanc.

    when 'D'.

      if /pws/zycbe001-tpcontr+0(1) ca 'CE'.

        if /pws/zycbe005-dtvincul ne /pws/zycbe001-dtdesem.

          message i091 with /pws/zycbe001-dtdesem.

          exit.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F04

 

...

  ENDIF.

ENDFORM.

FORM date_consistency.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe001-bukrs.

  CASE /pws/zycbe001-tpcontr+0(1).

    WHEN 'C'.

      CASE /pws/zycbe001-fdtlanc.

        WHEN 'C' OR 'c' OR ' '.

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

          PERFORM consiste_datas_vincul.

* << Fim da exclusão

        WHEN 'O' OR 'o'.

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

          PERFORM consiste_dtcontr_vincul.

* << Fim da exclusão

      ENDCASE.

  ENDCASE.

ENDFORM.

FORM antecipar_dtcontr_vincul.

  DATA: itab_period    LIKE casdayattr OCCURS 0 WITH HEADER LINE,

        v_sair_fadc(1) TYPE c VALUE 'N'.

...