CE PLUS - Nota 005152

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DSI

Data/Hora da Publicação: 06/11/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 14:58:25

Descrição da Nota: AJUSTES PARA DSI QUANDO REGIME = NÃO INCIDÊNCIA EM EMBARQUE DE

Sintoma

Sistema esta se perdendo na composição da base de calculo de ICMS, quano o regime é não incidência,

porém ao sair totalmente da DSI e entrar novamente, sistema atualiza esta base corretamente.

 

 

 

Solução

Atualização do programa de DSI para quando o embarque for de Reimportação a DSI vai levar o Regime

Tributário de Não Incidência e fechar o campo,também fechando o campo das alíquotas de II e IPI e

não calculando nenhum valor fiscal para os impostos. Este ajuste está de acordo com o orientador.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

MULTIPLAS MOEDAS, RATEIO DE DESPESAS, REGIME TRIBUTÁRIO NA DSI

VALOR DE ICMS DA DSI ESTÁ MENOR QUE O TOTAL DA NOTA FISCAL

DSI VALOR DO SISCOMEX ZERADO

Informações Complementares

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

Nota Número 05152 Data: 06/11/2007 Hora: 14:43:48

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

 

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

Nota Número              : 05152

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00020

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

Referência às notas relacionadas:

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

 

02362  - 00001 - 6.0    - 00025  - DSI VALOR DO SISCOMEX ZERADO

03106  - 00002 - 6.0    - 00026  - VALOR DE ICMS DA DSI ESTÁ MENOR QUE O TOTAL DA NOTA FISCAL

04713  - 00003 - 7.0    - 00002  - MULTIPLAS MOEDAS, RATEIO DE DESPESAS, REGIME TRIBUTÁRIO NA DSI

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

AJUSTES PARA DSI QUANDO REGIME = NÃO INCIDÊNCIA EM EMBARQUE DE

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

Palavras Chave:

DSI - AJUSTES - REGIME TRIBUTÁRIO - NÃO INCIDÊNCIA

REIMPORTAÇÃO

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

Objetos da nota:

DYNP /PWS/SAPMZYCI058                        0232

DYNP /PWS/SAPMZYCI058                        0233

REPS /PWS/MZYCI058F01

REPS /PWS/MZYCI058F03

REPS /PWS/MZYCI058F04

REPS /PWS/MZYCI058I01

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI058                        0232

 

*Seguinte alteração na lógica de processamento

 

 

process before output.

module: fill_consist,

        set_codfun  ,

        set_screen  .

 

module exit_tela .

 

 

process after input.

field: /pws/zycie100a-codregtri module load_regt on request,

       /pws/zycie100a-codfunleg module load_fund on request,

       /pws/zycie100a-motivo    module load_moti on request,

       /pws/zycie100a-classific module load_clas on request,

       /pws/zycie100a-codtsp    module load_tsp  on request,

       /pws/zycie100a-pproc     module load_ppro on request.

chain.

       field: /pws/zycie100a-codregtri.

   module calc_vii on chain-request.

*<< inicio inclusão

   module calc_vicms on chain-request.

*<< Fim inclusão

endchain.

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F01

 

...

 

FORM load_iii USING p_tipo.

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

  CLEAR:  t_iirec, a_iiredu, a_iiacor, a_iidevi, a_iicalc.

* << Fim da inclusão

 

...

 

...

 

      IF /pws/zycie085-ntimp  EQ '09' OR /pws/zycie085-ntimp  EQ '11'.

        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.

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

    WHEN '6' .

      CLEAR t_iirec.

* << Fim da inclusão

  ENDCASE.

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

  IF /pws/zycie100a-codregtri EQ '6'.

    CLEAR: t_iirec.

  ENDIF.

* << Fim da exclusão

  itab_it-ii_calculado = a_iicalc.

  itab_it-ii_reduzido  = a_iiredu.

  itab_it-ii_devido    = a_iidevi.

  itab_it-ii_recolher  = t_iirec .

...

 

...

 

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

      clear:    a_iidevi, a_ipidevi.

* << Fim da inclusão

  PERFORM calc_init USING 'I'.

  v_bltofat = /pws/zycie093-prepaid +

  /pws/zycie093-collect.

  v_sgtofat = /pws/zycie085-vlseg.

 

...

 

...

 

      IF itab_it-advalicms IS INITIAL.

        itab_it-advalicms = itab_it-aliqicms.

      ENDIF.

    ENDIF.

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

    PERFORM set_codregtri.

