CE PLUS - Nota 007026

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 25/07/2008 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:17:27

Descrição da Nota: ARREDONDAMENTO DA NOTA FISCAL VALORES DE IMPOSTOS X BASE DE CÁLCULO ICMS

Sintoma

Arredondamento da nota fiscal Valores de impostos x base de cálculo ICMS. Necessário desenvolvimento

para tratar diferença de centavos entre valores de impostos e base de icms.

 

 

Solução

Criado desenvolvimento para tratar diferença de centavos entre valores de impostos e base de icms.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DI NAO CALCULA CORRETAMENTE ICMS QUANDO REDUZIDO

REDUÇÃO DE BASE DE IMPOSTO NOTA FISCAL

VISUALIZAÇÃO DO RATEIO DE DESPESAS DA DI ESTÁ INCORRETO

NOTA FISCAL REMESSA - VALORES ERRADOS DE IPI E ICMS

NECESSÁRIA EXIT AO CALCULAR ICMS

INCLUSÃO DE VERIFICAÇÃO DO NUMERO DA DECLARAÇÃO DA DI

Informações Complementares

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

Nota Número 07026 Data: 25/07/2008 Hora: 11:10:19

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

 

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

Nota Número              : 07026

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00057

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

Referência às notas relacionadas:

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

 

01227  - 00001 - 6.0    - 00023  - VISUALIZAÇÃO DO RATEIO DE DESPESAS DA DI ESTÁ INCORRETO

04488  - 00002 - 7.0    - 00002  - NOTA FISCAL REMESSA - VALORES ERRADOS DE IPI E ICMS

04557  - 00003 - 7.0    - 00003  - REDUÇÃO DE BASE DE IMPOSTO NOTA FISCAL

04922  - 00004 - 7.0    - 00003  - DI NAO CALCULA CORRETAMENTE ICMS QUANDO REDUZIDO

05354  - 00005 - 7.0    - 00003  - NECESSÁRIA EXIT AO CALCULAR ICMS

06608  - 00006 - 7.0    - 00005  - INCLUSÃO DE VERIFICAÇÃO DO NUMERO DA DECLARAÇÃO DA DI

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

ARREDONDAMENTO DA NOTA FISCAL VALORES DE IMPOSTOS X BASE DE CÁLCULO ICMS

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

Palavras Chave:

ARREDONDAMENTO - NOTA FISCAL - IMPOSTOS - BASE ICMS - MELHORIA

 

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

Objetos da nota:

DTEL /PWS/ZYCIL865

FUGR /PWS/ZYCIGF2

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI016X01

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023X01

TABD /PWS/ZYCIT062

 

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

Modificações efetuadas em DTEL /PWS/ZYCIL865

 

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

Elemento de dados incluído: /PWS/ZYCIL865

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (42 caracteres), idioma: PT

"GL - Arredondamento Base de Impostos na NF"

Categoria de dados: Domínio

Domínio: XFELD

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (10 caracteres), idioma: PT

"Arred.Base"

Comprimento máximo do denominador médio: 19

Denominador médio incluído (19 caracteres), idioma: PT

"Arred. Base Imp. NF"

Comprimento máximo do denominador longo: 32

Denominador longo incluído (32 caracteres), idioma: PT

"Arredond. Base de Impostos na NF"

Comprimento máximo do título: 42

Título incluído (42 caracteres), idioma: PT

"GL - Arredondamento Base de Impostos na NF"

 

 

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

Modificações efetuadas em FUGR /PWS/ZYCIGF2

 

Foi criada a função /PWS/ZYCI_AJUSTE_IMP_NF

 

Grupo de funções     /PWS/ZYCIGF2               CI - Batch Input

Texto breve          Ajuste nas bases de impostos da nota fiscal

 

Tipo de execução

- Módulo de função normal.

 - Início imediato

 

 

 

Parâmetros de Importação

Nome Campo    Atributo   Tipo Referência

VLUNIT     TYPE    /PWS/ZYCIT042-NETPR

ZYCIT003 TYPE       /PWS/ZYCIT003

ZYCIT062 TYPE    /PWS/ZYCIT062

TPDECL       TYPE    /PWS/ZYCIT001-TPDECL

CODREGTRIICMS TYPE    /PWS/ZYCIT100-CODREGTRIICMS

CODREGTRI TYPE    /PWS/ZYCIT100-CODREGTRI

