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.
7.0
Produto:
Nota
Descrição
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
...