CE PLUS - Nota 007023

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

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

Data/Hora Última Alteração: 22/02/2011 16:14:26

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

Atualização no programa da Fatura para arredondamento de valores e cálculo de quantidades.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

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

Informações Complementares

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

Nota Número 07023 Data: 24/07/2008 Hora: 16:53:10

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

 

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

Nota Número              : 07023

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00057

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

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.

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

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/MZYCI003I01

REPS /PWS/MZYCI003X01

REPS /PWS/MZYCI023F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

      EXPORT v_modi_cria TO MEMORY ID '020'.

      PERFORM valida_trans USING '/PWS/ZYCI018_A' 'skip'.

    ENDIF.

  ELSE.

    PERFORM valida_trans USING '/PWS/ZYCI018_C' 'skip'.

  ENDIF.

ENDFORM.

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

* << Fim da exclusão

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

    v_qtd_iten = itab_zycit003-qtd_iten * 10000 .

* << Fim da inclusão

    v_qtd_iten = trunc( v_qtd_iten ) .

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

    v_qtd_iten = v_qtd_iten / 1000.

* << Fim da exclusão

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

    v_qtd_iten = v_qtd_iten / 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

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

      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/MZYCI003I01

 

...

     OR /pws/zycie006-tpfatura = '  '.

  itab_zycit003-vlreal    = /pws/zycie003-vlreal.

  itab_zycit003-fabric    = /pws/zycie003-fabric.

  itab_zycit003-porigem   = /pws/zycie003-porigem.

  itab_zycit003-paquis    = /pws/zycie003-paquis.

  itab_zycit003-mfrpn     = /pws/zycie003-mfrpn.

  PERFORM atualiza_fornecedor.

  IF /pws/zycie006-nrseq_pgfat IS INITIAL AND itab_zycit132[] IS

 INITIAL.

    vcalc = itab_zycit003-toinv + itab_zycit003-invoiced.

* >> Início da exclusão: MODULE ALTERA_ITAB_ZYCIT003

    IF vcalc > itab_zycit003-qtd_iten.

* << Fim da exclusão

* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT003

    vcalc2 = itab_zycit003-qtd_iten.

    if vcalc > vcalc2.

* << Fim da inclusão

      MESSAGE s015 WITH text-119.

  itab_zycit003-toinv = itab_zycit003-qtd_iten - itab_zycit003-invoiced.

    ENDIF.

  ENDIF.

  IF /pws/zycie006-ratseg = '3'.

    itab_zycit003-vlseg_fat = /pws/zycie003-vlseg_fat.

    itab_zycit003-vlseg_aux = /pws/zycie003-vlseg_fat.

  ENDIF.

  IF /pws/zycie006-ratfre = 'N'.

    itab_zycit003-vlfre_fat = /pws/zycie003-vlfre_fat.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003X01

 

...

  v_tot_frete LIKE /pws/zycit036-vlmov,

  v_tot_vlseg LIKE /pws/zycit036-vlmov,

  v_frcob(20),

  v_bco_cob(35),

  v_estorno,

  v_flag_regime,

  v_erro,

  v_prof,

  v_tabix LIKE sy-tabix,

  vcalc LIKE /pws/zycie263-qtd_iten,

* >> Início da inclusão:

  vcalc2 LIKE /pws/zycie263-qtd_iten,

* << Fim da inclusão

  v_sisco1 LIKE /pws/zycit085-vlfob,

  v_sisco2 LIKE /pws/zycit085-vlfob,

  v_sisco3 LIKE /pws/zycit085-vlfob,

  v_sisco_item LIKE /pws/zycit085-vlfob,

  v_sisco_tot LIKE /pws/zycit085-vlfob,

  v_stop,

  vsaldo LIKE /pws/zycie263-qtd_iten,

  v_flag_saldo,

  v_idx LIKE sy-tabix,

  tqtd LIKE /pws/zycie003-qtd_iten,

...

 

 

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

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

* << Fim da exclusão

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

      v_qtd_itens = it_verbl-qtd_iten  * 10000 .

* << Fim da inclusão

      v_qtd_itens  = trunc( v_qtd_itens  ) .

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

      v_qtd_itens  = v_qtd_itens  / 1000.

* << Fim da exclusão

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

      v_qtd_itens  = v_qtd_itens  / 10000.

* << Fim da inclusão

      IF v_qtd_itens NE vsaldo.

        CLEAR p_v_bl.

        CLEAR v_qtd_itens.

...