Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DSI
Data/Hora da Publicação: 18/12/2006 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:56:39
Descrição da Nota: DSI VALORES SE MODIFICAM TODA ATUALIZAÇÃO
Sintoma
O campo "regime tributação" na pasta 1 do detalhe do ítem está fechado; As alíquotas dos impostos na
pasta 3 estão com o campo advalorem fechados; Estes campos só devem estar fechados após a emissão da
nota fiscal e não no momento de gerar a DSI.
Ao criar a DSI não consigo alterar a alíquota do ICMS, altero no detalhe do item, mas quando retorno
para a DI, os valores são trocados e quando retorno ao detalhe do item, alíquota volta ao original.
(
Solução
Atualização do programa de DSI para permitir alteração das alíquotas de impostos.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02718 Data: 18/12/2006 Hora: 09:39:33
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02718
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
00185 - 00001 - 6.0 - 00021 - INCLUIR PERDA DA VALIDADE DA MP252 NA TABELA DE PARÂMETROS /PWS/Z
01013 - 00002 - 6.0 - 00022 - O VALOR MLE NA PASTA 2 DA DSI NÃO CORRESPONDE COM O VALOR DA FATU
01242 - 00003 - 6.0 - 00023 - ERRO AO CRIAR A DSI
01801 - 00004 - 6.0 - 00024 - RATEIO DE SEGURO DA DI DIFERE DO RATEIO DO SISCOMEX
02022 - 00005 - 6.0 - 00024 - AJUSTES DSI MUNDANÇA SISCOMEX
02104 - 00006 - 6.0 - 00024 - EM DSI COURIER O CAMPO DE PREENCHIMENTO DO SEGURO ESTÁ ZERADO E F
02362 - 00007 - 6.0 - 00025 - DSI VALOR DO SISCOMEX ZERADO
02597 - 00008 - 6.0 - 00025 - AO ALTERAR VALOR DA DSI APÓS CRIAÇÃO DE NF DÁ DIFERENÇA
02705 - 00009 - 6.0 - 00026 - AJUSTE NA DSI PARA FECHAR CAMPOS AO EMITIR A NOTA FISCAL
----------------------------------------------------------------------------------------------------
DSI VALORES SE MODIFICAM TODA ATUALIZAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
DSI - VALORES ERRADOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI058F01
REPS /PWS/MZYCI058F02
REPS /PWS/MZYCI058F03
REPS /PWS/MZYCI058F04
REPS /PWS/MZYCI058O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F01
...
t_dif_seg LIKE /pws/zycit100-vlseg.
IF /pws/zycie100a-dttaxbem IS INITIAL.
MOVE itab_it-dttaxbem TO /pws/zycie100a-dttaxbem.
ELSE.
MOVE /pws/zycie100a-dttaxbem TO itab_it-dttaxbem .
ENDIF.
IF p_tipo NE 'B' OR t_ivmle IS INITIAL OR v_dit = 'N'.
t_ivmle_d2 = t_ivmle = t_vmle * /pws/zycie100a-dttaxbem.
ENDIF.
.
* >> Início da exclusão: FORM LOAD_ITAX
IF v_idx EQ v_ipt AND v_ipt NE 1.
t_ivseg = ( t_vmle3 / v_tval2 ) * s_stvr.
v_tot_seg = ( t_vmle3 / v_tval2 ) * v_sgtofat.
ELSE.
* << Fim da exclusão
PERFORM valor_cfr USING p_tipo.
IF /pws/zycit000-rat_seg_fob IS INITIAL.
CASE s_inco1_ci.
WHEN 'C&F'.
v_cfr = t_ivmle + t_ivfre.
WHEN 'CIF'.
v_cfr = t_ivmle + t_ivfre.
WHEN 'FOB'.
v_cfr = t_ivmle.
ENDCASE.
ELSE.
IF s_inco1_ci EQ 'CIF'.
v_cfr = t_ivmle + t_ivfre.
ELSE.
v_cfr = t_ivmle.
ENDIF.
ENDIF.
IF NOT v_tcfr IS INITIAL.
t_ivseg = itab_it-vlseg = ( v_cfr / ( v_tcfr ) ) * s_stvr.
v_tot_seg = ( v_cfr / ( v_tcfr ) ) * v_sgtofat.
* >> Início da exclusão: FORM LOAD_ITAX
ENDIF.
* << Fim da exclusão
ENDIF.
IF p_tipo = 'I'.
s_stvr_aux = s_stvr_aux + t_ivseg.
s_stvr_aux1 = s_stvr_aux1 + v_tot_seg.
ENDIF.
CLEAR: t_ivdesp.
LOOP AT itab_zycit049 WHERE baseii EQ 'X' AND NOT vlreal IS initial.
IF v_idx EQ v_ipt AND v_ipt NE 1.
IF itab_zycit049-divabs = 'X'.
IF NOT v_ipt IS INITIAL.
...
...
ENDIF.
ENDIF.
ENDLOOP.
CASE s_inco1_ci.
WHEN 'CIF'.
t_dif_seg = v_tsegfat - v_sgtofat.
t_dif_seg = ( v_cfr / ( v_tcfr ) ) * t_dif_seg.
ENDCASE.
CASE s_inco1_ci.
WHEN 'FOB'.
* >> Início da exclusão: FORM LOAD_ITAX
t_ivadu = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadu = t_ivmle.
* << Fim da inclusão
WHEN 'C&F'.
t_ivmle = t_ivmle.
t_vmle = t_vmle + v_tot_fre.
t_vmle_d2 = t_vmle.
t_ivmle_d2 = t_vmle_d2 * /pws/zycie100a-dttaxbem.
t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.
t_vmle2 = t_vmle.
WHEN 'CIF'.
t_ivmle = t_ivmle + ( t_dif_seg * /pws/zycie085-ukursseg ).
t_ivmle_d2 = t_ivmle + t_ivfre + t_ivseg .
...
...
ENDCASE.
itab_it-vlmerc_ad = t_vmle2.
t_ivmle2 = t_vmle_d2 * /pws/zycie085-ukursfob .
v_tmle_d2 = v_tmle_d2 + t_ivmle2 .
ENDFORM.
FORM load_iii USING p_tipo.
IF /pws/zycie093-meiotransp = 'PS' AND /pws/zycie085-tpdi EQ 'S'.
/pws/zycie003-advalii = '60'.
/pws/zycie003-advalicms = '18'.
ENDIF.
* >> Início da exclusão: FORM LOAD_III
t_iibas = t_ivadu.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_III
t_iibas = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.
* << Fim da inclusão
a_iicalc = ( ( /pws/zycie003-advalii / 100 ) * t_iibas ).
CASE /pws/zycie100a-codregtri.
WHEN '1' OR '3' OR '4' OR '5' OR '7' OR '8'.
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.
...
...
itab_it-ii_recolher = t_iirec .
itab_it-baseii = t_iibas.
t_vlii = t_vlii + t_iirec.
t_tot = t_tot + t_iirec.
if /pws/zycie001-regime eq '09'.
clear: t_iirec.
endif.
ENDFORM.
FORM load_iipi USING p_tipo.
IF NOT /pws/zycie100a-codregtri = '5'.
* >> Início da exclusão: FORM LOAD_IIPI
t_ipibas = ( t_ivadu + itab_it-ii_calculado ).
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IIPI
t_ipibas = ( t_iibas + itab_it-ii_calculado ).
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM LOAD_IIPI
t_ipibas = ( t_ivadu + t_iirec ).
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IIPI
t_ipibas = ( t_iibas + t_iirec ).
* << Fim da inclusão
ENDIF.
a_ipidevi = ( ( /pws/zycie003-advalipi / 100 ) * t_ipibas ).
itab_it-vlipi = a_ipidevi.
CLEAR t_ipirec.
IF
'26' NA /pws/zycie100a-codregtri.
t_ipirec = a_ipidevi.
IF p_tipo = 'A'.
* >> Início da exclusão: FORM LOAD_IIPI
IF ' 15' NA /pws/zycie100a-codregtriipi .
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IIPI
IF ' 35' NA /pws/zycie100a-codregtri.
* << Fim da inclusão
ELSE.
CLEAR t_ipirec.
ENDIF.
ELSE.
* >> Início da exclusão: FORM LOAD_IIPI
IF ' 15' NA /pws/zycie100a-codregtriipi .
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IIPI
IF ' 35' NA /pws/zycie100a-codregtri.
* << Fim da inclusão
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
/pws/zycie085-ntimp NE '09' AND
/pws/zycie085-ntimp NE '11'.
t_ipirec = a_ipidevi.
...
...
itab_zycit049-baseicms = itab_zycit020-baseicms.
itab_zycit049-baseii = itab_zycit020-baseii.
READ TABLE itab_zycit039 WITH KEY
codigo = itab_zycit020-codigo.
IF sy-subrc EQ 0.
itab_zycit049-divabs = itab_zycit039-divabs.
itab_zycit049-peso = itab_zycit039-peso.
ENDIF.
ENDIF.
IF NOT itab_zycit049-vldp IS INITIAL.
* >> Início da exclusão: FORM LOADING_ALL
IF itab_zycit049-waers NE /pws/zycbt007-waersb.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
IF itab_zycit049-waers NE wa_zycbt007-waersb.
* << Fim da inclusão
PERFORM taxa_converte USING itab_zycit049-waers
/pws/zycie085-dttax
CHANGING s_tax.
itab_zycit049-vlreal = itab_zycit049-vldp * s_tax.
ELSE.
itab_zycit049-vlreal = itab_zycit049-vldp.
ENDIF.
ENDIF.
MODIFY itab_zycit049 FROM itab_zycit049.
ENDIF.
...
...
t_vlicms = /pws/zycie085-vlicms.
ENDIF.
ENDFORM.
FORM adic_list.
CLEAR: it_adi[], /pws/zycie100a, itab_itb.
REFRESH: it_adi[].
PERFORM data_sort.
v_adic = 1.
CLEAR: v_tabix.
LOOP AT itab_it.
* >> Início da exclusão: FORM ADIC_LIST
IF sy-tabix = 1.
MOVE-CORRESPONDING itab_it TO itab_itb.
ENDIF.
v_tabix = v_tabix + 1.
IF itab_it-j_1bnbm NE itab_itb-j_1bnbm OR
itab_it-fabric NE itab_itb-fabric OR
itab_it-lifnrfabr NE itab_itb-lifnrfabr OR
itab_it-lifnr NE itab_itb-lifnr OR
itab_it-advalii NE itab_itb-advalii OR
itab_it-advalipi NE itab_itb-advalipi OR
itab_it-naladi NE itab_itb-naladi OR
itab_it-naladincca NE itab_itb-naladincca OR
itab_it-codregtri NE itab_itb-codregtri OR
itab_it-codregtriipi NE itab_itb-codregtriipi OR
itab_it-zterm NE itab_itb-zterm OR
itab_it-meinsest NE itab_itb-meinsest OR
itab_it-pproc NE itab_itb-pproc OR
itab_it-nrseqli NE itab_itb-nrseqli OR
itab_it-aplicacao NE itab_itb-aplicacao OR
itab_it-condmerc NE itab_itb-condmerc OR
itab_it-inco1 NE itab_itb-inco1 OR
itab_it-codmat NE itab_itb-codmat OR
itab_it-cacl NE itab_itb-cacl OR
itab_it-codfunleg NE itab_itb-codfunleg OR
itab_it-acordo NE itab_itb-acordo OR
itab_it-acordorate NE itab_itb-acordorate OR
itab_it-reduzida NE itab_itb-reduzida OR
itab_it-percreduz NE itab_itb-percreduz OR
itab_it-notatipi NE itab_itb-notatipi OR
itab_it-reduzidaipi NE itab_itb-reduzidaipi OR
itab_it-unit_valor NE itab_itb-unit_valor OR
itab_it-unit_meins NE itab_itb-unit_meins OR
itab_it-unit_reccapac NE itab_itb-unit_reccapac OR
itab_it-unit_rectipo NE itab_itb-unit_rectipo OR
itab_it-waersbem NE itab_itb-waersbem OR
itab_it-dttaxbem NE itab_itb-dttaxbem OR
itab_it-extarif_al NE itab_itb-extarif_al OR
itab_it-tipo_al NE itab_itb-tipo_al OR
itab_it-orgemiss_al NE itab_itb-orgemiss_al OR
itab_it-numero_al NE itab_itb-numero_al OR
itab_it-anoemiss_al NE itab_itb-anoemiss_al OR
itab_it-ii_extarif NE itab_itb-ii_extarif OR
itab_it-ii_tipo NE itab_itb-ii_tipo OR
itab_it-ii_orgemiss NE itab_itb-ii_orgemiss OR
itab_it-ii_numero NE itab_itb-ii_numero OR
itab_it-ii_anoemiss NE itab_itb-ii_anoemiss OR
itab_it-ipi_extarif NE itab_itb-ipi_extarif OR
itab_it-ipi_tipo NE itab_itb-ipi_tipo OR
itab_it-ipi_orgemiss NE itab_itb-ipi_orgemiss OR
itab_it-ipi_numero NE itab_itb-ipi_numero OR
itab_it-ipi_anoemiss NE itab_itb-ipi_anoemiss OR
itab_it-ad_extarif NE itab_itb-ad_extarif OR
itab_it-ad_tipo NE itab_itb-ad_tipo OR
itab_it-ad_orgemiss NE itab_itb-ad_orgemiss OR
itab_it-ad_numero NE itab_itb-ad_numero OR
itab_it-ad_anoemiss NE itab_itb-ad_anoemiss OR
itab_it-aladi NE itab_itb-aladi OR
itab_it-tribipi NE itab_itb-tribipi OR
itab_it-advalicms NE itab_itb-advalicms OR
itab_it-vlantid NE itab_itb-vlantid OR
itab_it-meinsantid NE itab_itb-meinsantid OR
itab_it-qtdeantid NE itab_itb-qtdeantid.
PERFORM adic_next.
ELSE.
IF itab_zycit001-flag_adicao EQ 'X'.
PERFORM adic_next.
ENDIF.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM ADIC_LIST
v_tabix = sy-tabix.
* << Fim da inclusão
itab_it-adicao = v_adic.
MODIFY itab_it INDEX sy-tabix TRANSPORTING adicao.
it_adi-adicao = v_adic.
it_adi-nrseqdi = /pws/zycie085-nrseqdi.
it_adi-nrseq = itab_it-nrseq.
it_adi-ebeln = itab_it-ebeln.
it_adi-ebelp = itab_it-ebelp.
it_adi-nrseqli = itab_it-nrseqli.
it_adi-j_1bnbm = itab_it-j_1bnbm.
it_adi-valor = itab_it-vlreal.
...
...
IF sy-subrc EQ 0.
SELECT SINGLE petroleo FROM /pws/zycit120 INTO v_petroleo WHERE
modalidade = itab_zycit001-modalidade.
IF sy-subrc EQ 0.
IF v_petroleo IS INITIAL.
PERFORM: fill_receitas_auto USING '0086' t_vlii.
ELSE.
PERFORM: fill_receitas_auto USING '1962' t_vlii.
ENDIF.
PERFORM: fill_receitas_auto USING '1038' t_vlipi.
* >> Início da inclusão: FORM FILL_RECEITAS
PERFORM: fill_receitas_auto USING '7811' s_wsisco.
* << Fim da inclusão
PERFORM: fill_receitas_auto USING '5602' t_vlpis.
PERFORM: fill_receitas_auto USING '5629' t_vlcofins.
ENDIF.
ENDIF.
ENDFORM.
FORM fill_receitas_auto USING p_receita
p_valor.
READ TABLE itab_zycit095 WITH KEY
receita = p_receita.
IF sy-subrc EQ 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F02
...
AND land1 = p_country.
ENDIF.
ENDFORM.
FORM load_blid.
CLEAR: t_blid.
SELECT SINGLE * FROM /pws/zycit093 INTO /pws/zycie093 WHERE
nrseqce = /pws/zycie085-nrbl.
IF sy-subrc = 0.
CLEAR: /pws/zycie093-gewei_b.
t_blid = /pws/zycie093-identify.
* >> Início da exclusão: FORM LOAD_BLID
/pws/zycie093-prepaid = /pws/zycie093-prepaid +
/pws/zycie093-collect - /pws/zycie093-ternacion.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_BLID
IF v_dit = 'S'.
/pws/zycie093-prepaid = /pws/zycie093-vlfre.
ENDIF.
* << Fim da inclusão
clear /pws/zycie093-collect.
ENDIF.
ENDFORM.
FORM load_blwa.
PERFORM load_waers USING itab_it-waers CHANGING t_msis t_mdes.
ENDFORM.
FORM read_text_blitem CHANGING p_text.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F03
...
ENDIF.
IF v_nova IS INITIAL.
PERFORM mp_antiga.
ELSE.
PERFORM mp_nova.
ENDIF.
ENDIF.
v_divisor = ( 1 - v_advicms - v_advpis - v_advcof ).
PERFORM calc_piscofins.
IF v_nr_itens GT 1.
* >> Início da exclusão: FORM LOAD_IICMS
t_icmsbs_d2 = t_icmsbs = ( t_ivadu + t_ipirec + t_iirec +
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IICMS
t_icmsbs_d2 = t_icmsbs = ( t_iibas + t_ipirec + t_iirec +
* << Fim da inclusão
t_ivdesp + v_desp + t_pis + t_cofins ) *
( /pws/zycie003-basred / 100 ).
ELSE.
* >> Início da exclusão: FORM LOAD_IICMS
t_icmsbs_d2 = t_icmsbs = ( t_ivadu + t_ipirec + t_iirec +
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IICMS
t_icmsbs_d2 = t_icmsbs = ( t_iibas + t_ipirec + t_iirec +
* << Fim da inclusão
v_sisco3 + t_ivdesp + t_pis + t_cofins ) *
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F04
FORM mp_antiga.
itab_it-basecofins = itab_it-basepis =
* >> Início da exclusão: FORM MP_ANTIGA
( t_ivadu * ( ( 1 + v_advicms * ( v_advii + v_advipi *
* << Fim da exclusão
* >> Início da inclusão: FORM MP_ANTIGA
( t_iibas * ( ( 1 + v_advicms * ( v_advii + v_advipi *
* << Fim da inclusão
( 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.
/pws/zycie100a-basecofins = /pws/zycie100a-basepis =
itab_it-basecofins = itab_it-basepis =
* >> Início da exclusão: FORM MP_NOVA
( t_ivadu * ( ( 1 + v_advicms * ( v_advii + v_advipi *
* << Fim da exclusão
* >> Início da inclusão: FORM MP_NOVA
( t_iibas * ( ( 1 + v_advicms * ( v_advii + v_advipi *
* << Fim da inclusão
( 1 + v_advii ) ) ) / ( ( 1 - v_advpis - v_advcof ) *
( 1 - v_advicms ) ) ) ).
ENDFORM.
FORM propoe_fundleg.
IF NOT /pws/zycie100a-codfunlegpiscofi IS INITIAL.
PERFORM seleciona_fund_legal_pc
USING /pws/zycie100a-codfunlegpiscofi
/pws/zycie100a-codregtripiscofi
CHANGING t_fundes_regtri /pws/zycie100a-codredpiscofi.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058O01
...
wa_itb-mark = itab_itc-mark.
ENDMODULE.
MODULE data_clean_seg OUTPUT.
IF sy-tcode = '/PWS/ZYCI058_C'.
IF /pws/zycie085-waersseg IS INITIAL.
CLEAR: /pws/zycie085-ukursseg, s_stvr, /pws/zycie085-vlseg.
ENDIF.
IF v_perseg_vez = ' '.
IF /pws/zycie085-per_seg IS INITIAL AND /pws/zycie085-vlseg IS
INITIAL.
* >> Início da exclusão: MODULE DATA_CLEAN_SEG
SELECT SINGLE per_seg FROM /pws/zycit000 INTO
/pws/zycie085-per_seg.
* << Fim da exclusão
* >> Início da inclusão: MODULE DATA_CLEAN_SEG
SELECT SINGLE per_seg
INTO /pws/zycie085-per_seg
FROM /pws/zycit000
WHERE land1 EQ t001-land1.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
v_perseg_vez = 'X'.
ENDMODULE.
MODULE set_screen_lines_esp OUTPUT.
LOOP AT SCREEN.
IF screen-group1 EQ 'AC'.
screen-input = '0'.
IF v_acto EQ 'A'.
...