Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Despesas
Data/Hora da Publicação: 24/10/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:49:45
Descrição da Nota: DUMP AO CRIAR FATURA DE DESPESAS COM CONTABILIZAÇÃO DE IMPOSTOS
Sintoma
Ao tentar criar uma fatura de despesas com contabilização de impostos pela miro ocorre um DUMP de
por estouro de campo.
Solução
Somar apenas os valores necessarios.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05072 Data: 24/10/2007 Hora: 15:03:33
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05072
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00018
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05035 - 00001 - 7.0 - 00003 - DUMP AO CRIAR FATURA DE DESPESAS COM CONTABILIZAÇÃO DE IMPOSTOS
----------------------------------------------------------------------------------------------------
DUMP AO CRIAR FATURA DE DESPESAS COM CONTABILIZAÇÃO DE IMPOSTOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - DESPESAS - IMPOSTOS - DUMP
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
IF v_taxaf IS INITIAL OR v_taxau IS INITIAL.
EXIT.
ENDIF.
REFRESH: itab_zycit403, itab_zycit403t, itab_zycit483.
SELECT * FROM /pws/zycit403 INTO TABLE itab_zycit403
WHERE nrseqdi EQ /pws/zycit085-nrseqdi.
DELETE itab_zycit403 WHERE percentual EQ 0.
LOOP AT itab_zycit403.
itab_zycit403t-codigo = itab_zycit403-codigo.
itab_zycit403t-base = itab_zycit403-base.
* >> Início da exclusão: FORM TRATA_IMPOSTOS
CLEAR: itab_zycit403t-ebeln, itab_zycit403t-ebelp.
* << Fim da exclusão
itab_zycit403t-base =
( itab_zycit403-base * v_taxau ) / v_taxaf.
COLLECT itab_zycit403t.
ENDLOOP.
ENDIF.
LOOP AT itab_zycit403t.
CLEAR: itab_zycit029, itab_zycit399.
READ TABLE itab_zycit399 WITH KEY codigo = itab_zycit403t-codigo.
READ TABLE itab_zycit029 WITH KEY codigo = itab_zycit403t-codigo.
LOOP AT itab_zycit047 WHERE vldp > 0.
...
...
ENDIF.
ENDFORM.
FORM taxa_converte USING p_waers
p_data
CHANGING p_taxa.
CLEAR: p_taxa.
DATA: v_moeda LIKE tcurc-/pws/codmo,
v_msgd(10),
v_linhas TYPE i.
DATA: itab_zycit174 TYPE /pws/zycit174 OCCURS 0 WITH HEADER LINE.
* >> Início da exclusão: FORM TAXA_CONVERTE
IF p_waers EQ wa_zycbt007-waersb.
p_taxa = 1.
EXIT.
ENDIF.
* << Fim da exclusão
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
waers = p_waers.
IF sy-subrc EQ 0.
REFRESH itab_zycit174.
SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174 WHERE
codconver = v_moeda AND
vigen_inicio <= p_data AND
vigen_fim >= p_data AND
land1 = t001-land1.
DESCRIBE TABLE itab_zycit174 LINES v_linhas.
IF v_linhas EQ 1.
READ TABLE itab_zycit174 INDEX 1.
p_taxa = itab_zycit174-txconver.
ELSEIF v_linhas EQ 0.
IF NOT p_data IS INITIAL.
* >> Início da inclusão: FORM TAXA_CONVERTE
IF p_waers EQ wa_zycbt007-waersb.
p_taxa = 1.
EXIT.
ELSE.
* << Fim da inclusão
MESSAGE i015 WITH text-179 text-180.
ENDIF.
* >> Início da inclusão: FORM TAXA_CONVERTE
ENDIF.
* << Fim da inclusão
ELSEIF v_linhas > 1.
IF NOT p_data IS INITIAL.
MESSAGE i015 WITH text-181.
ENDIF.
ENDIF.
...
...
CHANGING v_taxau.
PERFORM taxa_converte USING /pws/zycie006-waers
/pws/zycie006-dtincl
CHANGING v_taxaf.
IF v_taxa IS INITIAL OR v_taxau IS INITIAL.
EXIT.
ENDIF.
LOOP AT itab_zycit403.
itab_zycit403t-codigo = itab_zycit403-codigo.
itab_zycit403t-base = itab_zycit403-base.
* >> Início da exclusão: FORM REFRESH_IMPOSTOS
CLEAR: itab_zycit403t-ebeln, itab_zycit403t-ebelp.
* << Fim da exclusão
itab_zycit403t-base =
( itab_zycit403-base * v_taxau ) / v_taxaf.
COLLECT itab_zycit403t.
ENDLOOP.
LOOP AT itab_zycit403t.
CLEAR: itab_zycit029, itab_zycit399.
READ TABLE itab_zycit399 WITH KEY codigo = itab_zycit403t-codigo.
READ TABLE itab_zycit029 WITH KEY codigo = itab_zycit403t-codigo.
LOOP AT itab_zycit047 WHERE vldp > 0.
READ TABLE itab_zycit484
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
/pws/zycie006-dtincl
CHANGING v_taxaf.
IF v_taxa IS INITIAL OR v_taxau IS INITIAL.
EXIT.
ENDIF.
REFRESH: itab_zycit403, itab_zycit403t.
SELECT * FROM /pws/zycit403 INTO TABLE itab_zycit403
WHERE nrseqdi EQ /pws/zycit085-nrseqdi.
DELETE itab_zycit403 WHERE percentual EQ 0.
LOOP AT itab_zycit403.
* >> Início da exclusão: MODULE STATUS_0113
itab_zycit403t = itab_zycit403.
CLEAR: itab_zycit403t-ebeln, itab_zycit403t-ebelp.
* << Fim da exclusão
* >> Início da inclusão: MODULE STATUS_0113
itab_zycit403t-codigo = itab_zycit403-codigo.
itab_zycit403t-base = itab_zycit403-base.
* << Fim da inclusão
itab_zycit403t-base =
( itab_zycit403-base * v_taxau ) / v_taxaf.
COLLECT itab_zycit403t.
ENDLOOP.
ENDIF.
ENDIF.
DESCRIBE TABLE itab_zycit483 LINES tc_imp-lines.
ADD 10 TO tc_imp-lines.
ENDMODULE.