CE PLUS - Nota 001596

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.

 

Versões Tratadas

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