CE PLUS - Nota 004859

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.

Versões Tratadas

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.