* << Fim da exclusão

    SELECT SINGLE matnr FROM ekpo INTO v_matnr

      WHERE ebeln EQ itab_it-ebeln

      AND   ebelp EQ itab_it-ebelp.

    IF itab_it-basredpis IS INITIAL.

      SELECT SINGLE *  FROM /pws/zycit406 INTO wa_zycit406

        WHERE pais EQ 'BR'

        AND   matnr EQ v_matnr

        AND   tributos EQ 'PIS'.

      IF sy-subrc EQ 0.

        itab_it-basredpis = wa_zycit406-basred   .

...

 

...

  /pws/zycie085-waersfob = v_waers.

  READ TABLE itab_zycit001 INDEX 1.

  s_inco1 = itab_zycit001-inco1.

  /pws/zycie085-codreg = itab_zycit001-regime.

  IF v_dit = 'S'.

    /pws/zycie085-ntimp = itab_zycit001-regime.

  ENDIF.

  IF /pws/zycie085-j_1bbranch IS INITIAL.

    /pws/zycie085-j_1bbranch = itab_zycit001-j_1bbranch.

  ENDIF.

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

  CLEAR: v_icms_especial, v_base_esp.

* << Fim da exclusão

  SELECT SINGLE * FROM j_1bbranch

    WHERE bukrs = /pws/zycie085-bukrs

     AND branch = /pws/zycie085-j_1bbranch.

  SELECT SINGLE region FROM adrc INTO v_icms_regio

   WHERE addrnumber = j_1bbranch-adrnr.

  IF sy-subrc EQ 0.

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

    SELECT SINGLE flag_icms base FROM /pws/zycit062

          INTO (v_icms_especial,v_base_esp) WHERE

           regio = v_icms_regio.

* << Fim da exclusão

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

    SELECT SINGLE * FROM /pws/zycit062

         WHERE regio = v_icms_regio.

* << Fim da inclusão

  ENDIF.

  IF itab_zycit031[] IS INITIAL.

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

    SELECT * FROM /pws/zycit031 INTO TABLE itab_zycit031

    WHERE land1 = t001-land1.

  ENDIF.

  READ TABLE itab_zycit031 WITH KEY inco1 = itab_zycit001-inco1.

  IF sy-subrc EQ 0.

    s_inco1_ci = itab_zycit031-inco1_ci.

  ELSE.

    CLEAR: s_inco1_ci.

    MESSAGE i015 WITH text-039 wa_it-inco1.

  ENDIF.

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

  CLEAR itab_zycit100_temp.

  REFRESH itab_zycit100_temp.

  LOOP AT itab_it.

* << Fim da inclusão

  IF itab_zycit001-regime EQ '09' .

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

    LOOP AT itab_it.

* << Fim da exclusão

      itab_it-codregtri = '5'.

      itab_it-codregtriipi = '5'.

      itab_it-codregtripiscofi = '5'.

      itab_it-codregtriicms = '5'.

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

    ELSEIF itab_zycit001-regime EQ '11'.

      CLEAR: itab_it-advalii  , itab_it-advalipi,

             itab_it-advalpis , itab_it-advalcofins.

      itab_it-codregtri = '6'.

      itab_it-codregtriipi = '6'.

      itab_it-codregtripiscofi = '6'.

      itab_it-codregtriicms = '6'.

* << Fim da inclusão

      MODIFY itab_it.

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

    ELSE.

      PERFORM set_codregtri.

      itab_it-codregtriicms = itab_it-codregtriipi = itab_it-codregtri.

    ENDIF .

    MOVE-CORRESPONDING itab_it TO itab_zycit100_temp.

    APPEND itab_zycit100_temp.

* << Fim da inclusão

    ENDLOOP.

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

  ENDIF.

* << Fim da exclusão

  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 exclusão: FORM FILL_ITABIT

  CLEAR itab_zycit100_temp.

  REFRESH itab_zycit100_temp.

  LOOP AT itab_it.

    if itab_it-codregtriicms is initial.

       itab_it-codregtriicms = itab_it-codregtri.

    modify itab_it.

    endif.

    MOVE-CORRESPONDING itab_it TO itab_zycit100_temp.

    APPEND itab_zycit100_temp.

  ENDLOOP.

* << Fim da exclusão

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F03

 

...

 

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

    v_vlpisrec   = t_pis_calc.

    v_vlcofrec   = t_cof_calc.

  ELSE.

    v_vlpisrec   = t_pis   .

    v_vlcofrec   = t_cofins.

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

  ENDIF.

  IF NOT /pws/zycit000-flag_txsisc IS INITIAL.

    v_sisco3 = /pws/zycit000-txsis_fix + /pws/zycit000-txsis_0_2 .

