CE PLUS - Nota 013315

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 10/10/2013 00:00:00

Data/Hora Última Alteração: 14/10/2013 17:22:09

Descrição da Nota: NOVA LEGISLAÇÃO PARA ALTERAR BASE DE CÁLCULO DO PIS E COFINS

Sintoma

Nova legislação para alterar base de cálculo do pis e cofins

 

 

Solução

Feito tratamento para parâmetro com origem MP615 na /pws/zycit438

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

PROGRAMA SE PERDE AO CALCULAR VALOR CIF NA DSI

BASE DE ICMS NÃO BATE COM TOTAL DA NOTA MESMO COM FLAG DE ARREDONDAMENTO

RATEIO DE SEGURO NÃO BATE COM TOTAL DE ITENS QUANDO A MOEDA É DIFERENTE

AJUSTES PARA TRATAMENTO DE DSI DE REIMPORTAÇÃO

NÃO ABATE DA BASE DE II DESPESAS PARAMETRIZADAS COMO DEDUÇÃO

ERRO NO CAMPO VALOR MLE NA PASTA 3 DOS ITENS

RATEIO DO SEGURO NA DI DEVE SER PELO VALOR FOB

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 13315 Data: 10/10/2013 Hora: 15:37:33

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 13315

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00006

Agrupamento              : 00165

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

04140  - 00001 - 7.0    - 00002  - RATEIO DO SEGURO NA DI DEVE SER PELO VALOR FOB

08949  - 00002 - 7.0    - 00010  - PROGRAMA SE PERDE AO CALCULAR VALOR CIF NA DSI

10918  - 00003 - 8.0    - 00006  - AJUSTES PARA TRATAMENTO DE DSI DE REIMPORTAÇÃO

11377  - 00004 - 8.0    - 00008  - RATEIO DE SEGURO NÃO BATE COM TOTAL DE ITENS QUANDO A MOEDA É DIF

11747  - 00005 - 8.0    - 00009  - BASE DE ICMS NÃO BATE COM TOTAL DA NOTA MESMO COM FLAG DE ARREDON

11921  - 00006 - 8.0    - 00010  -  NÃO ABATE DA BASE DE II DESPESAS PARAMETRIZADAS COMO DEDUÇÃO

12524  - 00007 - 9.0    - 00002  - ERRO NO CAMPO VALOR MLE NA PASTA 3 DOS ITENS

----------------------------------------------------------------------------------------------------

NOVA LEGISLAÇÃO PARA ALTERAR BASE DE CÁLCULO DO PIS E COFINS

----------------------------------------------------------------------------------------------------

Palavras Chave:

LEGISLACAO - MP 615 - PIS - COFINS

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023X01

REPS /PWS/MZYCI058F01

REPS /PWS/MZYCI058F03

REPS /PWS/MZYCI058X01

REPS /PWS/MZYCI070F01

REPS /PWS/MZYCI070F03

REPS /PWS/MZYCI070X01

 

 

 

***Necessário parâmetro na /PWS/ZYCIT438

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

 

  IF NOT /pws/zycit000-rat_seg_fob IS INITIAL.

    CASE s_inco1_ci.

      WHEN 'CIF'.

        t_dif_seg   = /pws/zycie003-vlseg_fat - v_tot_seg  .

    ENDCASE.

  ENDIF.

  CASE s_inco1_ci.

    WHEN 'FOB'.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc = t_ivmle + t_ivseg + t_ivfre.

* << Fim da inclusão

      t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.

      IF t_ivadu LT 0 AND v_neg EQ 'X'.

        CLEAR t_ivadu.

        MESSAGE i015 WITH text-294 text-295 .

        EXIT.

      ENDIF.

      v_casasd = t_ivseg.

      v_casasd2 = t_ivfre.

      v_casasd3 = t_ivdesp.

      v_ivadud = t_ivmle + v_casasd3 + v_casasd + v_casasd2.

...

 

...

 

      IF /pws/zycie085-waersfob NE itab_it-waersbem.

        PERFORM: calc_conv_moeda:

                 USING    /pws/zycie085-waersfob

                          itab_it-waersbem

                 CHANGING t_vmle2.

      ENDIF.

      t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc = t_ivmle2 + t_ivseg .

