CE PLUS - Nota 010577

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 08/09/2010 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:14:05

Descrição da Nota: ALTERAR ALÍQUOTA DE ICMS NA NF DE FUNDAP

Sintoma

Alterar alíquota de ICMS na NF de Fundap

 

 

Solução

Fazer tratamento para selecção de aliquota ICMS na tabela /PWS/ZYCIT478 quando o processo é de

FUNDAP.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

DESPESA DUPLICADA NO TOTAL DA NOTA FISCAL(FUNDAP)

Informações Complementares

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

Nota Número 10577 Data: 08/09/2010 Hora: 17:12:10

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

 

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

Nota Número              : 10577

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00004

Agrupamento              : 00037

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

Referência às notas relacionadas:

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

 

07515  - 00001 - 7.0    - 00007  - DESPESA DUPLICADA NO TOTAL DA NOTA FISCAL(FUNDAP)

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

ALTERAR ALÍQUOTA DE ICMS NA NF DE FUNDAP

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

Palavras Chave:

ALIQUOTA - ICMS - NF - FUNDAP - /PWS/ZYCIT478

 

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

Objetos da nota:

REPS /PWS/MZYCI016F01

TABD /PWS/ZYCIT478

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

            IF itab_zycit020-baseii NE 'X'.

              v_vlreal = v_vlreal + ( itab_zycit049_fndp-vldp *

                                      v_taxa_desp ) .

            ENDIF.

          ENDIF.

        ENDLOOP.

        LOOP AT itab_zycit003.

          CLEAR :  itab_zycit480,

                   v_vlii, v_vlipi,

                   v_vlpis, v_vlcofins.

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

          READ TABLE itab_ekpa WITH KEY ebeln = itab_zycit003-ebeln.

          IF sy-subrc EQ 0.

* << Fim da inclusão

          READ TABLE itab_zycit100 WITH KEY

                       nrseq = itab_zycit003-nrseq

                       ebeln = itab_zycit003-ebeln

                       ebelp = itab_zycit003-ebelp.

          IF sy-subrc EQ 0.

            itab_zycit480-nrseq = itab_zycit003-nrseq.

            itab_zycit480-ebeln = itab_zycit003-ebeln.

            itab_zycit480-ebelp = itab_zycit003-ebelp.

            IF NOT '356' CA itab_zycit100-codregtri .

              v_vlii = itab_zycit100-vlii.

            ENDIF.

            IF NOT '156' CA itab_zycit100-codregtriipi .

              v_vlipi = itab_zycit100-vlipi.

            ENDIF.

            IF NOT '356' CA itab_zycit100-codregtripiscofi.

              v_vlpis    = itab_zycit100-vlpis.

              v_vlcofins = itab_zycit100-vlcofins.

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

              ENDIF.

              itab_zycit480-vl_basred = itab_zycit003-basred .

              IF itab_zycit480-vl_basred EQ 100 AND

                 itab_zycit480-vl_aliqicms EQ 12.

                SELECT SINGLE * FROM /pws/zycit478

                 WHERE lifnr EQ itab_ekpa-lifn2

                 AND op_icms = '1'.

              ELSEIF itab_zycit480-vl_basred < 100 AND

                     itab_zycit480-vl_aliqicms EQ 12.

                SELECT SINGLE * FROM /pws/zycit478

                 WHERE lifnr EQ itab_ekpa-lifn2

                 AND op_icms = '2'.

              ELSE.

                SELECT SINGLE * FROM /pws/zycit478

                 WHERE lifnr EQ itab_ekpa-lifn2

                 AND op_icms = '3'.

* << Fim da inclusão

            ENDIF.

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

              IF NOT /pws/zycit478-aliqicms IS INITIAL.

                itab_zycit480-vl_aliqicms = /pws/zycit478-aliqicms .

              ELSE.

* << Fim da inclusão

            itab_zycit480-vl_aliqicms = itab_zycit003-advalicms .

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

            itab_zycit480-vl_basred = itab_zycit003-basred .

