CE PLUS - Nota 002362

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DSI

Data/Hora da Publicação: 31/10/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:37:18

Descrição da Nota: DSI VALOR DO SISCOMEX ZERADO

Sintoma

Na DSI, a taxa de Siscomex está vindo em branco nas pasta Despesas, no entanto a mesma está entrando

na base de ICMS do item da DSI;

 

 

Solução

atualizado o programa da DSI para lançar o valor na tela

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES DSI MUNDANÇA SISCOMEX

Informações Complementares

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

Nota Número 02362 Data: 31/10/2006 Hora: 16:32:33

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

 

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

Nota Número              : 02362

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00138

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

Referência às notas relacionadas:

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

 

02022  - 00001 - 6.0    - 00024  - AJUSTES DSI MUNDANÇA SISCOMEX

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

DSI VALOR DO SISCOMEX ZERADO

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

Palavras Chave:

DSI - SISCOMEX ZERADO

 

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

Objetos da nota:

REPS /PWS/MZYCI058F01

REPS /PWS/MZYCI058F03

REPS /PWS/MZYCI058F04

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F01

...

    /pws/zycie003-advalii = '60'.

    /pws/zycie003-advalicms = '18'.

  ENDIF.

  t_iibas = t_ivadu.

  a_iicalc  = ( ( /pws/zycie003-advalii  / 100 ) * t_iibas ).

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

  CLEAR: t_iirec.

* << Fim da exclusão

  CASE /pws/zycie100a-codregtri.

    WHEN '1' OR '3' OR '4' OR '5' OR '7' OR '8'.

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

      IF NOT /pws/zycie100a-codregtri = '5'.

* << Fim da exclusão

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

      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.

            IF NOT /pws/zycie001-meioemba = 'PS'.

* << Fim da inclusão

        t_iirec = a_iicalc.

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

            ENDIF.

          ENDIF.

        ENDIF.

        IF NOT /pws/zycie100a-percreduz IS INITIAL.

          t_iirec = t_iirec *

                    ( ( 100 - /pws/zycie100a-percreduz ) / 100 ).

          a_iidevi = a_iicalc.

        ELSE.

          a_iidevi = t_iirec.

        ENDIF.

* << Fim da inclusão

        itab_it-vlii   = t_iirec.

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

      ELSE.

        CLEAR : t_iirec.

* << Fim da exclusão

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

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

          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.

* << Fim da inclusão

      ENDIF.

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

    WHEN '2' OR '6'.

      CLEAR: t_iibas ,

             t_vlii  ,

             a_iicalc,

             t_iirec          ,

             /pws/zycie003-advalipi.

* << Fim da exclusão

  ENDCASE.

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

  itab_it-ii_calculado = a_iicalc.

  itab_it-ii_reduzido  = a_iiredu.

  itab_it-ii_devido    = a_iidevi.

  itab_it-ii_recolher  = t_iirec .

* << Fim da inclusão

  itab_it-baseii = t_iibas.

  t_vlii         =  t_vlii + t_iirec.

  t_tot          = t_tot + t_iirec.

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

  if /pws/zycie001-regime eq '09'.

     clear: t_iirec.

  endif.

* << Fim da inclusão

ENDFORM.

FORM load_iipi USING p_tipo.

  IF NOT /pws/zycie100a-codregtri = '5'.

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

    t_ipibas  = ( t_ivadu + itab_it-ii_calculado ).

  ELSE.

* << Fim da inclusão

    t_ipibas  = ( t_ivadu + t_iirec ).

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

  ELSE.

    t_ipibas  = ( t_ivadu + a_iicalc ).

* << Fim da exclusão

  ENDIF.

  a_ipidevi = ( ( /pws/zycie003-advalipi / 100 ) * t_ipibas ).

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

  IF ' 35' NA /pws/zycie100a-codregtri AND

* << Fim da exclusão

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

  itab_it-vlipi   = a_ipidevi.

  CLEAR t_ipirec.

  IF

     '26'  NA /pws/zycie100a-codregtri.

    t_ipirec = a_ipidevi.

    IF p_tipo = 'A'.

      IF ' 15' NA /pws/zycie100a-codregtriipi .

      ELSE.

        CLEAR t_ipirec.

      ENDIF.

    ELSE.

      IF ' 15' NA /pws/zycie100a-codregtriipi .

        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

* << Fim da inclusão

     /pws/zycie085-ntimp NE '09'       AND

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

     /pws/zycie085-ntimp NE '11'       AND

     NOT /pws/zycie001-meioemba = 'PS'.

* << Fim da exclusão

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

        /pws/zycie085-ntimp NE '11'.