ICMS_DIF TYPE    /PWS/ZYCIT100-ICMS_DIF

TPDI       TYPE    /PWS/ZYCIT085-TPDI

 

 

Parâmetros de Modificação

Nome Campo    Atributo   Tipo Referência

ZYCEE007 TYPE     /PWS/ZYCEE007

 

 

 

 

Código fonte

 

FUNCTION /pws/zyci_ajuste_imp_nf.

  DATA v_vlverif     TYPE /pws/zycit100-baseicms.

  DATA v_vlverif1    TYPE /pws/zycit100-baseicms.

  DATA v_vlverif2    TYPE /pws/zycit042-netpr.

  DATA v_vlverif3    TYPE /pws/zycit100-vlicms.

  DATA v_vlverif4    TYPE /pws/zycit100-vlicms.

  DATA wa_zycit003   TYPE /pws/zycit003.

  DATA v_basred      TYPE /pws/zycie245-qtd_iten.

  DATA v_advicms     TYPE p DECIMALS 3.

  DATA v_tot_nf      TYPE /pws/zycee007-othbas.

  DATA v_tot_line    TYPE /pws/zycee007-othbas.

 

  CONSTANTS cent(5) TYPE p DECIMALS 2 VALUE '0.04'.

 

  IF zycit062-flag_icms = 'X'.

    wa_zycit003 = zycit003.

 

    IF  icms_dif = 'X'.

      wa_zycit003-basred = '100'.

      v_basred =  '100'.

    ENDIF.

 

    CLEAR v_advicms.

    IF NOT  wa_zycit003-advalicms IS INITIAL.

      IF zycit062-bs_pis_cof IS INITIAL.

        IF NOT  wa_zycit003-basred IS INITIAL OR

           NOT  wa_zycit003-basred EQ '100'.

          v_advicms = ( (  wa_zycit003-advalicms / 100 ) *

           (  wa_zycit003-basred / 100 ) ) .

        ELSE.

          v_advicms = (  wa_zycit003-advalicms / 100 ).

        ENDIF.

      ELSE.

        v_advicms = (  wa_zycit003-advalicms / 100 ).

      ENDIF.

      v_basred = ( v_advicms * 10000 /  wa_zycit003-advalicms ).

    ELSE.

      v_basred    =  wa_zycit003-basred.

    ENDIF.

 

 

    IF NOT  zycee007-taxval IS INITIAL AND

       NOT   icms_dif = 'X'.

 

      IF ( tpdi EQ 'N' AND "Verifica susp abaixo.

         NOT ' 36' CA   codregtriicms ) OR

         ( tpdi EQ 'S' AND

         NOT '56'   CA   codregtri    ) .

 

        IF (   codregtriicms EQ '5'  AND

        ' N' CA zycit062-susp_nf ) OR

             codregtriicms NE '5' .

          IF NOT zycit062-tred IS INITIAL.

 

            v_vlverif2 =

            ( (  zycee007-taxval /   zycee007-menge )

                * 100 ) / v_basred.

            v_vlverif4 = (   zycee007-taxval * 100 )

                                              / v_basred.

 

          ELSE.

            v_vlverif2 =

            (  zycee007-taxval /   zycee007-menge ).

            v_vlverif4 =   zycee007-taxval.

          ENDIF.

        ENDIF.

      ENDIF.

 

    ENDIF.

 

 

    IF tpdecl EQ 'DSI'

    AND   codregtri EQ '4'.

      IF NOT zycit062-tred IS INITIAL.

 

        v_vlverif2 = ( (

             zycee007-taxval /   zycee007-menge )

              * 100 ) / v_basred.

        v_vlverif4 = (   zycee007-taxval * 100 ) / v_basred.

      ELSE.

        v_vlverif2 =

        (  zycee007-taxval /   zycee007-menge ).

        v_vlverif4 =   zycee007-taxval.

      ENDIF.

    ENDIF.

    v_vlverif3 = v_vlverif2 *  zycee007-menge.

  ENDIF.

 

  IF zycit062-flag_icms = 'X'.

*IPI

    IF NOT zycee007-base2 IS INITIAL.

      zycee007-base2 = zycee007-base2 +

                      ( v_vlverif3 - v_vlverif4 ).

    ELSEIF NOT zycee007-othbas2 IS INITIAL.

      zycee007-othbas2 = zycee007-othbas2 +

                      ( v_vlverif3 - v_vlverif4 ).

    ELSEIF NOT zycee007-p_excbas IS INITIAL.

      zycee007-p_excbas = zycee007-p_excbas +

                      ( v_vlverif3 - v_vlverif4 ).

    ENDIF.

 

