Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DSI
Data/Hora da Publicação: 09/06/2008 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:59:33
Descrição da Nota: DSI NÃO RESPEITA PARÂMETRO DE REGIME SUSPENSO NA /PWS/ZYCIT062
Sintoma
O valor da Base de IPI na pasta 3 "detalhe do item", está errado. Neste caso é um cenário de
Admissão Temporária onde todos os impostos são suspensos. Na tabela ZYCIT062 o campo "Reg.Susp.NF"
está parametrizado como "SIM" portanto o sistema não deve levar para a Base de nenhum imposto o
valor dos impostos em cascata. O valor da Base de II e da base de ICMS estão corretas, porém o valor
da Base de IPI está somando o valor calculado de II.
Solução
Atualização do programa da DSI para que o sistema leve corretamente a Base do IPI de acordo com a
párametrização.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06728 Data: 09/06/2008 Hora: 16:28:45
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06728
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00005
Agrupamento : 00051
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02340 - 00001 - 6.0 - 00025 - TRATAR SUSPENSÃO DE REGIME TRIBUTÁRIO NAS NOTAS FISCAIS.
----------------------------------------------------------------------------------------------------
DSI NÃO RESPEITA PARÂMETRO DE REGIME SUSPENSO NA /PWS/ZYCIT062
----------------------------------------------------------------------------------------------------
Palavras Chave:
DSI - PARÂMETRO - REGIME SUSPENSO - /PWS/ZYCIT062
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI058F01
REPS /PWS/MZYCI058F03
REPS /PWS/MZYCI058O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F01
...
* >> Início da exclusão: FORM SAVE_DATA
IF v_dit = 'N'.
MESSAGE i017 WITH text-060.
ELSE.
* << Fim da exclusão
MESSAGE i017 WITH text-061.
* >> Início da exclusão: FORM SAVE_DATA
ENDIF.
* << Fim da exclusão
CLEAR: v_changed,
itab_zycit086a,
itab_zycit087a,
itab_zycit095a,
itab_zycit096a,
itab_zycit100a,
...
...
FORM load_iipi USING p_tipo.
IF '56' CA itab_it-codregtri .
* >> Início da inclusão: FORM LOAD_IIPI
IF /pws/zycit062-susp_nf EQ 'S'.
t_ipibas = ( t_ivadu + t_iirec ).
ELSE.
* << Fim da inclusão
t_ipibas = ( t_ivadu + itab_it-ii_calculado ).
* >> Início da inclusão: FORM LOAD_IIPI
ENDIF.
* << Fim da inclusão
ELSE.
t_ipibas = ( t_ivadu + t_iirec ).
ENDIF.
a_ipidevi = ( ( /pws/zycie003-advalipi / 100 ) * t_ipibas ).
itab_it-vlipi = a_ipidevi.
CLEAR t_ipirec.
...
...
SELECT SINGLE * FROM /pws/zycit000 INTO /pws/zycit000.
PERFORM atualiza_peso_desemb.
PERFORM lock_record.
v_acto = 'A'.
v_txtdisplay = space.
v_txtsave = 'X'.
IF sy-tcode EQ '/PWS/ZYCI023_E' OR sy-tcode EQ '/PWS/ZYCI058_E'.
v_acto = 'E'.
v_txtdisplay = 'X'.
v_txtsave = space.
ENDIF.
* >> Início da exclusão: FORM LOADING_ALL
IF v_dit = 'N'.
IF sy-tcode EQ '/PWS/ZYCI023_C'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ENDIF.
ELSEIF sy-tcode EQ '/PWS/ZYCI023_A'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ENDIF.
ELSEIF sy-tcode EQ '/PWS/ZYCI023_E'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ENDIF.
ELSEIF sy-tcode EQ '/PWS/ZYCI058_C'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ENDIF.
ELSEIF sy-tcode EQ '/PWS/ZYCI058_A'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ENDIF.
ELSEIF sy-tcode EQ '/PWS/ZYCI058_E'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ENDIF.
ENDIF.
CALL SCREEN '0100'.
ELSE.
* << Fim da exclusão
IF sy-tcode EQ '/PWS/ZYCI023_C'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
...
...
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie085-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie085-bukrs.
ENDIF.
ENDIF.
ENDIF.
CALL SCREEN '0200'.
* >> Início da exclusão: FORM LOADING_ALL
ENDIF.
* << Fim da exclusão
ENDFORM.
...
...
IF NOT v_tval3 IS INITIAL.
itab_it-vlfob = ( ( itab_it-qtd_iten * itab_it-vlreal )
/ v_tval3 ) * v_tval.
ENDIF.
ENDIF.
v_aux_rateio = v_aux_rateio + itab_it-vlfob.
ENDIF.
MOVE itab_it TO wa_it.
MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,
itab_it TO /pws/zycie003.
* >> Início da exclusão: FORM CALC_ITAB
IF /pws/zycie085-mdadicao = 'N'.
/pws/zycie085-vlfob = v_tval2 = v_tval.
ENDIF.
* << Fim da exclusão
PERFORM calc_itab_vals USING 'I'.
* >> Início da exclusão: FORM CALC_ITAB
IF v_dit = 'S'.
* << Fim da exclusão
/pws/zycie085-vlii = /pws/zycie085-vlii + t_iirec.
/pws/zycie085-vlipi = /pws/zycie085-vlipi + t_ipirec.
/pws/zycie085-vlicms = /pws/zycie085-vlicms + t_icms.
/pws/zycie085-vlpis = /pws/zycie085-vlpis + itab_it-vlpis .
/pws/zycie085-vlcofins = /pws/zycie085-vlcofins + itab_it-vlcofins.
* >> Início da exclusão: FORM CALC_ITAB
ELSE.
s_wadreco = s_waddevi = s_waddevi + ( itab_it-baseantid *
( itab_it-antidrate / 100 ) ) + ( itab_it-vlantid *
itab_it-qtdeantid ).
ENDIF.
* << Fim da exclusão
itab_it-vlfre_me = v_tot_fre.
itab_it-vlseg_me = v_tot_seg.
itab_it-vlfre = t_ivfre.
itab_it-vlseg = t_ivseg.
itab_it-vldiffob = t_vldif.
IF NOT v_tntgew IS INITIAL.
itab_it-frn = ( /pws/zycie003-ntgew / v_tntgew ) *
v_dif_frn.
ENDIF.
MODIFY itab_it INDEX v_idx TRANSPORTING
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F03
...
v_tvaln = v_tvaln + ( v_qtd_iten * itab_it-vlreal ).
v_tvaln = v_tvaln * v_taxa.
PERFORM taxa_converte USING /pws/zycie085-waersfob
/pws/zycie085-dttax
CHANGING v_taxa.
v_tvaln = v_tvaln / v_taxa.
v_tval = v_tval + v_tvaln.
/pws/zycie085-ukursfob = v_taxa.
ENDIF.
ENDLOOP.
* >> Início da exclusão: FORM CALC_INIT
IF v_dit = 'N'.
CASE s_inco1_ci.
WHEN 'C&F' OR 'CIF'.
READ TABLE itab_zycit049 WITH KEY
tpdesp = /pws/zycit000-flagfreten.
IF sy-subrc = 0 AND NOT itab_zycit049-vldp IS INITIAL.
IF itab_zycit049-tipo EQ 'D'.
IF itab_zycit049-waers NE /pws/zycie085-waersfob.
v_dif_frn = itab_zycit049-vldp.
PERFORM: calc_ret_moeda:
USING
/pws/zycie085-waersfob
itab_zycit049-waers
CHANGING v_dif_frn.
v_dif_frn = v_dif_frn * -1.
ELSE.
v_dif_frn = itab_zycit049-vldp.
v_dif_frn = v_dif_frn * -1.
ENDIF.
ENDIF.
v_tval = v_tval + v_dif_frn.
ENDIF.
ENDCASE.
ENDIF.
* << Fim da exclusão
IF p_tipo NE 'A'.
READ TABLE itab_zycit003 INDEX 1.
IF itab_zycit003-qtd_itend IS INITIAL.
v_tval3 = v_tval2 = v_tval + v_tdif + v_tfrefat.
ELSE.
IF s_inco1 EQ 'CFR' OR
s_inco1 EQ 'C&F'.
IF v_tfrefat IS INITIAL.
v_tval3 = v_tval2 = v_tval .
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058O01
...
* >> Início da exclusão: MODULE LOAD_DATA_BLITEM
IF v_dit = 'N'.
PERFORM fill_it115b.
CLEAR: itab_zycit116, /pws/zycie085-ntimp.
READ TABLE itab_zycit116 WITH KEY
adicao = itab_it-adicao.
s_advl = /pws/zycie100a-vlantid.
s_adbs = /pws/zycie100a-baseantid.
PERFORM: load_cncm USING wa_it-j_1bnbm,
load_mval USING /pws/zycie100a-codmat,
load_inco,
load_itwa USING /pws/zycie100a-waersbem,
load_regt USING /pws/zycie100a-codregtri
/pws/zycie085-ntimp
'1' CHANGING t_regdes,
load_regt USING /pws/zycie100a-codregtriipi
/pws/zycie085-ntimp
'2' CHANGING t_regde2,
load_fund USING /pws/zycie100a-codfunleg,
load_alad USING /pws/zycie100a-aladi,
load_unit USING /pws/zycie003-meins CHANGING s_umped,
load_um USING /pws/zycie003-meinsest CHANGING
s_umestt,
load_umad.
ELSE.
* << Fim da exclusão
s_vluni_d2 = itab_it-vlreal.
IF /pws/zycie100a-impmerco IS INITIAL.
/pws/zycie100a-impmerco = 'N'.
ENDIF.
IF /pws/zycie100a-matusado IS INITIAL.
/pws/zycie100a-matusado = 'N'.
ENDIF.
PERFORM: load_lsi,
load_fund USING /pws/zycie100a-codfunleg,
load_motf,
load_cncm USING /pws/zycie003-j_1bnbm,
load_tsp,
load_regt USING /pws/zycie100a-codregtri
/pws/zycie085-ntimp '1'
CHANGING t_regdes,
load_clas,
load_pais USING /pws/zycie100a-pproc CHANGING t_ppais
s_pais,
load_blwa,
load_blme USING /pws/zycie100a-meinscom.
* >> Início da exclusão: MODULE LOAD_DATA_BLITEM
ENDIF.
* << Fim da exclusão
CLEAR: rtexti, xtheadi.
REFRESH: rtexti.
CONCATENATE /pws/zycie085-nrseqdi
itab_it-nrseq
itab_it-ebeln
itab_it-ebelp
INTO v_txtki.
...