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.
8.0
Produto:
Nota
Descrição
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