* << Fim da inclusão

      t_ivadu = t_ivmle2 + t_ivseg + t_ivdesp.

      IF t_ivadu LT 0 AND v_neg EQ 'X'.

        CLEAR t_ivadu.

        MESSAGE i015 WITH text-294 text-295 .

        EXIT.

      ENDIF.

      v_casasd = t_ivseg.

      v_casasd3 = t_ivdesp.

      v_ivadud = t_ivmle2 + v_casasd3 + v_casasd .

    WHEN 'CIF'.

...

 

...

        t_ivmle + v_desp_fren +  t_ivfre  + t_ivseg .

      ENDIF.

      t_vmle2 = t_vmle.

      IF /pws/zycie085-waersfob NE itab_it-waersbem.

        PERFORM: calc_conv_moeda:

                 USING    /pws/zycie085-waersfob

                          itab_it-waersbem

                 CHANGING t_vmle2.

      ENDIF.

      t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc = t_ivmle2 - v_desp_fren.

* << Fim da inclusão

      t_ivadu = t_ivmle2 + t_ivdesp - v_desp_fren.

      IF t_ivadu LT 0 AND v_neg EQ 'X'.

        CLEAR t_ivadu.

        MESSAGE i015 WITH text-294 text-295 .

        EXIT.

      ENDIF.

      v_casasd3 = t_ivdesp.

      v_ivadud = t_ivmle2 + v_casasd3 .

    WHEN 'C+I'.

      t_ivmle_d2 = t_ivmle.

      t_vmle_d2 = t_vmle2 = t_vmle .

      IF /pws/zycie085-waersfob NE itab_it-waersbem.

        PERFORM: calc_conv_moeda:

                 USING    /pws/zycie085-waersfob

                          itab_it-waersbem

                 CHANGING t_vmle2.

      ENDIF.

      t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

      t_ivadu = t_ivmle2 + t_ivfre + t_ivdesp.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc = t_ivmle2 + t_ivfre.

* << Fim da inclusão

 

      IF t_ivadu LT 0 AND v_neg EQ 'X'.

        CLEAR t_ivadu.

        MESSAGE i015 WITH text-294 text-295 .

        EXIT.

      ENDIF.

      v_casasd = t_ivfre.

      v_casasd3 = t_ivdesp.

      v_ivadud = t_ivmle2 + v_casasd3 + v_casasd .

      t_dif_seg   = /pws/zycie003-vlseg_fat - v_tot_seg  .

...

 

...

    itab_it-vlreal_dest = itab_it-vlreal.

    CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'

         EXPORTING

              input  = itab_it-matnr_item

         IMPORTING

              output = itab_it-matnr_item.

    IF sy-subrc <> 0.

    ENDIF.

    MODIFY itab_it.

  ENDLOOP.

* >> Início da inclusão: FORM FILL_ITABIT

  SELECT  * FROM /pws/zycit438

 INTO TABLE itab_zycit438.

* << Fim da inclusão

ENDFORM.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

  READ TABLE itab_zycit438 INDEX 1.

  IF sy-subrc NE 0 .

    SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

       WHERE regio = v_region

       AND   ( lei = 'MP252' OR lei = 'MP255' ).

    IF sy-subrc NE 0.

      SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

         WHERE regio = ' '

       AND   ( lei = 'MP252' OR lei = 'MP255' ).

    ENDIF.

* >> Início da inclusão: FORM LOAD_IICMS

    SELECT  * FROM /pws/zycit438

     APPENDING TABLE itab_zycit438

       WHERE regio = v_region

       AND    lei = 'MP615' .

* << Fim da inclusão

  ENDIF.

  CLEAR v_nova.

  IF /pws/zycie085-dtuserc IS INITIAL.

    /pws/zycie085-dtuserc = sy-datlo.

  ENDIF.

  CLEAR : v_fatx, v_xa , v_xb , v_xc, v_faty, v_fatpc.

  LOOP AT itab_zycit049 WHERE baseicms EQ 'X' AND NOT vlreal IS initial.

    CLEAR t_ivdes2.

    IF itab_zycit049-tpdesp = /pws/zycit000-cod_antidump .

      CONTINUE.

...

 

...

  READ TABLE itab_zyglt100 WITH KEY zexit = 'DI007'  BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa) IF FOUND.

    ENDIF.

  ENDIF.

  IF /pws/zycit000-pis_cof EQ 'X'.

    IF NOT itab_zycit438[] IS INITIAL.

      IF NOT /pws/zycie085-dtreg IS INITIAL.

