Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 19/11/2010 00:00:00
Data/Hora Última Alteração: 09/09/2011 17:13:41
Descrição da Nota: AO CRIAR NF DE CENÁRIO COM ERRO DÁ DUMP.
Sintoma
Ao criar NF de cenário com erro dá dump.
Solução
Verificar se variável está zerada antes de fazer divisão.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10748 Data: 19/11/2010 Hora: 14:13:55
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10748
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00005
Agrupamento : 00048
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05011 - 00001 - 7.0 - 00003 - ERRO NO RATEIO DE DESPESAS DA DI AO FAZER A NF
09665 - 00002 - 8.0 - 00002 - COMPLEMENTO DO BOLETO - CONTABILIZAÇÃO - CAMPO CENTRO DE LUCRO
09821 - 00003 - 8.0 - 00002 - CORREÇÃO DE RATEIO DAS DESPESAS POR VALOR CIF
10193 - 00004 - 8.0 - 00003 - VALOR DAS DESPESAS RATEADAS PELO VALOR CIF.
----------------------------------------------------------------------------------------------------
AO CRIAR NF DE CENÁRIO COM ERRO DÁ DUMP.
----------------------------------------------------------------------------------------------------
Palavras Chave:
DUMP - CRIAR NF - DIVISÃO POR ZERO.
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
PERFORM taxa_converte USING /pws/zycit085-waersfob
/pws/zycit085-dttax
CHANGING v_taxa_desp.
IF NOT v_taxa_desp IS INITIAL.
itab_zycit100-vlfre = itab_zycit100-vlfre / v_taxa_desp.
IF itab_zycit100-waersbem NE /pws/zycit085-waersfob.
itab_zycit100-vlfob =
( itab_zycit100-vlfob * itab_zycit100-dttaxbem )
/ v_taxa_desp.
ENDIF.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF NOT /pws/zycit085-ukursseg IS INITIAL.
* << Fim da inclusão
itab_zycit100-vlseg = itab_zycit100-vlseg /
/pws/zycit085-ukursseg.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDIF.
* << Fim da inclusão
PERFORM retorna_decimais:
USING /pws/zycit085-waersseg
CHANGING itab_zycit100-vlseg,
USING /pws/zycit085-waersfob
CHANGING itab_zycit100-vlfre.
ENDIF.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF NOT /pws/zycit085-vlfob IS INITIAL.
* << Fim da inclusão
v_vldp = itab_zycit049_a-vlreal *
( ( itab_zycit100-vlfob +
itab_zycit100-vlfre + itab_zycit100-vlseg )
/ ( /pws/zycit085-vlfob + v_vlfre +
/pws/zycit085-vlseg ) ).
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDIF.
* << Fim da inclusão
ENDIF.
ELSE.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF NOT v_tot_real IS INITIAL.
* << Fim da inclusão
v_vldp = itab_zycit049_a-vldp *
( itab_zycit003-vlreal *
itab_zycit003-qtd_iten / v_tot_real ).
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
v_tot_vldp = v_tot_vldp + v_vldp.
itab_zycit042_d-vldp = itab_zycit042_d-vldp + v_vldp.
...
...
CHANGING v_vlfre .
PERFORM retorna_decimais
USING /pws/zycit085-waersfob
CHANGING v_vlfre.
ENDIF.
PERFORM taxa_converte USING /pws/zycit085-waersfob
/pws/zycit085-dttax
CHANGING v_taxa_desp.
IF NOT v_taxa_desp IS INITIAL.
itab_zycit100-vlfre = itab_zycit100-vlfre / v_taxa_desp.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF NOT /pws/zycit085-ukursseg IS INITIAL.
* << Fim da inclusão
itab_zycit100-vlseg = itab_zycit100-vlseg /
/pws/zycit085-ukursseg.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDIF.
* << Fim da inclusão
PERFORM: retorna_decimais
USING /pws/zycit085-waersseg
CHANGING itab_zycit100-vlseg,
retorna_decimais
USING /pws/zycit085-waersfob
CHANGING itab_zycit100-vlfre.
ENDIF.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF NOT /pws/zycit085-vlfob IS INITIAL.
* << Fim da inclusão
v_vldp = itab_zycit049-vlreal *
( ( itab_zycit100-vlfob +
itab_zycit100-vlfre + itab_zycit100-vlseg )
/ ( /pws/zycit085-vlfob + v_vlfre +
/pws/zycit085-vlseg ) ).
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDIF.
* << Fim da inclusão
ENDIF.
ELSE.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF NOT v_tot_real IS INITIAL.
* << Fim da inclusão
v_vldp = itab_zycit049-vldp *
( itab_zycit003-vlreal *
itab_zycit003-qtd_iten / v_tot_real ).
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
v_tot_vldp = v_tot_vldp + v_vldp.
itab_zycit042-vldp = itab_zycit042-vldp + v_vldp.
...