* << Fim da inclusão

    t_ipirec = a_ipidevi.

  ENDIF.

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

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

     /pws/zycie100a-codregtri EQ '6'.

    CLEAR: t_ipibas         ,

           /pws/zycie003-advalipi,

           a_ipidevi        ,

           t_ipirec         .

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

    itab_it-baseipi = t_ipibas.

    CLEAR: t_ipibas         ,

           /pws/zycie003-advalipi,

           a_ipidevi        ,

           t_ipirec         .

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

    CLEAR: t_iirec ,

         t_ipirec.

  ENDIF.

* << Fim da exclusão

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

  CLEAR v_subrc.

* << Fim da inclusão

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

  itab_it-vlipi   = a_ipidevi.

  CLEAR v_subrc.

* << Fim da exclusão

  IF /pws/zycie100a-codregtri NE '7' .

    itab_it-baseipi = t_ipibas.

  ENDIF.

  t_vlipi = t_vlipi + t_ipirec.

  t_tot = t_tot + t_ipirec.

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

  itab_it-baseipi = t_ipibas.

  itab_it-ipi_devido   = a_ipidevi.

  itab_it-ipi_recolher = t_ipirec .

  if /pws/zycie001-regime eq '09'.

     clear: t_ipirec.

  endif.

* << Fim da inclusão

ENDFORM.

FORM loading_all.

  MOVE /pws/zycie085 TO wa_zycit085.

  SELECT SINGLE * FROM /pws/zycbt007 INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycie085-bukrs.

...

 

...

    s_inco1_ci = itab_zycit031-inco1_ci.

  ELSE.

    CLEAR: s_inco1_ci.

    MESSAGE i015 WITH text-039 wa_it-inco1.

  ENDIF.

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

  IF /pws/zycie085-codreg EQ '03' AND /pws/zycie085-tpdi EQ 'N'.

* << Fim da exclusão

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

  IF itab_zycit001-regime EQ '09' .

* << Fim da inclusão

    LOOP AT itab_it.

      itab_it-codregtri = '5'.

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

      itab_it-codfunleg = '53'.

* << Fim da exclusão

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

      itab_it-codregtriipi = '5'.

      itab_it-codregtripiscofi = '5'.

      itab_it-codregtriicms = '5'.

* << Fim da inclusão

      MODIFY itab_it.

    ENDLOOP.

  ENDIF.

  MOVE itab_it[] TO itab_ita[].

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

...

 

...

      ENDIF.

    ELSE.

      s_wsisco = s_wsisco + ( p_adics * wa_it000-txsis_0_2 ).

    ENDIF.

  ENDIF.

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

  IF sy-tcode = '/PWS/ZYCI023_C' AND v_propoe_sisc IS INITIAL.

* << Fim da exclusão

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

  IF sy-tcode = '/PWS/ZYCI058_C' AND v_propoe_sisc IS INITIAL.

* << Fim da inclusão

    READ TABLE itab_zycit049 WITH KEY tpdesp = /pws/zycit000-cod_sisc.

    IF sy-subrc EQ 0.

      itab_zycit049-vldp = s_wsisco.

      itab_zycit049-vlreal = s_wsisco.

      MODIFY itab_zycit049 INDEX sy-tabix TRANSPORTING vldp vlreal.

...

 

...

      INTO v_msgd.

     CONCATENATE p_waers text-022 v_msgd INTO s_msg1 SEPARATED BY space.

      IF NOT p_data IS INITIAL.

        v_msgfre = 'N'.

        IF NOT p_waers EQ  /pws/zycbt007-waersb.

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

          IF NOT /pws/zycie085-dttax IS INITIAL.

* << Fim da inclusão

          MESSAGE s015 WITH text-021 s_msg1.

          EXIT.

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

          ENDIF.

* << Fim da inclusão

        ELSE.

          p_taxa = '1'.

        ENDIF.

      ENDIF.

    ELSEIF v_linhas > 1.

...

 

...

          p_taxa = '1'.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSE.

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

    IF p_waers NE  /pws/zycbt007-waersb.

* << Fim da exclusão

      CONCATENATE p_data+6(2) '/' p_data+4(2) '/' p_data+0(4)

      INTO v_msgd.

      CONCATENATE p_waers text-022 p_data INTO

        s_msg1 SEPARATED BY space.

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

      IF NOT p_waers EQ  /pws/zycbt007-waersb.

* << Fim da exclusão

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

    IF NOT /pws/zycie085-dttax IS INITIAL

       AND NOT p_waers EQ wa_zycbt007-waersb.

* << Fim da inclusão

        MESSAGE s015 WITH text-021 s_msg1.

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

      ENDIF.

    ELSE.

      p_taxa = '1'.

* << Fim da exclusão

    ENDIF.

  ENDIF.

ENDFORM.

FORM refresh_all.

  IF NOT  /pws/zycie085-waersfob IS INITIAL.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F03

 

