Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 16/06/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:14:21
Descrição da Nota: VINCULAÇÃO - FATOR DE CONVERSÃO DE MOEDAS
Sintoma
Quando é feita uma vinculação na moeda JPY, ao clicar duas vezes sobre o valor da fatura o programa
está carregando o valor errado no campo Valor Vinculado.
Solução
O programa foi ajustado para levar em consideração o fator de conversão de moedas.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01595 Data: 16/06/2006 Hora: 11:29:25
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01595
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
----------------------------------------------------------------------------------------------------
VINCULAÇÃO - FATOR DE CONVERSÃO DE MOEDAS
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO FATOR CONVERSÃO MOEDAS JPY USD
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F05
REPS /PWS/MZYCB009F10
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F05
...
PERFORM determina_fator USING v_parafator
v_defator.
IF itab_zycbt005-vlme_p NE 0 AND itab_zycbt005-vlvinc NE 0
AND itab_zycbt005-parid EQ 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PARIDADE_2
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p EQ 0 AND itab_zycbt005-parid NE 0
AND itab_zycbt005-vlvinc NE 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlvinc /
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
* >> Início da inclusão: FORM CALC_PARIDADE_2
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p / 100.
ELSE.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p * 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p EQ 0.
* >> Início da exclusão: FORM CALC_PARIDADE_2
CLEAR: itab_zycbt005-parid, itab_zycbt005-vlvinc.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE_2
CLEAR ITAB_ZYCBT005-VLVINC.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p NE itab_zycbt005_parid-vlme_p
AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PARIDADE_2
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p NE itab_zycbt005_parid-vlme_p
AND itab_zycbt005-vlvinc NE 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
ELSEIF itab_zycbt005-parid NE itab_zycbt005_parid-parid
AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PARIDADE_2
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlvinc NE itab_zycbt005_parid-vlvinc
AND itab_zycbt005-vlvinc NE 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PARIDADE_2
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-parid EQ 0 AND itab_zycbt005-vlvinc NE 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PARIDADE_2
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlvinc EQ 0 AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PARIDADE_2
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p NE 0 AND itab_zycbt005-parid EQ 0
AND itab_zycbt005-vlvinc EQ 0.
CLEAR itab_zycbt005-parid.
MODIFY itab_zycbt005 TRANSPORTING parid
WHERE nrseqc = itab_zycbt005-nrseqc AND
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F10
...
PERFORM determina_fator USING v_parafator
v_defator.
IF itab_zycbt005-vlme_p NE 0 AND itab_zycbt005-vlvinc NE 0
AND itab_zycbt005-parid EQ 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PRIDADE_3
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p EQ 0 AND itab_zycbt005-parid NE 0
AND itab_zycbt005-vlvinc NE 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlvinc /
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
* >> Início da inclusão: FORM CALC_PRIDADE_3
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p / 100.
ELSE.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p * 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p EQ 0.
* >> Início da exclusão: FORM CALC_PRIDADE_3
CLEAR: itab_zycbt005-parid, itab_zycbt005-vlvinc.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PRIDADE_3
CLEAR itab_zycbt005-vlvinc.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p NE itab_zycbt005_parid-vlme_p
AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PRIDADE_3
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p NE itab_zycbt005_parid-vlme_p
AND itab_zycbt005-vlvinc NE 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
ELSEIF itab_zycbt005-parid NE itab_zycbt005_parid-parid
AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PRIDADE_3
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlvinc NE itab_zycbt005_parid-vlvinc
AND itab_zycbt005-vlvinc NE 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PRIDADE_3
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-parid EQ 0 AND itab_zycbt005-vlvinc NE 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PRIDADE_3
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlvinc EQ 0 AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da inclusão: FORM CALC_PRIDADE_3
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-vlme_p NE 0 AND itab_zycbt005-parid EQ 0
AND itab_zycbt005-vlvinc EQ 0.
CLEAR itab_zycbt005-parid.
MODIFY itab_zycbt005 TRANSPORTING parid
WHERE nrseqc = itab_zycbt005-nrseqc AND
...