CE PLUS - Nota 002340

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

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

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

Descrição da Nota: TRATAR SUSPENSÃO DE REGIME TRIBUTÁRIO NAS NOTAS FISCAIS.

Sintoma

1) Ao gerar a NF Complementar no valor de R$ 1.000,00 - o valor de pis cofins e icms está sendo

gerado incorretamente - o sistema deverá realizar os calculos conforme a NF Global, ou seja:

utilizar as mesmas alíquotas de pis cofins e icms da DI. Segue planilha utilizada para conferencia

dos calculos.

2) Verificado parâmetro na tabela zycit398 e o Pis e o Cofins não estão sendo destacados na NF

Complementar.

 

 

Solução

Atualização do programa de nota fiscal complementar para fazer tratamento igual a nota fiscal

global.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

RATEIO DE ICMS NA NF INCORRETO, NÃO CONSIDERANDO SUSPENSÃO DE IMPOSTOS.

A LINHA DO IPI NA NF COMPLEMENTAR NÃO BATE COM O TOTAL DA NF.

TRATAMENTO PARA SUSPENSÃO DE ICMS NA DI POR REGIÃO

REDUÇÃO DA BASE DE CÁLCULO DE ICMS NA NF COMPLEMENTAR

ERRO AO CRIAR A DSI

NÃO ESTÁ BATENDO A LINHA DO IPI COM O TOTAL DA NF.

NA CRIAÇÃO DA NOTA FISCAL COMPLEMENTAR A BASE DE CÁLCULO DO ICMS

AJUSTES PARA BASE DE ICMS REDUZIDA NA NF COMPLEMENTAR

VALOR TOTAL DA NOTA INCORRETO

Informações Complementares

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

Nota Número 02340 Data: 27/10/2006 Hora: 17:58:08

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

 

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

Nota Número              : 02340

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00137

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

Referência às notas relacionadas:

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

 

00680  - 00001 - 6.0    - 00022  - REDUÇÃO DA BASE DE CÁLCULO DE ICMS NA NF COMPLEMENTAR

01242  - 00005 - 6.0    - 00023  - ERRO AO CRIAR A DSI

01288  - 00002 - 6.0    - 00023  - NA CRIAÇÃO DA NOTA FISCAL COMPLEMENTAR A BASE DE CÁLCULO DO ICMS

01345  - 00004 - 6.0    - 00023  - AJUSTES PARA BASE DE ICMS REDUZIDA NA NF COMPLEMENTAR

02067  - 00009 - 6.0    - 00024  - RATEIO DE ICMS NA NF INCORRETO, NÃO CONSIDERANDO SUSPENSÃO DE IMP

02115  - 00003 - 6.0    - 00024  - A LINHA DO IPI NA NF COMPLEMENTAR NÃO BATE COM O TOTAL DA NF.

02120  - 00006 - 6.0    - 00024  - NÃO ESTÁ BATENDO A LINHA DO IPI COM O TOTAL DA NF.

02225  - 00007 - 6.0    - 00025  - VALOR TOTAL DA NOTA INCORRETO

02325  - 00008 - 6.0    - 00025  - TRATAMENTO PARA SUSPENSÃO DE ICMS NA DI POR REGIÃO

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

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

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

Palavras Chave:

REGIME TRIBUTARIO - SUSPENSAO - NOTA FISCAL - NF GLOBAL

NF REMESSA

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

Objetos da nota:

DTEL /PWS/ZYCIL844

FUGR /PWS/ZYCIGF1

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI029F01

REPS /PWS/MZYCI029O01

TABD /PWS/ZYCIT062

TABU TDDAT

TABU TVDIR

TOBJ /PWS/ZYCIT062S

 

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

Modificações efetuadas em DTEL /PWS/ZYCIL844

 

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

Elemento de dados incluído: /PWS/ZYCIL844

 

 

 

MODIFICAR ELEMENTO DE DADOS: /PWS/ZYCIL844

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

DESCRIÇÃO BREVE: GL - Suspensão na NF

 

DEFINIÇÃO

 

CATEGORIA DE DADOS:

(X) - CATEGORIA ELEMENTAR

   (X) - DOMÍNIO            /PWS/ZYCID139

 

 

DENOM. DE CAMPO:

 

BREVE : 10  RegSusp.NF

MÉDIO : 16  Reg.Suspensão NF

LONGA : 20  Reg.Suspensão NF

TÍTULO: 16  Reg.Suspensão NF

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

    IF NOT itab_zycit100-vlicms IS INITIAL.

      it_zycee007-taxval = itab_zycit036-vlreal.

    ELSE.

      CLEAR it_zycee007-taxval.

    ENDIF.

  ENDIF.

  IF NOT it_zycee007-taxval IS INITIAL.

    it_zycee007-rate = itab_zycit003-advalicms.

  ENDIF.

  it_zycee007-taxtyp = itab_zycit033-taxtyp.

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

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

        IF itab_zycit100-codregtri EQ '5'.

          itab_zycit100-baseicms =

          itab_zycit100-baseicms - itab_zycit100-vlii.

        ENDIF.

        IF itab_zycit100-codregtriipi EQ '5'.

          itab_zycit100-baseicms =

          itab_zycit100-baseicms - itab_zycit100-vlipi.

        ENDIF.

        IF itab_zycit100-codregtripiscofi EQ '5'.

          itab_zycit100-baseicms =

          itab_zycit100-baseicms -

          itab_zycit100-vlpis - itab_zycit100-vlcofins.

        ENDIF.

        IF itab_zycit100-baseicms LT 0.

          CLEAR itab_zycit100-baseicms.

        ENDIF.

  ENDIF.

