CE PLUS - Nota 007442

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 15/10/2008 00:00:00

Data/Hora Última Alteração: 03/02/2010 17:08:10

Descrição da Nota: ERRO AO CONTABILIZAR FATURA JPY

Sintoma

 

Erro ao contabilizar fatura JPY

 

Solução

 

Verificar casas decimais antes de retirar valor de último item.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 07442 Data: 15/10/2008 Hora: 15:40:04

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

 

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

Nota Número              : 07442

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00069

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

ERRO AO CONTABILIZAR FATURA JPY

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

Palavras Chave:

CONTABILIZAÇÃO - FATURA - JPY - MAIS DE UM ITEM

 

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

Objetos da nota:

REPS /PWS/MZYCI003F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

  ENDLOOP.

  IF ( t001-land1 = 'AR' OR t001-land1 = 'CL' )

  AND /pws/zycit031-inco1_ci = 'FOB'.

    v_vlreal = /pws/zycie006-vlmerc .

  ELSE.

    v_vlreal = /pws/zycie006-vltotal.

  ENDIF.

  PERFORM retorna_decimais USING /pws/zycie006-waers

                           CHANGING v_vlreal.

  v_ttotal = v_total - v_vlreal.

* >> Início da inclusão: FORM CHECK_TOTAL

  PERFORM trata_decimais USING /pws/zycie006-waers

* << Fim da inclusão

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

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

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  v_ttotal = v_ttotal * ( 10 ** ( tcurx-currdec - 2 ) ).

* << Fim da exclusão

* >> Início da inclusão: FORM CHECK_TOTAL

                         CHANGING v_ttotal.

* << Fim da inclusão

  IF /pws/zycie006-ratval = 3.

    DESCRIBE TABLE itab_zycit003 LINES v_line.

    LOOP AT itab_zycit003 WHERE livre = 'S'.

      v_tabix = sy-tabix.

      IF v_waers_diferente = 'X'.

        IF /pws/zycie006-tpfatura = '02' AND NOT

           /pws/zycit085-ukursfre IS INITIAL.

          v_taxa = /pws/zycit085-ukursfre.

        ELSEIF /pws/zycie006-tpfatura = '03' AND NOT

               /pws/zycit085-ukursseg IS INITIAL.

...

 

...

        ELSE.

          PERFORM busca_taxa USING itab_zycit003-waers

                            CHANGING v_taxa.

        ENDIF.

      ELSE.

        v_taxa = 1.

      ENDIF.

      v_difp = v_vlreal - v_total.

      v_tot_aux = v_tot_aux + itab_zycit003-total.

      IF v_tabix EQ v_line.

* >> Início da inclusão: FORM CHECK_TOTAL

        PERFORM retorna_decimais USING /pws/zycie006-waers

                                 CHANGING v_tot_aux.

* << Fim da inclusão

        itab_zycit003-total = itab_zycit003-total +

          ( v_vlreal - v_tot_aux ).

      ELSE.

        itab_zycit003-total = ( itab_zycit003-vlreal *

                               itab_zycit003-toinv )

                             + itab_zycit003-vlfre_aux

                             + itab_zycit003-vlseg_aux.

      ENDIF.

      MODIFY itab_zycit003 TRANSPORTING vlreal total.

    ENDLOOP.

...