CE PLUS - Nota 003302

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 23/03/2007 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:13:40

Descrição da Nota: NA NOTA FISCAL VERIFICAR TABELA ZYCIT062 PARA NÃO INCIDÊNCIA DA DI

Sintoma

Fazer tratamento na Nota Fiscal para verificar a coluna reg_susp.NF da tabela /PWS/zycit062 quando o

regime tributário for não incidência, o mesmo tratamento de como faz com o suspensão.

 

 

Solução

tratar regime tributário não incidência como o regime de suspensão.

 

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ERROS PARA NF DE PROCESSOS ISENÇÃO, SUSPENSÃO E RECOLHIMENTO INTEGRAL.

CRIADO PARAMETRO PARA LEVAR ICMS REDUZ NO TOTAL DA NF

NOTA FISCAL COM SUSPENSÃO DE IMPOSTOS

APRESENTAR MENSAGEM NA NOTA FISCAL DE "VALOR ICMS: DIFERIDO"

NECESSÁRIO FAZER TRATAMENTO DA DSI E NF GLOBAL COM REGIME SUSPENSO.

Informações Complementares

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

Nota Número 03302 Data: 23/03/2007 Hora: 09:44:52

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

 

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

Nota Número              : 03302

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00001

Agrupamento              : 00158

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

Referência às notas relacionadas:

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

 

02922  - 00001 - 6.0    - 00026  - CRIADO PARAMETRO PARA LEVAR ICMS REDUZ NO TOTAL DA NF

02972  - 00002 - 6.0    - 00026  - APRESENTAR MENSAGEM NA NOTA FISCAL DE "VALOR ICMS: DIFERIDO"

03178  - 00003 - 6.0    - 00026  - NECESSÁRIO FAZER TRATAMENTO DA DSI E NF GLOBAL COM REGIME SUSPENS

03219  - 00004 - 6.0    - 00026  - NOTA FISCAL COM SUSPENSÃO DE IMPOSTOS

03239  - 00005 - 6.0    - 00026  - ERROS PARA NF DE PROCESSOS ISENÇÃO, SUSPENSÃO E RECOLHIMENTO INTE

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

NA NOTA FISCAL VERIFICAR TABELA ZYCIT062 PARA NÃO INCIDÊNCIA DA DI

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

Palavras Chave:

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

NÃO INCIDÊNCIA - DI

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

Objetos da nota:

FUNC /PWS/ZYCI_RATEIO_CUSTO

REPS /PWS/MZYCI016F01

REPS /PWS/ZYCIR035

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO

 

...

      IF itab_zycit003-qtd_itend IS INITIAL.

       v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_iten ).

      ELSE.

      v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_itend ).

      ENDIF.

      v_tot_vlreal = v_tot_vlreal + ( itab_zycit003-vlreal *

                      itab_zycit003-qtd_iten ).

    ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit100a.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    IF itab_zycit100a-codregtri NE '5' AND

       itab_zycit100a-codregtri NE '3'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    IF NOT '356' CA itab_zycit100a-codregtri .

* << Fim da inclusão

      v_tot_ii   = itab_zycit100a-vlii + v_tot_ii.

    ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    IF itab_zycit100a-codregtriipi NE '1' AND

       itab_zycit100a-codregtriipi NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    IF NOT '156' CA itab_zycit100a-codregtriipi .

* << Fim da inclusão

      v_tot_ipi  = itab_zycit100a-vlipi + v_tot_ipi.

    ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    IF ( itab_zycit100a-codregtripiscofi  NE '3' AND

         itab_zycit100a-codregtripiscofi NE '5' ) .

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    IF NOT '356' CA itab_zycit100a-codregtripiscofi.

* << Fim da inclusão

      v_tot_pis     = itab_zycit100a-vlpis + v_tot_pis.

      v_tot_cofins  = itab_zycit100a-vlcofins + v_tot_cofins.

    ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    IF ( itab_zycit100a-codregtriicms  NE '3' AND

         itab_zycit100a-codregtriicms NE '5' ) .

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    IF NOT '356' CA itab_zycit100a-codregtriicms  .