*ICMS

    IF NOT zycee007-base IS INITIAL.

      zycee007-base = zycee007-base +

                   ( v_vlverif3 - v_vlverif4 ).

    ELSEIF NOT zycee007-othbas IS INITIAL.

      zycee007-othbas = zycee007-othbas +

                   ( v_vlverif3 - v_vlverif4 ) .

    ELSEIF NOT zycee007-c_excbas IS INITIAL.

      zycee007-c_excbas = zycee007-c_excbas +

                   ( v_vlverif3 - v_vlverif4 ) .

    ENDIF.

  ENDIF.

 

  v_tot_nf = vlunit *  zycee007-menge.

  v_vlverif =   zycee007-netoth +  zycee007-netfre +

                zycee007-netins + v_tot_nf.

  v_tot_nf = zycee007-netpr *  zycee007-menge.                         .

  v_vlverif1 =  zycee007-netoth +  zycee007-netfre +

                zycee007-netins + v_tot_nf.

 

*ICMS

  IF NOT zycee007-base IS INITIAL.

 

    zycee007-base = zycee007-base +

                    ( v_vlverif1 - v_vlverif ).

 

  ELSEIF NOT zycee007-othbas IS INITIAL.

    zycee007-othbas =

          zycee007-othbas  +

         ( v_vlverif1 - v_vlverif ).

 

  ELSEIF NOT zycee007-c_excbas IS INITIAL.

    zycee007-c_excbas =

          zycee007-c_excbas  +

         ( v_vlverif1 - v_vlverif ).

 

  ENDIF.

 

 

*IPI

  IF NOT zycee007-base2 IS INITIAL.

    zycee007-base2 = zycee007-base2 -

                    ( v_vlverif - v_vlverif1 ) .

  ELSEIF NOT zycee007-othbas2 IS INITIAL.

    zycee007-othbas2 = zycee007-othbas2 -

                    ( v_vlverif - v_vlverif1 ) .

  ELSEIF NOT zycee007-p_excbas IS INITIAL.

    zycee007-p_excbas = zycee007-p_excbas -

                    ( v_vlverif - v_vlverif1 ) .

  ENDIF.

 

*Remove arredondamento automatico por casas decimais.

*ICMS

  v_tot_nf = v_vlverif1 + zycee007-taxval2.

 

  v_tot_line = zycee007-base + zycee007-othbas + zycee007-c_excbas.

  v_vlverif = v_tot_nf - v_tot_line.

  v_vlverif2 = abs( v_vlverif ).

  IF cent => v_vlverif2.

    IF NOT zycee007-base IS INITIAL.

      zycee007-base = zycee007-base + v_vlverif.

 

    ELSEIF NOT zycee007-othbas IS INITIAL.

      zycee007-othbas = zycee007-othbas  + v_vlverif.

 

    ELSEIF NOT zycee007-c_excbas IS INITIAL.

      zycee007-c_excbas = zycee007-c_excbas  + v_vlverif.

 

    ENDIF.

  ENDIF.

*IPI

  v_tot_line = zycee007-base2 + zycee007-othbas2 +

               zycee007-p_excbas + zycee007-taxval2.

  v_vlverif = v_tot_nf - v_tot_line.

  v_vlverif2 = abs( v_vlverif ).

  IF cent => v_vlverif2.

    IF NOT zycee007-base2 IS INITIAL.

      zycee007-base2 = zycee007-base2 + v_vlverif.

 

    ELSEIF NOT zycee007-othbas2 IS INITIAL.

      zycee007-othbas2 = zycee007-othbas2  + v_vlverif.

 

    ELSEIF NOT zycee007-p_excbas IS INITIAL.

      zycee007-p_excbas = zycee007-p_excbas  + v_vlverif.

 

    ENDIF.

  ENDIF.

ENDFUNCTION.

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

 

  IF itab_zycit100-codregtripiscofi NE '3' AND

    itab_zycit100-codregtripiscofi NE '5'.

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

    v_impostos = v_impostos + itab_zycit100-vlpis + itab_zycit100-vlcofins.

