Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DSI
Data/Hora da Publicação: 31/10/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:37:18
Descrição da Nota: DSI VALOR DO SISCOMEX ZERADO
Sintoma
Na DSI, a taxa de Siscomex está vindo em branco nas pasta Despesas, no entanto a mesma está entrando
na base de ICMS do item da DSI;
Solução
atualizado o programa da DSI para lançar o valor na tela
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02362 Data: 31/10/2006 Hora: 16:32:33
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02362
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00138
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02022 - 00001 - 6.0 - 00024 - AJUSTES DSI MUNDANÇA SISCOMEX
----------------------------------------------------------------------------------------------------
DSI VALOR DO SISCOMEX ZERADO
----------------------------------------------------------------------------------------------------
Palavras Chave:
DSI - SISCOMEX ZERADO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI058F01
REPS /PWS/MZYCI058F03
REPS /PWS/MZYCI058F04
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F01
...
/pws/zycie003-advalii = '60'.
/pws/zycie003-advalicms = '18'.
ENDIF.
t_iibas = t_ivadu.
a_iicalc = ( ( /pws/zycie003-advalii / 100 ) * t_iibas ).
* >> Início da exclusão: FORM LOAD_III
CLEAR: t_iirec.
* << Fim da exclusão
CASE /pws/zycie100a-codregtri.
WHEN '1' OR '3' OR '4' OR '5' OR '7' OR '8'.
* >> Início da exclusão: FORM LOAD_III
IF NOT /pws/zycie100a-codregtri = '5'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_III
IF /pws/zycie085-ntimp NE '09' AND /pws/zycie085-ntimp NE '11'.
IF NOT a_iiredu IS INITIAL.
t_iirec = a_iiredu.
ELSE.
IF /pws/zycie100a-acordo EQ '2'.
t_iirec = a_iiredu = a_iiacor.
ELSE.
IF NOT /pws/zycie001-meioemba = 'PS'.
* << Fim da inclusão
t_iirec = a_iicalc.
* >> Início da inclusão: FORM LOAD_III
ENDIF.
ENDIF.
ENDIF.
IF NOT /pws/zycie100a-percreduz IS INITIAL.
t_iirec = t_iirec *
( ( 100 - /pws/zycie100a-percreduz ) / 100 ).
a_iidevi = a_iicalc.
ELSE.
a_iidevi = t_iirec.
ENDIF.
* << Fim da inclusão
itab_it-vlii = t_iirec.
* >> Início da exclusão: FORM LOAD_III
ELSE.
CLEAR : t_iirec.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_III
IF /pws/zycie100a-codregtri CA '35'.
CLEAR: t_iirec.
ENDIF.
s_wiireco = s_wiireco + t_iirec.
s_wiicalc = s_wiicalc + a_iicalc.
s_wiiredu = s_wiiredu + a_iiredu.
s_wiidevi = s_wiidevi + a_iidevi.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM LOAD_III
WHEN '2' OR '6'.
CLEAR: t_iibas ,
t_vlii ,
a_iicalc,
t_iirec ,
/pws/zycie003-advalipi.
* << Fim da exclusão
ENDCASE.
* >> Início da inclusão: FORM LOAD_III
itab_it-ii_calculado = a_iicalc.
itab_it-ii_reduzido = a_iiredu.
itab_it-ii_devido = a_iidevi.
itab_it-ii_recolher = t_iirec .
* << Fim da inclusão
itab_it-baseii = t_iibas.
t_vlii = t_vlii + t_iirec.
t_tot = t_tot + t_iirec.
* >> Início da inclusão: FORM LOAD_III
if /pws/zycie001-regime eq '09'.
clear: t_iirec.
endif.
* << Fim da inclusão
ENDFORM.
FORM load_iipi USING p_tipo.
IF NOT /pws/zycie100a-codregtri = '5'.
* >> Início da inclusão: FORM LOAD_IIPI
t_ipibas = ( t_ivadu + itab_it-ii_calculado ).
ELSE.
* << Fim da inclusão
t_ipibas = ( t_ivadu + t_iirec ).
* >> Início da exclusão: FORM LOAD_IIPI
ELSE.
t_ipibas = ( t_ivadu + a_iicalc ).
* << Fim da exclusão
ENDIF.
a_ipidevi = ( ( /pws/zycie003-advalipi / 100 ) * t_ipibas ).
* >> Início da exclusão: FORM LOAD_IIPI
IF ' 35' NA /pws/zycie100a-codregtri AND
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IIPI
itab_it-vlipi = a_ipidevi.
CLEAR t_ipirec.
IF
'26' NA /pws/zycie100a-codregtri.
t_ipirec = a_ipidevi.
IF p_tipo = 'A'.
IF ' 15' NA /pws/zycie100a-codregtriipi .
ELSE.
CLEAR t_ipirec.
ENDIF.
ELSE.
IF ' 15' NA /pws/zycie100a-codregtriipi .
s_wipireco = s_wipireco + t_ipirec.
ELSE.
CLEAR t_ipirec.
ENDIF.
s_wipidevi = s_wipidevi + a_ipidevi.
ENDIF.
ELSEIF ' 35' NA /pws/zycie100a-codregtri AND
* << Fim da inclusão
/pws/zycie085-ntimp NE '09' AND
* >> Início da exclusão: FORM LOAD_IIPI
/pws/zycie085-ntimp NE '11' AND
NOT /pws/zycie001-meioemba = 'PS'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IIPI
/pws/zycie085-ntimp NE '11'.
* << Fim da inclusão
t_ipirec = a_ipidevi.
ENDIF.
* >> Início da exclusão: FORM LOAD_IIPI
IF /pws/zycie100a-codregtri EQ '2' OR
/pws/zycie100a-codregtri EQ '6'.
CLEAR: t_ipibas ,
/pws/zycie003-advalipi,
a_ipidevi ,
t_ipirec .
ELSEIF /pws/zycie100a-codregtri EQ '7' .
itab_it-baseipi = t_ipibas.
CLEAR: t_ipibas ,
/pws/zycie003-advalipi,
a_ipidevi ,
t_ipirec .
ELSEIF /pws/zycie100a-codregtri EQ '5'.
CLEAR: t_iirec ,
t_ipirec.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IIPI
CLEAR v_subrc.
* << Fim da inclusão
* >> Início da exclusão: FORM LOAD_IIPI
itab_it-vlipi = a_ipidevi.
CLEAR v_subrc.
* << Fim da exclusão
IF /pws/zycie100a-codregtri NE '7' .
itab_it-baseipi = t_ipibas.
ENDIF.
t_vlipi = t_vlipi + t_ipirec.
t_tot = t_tot + t_ipirec.
* >> Início da inclusão: FORM LOAD_IIPI
itab_it-baseipi = t_ipibas.
itab_it-ipi_devido = a_ipidevi.
itab_it-ipi_recolher = t_ipirec .
if /pws/zycie001-regime eq '09'.
clear: t_ipirec.
endif.
* << Fim da inclusão
ENDFORM.
FORM loading_all.
MOVE /pws/zycie085 TO wa_zycit085.
SELECT SINGLE * FROM /pws/zycbt007 INTO wa_zycbt007
WHERE bukrs EQ /pws/zycie085-bukrs.
...
...
s_inco1_ci = itab_zycit031-inco1_ci.
ELSE.
CLEAR: s_inco1_ci.
MESSAGE i015 WITH text-039 wa_it-inco1.
ENDIF.
* >> Início da exclusão: FORM FILL_ITABIT
IF /pws/zycie085-codreg EQ '03' AND /pws/zycie085-tpdi EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITABIT
IF itab_zycit001-regime EQ '09' .
* << Fim da inclusão
LOOP AT itab_it.
itab_it-codregtri = '5'.
* >> Início da exclusão: FORM FILL_ITABIT
itab_it-codfunleg = '53'.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITABIT
itab_it-codregtriipi = '5'.
itab_it-codregtripiscofi = '5'.
itab_it-codregtriicms = '5'.
* << Fim da inclusão
MODIFY itab_it.
ENDLOOP.
ENDIF.
MOVE itab_it[] TO itab_ita[].
/pws/zycie093-ntgew = /pws/zycie085-ntgew = v_tntgew.
...
...
ENDIF.
ELSE.
s_wsisco = s_wsisco + ( p_adics * wa_it000-txsis_0_2 ).
ENDIF.
ENDIF.
* >> Início da exclusão: FORM FILL_TAXASISCOMEX
IF sy-tcode = '/PWS/ZYCI023_C' AND v_propoe_sisc IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_TAXASISCOMEX
IF sy-tcode = '/PWS/ZYCI058_C' AND v_propoe_sisc IS INITIAL.
* << Fim da inclusão
READ TABLE itab_zycit049 WITH KEY tpdesp = /pws/zycit000-cod_sisc.
IF sy-subrc EQ 0.
itab_zycit049-vldp = s_wsisco.
itab_zycit049-vlreal = s_wsisco.
MODIFY itab_zycit049 INDEX sy-tabix TRANSPORTING vldp vlreal.
...
...
INTO v_msgd.
CONCATENATE p_waers text-022 v_msgd INTO s_msg1 SEPARATED BY space.
IF NOT p_data IS INITIAL.
v_msgfre = 'N'.
IF NOT p_waers EQ /pws/zycbt007-waersb.
* >> Início da inclusão: FORM TAXA_CONVERTE
IF NOT /pws/zycie085-dttax IS INITIAL.
* << Fim da inclusão
MESSAGE s015 WITH text-021 s_msg1.
EXIT.
* >> Início da inclusão: FORM TAXA_CONVERTE
ENDIF.
* << Fim da inclusão
ELSE.
p_taxa = '1'.
ENDIF.
ENDIF.
ELSEIF v_linhas > 1.
...
...
p_taxa = '1'.
ENDIF.
ENDIF.
ENDIF.
ELSE.
* >> Início da exclusão: FORM TAXA_CONVERTE
IF p_waers NE /pws/zycbt007-waersb.
* << Fim da exclusão
CONCATENATE p_data+6(2) '/' p_data+4(2) '/' p_data+0(4)
INTO v_msgd.
CONCATENATE p_waers text-022 p_data INTO
s_msg1 SEPARATED BY space.
* >> Início da exclusão: FORM TAXA_CONVERTE
IF NOT p_waers EQ /pws/zycbt007-waersb.
* << Fim da exclusão
* >> Início da inclusão: FORM TAXA_CONVERTE
IF NOT /pws/zycie085-dttax IS INITIAL
AND NOT p_waers EQ wa_zycbt007-waersb.
* << Fim da inclusão
MESSAGE s015 WITH text-021 s_msg1.
* >> Início da exclusão: FORM TAXA_CONVERTE
ENDIF.
ELSE.
p_taxa = '1'.
* << Fim da exclusão
ENDIF.
ENDIF.
ENDFORM.
FORM refresh_all.
IF NOT /pws/zycie085-waersfob IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F03
...
PERFORM mp_antiga.
ELSE.
PERFORM mp_nova.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM LOAD_IICMS
v_divisor = ( 1 - v_advicms - v_advpis - v_advcof ).
* << Fim da inclusão
* >> Início da exclusão: FORM LOAD_IICMS
v_divisor = ( 1 - v_advicms - v_advpis - v_advcof ).
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IICMS
PERFORM calc_piscofins.
* << Fim da inclusão
* >> Início da exclusão: FORM LOAD_IICMS
t_pis_calc = t_pis_dev = itab_it-aliqpis * itab_it-qtdum_pis.
t_cof_calc = t_cof_dev = itab_it-aliqcof * itab_it-qtdum_cofins.
IF t_pis_dev IS INITIAL.
t_pis = ( itab_it-basepis * ( itab_it-advalpis / 100 ) )
* ( itab_it-basredpis / 100 ) .
ELSE.
t_pis = t_pis_dev.
ENDIF.
IF t_cof_dev IS INITIAL.
t_cofins = ( itab_it-basecofins * ( itab_it-advalcofins / 100 ) )
* ( itab_it-basredcof / 100 ) .
ELSE.
t_cofins = t_cof_dev.
ENDIF.
* << Fim da exclusão
IF v_nr_itens GT 1.
t_icmsbs_d2 = t_icmsbs = ( t_ivadu + t_ipirec + t_iirec +
t_ivdesp + v_desp + t_pis + t_cofins ) *
( /pws/zycie003-basred / 100 ).
ELSE.
...
...
t_pisbs = itab_it-basepis.
t_cofinsbs = itab_it-basecofins.
t_vlicms = s_wicreco.
t_vlpis = s_wpisreco.
t_vlcofins = s_wcofreco.
* >> Início da inclusão: FORM LOAD_IICMS
if /pws/zycie001-regime eq '09'.
clear: t_pis, t_cofins, t_icms, t_icms_d2.
endif.
* << Fim da inclusão
ENDFORM.
FORM data_sort.
SORT itab_it BY
j_1bnbm fabric lifnrfabr lifnr advalii
advalipi naladi naladincca codregtri codregtriipi
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F04
...
( 1 + v_advii ) ) ) / ( 1 - v_advpis - v_advcof - v_advicms ) ) )
+ ( ( v_desp + t_ivdesp ) * ( v_advicms /
( 1 - v_advpis - v_advcof - v_advicms ) ) ).
ENDFORM.
FORM mp_nova.
* >> Início da inclusão: FORM MP_NOVA
/pws/zycie100a-basecofins = /pws/zycie100a-basepis =
* << Fim da inclusão
itab_it-basecofins = itab_it-basepis =
( t_ivadu * ( ( 1 + v_advicms * ( v_advii + v_advipi *
( 1 + v_advii ) ) ) / ( ( 1 - v_advpis - v_advcof ) *
( 1 - v_advicms ) ) ) ).
ENDFORM.
...
...
CLEAR /pws/zycie100a-aliqcof.
screen-input = '0'.
ELSE.
screen-input = '1'.
ENDIF.
* >> Início da inclusão: FORM SET_SCREEN_0235
ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRIPISCOFI'
AND /pws/zycie001-regime EQ '09'.
/pws/zycie100a-codregtripiscofi = '5' .
screen-input = '0'.
* << Fim da inclusão
ENDIF.
IF sy-tcode EQ '/PWS/ZYCI058_E'.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
...
...
IF v_acto EQ 'E'.
screen-input = '0'.
ELSE.
IF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND
/pws/zycie093-meiotransp = 'PS'.
* >> Início da exclusão: FORM SET_SCREEN_0232
screen-input = '1'.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND
/pws/zycie100a-codfunleg IS INITIAL.
read table itab_zycit177t with key
origem = /pws/zycie085-tpdi
regime = /pws/zycie100a-codregtri
codigo = /pws/zycie100a-codfunleg.
IF sy-subrc = 0.
* << Fim da exclusão
screen-input = '1'.
* >> Início da exclusão: FORM SET_SCREEN_0232
ELSE.
screen-input = '0'.
ENDIF.
* << Fim da exclusão
ENDIF.
IF /pws/zycie100a-codfunleg EQ '39' OR
/pws/zycie100a-codfunleg EQ '42' OR
/pws/zycie100a-codfunleg EQ '72' OR
/pws/zycie100a-codfunleg EQ '73'.
...
...
screen-invisible = '1'.
ENDIF.
ENDIF.
ENDIF.
MODIFY SCREEN.
* >> Início da exclusão: FORM SET_SCREEN_0232
MODIFY SCREEN.
* << Fim da exclusão
IF sy-tcode EQ '/PWS/ZYCI058_E'.
screen-input = '0'.
* >> Início da inclusão: FORM SET_SCREEN_0232
else.
IF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI'
and /pws/zycie001-regime EQ '09'.
screen-input = '0'.
elseIF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND
/pws/zycie001-regime EQ '09'.
screen-input = '1'.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SET_SCREEN_0232
ENDIF.
* << Fim da inclusão
MODIFY SCREEN.
...
...
MODIFY SCREEN.
ENDIF.
IF screen-group3 EQ 'IPI'.
screen-invisible = '1'.
MODIFY SCREEN.
* >> Início da inclusão: FORM SET_SCREEN_0432
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SET_SCREEN_0432
IF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI'
AND /pws/zycie001-regime EQ '09'.
/pws/zycie100a-codregtri = '5' .
screen-input = '0'.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDFORM.
FORM set_screen_0431.
v_icodr1 = /pws/zycie100a-codregtri.
...
...
/pws/zycie003-ii_orgemiss,
/pws/zycie003-ii_numero,
/pws/zycie003-ii_anoemiss.
screen-input = '0'.
ENDIF.
* >> Início da inclusão: FORM SET_SCREEN_0431
ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI'
AND /pws/zycie001-regime EQ '09'.
/pws/zycie100a-codregtri = '5' .
screen-input = '0'.
* << Fim da inclusão
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
...
...
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
* >> Início da inclusão:
form calc_piscofins.
CLEAR: T_PIS_CALC, T_PIS_DEV, T_COF_CALC, T_COF_DEV.
CASE /pws/zycie100a-codregtripiscofi.
WHEN '3' OR '5'.
IF /pws/zycie100a-aliqpis IS INITIAL.
T_PIS_DEV = T_PIS_CALC =
( ( /pws/zycie100a-advalpis / 100 ) * /pws/zycie100a-basepis ).
ELSE.
T_PIS_DEV = T_PIS_CALC =
( ( /pws/zycie100a-aliqpis / 100 ) * /pws/zycie100a-aliqpis ).
ENDIF.
IF /pws/zycie100a-aliqcof IS INITIAL.
T_COF_DEV = T_COF_CALC =
( ( /pws/zycie100a-advalcofins / 100 )
* /pws/zycie100a-basecofins ) .
ELSE.
T_COF_DEV = T_COF_CALC =
( ( /pws/zycie100a-aliqcof / 100 )
* /pws/zycie100a-basecofins ) .
ENDIF.
CLEAR : t_pis, t_cofins .
WHEN '4'.
IF /pws/zycie100a-basredpis IS INITIAL.
IF /pws/zycie100a-aliqpis IS INITIAL.
T_PIS_CALC =
( ( /pws/zycie100a-advalpis / 100 )
* /pws/zycie100a-basepis ) .
ELSE.
T_PIS_CALC =
( ( /pws/zycie100a-aliqpis / 100 )
* /pws/zycie100a-basepis ) .
ENDIF.
ELSE.
T_PIS_CALC =
( ( /pws/zycie100a-basredpis / 100 )
* /pws/zycie100a-basepis ) .
ENDIF.
IF /pws/zycie100a-basredcof IS INITIAL.
IF /pws/zycie100a-aliqcof IS INITIAL.
T_COF_CALC =
( ( /pws/zycie100a-advalcofins / 100 )
* /pws/zycie100a-basecofins ) .
ELSE.
T_COF_CALC =
( ( /pws/zycie100a-aliqcof / 100 )
* /pws/zycie100a-basecofins ) .
ENDIF.
ELSE.
T_COF_CALC =
( ( /pws/zycie100a-basredcof / 100 )
* /pws/zycie100a-basecofins ) .
ENDIF.
t_pis = T_PIS_DEV =
( /pws/zycie100a-basepis / 100 ) * /pws/zycie100a-basredpis .
t_cofins = T_COF_DEV =
( /pws/zycie100a-basecofins / 100 ) * /pws/zycie100a-basredcof.
WHEN OTHERS.
IF /pws/zycie100a-aliqpis IS INITIAL.
t_pis = T_PIS_DEV = T_PIS_CALC =
( ( /pws/zycie100a-advalpis / 100 )
* /pws/zycie100a-basepis ) .
ELSE.
t_pis = T_PIS_DEV = T_PIS_CALC =
( ( /pws/zycie100a-aliqpis / 100 )
* /pws/zycie100a-basepis ) .
ENDIF.
IF /pws/zycie100a-aliqcof IS INITIAL.
t_cofins = T_COF_DEV = T_COF_CALC =
( ( /pws/zycie100a-advalcofins / 100 )
* /pws/zycie100a-basecofins ) .
ELSE.
t_cofins = T_COF_DEV = T_COF_CALC =
( ( /pws/zycie100a-aliqcof / 100 )
* /pws/zycie100a-basecofins ) .
ENDIF.
ENDCASE.
itab_it-pis_calc = T_PIS_CALC.
itab_it-pis_dev = T_PIS_DEV .
itab_it-cofi_calc = T_COF_CALC.
itab_it-cofi_dev = T_COF_DEV .
itab_it-VLPIS = t_pis .
itab_it-VLCOFINS = t_cofins .
endform.
* << Fim da inclusão