* << Fim da inclusão

      v_tot_icms = itab_zycit100a-vlicms + v_tot_icms.

    endif.

  ENDLOOP.

  IF NOT itab_zycit100a[] IS INITIAL.

    SELECT * FROM /pws/zycit116

       INTO TABLE itab_zycit116

       FOR ALL ENTRIES IN itab_zycit100a

       WHERE nrseqdi = itab_zycit100a-nrseqdi.

    IF sy-subrc NE 0 AND v_programa = 'DI'.

      IMPORT itab_adicao FROM MEMORY ID 'ADI01'.

...

 

...

            CLEAR itab_zycit039.

         READ TABLE itab_zycit039 WITH KEY codigo = itab_despesa-codigo.

 

            IF v_linha = v_index.

              IF NOT itab_despesa-waers IS INITIAL.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSE.

                itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

              ENDIF.

 

              IF ( /pws/zycit019-codigo EQ 'II'     OR

                   /pws/zycit019-codigo EQ 'IPI'    OR

                   /pws/zycit019-codigo EQ 'ICMS'   OR

                   /pws/zycit019-codigo EQ 'COFINS' OR

                   /pws/zycit019-codigo EQ 'PIS'    OR

              ( /pws/zycit000-cod_sisc EQ itab_despesa-tpdesp AND

                NOT /pws/zycit000-flag_txsisc IS INITIAL ) ) AND

                NOT itab_zycit100a[] IS INITIAL.

 

                IF /pws/zycit019-codigo = 'ICMS' AND

                   NOT v_tot_icms IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0.

 

             itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp

                                                                       .

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSEIF /pws/zycit019-codigo = 'IPI' AND

                   NOT v_tot_ipi IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     itab_zycit100a-codregtriipi NE '1' AND

                     itab_zycit100a-codregtriipi NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     NOT '156' CA itab_zycit100a-codregtriipi .

* << Fim da inclusão

             itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSEIF /pws/zycit019-codigo = 'II' AND

                   NOT v_tot_ii IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     itab_zycit100a-codregtri NE '3' AND

                     itab_zycit100a-codregtri NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

               NOT '356' CA itab_zycit100a-codregtri .

* << Fim da inclusão

             itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSEIF /pws/zycit019-codigo = 'COFINS'

                AND NOT v_tot_cofins IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     itab_zycit100a-codregtripiscofi NE '3' AND

                     itab_zycit100a-codregtripiscofi NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                  NOT '356' CA  itab_zycit100a-codregtripiscofi .

* << Fim da inclusão

             itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSEIF /pws/zycit019-codigo = 'PIS'

                AND NOT v_tot_pis IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     itab_zycit100a-codregtripiscofi NE '3' AND

                     itab_zycit100a-codregtripiscofi NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                  NOT '356' CA  itab_zycit100a-codregtripiscofi .

* << Fim da inclusão

             itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSE.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND NOT v_tot_desp IS INITIAL.

             itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

...

 

...

               IF ( /pws/zycit019-codigo EQ 'II' OR

                  /pws/zycit019-codigo EQ 'IPI' OR

                  /pws/zycit019-codigo EQ 'ICMS' OR

                  /pws/zycit019-codigo EQ 'COFINS' OR

                  /pws/zycit019-codigo EQ 'PIS' OR

                 ( /pws/zycit000-cod_sisc EQ itab_despesa-tpdesp AND

                   NOT /pws/zycit000-flag_txsisc IS INITIAL ) ) AND

                   NOT itab_zycit100a[] IS INITIAL.

 

                 IF /pws/zycit019-codigo = 'ICMS' AND

                    NOT v_tot_icms IS INITIAL.

                   READ TABLE itab_zycit100a WITH KEY

                             ebeln = itab_zycit003-ebeln

                             ebelp = itab_zycit003-ebelp.

                   IF sy-subrc EQ 0.

 

                   itab_zycit036_aux-vlreal = ( itab_zycit100a-vlicms /

                          v_tot_icms ) * itab_despesa-netpr.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSEIF /pws/zycit019-codigo = 'IPI' AND

                   NOT v_tot_ipi IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     itab_zycit100a-codregtriipi NE '1' AND

                     itab_zycit100a-codregtriipi NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                    NOT '156' CA itab_zycit100a-codregtriipi .

