CE PLUS - Nota 007064

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 31/07/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 15:21:27

Descrição da Nota: DUMP AO SOLICITAR CRIAÇÃO DA FATURA OU DI

Sintoma

dump ao solicitar criação da fatura ou di

 

 

Solução

Atualização do programa de embarque para aumentar o tamanho de variável para tratamento de decimais.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

SISTEMA RECLAMA DE DIFERENÇA DE DECIMAIS AO CRIAR FATURA.

SISTEMA RECLAMA DE DIFERENÇA DE DECIMAIS AO CRIAR FATURA.

Informações Complementares

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

Nota Número 07064 Data: 31/07/2008 Hora: 15:47:22

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

 

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

Nota Número              : 07064

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00058

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

Referência às notas relacionadas:

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

 

05951  - 00001 - 7.0    - 00004  - SISTEMA RECLAMA DE DIFERENÇA DE DECIMAIS AO CRIAR FATURA.

07023  - 00002 - 7.0    - 00006  - SISTEMA RECLAMA DE DIFERENÇA DE DECIMAIS AO CRIAR FATURA.

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

DUMP AO SOLICITAR CRIAÇÃO DA FATURA OU DI

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

Palavras Chave:

DUMP - CASAS DECIMAIS - DI - FATURA

 

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

Objetos da nota:

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003I01

REPS /PWS/MZYCI003X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

 

FORM call_di.

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

  DATA v_trunc TYPE /pws/zycit003-vlreal.

* << Fim da inclusão

  EXPORT /pws/zycie001-nrseq TO MEMORY ID rimc7.

  LOOP AT itab_zycit003.

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

    v_qtd_iten = itab_zycit003-qtd_iten * 1000 .

    v_qtd_iten = trunc( v_qtd_iten ) .

    v_qtd_iten = v_qtd_iten / 1000.

* << Fim da exclusão

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

    v_trunc = itab_zycit003-qtd_iten * 10000 .

    v_trunc = trunc( v_trunc ) .

    v_qtd_iten = v_trunc / 10000.

* << Fim da inclusão

    IF itab_zycit003-invoiced NE v_qtd_iten AND

       itab_zycit003-servico NE 'X'.

      MESSAGE e061 WITH text-046 itab_zycit003-ebeln

                                 itab_zycit003-ebelp text-193.

      EXIT.

    ELSEIF v_consist = 'X'.

      MESSAGE e015 WITH text-048.

      EXIT.

    ENDIF.

  ENDLOOP.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

 

FORM calcula_total_planejado.

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

  DATA v_toinv TYPE /pws/zycit003-qtd_iten.

* << Fim da exclusão

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

  DATA v_toinv TYPE /pws/zycit003-vlreal .

* << Fim da inclusão

  CLEAR: v_val_plan_tot, v_tot_qtd.

  LOOP AT itab_zycit003.

    MOVE sy-tabix TO v_tabix.

    IF v_waers_diferente = 'X'.

      IF /pws/zycit006-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.

        v_taxa = /pws/zycit085-ukursseg.

      ELSE.

        PERFORM busca_taxa USING itab_zycit003-waers

                          CHANGING v_taxa.

      ENDIF.

    ELSE.

      v_taxa = 1.

    ENDIF.

    IF /pws/zycie006-nrseq_pgfat IS INITIAL AND

       itab_zycit003-toinv IS INITIAL.

      v_toinv = ( itab_zycit003-qtd_iten -

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

                       itab_zycit003-invoiced ) * 1000.

* << Fim da exclusão

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

                       itab_zycit003-invoiced ) * 10000.

* << Fim da inclusão

      v_toinv = trunc( v_toinv ).

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

      v_toinv = v_toinv / 1000.

* << Fim da exclusão

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

      v_toinv = v_toinv / 10000.

* << Fim da inclusão

      itab_zycit003-toinv = v_toinv.

      MODIFY itab_zycit003 INDEX v_tabix TRANSPORTING toinv.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

FORM verify_bl CHANGING p_v_bl.

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

  DATA: v_trunc TYPE /pws/zycit003-vlreal .

* << Fim da inclusão

...

 

...

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

      v_qtd_itens = it_verbl-qtd_iten .

      v_qtd_itens = it_verbl-qtd_iten  * 10000 .

      v_qtd_itens  = trunc( v_qtd_itens  ) .

      v_qtd_itens  = v_qtd_itens  / 10000.

* << Fim da exclusão

 

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

 

      v_trunc = it_verbl-qtd_iten  * 10000 .

      v_trunc  = trunc( v_trunc  ) .

      v_qtd_itens  = v_trunc / 10000.

* << Fim da inclusão

...