CE PLUS - Nota 006728

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DSI

Data/Hora da Publicação: 09/06/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 14:59:33

Descrição da Nota: DSI NÃO RESPEITA PARÂMETRO DE REGIME SUSPENSO NA /PWS/ZYCIT062

Sintoma

O valor da Base de IPI na pasta 3 "detalhe do item", está errado. Neste caso é um cenário de

Admissão Temporária onde todos os impostos são suspensos. Na tabela ZYCIT062 o campo "Reg.Susp.NF"

está parametrizado como "SIM" portanto o sistema não deve levar para a Base de nenhum imposto o

valor dos impostos em cascata. O valor da Base de II e da base de ICMS estão corretas, porém o valor

da Base de IPI está somando o valor calculado de II.

 

 

Solução

Atualização do programa da DSI para que o sistema leve corretamente a Base do IPI de acordo com a

párametrização.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAR SUSPENSÃO DE REGIME TRIBUTÁRIO NAS NOTAS FISCAIS.

Informações Complementares

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

Nota Número 06728 Data: 09/06/2008 Hora: 16:28:45

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

 

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

Nota Número              : 06728

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00051

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

Referência às notas relacionadas:

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

 

02340  - 00001 - 6.0    - 00025  - TRATAR SUSPENSÃO DE REGIME TRIBUTÁRIO NAS NOTAS FISCAIS.

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

DSI NÃO RESPEITA PARÂMETRO DE REGIME SUSPENSO NA /PWS/ZYCIT062

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

Palavras Chave:

DSI - PARÂMETRO - REGIME SUSPENSO - /PWS/ZYCIT062

 

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

Objetos da nota:

REPS /PWS/MZYCI058F01

REPS /PWS/MZYCI058F03

REPS /PWS/MZYCI058O01

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F01

 

...

 

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

  IF v_dit = 'N'.

    MESSAGE i017 WITH text-060.

  ELSE.

* << Fim da exclusão

    MESSAGE i017 WITH text-061.

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

  ENDIF.

* << Fim da exclusão

  CLEAR:   v_changed,

           itab_zycit086a,

           itab_zycit087a,

           itab_zycit095a,

           itab_zycit096a,

           itab_zycit100a,

...

 

...

 

FORM load_iipi USING p_tipo.

  IF '56' CA itab_it-codregtri .

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

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

      t_ipibas  = ( t_ivadu + t_iirec ).

    ELSE.

* << Fim da inclusão

    t_ipibas  = ( t_ivadu + itab_it-ii_calculado ).

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

    ENDIF.

* << Fim da inclusão

  ELSE.

    t_ipibas  = ( t_ivadu + t_iirec ).

  ENDIF.

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

  itab_it-vlipi   = a_ipidevi.

  CLEAR t_ipirec.

...

 

...

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

  PERFORM atualiza_peso_desemb.

  PERFORM lock_record.

  v_acto       = 'A'.

  v_txtdisplay = space.

  v_txtsave    = 'X'.

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

    v_acto       = 'E'.

    v_txtdisplay = 'X'.

    v_txtsave    = space.

  ENDIF.

 

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

  IF v_dit = 'N'.

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

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                          DUMMY

                                          ID 'ACTVT' FIELD '01'.

      IF sy-subrc NE 0.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '01'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ELSE.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '01'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ENDIF.

    ELSEIF sy-tcode EQ '/PWS/ZYCI023_A'.

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                          DUMMY

                                          ID 'ACTVT' FIELD '02'.

      IF sy-subrc NE 0.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '02'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ELSE.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '02'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ENDIF.

    ELSEIF sy-tcode EQ '/PWS/ZYCI023_E'.

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                          DUMMY

                                          ID 'ACTVT' FIELD '03'.

      IF sy-subrc NE 0.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '03'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ELSE.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '03'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ENDIF.

    ELSEIF sy-tcode EQ '/PWS/ZYCI058_C'.

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                          DUMMY

                                          ID 'ACTVT' FIELD '01'.

      IF sy-subrc NE 0.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '01'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ELSE.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '01'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ENDIF.

    ELSEIF sy-tcode EQ '/PWS/ZYCI058_A'.

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                          DUMMY

                                          ID 'ACTVT' FIELD '02'.

      IF sy-subrc NE 0.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '02'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ELSE.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '02'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ENDIF.

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

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                          DUMMY

                                          ID 'ACTVT' FIELD '03'.

      IF sy-subrc NE 0.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '03'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ELSE.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '03'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ENDIF.

    ENDIF.

    CALL SCREEN '0100'.

  ELSE.

* << Fim da exclusão

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

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                          DUMMY

                                          ID 'ACTVT' FIELD '01'.

      IF sy-subrc NE 0.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '01'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

...

 

...

      ELSE.

        AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                            /pws/zycie085-bukrs

                                            ID 'ACTVT' FIELD '03'.

        IF sy-subrc NE 0.

          MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

        ENDIF.

      ENDIF.

    ENDIF.

    CALL SCREEN '0200'.

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

  ENDIF.

* << Fim da exclusão

ENDFORM.

...

 

...

        IF NOT v_tval3 IS INITIAL.

          itab_it-vlfob = ( ( itab_it-qtd_iten * itab_it-vlreal )

                     / v_tval3 ) * v_tval.

        ENDIF.

      ENDIF.

      v_aux_rateio = v_aux_rateio + itab_it-vlfob.

    ENDIF.

    MOVE itab_it TO wa_it.

    MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,

                        itab_it TO /pws/zycie003.

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

    IF /pws/zycie085-mdadicao = 'N'.

      /pws/zycie085-vlfob = v_tval2 = v_tval.

    ENDIF.