* << Fim da inclusão

                    itab_zycit036_aux-vlreal = ( itab_zycit100a-vlipi /

                         v_tot_ipi ) * itab_despesa-netpr.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSEIF /pws/zycit019-codigo = 'II' AND

                   NOT v_tot_ii IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     itab_zycit100a-codregtri NE '3' AND

                     itab_zycit100a-codregtri NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                  NOT '356' CA  itab_zycit100a-codregtri .

* << Fim da inclusão

                    itab_zycit036_aux-vlreal = ( itab_zycit100a-vlii /

                         v_tot_ii ) * itab_despesa-netpr.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSEIF /pws/zycit019-codigo = 'COFINS'

                AND NOT v_tot_cofins IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     itab_zycit100a-codregtripiscofi NE '3' AND

                     itab_zycit100a-codregtripiscofi NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

            NOT '356' CA  itab_zycit100a-codregtripiscofi .

* << Fim da inclusão

                 itab_zycit036_aux-vlreal = ( itab_zycit100a-vlcofins /

                                    v_tot_cofins ) * itab_despesa-netpr.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSEIF /pws/zycit019-codigo = 'PIS'

                AND NOT v_tot_pis IS INITIAL.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0 AND

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                     itab_zycit100a-codregtripiscofi NE '3' AND

                     itab_zycit100a-codregtripiscofi NE '5'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                       NOT '356' CA itab_zycit100a-codregtripiscofi .

* << Fim da inclusão

                    itab_zycit036_aux-vlreal = ( itab_zycit100a-vlpis /

                         v_tot_pis ) * itab_despesa-netpr.

                    itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                  ENDIF.

                ELSE.

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0.

                    itab_zycit036_aux-vlreal = itab_zycit100a-vl_sisco.

                  ENDIF.

                ENDIF.

 

              ELSE.

                IF itab_zycit039-divabs EQ 'X'.

                itab_zycit036_aux-vlreal = itab_despesa-netpr / v_linha.

                  itab_zycit036_aux-waers_real = itab_despesa-waers.

                ELSEIF itab_zycit039-peso EQ 'X'.

                  IF NOT v_tpeso IS INITIAL.

                    itab_zycit036_aux-vlreal = itab_despesa-netpr *

                                          itab_zycit003-ntgew / v_tpeso.

                    itab_zycit036_aux-waers_real = itab_despesa-waers.

                  ENDIF.

                ELSEIF itab_zycit039-proporplan EQ 'X'.

                  itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *

                   itab_zycit003-qtd_iten / v_tot ) *

                   itab_despesa-netpr.

                  itab_zycit036_aux-waers_real = itab_despesa-waers.

                ELSE. "IF itab_zycit039-vlreal EQ 'X'.

                  CLEAR /pws/zycit020.

                  SELECT SINGLE * FROM /pws/zycit020 WHERE

                    regio = adrc-region AND

                    codigo = /pws/zycit019-codigo AND

                    baseicms EQ 'X'  AND

                    land1 EQ t001-land1.

                  IF sy-subrc NE 0.

                    SELECT SINGLE * FROM /pws/zycit020 WHERE

                      regio = space AND

                      codigo = /pws/zycit019-codigo AND

                      baseicms EQ 'X'  AND

                      land1 EQ t001-land1.

                  ENDIF.

 

 

                  IF /pws/zycit020-baseicms EQ 'X'.

 

...

 

...

 

         READ TABLE itab_zycit100a WITH KEY nrseq = itab_zycit003-nrseq

                                            ebeln = itab_zycit003-ebeln

                                            ebelp = itab_zycit003-ebelp.

         IF v_line_ac <> v_line_rateio.

           IF NOT /pws/zycit085-ukursseg IS INITIAL AND

              NOT itab_zycit100a-vlseg IS INITIAL.

 

             v_vlseg = itab_zycit100a-vlseg * v_taxa_usd

               / /pws/zycit085-ukursseg.

             MOVE v_vlseg TO it_desp-vlseg.

 

 

*     Ajuste para moeda difernte do padrão de duas casa decimais

             " Transforma valor da moeda de acordo com casas decimais

             SELECT SINGLE * FROM tcurx

                    WHERE currkey = /pws/zycit085-waersseg.

             IF sy-subrc <> 0.

               tcurx-currdec = 2.

             ENDIF.

         it_desp-vlseg = it_desp-vlseg * ( 10 ** ( tcurx-currdec - 2 ) ).

             v_ac_seg = v_ac_seg + it_desp-vlseg.

           ENDIF.

 

           IF NOT /pws/zycit085-ukursfre IS INITIAL AND

              NOT itab_zycit100a-vlfre IS INITIAL.

                   WHERE nrseqce = /pws/zycit085-nrbl.

          it_desp-vlfre = itab_zycit100a-vlfre / /pws/zycit085-ukursfre.

