Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 21/08/2012 09:38:21
Data/Hora Última Alteração: 21/08/2012 09:38:21
Descrição da Nota: INCLUSÃO DO CAMPO ALIQ. REDUZIDA NA PASTA DE ICMS DA DI
Sintoma
Adicionado novo campo "Aliq. Reduzida" na pasta de ICMS da DI e ajustado os programas de DI e o de
Nota Fiscal para tratamento do novo campo.
Solução
Adicionado novo campo "Aliq. Reduzida" na pasta de ICMS da DI e ajustado os programas de DI e o de
Nota Fiscal para tratamento do novo campo.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12443 Data: 17/08/2012 Hora: 10:39:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12443
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00001
Agrupamento : 00125
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07407 - 00001 - 7.0 - 00007 - AO CRIAR NF NÃO CONSIDERA IPI OU ICMS É ISENTO PARA LANÇAR ALÍQUO
10212 - 00002 - 8.0 - 00003 - O VALOR DOS IMPOSTOS ESTÁ ERRADO PARA PROCESSOS DE ADMISSÃO TEMPO
11808 - 00003 - 8.0 - 00010 - DIFERENÇA DE CENTAVOS ENTRE A BASE DE ICMS E O TOTAL DA NOTA FISC
12123 - 00004 - 8.0 - 00011 - CORREÇÃO E ABERTURA DE EXIT PARA TRATAMENTO DE FUNDAP.
----------------------------------------------------------------------------------------------------
INCLUSÃO DO CAMPO ALIQ. REDUZIDA NA PASTA DE ICMS DA DI
----------------------------------------------------------------------------------------------------
Palavras Chave:
DI - ALIQUOTA - REDUZIDA - ICMS - LEGISLAÇÃO - NOTA - FISCAL
/PWS/SAPMZYCI016 - /PWS/SAPMZYCI023 - /PWS/SAPMZYCI029
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI023 0433
FUNC /PWS/ZYCI_AJUSTE_IMP_NF
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI029F01
TABD /PWS/ZYCIE100A
TABD /PWS/ZYCIT100
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI023 0433
INCLUIR CAMPO TEXTO "/PWS/ZYCIE100A-ALIQICMSR"
Comprimento Visível 8
Linha 6
Coluna 22
Formato DEC
Grupo 1 AC
Linhas mínimas 6
Colunas mínimas 2
Texto ____,__V
INCLUIR TEXTO "/PWS/ZYCIE100A-ALIQICMSR"
Comprimento Visível 14
Linha 6
Coluna 3
Formato CHAR
Texto Aliq. Reduzida
Código função
MODIFICAR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE100A-ICMS_DIF"
Linha 7
MODIFICAR TEXTO "TXT_ICMS_DIF"
Linha 7
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0433
...
module: set_screen_padrao.
process after input.
field : /pws/zycie100a-codregtriicms,
/pws/zycie100a-codfunlegicms
module load_fun_icms .
chain.
field: /pws/zycie003-advalicms,
/pws/zycie003-basred ,
/pws/zycie100a-icms_dif,
/pws/zycie100a-codregtriicms,
* >> Início da inclusão:
/pws/zycie100a-aliqicmsr,
* << Fim da inclusão
t_icmsbs_st,
/pws/zycie100a-aliq_icms_st
module calc_vicms on chain-request.
endchain.
module load_fun_icms .
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_AJUSTE_IMP_NF
...
ENDIF.
v_valor_i2 = v_valor_i *
( zycee007-menge / wa_zycit003-qtd_iten ).
IF zycit062-flag_icms = 'X'.
IF zycit100-icms_dif = 'X' OR
zycit003-basred IS INITIAL.
v_basred = 100.
ENDIF.
CLEAR v_advicms.
IF NOT zycit003-advalicms IS INITIAL.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_AJUSTE_IMP_NF
IF NOT zycit100-aliqicmsr IS INITIAL.
* << Fim da inclusão
IF NOT zycit003-basred IS INITIAL OR
NOT zycit003-basred EQ '100'.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_AJUSTE_IMP_NF
v_advicms = ( ( zycit100-aliqicmsr / 100 ) *
( zycit003-basred / 100 ) ) .
ELSE.
v_advicms = ( zycit100-aliqicmsr / 100 ).
ENDIF.
v_basred = ( v_advicms * 10000 / zycit100-aliqicmsr ).
ELSE.
IF NOT zycit003-basred IS INITIAL OR
NOT zycit003-basred EQ '100'.
* << Fim da inclusão
v_advicms = ( ( zycit003-advalicms / 100 ) *
( zycit003-basred / 100 ) ) .
ELSE.
v_advicms = ( zycit003-advalicms / 100 ).
ENDIF.
v_basred = ( v_advicms * 10000 / zycit003-advalicms ).
* >> Início da inclusão: FUNCTION /PWS/ZYCI_AJUSTE_IMP_NF
ENDIF.
* << Fim da inclusão
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
IF /pws/zycit001-tpdecl IS INITIAL.
SELECT SINGLE *
FROM /pws/zycit001
WHERE nrseq EQ itab_zycit042-nrseq.
ENDIF.
IF itab_zycit100-icms_dif = 'X' OR
itab_zycit003-basred IS INITIAL.
itab_zycit003-basred = '100'.
v_basred = itab_zycit003-basred.
ENDIF.
* >> Início da inclusão: FORM ATUALIZA_ICMS_UNITARIO
IF NOT /pws/zycit100-aliqicmsr IS INITIAL.
itab_zycit003-advalicms = /pws/zycit100-aliqicmsr.
ENDIF.
* << Fim da inclusão
CLEAR v_advicms.
IF NOT itab_zycit003-advalicms IS INITIAL.
IF NOT itab_zycit003-basred IS INITIAL OR
NOT itab_zycit003-basred EQ '100'.
v_advicms = ( ( itab_zycit003-advalicms / 100 ) *
( itab_zycit003-basred / 100 ) ) .
ELSE.
v_advicms = ( itab_zycit003-advalicms / 100 ).
ENDIF.
v_basred = ( v_advicms * 10000 / itab_zycit003-advalicms ).
...
...
it_zycee007-cpochv = /pws/zycie041-nfglobal.
it_zycee007-itmtyp = itab_zycit033-tpmat.
READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit042-nrseq
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit042-nrseq
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
* >> Início da inclusão: FORM ITENS_NFNEW
IF NOT itab_zycit100-aliqicmsr IS INITIAL.
itab_zycit003-advalicms = itab_zycit100-aliqicmsr.
ENDIF.
* << Fim da inclusão
IF t001 IS INITIAL OR /pws/zycit000 IS INITIAL.
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie041-bukrs.
SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.
ENDIF.
PERFORM convert_matnr.
IF NOT itab_ekpo-matnr IS INITIAL.
it_zycee007-matnr = v_matnr.
IF /pws/zycit000-flag_matnr IS INITIAL.
SHIFT it_zycee007-matnr LEFT DELETING LEADING '0'.
ENDIF.
...
...
CLEAR: v_impostos.
it_zycee007-itmtyp = itab_zycit033-tpmat.
READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit044-ebeln
ebelp = itab_zycit044-ebelp.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit044-nrseq
ebeln = itab_zycit044-ebeln
ebelp = itab_zycit044-ebelp.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit044-nrseq
ebeln = itab_zycit044-ebeln
ebelp = itab_zycit044-ebelp.
* >> Início da inclusão: FORM ITENS_NFRNEW
IF NOT itab_zycit100-aliqicmsr IS INITIAL.
itab_zycit003-advalicms = itab_zycit100-aliqicmsr.
ENDIF.
* << Fim da inclusão
IF ' 356' NA itab_zycit100-codregtriicms.
it_zycee007-rate = itab_zycit003-advalicms.
ENDIF.
it_zycee007-mfrpn = itab_zycit003-mfrpn .
CONCATENATE itab_zycit044-ebeln '/' itab_zycit044-ebelp
INTO it_zycee007-msg1.
IF t001 IS INITIAL OR /pws/zycit000 IS INITIAL.
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie041-bukrs.
SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.
ENDIF .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
FORM load_iicms USING p_tipo.
* >> Início da inclusão: FORM LOAD_IICMS
DATA v_advalicms TYPE /pws/zycie003-advalicms.
* << Fim da inclusão
...
...
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI023' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF /pws/zycie100a-baseicms LT 0.
CLEAR itab_zycit100-baseicms.
ENDIF.
* >> Início da inclusão: FORM LOAD_IICMS
IF NOT /pws/zycie100a-aliqicmsr IS INITIAL.
IF /pws/zycit062-bs_pis_cof IS INITIAL.
IF NOT /pws/zycie003-basred IS INITIAL AND
NOT /pws/zycie003-basred EQ '100'.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ) *
( /pws/zycie003-basred / 100 ).
IF /pws/zycit062-icms_base_red_ar = 'X'.
v_trunc = v_advicms.
v_advicms = v_trunc.
ENDIF.
ELSE.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ).
ENDIF.
ELSE.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ).
ENDIF.
v_advalicms = /pws/zycie003-advalicms .
/pws/zycie003-advalicms = /pws/zycie100a-aliqicmsr.
ENDIF.
* << Fim da inclusão
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 ) ) .
IF /pws/zycit062-icms_base_red_ar = 'X'.
v_trunc = v_advicms.
v_advicms = v_trunc.
ENDIF.
ENDIF.
...
...
ELSE.
IF '3' CA /pws/zycie100a-codregtriicms .
t_icmsbs_d2 = t_icmsbs =
t_icmsbs - t_icms.
ENDIF.
ENDIF.
ELSE.
t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *
( t_icmsbs ) .
t_icmsbs_d2 = t_icmsbs .
* >> Início da inclusão: FORM LOAD_IICMS
ENDIF.
IF NOT /pws/zycie100a-aliqicmsr IS INITIAL.
/pws/zycie003-advalicms = v_advalicms.
* << Fim da inclusão
ENDIF.
ENDIF.
IF itab_zycit001-regime EQ '05' OR
itab_zycit001-regime EQ '12' .
PERFORM calcula_admtemp .
ENDIF.
itab_it-vlicms = t_icms.
IF '356' CA /pws/zycie100a-codregtriicms .
CLEAR: t_icmsx, t_icms_d2, t_icms.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI029F01
...
it_zycee007-ownpro2 = 'X'.
ENDIF.
READ TABLE itab_zycit100 WITH KEY
nrseq = itab_zycit265_c2-nrseq
ebeln = itab_zycit265_c2-ebeln
ebelp = itab_zycit265_c2-ebelp.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit265_c2-nrseq
ebeln = itab_zycit265_c2-ebeln
ebelp = itab_zycit265_c2-ebelp.
* >> Início da inclusão: FORM ITENS_NFC
IF NOT itab_zycit100-aliqicmsr IS INITIAL.
itab_zycit003-advalicms = itab_zycit100-aliqicmsr.
ENDIF.
* << Fim da inclusão
CLEAR: itab_zycit001, itab_zycit480.
READ TABLE itab_zycit001 WITH KEY
nrseq = itab_zycit265_c2-nrseq.
IF itab_zycit001-modalidade EQ '05'.
READ TABLE itab_zycit480 WITH KEY
nrseq = itab_zycit265_c2-nrseq
ebeln = itab_zycit265_c2-ebeln
ebelp = itab_zycit265_c2-ebelp.
IF sy-subrc EQ 0.
itab_zycit003-advalicms = itab_zycit480-vl_aliqicms.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE100A
Nome de campo Elem.dados Tab.verif. N CtDt Comp.
...
* >> Início da inclusão:
ALIQICMSR J_1BTXRATE DEC 6
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT100
Nome de campo Chv Elem.dados Tab.verif. N CtDt Comp.
...
* >> Início da inclusão:
ALIQICMSR J_1BTXRATE DEC 6
* << Fim da inclusão