* << Fim da exclusão

    PERFORM calc_itab_vals USING 'I'.

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

    IF v_dit = 'S'.

* << Fim da exclusão

      /pws/zycie085-vlii   = /pws/zycie085-vlii   + t_iirec.

      /pws/zycie085-vlipi  = /pws/zycie085-vlipi  + t_ipirec.

      /pws/zycie085-vlicms = /pws/zycie085-vlicms + t_icms.

      /pws/zycie085-vlpis  = /pws/zycie085-vlpis  + itab_it-vlpis  .

     /pws/zycie085-vlcofins = /pws/zycie085-vlcofins + itab_it-vlcofins.

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

    ELSE.

      s_wadreco = s_waddevi = s_waddevi + ( itab_it-baseantid *

      ( itab_it-antidrate / 100 ) ) + ( itab_it-vlantid *

      itab_it-qtdeantid ).

    ENDIF.

* << Fim da exclusão

    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 v_tntgew IS INITIAL.

      itab_it-frn      =  ( /pws/zycie003-ntgew / v_tntgew ) *

      v_dif_frn.

    ENDIF.

    MODIFY itab_it INDEX v_idx TRANSPORTING

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F03

 

...

      v_tvaln   = v_tvaln + (   v_qtd_iten * itab_it-vlreal ).

      v_tvaln   = v_tvaln * v_taxa.

      PERFORM taxa_converte USING  /pws/zycie085-waersfob

                                  /pws/zycie085-dttax

                          CHANGING  v_taxa.

      v_tvaln   = v_tvaln / v_taxa.

      v_tval = v_tval + v_tvaln.

      /pws/zycie085-ukursfob  = v_taxa.

    ENDIF.

  ENDLOOP.

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

  IF v_dit = 'N'.

    CASE s_inco1_ci.

      WHEN 'C&F' OR 'CIF'.

        READ TABLE itab_zycit049 WITH KEY

              tpdesp = /pws/zycit000-flagfreten.

        IF sy-subrc = 0 AND NOT itab_zycit049-vldp IS INITIAL.

          IF itab_zycit049-tipo EQ 'D'.

            IF itab_zycit049-waers NE /pws/zycie085-waersfob.

              v_dif_frn = itab_zycit049-vldp.

              PERFORM: calc_ret_moeda:

                       USING

                                /pws/zycie085-waersfob

                                itab_zycit049-waers

                       CHANGING v_dif_frn.

              v_dif_frn = v_dif_frn * -1.

            ELSE.

              v_dif_frn = itab_zycit049-vldp.

              v_dif_frn = v_dif_frn * -1.

            ENDIF.

          ENDIF.

          v_tval = v_tval + v_dif_frn.

        ENDIF.

    ENDCASE.

  ENDIF.

* << Fim da exclusão

  IF p_tipo NE 'A'.

    READ TABLE itab_zycit003 INDEX 1.

    IF itab_zycit003-qtd_itend IS INITIAL.

      v_tval3 = v_tval2 = v_tval + v_tdif + v_tfrefat.

    ELSE.

      IF s_inco1 EQ 'CFR' OR

         s_inco1 EQ 'C&F'.

        IF v_tfrefat IS INITIAL.

          v_tval3 = v_tval2 = v_tval .

        ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058O01

 

...

 

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

    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,

               load_itwa  USING /pws/zycie100a-waersbem,

               load_regt  USING /pws/zycie100a-codregtri

                                /pws/zycie085-ntimp

                                '1' CHANGING t_regdes,

               load_regt  USING /pws/zycie100a-codregtriipi

                                /pws/zycie085-ntimp

                                '2' CHANGING t_regde2,

               load_fund  USING /pws/zycie100a-codfunleg,

               load_alad  USING /pws/zycie100a-aladi,

               load_unit  USING /pws/zycie003-meins CHANGING s_umped,

               load_um    USING /pws/zycie003-meinsest CHANGING

                                s_umestt,

               load_umad.

    ELSE.

* << Fim da exclusão

      s_vluni_d2 = itab_it-vlreal.

      IF /pws/zycie100a-impmerco IS INITIAL.

        /pws/zycie100a-impmerco = 'N'.

      ENDIF.

      IF /pws/zycie100a-matusado IS INITIAL.

        /pws/zycie100a-matusado = 'N'.

      ENDIF.

      PERFORM: load_lsi,

               load_fund  USING /pws/zycie100a-codfunleg,

               load_motf,

               load_cncm  USING /pws/zycie003-j_1bnbm,

               load_tsp,

               load_regt  USING /pws/zycie100a-codregtri

                               /pws/zycie085-ntimp '1'

                          CHANGING t_regdes,

               load_clas,

               load_pais  USING /pws/zycie100a-pproc CHANGING t_ppais

                                 s_pais,

               load_blwa,

               load_blme  USING /pws/zycie100a-meinscom.

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

    ENDIF.

* << Fim da exclusão

    CLEAR:   rtexti, xtheadi.

    REFRESH: rtexti.

    CONCATENATE /pws/zycie085-nrseqdi

                itab_it-nrseq

                itab_it-ebeln

                itab_it-ebelp

                INTO v_txtki.

 

...