Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 16/06/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:14:26
Descrição da Nota: LIQUIDAÇÃO - PROBLEMAS COM FATOR DE CONVERSÃO DE MOEDAS
Sintoma
Ao efetuar a liquidação com arbitragem para os casos de Iene não está sendo levado em consideração o
fator de conversão para o desmembramento do cliente. E também para o caso em que ocorre a arbitragem
com faturas em várias moedas, só está sendo levado em consideração a moeda da primeira fatura da
table control.
Solução
Foram efetuados ajustes no programa de liquidação para que seja levado em consideração o fator de
conversão e também para que seja efetuada a busca correta ao selecionar a moeda da fatura no
desmembramento do cliente.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01596 Data: 16/06/2006 Hora: 14:00:59
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01596
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00117
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO - PROBLEMAS COM FATOR DE CONVERSÃO DE MOEDAS
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO FATOR CONVERSÃO MOEDAS JPY USD EUR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB004F01
REPS /PWS/MZYCB004I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F01
...
MODIFY itab_zycbt005 TRANSPORTING status
WHERE nrseqc = v_nrseqc.
LOOP AT itab_paridade.
itab_paridade-v_vlme_c =
itab_paridade-vlme * itab_paridade-v_parid.
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
PERFORM verifica_casas_decimais
USING
itab_paridade-v_vlme_c
itab_paridade-v_waers_c
itab_paridade-waers
CHANGING itab_paridade-v_vlme_c.
* << Fim da inclusão
MODIFY itab_paridade.
ENDLOOP.
ELSE.
SELECT a~nrseqc a~tpdesp a~nrparc a~dtincl a~nrinvoic
a~nrparcf
...
...
ENDLOOP.
MOVE itab_zycbt005[] TO itab_zycbt005_ant[].
LOOP AT itab_paridade.
itab_paridade-v_vlme_c =
itab_paridade-vlme * itab_paridade-v_parid.
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
PERFORM verifica_casas_decimais
USING
itab_paridade-v_vlme_c
itab_paridade-v_waers_c
itab_paridade-waers
CHANGING itab_paridade-v_vlme_c.
* << Fim da inclusão
MODIFY itab_paridade.
ENDLOOP.
ENDIF.
SELECT * FROM /pws/zycbt001
INTO TABLE itab_zycbt001
...
...
WITH KEY nrinvoic = itab_zycbt005-nrinvoic
dtvincul = itab_zycbt005-dtvincul .
IF sy-subrc = 0.
v_parid = itab_paridade-v_parid.
v_waers_c = itab_paridade-v_waers_c.
* >> Início da exclusão: FORM CARREGA_ZYCBE006
v_vlme_c = /pws/zycbe006-vlme * itab_paridade-v_parid.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ZYCBE006
v_vlme_c = itab_paridade-v_vlme_c.
* << Fim da inclusão
* >> Início da exclusão: FORM CARREGA_ZYCBE006
itab_paridade-v_vlme_c = v_vlme_c.
* << Fim da exclusão
MODIFY itab_paridade TRANSPORTING v_vlme_c
WHERE nrinvoic = itab_zycbt005-nrinvoic AND
dtvincul = itab_zycbt005-dtvincul .
ENDIF.
ENDFORM.
...
...
AND bukrs EQ itab_zycbt006-bukrs
AND gjahr EQ v_year.
PERFORM verify_null_field USING itab_zycbe033-kursf
'TXCAMB'
text-051.
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
PERFORM determina_fator USING v_parafator
v_defator.
itab_zycbe033-wrbtr = itab_zycbt006-vlme *
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
PERFORM verifica_casas_decimais
USING
itab_zycbe033-wrbtr
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING itab_zycbe033-wrbtr.
* << Fim da inclusão
* >> Início da exclusão: FORM FILL_DATE6_F30_ACE
itab_zycbe033-wrbtr = itab_zycbt006-vlme * itab_zycbt005-parid.
* << Fim da exclusão
itab_zycbe033-c_gsber = itab_zycbt006-gsberf.
itab_zycbe033-d_gsber = itab_zycbt006-gsberf.
itab_zycbe033-newbs = '50'.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-belnr = itab_zycbt005-belnr.
...
...
ENDIF.
ENDIF.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT006'.
itab_zycbt036-cpochv = v_cpochv.
* >> Início da exclusão: FORM FILL_DATE6_F30_ACE
itab_zycbt036-residuo = itab_zycbt006-vlme * itab_zycbt005-parid..
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
PERFORM determina_fator USING v_parafator
v_defator.
itab_zycbt036-residuo = itab_zycbt006-vlme *
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
PERFORM verifica_casas_decimais
USING
itab_zycbt036-residuo
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING itab_zycbt036-residuo.
* << Fim da inclusão
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_zycbe033-bukrs
v_date = itab_zycbe033-dtdocto
...
...
itab_zycbe033-zterm = itab_zycbt017-zterm.
ENDIF.
ENDCASE.
ENDLOOP.
PERFORM get_parameters_003.
* >> Início da exclusão: FORM FILL_DATE6_F30_CLIENTE
READ TABLE itab_zycbt005 WITH KEY nrseqc = itab_zycbt006-nrseqc
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE6_F30_CLIENTE
READ TABLE itab_zycbt005 WITH KEY
nrinvoic = itab_zycbt006-nrinvoic
* << Fim da inclusão
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
IF sy-subrc = 0.
itab_zycbe033-waers = itab_zycbt005-waers.
ENDIF.
...
...
v_defator.
IF itab_zycbt005-vlme EQ 0 AND v_parid NE 0
AND v_vlme_c NE 0.
itab_zycbt005-vlme = v_vlme_c /
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
* >> Início da inclusão: FORM CALC_PARIDADE
PERFORM verifica_casas_decimais
USING
itab_zycbt005-vlme
itab_zycbt005-waers
itab_zycbt005-waers_c
CHANGING itab_zycbt005-vlme.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme NE 0 AND v_parid NE 0
AND v_vlme_c EQ 0.
v_vlme_c = itab_zycbt005-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
* >> Início da inclusão: FORM CALC_PARIDADE
PERFORM verifica_casas_decimais
USING
v_vlme_c
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING v_vlme_c.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme NE 0 AND v_parid NE 0
AND v_vlme_c NE 0 AND v_vlme_c NE itab_paridade-v_vlme_c.
itab_zycbt005-vlme = v_vlme_c /
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
* >> Início da inclusão: FORM CALC_PARIDADE
PERFORM verifica_casas_decimais
USING
itab_zycbt005-vlme
itab_zycbt005-waers
itab_zycbt005-waers_c
CHANGING itab_zycbt005-vlme.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme NE 0 AND v_parid NE 0.
v_vlme_c = itab_zycbt005-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
* >> Início da inclusão: FORM CALC_PARIDADE
PERFORM verifica_casas_decimais
USING
v_vlme_c
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING v_vlme_c.
* << Fim da inclusão
ENDIF.
MOVE v_vlme_c TO itab_paridade-v_vlme_c.
MODIFY itab_paridade TRANSPORTING v_vlme_c
WHERE nrinvoic = itab_zycbt005-nrinvoic AND
gsberf = itab_zycbt005-gsberf AND
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004I01