...

      PERFORM mp_antiga.

    ELSE.

      PERFORM mp_nova.

    ENDIF.

  ENDIF.

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

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

* << Fim da inclusão

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

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

* << Fim da exclusão

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

  PERFORM calc_piscofins.

* << Fim da inclusão

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

  t_pis_calc = t_pis_dev  = itab_it-aliqpis * itab_it-qtdum_pis.

  t_cof_calc = t_cof_dev  = itab_it-aliqcof * itab_it-qtdum_cofins.

  IF t_pis_dev IS INITIAL.

    t_pis = ( itab_it-basepis * ( itab_it-advalpis / 100 ) )

            *  ( itab_it-basredpis / 100 ) .

  ELSE.

    t_pis = t_pis_dev.

  ENDIF.

  IF t_cof_dev IS INITIAL.

    t_cofins = ( itab_it-basecofins * ( itab_it-advalcofins / 100 ) )

            *  ( itab_it-basredcof / 100 ) .

  ELSE.

    t_cofins = t_cof_dev.

  ENDIF.

* << Fim da exclusão

  IF v_nr_itens GT 1.

    t_icmsbs_d2 = t_icmsbs = ( t_ivadu + t_ipirec + t_iirec +

        t_ivdesp + v_desp + t_pis + t_cofins ) *

        ( /pws/zycie003-basred / 100 ).

  ELSE.

...

 

...

  t_pisbs = itab_it-basepis.

  t_cofinsbs = itab_it-basecofins.

  t_vlicms   = s_wicreco.

  t_vlpis    = s_wpisreco.

  t_vlcofins = s_wcofreco.

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

  if /pws/zycie001-regime eq '09'.

     clear: t_pis, t_cofins, t_icms, t_icms_d2.

  endif.

* << Fim da inclusão

ENDFORM.

FORM data_sort.

  SORT itab_it BY

       j_1bnbm       fabric      lifnrfabr     lifnr          advalii

    advalipi      naladi      naladincca    codregtri      codregtriipi

...

 

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F04

 