* << Fim da inclusão

  CASE itab_zycit033-tribicms.

    WHEN 1.

      PERFORM verifica_montante.

      v_montante1 = itab_zycit100-baseicms.

      v_base      = v_montante1.

      v_excbas    = ( v_montante1 / v_basred * 100 ) - v_base.

      IF itab_zycit100-icms_dif = 'X'.

        IF /pws/zycit062-flag_icms = 'X'.

          DATA: v_base2   LIKE j_1bdytax-base.

          CLEAR v_base2.

...

 

...

    it_zycee007-ownpro2 = 'X'.

  ENDIF.

  PERFORM valores_r.

  SELECT SINGLE * FROM /pws/zycit062

    WHERE regio = adrc-region.

  READ TABLE itab_zycit100 WITH KEY ebeln = itab_zycit044-ebeln

                                    ebelp = itab_zycit044-ebelp.

  v_total = ( itab_zycit100-baseicms /

            ( itab_zycit044-menge / itab_zycit044-qtd_item ) * 100 )

                  / itab_zycit003-basred.

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

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

        IF itab_zycit100-codregtri EQ '5'.

           v_total = v_total - ( itab_zycit100-vlii /

           itab_zycit044-menge * itab_zycit044-qtd_item ).

        ENDIF.

        IF itab_zycit100-codregtriipi EQ '5'.

           v_total = v_total -  ( itab_zycit100-vlipi /

           itab_zycit044-menge * itab_zycit044-qtd_item ).

        ENDIF.

        IF itab_zycit100-codregtripiscofi EQ '5'.

           v_total = v_total -  ( itab_zycit100-vlpis /

           itab_zycit044-menge * itab_zycit044-qtd_item ).

           v_total = v_total -  ( itab_zycit100-vlcofins /

           itab_zycit044-menge * itab_zycit044-qtd_item ).

        ENDIF.

        IF v_total LT 0.

          CLEAR v_total .

        ENDIF.

  ENDIF.

* << Fim da inclusão

  CASE itab_zycit033-tribicms.

    WHEN 1.

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

      IF /pws/zycit062-flag_icms = 'X'.

* << Fim da exclusão

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

      IF /pws/zycit062-flag_icms = 'X' .

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

            itab_zycit100-codregtri EQ '5'.

         it_zycee007-base   =  v_total .

        else.

* << Fim da inclusão

        it_zycee007-base   = ( v_total - v_icms ) /

                ( ( 100 - itab_zycit003-advalicms ) / 100 ).

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

         endif.

* << Fim da inclusão

      ELSE.

        it_zycee007-base   = v_total.

      ENDIF.

      it_zycee007-base =

      ( it_zycee007-base * itab_zycit003-basred / 100 ).

...

 

...

        IF /pws/zycit062-flag_icms = 'X'.

          it_zycee007-c_excbas = it_zycee007-c_excbas - v_icms.

        ENDIF.

        v_icms_dif = v_icms_dif + v_icms.

        v_base_dif = v_base_dif + v_total.

      ELSE.

        it_zycee007-taxval = v_icms.

      ENDIF.

    WHEN 3.

      IF /pws/zycit062-flag_icms = 'X'.

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

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

            itab_zycit100-codregtri EQ '5'.

            it_zycee007-othbas =  v_total.

        else.

* << Fim da inclusão

        it_zycee007-othbas = ( v_total - v_icms ) /

              (  ( 100 - itab_zycit003-advalicms ) / 100 ).

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

        endif.

* << Fim da inclusão

      ELSE.

        it_zycee007-othbas = v_total.

      ENDIF.

      IF itab_zycit003-basred NE 100.

        it_zycee007-othbas =

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

    a_icdevi  = a_icdevi  + t_icms.

    a_icreco  = a_icdevi.

  ENDIF.

  itab_it-baseicms = t_icmsbs.

  itab_it-vlicms   = t_icms.

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

  itab_it-vlpis    = t_pis   .

  itab_it-vlcofins = t_cofins.

* << Fim da exclusão

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

  itab_it-vlpis    = v_vlpisrec  .

  itab_it-vlcofins = v_vlcofrec.

* << Fim da inclusão

  t_pisbs = itab_it-basepis.

  t_cofinsbs = itab_it-basecofins.

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

    v_vlpisrec   = t_pis   .

    v_vlcofrec   = t_cofins.

* << 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/MZYCI029F01

 