* >> Início da inclusão: FORM LOAD_IICMS

        READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

              NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = '6'.

          ENDIF.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

              NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

          ELSE.

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

              IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

...

 

...

              ENDIF.

            ENDIF.

          ENDIF.

        ELSE.

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

               itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

                  NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

* >> Início da inclusão: FORM LOAD_IICMS

              ENDIF.

* << Fim da inclusão

            ENDIF.

          ENDIF.

        ENDIF.

      ELSE.

* >> Início da inclusão: FORM LOAD_IICMS

        READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

              NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = '6'.

          ENDIF.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

                NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

          ELSE.

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

             IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

...

 

...

              ENDIF.

            ENDIF.

          ENDIF.

        ELSE.

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

               itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

                       NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

* >> Início da inclusão: FORM LOAD_IICMS

              ENDIF.

* << Fim da inclusão

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSE.

      CLEAR v_nova.

    ENDIF.

    IF v_nova IS INITIAL.

      PERFORM mp_antiga.

* >> Início da inclusão: FORM LOAD_IICMS

    ELSEIF v_nova EQ '6'.

      itab_it-basecofins = itab_it-basepis =

      /pws/zycie100a-basecofins  = /pws/zycie100a-basepis = t_ivadu.

* << Fim da inclusão

    ELSE.

      PERFORM mp_nova.

    ENDIF.

  ENDIF.

  v_divisor =  ( 1 - v_advicms - v_advpis - v_advcof ).

  PERFORM calc_piscofins.

 

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

 

* >> Início da inclusão:

 data: t_ivaduPC  LIKE t_icms.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI058F01

 

...

 

  CASE s_inco1_ci.

    WHEN 'FOB'.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc = t_ivmle + t_ivseg + t_ivfre .

* << Fim da inclusão

      t_ivadu = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.

      v_casasd = t_ivseg.

      v_casasd2 = t_ivfre.

      v_casasd3 = t_ivdesp.

      v_ivadud = t_ivmle + v_casasd3 + v_casasd + v_casasd2.

    WHEN 'C&F'.

      t_vmle = t_vmle + v_tot_fre.

      t_vmle_d2 = t_vmle.

      t_ivmle_d2 =   t_vmle_d2 * /pws/zycie100a-dttaxbem.

      t_ivmle = t_ivmle_d2.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc = t_ivmle + t_ivseg + t_ivfre.

* << Fim da inclusão

      t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.

      t_vmle2 = t_vmle.

      v_casasd = t_ivseg.

      v_casasd3 = t_ivdesp.

      v_ivadud = t_ivmle2 + v_casasd3 + v_casasd .

    WHEN 'CIF'.

      t_dif_seg =  v_tsegfat - v_sgtofat.

      t_dif_seg = ( v_cfr / ( v_tcfr ) ) * t_dif_seg.

      itab_it-vlfob = t_vmle  =  t_vmle  + t_dif_seg.

      t_ivmle = t_ivmle + ( t_dif_seg * /pws/zycie085-ukursseg ).

      t_ivmle_d2 = t_ivmle + t_ivfre + t_ivseg .

      t_ivmle = t_ivmle_d2.

      t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc = t_ivmle + t_ivfre + t_ivseg.

* << Fim da inclusão

      t_ivadu = t_ivmle + t_ivdesp + t_ivfre + t_ivseg.

      t_vmle2 = t_vmle.

      v_casasd3 = t_ivdesp.

      v_ivadud = t_ivmle2 + v_casasd3 .

  ENDCASE.

  itab_it-vlmerc_ad = t_vmle2.

  t_ivmle2 = t_vmle_d2 * /pws/zycie085-ukursfob .

  v_tmle_d2 = v_tmle_d2 + t_ivmle_d2 .

ENDFORM.

...

 

...

              output = itab_it-matnr_item.

    IF sy-subrc <> 0.

    ENDIF.

    MODIFY itab_it.

  ENDLOOP.

  MOVE itab_it[] TO itab_ita[].

  /pws/zycie093-ntgew = /pws/zycie085-ntgew = v_tntgew.

  IF /pws/zycie093-gewei_l IS INITIAL.

    /pws/zycie093-gewei_l =  /pws/zycie093-gewei_b.

  ENDIF.