*     Ajuste para moeda difernte do padrão de duas casa decimais

            " Transforma valor da moeda de acordo com casas decimais

            SELECT SINGLE * FROM tcurx

                   WHERE currkey = /pws/zycit093-waersfre.

            IF sy-subrc <> 0.

              tcurx-currdec = 2.

            ENDIF.

        it_desp-vlfre = it_desp-vlfre * ( 10 ** ( tcurx-currdec - 2 ) ).

            v_ac_fre = v_ac_fre + it_desp-vlfre.

          ENDIF.

 

          vl_imp = itab_zycit100a-vlii.

          vltot_ii = vltot_ii + vl_imp.

          vl_ii = vl_ii + itab_zycit100a-vlii.

 

          vl_imp = itab_zycit100a-vlipi.

          vltot_ipi = vltot_ipi + vl_imp.

          vl_ipi = vl_ipi + itab_zycit100a-vlipi.

 

          IF itab_zycit100a-icms_dif IS INITIAL.      "ICMS Diferido não

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

              IF ( /pws/zycit085-tpdi EQ 'N' AND

                   NOT '356' CA itab_zycit100a-codregtriicms ) OR

                   ( /pws/zycit085-tpdi EQ 'S' AND

                   NOT '356' CA itab_zycit100a-codregtri ).

* << Fim da inclusão

            vl_imp = itab_zycit100a-vlicms.

            vltot_icms = vltot_icms + vl_imp.

            vl_icms = vl_icms + itab_zycit100a-vlicms.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

endif.

* << Fim da inclusão

          vl_imp = itab_zycit100a-vlpis.

          vltot_pis = vltot_pis + vl_imp.

          vl_pis = vl_pis + itab_zycit100a-vlpis.

 

          vl_imp = itab_zycit100a-vlcofins.

          vltot_cofins = vltot_cofins + vl_imp.

          vl_cofins = vl_cofins + itab_zycit100a-vlcofins.

 

 

        ELSE.

          IF sy-subrc = 0.

            IF NOT /pws/zycit085-vlseg IS INITIAL.

 

              it_desp-vlseg =  /pws/zycit085-vlseg - v_ac_seg.

 

            ENDIF.

            SELECT SINGLE * FROM /pws/zycit093

              WHERE nrseqce = /pws/zycit085-nrbl.

 

            IF NOT /pws/zycit093-vlfre IS INITIAL.

 

              it_desp-vlfre = /pws/zycit093-vlfre - v_ac_fre.

            ENDIF.

          ENDIF.

           vl_ii     = vl_ii     + itab_zycit100a-vlii    .

           vl_ipi    = vl_ipi    + itab_zycit100a-vlipi   .

 *          vl_icms   = vl_icms   + itab_zycit100a-vlicms  .

           vl_pis    = vl_pis    + itab_zycit100a-vlpis   .

           vl_cofins = vl_cofins + itab_zycit100a-vlcofins.

 

           itab_zycit100a-vlii     = vl_ii     - vltot_ii    .

           itab_zycit100a-vlipi    = vl_ipi    - vltot_ipi   .

 *          itab_zycit100a-vlicms   = vl_icms   - vltot_icms  .

           itab_zycit100a-vlpis    = vl_pis    - vltot_pis   .

           itab_zycit100a-vlcofins = vl_cofins - vltot_cofins.

 

           IF itab_zycit100a-icms_dif IS INITIAL.      "ICMS Diferido não

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

 

             IF not ( /pws/zycit001-tpdecl = 'DSI' AND

                   /pws/zycit001-regime = '09' ).

              IF ( /pws/zycit085-tpdi EQ 'N' AND

                   NOT '356' CA itab_zycit100a-codregtriicms ) OR

                   ( /pws/zycit085-tpdi EQ 'S' AND

                   NOT '356' CA itab_zycit100a-codregtri ).

* << Fim da inclusão

              vl_icms = vl_icms + itab_zycit100a-vlicms.

              itab_zycit100a-vlicms = vl_icms - vltot_icms.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

              ENDIF.

