Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 29/11/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 13:51:19
Descrição da Nota: NECESSÁRIA EXIT AO CALCULAR ICMS
Sintoma
Necessária exit ao calcular icms na DI.
Solução
chamada de exit DI007
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05354 Data: 29/11/2007 Hora: 14:50:02
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05354
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00024
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05131 - 00001 - 7.0 - 00003 - SISTEMA NÃO RESPEITA REDUÇÃO NA BASE DO ICMS, AO INFORMAR A REDUÇ
----------------------------------------------------------------------------------------------------
NECESSÁRIA EXIT AO CALCULAR ICMS
----------------------------------------------------------------------------------------------------
Palavras Chave:
ICMS - CÁLCULO - DI - EXIT
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
v_vlipirec = t_ipirec.
ENDIF.
CLEAR: v_vlpisrec , v_vlcofrec.
IF '56' CA /pws/zycie100a-codregtripiscofi.
v_vlpisrec = a_pisdevi.
v_vlcofrec = a_cofdevi.
ELSE.
v_vlpisrec = t_pis .
v_vlcofrec = t_cofins.
ENDIF.
* >> Início da inclusão: FORM LOAD_IICMS
e_subrc = 0.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI023'
'DI007'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI007' 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 e_subrc EQ 0.
* << 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.
...
...
IF '56' 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 .
ENDIF.
* >> Início da inclusão: FORM LOAD_IICMS
ENDIF.
* << Fim da inclusão
IF '356' CA /pws/zycie100a-codregtriicms .
CLEAR: t_icmsx, t_icms_d2, t_icms.
ENDIF.
itab_it-vlicms = t_icms.
IF p_tipo = 'I' OR p_tipo = 'T' .
s_wicdevi = s_wicdevi + t_icms .
s_wpisreco = s_wpisreco + t_pis .
s_wcofreco = s_wcofreco + t_cofins.
IF NOT /pws/zycie003-nrseqd IS INITIAL OR
NOT v_nratoc IS INITIAL.
...