Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 31/10/2008 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:18:27
Descrição da Nota: DESPESA DUPLICADA NO TOTAL DA NOTA FISCAL(FUNDAP)
Sintoma
Na nota fiscal de fundap as despesas estão sendo lançadas duplicadas, pois estas despesas já estão
no valor da mercadoria e estão sendo lançadas na nota fiscal.
Solução
Atualização do programa de Nota Fiscal para que o sistema efetue o cálculo da Nota Fiscal de
Transfência (FUNDAP) corretamente nos casos de despesas que sejam Base de II.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07515 Data: 31/10/2008 Hora: 16:04:40
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07515
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00071
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07511 - 00001 - 7.0 - 00007 - DESPESA DUPLICADA NA BASE DE IPI E ICMS NA NOTA FISCAL(FUNDAP)
----------------------------------------------------------------------------------------------------
DESPESA DUPLICADA NO TOTAL DA NOTA FISCAL(FUNDAP)
----------------------------------------------------------------------------------------------------
Palavras Chave:
DESPESA - NOTA - FISCAL - FUNDAP - BASE - II
/PWS/SAPMZYCI016
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
SELECT SINGLE embarca FROM /pws/zycit001
INTO v_embarca
WHERE nrseq EQ /pws/zycie042-nrseq.
IF v_embarca EQ /pws/zycie001-embarca.
UPDATE /pws/zycit042 SET embarca = /pws/zycie042-embarca
WHERE nrseq = /pws/zycie042-nrseq."#EC CI_NOFIRST
ENDIF.
ENDIF.
ENDFORM.
FORM seleciona_itens_nfg.
* >> Início da exclusão: FORM SELECIONA_ITENS_NFG
DATA: v_vldpb LIKE /pws/zycit049-vldp,
v_vlrealb TYPE /pws/zycit053-vlreal.
* << Fim da exclusão
DATA: v_nolin TYPE i VALUE IS INITIAL,
wa_zycit042 LIKE /pws/zycit042 ,
v_ternacion LIKE /pws/zycit042-netpr,
v_ntgew_tot LIKE itab_zycit003-ntgew.
DATA: BEGIN OF itab_zycit049_fndp OCCURS 0.
INCLUDE STRUCTURE /pws/zycit049.
DATA: END OF itab_zycit049_fndp .
DATA v_vlsisco LIKE v_vldp.
IF t001 IS INITIAL OR /pws/zycit000 IS INITIAL.
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie041-bukrs.
...
...
LOOP AT itab_zycit049_fndp
WHERE tpdesp NE /pws/zycit000-cod_sisc.
IF itab_zycit049_fndp-waers EQ /pws/zycie085-waersfob .
v_vlreal = v_vlreal + itab_zycit049_fndp-vldp .
ELSE.
PERFORM trata_decimais USING itab_zycit049_fndp-waers
CHANGING itab_zycit049_fndp-vldp.
PERFORM taxa_converte USING itab_zycit049_fndp-waers
/pws/zycie085-dttax
CHANGING v_taxa_desp.
* >> Início da exclusão: FORM SELECIONA_ITENS_NFG
v_vlreal = v_vlreal + ( itab_zycit049_fndp-vldp *
v_taxa_desp ) .
* << Fim da exclusão
CLEAR: itab_zycit019, itab_zycit020.
READ TABLE itab_zycit019 WITH KEY
tpdesp = itab_zycit049_fndp-tpdesp.
IF sy-subrc EQ 0 .
READ TABLE itab_zycit020 WITH KEY
codigo = itab_zycit019-codigo.
ENDIF.
IF itab_zycit020-baseii NE 'X'.
* >> Início da exclusão: FORM SELECIONA_ITENS_NFG
v_vlrealb = v_vlrealb + ( itab_zycit049_fndp-vldp *
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_ITENS_NFG
v_vlreal = v_vlreal + ( itab_zycit049_fndp-vldp *
* << Fim da inclusão
v_taxa_desp ) .
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit003.
CLEAR : itab_zycit480,
v_vlii, v_vlipi,
v_vlpis, v_vlcofins.
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit003-nrseq
...
...
IF itab_zycit100-waersbem NE /pws/zycie085-waersfob.
PERFORM trata_decimais USING itab_zycit100-waersbem
CHANGING itab_zycit100-vlfob.
PERFORM taxa_converte USING /pws/zycie085-waersfob
/pws/zycie085-dttax
CHANGING v_taxa_desp.
itab_zycit100-vlfob = itab_zycit100-vlfob * v_taxa_desp .
IF NOT /pws/zycie085-vlfob IS INITIAL.
v_vldp = ( v_vlreal * itab_zycit100-vlfob ) /
/pws/zycie085-vlfob.
* >> Início da exclusão: FORM SELECIONA_ITENS_NFG
v_vldpb = ( v_vlrealb * itab_zycit100-vlfob ) /
/pws/zycie085-vlfob.
* << Fim da exclusão
ENDIF.
ELSE.
IF NOT /pws/zycie085-vlfob IS INITIAL.
v_vldp = ( v_vlreal * itab_zycit100-vlfob ) /
* >> Início da exclusão: FORM SELECIONA_ITENS_NFG
/pws/zycie085-vlfob.
v_vldpb = ( v_vlrealb * itab_zycit100-vlfob ) /
* << Fim da exclusão
/pws/zycie085-vlfob.
ENDIF.
...
...
regio = itab_t001w-regio.
IF itab_zycit033-tribipi EQ '3' .
itab_zycit480-vl_custo_merc = itab_zycit480-vl_nf_ent.
ELSE.
itab_zycit480-vl_custo_merc =
itab_zycit480-vl_nf_ent - itab_zycit100-vlipi.
ENDIF.
ENDIF.
ENDIF.
itab_zycit480-vl_desp_acess =
* >> Início da exclusão: FORM SELECIONA_ITENS_NFG
( ( v_vldpb * itab_zycit480-vl_basred ) / 100 ) /
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_ITENS_NFG
( ( v_vldp * itab_zycit480-vl_basred ) / 100 ) /
* << Fim da inclusão
( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ).
itab_zycit480-vl_base_ipi =
( ( itab_zycit480-vl_custo_merc *
( itab_zycit480-vl_basred / 100 ) ) /
( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ) ) +
itab_zycit480-vl_desp_acess.
itab_zycit480-vl_ipi = itab_zycit480-vl_base_ipi *
( itab_zycit003-advalipi / 100 ) .
itab_zycit480-vl_base_icms =
( ( ( itab_zycit480-vl_custo_merc * itab_zycit480-vl_basred ) /
...
...
WHERE lifnr EQ itab_ekpa-lifn2
AND op_icms EQ '2'.
ELSE.
SELECT SINGLE * FROM /pws/zycit478
WHERE lifnr EQ itab_ekpa-lifn2
AND op_icms EQ '3'.
ENDIF.
itab_zycit480-desconto = itab_zycit480-vl_custo_merc *
( /pws/zycit478-percent / 100 ).
ENDIF.
* >> Início da exclusão: FORM SELECIONA_ITENS_NFG
itab_zycit480-vl_desp_acess =
( ( v_vldp * itab_zycit480-vl_basred ) / 100 ) /
( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ).
* << Fim da exclusão
APPEND itab_zycit480.
ENDIF.
ENDLOOP.
ENDIF.
ELSE.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit480
INTO TABLE itab_zycit480
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq
...