Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal Complementar
Data/Hora da Publicação: 10/06/2010 00:00:00
Data/Hora Última Alteração: 14/06/2010 13:10:40
Descrição da Nota: TRATAMENTO PARA ADMISSÃO TEMPORARIA NA NOTA FISCAL COMPLEMENTAR
Sintoma
Tratamento para admissão temporaria na nota fiscal complementar.
Solução
Tratamento para admissão temporaria na nota fiscal complementar.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10263 Data: 10/06/2010 Hora: 14:20:36
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10263
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00026
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
07667 - 00001 - AJUSTES PARA REALIZAR O LANÇAMENTO DE PIS E COFINS NA NF COMPL.
07696 - 00002 - AO CRIAR NF COMPLEMENTAR, INDICA 0,01 DE DIFERENÇA MESMO SEM DESPESAS
----------------------------------------------------------------------------------------------------
TRATAMENTO PARA ADMISSÃO TEMPORARIA NA NOTA FISCAL COMPLEMENTAR
----------------------------------------------------------------------------------------------------
Palavras Chave:
TRATAMENTO - ADMISSÃO - TEMPORARIA - NOTA - FISCAL - COMPLEMENTAR
/PWS/SAPMZYCI029
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI029F01
REPS /PWS/MZYCI029X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI029F01
...
v_ebeln = itab_zycit100-ebeln.
v_ebelp = itab_zycit100-ebelp.
ENDIF.
LOOP AT itab_zycit100 .
v_val_totf2 = v_val_totf2 + itab_zycit100-vlfre.
IF ( itab_zycit100-ebeln NE v_ebeln OR
itab_zycit100-ebelp NE v_ebelp ).
v_val_tot = v_val_tot + itab_zycit100-vlfre.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM COLLECT_DESPESAS
IF /pws/zycit001-nrseq NE itab_zycit100-nrseq.
SELECT SINGLE * FROM /pws/zycit001
WHERE nrseq EQ itab_zycit100-nrseq.
IF /pws/zycit001-regime EQ '05' OR
/pws/zycit001-regime EQ '12' .
SELECT * FROM /pws/zycit374
INTO TABLE itab_zycit374
WHERE nrseq = itab_zycit100-nrseq.
ENDIF.
ENDIF.
* << Fim da inclusão
CLEAR wa_zycit048.
SELECT SINGLE * FROM /pws/zyglt369
INTO wa_zyglt369
WHERE bukrs EQ /pws/zycit085-bukrs
AND branch EQ /pws/zycit085-j_1bbranch
AND urfdesp EQ /pws/zycit085-urfdesp.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit048
WHERE bukrs EQ wa_zyglt369-bukrs
AND branch EQ wa_zyglt369-branch.
...
...
CLEAR itab_zycit053r.
READ TABLE itab_zycit053r WITH KEY
nrseq = itab_zycit265_c-nrseq
ebeln = itab_zycit265_c-ebeln
ebelp = itab_zycit265_c-ebelp.
itab_zycit265_c-vldp_dif = itab_zycit053r-vlcompl.
IF NOT itab_zycit053r-vlcompl_icms IS INITIAL.
itab_zycit265_c-vldp_dif_icms = itab_zycit053r-vlcompl_icms.
ENDIF.
v_soma2 = v_soma2 + itab_zycit036_c-vlreal.
* >> Início da inclusão: FORM COLLECT_DESPESAS
IF /pws/zycit001-regime EQ '05' OR
/pws/zycit001-regime EQ '12' .
READ TABLE itab_zycit374 WITH KEY
nrseq = itab_zycit265_c-nrseq
ebeln = itab_zycit265_c-ebeln
ebelp = itab_zycit265_c-ebelp.
IF sy-subrc EQ 0 AND
NOT itab_zycit374-tp_perman IS INITIAL.
itab_zycit374-vlpis = itab_zycit265_c-vldp_pis.
itab_zycit374-vlcof = itab_zycit265_c-vldp_cofins.
itab_zycit374-vlpis2 =
itab_zycit265_c-vldp_pis = itab_zycit265_c-vldp_pis *
( itab_zycit374-tp_perman / 100 ).
itab_zycit374-vlcof2 =
itab_zycit265_c-vldp_cofins = itab_zycit265_c-vldp_cofins *
( itab_zycit374-tp_perman / 100 ).
MODIFY itab_zycit374 TRANSPORTING vlpis vlcof vlpis2 vlcof2
WHERE nrseq = itab_zycit265_c-nrseq
AND ebeln = itab_zycit265_c-ebeln
AND ebelp = itab_zycit265_c-ebelp.
ENDIF.
ENDIF.
* << Fim da inclusão
MODIFY itab_zycit265_c INDEX v_tabix
* >> Início da exclusão: FORM COLLECT_DESPESAS
TRANSPORTING vldp vldp_real vldp_dif vldp_dif_icms.
* << Fim da exclusão
* >> Início da inclusão: FORM COLLECT_DESPESAS
TRANSPORTING vldp vldp_real vldp_dif vldp_dif_icms
vldp_pis vldp_cofins.
* << Fim da inclusão
READ TABLE itab_zycit001 WITH KEY
nrseq = itab_zycit265_c-nrseq.
...
...
CLEAR: it_zycee007-taxval_cof, it_zycee007-rate_cof.
WHEN 3.
it_zycee007-othbas_cof = itab_zycit265_c-basepis_cof.
ENDCASE.
IF itab_zycit100-icms_dif = 'X'.
itab_zycit003-basred = '100'.
ENDIF.
it_zycee007-rate = itab_zycit003-advalicms.
it_zycee007-taxtyp = itab_zycit033-taxtyp.
CLEAR it_zycee007-taxval.
* >> Início da inclusão: FORM ITENS_NFC
IF /pws/zycit001-regime EQ '05' OR
/pws/zycit001-regime EQ '12' .
READ TABLE itab_zycit374 WITH KEY
nrseq = itab_zycit265_c2-nrseq
ebeln = itab_zycit265_c2-ebeln
ebelp = itab_zycit265_c2-ebelp.
IF sy-subrc EQ 0 AND
NOT itab_zycit374-tp_perman IS INITIAL.
IF itab_zycit374-vlpis2 EQ itab_zycit265_c2-vldp_pis.
itab_zycit265_c2-vldp_pis = itab_zycit374-vlpis.
ELSE.
itab_zycit265_c2-vldp_pis = itab_zycit265_c2-vldp_pis /
( itab_zycit374-tp_perman / 100 ).
ENDIF.
IF itab_zycit374-vlcof2 EQ itab_zycit265_c2-vldp_cofins.
itab_zycit265_c2-vldp_cofins = itab_zycit374-vlcof.
ELSE.
itab_zycit265_c2-vldp_cofins = itab_zycit265_c2-vldp_cofins /
( itab_zycit374-tp_perman / 100 ).
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
CASE itab_zycit033-tribicms.
WHEN 1.
IF ( /pws/zycit062-susp_nf EQ 'S' AND
itab_zycit100-codregtriicms EQ '5' ) OR
/pws/zycit062-flag_icms NE 'X' OR
( /pws/zycit062-bs_cheia_dif NE 'X' AND
itab_zycit100-icms_dif EQ 'X' ) OR
itab_zycit100-codregtriicms EQ '3' .
it_zycee007-base = ( itab_zycit265_c2-vldp_dif_icms +
itab_zycit265_c2-vldp_pis + itab_zycit265_c2-vldp_cofins ).
...
...
ENDIF.
WHEN 3.
it_zycee007-othbas2 = itab_zycit265_c2-vldp_dif +
itab_zycit265_c2-vldp_pis + itab_zycit265_c2-vldp_cofins.
IF /pws/zycit062-flag_icms = 'X' AND
itab_zycit100-icms_dif NE 'X'.
it_zycee007-p_excbas = it_zycee007-taxval.
ENDIF.
ENDCASE.
it_zycee007-taxtyp2 = itab_zycit033-taxtyp2.
* >> Início da inclusão: FORM ITENS_NFC
IF /pws/zycit001-regime EQ '05' OR
/pws/zycit001-regime EQ '12' .
READ TABLE itab_zycit374 WITH KEY
nrseq = itab_zycit265_c2-nrseq
ebeln = itab_zycit265_c2-ebeln
ebelp = itab_zycit265_c2-ebelp.
IF sy-subrc EQ 0 AND
NOT itab_zycit374-tp_perman IS INITIAL.
it_zycee007-taxval = it_zycee007-taxval *
( itab_zycit374-tp_perman / 100 ).
READ TABLE itab_zycit265_c2
WITH KEY nrseq = itab_zycit265_c2-nrseq
ebeln = itab_zycit265_c2-ebeln
ebelp = itab_zycit265_c2-ebelp
TRANSPORTING vldp_pis vldp_cofins.
ENDIF.
ENDIF.
* << Fim da inclusão
IF /pws/zycit062-flag_icms = 'X' AND
itab_zycit100-icms_dif NE 'X'.
IF NOT /pws/zycit062-tred IS INITIAL.
it_zycee007-netoth = it_zycee007-netoth +
( ( it_zycee007-taxval * 100 ) / itab_zycit003-basred ).
ELSE.
it_zycee007-netoth = it_zycee007-netoth + it_zycee007-taxval.
ENDIF.
ENDIF.
IF it_zycee007-taxval IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI029X01
* >> Início da inclusão:
TABLES /pws/zycit001.
* << Fim da inclusão
DATA: BEGIN OF COMMON PART a.
...
...
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit374 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit374.
DATA: vlpis TYPE /pws/zycit265-vldp_pis,
vlpis2 TYPE /pws/zycit265-vldp_pis,
vlcof TYPE /pws/zycit265-vldp_cofins,
vlcof2 TYPE /pws/zycit265-vldp_cofins.
DATA END OF itab_zycit374.
* << Fim da inclusão
DATA: END OF COMMON PART.