* << Fim da inclusão

            endif.

          ENDIF.

          v_ac_fre = 0.

          v_ac_seg = 0.

        ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

...

      IF sy-subrc NE 0.

        MESSAGE e120.

      ENDIF.

      IF /pws/zycit031-inco1_ci EQ 'C&F' OR

         /pws/zycit031-inco1_ci EQ 'CIF'.

        READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit042-nrseq

                                          ebeln = itab_zycit042-ebeln

                                          ebelp = itab_zycit042-ebelp.

        IF sy-subrc EQ 0 .

          IF NOT /pws/zycit093-ternacion IS INITIAL.

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

          PERFORM trata_decimais USING /pws/zycit093-waersfre

                             CHANGING /pws/zycit093-ternacion.

* << Fim da inclusão

            v_ternacion = /pws/zycit093-ternacion.

            IF /pws/zycie085-dttax IS INITIAL.

              /pws/zycie085-dttax = /pws/zycit085-dttax.

            ENDIF.

            IF sy-subrc = 0 .

              IF /pws/zycit093-waersfre = /pws/zycbt007-waersb.

                IF NOT v_ntgew_tot IS INITIAL.

                  v_ternacion = ( v_ternacion * itab_zycit003-ntgew

                        / v_ntgew_tot ).

                ENDIF.

...

 

...

        CLEAR: itab_zycit039, itab_zycit020, itab_zycit019.

        READ TABLE itab_zycit019 WITH KEY

                                    tpdesp = itab_zycit049_a-tpdesp.

        IF itab_zycit019-tipo EQ 'A' OR

           itab_zycit019-tipo IS INITIAL.

          READ TABLE itab_zycit020 WITH KEY

                                   codigo = itab_zycit019-codigo.

          READ TABLE itab_zycit039 WITH KEY

                                   codigo = itab_zycit020-codigo.

          IF itab_zycit049_a-waers NE /pws/zycbt007-waersb.

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

        perform trata_decimais using itab_zycit049_A-waers

                                     itab_zycit049_a-vldp.

* << Fim da inclusão

            PERFORM taxa_converte USING itab_zycit049_a-waers

                                         /pws/zycit085-dttax

                                CHANGING v_taxa_desp.

            itab_zycit049_a-vldp = itab_zycit049_a-vldp *

                                   v_taxa_desp.

            itab_zycit049_a-waers = /pws/zycbt007-waersb.

          ENDIF.

          IF v_lines = v_tabix.

            v_vldp = itab_zycit049_a-vldp - v_tot_vldp.

            itab_zycit042_d-vldp = itab_zycit042_d-vldp + v_vldp.

...

 

...

    ELSE.

      p_taxa = '1'.

    ENDIF.

  ENDIF.

ENDFORM.

FORM atualiza_icms_unitario.

  SELECT SINGLE * FROM /pws/zycit100

   WHERE nrseq = itab_zycit042-nrseq

     AND ebeln = itab_zycit042-ebeln

     AND ebelp = itab_zycit042-ebelp.

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

  IF sy-subrc EQ 0.

    SELECT * UP TO 1 ROWS FROM /pws/zycit085

             WHERE   nrseqdi = /pws/zycit100-nrseqdi.

    ENDSELECT.

  ENDIF.

 if /pws/zycit085-tpdi eq 'N'.

* << Fim da inclusão

  IF NOT /pws/zycit100-vlicms IS INITIAL AND

     NOT /pws/zycit100-icms_dif = 'X'

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

     AND ( NOT /pws/zycit100-codregtriicms EQ '5' OR

           NOT /pws/zycit100-codregtriicms EQ ' ' )

     AND NOT /pws/zycit100-codregtri     EQ '6'

     or ( /pws/zycit100-codregtriicms EQ '4' ).

    IF /pws/zycit062-tred IS INITIAL.

      itab_zycit042-netpr = itab_zycit042-netpr + ( (

          /pws/zycit100-vlicms / itab_zycit042-qtd_iten )

          * 100 ) / itab_zycit003-basred.

    ELSE.

      itab_zycit042-netpr = itab_zycit042-netpr +

      ( /pws/zycit100-vlicms / itab_zycit042-qtd_iten ).

    ENDIF.

