Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 06/11/2009 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:56:06
Descrição da Nota: VINCULAÇÃO - RECEBIMENTO/PDD - RECUP. DIVISAS - HIST. CONTÁBIL - ERROS
Sintoma
Ao criar um recebimento/pdd(recuperação de divisas), após preencher os dados:
1 - se não flegar a linha e clicar no botão, não contabiliza, mas atualiza o saldo incorretamente.
2 - se criar outra com os mesmos dados(datas) de uma já existente, permite, e sobrepõe a anterior,
deixando inconsistente o cenário.
3 - No histórico contábil esta repetindo os dados de recebimento de uma fatura para todas as outras
vinculadas e com devolução na captação.
Solução
1 - se não flegar, exibir mensagem e não deixar atualizar o saldo.
2 - se os campos chaves do novo recebimento for igual aos de um já existente, não permite e exibe
mensagem.
3 - separar impressão dos dados de acordo com cada fatura vinculada(com devolução)
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09336 Data: 06/11/2009 Hora: 16:43:10
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09336
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00001
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00901 - 00001 - 6.0 - 00022 - HISTÓRICO CONTÁBIL - PROCESSO DE DEVOULUÇÃO
----------------------------------------------------------------------------------------------------
VINCULAÇÃO - RECEBIMENTO/PDD - RECUP. DIVISAS - HIST. CONTÁBIL - ERROS
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO RECEBIMENTO/PDD RECUP. DIVISAS ERROS
RECUPERAÇÃO DE DIVISAS HISTÓRICO CONTÁBIL
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F02
REPS /PWS/MZYCB009F06
REPS /PWS/MZYCB009F09
REPS /PWS/ZYCBR059
REPT /PWS/SAPMZYCB009
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F02
...
endif.
endloop.
if v_sai eq 'X'.
clear v_sai.
exit.
endif.
select single kurst
into (v_ctgmedia)
from /pws/zycbt009
where codpadr = 'M'.
* >> Início da inclusão: FORM PDD
clear v_subrc.
* << Fim da inclusão
loop at itab_zycbt051 where status_pdd eq 'I'
and mark eq 'X'.
* >> Início da inclusão: FORM PDD
check v_subrc = 0.
read table itab_zycbt051_aux with key
nrseqc = itab_zycbt051-nrseqc
tpdesp = itab_zycbt051-tpdesp
nrparc = itab_zycbt051-nrparc
dtincl = itab_zycbt051-dtincl
nrinvoic = itab_zycbt051-nrinvoic
nrparcf = itab_zycbt051-nrparcf
gsberf = itab_zycbt051-gsberf
dtvincul = itab_zycbt051-dtvincul
dtvencto = itab_zycbt051-dtvencto
dtreceb = itab_zycbt051-dtreceb
dtfech = itab_zycbt051-dtfech
dtpdd = itab_zycbt051-dtpdd
dtapr = itab_zycbt051-dtapr.
if sy-subrc = 0 and itab_zycbt051_aux-status_pdd ne 'I'.
message i015 with text-509.
v_subrc = 4.
continue.
endif.
* << Fim da inclusão
perform limpa_itabs_contabil.
itab_zycbe033-tcode = 'F-02'.
itab_zycbe033-tabela = '/PWS/ZYCBT005'.
concatenate itab_zycbt051-nrseqc itab_zycbt051-tpdesp
itab_zycbt051-nrparc itab_zycbt051-dtincl
itab_zycbt051-nrinvoic itab_zycbt051-gsberf
itab_zycbt051-dtvincul itab_zycbt051-dtvencto
itab_zycbt051-nrparcf
into v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
...
...
endif.
else.
v_subrc = 4.
loop at itab_zycbt032 where cpochv = v_cpochv.
itab_erro-msg = itab_zycbt032-msg.
append itab_erro.
endloop.
endif.
endif.
endloop.
* >> Início da inclusão: FORM PDD
if v_subrc ne 0.
sy-subrc = v_subrc.
else.
v_subrc = sy-subrc.
endif.
* << Fim da inclusão
if sy-subrc ne 0.
message i061 with text-138 text-126.
* >> Início da inclusão: FORM PDD
exit.
* << Fim da inclusão
else.
if v_subrc = 0.
modify /pws/zycbt050 from /pws/zycbe050.
loop at itab_zycbt051 where mark eq 'X' and
belnr_pdd1 ne space and
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F06
...
message i015 with text-103.
endif.
else.
message i015 with text-106.
endif.
endform.
form calcula_saldo_devol.
data:
v_vldif like /pws/zycbe005-vlslf,
v_sldevol like /pws/zycbe005-vlslf.
* >> Início da exclusão: FORM CALCULA_SALDO_DEVOL
read table itab_zycbt051_aux
with key nrinvoic = itab_zycbt051-nrinvoic
nrparcf = itab_zycbt051-nrparcf
gsberf = itab_zycbt051-gsberf
nrseqc = itab_zycbt051-nrseqc
tpdesp = itab_zycbt051-tpdesp
nrparc = itab_zycbt051-nrparc
dtincl = itab_zycbt051-dtincl
dtvincul = itab_zycbt051-dtvincul
dtvencto = itab_zycbt051-dtvencto
dtreceb = itab_zycbt051-dtreceb
dtfech = itab_zycbt051-dtfech
dtpdd = itab_zycbt051-dtpdd
dtapr = itab_zycbt051-dtapr.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_SALDO_DEVOL
read table itab_zycbt051_aux index v_index.
* << Fim da inclusão
if sy-subrc eq 0.
if itab_zycbt051-waers eq itab_zycbt051-waers_fat.
move: 1 to /pws/zycbe051-parid.
if /pws/zycbe051-vlme_fat ne 0.
move /pws/zycbe051-vlme_fat to /pws/zycbe051-vlme.
elseif /pws/zycbe051-vlme ne 0.
move /pws/zycbe051-vlme to /pws/zycbe051-vlme_fat.
endif.
itab_zycbt051-vlme = /pws/zycbe051-vlme.
itab_zycbt051-vlme_fat = /pws/zycbe051-vlme_fat.
...
...
endloop.
loop at itab_zycbt030.
itab_zycbt030-s_kwert = v_s_kwert.
modify itab_zycbt030.
endloop.
select *
from /pws/zycbt209
into table itab_zycbt209
where nrinvoic = itab_zycbt050-nrinvoic and
gsberf = itab_zycbt050-gsberf and
* >> Início da exclusão: FORM SELECIONA_ZYCBT030
nrparcf = itab_zycbt050-nrparcf. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_ZYCBT030
nrparcf = itab_zycbt050-nrparcf. "#EC CI_NOFIRST
* << Fim da inclusão
endform.
form select_devol_vincul.
refresh: itab_zycbt050.
clear: itab_zycbt050.
if not itab_zycbt005[] is initial.
select * from /pws/zycbt050
into table itab_zycbt050
for all entries in itab_zycbt005
where nrseqc = itab_zycbt005-nrseqc
and tpdesp = itab_zycbt005-tpdesp
...
...
endif.
itab_zycbt005-slpagar = /pws/zycbe050-slpagar.
if /pws/zycbe001-tpcontr(1) ca 'CE'.
modify itab_zycbt005 transporting slpagar
where nrinvoic = /pws/zycbe050-nrinvoic
and nrparcf = /pws/zycbe050-nrparcf
and gsberf = /pws/zycbe050-gsberf.
modify itab_zycbt005 transporting belnr dtbelnr
where nrseqc = /pws/zycbe050-nrseqc
and tpdesp = space
* >> Início da exclusão: FORM GRAVA_DEVOLUCAO_VAR
and dtvincul = /pws/zycbe050-dtvincul
.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_DEVOLUCAO_VAR
and dtvincul = /pws/zycbe050-dtvincul.
* << Fim da inclusão
/pws/zycbe001-belnr2 = v_zycbe050_belnr.
* >> Início da inclusão: FORM GRAVA_DEVOLUCAO_VAR
v_belnr_001 = v_zycbe050_belnr.
* << Fim da inclusão
/pws/zycbe001-dtvincul = itab_zycbe033-budat.
update /pws/zycbt001 set: belnr2 = /pws/zycbe001-belnr2
dtvincul = /pws/zycbe001-dtvincul
where nrseqc = /pws/zycbe050-nrseqc.
commit work.
else.
...
...
exit.
endif.
endloop.
if v_sai eq 'X'.
clear v_sai.
exit.
endif.
perform limpa_itabs_contabil.
perform seleciona_zycbt030.
perform seleciona_zycbt045.
* >> Início da inclusão: FORM RECEB_PAGTO_DEV_2
clear v_subrc.
* << Fim da inclusão
loop at itab_zycbt051 where status_rp eq 'I'
and mark eq 'X'.
* >> Início da inclusão: FORM RECEB_PAGTO_DEV_2
check v_subrc = 0.
read table itab_zycbt051_aux with key
nrseqc = itab_zycbt051-nrseqc
tpdesp = itab_zycbt051-tpdesp
nrparc = itab_zycbt051-nrparc
dtincl = itab_zycbt051-dtincl
nrinvoic = itab_zycbt051-nrinvoic
nrparcf = itab_zycbt051-nrparcf
gsberf = itab_zycbt051-gsberf
dtvincul = itab_zycbt051-dtvincul
dtvencto = itab_zycbt051-dtvencto
dtreceb = itab_zycbt051-dtreceb
dtfech = itab_zycbt051-dtfech
dtpdd = itab_zycbt051-dtpdd
dtapr = itab_zycbt051-dtapr.
if sy-subrc = 0 and itab_zycbt051_aux-status_rp ne 'I'.
message i015 with text-509.
v_subrc = 4.
continue.
endif.
* << Fim da inclusão
if itab_zycbt005-waers eq itab_zycbt005-waers_c.
loop at itab_zycbt030
where nrinvoic = itab_zycbt051-nrinvoic
and nrparcf = itab_zycbt051-nrparcf
and gsberf = itab_zycbt051-gsberf.
itab_zycbt030-v_kwert =
( itab_zycbt030-kwert / itab_zycbt030-s_kwert )
* itab_zycbt051-vlme.
read table itab_zycbt017
with key nrinvoic = itab_zycbt030-nrinvoic
...
...
endif.
else.
v_subrc = 4.
endif.
endif.
endloop.
else.
perform recup_divisas_arbitr.
endif.
endloop.
* >> Início da inclusão: FORM RECEB_PAGTO_DEV_2
if v_subrc ne 0.
* << Fim da inclusão
sy-subrc = v_subrc.
* >> Início da inclusão: FORM RECEB_PAGTO_DEV_2
else.
v_subrc = sy-subrc.
endif.
* << Fim da inclusão
if sy-subrc ne 0.
message i061 with text-225 text-155 text-126.
* >> Início da inclusão: FORM RECEB_PAGTO_DEV_2
exit.
* << Fim da inclusão
else.
if v_subrc = 0.
modify /pws/zycbt050 from /pws/zycbe050.
loop at itab_zycbt051 where mark eq 'X'.
modify /pws/zycbt051 from itab_zycbt051.
endloop.
commit work.
endif.
endif.
if not itab_erro1[] is initial.
...
...
exit.
endif.
endloop.
if v_sai eq 'X'.
clear v_sai.
exit.
endif.
perform limpa_itabs_contabil.
perform seleciona_zycbt030.
perform seleciona_zycbt045.
* >> Início da inclusão: FORM RECUP_DIVISAS_2
clear v_subrc.
* << Fim da inclusão
loop at itab_zycbt051 where status_rd eq 'I'
and mark eq 'X'.
* >> Início da inclusão: FORM RECUP_DIVISAS_2
check v_subrc = 0.
read table itab_zycbt051_aux with key
nrseqc = itab_zycbt051-nrseqc
tpdesp = itab_zycbt051-tpdesp
nrparc = itab_zycbt051-nrparc
dtincl = itab_zycbt051-dtincl
nrinvoic = itab_zycbt051-nrinvoic
nrparcf = itab_zycbt051-nrparcf
gsberf = itab_zycbt051-gsberf
dtvincul = itab_zycbt051-dtvincul
dtvencto = itab_zycbt051-dtvencto
dtreceb = itab_zycbt051-dtreceb
dtfech = itab_zycbt051-dtfech
dtpdd = itab_zycbt051-dtpdd
dtapr = itab_zycbt051-dtapr.
if sy-subrc = 0 and itab_zycbt051_aux-status_rd ne 'I'.
message i015 with text-509.
v_subrc = 4.
continue.
endif.
* << Fim da inclusão
if itab_zycbt005-waers eq itab_zycbt005-waers_c.
loop at itab_zycbt030
where nrinvoic = itab_zycbt051-nrinvoic
and nrparcf = itab_zycbt051-nrparcf
and gsberf = itab_zycbt051-gsberf.
itab_zycbt030-v_kwert =
( itab_zycbt030-kwert / itab_zycbt030-s_kwert )
* itab_zycbt051-vlme.
read table itab_zycbt017
with key nrinvoic = itab_zycbt030-nrinvoic
...
...
endif.
else.
v_subrc = 4.
endif.
endif.
endloop.
else.
perform recup_divisas_arbitr.
endif.
endloop.
* >> Início da inclusão: FORM RECUP_DIVISAS_2
if v_subrc ne 0.
* << Fim da inclusão
sy-subrc = v_subrc.
* >> Início da inclusão: FORM RECUP_DIVISAS_2
else.
v_subrc = sy-subrc.
endif.
* << Fim da inclusão
if v_subrc ne 0.
if itab_erro[] is initial.
message i061 with text-100 text-155 text-126.
* >> Início da inclusão: FORM RECUP_DIVISAS_2
exit.
* << Fim da inclusão
endif.
else.
modify /pws/zycbt050 from /pws/zycbe050.
loop at itab_zycbt051 where mark eq 'X'.
modify /pws/zycbt051 from itab_zycbt051.
endloop.
commit work.
endif.
perform grava_contabilizacao.
perform executa_exit using 'VNC016'.
...
...
exit.
endif.
endloop.
if v_sai eq 'X'.
clear v_sai.
exit.
endif.
perform limpa_itabs_contabil.
perform seleciona_zycbt030.
perform seleciona_zycbt045.
* >> Início da inclusão: FORM APR_DESPESAS_2
clear v_subrc.
* << Fim da inclusão
loop at itab_zycbt051 where status_rp eq 'I'
and mark eq 'X'.
* >> Início da inclusão: FORM APR_DESPESAS_2
check v_subrc = 0.
read table itab_zycbt051_aux with key
nrseqc = itab_zycbt051-nrseqc
tpdesp = itab_zycbt051-tpdesp
nrparc = itab_zycbt051-nrparc
dtincl = itab_zycbt051-dtincl
nrinvoic = itab_zycbt051-nrinvoic
nrparcf = itab_zycbt051-nrparcf
gsberf = itab_zycbt051-gsberf
dtvincul = itab_zycbt051-dtvincul
dtvencto = itab_zycbt051-dtvencto
dtreceb = itab_zycbt051-dtreceb
dtfech = itab_zycbt051-dtfech
dtpdd = itab_zycbt051-dtpdd
dtapr = itab_zycbt051-dtapr.
if sy-subrc = 0 and itab_zycbt051_aux-status_rp ne 'I'.
message i015 with text-509.
v_subrc = 4.
continue.
endif.
* << Fim da inclusão
if itab_zycbt005-waers eq itab_zycbt005-waers_c.
loop at itab_zycbt030
where nrinvoic = itab_zycbt051-nrinvoic
and nrparcf = itab_zycbt051-nrparcf
and gsberf = itab_zycbt051-gsberf.
itab_zycbt030-v_kwert =
( itab_zycbt030-kwert / itab_zycbt030-s_kwert )
* itab_zycbt051-vlme.
read table itab_zycbt017
with key nrinvoic = itab_zycbt030-nrinvoic
...
...
endif.
else.
v_subrc = 4.
endif.
endif.
endloop.
else.
perform recup_divisas_arbitr.
endif.
endloop.
* >> Início da inclusão: FORM APR_DESPESAS_2
if v_subrc ne 0.
sy-subrc = v_subrc.
else.
v_subrc = sy-subrc.
endif.
* << Fim da inclusão
if sy-subrc ne 0.
message i061 with text-225 text-155 text-126.
* >> Início da inclusão: FORM APR_DESPESAS_2
exit.
* << Fim da inclusão
else.
if v_subrc = 0.
modify /pws/zycbt050 from /pws/zycbe050.
modify /pws/zycbt030 from table itab_zycbt030.
delete from /pws/zycbt006
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F09
...
endif.
v_codeven_dev = '014P'.
perform get_parameters using v_codeven_dev.
read table itab_zyglt316 index 1.
if sy-subrc eq 0.
v_contad = itab_zyglt316-konts.
else.
message i016 with text-011.
exit.
endif.
* >> Início da inclusão: FORM LANCAMENTO_PDD
clear v_subrc.
* << Fim da inclusão
loop at itab_zycbt051 where status_pdd eq 'I'
and mark eq 'X'.
* >> Início da inclusão: FORM LANCAMENTO_PDD
check v_subrc = 0.
read table itab_zycbt051_aux with key
nrseqc = itab_zycbt051-nrseqc
tpdesp = itab_zycbt051-tpdesp
nrparc = itab_zycbt051-nrparc
dtincl = itab_zycbt051-dtincl
nrinvoic = itab_zycbt051-nrinvoic
nrparcf = itab_zycbt051-nrparcf
gsberf = itab_zycbt051-gsberf
dtvincul = itab_zycbt051-dtvincul
dtvencto = itab_zycbt051-dtvencto
dtreceb = itab_zycbt051-dtreceb
dtfech = itab_zycbt051-dtfech
dtpdd = itab_zycbt051-dtpdd
dtapr = itab_zycbt051-dtapr.
if sy-subrc = 0 and itab_zycbt051_aux-status_pdd ne 'I'.
message i015 with text-509.
v_subrc = 4.
continue.
endif.
* << Fim da inclusão
if itab_zycbt051-vlme_fat is initial.
message i015 with text-017.
continue.
endif.
if itab_zycbt051-dtpdd is initial.
message i015 with text-028.
continue.
endif.
v_codeven_dev = '014P'.
perform get_parameters using v_codeven_dev.
...
...
endloop.
endif.
else.
v_subrc = 4.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
endif.
endif.
endloop.
* >> Início da inclusão: FORM LANCAMENTO_PDD
if v_subrc ne 0.
sy-subrc = v_subrc.
else.
v_subrc = sy-subrc.
endif.
* << Fim da inclusão
if sy-subrc ne 0.
message i061 with text-138 text-126.
* >> Início da inclusão: FORM LANCAMENTO_PDD
exit.
* << Fim da inclusão
else.
if v_subrc = 0.
modify /pws/zycbt050 from /pws/zycbe050.
loop at itab_zycbt051 where mark eq 'X' and
belnr_pdd1 ne space.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR059
...
itab_dados_rp-tpdesp = itab_zycbt051-tpdesp.
itab_dados_rp-nrparc = itab_zycbt051-nrparc.
itab_dados_rp-dtincl = itab_zycbt051-dtincl.
itab_dados_rp-gsberf = itab_zycbt051-gsberf.
itab_dados_rp-dtvincul = itab_zycbt051-dtvincul.
itab_dados_rp-dtvencto = itab_zycbt051-dtvencto.
itab_dados_rp-tpdev = itab_zycbt051-tpdev.
itab_dados_rp-vlme = itab_zycbt051-vlme.
itab_dados_rp-belnr_rp = itab_zycbt051-belnr_rp.
itab_dados_rp-dtreceb = itab_zycbt051-dtreceb.
* >> Início da inclusão: FORM DADOS_DEVOLUCAO
itab_dados_rp-NRSEQC = itab_zycbt051-NRSEQC.
itab_dados_rp-NRINVOIC = itab_zycbt051-NRINVOIC.
itab_dados_rp-NRPARCF = itab_zycbt051-NRPARCF.
itab_dados_rp-DTFECH = itab_zycbt051-DTFECH.
itab_dados_rp-DTPDD = itab_zycbt051-DTPDD.
itab_dados_rp-DTAPR = itab_zycbt051-DTAPR .
* << Fim da inclusão
append itab_dados_rp.
elseif itab_zycbt051-tpdev(2) eq 'RD'.
itab_dados_rd-tpdesp = itab_zycbt051-tpdesp.
itab_dados_rd-nrparc = itab_zycbt051-nrparc.
itab_dados_rd-dtincl = itab_zycbt051-dtincl.
itab_dados_rd-gsberf = itab_zycbt051-gsberf.
itab_dados_rd-dtvincul = itab_zycbt051-dtvincul.
itab_dados_rd-dtvencto = itab_zycbt051-dtvencto.
itab_dados_rd-tpdev = itab_zycbt051-tpdev.
itab_dados_rd-vlme = itab_zycbt051-vlme.
itab_dados_rd-belnr_rd = itab_zycbt051-belnr_rd.
itab_dados_rd-dtfech = itab_zycbt051-dtfech.
* >> Início da inclusão: FORM DADOS_DEVOLUCAO
itab_dados_rd-NRSEQC = itab_zycbt051-NRSEQC.
itab_dados_rd-NRINVOIC = itab_zycbt051-NRINVOIC.
itab_dados_rd-NRPARCF = itab_zycbt051-NRPARCF.
itab_dados_rd-DTFECH = itab_zycbt051-DTFECH.
itab_dados_rd-DTPDD = itab_zycbt051-DTPDD.
itab_dados_rd-DTAPR = itab_zycbt051-DTAPR .
* << Fim da inclusão
append itab_dados_rd.
elseif itab_zycbt051-tpdev(2) eq 'DP'.
itab_dados_dp-tpdesp = itab_zycbt051-tpdesp.
itab_dados_dp-nrparc = itab_zycbt051-nrparc.
itab_dados_dp-dtincl = itab_zycbt051-dtincl.
itab_dados_dp-gsberf = itab_zycbt051-gsberf.
itab_dados_dp-dtvincul = itab_zycbt051-dtvincul.
itab_dados_dp-dtvencto = itab_zycbt051-dtvencto.
itab_dados_dp-tpdev = itab_zycbt051-tpdev.
itab_dados_dp-vlme = itab_zycbt051-vlme.
itab_dados_dp-belnr_apr = itab_zycbt051-belnr_apr.
itab_dados_dp-dtapr = itab_zycbt051-dtapr.
* >> Início da inclusão: FORM DADOS_DEVOLUCAO
itab_dados_dp-NRSEQC = itab_zycbt051-NRSEQC.
itab_dados_dp-NRINVOIC = itab_zycbt051-NRINVOIC.
itab_dados_dp-NRPARCF = itab_zycbt051-NRPARCF.
itab_dados_dp-DTFECH = itab_zycbt051-DTFECH.
itab_dados_dp-DTPDD = itab_zycbt051-DTPDD.
itab_dados_dp-DTAPR = itab_zycbt051-DTAPR .
* << Fim da inclusão
append itab_dados_dp.
elseif itab_zycbt051-tpdev(2) eq 'PD'.
itab_dados_pd-tpdesp = itab_zycbt051-tpdesp.
itab_dados_pd-nrparc = itab_zycbt051-nrparc.
itab_dados_pd-dtincl = itab_zycbt051-dtincl.
itab_dados_pd-gsberf = itab_zycbt051-gsberf.
itab_dados_pd-dtvincul = itab_zycbt051-dtvincul.
itab_dados_pd-dtvencto = itab_zycbt051-dtvencto.
itab_dados_pd-tpdev = itab_zycbt051-tpdev.
itab_dados_pd-vlme = itab_zycbt051-vlme.
itab_dados_pd-belnr_pdd1 = itab_zycbt051-belnr_pdd1.
itab_dados_pd-belnr_pdd2 = itab_zycbt051-belnr_pdd2.
itab_dados_pd-dtpdd = itab_zycbt051-dtpdd.
* >> Início da inclusão: FORM DADOS_DEVOLUCAO
itab_dados_pd-NRSEQC = itab_zycbt051-NRSEQC.
itab_dados_pd-NRINVOIC = itab_zycbt051-NRINVOIC.
itab_dados_pd-NRPARCF = itab_zycbt051-NRPARCF.
itab_dados_pd-DTFECH = itab_zycbt051-DTFECH.
itab_dados_pd-DTPDD = itab_zycbt051-DTPDD.
itab_dados_pd-DTAPR = itab_zycbt051-DTAPR .
* << Fim da inclusão
append itab_dados_pd.
endif.
endloop.
endloop.
describe table itab_dados_rp lines cont_rp.
describe table itab_dados_rd lines cont_rd.
describe table itab_dados_dp lines cont_dp.
describe table itab_dados_pd lines cont_pd.
if cont_rp >= cont_rd
and not cont_rp is initial.
...
...
itab_dados_dev-v_can = v_canc.
itab_dados_dev-belnr_canc = itab_zycbt050-belnr_canc.
itab_dados_dev-dtdevol = itab_zycbt050-dtdevol.
itab_dados_dev-dtcanc = itab_zycbt050-dtcanc.
if cont_geral eq 0.
append itab_dados_dev.
else.
.
do cont_geral times.
read table itab_dados_rp index sy-index.
* >> Início da exclusão: FORM DADOS_DEVOLUCAO
if sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DADOS_DEVOLUCAO
if sy-subrc = 0
and itab_dados_rp-nrinvoic = itab_zycbt050-nrinvoic
and itab_dados_rp-nrparcf = itab_zycbt050-nrparcf
and itab_dados_rp-gsberf = itab_zycbt050-gsberf.
* << Fim da inclusão
itab_dados_dev-vlme_rp = itab_dados_rp-vlme.
itab_dados_dev-belnr_rp = itab_dados_rp-belnr_rp.
itab_dados_dev-dtreceb = itab_dados_rp-dtreceb.
endif.
read table itab_dados_rd index sy-index.
* >> Início da exclusão: FORM DADOS_DEVOLUCAO
if sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DADOS_DEVOLUCAO
if sy-subrc = 0
and itab_dados_rd-nrinvoic = itab_zycbt050-nrinvoic
and itab_dados_rd-nrparcf = itab_zycbt050-nrparcf
and itab_dados_rd-gsberf = itab_zycbt050-gsberf.
* << Fim da inclusão
itab_dados_dev-vlme_rd = itab_dados_rd-vlme.
itab_dados_dev-belnr_rd = itab_dados_rd-belnr_rd.
itab_dados_dev-dtfech = itab_dados_rd-dtfech.
endif.
read table itab_dados_dp index sy-index.
* >> Início da exclusão: FORM DADOS_DEVOLUCAO
if sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DADOS_DEVOLUCAO
if sy-subrc = 0
and itab_dados_dp-nrinvoic = itab_zycbt050-nrinvoic
and itab_dados_dp-nrparcf = itab_zycbt050-nrparcf
and itab_dados_dp-gsberf = itab_zycbt050-gsberf.
* << Fim da inclusão
itab_dados_dev-vlme_apr = itab_dados_dp-vlme.
itab_dados_dev-belnr_apr = itab_dados_dp-belnr_apr.
itab_dados_dev-dtapr = itab_dados_dp-dtapr.
endif.
read table itab_dados_pd index sy-index.
* >> Início da exclusão: FORM DADOS_DEVOLUCAO
if sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DADOS_DEVOLUCAO
if sy-subrc = 0
and itab_dados_pd-nrinvoic = itab_zycbt050-nrinvoic
and itab_dados_pd-nrparcf = itab_zycbt050-nrparcf
and itab_dados_pd-gsberf = itab_zycbt050-gsberf.
* << Fim da inclusão
itab_dados_dev-vlme_pdd1 = itab_dados_pd-vlme.
itab_dados_dev-belnr_pdd1 = itab_dados_pd-belnr_pdd1.
itab_dados_dev-vlme_pdd2 = itab_dados_pd-vlme.
itab_dados_dev-belnr_pdd2 = itab_dados_pd-belnr_pdd2.
itab_dados_dev-dtpdd = itab_dados_pd-dtpdd.
endif.
append itab_dados_dev.
clear itab_dados_dev.
enddo.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB009
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 509
Texto: (48 caracteres)
"Já existe recebimento nesta data. Não permitido."
Comprimento máximo: 48