...

             ebeln = itab_zycit053_e-ebeln

             ebelp = itab_zycit053_e-ebelp.

        READ TABLE itab_zycit019 WITH KEY

             codigo = itab_zycit053_c-codigo.

        CLEAR: v_pis, v_cofins, v_fator_y.

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

        IF NOT itab_zycit100-codregtripiscofi EQ '5' AND

           /pws/zycit062-susp_nf NE 'S'.

* << Fim da inclusão

        v_fator_y = ( itab_zycit003-advalicms / 100 ) /

               ( ( 100 - itab_zycit003-advalicms -

                itab_zycit100-advalpis - itab_zycit100-advalcofins )

                / 100 ).

        v_pis = v_cofins = itab_zycit053_c-vlcompl * v_fator_y.

...

 

...

        ENDIF.

        MODIFY itab_zycit265_c TRANSPORTING vldp_pis vldp_cofins

            WHERE nrseq = itab_zycit053_e-nrseq

              AND ebeln = itab_zycit053_e-ebeln

              AND ebelp = itab_zycit053_e-ebelp.

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

        ENDIF.

* << Fim da inclusão

        IF itab_zycit020-baseicms = 'X' OR itab_zycit020-baseii = 'X'.

          itab_zycit053_c-contabiliza = 'X'.

        ELSE.

          CLEAR itab_zycit053_c-contabiliza.

        ENDIF.

...

 

...

          it_zycee007-c_excbas = itab_zycit265_c2-vldp_dif -

                             it_zycee007-base.

        ELSE.

            it_zycee007-taxval   = it_zycee007-taxval *

                    ( itab_zycit003-advalicms / 100 ).

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

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

          itab_zycit100-codregtri EQ '5'.

            it_zycee007-base     = itab_zycit265_c2-vldp_dif_icms  +

                                  itab_zycit265_c2-vldp_pis    +

                                  itab_zycit265_c2-vldp_cofins .

          ELSE.

* << Fim da inclusão

          it_zycee007-base     = itab_zycit265_c2-vldp_dif_icms +

                                it_zycee007-taxval           +

                                itab_zycit265_c2-vldp_pis    +

                                itab_zycit265_c2-vldp_cofins .

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

          ENDIF.

* << Fim da inclusão

          it_zycee007-c_excbas = itab_zycit265_c2-vldp_dif -

                               itab_zycit265_c2-vldp_dif_icms.

        ENDIF.

      ELSE.

        IF NOT /pws/zycit062-bcnfc IS INITIAL AND

...

 

...

            itab_zycit265_c2-vldp_pis + itab_zycit265_c2-vldp_cofins )

            *  ( itab_zycit003-basred / 100 )  ) .

        ELSE.

          IF itab_zycit100-icms_dif = 'X'.

            it_zycee007-othbas   =  itab_zycit265_c2-vldp_dif_icms.

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

          ELSE.

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

               itab_zycit100-codregtri EQ '5'.

             it_zycee007-othbas   =  ( itab_zycit265_c2-vldp_dif_icms +

             itab_zycit265_c2-vldp_pis + itab_zycit265_c2-vldp_cofins ).

* << Fim da inclusão

          ELSE.

            it_zycee007-othbas   =  ( itab_zycit265_c2-vldp_dif_icms +

             itab_zycit265_c2-vldp_pis + itab_zycit265_c2-vldp_cofins )

                        / ( ( 100 - itab_zycit003-advalicms ) / 100 )  .

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

            ENDIF.

* << Fim da inclusão

          ENDIF.

          it_zycee007-taxval   =  it_zycee007-taxval *

                   ( itab_zycit003-advalicms / 100 ).

        ENDIF.

      ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI029O01

 

...

      ( /pws/zycit000-flagpiscof NE 'X' OR

        NOT /pws/zycie265-docnum IS INITIAL ).

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

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

    IF screen-name EQ '/PWS/ZYCIE265-VLDP_PIS' OR

       screen-name EQ '/PWS/ZYCIE265-VLDP_COFINS'.

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

        READ TABLE itab_zycit100 WITH KEY

              nrseq = itab_zycit265_c-nrseq

              ebeln = itab_zycit265_c-ebeln

              ebelp = itab_zycit265_c-ebelp.

        IF sy-subrc EQ 0.

          IF itab_zycit100-codregtripiscofi EQ '5'.

            screen-input = '0'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

ENDMODULE.

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT062

 

*OS SEGUINTES CAMPOS FORAM CRIADOS:

 

MANDT MANDT

REGIO REGIO

FLAG_ICMS /PWS/ZYCIL361

BASE J_1BTXRATE

BS_PIS_COF /PWS/ZYCIL802

BCNFC /PWS/ZYCIL827

BS_RAT_ICMS /PWS/ZYCIL830

*<<Inicio inclusao

SUSP_NF /PWS/ZYCIL844

*<<Fim inclusao

USERNAMEC SYUNAME

DTUSERC SYDATUM

HRUSERC SYSTTIMLO

 

 

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

Modificações efetuadas em TOBJ /PWS/ZYCIT062S

 

*Visão de atualização de tabela /PWS/ZYCIT062 gerada novamente