* << Fim da exclusão

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

    v_vldp_042 = itab_zycit100-vlpis.

    v_impostos = v_impostos + v_vldp_042.

    v_vldp_042 = itab_zycit100-vlcofins.

    v_impostos = v_impostos + v_vldp_042.

* << Fim da inclusão

  ENDIF.

ENDFORM.

 

...

 

...

 

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

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

    CALL FUNCTION '/PWS/ZYCI_AJUSTE_IMP_NF'

         EXPORTING

              vlunit        = itab_zycit042-netpr

              zycit003      = itab_zycit003

              zycit062      = /pws/zycit062

              tpdecl        = /pws/zycit001-tpdecl

              codregtriicms = itab_zycit100-codregtriicms

              codregtri     = itab_zycit100-codregtri

              icms_dif      = itab_zycit100-icms_dif

              tpdi          = /pws/zycit085-tpdi

         CHANGING

              zycee007      = it_zycee007.

  ENDIF.

* << Fim da inclusão

  APPEND it_zycee007.

  CLEAR it_zycee007.

  MOVE itab_zycit042 TO itab_zycit042_mark.

  APPEND itab_zycit042_mark.

ENDFORM.

...

 

...

    CASE itab_zycit033-tribipi.

      WHEN 1.

        IF NOT itab_zycit100-baseipi IS INITIAL.

          it_zycee007-base2 = itab_zycit100-baseipi /

             itab_zycit044-menge * itab_zycit044-qtd_item .

        ENDIF.

        IF v_basred IS INITIAL.

          v_basred = 100.

        ENDIF.

        it_zycee007-p_excbas =  v_outras_ic + v_ipi.

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

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

* << Fim da inclusão

        IF  itab_zycit100-icms_dif NE 'X' OR

           /pws/zycit062-bs_cheia_dif = 'X'.

          IF NOT v_icms IS INITIAL.

            it_zycee007-p_excbas = it_zycee007-p_excbas +

                  ( ( v_icms * 100 ) / v_basred  ).

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

            ENDIF.

* << Fim da inclusão

          ENDIF.

        ENDIF.

...

 

...

        CLEAR it_zycee007-taxval2.

      WHEN 3.

        IF NOT itab_zycit100-baseipi IS INITIAL.

          it_zycee007-othbas2  = itab_zycit100-baseipi /

               itab_zycit044-menge * itab_zycit044-qtd_item .

        ENDIF.

        IF v_basred IS INITIAL.

          v_basred = 100.

        ENDIF.

        it_zycee007-p_excbas =  v_outras_ic + v_ipi.

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

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

* << Fim da inclusão

        IF  itab_zycit100-icms_dif NE 'X' OR

           /pws/zycit062-bs_cheia_dif = 'X'.

          IF NOT v_icms IS INITIAL.

            it_zycee007-p_excbas = it_zycee007-p_excbas +

                  ( ( v_icms * 100 ) / v_basred  ).

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

            ENDIF.

* << Fim da inclusão

          ENDIF.

        ENDIF.

...

 

...

 

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

 

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

    CALL FUNCTION '/PWS/ZYCI_AJUSTE_IMP_NF'

         EXPORTING

              vlunit        = itab_zycit044-netpr

              zycit003      = itab_zycit003

              zycit062      = /pws/zycit062

              tpdecl        = /pws/zycit001-tpdecl

              codregtriicms = itab_zycit100-codregtriicms

              codregtri     = itab_zycit100-codregtri

              icms_dif      = itab_zycit100-icms_dif

              tpdi          = /pws/zycit085-tpdi

         CHANGING

              zycee007      = it_zycee007.

  ENDIF.

* << Fim da inclusão

  APPEND it_zycee007.

  CLEAR it_zycee007.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016X01

 

...

* >> Início da exclusão:

     v_basred      LIKE /pws/zycie003-netpr,

* << Fim da exclusão

* >> Início da inclusão:

     v_basred      LIKE /pws/zycit245-qtd_iten,

* << Fim da inclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

 

FORM load_itax USING p_tipo.

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

  DATA: v_casasd  TYPE /pws/zycit036-vlreal,

        v_casasd2 TYPE /pws/zycit036-vlreal,

        v_casasd3 TYPE /pws/zycit036-vlreal.

* << Fim da inclusão

...

 

...

  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.

  IF v_dit EQ 'N'.

    CASE s_inco1_ci.

      WHEN 'FOB'.

        t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.

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

        v_casasd = t_ivseg.

        v_casasd2 = t_ivfre.

        v_casasd3 = t_ivdesp.

        v_ivadud = t_ivmle + v_casasd3 + v_casasd + v_casasd2.

