CE PLUS - Nota 001595

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.

 

Versões Tratadas

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

...