* << Fim da exclusão

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

              ENDIF.

* << Fim da inclusão

            IF itab_zycit100-waersbem NE /pws/zycie085-waersfob.

              PERFORM trata_decimais USING itab_zycit100-waersbem

                            CHANGING itab_zycit100-vlfob.

              PERFORM taxa_converte USING /pws/zycie085-waersfob

                                          /pws/zycie085-dttax

                                  CHANGING v_taxa_desp.

             itab_zycit100-vlfob =  itab_zycit100-vlfob * v_taxa_desp  .

              IF NOT /pws/zycie085-vlfob IS INITIAL.

                v_vldp =  ( v_vlreal * itab_zycit100-vlfob ) /

                       /pws/zycie085-vlfob.

...

 

...

               itab_zycit480-vl_desp_acess.

            itab_zycit480-vl_icms = itab_zycit480-vl_base_icms *

               ( itab_zycit480-vl_aliqicms / 100 ) .

            IF NOT itab_zycit003-qtd_iten IS INITIAL.

              itab_zycit480-vl_unit =

         ( itab_zycit480-vl_base_icms - itab_zycit480-vl_desp_acess ) /

               itab_zycit003-qtd_iten  .

            ENDIF.

            itab_zycit480-vl_nf_transf =

             ( itab_zycit480-vl_base_ipi +  itab_zycit480-vl_ipi ).

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

            READ TABLE itab_ekpa WITH KEY ebeln = itab_zycit003-ebeln.

            IF sy-subrc EQ 0.

              IF itab_zycit480-vl_basred EQ 100 AND

                 itab_zycit480-vl_aliqicms EQ 12.

                SELECT SINGLE * FROM /pws/zycit478

                 WHERE lifnr EQ itab_ekpa-lifn2

                   AND op_icms EQ '1'.

              ELSEIF itab_zycit480-vl_basred < 100 AND

                     itab_zycit480-vl_aliqicms EQ 12.

                SELECT SINGLE * FROM /pws/zycit478

                 WHERE lifnr EQ itab_ekpa-lifn2

                   AND op_icms EQ '2'.

              ELSE.

                SELECT SINGLE * FROM /pws/zycit478

                 WHERE lifnr EQ itab_ekpa-lifn2

                   AND op_icms EQ '3'.

              ENDIF.

* << Fim da exclusão

              itab_zycit480-desconto = itab_zycit480-vl_custo_merc *

                     ( /pws/zycit478-percent / 100 ).

            ENDIF.

            APPEND itab_zycit480.

          ENDIF.

        ENDLOOP.

      ENDIF.

    ELSE.

      IF NOT itab_zycit003[] IS INITIAL.

        SELECT * FROM /pws/zycit480

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT478

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCIT478

DESCRIÇÃO BREVE: CI - Percentual de Desconto Fundap

 

CAMPOS NOVOS

 

CAMPOS:         TP. CAMPO   CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

ALIQICMS        J_1BTXRATE

 

 

 

 

MODIFICAR VISÃO DA TABELA /PWS/ZYCIT478

 

INDICAÇÕES TÉCNICAS PARA DIÁLOGO

 

GRUPO DE AUTORIZAÇÃO: ZYCE

GRUPO DE FUNÇÕES:     /PWS/ZYCIGF1

CL. DESENVOLVIMENTO:  /PWS/ZYCI

 

TELAS DE ATUALIZAÇÃO

 

CTG. ATUALIZAÇÃO:      (x) - NÍVEL ÚNICO

                       (_) - 2 NÍVEIS

Nº TELA AUTORIZAÇÃO:   TELA SÍNTESE:    478

                       TELA INDIVIDUAL: _______

 

INDICAÇÕES PARA TRASNPORTE DE DADOS DE DIÁLOGO

 

ROTINA DE REGISTRO:    (x) - ROTINA REG. STANDARD

                       (_) - ROTINA REG. INDIVIDUAL