CE PLUS - Nota 009644

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

Data/Hora da Publicação: 29/12/2009 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:01:28

Descrição da Nota: VALOR PLANEJADO PARA MOEDAS COM MAIS DE 2 CASAS DECIMAIS ERRADO NO CUSTO

Sintoma

O valor planejado da mercadoria está dividido por 10 para moeda com 3 casas decimais.

 

 

Solução

Corrigido tratamento de moeda na montagem dos valores planejados.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

CUSTO EFETIVO O VALOR PLANEJADO ESTA INCORRETO COM A MOEDA JPY

AO CRIAR FATURA COM PEDIDOS DE MOEDAS DIFERENTES FICA ERRADO.

CUSTO EFETIVO COM VALOR ERRADO QUANDO VINHA DA FATURA

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 09644 Data: 29/12/2009 Hora: 15:04:55

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 09644

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00002

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

02771  - 00001 - 6.0    - 00026  - CUSTO EFETIVO COM VALOR ERRADO QUANDO VINHA DA FATURA

06867  - 00002 - 7.0    - 00006  - AO CRIAR FATURA COM PEDIDOS DE MOEDAS DIFERENTES FICA ERRADO.

07296  - 00003 - 7.0    - 00006  - CUSTO EFETIVO O VALOR PLANEJADO ESTA INCORRETO COM A MOEDA JPY

----------------------------------------------------------------------------------------------------

VALOR PLANEJADO PARA MOEDAS COM MAIS DE 2 CASAS DECIMAIS ERRADO NO CUSTO

----------------------------------------------------------------------------------------------------

Palavras Chave:

MOEDA - CASAS - DECIMAIS - VALOR - PLANEJADO - CUSTO - EFETIVO

/PWS/SAPMZYCI040 - /PWS/ZYCIR035

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI003F01

REPS /PWS/ZYCIR035

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

      IF sy-subrc NE 0.

        CLEAR itab_zycit036.

      ENDIF.

      PERFORM retorna_decimais USING    itab_zycit036-waers

                               CHANGING itab_zycit036-vlreal.

      IF okcode NE 'DELE'.

        IF /pws/zycie006-ratval EQ '3'.

          PERFORM trata_decimais USING /pws/zycie006-waers

                           CHANGING itab_zycit003-total.

        ENDIF.

* >> Início da exclusão: FORM CUSTEANDO_DESPESA_INCO

        SELECT SINGLE * FROM tcurx WHERE currkey = /pws/zycie006-waers.

        IF sy-subrc = 0 AND tcurx-currdec > 2.

          /pws/zycie036-vlreal = itab_zycit003-total

                     / ( 10 **  ( tcurx-currdec - 2 ) ).

        ELSE.

* << Fim da exclusão

          /pws/zycie036-vlreal = itab_zycit003-total.

* >> Início da exclusão: FORM CUSTEANDO_DESPESA_INCO

        ENDIF.

* << Fim da exclusão

      ELSE.

        READ TABLE itab_zycit003_ini WITH KEY

             ebeln = itab_zycit003-ebeln

             ebelp = itab_zycit003-ebelp.

        IF sy-subrc EQ 0.

         SELECT SINGLE * FROM tcurx WHERE currkey = /pws/zycie006-waers.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCIR035

 

...

          CONCATENATE '0' it_desp-ebelp INTO v_ebelp.

          LOOP AT itab_custo_condition

          WHERE kposn EQ v_ebelp

              AND kschl EQ itab_zycit030-kschl.

            READ TABLE itab_ekpo WITH KEY ebeln = it_desp-ebeln

                                          ebelp = it_desp-ebelp.

            IF sy-subrc EQ 0.

              itab_zycit030_aux-porcent = itab_custo_condition-kbetr  .

              IF NOT itab_ekpo-menge IS INITIAL AND

              NOT it_desp-qtd_iten IS INITIAL.

* >> Início da exclusão: FORM CUSTEANDO_PLANEJADO

                PERFORM retorna_decimais USING it_desp-waers

                         CHANGING itab_custo_condition-kwert.

* << Fim da exclusão

                itab_zycit030_aux-valor = itab_custo_condition-kwert /

                             itab_ekpo-menge * it_desp-qtd_iten.

              ENDIF.

              APPEND itab_zycit030_aux.

            ENDIF.

          ENDLOOP.

        ENDIF.

        IF sy-subrc NE 0.

          IF itab_zycit030-codigo EQ 'II'     OR

             itab_zycit030-codigo EQ 'IPI'    OR

...

 

...

          ENDLOOP.

        ELSE.

          CLEAR v_ebelp.

          CONCATENATE '0' it_desp-ebelp INTO v_ebelp.

          LOOP AT itab_custo_condition

          WHERE kposn EQ v_ebelp

              AND kschl EQ itab_zycit030-kschl.

            itab_zycit030_aux-porcent = itab_custo_condition-kbetr  .

            IF NOT it_desp-menge IS INITIAL AND

            NOT it_desp-qtd_iten IS INITIAL.

* >> Início da exclusão: FORM CUSTEANDO_PLANEJADO

              IF NOT it_desp-waers EQ 'JPY'.

                PERFORM retorna_decimais USING it_desp-waers

                         CHANGING itab_custo_condition-kwert.

              ENDIF.

* << Fim da exclusão

              itab_zycit030_aux-valor = itab_custo_condition-kwert /

                           it_desp-menge * it_desp-qtd_iten.

            ENDIF.

           APPEND itab_zycit030_aux.

          ENDLOOP.

        ENDIF.

        IF sy-subrc NE 0.

          IF itab_zycit030-codigo EQ 'II'     OR

             itab_zycit030-codigo EQ 'IPI'    OR

             itab_zycit030-codigo EQ 'ICMS'   OR

...