* << Fim da inclusão

  ENDIF.

  IF /pws/zycit000-flag_txsisc IS INITIAL.

    t_icmsbs_d2 = t_icmsbs = ( t_iibas + v_vlipirec + v_vliirec +

        t_ivdesp + v_desp + v_vlpisrec + v_vlcofrec ) *

        ( /pws/zycie003-basred / 100 ).

  ELSE.

    t_icmsbs_d2 = t_icmsbs = ( t_iibas + v_vlipirec + v_vliirec +

         v_sisco3 + t_ivdesp + v_vlpisrec + v_vlcofrec ) *

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

             ( /pws/zycie003-basred / 100 ).

  ENDIF.

  IF /pws/zycit062-susp_nf EQ 'S' .

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

      t_icmsbs_d2 = t_icmsbs =

      t_icmsbs - a_iicalc.

    ENDIF.

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

      t_icmsbs_d2 = t_icmsbs =

      t_icmsbs - a_ipidevi.

    ENDIF.

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

      t_icmsbs_d2 = t_icmsbs =

      t_icmsbs - t_pis_calc - t_cof_calc.

    ENDIF.

  ENDIF.

  IF NOT /pws/zycie003-advalicms IS INITIAL AND

     NOT /pws/zycie100a-icms_dif EQ 'X'.

    t_icmsbs_d2 = t_icmsbs = t_icmsbs *

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

  ELSEIF NOT /pws/zycie100a-icms_dif EQ 'X'.

    t_icmsbs_d2 = t_icmsbs = t_icmsbs *

* << Fim da inclusão

             ( /pws/zycie003-basred / 100 ).

  ENDIF.

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

  IF NOT /pws/zycit062-flag_icms IS INITIAL AND

     /pws/zycie100a-icms_dif NE 'X'.

    if /pws/zycit062-base is initial and

       NOT /pws/zycie003-basred EQ '100' .

      t_icmsx = (  1 - ( /pws/zycie003-advalicms / 100 ) ).

    else.

      t_icmsx = (  1 - v_advicms )  .

    endif.

    t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *

                             ( t_icmsbs / t_icmsx ).

* << Fim da inclusão

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

  IF NOT /pws/zycit000-flag_txsisc IS INITIAL.

    v_sisco3 = /pws/zycit000-txsis_fix + /pws/zycit000-txsis_0_2 .

* << Fim da exclusão

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

    itab_it-vlicms   = t_icms.

    IF NOT /pws/zycie003-basred IS INITIAL AND

       NOT /pws/zycie003-basred EQ '100'.

      t_icmsbs = ( t_icmsbs / t_icmsx ).

    ELSE.

      t_icmsbs_d2 = t_icmsbs = t_icmsbs + t_icms.

* << Fim da inclusão

  ENDIF.

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

    IF /pws/zycit062-susp_nf EQ 'S'.

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

        t_icmsbs_d2 = t_icmsbs =

        t_icmsbs - t_icms.

      ENDIF.

    ENDIF.

  ELSEif NOT /pws/zycit062-flag_icms IS INITIAL.

* << Fim da inclusão

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

  IF NOT v_icms_especial IS INITIAL.

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

* << Fim da exclusão

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

    IF /pws/zycit062-bs_cheia_dif EQ 'X'.

      t_icmsx =  1 -  ( /pws/zycie003-advalicms / 100 )  .

* << Fim da inclusão

    t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *

                               ( t_icmsbs / t_icmsx ) .

    t_icmsbs_d2 = t_icmsbs = t_icmsbs + t_icms.

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

    itab_it-vlicms   = t_icms.

* << Fim da exclusão

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

    ELSE.

     t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *  t_icmsbs.

* << Fim da inclusão

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

    IF /pws/zycit062 IS INITIAL.

      SELECT SINGLE * FROM /pws/zycit062 WHERE regio EQ v_icms_regio.

    ENDIF.

    IF /pws/zycit062-susp_nf EQ 'S'.

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

        t_icmsbs_d2 = t_icmsbs =

        t_icmsbs - a_iicalc.

      ENDIF.

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

        t_icmsbs_d2 = t_icmsbs =

        t_icmsbs - a_ipidevi.

      ENDIF.

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

        t_icmsbs_d2 = t_icmsbs =

        t_icmsbs - t_pis_calc - t_cof_calc.

