Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 14/12/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:41:56
Descrição da Nota: NOTA FISCAL NÃO LEVO VALOR DO ICMS
Sintoma
1)A nota fiscal não levou o valor fiscal do ICMS.
2) no campo despesa, não levou a taxa siscomex.
3) o total da linha do IPI não bate com o total da nota
4) os valores na linha do ICMS não bate com o total da nota.
Favor verificar.
Solução
atualizado o programa para verificar
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02697 Data: 14/12/2006 Hora: 12:00:11
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02697
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00144
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01927 - 00001 - 6.0 - 00024 - PROGRAMA DE NF ESTÁ CONSUMINDO MUITA MEMÓRIA. PROBLEMAS DE PERFOR
02118 - 00002 - 6.0 - 00024 - PLANEJADO E MOVIMENTADO DO ENCERRAMENTO ESTÁ INCORRETO PARA JPY
02677 - 00003 - 6.0 - 00025 - AJUSTES NO CUSTO EFETIVO
----------------------------------------------------------------------------------------------------
NOTA FISCAL NÃO LEVO VALOR DO ICMS
----------------------------------------------------------------------------------------------------
Palavras Chave:
NOTA FISCAL - ICMS - SISCOMEX - IPI - TOTAL DA NOTA - ICMS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
REPS /PWS/ZYCIR006
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
v_tot_ntgew LIKE /pws/zycit003-ntgew.
PERFORM verifica_filial.
IF t001 IS INITIAL OR /pws/zycit000 IS INITIAL.
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie041-bukrs.
SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.
ENDIF.
LOOP AT itab_zycit042.
CLEAR: itab_zycit042-vldp, itab_zycit042-vldpii.
MODIFY itab_zycit042.
ENDLOOP.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
select single * from /pws/zycit001 where nrseq = itab_zycit042-nrseq.
* << Fim da inclusão
MOVE itab_zycit042[] TO itab_zycit042_d[].
CLEAR: itab_zycit019, itab_zycit020, itab_zycit039.
REFRESH: itab_zycit019, itab_zycit020, itab_zycit039.
SELECT SINGLE land1 FROM t001 INTO t001-land1
WHERE bukrs EQ /pws/zycie041-bukrs.
SELECT * FROM /pws/zycit020 INTO TABLE itab_zycit020
WHERE regio = adrc-region AND ( baseicms = 'X' OR
baseii = 'X' ) AND
land1 = t001-land1.
IF sy-subrc NE 0.
...
...
ELSE.
v_tot_ntgew = v_tot_ntgew + itab_zycit003-ntgew.
v_tot_plan = v_tot_plan +
( itab_zycit003-netpr * itab_zycit003-qtd_iten ).
v_tot_real = v_tot_real +
( itab_zycit003-vlreal * itab_zycit003-qtd_iten ).
ENDIF.
ENDLOOP.
LOOP AT itab_zycit049_a.
IF itab_zycit049_a-tpdesp NE /pws/zycit000-cod_sisc OR
* >> Início da exclusão: FORM SELECIONA_DESPESAS
/pws/zycit000-flag_txsisc IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
/pws/zycit000-flag_txsisc IS INITIAL or
/pws/zycit001-tpdecl = 'DSI'.
* << Fim da inclusão
CLEAR: v_tot_vldp, v_vldp.
LOOP AT itab_zycit042_d.
MOVE sy-tabix TO v_tabix.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit042_d-nrseq
ebeln = itab_zycit042_d-ebeln
ebelp = itab_zycit042_d-ebelp.
CLEAR: itab_zycit039, itab_zycit020, itab_zycit019.
READ TABLE itab_zycit019 WITH KEY
tpdesp = itab_zycit049_a-tpdesp.
...
...
IF NOT itab_zycit019[] IS INITIAL.
SELECT * FROM /pws/zycit049
INTO TABLE itab_zycit049
FOR ALL ENTRIES IN itab_zycit019
WHERE nrseq = /pws/zycie041-nrseq
AND vldp > 0
AND tpdesp = itab_zycit019-tpdesp.
IF NOT itab_zycit049[] IS INITIAL.
LOOP AT itab_zycit049.
IF itab_zycit049-tpdesp NE /pws/zycit000-cod_sisc OR
* >> Início da exclusão: FORM SELECIONA_DESPESAS
/pws/zycit000-flag_txsisc IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
/pws/zycit000-flag_txsisc IS INITIAL or
/pws/zycit001-tpdecl = 'DSI'.
* << Fim da inclusão
CLEAR: v_tot_vldp, v_vldp.
LOOP AT itab_zycit042.
MOVE sy-tabix TO v_tabix.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit042-nrseq
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
CLEAR: itab_zycit039, itab_zycit020, itab_zycit019.
READ TABLE itab_zycit019 WITH KEY
tpdesp = itab_zycit049-tpdesp.
...
...
IF NOT itab_zycit019[] IS INITIAL.
SELECT * FROM /pws/zycit049
INTO TABLE itab_zycit049
FOR ALL ENTRIES IN itab_zycit019
WHERE nrseq = /pws/zycie041-nrseq
AND vldp > 0
AND tpdesp = itab_zycit019-tpdesp.
IF NOT itab_zycit049[] IS INITIAL.
LOOP AT itab_zycit049.
IF itab_zycit049-tpdesp NE /pws/zycit000-cod_sisc OR
* >> Início da exclusão: FORM SELECIONA_DESPESAS
/pws/zycit000-flag_txsisc IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
/pws/zycit000-flag_txsisc IS INITIAL or
/pws/zycit001-tpdecl = 'DSI'.
* << Fim da inclusão
CLEAR: v_tot_vldp, v_vldp.
LOOP AT itab_zycit042_d.
MOVE sy-tabix TO v_tabix.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit042_d-nrseq
ebeln = itab_zycit042_d-ebeln
ebelp = itab_zycit042_d-ebelp.
CLEAR: itab_zycit039, itab_zycit020, itab_zycit019.
READ TABLE itab_zycit019 WITH KEY
tpdesp = itab_zycit049-tpdesp.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
READ TABLE itab_zycit006_fat WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat.
IF sy-subrc = 0.
CLEAR: itab_zycit036-vlmov, itab_zycit036-waers_mov,
itab_zycit036-vldif, itab_zycit036-waers_dif.
ENDIF.
ENDIF.
ENDIF.
MODIFY itab_zycit036 INDEX v_index.
WHEN 'FRETEI'.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
read table itab_zycit140 with key codigo = itab_zycit036-codigo
origem = itab_zycit036-origem.
* << Fim da inclusão
if itab_zycit140-custo = 'X'.
v_linf = v_linf + 1.
endif.
CLEAR v_valor.
IF itab_zycit036-vlreal GT 0 AND
NOT itab_zycit036-waers_real IS INITIAL.
PERFORM busca_fatores CHANGING itab_zycit036-waers_real.
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
...
...
IF itab_zycit036-origem = 'NF'.
PERFORM retorna_decimais USING itab_zycit100-waersreal
CHANGING v_valor.
ELSE.
PERFORM retorna_decimais USING itab_zycit036-waers_real
CHANGING v_valor.
ENDIF.
endif.
v_val_tot = v_val_tot + v_valor.
ELSE.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
v_valor = ( /pws/zycit085-vlfre * /pws/zycit085-ukursfre )
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
PERFORM retorna_decimais USING /pws/zycit085-waersfre
CHANGING /pws/zycit093-vlfre.
v_valor = ( /pws/zycit093-vlfre * /pws/zycit085-ukursfre )
* << Fim da inclusão
- v_val_tot .
ENDIF.
IF v_itemcongela NE 'X'.
IF NOT /pws/zycit085-ukursfre IS INITIAL.
IF itab_zycit036-origem = 'NF'.
itab_zycit036-vlmov = v_valor .
ELSE.
IF itab_zycit036-waers_real NE /pws/zycbt007-waersb.
READ TABLE itab_zycit006 WITH KEY
nrseq = itab_zycit036-nrseqori.
...
...
IF itab_zycit036-vlmov IS INITIAL.
CLEAR itab_zycit036-waers_mov.
ELSEIF itab_zycit036-vldif IS INITIAL.
CLEAR itab_zycit036-waers_dif.
ENDIF.
IF itab_zycit036-origem = 'NF'.
v_acum_fre = v_acum_fre + itab_zycit036-vlmov.
ENDIF.
MODIFY itab_zycit036 INDEX v_index.
WHEN 'SEGURO'.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
read table itab_zycit140 with key codigo = itab_zycit036-codigo
origem = itab_zycit036-origem.
* << Fim da inclusão
if itab_zycit140-custo = 'X'.
v_lins = v_lins + 1.
endif.
IF
itab_zycit036-vlreal GT 0 AND
NOT itab_zycit036-waers_real IS INITIAL.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp.
IF v_lins NE v_tot_lins.
...