* >> Início da inclusão: FORM FILL_ITABIT

  SELECT  * FROM /pws/zycit438

 INTO TABLE itab_zycit438.

* << Fim da inclusão

ENDFORM.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI058F03

 

...

  CLEAR: t_ivdesp, v_advii, v_advipi, v_advicms,

          v_advpis, v_advcof, v_desp.

  CLEAR : v_fatx, v_xa , v_xb , v_xc, v_faty, v_fatpc.

  CLEAR: t_ivdesp.

  IF itab_zycit001-regime EQ '11'.

    t_iibas = t_ivadu.

  ENDIF.

  SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie085-bukrs.

  SELECT SINGLE * FROM /pws/zycit000 INTO /pws/zycit000

  WHERE land1 = t001-land1.

* >> Início da exclusão: FORM LOAD_IICMS

  SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

     WHERE regio = v_region

     AND   lei = 'MP252'.

  IF sy-subrc NE 0.

    SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

       WHERE regio = ' '

       AND   lei = 'MP252'.

  ENDIF.

  SELECT  * FROM /pws/zycit438 APPENDING TABLE itab_zycit438

     WHERE regio = v_region

     AND   lei = 'MP255'.

  IF sy-subrc NE 0.

    SELECT  * FROM /pws/zycit438 APPENDING TABLE itab_zycit438

       WHERE regio = ' '

       AND   lei = 'MP255'.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_IICMS

  READ TABLE itab_zycit438 INDEX 1.

  IF sy-subrc NE 0 .

    SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

       WHERE regio = v_region

       AND   ( lei = 'MP252' OR lei = 'MP255' ).

    IF sy-subrc NE 0.

      SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

         WHERE regio = ' '

       AND   ( lei = 'MP252' OR lei = 'MP255' ).

    ENDIF.

    SELECT  * FROM /pws/zycit438

     APPENDING TABLE itab_zycit438

       WHERE regio = v_region

       AND    lei = 'MP615' .

* << Fim da inclusão

  ENDIF .

  CLEAR v_nova.

  IF /pws/zycie085-dtuserc IS INITIAL.

    /pws/zycie085-dtuserc = sy-datum.

  ENDIF.

  LOOP AT itab_zycit049 WHERE baseicms EQ 'X' AND NOT vlreal IS initial.

    IF itab_zycit049-divabs EQ 'X'.

      t_ivdes2 = ( 1 / v_ipt ) * itab_zycit049-vlreal.

    ELSEIF itab_zycit049-peso EQ 'X'.

      t_ivdes2 = ( wa_it-ntgew / v_tntgew ) * itab_zycit049-vlreal.

    ELSEIF itab_zycit049-proporplan EQ 'X'.

...

 

...

  MOVE itab_it[] TO itab_zycit100_temp[].

  MOVE-CORRESPONDING itab_it TO /pws/zycie100a.

  v_advii   = ( /pws/zycie003-advalii / 100 ).

  v_advipi  = ( /pws/zycie003-advalipi / 100 ).

  v_advicms = ( /pws/zycie003-advalicms / 100 ).

  v_advpis  = ( itab_it-advalpis / 100 ).

  v_advcof  = ( itab_it-advalcofins / 100 ).

  IF /pws/zycit000-pis_cof EQ 'X'.

    IF NOT itab_zycit438[] IS INITIAL.

      IF NOT /pws/zycie085-dtreg IS INITIAL.

* >> Início da inclusão: FORM LOAD_IICMS

        READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

              NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = '6'.

          ENDIF.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

             NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

          ELSE.

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

              IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

...

 

...

        ELSE.

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

               itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

               NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

            ENDIF.

          ENDIF.

        ENDIF.

* >> Início da inclusão: FORM LOAD_IICMS

        ENDIF.

      ELSE.

        READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

              NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = '6'.

          ENDIF.

* << Fim da inclusão

      ELSE.

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

             NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

          ELSE.

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

...

 

...

              ENDIF.

            ENDIF.

          ENDIF.

        ELSE.

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

               itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

                NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

* >> Início da inclusão: FORM LOAD_IICMS

              ENDIF.

* << Fim da inclusão

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSE.

      CLEAR v_nova.

    ENDIF.

    IF v_nova IS INITIAL.

      PERFORM mp_antiga.

