CE PLUS - Nota 005951

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 19/02/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 16:11:05

Descrição da Nota: SISTEMA RECLAMA DE DIFERENÇA DE DECIMAIS AO CRIAR FATURA.

Sintoma

No momento de criação do embaque o campo quantidade do embarque aceita números com 5 casas decimais,

porém quando crio a fatura o campo de quantidade da fatura aceita somente 3 casas, e se coloco como

quantidade um número que arredonde aparece a mensagem Quantidade não permitida.

 

 

Solução

Fazer tratamento para arredondamento de valores e cálculo de quantidades.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTE NAS CASAS DECIMAIS DA FATURA

Informações Complementares

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

Nota Número 05951 Data: 19/02/2008 Hora: 11:39:53

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

 

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

Nota Número              : 05951

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00034

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

Referência às notas relacionadas:

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

 

02229  - 00001 - 6.0    - 00025  - AJUSTE NAS CASAS DECIMAIS DA FATURA

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

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

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

Palavras Chave:

MENSAGEM - FATURA - EMBARQUE - DI

"PEDIDO NÃO ESTÁ COMPLETAMENTE FATURADO"

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

Objetos da nota:

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI023F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

 

FORM call_di.

  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.

* << Fim da exclusão

* >> Início da inclusã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 inclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

 

FORM calcula_total_planejado.

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

       data v_toinv type /pws/zycit003-qtd_iten.

* << 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.

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

      itab_zycit003-toinv = itab_zycit003-qtd_iten -

                            itab_zycit003-invoiced.

* << Fim da exclusão

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

           v_toinv = ( itab_zycit003-qtd_iten -

                            itab_zycit003-invoiced ) * 1000.

           v_toinv = trunc( v_toinv ).

           v_toinv = v_toinv / 1000.

       itab_zycit003-toinv = v_toinv.

* << Fim da inclusão

      MODIFY itab_zycit003 INDEX v_tabix TRANSPORTING toinv.

    ENDIF.

    IF /pws/zycie006-nrseq_pgfat IS INITIAL AND

       itab_zycit003-ntgew IS INITIAL AND

       NOT /pws/zycie006-ntgew IS INITIAL.

      CLEAR: v_tot_ntgew,  v_tot_qtd.

      LOOP AT itab_zycit263 WHERE ebeln = itab_zycit003-ebeln

                              AND ebelp = itab_zycit003-ebelp

                              AND eliminado EQ space.

        v_tot_ntgew = itab_zycit263-ntgew + v_tot_ntgew.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

  ENDIF.

  IF sy-subrc EQ 0.

    p_v_bl = '1'.

    LOOP AT it_verbl.

      CLEAR vsaldo.

      LOOP AT itab_zycit263 WHERE nrseq = it_verbl-nrseq AND

                                  ebeln = it_verbl-ebeln AND

                                  ebelp = it_verbl-ebelp.

        vsaldo = vsaldo + itab_zycit263-qtd_iten.

      ENDLOOP.

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

      v_qtd_itens = it_verbl-qtd_iten .

* << Fim da exclusão

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

      v_qtd_itens = it_verbl-qtd_iten  * 1000 .

      v_qtd_itens  = trunc( v_qtd_itens  ) .

      v_qtd_itens  = v_qtd_itens  / 1000.

* << Fim da inclusão

      IF v_qtd_itens NE vsaldo.

        CLEAR p_v_bl.

        CLEAR v_qtd_itens.

        EXIT.

      ENDIF.

    ENDLOOP.

    CLEAR v_qtd_itens.

  ENDIF.

ENDFORM.

...