* << Fim da inclusão

...

...

 

        t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

        t_ivadu = t_ivmle2 + t_ivseg + t_ivdesp.

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

        v_casasd = t_ivseg.

        v_casasd3 = t_ivdesp.

        v_ivadud = t_ivmle2 + v_casasd3 + v_casasd .

* << Fim da inclusão

      WHEN 'CIF'.

        CLEAR v_difgran .

        IF NOT itab_it-qtd_itend IS INITIAL.

          READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq

                                            ebeln = itab_it-ebeln

                                            ebelp = itab_it-ebelp.

          IF sy-subrc EQ 0.

            t_vmle =

                    itab_it-vlreal * itab_it-qtd_itend.

            itab_it-vlfob = t_vmle.

...

 

...

 

          t_ivmle_d2 = t_ivmle  =

          t_ivmle + v_desp_fren +  t_ivfre  + t_ivseg .

        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

        v_casasd3 = t_ivdesp.

        v_ivadud = t_ivmle2 + v_casasd3 .

* << Fim da inclusão

    ENDCASE.

  ELSE.

    CASE s_inco1_ci.

      WHEN 'FOB'.

        t_ivadu = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.

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

        v_casasd = t_ivseg.

        v_casasd2 = t_ivfre.

        v_casasd3 = t_ivdesp.

        v_ivadud = t_ivmle + v_casasd3 + v_casasd + v_casasd2.

* << Fim da inclusão

      WHEN 'C&F'.

        IF p_tipo EQ 'A'.

          t_ivmle = t_ivmle + t_ivfre.

          t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.

          t_ivadu = t_ivmle + wa_it-vlseg + t_ivdesp.

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

          v_casasd = wa_it-vlseg.

          v_casasd3 = t_ivdesp.

          v_ivadud = t_ivmle + v_casasd3 + v_casasd.

* << Fim da inclusão

        ELSEIF p_tipo EQ 'I' OR p_tipo = 'T'.

          t_ivmle = t_ivmle + t_ivfre.

          t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.

          t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.

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

          v_casasd = t_ivseg.

          v_casasd2 = t_ivfre.

          v_casasd3 = t_ivdesp.

          v_ivadud = t_ivmle + v_casasd3 + v_casasd + v_casasd2.

* << Fim da inclusão

        ENDIF.

      WHEN 'CIF'.

        IF p_tipo EQ 'A'.

          t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + t_ivseg.

          t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg.

          t_ivadu = t_ivmle + t_ivdesp.

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

          v_casasd3 = t_ivdesp.

          v_ivadud = t_ivmle + v_casasd3.

* << Fim da inclusão

        ELSEIF p_tipo EQ 'I' OR p_tipo = 'T'.

          t_ivmle_d2 = t_ivmle = t_ivmle - t_ivfre - t_ivseg.

          t_vmle_d2 = t_vmle = t_vmle - v_tot_fre - v_tot_seg.

          t_ivadu = t_ivmle + t_ivdesp + t_ivfre + t_ivseg.

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

          v_casasd = t_ivseg.

          v_casasd2 = t_ivfre.

          v_casasd3 = t_ivdesp.

          v_ivadud = t_ivmle + v_casasd3 + v_casasd + v_casasd2.

* << Fim da inclusão

        ENDIF.

    ENDCASE.

  ENDIF.

  itab_it-vlfobr    = t_ivmle2.

  itab_it-vlmerc_ad = t_vmle2.

ENDFORM.

...

 

...

 

FORM load_iipi USING p_tipo.

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

  DATA: v_casasd  TYPE /pws/zycit036-vlreal.

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

* << Fim da inclusão

  IF '56' CA itab_it-codregtri .

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

      v_casasd = itab_it-ii_calculado.

    ELSE.

      v_casasd = t_iirec.

    ENDIF.

    t_ipibas  = ( v_ivadud + v_casasd ).

  ELSE.

    IF '56' CA itab_it-codregtri .

* << Fim da inclusão

    t_ipibas  = ( t_ivadu + itab_it-ii_calculado ).

  ELSE.

    t_ipibas  = ( t_ivadu + t_iirec ).

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

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

  IF v_dit = 'N'.

    IF /pws/zycie100a-codregtriipi NE '1' AND

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

 

