Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 20/11/2009 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:56:00
Descrição da Nota: ERRO VINCULAÇÃO/LIQUIDAÇÃO DE UM MESMO CONTRATO/FATURA EM DATAS DIFERENT
Sintoma
Ao vincular uma fatura a um contrato, depois liquidar e depois efetuar uma nova vinculação da mesma
fatura e do mesmo contrato, mas em data de vinculação diferente, não deixa efetuar a nova vinculação
(exibe mensagem de que a fatura esta liquidada) e, quando deixa, não aparece a segunda vinculação no
liquidação-criar.
Solução
Considerar a chave DTVINCUL ao ler a tabela /pws/zycbt006, que desta forma deixa de exibir mensagem
de erro na vinculação e atualiza o campo /pws/zycbt005-slpagar, permitindo assim liquidar.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09426 Data: 20/11/2009 Hora: 11:19:54
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09426
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
01657 - 00001 - 6.0 - 00024 - VINCULAÇÃO - ESTORNO DEVOLUÇÃO - SALDO A PAGAR/DOC.CONTÁBIL
07760 - 00002 - 7.0 - 00007 - DA-LIQUIDAÇÃO E VINCULAÇÃO LIQ. AUTOMÁT - NORMAL/ARBITRAGEM/PERFO
----------------------------------------------------------------------------------------------------
ERRO VINCULAÇÃO/LIQUIDAÇÃO DE UM MESMO CONTRATO/FATURA EM DATAS DIFERENT
----------------------------------------------------------------------------------------------------
Palavras Chave:
ERRO VINCULAÇÃO LIQUIDAÇÃO DE UM MESMO CONTRATO FATURA EM DATAS DIFERENT
/PWS/ZYCBT005-SLPAGAR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F03
...
start_column = 25
start_row = 6
cancel_display = 'X'
importing
answer = v_resposta.
if v_resposta eq 'J'.
loop at itab_zycbt005 where mark = 'X'.
read table itab_zycbt006
with key nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
* >> Início da exclusão: FORM EXCLUI_DADOS_ITAB
gsberf = itab_zycbt005-gsberf.
* << Fim da exclusão
* >> Início da inclusão: FORM EXCLUI_DADOS_ITAB
gsberf = itab_zycbt005-gsberf
dtvincul = itab_zycbt005-dtvincul.
* << Fim da inclusão
if sy-subrc eq 0 and not
( ( /pws/zycbe001-tpcontr(1) eq 'C' and
wa_zycbt007-liq_cp eq 'X' ) or
( /pws/zycbe001-tpcontr(1) eq 'D' and
/pws/zycbt089-f_cont_vinc eq 'F' ) ).
v_excluida = 'N'.
concatenate text-053 itab_zycbt005-nrinvoic into v_msg.
message i061 with v_msg text-069 text-081.
continue.
else.
...
...
endif.
endif.
if not itab_zycbt006[] is initial
and ( ( /pws/zycbe001-tpcontr(01) eq 'A' or
/pws/zycbe001-tpcontr(01) eq 'E' or
/pws/zycbe001-tpcontr(01) eq 'P' or
/pws/zycbe001-tpcontr(01) eq 'S' ) and
itab_zycbt005-slpagar eq 0 ).
read table itab_zycbt006 with key nrinvoic = /pws/zycbe005-nrinvoic
nrparcf = /pws/zycbe005-nrparcf
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
gsberf = /pws/zycbe005-gsberf.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
gsberf = /pws/zycbe005-gsberf
dtvincul = /pws/zycbe005-dtvincul.
* << Fim da inclusão
if sy-subrc eq 0.
read table itab_zycbt005_ant
with key nrinvoic = /pws/zycbe005-nrinvoic
nrparcf = /pws/zycbe005-nrparcf
gsberf = /pws/zycbe005-gsberf.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
if /pws/zycbe005-nrinvoic ne itab_zycbt005_ant-nrinvoic or
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
if sy-subrc = 0 and
( /pws/zycbe005-nrinvoic ne itab_zycbt005_ant-nrinvoic or
* << Fim da inclusão
/pws/zycbe005-nrparcf ne itab_zycbt005_ant-nrparcf or
/pws/zycbe005-gsberf ne itab_zycbt005_ant-gsberf or
/pws/zycbe005-vlme_p ne itab_zycbt005_ant-vlme_p or
/pws/zycbe005-vlvinc ne itab_zycbt005_ant-vlvinc or
/pws/zycbe005-kostl ne itab_zycbt005_ant-kostl or
/pws/zycbe005-prctr ne itab_zycbt005_ant-prctr or
/pws/zycbe005-txtinf ne itab_zycbt005_ant-txtinf or
/pws/zycbe005-txtobs ne itab_zycbt005_ant-txtobs or
/pws/zycbe005-frcont ne itab_zycbt005_ant-frcont or
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
/pws/zycbe005-fipos ne itab_zycbt005_ant-fipos.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
/pws/zycbe005-fipos ne itab_zycbt005_ant-fipos ).
* << Fim da inclusão
concatenate text-053 /pws/zycbe005-nrinvoic into v_msg.
message i061 with v_msg text-069 text-077 text-078.
perform volta_valores_ant.
read table itab_zycbt005_aux index v_index.
if /pws/zycbe005-mark eq 'X'.
itab_zycbt005-mark = 'X'.
itab_zycbt005_aux-mark = 'X'.
else.
clear itab_zycbt005-mark.
clear itab_zycbt005_aux-mark.
...
...
endif.
endform.
form preenche_itab_zycbt005.
if itab_zycbt006[] is initial.
select * from /pws/zycbt006 into table itab_zycbt006
where nrseqc = /pws/zycbe001-nrseqc.
endif.
loop at itab_zycbt005.
loop at itab_zycbt006 where nrinvoic = itab_zycbt005-nrinvoic
and gsberf = itab_zycbt005-gsberf
* >> Início da exclusão: FORM PREENCHE_ITAB_ZYCBT005
and nrparcf = itab_zycbt005-nrparcf.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ITAB_ZYCBT005
and nrparcf = itab_zycbt005-nrparcf
and dtvincul = itab_zycbt005-dtvincul.
* << Fim da inclusão
endloop.
if sy-subrc ne 0.
itab_zycbt005-slpagar = itab_zycbt005-vlvinc.
loop at itab_zycbt050 where nrinvoic = itab_zycbt005-nrinvoic
and gsberf = itab_zycbt005-gsberf
and nrparcf = itab_zycbt005-nrparcf.
itab_zycbt005-slpagar = itab_zycbt005-slpagar -
itab_zycbt050-vldev.
endloop.
else.
...