Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 28/09/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 10:36:02
Descrição da Nota: NECESSÁRIO COMPATILHAR O TIPO DA DI PARA USO DA EXIT
Sintoma
Estamos tentando utilizar o ponto de exit "DI004" do programa /PWS/SAPMZYCI023 para recalcular os
valores de ICMS.
Solução
criada variável v_tipop para receber o tipo de utilizacao dos cálculos.
Atualizada a exit para recalcular valores de icms.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04859 Data: 28/09/2007 Hora: 15:53:01
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04859
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00017
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
NECESSÁRIO COMPATILHAR O TIPO DA DI PARA USO DA EXIT
----------------------------------------------------------------------------------------------------
Palavras Chave:
TIPO DA DI - VARIÁVEL - TELA - P_TIPO - DI - EXIT
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023I01
REPS /PWS/MZYCI023O01
REPS /PWS/MZYCI023TOP
REPS /PWS/MZYCI023X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,
itab_it TO /pws/zycie003.
IF /pws/zycie085-mdadicao = 'N'.
IF /pws/zycie085-vlfob IS INITIAL.
/pws/zycie085-vlfob = v_tval.
ENDIF.
ENDIF.
IF s_fbvr IS INITIAL.
PERFORM load_fbvl.
ENDIF.
* >> Início da exclusão: FORM CALC_ITAB
PERFORM calc_itab_vals USING 'I'.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_ITAB
v_tipop = 'I' .
PERFORM calc_itab_vals USING v_tipop.
* << Fim da inclusão
s_wadreco = s_waddevi = s_waddevi + ( itab_it-baseantid *
( itab_it-antidrate / 100 ) ) + ( itab_it-vlantid *
itab_it-qtdeantid ).
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 /pws/zycie093-ternacion IS INITIAL.
itab_it-frn = ( /pws/zycie003-ntgew / v_tntgew ) *
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023I01
...
ENDMODULE.
MODULE load_itwa INPUT.
PERFORM load_itwa USING /pws/zycie100a-waersbem.
ENDMODULE.
MODULE load_ppro INPUT.
PERFORM load_pais USING /pws/zycie100a-pproc CHANGING t_ppais s_pais.
ENDMODULE.
MODULE calc_vii INPUT.
MOVE-CORRESPONDING /pws/zycie100a TO itab_it.
itab_it-codregtri = /pws/zycie100a-codregtri .
* >> Início da exclusão: MODULE CALC_VII
PERFORM calcula_impostos USING 'T'.
* << Fim da exclusão
* >> Início da inclusão: MODULE CALC_VII
v_tipop = 'T'.
PERFORM calcula_impostos USING v_tipop.
* << Fim da inclusão
wa_it-baseii = itab_it-baseii.
wa_it-vlii = itab_it-vlii.
wa_it-baseipi = itab_it-baseipi.
wa_it-vlipi = itab_it-vlipi.
wa_it-baseicms = itab_it-baseicms.
wa_it-vlicms = itab_it-vlicms.
wa_it-advalii = itab_it-advalii = /pws/zycie003-advalii.
IF /pws/zycie100a-codregtri NE v_icodr1.
IF v_dit = 'S'.
PERFORM: load_regt USING /pws/zycie100a-codregtri
...
...
ENDIF.
ENDIF.
IF /pws/zycie100a-codregtri EQ '6'.
CLEAR /pws/zycie003-advalii.
ENDIF.
ENDIF.
ENDMODULE.
MODULE calc_vipi INPUT.
MOVE-CORRESPONDING /pws/zycie100a TO itab_it.
itab_it-codregtriipi = /pws/zycie100a-codregtriipi.
* >> Início da inclusão: MODULE CALC_VIPI
v_tipop = 'T' .
PERFORM calcula_impostos USING v_tipop.
* << Fim da inclusão
* >> Início da exclusão: MODULE CALC_VIPI
PERFORM calcula_impostos USING 'T'.
* << Fim da exclusão
wa_it-baseipi = itab_it-baseipi.
wa_it-vlipi = itab_it-vlipi.
wa_it-baseicms = itab_it-baseicms.
wa_it-vlicms = itab_it-vlicms.
wa_it-advalipi = itab_it-advalipi = /pws/zycie003-advalipi.
PERFORM: load_regt USING /pws/zycie100a-codregtriipi
/pws/zycie085-ntimp '2'
CHANGING t_regde2.
ENDMODULE.
MODULE calc_vicms INPUT.
...
...
itab_it-modalidade = /pws/zycie003-modalidade .
itab_it-icms_dif = /pws/zycie100a-icms_dif.
itab_it-codregtriicms = /pws/zycie100a-codregtriicms .
PERFORM set_codregtri.
PERFORM: load_regt USING /pws/zycie100a-codregtriicms
/pws/zycie085-ntimp '4' CHANGING t_regde3.
PERFORM load_fun_icms.
IF /pws/zycie003-advalicms >= '100'.
/pws/zycie003-advalicms = '0'.
ENDIF.
* >> Início da inclusão: MODULE CALC_VICMS
v_tipop = 'T' .
PERFORM calcula_impostos USING v_tipop.
* << Fim da inclusão
* >> Início da exclusão: MODULE CALC_VICMS
PERFORM calcula_impostos USING 'T'.
* << Fim da exclusão
itab_it-basred = /pws/zycie003-basred.
wa_it-baseicms = itab_it-baseicms.
wa_it-vlicms = itab_it-vlicms.
wa_it-advalicms = itab_it-advalicms = /pws/zycie003-advalicms.
itab_zycit003-nrseqd = /pws/zycie003-nrseqd.
MODIFY itab_zycit003 TRANSPORTING nrseqd
WHERE nrseq = /pws/zycie003-nrseq
AND ebeln = /pws/zycie003-ebeln
AND ebelp = /pws/zycie003-ebelp.
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023O01
...
IF itab_it-codregtri IS INITIAL.
itab_it-codregtri = /pws/zycie100a-codregtri = '1'.
ENDIF.
IF /pws/zycie100a-codregtriipi IS INITIAL.
/pws/zycie100a-codregtriipi = '3'.
ENDIF.
MOVE itab_it TO wa_it.
MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,
itab_it TO /pws/zycie003.
v_idx = v_ip.
* >> Início da exclusão: MODULE LOAD_DATA_BLITEM
PERFORM: load_ifre USING 'T',
load_itax USING 'T'.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_DATA_BLITEM
v_tipop = 'T' .
* << Fim da inclusão
* >> Início da exclusão: MODULE LOAD_DATA_BLITEM
PERFORM calcula_impostos USING 'T'.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_DATA_BLITEM
PERFORM: load_ifre USING v_tipop,
load_itax USING v_tipop.
PERFORM calcula_impostos USING v_tipop .
* << Fim da inclusão
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,
...
...
ENDMODULE.
MODULE load_valitem OUTPUT.
ENDMODULE.
MODULE data_clean_ipi OUTPUT.
IF NOT /pws/zycie100a-tribipi IS INITIAL.
CLEAR: /pws/zycie100a-codregtriipi, /pws/zycie003-advalipi,
/pws/zycie100a-notatipi, /pws/zycie100a-reduzidaipi,
/pws/zycie100a-unit_valor, /pws/zycie100a-unit_meins,
/pws/zycie100a-unit_qtde, /pws/zycie100a-unit_reccapac,
/pws/zycie100a-unit_rectipo..
* >> Início da exclusão: MODULE DATA_CLEAN_IPI
PERFORM calcula_impostos USING 'T'.
* << Fim da exclusão
* >> Início da inclusão: MODULE DATA_CLEAN_IPI
v_tipop = 'T' .
PERFORM calcula_impostos USING v_tipop.
* << Fim da inclusão
wa_it-baseipi = itab_it-baseipi.
wa_it-vlipi = itab_it-vlipi.
wa_it-baseicms = itab_it-baseicms.
wa_it-vlicms = itab_it-vlicms.
wa_it-vlpis = itab_it-vlpis .
wa_it-vlcofins = itab_it-vlcofins.
ENDIF.
IF NOT /pws/zycie003-advalipi IS INITIAL.
CLEAR: /pws/zycie100a-unit_valor,
/pws/zycie100a-unit_meins,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023X01
...
tpfatura LIKE /pws/zycit006-tpfatura.
DATA: END OF itab_bsis_aux.
data v_ntgew LIKE /pws/zycit003-ntgew.
data v_ntgewd LIKE /pws/zycit003-ntgew.
DATA: v_dele.
DATA: v_pisred LIKE t_icms,
v_cofred LIKE t_icms,
v_calcpc LIKE itab_it-basepis.
DATA: v_difgran LIKE /pws/zycie085-vlfob.
data: v_diftern type /pws/zycit085-vlfob.
* >> Início da inclusão:
data v_tipop.
* << Fim da inclusão
DATA: END OF COMMON PART.