* << Fim da exclusão

      ENDIF.

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

    IF /pws/zycit062-susp_nf EQ 'S' AND

       NOT /pws/zycit062-flag_icms IS INITIAL.

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

* << Fim da inclusão

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

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

* << Fim da exclusão

        t_icmsbs_d2 = t_icmsbs =

        t_icmsbs - t_icms.

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

      ENDIF.

      IF /pws/zycie100a-baseicms LT 0.

        CLEAR itab_zycit100-baseicms.

* << Fim da exclusão

      ENDIF.

    ENDIF.

  ELSE.

    t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *

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

                                t_icmsbs.

* << Fim da exclusão

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

                           ( t_icmsbs ) .

      t_icmsbs_d2 = t_icmsbs .

* << Fim da inclusão

  ENDIF.

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

  IF /pws/zycie100a-codregtri EQ '6'.

    CLEAR: t_icms_d2, t_vlicms.

* << Fim da exclusão

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

  IF '356' CA /pws/zycie100a-codregtriicms .

    CLEAR: t_icmsx, t_icms_d2, t_icms, t_icms_d2, t_vlicms.

* << Fim da inclusão

  ENDIF.

  itab_it-vlicms   = t_icms.

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

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

    CLEAR: t_icms_d2, t_vlicms.

  ENDIF.

* << Fim da exclusão

...

 

...

 

FORM fill_desp.

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

    select single * from /pws/zycbt007 into wa_zycbt007

                    where bukrs eq /pws/zycie085-bukrs.

* << Fim da inclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F04

 

...

 

    ELSEIF screen-name EQ '/PWS/ZYCIE100A-ALIQCOF' .

      IF NOT /pws/zycie100a-advalcofins IS INITIAL.

        CLEAR /pws/zycie100a-aliqcof.

        screen-input = '0'.

      ELSE.

        screen-input = '1'.

      ENDIF.

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

    ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRIPISCOFI'

        AND /pws/zycie001-regime EQ '09'.

* << Fim da exclusão

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

    ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRIPISCOFI'.

      IF  /pws/zycie001-regime EQ '09'.

* << Fim da inclusão

      /pws/zycie100a-codregtripiscofi = '5' .

      screen-input = '0'.

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

      ELSEIF /pws/zycie001-regime EQ '11'.

        screen-input = '0'.

      ENDIF.

* << Fim da inclusão

    ENDIF.

...

 

...

 

    MODIFY SCREEN.

    IF sy-tcode EQ '/PWS/ZYCI058_E'

      OR v_nf041 EQ 'S'.

      screen-input = '0'.

    ELSE.

      IF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI'

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

         AND /pws/zycie001-regime EQ '09'.

* << Fim da exclusão

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

         AND ( /pws/zycie001-regime EQ '09' OR

               /pws/zycie001-regime EQ '11' ).

* << Fim da inclusão

        screen-input = '0'.

      ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND

         /pws/zycie001-regime EQ '09'.

        screen-input = '1'.

      ENDIF.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058I01

 

...

 

MODULE calc_vii INPUT.

* >> Início da inclusão: MODULE CALC_VII

  /pws/zycie100a-codregtriipi = /pws/zycie100a-codregtriicms =

  /pws/zycie100a-codregtri.

  IF /pws/zycie100a-codregtri EQ '2' OR

     /pws/zycie100a-codregtri EQ '6'.

    CLEAR: itab_it-advalii, itab_it-advalipi,

      /pws/zycie003-advalii , /pws/zycie003-advalipi.

  ELSEIF /pws/zycie100a-codregtri EQ '7'.

    CLEAR: itab_it-advalipi,  /pws/zycie003-advalipi.

  else.

    IF NOT /pws/zycie003-aliqii IS INITIAL.

      itab_it-advalii = /pws/zycie003-advalii = /pws/zycie003-aliqii.

    ENDIF.

  endif.

  MOVE-CORRESPONDING /pws/zycie100a TO itab_it.

* << Fim da inclusão

...

 

...

 

    CLEAR: /pws/zycie100a-codfunleg, t_fundes.

* >> Início da exclusão: MODULE CALC_VII

    IF ' 269' NA /pws/zycie100a-codregtri.

      IF NOT /pws/zycie003-aliqii IS INITIAL.

        /pws/zycie003-advalii = /pws/zycie003-aliqii.

      ENDIF.

    ENDIF.

* << Fim da exclusão

  ENDIF.

ENDMODULE.

 

...