...

  ( 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.

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

   /pws/zycie100a-basecofins =  /pws/zycie100a-basepis =

* << Fim da inclusão

  itab_it-basecofins  = itab_it-basepis  =

        ( t_ivadu * ( (  1 + v_advicms *  ( v_advii + v_advipi *

        ( 1 + v_advii ) ) ) / ( ( 1 - v_advpis - v_advcof ) *

        ( 1 - v_advicms ) ) ) ).

ENDFORM.

...

 

...

        CLEAR /pws/zycie100a-aliqcof.

        screen-input = '0'.

      ELSE.

        screen-input = '1'.

      ENDIF.

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

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

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

      /pws/zycie100a-codregtripiscofi = '5' .

      screen-input = '0'.

* << Fim da inclusão

    ENDIF.

    IF sy-tcode EQ '/PWS/ZYCI058_E'.

      screen-input = '0'.

    ENDIF.

    MODIFY SCREEN.

...

 

...

    IF v_acto EQ 'E'.

      screen-input = '0'.

    ELSE.

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

         /pws/zycie093-meiotransp = 'PS'.

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

        screen-input = '1'.

      ENDIF.

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

         /pws/zycie100a-codfunleg IS INITIAL.

        read table itab_zycit177t with key

                origem = /pws/zycie085-tpdi

                regime = /pws/zycie100a-codregtri

                codigo = /pws/zycie100a-codfunleg.

        IF sy-subrc = 0.

* << Fim da exclusão

          screen-input = '1'.

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

        ELSE.

          screen-input = '0'.

        ENDIF.

* << Fim da exclusão

      ENDIF.

      IF /pws/zycie100a-codfunleg EQ '39' OR

         /pws/zycie100a-codfunleg EQ '42' OR

         /pws/zycie100a-codfunleg EQ '72' OR

         /pws/zycie100a-codfunleg EQ '73'.

...

 

...

          screen-invisible = '1'.

        ENDIF.

      ENDIF.

    ENDIF.

    MODIFY SCREEN.

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

    MODIFY SCREEN.

* << Fim da exclusão

    IF sy-tcode EQ '/PWS/ZYCI058_E'.

      screen-input = '0'.

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

    else.

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

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

          screen-input = '0'.

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

           /pws/zycie001-regime EQ '09'.

          screen-input = '1'.

* << Fim da inclusão

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

    MODIFY SCREEN.

...

 

...

        MODIFY SCREEN.

      ENDIF.

      IF screen-group3 EQ 'IPI'.

        screen-invisible = '1'.

        MODIFY SCREEN.

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

      ENDIF.

* << Fim da inclusão

      ENDIF.

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

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

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

      /pws/zycie100a-codregtri = '5' .

      screen-input = '0'.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_screen_0431.

  v_icodr1 = /pws/zycie100a-codregtri.

...

 

...

                   /pws/zycie003-ii_orgemiss,

                   /pws/zycie003-ii_numero,

                   /pws/zycie003-ii_anoemiss.

            screen-input = '0'.

          ENDIF.

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

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

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

          /pws/zycie100a-codregtri = '5' .

          screen-input = '0'.

* << Fim da inclusão

        ENDIF.

      ENDIF.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

...

 

...

      screen-input = '0'.

    ENDIF.

    MODIFY SCREEN.

  ENDLOOP.

ENDFORM.

* >> Início da inclusão:

form calc_piscofins.

  CLEAR: T_PIS_CALC, T_PIS_DEV, T_COF_CALC, T_COF_DEV.

  CASE /pws/zycie100a-codregtripiscofi.

    WHEN '3' OR '5'.

      IF /pws/zycie100a-aliqpis IS INITIAL.

        T_PIS_DEV = T_PIS_CALC =

        ( ( /pws/zycie100a-advalpis  / 100 ) * /pws/zycie100a-basepis ).

      ELSE.

        T_PIS_DEV = T_PIS_CALC =

        ( ( /pws/zycie100a-aliqpis  / 100 ) * /pws/zycie100a-aliqpis ).

      ENDIF.

      IF /pws/zycie100a-aliqcof IS INITIAL.

        T_COF_DEV = T_COF_CALC =

           ( ( /pws/zycie100a-advalcofins  / 100 )

                    * /pws/zycie100a-basecofins ) .

      ELSE.

        T_COF_DEV = T_COF_CALC =

        ( ( /pws/zycie100a-aliqcof  / 100 )

                    * /pws/zycie100a-basecofins ) .

      ENDIF.

      CLEAR : t_pis,  t_cofins .

    WHEN '4'.

      IF /pws/zycie100a-basredpis IS INITIAL.

        IF /pws/zycie100a-aliqpis IS INITIAL.

          T_PIS_CALC =

           ( ( /pws/zycie100a-advalpis  / 100 )

                    * /pws/zycie100a-basepis ) .

        ELSE.

          T_PIS_CALC =

         ( ( /pws/zycie100a-aliqpis  / 100 )

                    * /pws/zycie100a-basepis ) .

        ENDIF.

      ELSE.

        T_PIS_CALC =

          ( ( /pws/zycie100a-basredpis  / 100 )

                    * /pws/zycie100a-basepis ) .

      ENDIF.

      IF /pws/zycie100a-basredcof IS INITIAL.

        IF /pws/zycie100a-aliqcof IS INITIAL.

          T_COF_CALC =

          ( ( /pws/zycie100a-advalcofins  / 100 )

                    * /pws/zycie100a-basecofins ) .

        ELSE.

          T_COF_CALC =

    ( ( /pws/zycie100a-aliqcof / 100 )

                    * /pws/zycie100a-basecofins ) .

        ENDIF.

      ELSE.

        T_COF_CALC =

          ( ( /pws/zycie100a-basredcof  / 100 )

                    * /pws/zycie100a-basecofins ) .

      ENDIF.

      t_pis = T_PIS_DEV =

       ( /pws/zycie100a-basepis / 100 ) * /pws/zycie100a-basredpis  .

      t_cofins = T_COF_DEV =

       ( /pws/zycie100a-basecofins / 100 ) * /pws/zycie100a-basredcof.

    WHEN OTHERS.

      IF /pws/zycie100a-aliqpis IS INITIAL.

        t_pis =  T_PIS_DEV = T_PIS_CALC =

          ( ( /pws/zycie100a-advalpis  / 100 )

                    * /pws/zycie100a-basepis ) .

      ELSE.

        t_pis = T_PIS_DEV = T_PIS_CALC =

         ( ( /pws/zycie100a-aliqpis  / 100 )

                    * /pws/zycie100a-basepis ) .

      ENDIF.

      IF /pws/zycie100a-aliqcof IS INITIAL.

        t_cofins = T_COF_DEV = T_COF_CALC =

           ( ( /pws/zycie100a-advalcofins  / 100 )

                    * /pws/zycie100a-basecofins ) .

      ELSE.

        t_cofins =  T_COF_DEV = T_COF_CALC =

        ( ( /pws/zycie100a-aliqcof  / 100 )

                    * /pws/zycie100a-basecofins ) .

      ENDIF.

  ENDCASE.

  itab_it-pis_calc  = T_PIS_CALC.

  itab_it-pis_dev   = T_PIS_DEV .

  itab_it-cofi_calc = T_COF_CALC.

  itab_it-cofi_dev  = T_COF_DEV .

  itab_it-VLPIS     = t_pis     .

  itab_it-VLCOFINS  = t_cofins  .

endform.

* << Fim da inclusão