Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 04/03/2010 00:00:00
Data/Hora Última Alteração: 21/02/2011 10:22:43
Descrição da Nota: VINCULAÇÃO COM LIQ AUTOMÁTICA - MENSAGEM INCORRETA DOCUMENTO COMPENSADO
Sintoma
Ao criar uma vinculação com liquidação automática, de Câmbio Pronto ou Down Payment, esta exibindo
mensagem de que o documento esta compensado ou não existe, mas o mesmo esta ok.
Solução
Incluir um sort na tabela interna itab_zycbt033_vinc pelo campo DTVINCUL, para que a lógica de busca
da data fique consistente.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09903 Data: 04/03/2010 Hora: 15:35:41
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09903
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00011
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08692 - 00001 - 7.0 - 00010 - VINCULAÇÃO/LIQUIDAÇÃO - CHAVE REFERÊNCIA E DATA LANÇAMENTO CONTRA
08863 - 00002 - 7.0 - 00010 - LIQUIDAÇÃO - MENSAGEM INCORRETA DE DOCUMENTO COMPENSADO
09394 - 00003 - 8.0 - 00001 - VINCULAÇÃO E LIQUIDAÇÃO DE FATURAS
----------------------------------------------------------------------------------------------------
VINCULAÇÃO COM LIQ AUTOMÁTICA - MENSAGEM INCORRETA DOCUMENTO COMPENSADO
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO COM LIQ AUTOMÁTICA MENSAGEM INCORRETA DOCUMENTO COMPENSADO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB004F01
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB004F03
REPS /PWS/MZYCB009F04
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F01
...
itab_zycbe033-dtdocto = /pws/zycbt074-dtcont.
else.
itab_zycbe033-dtdocto = /pws/zycbe001-dtvincul.
if ( /pws/zycbe001-tpcontr(1) eq 'D' and
/pws/zycbt089-f_cont_vinc eq 'F' ) or
( /pws/zycbe001-tpcontr(1) eq 'C' and
wa_zycbt007-liq_cp eq 'X' ).
select * from /pws/zycbt005 into table itab_zycbt005_vinc
where nrseqc = /pws/zycbe001-nrseqc
and status = 'C'.
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
sort itab_zycbt005_vinc by dtvincul.
* << Fim da inclusão
describe table itab_zycbt005_vinc lines v_linha.
while v_linha > 0.
read table itab_zycbt005_vinc index v_linha.
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
if sy-subrc = 0.
select dtvincul
up to 1 rows
from /pws/zycbt005 into wa_zycbt005-dtvincul
where nrseqc = /pws/zycbe001-nrseqc
and dtvincul > itab_zycbt005_vinc-dtvincul
and status ne 'C'.
endselect.
if sy-subrc ne 0.
exit.
endif.
endif.
* << Fim da inclusão
if sy-subrc = 0
and
itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc
and
itab_zycbt005_vinc-dtvincul < /pws/zycbe001-dtvincul.
itab_zycbe033-dtdocto = itab_zycbt005_vinc-dtvincul.
exit.
else.
v_linha = v_linha - 1.
endif.
...
...
itab_zycbe033-belnr = itab_zycbt005-belnr.
endif.
itab_zycbe033-dtdocto = itab_zycbt005-dtbelnr.
if ( /pws/zycbe001-tpcontr(1) eq 'D' and
/pws/zycbt089-f_cont_vinc eq 'F' ) or
( /pws/zycbe001-tpcontr(1) eq 'C' and
wa_zycbt007-liq_cp eq 'X' ).
select * from /pws/zycbt005 into table itab_zycbt005_vinc
where nrseqc = /pws/zycbe001-nrseqc
and status = 'C'.
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
sort itab_zycbt005_vinc by dtvincul.
* << Fim da inclusão
describe table itab_zycbt005_vinc lines v_linha.
while v_linha > 0.
read table itab_zycbt005_vinc index v_linha.
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
if sy-subrc = 0.
select dtvincul
up to 1 rows
from /pws/zycbt005 into wa_zycbt005-dtvincul
where nrseqc = /pws/zycbe001-nrseqc
and dtvincul > itab_zycbt005_vinc-dtvincul
and status ne 'C'.
endselect.
if sy-subrc ne 0.
exit.
endif.
endif.
* << Fim da inclusão
if sy-subrc = 0
and
itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc
and
itab_zycbt005_vinc-dtvincul < itab_zycbt005-dtbelnr.
itab_zycbe033-dtdocto = itab_zycbt005_vinc-dtvincul.
exit.
else.
v_linha = v_linha - 1.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
itab_zycbe033-dtdocto = /pws/zycbt074-dtcont.
else.
itab_zycbe033-dtdocto = v_zycbe001-dtvincul.
if ( /pws/zycbe001-tpcontr(1) eq 'D' and
/pws/zycbt089-f_cont_vinc eq 'F' ) or
( /pws/zycbe001-tpcontr(1) eq 'C' and
wa_zycbt007-liq_cp eq 'X' ).
select * from /pws/zycbt005 into table itab_zycbt005_vinc
where nrseqc = /pws/zycbe001-nrseqc
and status = 'C'.
* >> Início da inclusão: FORM DESMEMBRA_ACE
sort itab_zycbt005_vinc by dtvincul.
* << Fim da inclusão
describe table itab_zycbt005_vinc lines v_linha.
while v_linha > 0.
read table itab_zycbt005_vinc index v_linha.
* >> Início da inclusão: FORM DESMEMBRA_ACE
if sy-subrc = 0.
select dtvincul
up to 1 rows
from /pws/zycbt005 into wa_zycbt005-dtvincul
where nrseqc = /pws/zycbe001-nrseqc
and dtvincul > itab_zycbt005_vinc-dtvincul
and status ne 'C'.
endselect.
if sy-subrc ne 0.
exit.
endif.
endif.
* << Fim da inclusão
if sy-subrc = 0
and
itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc
and
itab_zycbt005_vinc-dtvincul < v_zycbe001-dtvincul.
itab_zycbe033-dtdocto = itab_zycbt005_vinc-dtvincul.
exit.
else.
v_linha = v_linha - 1.
endif.
...
...
endcase.
elseif itab_zycbt006-belnr5 = itab_zycbt005-belnr.
itab_zycbe033-dtdocto = itab_zycbt005-dtvincul.
if ( /pws/zycbe001-tpcontr(1) eq 'D' and
/pws/zycbt089-f_cont_vinc eq 'F' ) or
( /pws/zycbe001-tpcontr(1) eq 'C' and
wa_zycbt007-liq_cp eq 'X' ).
select * from /pws/zycbt005 into table itab_zycbt005_vinc
where nrseqc = /pws/zycbe001-nrseqc
and status = 'C'.
* >> Início da inclusão: FORM DESMEMBRA_ACE
sort itab_zycbt005_vinc by dtvincul.
* << Fim da inclusão
describe table itab_zycbt005_vinc lines v_linha.
while v_linha > 0.
read table itab_zycbt005_vinc index v_linha.
* >> Início da inclusão: FORM DESMEMBRA_ACE
if sy-subrc = 0.
select dtvincul
up to 1 rows
from /pws/zycbt005 into wa_zycbt005-dtvincul
where nrseqc = /pws/zycbe001-nrseqc
and dtvincul > itab_zycbt005_vinc-dtvincul
and status ne 'C'.
endselect.
if sy-subrc ne 0.
exit.
endif.
endif.
* << Fim da inclusão
if sy-subrc = 0
and
itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc
and
itab_zycbt005_vinc-dtvincul < itab_zycbt005-dtvincul.
itab_zycbe033-dtdocto = itab_zycbt005_vinc-dtvincul.
exit.
else.
v_linha = v_linha - 1.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F03
...
endif.
else.
assign /pws/zycbe001-dtvincul to <fs_dtdocto>.
if ( /pws/zycbe001-tpcontr(1) eq 'D' and
/pws/zycbt089-f_cont_vinc eq 'F' ) or
( /pws/zycbe001-tpcontr(1) eq 'C' and
wa_zycbt007-liq_cp eq 'X' ).
select * from /pws/zycbt005 into table itab_zycbt005_vinc
where nrseqc = /pws/zycbe001-nrseqc
and status = 'C'.
* >> Início da inclusão: FORM DOCUMENTO_VINCULACAO
sort itab_zycbt005_vinc by dtvincul.
* << Fim da inclusão
describe table itab_zycbt005_vinc lines v_linha.
while v_linha > 0.
read table itab_zycbt005_vinc index v_linha.
* >> Início da inclusão: FORM DOCUMENTO_VINCULACAO
if sy-subrc = 0.
select dtvincul
up to 1 rows
from /pws/zycbt005 into wa_zycbt005-dtvincul
where nrseqc = /pws/zycbe001-nrseqc
and dtvincul > itab_zycbt005_vinc-dtvincul
and status ne 'C'.
endselect.
if sy-subrc ne 0.
exit.
endif.
endif.
* << Fim da inclusão
if sy-subrc = 0
and
itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc
and
itab_zycbt005_vinc-dtvincul < <fs_dtdocto>.
assign itab_zycbt005_vinc-dtvincul to <fs_dtdocto>.
exit.
else.
v_linha = v_linha - 1.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F04
...
endif.
else.
assign /pws/zycbe001-dtvincul to <fs_dtdocto>.
if ( /pws/zycbe001-tpcontr(1) eq 'D' and
/pws/zycbt089-f_cont_vinc eq 'F' ) or
( /pws/zycbe001-tpcontr(1) eq 'C' and
wa_zycbt007-liq_cp eq 'X' ).
select * from /pws/zycbt005 into table itab_zycbt005_vinc
where nrseqc = /pws/zycbe001-nrseqc
and status = 'C'.
* >> Início da inclusão: FORM DOCUMENTO_CONTRATO
sort itab_zycbt005_vinc by dtvincul.
* << Fim da inclusão
describe table itab_zycbt005_vinc lines v_line.
while v_line > 0.
read table itab_zycbt005_vinc index v_line.
* >> Início da inclusão: FORM DOCUMENTO_CONTRATO
if sy-subrc = 0.
select dtvincul
up to 1 rows
from /pws/zycbt005 into wa_zycbt005-dtvincul
where nrseqc = /pws/zycbe001-nrseqc
and dtvincul > itab_zycbt005_vinc-dtvincul
and status ne 'C'.
endselect.
if sy-subrc ne 0.
exit.
endif.
endif.
* << Fim da inclusão
if sy-subrc = 0
and
itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc
and
itab_zycbt005_vinc-dtvincul < /pws/zycbe001-dtvincul.
assign itab_zycbt005_vinc-dtvincul to <fs_dtdocto>.
exit.
else.
v_line = v_line - 1.
endif.
...