Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 14/01/2010 00:00:00
Data/Hora Última Alteração: 21/02/2011 10:22:54
Descrição da Nota: VINCULAÇÃO DE FATURAS EXPORTAÇÃO, CONTABILIZAÇÃO CONTAS IGUAIS
Sintoma
Câmbio Exportação, captação de 1 ACC gera o documento corretamente, se vincula uma fatura, a
vinculação ocorre sem problemas, porém quando faz Vinculação de 3 ou mais faturas, a primeira
fatura gera o contábil correto, a segunda fatura não sobra partida em aberto para a liquidação,
e a terceira fatura contabiliza corretamente tb.
Solução
Deixar efetuar o desmembramento do contrato, mesmo que seja vinculação total, pois desta forma irá
funcionar vinculação de contas iguais.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09688 Data: 14/01/2010 Hora: 12:28:17
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09688
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00004
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08536 - 00001 - 7.0 - 00009 - DA-VINCULAÇÃO/LIQUIDAÇÃO-OTIMIZAÇÃO-BUSCA TAXAS/TIPO DOCTO. POR C
----------------------------------------------------------------------------------------------------
VINCULAÇÃO DE FATURAS EXPORTAÇÃO, CONTABILIZAÇÃO CONTAS IGUAIS
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO DE FATURAS EXPORTAÇÃO, CONTABILIZAÇÃO CONTAS IGUAIS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F08
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F08
...
endif.
endif.
perform limpa_itabs_contabil.
endform.
form fill_date1_f30_desm using p_flag.
data: v_soma like /pws/zycbt005-vlvinc,
v_soma2 like /pws/zycbt005-vlvinc.
data: v_cpochv like /pws/zycbe033-cpochv,
v_kursf like /pws/zycbe033-kursf ,
v_vinc_total,
* >> Início da exclusão: FORM FILL_DATE1_F30_DESM
v_linha.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
v_linha,
v_contas(1) type c.
* << Fim da inclusão
clear v_dtdocto.
clear v_f30_vinc.
perform get_parameters_001.
perform clear_date_batch.
if /pws/zycbe001-dtvincul is initial
or ( /pws/zycbe001-belnr = /pws/zycbe001-belnr2 and
not /pws/zycbe001-belnr2 is initial ).
case /pws/zycbe001-fdtlanc.
when 'D'.
v_dtdocto = /pws/zycbe001-dtdesem.
...
...
separated by space.
append itab_zycbt036.
endif.
endloop.
if /pws/zycbe001-slvinc is initial.
v_vinc_total = 'X'.
else.
clear v_vinc_total.
endif.
check sy-subrc eq 0.
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
v_contas = 'N'.
perform verifica_contas changing v_contas.
* << Fim da inclusão
v_tpcontabil = 'D_CON'.
perform busca_dados_bi using itab_zycbe033-bukrs
v_tpcontabil.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
if itab_zycbt034 is initial.
* >> Início da exclusão: FORM FILL_DATE1_F30_DESM
if v_vinc_total is initial.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
if v_vinc_total is initial or v_contas = 'S'.
* << Fim da inclusão
if /pws/zycbe001-tpcontr(1) = 'D' and
not wa_zycbt089-rateio_cl is initial.
call function '/PWS/ZYCB_TRANSACAO_F_30_PR'
exporting
v_modo = v_modo_bi
v_vinc_tot = v_vinc_total
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
...
...
/pws/zycbe005-nrparc /pws/zycbe005-dtincl
/pws/zycbe005-nrinvoic /pws/zycbe005-gsber
/pws/zycbe005-nrparcf
/pws/zycbe005-dtvincul /pws/zycbe005-dtvencto
into v_cpochv.
read table itab_zycbt032 with key tcode = text-041
tabela = text-002
cpochv = v_cpochv
tpmsg = 'S'.
if sy-subrc = 0
* >> Início da exclusão: FORM FILL_DATE1_F30_DESM
or not v_vinc_total is initial.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
or ( not v_vinc_total is initial and v_contas = 'N' ).
* << Fim da inclusão
v_status_s = '0'.
clear v_doc_f30.
if not itab_zycbt032-belnr is initial.
v_dtdocto = itab_zycbe033-budat.
v_belnr_001 = itab_zycbt032-belnr.
v_doc_f30 = 'X'.
* >> Início da exclusão: FORM FILL_DATE1_F30_DESM
elseif not v_vinc_total is initial.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
elseif ( not v_vinc_total is initial and v_contas = 'N' ).
* << Fim da inclusão
v_dtdocto = itab_zycbe033-budat.
v_belnr_001 = itab_zycbe033-belnr.
v_doc_f30 = 'X'.
endif.
clear v_ind_errocont.
read table itab_zycbt005 with key
nrinvoic = itab_zycbt017-nrinvoic
nrparcf = itab_zycbt017-nrparcf
gsberf = itab_zycbt017-gsberf.
check sy-subrc = 0.
* >> Início da exclusão: FORM FILL_DATE1_F30_DESM
if v_vinc_total is initial.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
if v_vinc_total is initial or v_contas = 'S'.
* << Fim da inclusão
read table itab_zycbe033 with key cpochv = v_cpochv.
itab_zycbt077-belnr = itab_zycbt032-belnr.
itab_zycbt077-bukrs = itab_zycbe033-bukrs.
itab_zycbt077-gjahr = itab_zycbe033-budat(4).
itab_zycbt077-status = 'C'.
itab_zycbt077-tcode = itab_zycbt032-tcode.
concatenate text-198 /pws/zycbe001-tpcontr into
itab_zycbt077-codeven.
itab_zycbt077-codmod = 'E'.
itab_zycbt077-nrseqc = /pws/zycbe001-nrseqc.
...
...
clear v_f30_vinc.
clear v_desm.
loop at itab_zycbt005 where flag = p_flag.
if not v_doc_f30 is initial.
if v_desm is initial or
/pws/zycbe001-slvinc > 0.
move v_belnr_001 to v_desm.
endif.
perform clear_date_batch.
perform fill_date1_f30_vinc.
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
if not v_contas = 'S'.
* << Fim da inclusão
v_desm = itab_zycbt005-belnr.
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
endif.
* << Fim da inclusão
if v_subrc ne 0.
exit.
endif.
itab_zycbt005-flag = ' '.
modify itab_zycbt005.
endif.
...
...
nrparc = itab_zycbt002saldo-nrparc.
itab_zycbt002e-slvinc = itab_zycbt002saldo-slvinc.
modify itab_zycbt002e transporting slvinc
where nrseqc = itab_zycbt002saldo-nrseqc
and nrparc = itab_zycbt002saldo-nrparc
and tpparc = itab_zycbt002saldo-tpparc.
endif.
endloop.
endif.
endform.
* >> Início da inclusão:
form verifica_contas changing v_contas.
data: v_aux_agkon type /pws/zycbe033-agkon,
v_aux_d_newko type /pws/zycbe033-d_newko.
v_prazo = /pws/zycbe001-przcontr.
v_contas = 'N'.
if /pws/zycbe001-tpcontr(1) = 'A' or
/pws/zycbe001-tpcontr(1) = 'T' or
/pws/zycbe001-tpcontr(1) = 'P' or
/pws/zycbe001-tpcontr(1) = 'S' or
/pws/zycbe001-tpcontr(1) = 'D'.
if /pws/zycbe001-tpcontr(1) ne 'D'.
concatenate /pws/zycbe001-tpcontr v_prazo
into v_codaux1 separated by space.
call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
exporting
bukrs = /pws/zycbe001-bukrs
ktosl = 'CPT'
codaux1 = v_codaux1
tables
account = itab_zyglt316
exceptions
key_not_found = 1
rules_not_found = 2
others = 3.
if sy-subrc eq 0.
read table itab_zyglt316 index 1.
v_aux_agkon = itab_zyglt316-konth.
endif.
else.
v_aux_agkon = /pws/zycbe001-kunnr.
endif.
concatenate 'E' v_prazo
into v_codaux1 separated by space.
call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
exporting
bukrs = /pws/zycbe001-bukrs
ktosl = 'CPT'
codaux1 = v_codaux1
codaux2 = /pws/zycbe001-tpcontr
tables
account = itab_zyglt316
exceptions
key_not_found = 1
rules_not_found = 2
others = 3.
if sy-subrc eq 0.
read table itab_zyglt316 index 1.
v_aux_d_newko = itab_zyglt316-konth.
endif.
if v_aux_agkon = v_aux_d_newko.
v_contas = 'S'.
endif.
endif.
endform.
* << Fim da inclusão