FORM load_iicms USING p_tipo.

  DATA v_trunc TYPE p DECIMALS 3.

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

  DATA: v_casasd  TYPE /pws/zycit036-vlreal,

        v_casasd2 TYPE /pws/zycit036-vlreal,

        v_casasd3 TYPE /pws/zycit036-vlreal,

        v_casasd4 TYPE /pws/zycit036-vlreal,

        v_casasd5 TYPE /pws/zycit036-vlreal.

* << Fim da inclusão

  CLEAR: t_ivdesp, v_advii, v_advipi, v_advicms,

          v_advpis, v_advcof, v_desp.

  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.

...

 

...

 

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

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

      MOVE: v_vliirec  TO v_casasd,

            v_vlipirec TO v_casasd2,

            t_ivdesp   TO v_casasd3,

            v_vlcofrec TO v_casasd4,

            v_vlpisrec TO v_casasd5.

      t_icmsbs_d2 = t_icmsbs = ( v_ivadud +  v_casasd + v_casasd2 +

        v_casasd3 + v_casasd4 + v_casasd5 ) .

      MOVE: a_iicalc  TO v_casasd,

            a_ipidevi TO v_casasd2,

            a_piscalc TO v_casasd3,

            a_cofcalc TO v_casasd4.

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

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

          t_icmsbs_d2 = t_icmsbs =

          t_icmsbs - v_casasd.

        ENDIF.

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

          t_icmsbs_d2 = t_icmsbs =

          t_icmsbs - v_casasd2.

        ENDIF.

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

          t_icmsbs_d2 = t_icmsbs =

          t_icmsbs - v_casasd3 - v_casasd4.

        ENDIF.

      ENDIF.

    ELSE.

* << Fim da inclusão

    t_icmsbs_d2 = t_icmsbs = ( t_ivadu +  v_vliirec + v_vlipirec +

        t_ivdesp  + v_vlpisrec + v_vlcofrec ) .

    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 - a_piscalc - a_cofcalc.

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

        ENDIF.

* << Fim da inclusão

      ENDIF.

    ENDIF.

    IF /pws/zycie100a-baseicms LT 0.

      CLEAR itab_zycit100-baseicms.

    ENDIF.

    IF NOT /pws/zycit062-bs_pis_cof IS INITIAL.

      IF NOT /pws/zycie003-basred IS INITIAL AND

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

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

         ( /pws/zycie003-basred / 100 ) ) .

...

 

...

 

FORM verifica_nrdi.

  DATA: v_nrseqdi TYPE /pws/zycie085-nrseqdi.

  IF NOT t001-land1 EQ 'CL' AND NOT t001-land1 EQ 'AR'.

    IF NOT /pws/zycie085-nrdi IS INITIAL.

      SELECT SINGLE nrseqdi FROM /pws/zycit085 INTO v_nrseqdi

          WHERE nrseqdi NE /pws/zycie085-nrseqdi

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

            AND nrdi EQ /pws/zycie085-nrdi. "#EC CI_NOFIELD

* << Fim da exclusão

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

            AND nrdi EQ /pws/zycie085-nrdi.             "#EC CI_NOFIELD

* << Fim da inclusão

      IF sy-subrc EQ 0 .

        MESSAGE e015 WITH text-254 v_nrseqdi.

      ENDIF.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

 

* >> Início da inclusão:

DATA: v_ivadud  LIKE t_icms.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em TABD /PWS/ZYCIT062

 

 

O seguinte campo foi inserido

 

     Nome campo   Chv Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

...

 

*<<Início Inclusão

     ARBASE           /PWS/ZYCIL865              CHAR     1

*<<Fim Inclusão

     USERNAMEC        SYUNAME                    CHAR    12

     DTUSERC          SYDATUM                    DATS     8

     HRUSERC          SYSTTIMLO                  TIMS     6

 

 

 

*******GERAR VISÃO DE ATUALIZAÇÃO DE TABELA

 

Tabela/visão          /PWS/ZYCIT062

 

 

Grupo de autorização ZYCE   pw.CE - Grp. Autor.

Grupo de funções     /PWS/ZYCIGF1

Cl.desenvolvimento   /PWS/ZYCI          pw.CE - Documentação Importação

 

 Ctg.atualização

 

 Nº tela atualização  Tela de síntese      62

                      Tela individual      0

 

 

 

Rotina de registro     (X)  Rotina de registro