* >> Início da inclusão: FORM LOAD_IICMS

    ELSEIF v_nova EQ '6'.

      itab_it-basecofins = itab_it-basepis =

      /pws/zycie100a-basecofins  = /pws/zycie100a-basepis = t_ivadu.

* << Fim da inclusão

    ELSE.

      PERFORM mp_nova.

    ENDIF.

  ENDIF.

  v_divisor =  ( 1 - v_advicms - v_advpis - v_advcof ).

  PERFORM calc_piscofins.

  IF '56' CA /pws/zycie100a-codregtri.

    v_vliirec = a_iidevi.

  ELSE.

    v_vliirec = t_iirec.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI058X01

 

...

 

* >> Início da inclusão:

DATA: t_ivadupc  LIKE t_icms.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI070F01

 

...

  CASE s_inco1_ci.

    WHEN 'CIF'.

      t_dif_seg =  v_tsegfat - v_sgtofat.

      IF NOT v_tcfr IS INITIAL.

        t_dif_seg = ( v_cfr / ( v_tcfr ) ) * t_dif_seg.

      ENDIF.

  ENDCASE.

  CASE s_inco1_ci.

    WHEN 'FOB'.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc = t_ivmle + t_ivseg +  t_ivfre.

* << Fim da inclusão

      t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.

    WHEN 'C&F'.

      t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + v_desp_fren.

      IF NOT v_desp_fren IS INITIAL.

        IF NOT /pws/zycie442-ukursfob IS INITIAL.

          t_vmle_d2 = t_vmle = t_vmle + v_tot_fre +

                  ( v_desp_fren / /pws/zycie442-ukursfob ).

        ELSE.

          MESSAGE i015 WITH text-221.

        ENDIF.

      ELSE.

        t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.

      ENDIF.

      t_vmle2 = t_vmle.

      t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

      t_ivadu = t_ivmle2 + t_ivseg + t_ivdesp.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc =  t_ivmle2 + t_ivseg .

* << Fim da inclusão

    WHEN 'CIF'.

      t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + v_desp_fren +

                   t_ivseg + ( t_dif_seg * /pws/zycie442-ukursseg ).

      IF NOT v_desp_fren IS INITIAL.

        IF NOT /pws/zycie442-ukursfob IS INITIAL.

          t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg +

                 ( v_desp_fren / /pws/zycie442-ukursfob ) + t_dif_seg.

        ELSE.

          MESSAGE i015 WITH text-221.

        ENDIF.

      ELSE.

        t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg + t_dif_seg.

      ENDIF.

      t_vmle2 = t_vmle.

      t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

      t_ivadu = t_ivmle2 + t_ivdesp - v_desp_fren.

* >> Início da inclusão: FORM LOAD_ITAX

      t_ivadupc =  t_ivmle2 - v_desp_fren.

* << Fim da inclusão

  ENDCASE.

  itab_it-vlfobr    = t_ivmle2.

  itab_it-vlmerc_ad = t_vmle2.

ENDFORM.

...

 

...

  PERFORM carrega_incoterm.

  PERFORM atualiza_qtd_po.

  MOVE itab_it[] TO itab_ita[].

  IF /pws/zycie442-ntgew IS INITIAL.

    /pws/zycie442-ntgew = v_tntgew.

  ENDIF.

  IF /pws/zycie442-gewei_l IS INITIAL.

    /pws/zycie442-gewei_l =  /pws/zycie442-gewei_b.

  ENDIF.

  MOVE itab_it[] TO itab_zycit443_temp[].

* >> Início da inclusão: FORM FILL_ITABIT

  SELECT  * FROM /pws/zycit438

 INTO TABLE itab_zycit438.

* << Fim da inclusão

ENDFORM.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI070F03

 

...

 

FORM load_iicms USING p_tipo.

  CLEAR: t_ivdesp, v_advii, v_advipi, v_advicms,

          v_advpis, v_advcof, v_desp.

 DATA itab_zycit003_rateio LIKE /pws/zycit003 OCCURS 0 WITH HEADER LINE.