* << Fim da inclusão

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

 AND  NOT  ' 5' ca /pws/zycit100-codregtriicms

     AND NOT /pws/zycit100-codregtri     EQ '6'.

* << Fim da exclusão

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

  ENDIF.

 else.

    if /pws/zycit100-codregtri ne '5' and

       /pws/zycit100-codregtri ne '6'.

* << Fim da inclusão

    IF /pws/zycit062-tred IS INITIAL.

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

      itab_zycit042-netpr = itab_zycit042-netpr + ( (

          /pws/zycit100-vlicms / itab_zycit042-qtd_iten )

* << Fim da exclusão

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

      itab_zycit042-netpr = itab_zycit042-netpr +

      ( ( /pws/zycit100-vlicms / itab_zycit042-qtd_iten )

* << Fim da inclusão

          * 100 ) / itab_zycit003-basred.

    ELSE.

      itab_zycit042-netpr = itab_zycit042-netpr +

      ( /pws/zycit100-vlicms / itab_zycit042-qtd_iten ).

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

    ENDIF.

    endif.

* << Fim da inclusão

    ENDIF.

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

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM bi_fb08.

  CHECK NOT /pws/zycie041a-belnr_f_02_c IS INITIAL.

  PERFORM clear_date_batch.

  it_zycbe033-tcode  = 'FB08'.

  it_zycbe033-tabela = text-014.

...

 

...

    it_zycee007-taxval2 = itab_zycit036-vlreal.

  ELSE.

    CLEAR it_zycee007-taxval2.

  ENDIF.

  it_zycee007-taxtyp2 = itab_zycit033-taxtyp2.

  CASE itab_zycit033-tribipi.

    WHEN 1.

      PERFORM verifica_montante.

      v_montante1 = itab_zycit100-baseipi.

      it_zycee007-base2   = v_montante1.

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

      IF ( /pws/zycit001-tpdecl = 'DSI' AND

         /pws/zycit001-regime = '09' ).

        it_zycee007-base2 = it_zycee007-base2 - itab_zycit100-vlii.

      ENDIF.

* << Fim da exclusão

      IF /pws/zycit001-meioemba = 'PS'.

        it_zycee007-base2 = it_zycee007-base2 +

          it_zycee007-taxval.

      ENDIF.

      IF itab_zycit100-codregtriicms EQ '3'.

        it_zycee007-p_excbas = itab_zycit100-vlicms.

      ENDIF.

    WHEN 2.

      PERFORM verifica_montante.

      v_montante1 = itab_zycit100-baseipi.

      it_zycee007-p_excbas = v_montante1.

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

      IF ( /pws/zycit001-tpdecl = 'DSI' AND

         /pws/zycit001-regime = '09' ).

        it_zycee007-p_excbas = it_zycee007-p_excbas -

               itab_zycit100-vlii.

      ENDIF.

* << Fim da exclusão

      CLEAR it_zycee007-taxval2.

      IF /pws/zycit001-meioemba = 'PS'.

        it_zycee007-p_excbas = it_zycee007-p_excbas +

          it_zycee007-taxval.

        IF itab_zycit100-codregtriipi = '1' .

          it_zycee007-p_excbas = it_zycee007-p_excbas +

            itab_zycit100-vlipi.

        ENDIF.

      ENDIF.

    WHEN 3.

      PERFORM verifica_montante.

      v_montante1 = itab_zycit100-baseipi.

      it_zycee007-othbas2  = v_montante1.

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

      IF ( /pws/zycit001-tpdecl = 'DSI' AND

         /pws/zycit001-regime = '09' ).

        it_zycee007-othbas2 = it_zycee007-othbas2 - itab_zycit100-vlii.

      ENDIF.

* << Fim da exclusão

      IF /pws/zycit001-meioemba = 'PS'.

        it_zycee007-othbas2 = it_zycee007-othbas2 +

          it_zycee007-taxval.

      ENDIF.

      IF itab_zycit100-codregtriicms EQ '3'.

        it_zycee007-p_excbas = itab_zycit100-vlicms.

      ENDIF.

  ENDCASE.

  DATA: itab_zycit398 LIKE /pws/zycit398 OCCURS 0 WITH HEADER LINE.

  SELECT * FROM /pws/zycit398

...

 

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

Modificações efetuadas em REPS /PWS/ZYCIR035

 

...

      PERFORM entra_despesa USING it_desp 'FRETEI' it_desp-vlfre

      /pws/zycit093-waersfre     0                CHANGING wa_036.

      MOVE wa_036 TO itab_zycit036.

      PERFORM retorna_decimais USING itab_zycit036-waers_real

                              CHANGING itab_zycit036-vlreal.

      itab_zycit036-usernamec = sy-uname.

      itab_zycit036-dtuserc   = sy-datum.

      itab_zycit036-hruserc   = sy-uzeit.

      APPEND itab_zycit036.

    ENDIF.

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

    IF /pws/zycit100-codregtri NE '3' AND

       /pws/zycit100-codregtri NE '5' or

* << Fim da exclusão

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

    IF  not '356' ca /pws/zycit100-codregtri or

* << Fim da inclusão

     ( /pws/zycit100-codregtri NE ' ' and

       /pws/zycit100-codregtri EQ '1' ).

      PERFORM entra_despesa USING it_desp 'II'     it_desp-vlii

              /pws/zycbt007-waersb

              it_desp-advalii  CHANGING wa_036.

      MOVE wa_036 TO itab_zycit036.

      itab_zycit036-usernamec = sy-uname.

      itab_zycit036-dtuserc   = sy-datum.

      itab_zycit036-hruserc   = sy-uzeit.

      APPEND itab_zycit036.

    ENDIF.

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

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

       /pws/zycit100-codregtriipi NE '5' or

* << Fim da exclusão

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

    IF not '156' ca /pws/zycit100-codregtriipi or

* << Fim da inclusão

     ( /pws/zycit100-codregtriipi EQ ' ' and

       /pws/zycit100-CODREGTRI    EQ '1' ).

      PERFORM entra_despesa USING it_desp 'IPI'    it_desp-vlipi

              /pws/zycbt007-waersb

            it_desp-advalipi CHANGING wa_036.

      MOVE wa_036 TO itab_zycit036.

      itab_zycit036-usernamec = sy-uname.

      itab_zycit036-dtuserc   = sy-datum.

      itab_zycit036-hruserc   = sy-uzeit.

      APPEND itab_zycit036.

    ENDIF.

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

    IF /pws/zycit100-codregtriicms NE '3' AND

       /pws/zycit100-codregtriicms NE '5' AND

       /pws/zycit100-codregtri     NE '6' or

     ( /pws/zycit100-codregtriicms EQ ' ' and

       /pws/zycit100-CODREGTRI     EQ '1' ).

* << Fim da exclusão

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

  if ( /pws/zycit085-tpdi eq 'N'  and

       not '356' ca /pws/zycit100-codregtriicms )  or

     (  /pws/zycit085-tpdi eq 'S'  and

       /pws/zycit100-codregtri    NE '6' ) .

* << Fim da inclusão

      PERFORM entra_despesa USING it_desp 'ICMS'   it_desp-vlicms

                /pws/zycbt007-waersb

              it_desp-aliqicms CHANGING wa_036.

      MOVE wa_036 TO itab_zycit036.

      itab_zycit036-usernamec = sy-uname.

      itab_zycit036-dtuserc   = sy-datum.

      itab_zycit036-hruserc   = sy-uzeit.

      APPEND itab_zycit036.

    ENDIF.

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

    IF /pws/zycit100-codregtripiscofi NE '3' AND

       /pws/zycit100-codregtripiscofi NE '5' or

* << Fim da exclusão

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

    IF not '356' ca /pws/zycit100-codregtripiscofi or

* << Fim da inclusão

     ( /pws/zycit100-codregtripiscofi NE ' ' and

       /pws/zycit100-codregtripiscofi EQ '1' ).

      PERFORM entra_despesa USING it_desp 'PIS' it_desp-vlpis

         /pws/zycbt007-waersb  v_aliq  CHANGING wa_036.

      MOVE wa_036 TO itab_zycit036. APPEND itab_zycit036.

      PERFORM entra_despesa USING it_desp 'COFINS'  it_desp-vlcofins

         /pws/zycbt007-waersb  v_aliq  CHANGING wa_036.

      MOVE wa_036 TO itab_zycit036. APPEND itab_zycit036.

    ENDIF.

  ENDLOOP.

...