Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Débito em Conta
Data/Hora da Publicação: 14/05/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 09:38:46
Descrição da Nota: AO LIBERAR DÉB.EM CONTA, VALOR DO IPI ESTÁ FICANDO NEGATIVO.
Sintoma
AO LIBERAR DÉB.EM CONTA, VALOR DO IPI ESTÁ FICANDO NEGATIVO.Ao contabilizar o valor fica diferente
do valor colocado no debito.
Solução
ajustar rateio entre os itens.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03675 Data: 14/05/2007 Hora: 16:51:39
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03675
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00166
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
AO LIBERAR DÉB.EM CONTA, VALOR DO IPI ESTÁ FICANDO NEGATIVO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIBERAÇÃO - DÉBITO EM CONTA - VALOR DO IPI - VALOR NEGATIVO
RATEIO DE VALORES
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI013F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI013F01
...
it_tbcontrol-waers TO it_contabil-waers,
itab_ekkn-aufnr TO it_contabil-aufnr,
it_zycit003-gsber TO it_contabil-gsber,
itab_ekkn-aufnr TO it_contabil-ps_psp_pnr,
it_zycit003-gsber TO it_contabil-gsber,
it_zycit003-ebeln TO it_contabil-ebeln,
it_zycit003-ebelp TO it_contabil-ebelp.
IF it_tbcontrol-tpdesp = '001'.
CLEAR: v_frac, v_dec, v_frac2, v_dec2, v_wrbtr.
IF v_index = v_lines.
* >> Início da inclusão: FORM ATUALIZA_TABELA
IF itab_zycit100-vlipi IS INITIAL.
CLEAR: it_contabil-vldp.
COLLECT it_contabil.
LOOP AT it_contabil
WHERE tpdesp = it_contabil-tpdesp
AND vldp > 0.
it_contabil-vldp = it_contabil-vldp +
( it_tbcontrol-vldp - v_total ).
MODIFY it_contabil .
EXIT.
ENDLOOP .
CONTINUE.
ELSE.
* << Fim da inclusão
it_contabil-vldp = it_tbcontrol-vldp - v_total.
* >> Início da inclusão: FORM ATUALIZA_TABELA
ENDIF.
* << Fim da inclusão
CLEAR v_total.
ELSE.
v_wrbtr = ( itab_zycit100-vlipi /
v_tot_ipi ) * it_tbcontrol-vldp.
it_contabil-vldp = v_wrbtr.
v_total = v_total + it_contabil-vldp.
ENDIF.
ELSEIF it_tbcontrol-tpdesp = '002'.
CLEAR: v_frac, v_dec, v_frac2, v_dec2, v_wrbtr.
IF v_index = v_lines.
* >> Início da inclusão: FORM ATUALIZA_TABELA
IF itab_zycit100-vlicms IS INITIAL.
CLEAR: it_contabil-vldp.
COLLECT it_contabil.
LOOP AT it_contabil
WHERE tpdesp = it_contabil-tpdesp
AND vldp > 0.
it_contabil-vldp = it_contabil-vldp +
( it_tbcontrol-vldp - v_total ).
MODIFY it_contabil .
EXIT.
ENDLOOP .
CONTINUE.
ELSE.
* << Fim da inclusão
it_contabil-vldp = it_tbcontrol-vldp - v_total.
* >> Início da inclusão: FORM ATUALIZA_TABELA
ENDIF.
* << Fim da inclusão
CLEAR v_total.
ELSE.
v_wrbtr = ( itab_zycit100-vlicms /
v_tot_icms ) * it_tbcontrol-vldp.
it_contabil-vldp = v_wrbtr.
v_total = v_total + it_contabil-vldp.
ENDIF.
ELSEIF it_tbcontrol-tpdesp = /pws/zycit000-cod_pis.
CLEAR: v_frac, v_dec, v_frac2, v_dec2, v_wrbtr.
IF v_index = v_lines.
* >> Início da inclusão: FORM ATUALIZA_TABELA
IF itab_zycit100-vlpis IS INITIAL.
CLEAR: it_contabil-vldp.
COLLECT it_contabil.
LOOP AT it_contabil
WHERE tpdesp = it_contabil-tpdesp
AND vldp > 0.
it_contabil-vldp = it_contabil-vldp +
( it_tbcontrol-vldp - v_total ).
MODIFY it_contabil .
EXIT.
ENDLOOP .
CONTINUE.
ELSE.
* << Fim da inclusão
it_contabil-vldp = it_tbcontrol-vldp - v_total.
* >> Início da inclusão: FORM ATUALIZA_TABELA
ENDIF.
* << Fim da inclusão
CLEAR v_total.
ELSE.
v_wrbtr = ( itab_zycit100-vlpis /
v_tot_pis ) * it_tbcontrol-vldp.
it_contabil-vldp = v_wrbtr.
v_total = v_total + it_contabil-vldp.
ENDIF.
ELSEIF it_tbcontrol-tpdesp = /pws/zycit000-cod_cofins.
CLEAR: v_frac, v_dec, v_frac2, v_dec2, v_wrbtr.
IF v_index = v_lines.
* >> Início da inclusão: FORM ATUALIZA_TABELA
IF itab_zycit100-vlcofins IS INITIAL.
CLEAR: it_contabil-vldp.
COLLECT it_contabil.
LOOP AT it_contabil
WHERE tpdesp = it_contabil-tpdesp
AND vldp > 0.
it_contabil-vldp = it_contabil-vldp +
( it_tbcontrol-vldp - v_total ).
MODIFY it_contabil .
EXIT.
ENDLOOP .
CONTINUE.
ELSE.
* << Fim da inclusão
it_contabil-vldp = it_tbcontrol-vldp - v_total.
* >> Início da inclusão: FORM ATUALIZA_TABELA
ENDIF.
* << Fim da inclusão
CLEAR v_total.
ELSE.
v_wrbtr = ( itab_zycit100-vlcofins /
v_tot_cofins ) * it_tbcontrol-vldp.
it_contabil-vldp = v_wrbtr.
v_total = v_total + it_contabil-vldp.
...