* >> Início da exclusão: FORM LOAD_IICMS

  SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

     WHERE regio = v_region

     AND   lei = 'MP252'.

  IF sy-subrc NE 0.

    SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

       WHERE regio = ' '

       AND   lei = 'MP252'.

  ENDIF.

  SELECT  * FROM /pws/zycit438 APPENDING TABLE itab_zycit438

     WHERE regio = v_region

     AND   lei = 'MP255'.

  IF sy-subrc NE 0.

    SELECT  * FROM /pws/zycit438 APPENDING TABLE itab_zycit438

       WHERE regio = ' '

       AND   lei = 'MP255'.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_IICMS

  READ TABLE itab_zycit438 INDEX 1.

  IF sy-subrc NE 0 .

    SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

       WHERE regio = v_region

       AND   ( lei = 'MP252' OR lei = 'MP255' ).

    IF sy-subrc NE 0.

      SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

         WHERE regio = ' '

       AND   ( lei = 'MP252' OR lei = 'MP255' ).

    ENDIF.

    SELECT  * FROM /pws/zycit438

     APPENDING TABLE itab_zycit438

       WHERE regio = v_region

       AND    lei = 'MP615' .

* << Fim da inclusão

  ENDIF.

  CLEAR v_nova.

  IF /pws/zycie442-dtuserc IS INITIAL.

    /pws/zycie442-dtuserc = sy-datum.

  ENDIF.

  IF NOT itab_it[] IS INITIAL.

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_rateio

      FOR ALL ENTRIES IN itab_it

      WHERE nrseq = itab_it-nrseq AND

            ebeln = itab_it-ebeln AND

...

 

...

      v_advicms = ( /pws/zycie443a-advalicms / 100 ).

    ENDIF.

  ELSE.

    v_advicms = ( /pws/zycie443a-advalicms / 100 ).

  ENDIF.

  v_advpis  = ( itab_it-advalpis / 100 ).

  v_advcof  = ( itab_it-advalcofins / 100 ).

  IF /pws/zycit000-pis_cof EQ 'X'.

    IF NOT itab_zycit438[] IS INITIAL.

      IF NOT /pws/zycie442-dtreg IS INITIAL.

* >> Início da inclusão: FORM LOAD_IICMS

        READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie442-dtreg AND

             itab_zycit438-vigencia_ate >= /pws/zycie442-dtreg AND

              NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = '6'.

          ENDIF.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie442-dtreg AND

             itab_zycit438-vigencia_ate >= /pws/zycie442-dtreg AND

             NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

          ELSE.

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

              IF itab_zycit438-vigencia     <= /pws/zycie442-dtreg AND

...

 

...

        ELSE.

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie442-dtreg AND

               itab_zycit438-vigencia_ate >= /pws/zycie442-dtreg AND

               NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

            ENDIF.

          ENDIF.

        ENDIF.

* >> Início da inclusão: FORM LOAD_IICMS

        ENDIF.

      ELSE.

        READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie442-dtuserc AND

             itab_zycit438-vigencia_ate >= /pws/zycie442-dtuserc AND

              NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = '6'.

          ENDIF.

* << Fim da inclusão

      ELSE.

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie442-dtuserc AND

             itab_zycit438-vigencia_ate >= /pws/zycie442-dtuserc AND

             NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

          ELSE.

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

...

 

...

              ENDIF.

            ENDIF.

          ENDIF.

        ELSE.

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie442-dtuserc AND

               itab_zycit438-vigencia_ate >= /pws/zycie442-dtuserc AND

                 NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

* >> Início da inclusão: FORM LOAD_IICMS

              ENDIF.

* << Fim da inclusão

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSE.

      CLEAR v_nova.

    ENDIF.

    IF v_nova IS INITIAL.

      PERFORM mp_antiga.

* >> Início da inclusão: FORM LOAD_IICMS

    ELSEIF v_nova EQ '6'.

      itab_it-basecofins = itab_it-basepis =

      /pws/zycie443-basecofins  = /pws/zycie443-basepis = t_ivadu.

* << Fim da inclusão

    ELSE.

      PERFORM mp_nova.

    ENDIF.

  ENDIF.

  v_divisor =  ( 1 - v_advicms - v_advpis - v_advcof ).

  PERFORM calc_piscofins.

  IF '56' CA /pws/zycie443a-codregtri.

    v_vliirec = a_iidevi.

  ELSE.

    v_vliirec = t_iirec.

...

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI070X01

 

...

 

* >> Início da inclusão:

 data: t_ivaduPC  LIKE t_icms.

* << Fim da inclusão

DATA: END OF COMMON PART.