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.
7.0
Produto:
Nota
Descrição
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.
...