Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 14/08/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 10:54:15
Descrição da Nota: VINCULAÇÃO CP COM LIQUIDAÇÃO AUTOMÁTICA - ESTORNO
Sintoma
Ao efetuar a vinculação de câmbio pronto com liquidação automática, não esta levando o documento
contábil para compensar na primeira F-30(cliente). Ao estornar a vinculação e gerar erro na primeira
FBRA, esta limpando as tabelas de vinculação e atualizando os saldos, não permitindo voltar para
fazer o estorno corretamente.
Solução
Ajustar consistência de verificação de liquidação em andamento, no form encontra_documento, para
tratar o tipo de conta correto: D(cliente) S(razão). Barrar a atualização das tabelas e saldos
quando houver erro no estorno.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04418 Data: 14/08/2007 Hora: 14:59:37
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04418
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00008
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03538 - 00001 - 7.0 - 00001 - VINCULAÇÃO - LIQUIDAÇÃO CAMBIO PRONTO
03752 - 00002 - 7.0 - 00001 - VINCULAÇÃO - ESTORNO AUTOMATICO POR ERRO NA CONTABILIZAÇÃO
04109 - 00003 - 7.0 - 00002 - VINCULAÇÃO - LIQUIDAÇÃO AUTOMÁTICA CP - CONTA LIQ. ANDAMENTO
----------------------------------------------------------------------------------------------------
VINCULAÇÃO CP COM LIQUIDAÇÃO AUTOMÁTICA - ESTORNO
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO CP COM LIQUIDAÇÃO AUTOMÁTICA ESTORNO
CÂMBIO PRONTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F03
REPS /PWS/MZYCB009F07
REPS /PWS/MZYCB009F08
REPS /PWS/MZYCB009F09
REPS /PWS/MZYCB009F10
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F03
...
AND gsberf = itab_zycbt005_ant-gsberf
AND dtvincul = itab_zycbt005_ant-dtvincul
AND dtvencto = itab_zycbt005_ant-dtvencto.
PERFORM monta_log_cfm USING wa_zycbt005_log
'/PWS/ZYCBT005'
CHANGING wa_log.
PERFORM grava_log USING '/PWS/ZYCBT005'
wa_log
'E'.
ENDIF.
* >> Início da inclusão: FORM GRAVA_TABELAS
IF itab_zycbt005_ant-belnr IS INITIAL AND
( itab_zycbt005_ant-status EQ 'I' OR
itab_zycbt005_ant-status IS INITIAL ).
* << Fim da inclusão
DELETE FROM /pws/zycbt005
WHERE nrseqc = itab_zycbt005_ant-nrseqc
AND tpdesp = itab_zycbt005_ant-tpdesp
AND nrparc = itab_zycbt005_ant-nrparc
AND dtincl = itab_zycbt005_ant-dtincl
AND nrinvoic = itab_zycbt005_ant-nrinvoic
AND nrparcf = itab_zycbt005_ant-nrparcf
AND gsberf = itab_zycbt005_ant-gsberf
AND dtvincul = itab_zycbt005_ant-dtvincul
AND dtvencto = itab_zycbt005_ant-dtvencto.
* >> Início da inclusão: FORM GRAVA_TABELAS
ENDIF.
* << Fim da inclusão
CALL CUSTOMER-FUNCTION '084'
TABLES
itab_zycbt005 = itab_zycbt005_ant.
* >> Início da inclusão: FORM GRAVA_TABELAS
IF itab_zycbt005_ant-belnr IS INITIAL AND
( itab_zycbt005_ant-status EQ 'I' OR
itab_zycbt005_ant-status IS INITIAL ).
* << Fim da inclusão
DELETE FROM /pws/zycbt004
WHERE nrseqc = itab_zycbt005_ant-nrseqc
AND tpdesp = 'J'
AND nrparc = itab_zycbt005_ant-nrparc
AND dtincl = itab_zycbt005_ant-dtvincul.
* >> Início da inclusão: FORM GRAVA_TABELAS
ENDIF.
* << Fim da inclusão
IF ( itab_zycbt005_ant-tpcontr(1) = 'D' ) OR
( /pws/zycbe001-tpcontr(1) EQ 'C' AND
wa_zycbt007-liq_cp EQ 'X' ).
IF wa_zycbt007-cfm = 'X'.
SELECT SINGLE *
FROM /pws/zycbt006
INTO wa_zycbt006_log
WHERE nrseqc = itab_zycbt005_ant-nrseqc
AND tpdesp = itab_zycbt005_ant-tpdesp
AND nrparc = itab_zycbt005_ant-nrparc
...
...
AND dtpagto = itab_zycbt005_ant-dtvincul.
IF sy-subrc EQ 0.
PERFORM monta_log_cfm USING wa_zycbt006_log
'/PWS/ZYCBT006'
CHANGING wa_log.
PERFORM grava_log USING '/PWS/ZYCBT006'
wa_log
'E'.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM GRAVA_TABELAS
IF itab_zycbt005_ant-belnr IS INITIAL AND
( itab_zycbt005_ant-status EQ 'I' OR
itab_zycbt005_ant-status IS INITIAL ).
* << Fim da inclusão
DELETE FROM /pws/zycbt006
WHERE nrseqc = itab_zycbt005_ant-nrseqc
AND tpdesp = itab_zycbt005_ant-tpdesp
AND nrparc = itab_zycbt005_ant-nrparc
AND dtincl = itab_zycbt005_ant-dtincl
AND nrinvoic = itab_zycbt005_ant-nrinvoic
AND nrparcf = itab_zycbt005_ant-nrparcf
AND gsberf = itab_zycbt005_ant-gsberf
AND dtvincul = itab_zycbt005_ant-dtvincul
AND dtvencto = itab_zycbt005_ant-dtvencto
AND dtpagto = itab_zycbt005_ant-dtvincul.
* >> Início da inclusão: FORM GRAVA_TABELAS
ENDIF.
* << Fim da inclusão
IF ( /pws/zycbe001-tpcontr EQ 'C ' AND
wa_zycbt007-liq_cp EQ 'X' ) OR
( /pws/zycbe001-tpcontr EQ 'DP' AND
/pws/zycbt089-f_cont_vinc EQ 'F' ).
* >> Início da inclusão: FORM GRAVA_TABELAS
IF itab_zycbt005_ant-belnr IS INITIAL AND
( itab_zycbt005_ant-status EQ 'I' OR
itab_zycbt005_ant-status IS INITIAL ).
* << Fim da inclusão
DELETE FROM /pws/zycbt006
WHERE nrseqc EQ itab_zycbt005_ant-nrseqc
AND tpdesp EQ itab_zycbt005_ant-tpdesp
AND nrparc EQ itab_zycbt005_ant-nrparc
AND dtincl EQ itab_zycbt005_ant-dtincl
AND nrinvoic EQ itab_zycbt005_ant-nrinvoic
AND nrparcf EQ itab_zycbt005_ant-nrparcf
AND gsberf EQ itab_zycbt005_ant-gsberf
AND dtvincul EQ itab_zycbt005_ant-dtvincul
AND dtvencto EQ itab_zycbt005_ant-dtvencto
AND dtpagto EQ /pws/zycbe006-dtpagto.
* >> Início da inclusão: FORM GRAVA_TABELAS
ENDIF.
* << Fim da inclusão
ENDIF.
COMMIT WORK.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
IF itab_zycbt005_ant[] IS INITIAL.
v_ind_mudanca = 'X'.
ELSE.
LOOP AT itab_zycbt005_ant WHERE status = 'I'
...
...
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.
* >> Início da inclusão: FORM ENCONTRA_DOCUMENTO
v_modulo = 'S'.
* << Fim da inclusão
ENDIF.
itab_zycbe033-d_newko = v_conta.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM ENCONTRA_DOCUMENTO
IF /pws/zycbe001-tpcontr(1) = 'C' AND /pws/zycbt089-tp_liq_and EQ 'S'.
v_modulo = 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM ENCONTRA_DOCUMENTO
IF /pws/zycbe001-tpcontr(1) = 'C' AND /pws/zycbt089-tp_liq_and EQ 'S'
AND v_modulo = 'S'.
* << Fim da inclusão
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
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F07
...
PERFORM desmembra_ace_cp.
PERFORM clearing_030_cp.
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.
* >> Início da inclusão: FORM FILL_DATE1_F30_CP
IF v_erro_estorno IS INITIAL.
* << Fim da inclusão
/pws/zycbe001-slpagar = /pws/zycbe001-slvinc.
* >> Início da inclusão: FORM FILL_DATE1_F30_CP
ENDIF.
* << Fim da inclusão
PERFORM clear_date_batch.
ENDFORM.
FORM estorna_cp.
DATA: j_1bbranch LIKE t001w-j_1bbranch.
READ TABLE itab_zycbt017 WITH KEY nrinvoic = wa_zycbt005-nrinvoic
nrparcf = wa_zycbt005-nrparcf
...
...
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.
v_gjahr = v_year.
* >> Início da inclusão: FORM LANCA_CP
IF NOT itab_zycbt030-budat_t IS INITIAL.
* << Fim da inclusão
v_data = itab_zycbt030-budat_t.
* >> Início da inclusão: FORM LANCA_CP
ELSE.
v_data = itab_zycbt030-budat.
ENDIF.
* << Fim da inclusão
CLEAR: itab_bsid,
v_wrbtr.
REFRESH itab_bsid.
SELECT SUM( wrbtr ) FROM bsid INTO v_wrbtr
...
...
PERFORM fill_date_f30_comissao.
ENDIF.
ELSE.
MOVE: itab_zycet013-nrseq TO itab_erro-vbeln,
text-389 TO itab_erro-msg.
APPEND itab_erro.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
* >> Início da exclusão: FORM LIQUIDA_COMISSAO_DE_AGENTE
IF NOT itab_contabil[] IS INITIAL.
EXPORT itab_contabil TO MEMORY ID '040'.
EXPORT text-394 TO MEMORY ID '050'.
SUBMIT /pws/zycbr040 AND RETURN.
REFRESH itab_contabil.
ENDIF.
IF NOT itab_erro[] IS INITIAL.
EXPORT itab_erro TO MEMORY ID '001'.
SUBMIT /pws/zycbr126 AND RETURN.
REFRESH itab_erro.
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM liquida_comis_trans .
DATA:
v_chave(50) TYPE c,
v_erro_f28(1) TYPE c,
v_aux TYPE c,
v_status_f30(1) TYPE c VALUE 'E'.
PERFORM clear_date_batch.
CLEAR: itab_zycbt032a, itab_zycbt036.
REFRESH: itab_zycbt032a, itab_zycbt036.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F08
...
EXIT.
ENDIF.
READ TABLE itab_zycbt017 WITH KEY
nrinvoic = itab_zycbt030-nrinvoic
gsberf = itab_zycbt030-gsberf.
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_vinc-nrinvoic
AND gsberf = itab_vinc-gsberf.
PERFORM clearing_cli2 TABLES itab_vinc
USING v_kunnr
v_datum.
* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO
IF v_erro_estorno = 'X'.
* << Fim da inclusão
v_subrc = 4.
* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO
v_erro_estorno = 'X'.
* << Fim da exclusão
EXIT.
ENDIF.
IF wa_zycbt007-liq_trans IS INITIAL.
itab_zycbt030-belnr6 = itab_zycbt030-belnr_d.
itab_zycbt030-budat = itab_vinc-dtvincul.
itab_zycbt030-vlslliq =
...
...
itab_vinc-belnr_vinc
itab_vinc-dtvincul
text-341
wa_zycbt011-agums
itab_vinc-bukrs
itab_vinc-waers
/pws/zycbe005-j_1bbranch
CHANGING v_belnr.
v_belnr_001 = v_belnr.
v_dtdocto = itab_vinc-dtvincul.
* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO
IF v_erro_estorno = 'X'.
* << Fim da inclusão
v_subrc = 4.
* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO
v_erro_estorno = 'X'.
* << Fim da exclusão
EXIT.
ENDIF.
itab_vinc-belnr = v_belnr.
MODIFY itab_vinc TRANSPORTING belnr
WHERE nrinvoic = itab_vinc-nrinvoic
AND gsberf = itab_vinc-gsberf
...
...
COMMIT WORK.
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-30'
AND tabela = 'ZYCBT005'
AND cpochv = v_cpochv.
itab_erro-vbeln = p_belnr_ref.
itab_erro-msg = itab_zycbt032-msg.
APPEND itab_erro.
ENDLOOP.
sy-subrc = 4.
* >> Início da inclusão: FORM CLEARING
v_erro_estorno = 'X'.
* << Fim da inclusão
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
sy-subrc = 4.
* >> Início da inclusão: FORM CLEARING
v_erro_estorno = 'X'.
* << Fim da inclusão
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
sy-subrc = 4.
* >> Início da inclusão: FORM CLEARING
v_erro_estorno = 'X'.
* << Fim da inclusão
ENDIF.
IF NOT itab_zycbe224 IS INITIAL.
IF p_agkoa EQ 'D'.
PERFORM enqueue_cliente
USING itab_zycbe033-bukrs p_conta ' '.
ELSE.
PERFORM enqueue_razao
USING itab_zycbe033-bukrs p_conta ' '.
ENDIF.
ENDIF.
...
...
belnr <> itab_vinc-belnr.
LOOP AT itab_trans WHERE koart IS initial.
READ TABLE itab_cli WITH KEY belnr = itab_trans-belnr.
IF sy-subrc NE 0.
itab_trans-koart = 'D'.
MODIFY itab_trans.
ENDIF.
ENDLOOP.
DELETE itab_trans WHERE koart EQ space.
PERFORM anula_liquidacao TABLES itab_vinc.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
IF v_erro_estorno = 'X'.
* << Fim da inclusão
v_subrc = 4.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
v_erro_estorno = 'X'.
* << Fim da exclusão
EXIT.
ENDIF.
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_vinc-nrinvoic AND
gsberf = itab_vinc-gsberf.
CLEAR v_belnr.
IF wa_zycbt007-liq_trans IS INITIAL.
...
...
v_kursf
'D'
v_belnr2
v_budat2
text-296
' '
itab_vinc-bukrs
itab_vinc-waers
/pws/zycbe005-j_1bbranch
CHANGING v_belnr.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
IF v_erro_estorno = 'X'.
* << Fim da inclusão
v_subrc = 4.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
v_erro_estorno = 'X'.
* << Fim da exclusão
EXIT.
ENDIF.
DELETE FROM /pws/zycbt084
WHERE nrseqc = itab_vinc-nrseqc AND
nrparc = itab_vinc-nrparc AND
dtincl = itab_vinc-dtincl AND
...
...
itab_zycbt209-koart
v_belnr2
v_budat2
text-249
itab_zycbt209-umskz
itab_vinc-bukrs
itab_vinc-waers
/pws/zycbe005-j_1bbranch
CHANGING v_belnr.
ENDIF.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
IF v_erro_estorno = 'X'.
* << Fim da inclusão
v_subrc = 4.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
v_erro_estorno = 'X'.
* << Fim da exclusão
EXIT.
ENDIF.
itab_zycbt209-belnr2 = v_belnr.
itab_zycbt209-dtbelnr = itab_vinc-dtvincul.
itab_zycbt209-saldo = itab_zycbt209-saldo + itab_trans-wrbtr.
MODIFY itab_zycbt209.
...
...
v_kursf
v_agkoa
v_belnr
v_dtlanc
text-302
wa_zycbt011-agums
/pws/zycbe001-bukrs
/pws/zycbe001-waers
/pws/zycbe001-j_1bbranch
CHANGING v_belnr.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
IF v_erro_estorno = 'X'.
* << Fim da inclusão
v_subrc = 4.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
v_erro_estorno = 'X'.
* << Fim da exclusão
EXIT.
ENDIF.
itab_vinc-belnr = v_belnr.
itab_vinc-dtbelnr = itab_vinc-dtvincul.
itab_vinc-slpagar = itab_vinc-slpagar -
itab_vinc-vldif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F09
...
COMMIT WORK.
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-30'
AND tabela = 'ZYCBT006'
AND cpochv = itab_vinc-nrinvoic.
itab_erro-vbeln = itab_zycbt030-vbeln.
itab_erro-msg = itab_zycbt032-msg.
APPEND itab_erro.
ENDLOOP.
sy-subrc = 4.
* >> Início da inclusão: FORM CLEARING_CLI2
v_erro_estorno = 'X'.
* << Fim da inclusão
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
sy-subrc = 4.
* >> Início da inclusão: FORM CLEARING_CLI2
v_erro_estorno = 'X'.
* << Fim da inclusão
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
sy-subrc = 4.
* >> Início da inclusão: FORM CLEARING_CLI2
v_erro_estorno = 'X'.
* << Fim da inclusão
ENDIF.
IF NOT itab_zycbe224 IS INITIAL.
PERFORM enqueue_cliente
USING itab_zycbe033-bukrs itab_zycbe033-d_newko ' '.
ENDIF.
ENDFORM.
FORM move_zycbe005.
itab_zycbt005-matnr_or = /pws/zycbe005-matnr_or.
itab_zycbt005-bukrs_or = /pws/zycbe005-bukrs_or.
itab_zycbt005-fkart_or = /pws/zycbe005-fkart_or.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F10
...
ENDFORM.
FORM grava_contabilizacao.
IF /pws/zycbe001-tpcontr EQ 'DP' AND
/pws/zycbt089-f_cont_vinc EQ 'F'.
LOOP AT itab_zycbt005.
CLEAR itab_zycbt005-slpagar.
MODIFY itab_zycbt005.
ENDLOOP.
MOVE-CORRESPONDING itab_zycbt005 TO /pws/zycbt005.
ENDIF.
* >> Início da exclusão: FORM GRAVA_CONTABILIZACAO
IF /pws/zycbe001-tpcontr(01) = 'D' AND
v_erro_estorno = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_CONTABILIZACAO
IF v_erro_estorno = 'X'.
* << Fim da inclusão
LOOP AT itab_zycbt005_excluidas.
* >> Início da inclusão: FORM GRAVA_CONTABILIZACAO
READ TABLE itab_zycbt005_ant
WITH KEY nrinvoic = itab_zycbt005_excluidas-nrinvoic
nrparcf = itab_zycbt005_excluidas-nrparcf
gsberf = itab_zycbt005_excluidas-gsberf.
IF NOT itab_zycbt005_ant-belnr IS INITIAL AND
NOT itab_zycbt005_ant-status EQ 'I' AND
NOT itab_zycbt005_ant-status EQ space.
* << Fim da inclusão
/pws/zycbe001-slvinc = /pws/zycbe001-slvinc -
itab_zycbt005_excluidas-vlvinc.
* >> Início da inclusão: FORM GRAVA_CONTABILIZACAO
READ TABLE itab_zycbt017
WITH KEY nrinvoic = itab_zycbt005_excluidas-nrinvoic
nrparcf = itab_zycbt005_excluidas-nrparcf
gsberf = itab_zycbt005_excluidas-gsberf.
IF sy-subrc = 0.
v_pos_itab = sy-tabix.
itab_zycbt017-vlslf = ( itab_zycbt017-vlslf -
itab_zycbt005_excluidas-vlme_p ).
itab_zycbt017-fvinc = 'X'.
MODIFY itab_zycbt017 INDEX v_pos_itab.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDIF.
IF /pws/zycbe001-tpcontr(01) = 'D' AND
/pws/zycbt089-f_cont_vinc = 'F'.
/pws/zycbe001-slpagar = /pws/zycbe001-slvinc.
ENDIF.
/pws/zycbe001-belnr2 = v_belnr_001.
/pws/zycbe001-dtvincul = v_dtdocto.
IF /pws/zycbe001-tpcontr(1) EQ 'C' AND
wa_zycbt007-liq_cp EQ 'X'.
* >> Início da exclusão: FORM GRAVA_CONTABILIZACAO
IF itab_zycbt005[] IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_CONTABILIZACAO
IF itab_zycbt005[] IS INITIAL
and v_erro_estorno is initial.
* << Fim da inclusão
/pws/zycbe001-slpagar = /pws/zycbe001-vlme.
ELSE.
CLEAR /pws/zycbe001-slpagar.
ENDIF.
ENDIF.
IF /pws/zycbe001-tpcontr EQ 'DP' AND
v_erro_estorno IS INITIAL.
PERFORM atualiza_dados_estorno.
MODIFY /pws/zycbt001 FROM /pws/zycbe001.
.
...