Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 02/02/2009 00:00:00
Data/Hora Última Alteração: 09/03/2010 16:16:17
Descrição da Nota: PARAMETRIZADO LEI 102 E SISTEMA LEVA VALOR DE ICMS NO CUSTO.
Sintoma
Mesmo parametrizando a lei 102 com crédito em 24 vezes o sistema leva o valor do icms para a coluna
movimentado, ocasionando erro no clearing.
Solução
Verificar quando é 24, 48 e sem parâmetro.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07994 Data: 02/02/2009 Hora: 15:33:23
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07994
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00008
Agrupamento : 00084
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
PARAMETRIZADO LEI 102 E SISTEMA LEVA VALOR DE ICMS NO CUSTO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
LEI 102 - PARÂMETRO - ICMS - COLUMA MOVIMENTADO - CUSTO EFETIVO.
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F01
REPS /PWS/MZYCI010F03
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI017F01
REPS /PWS/MZYCI029F01
REPS /PWS/ZYCIR006
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F01
...
tpnf = itab_zycit042-tpnf.
ENDIF.
CLEAR itab_zycit029.
READ TABLE itab_zycit029 WITH KEY
codigo = itab_zycit036_aux2-codigo.
CLEAR v_descon.
IF itab_zycit029-estatistico EQ 'X'.
v_descon = 'S'.
ELSEIF ( ( itab_zycit033-tribicms EQ '1' OR
( itab_zycit033-tribicms EQ '3' AND
* >> Início da exclusão: FORM CUSTEAR_ITENS
itab_zycit033-lei102 EQ 'X' ) ) AND
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_ITENS
( itab_zycit033-lei102 EQ 'X' or
itab_zycit033-lei102 EQ 'Y' ) ) ) AND
* << Fim da inclusão
itab_zycit036_aux2-codigo EQ 'ICMS' ).
v_descon = 'S'.
ELSEIF itab_zycit033-tribipi EQ '1' AND
itab_zycit036_aux2-codigo EQ 'IPI'.
v_descon = 'S'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
LOOP AT itab_zycit036_aux WHERE nrseq = itab_zycit042-nrseq
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq
ebeln = itab_zycit036_aux-ebeln
ebelp = itab_zycit036_aux-ebelp.
IF itab_zycit036_aux-codigo EQ 'ICMS'.
IF ( itab_zycit033-tribicms EQ '1' ) OR
( itab_zycit033-tribicms EQ '3' AND
* >> Início da exclusão: FORM RETIRA_IMPOSTO
itab_zycit033-lei102 EQ 'X' ) OR
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
( itab_zycit033-lei102 EQ 'X' OR
itab_zycit033-lei102 EQ 'Y' ) ) OR
* << Fim da inclusão
itab_zycit100-icms_dif EQ 'X'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
...
...
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq
ebeln = itab_zycit036_aux-ebeln
ebelp = itab_zycit036_aux-ebelp.
IF itab_zycit036_aux-codigo EQ 'ICMS'.
IF ( itab_zycit033-tribicms EQ '1' ) OR
( itab_zycit033-tribicms EQ '3' AND
* >> Início da exclusão: FORM RETIRA_IMPOSTO
itab_zycit033-lei102 EQ 'X' ) OR
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
( itab_zycit033-lei102 EQ 'X' or
itab_zycit033-lei102 EQ 'Y' ) ) OR
* << Fim da inclusão
itab_zycit100-icms_dif EQ 'X'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
itab_zycbt035-wrbtr = j_1bnfstx-taxval.
APPEND itab_zycbt035.
CLEAR itab_zycbt012.
WHEN 3.
* >> Início da exclusão: FORM LANCAMENTOS
IF itab_zycit033-lei102 = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTOS
IF ( itab_zycit033-lei102 = 'X' OR
itab_zycit033-lei102 = 'Y' ).
* << Fim da inclusão
CLEAR itab_zycbt012.
itab_zycbt035-bschl = '40'.
itab_zycbt035-d_gsber = /pws/zycie003-gsber.
READ TABLE itab_zycbt012 WITH KEY codeven = v_codeven
chlanc = 'D'
codaux = '3X'.
...
...
READ TABLE itab_global INDEX 1.
v_j_1bbranch = itab_global-j_1bbranch.
FREE itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY imposto tribicms matuse bklas d_gsber.
LOOP AT itab_zycbt035_aux.
IF itab_zycbt035_aux-tribicms EQ '3' AND
* >> Início da exclusão: FORM LANCAMENTO_IMPOSTOS
itab_zycbt035_aux-lei102 NE 'X' .
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_IMPOSTOS
( itab_zycbt035_aux-lei102 NE 'X' OR
itab_zycbt035_aux-lei102 NE 'Y' ) .
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.
itab_zycbt035_aux2-imposto = itab_zycbt035_aux-imposto.
itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.
IF itab_zycbt035_aux-bklas IS INITIAL.
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse.
ELSE.
itab_zycbt035_aux2-bklas = itab_zycbt035_aux-bklas.
ENDIF.
itab_zycbt035_aux2-d_gsber = itab_zycbt035_aux-d_gsber.
...
...
FREE itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY imposto tribicms matuse d_gsber.
LOOP AT itab_zycbt035_aux.
IF itab_zycbt035_aux-tribicms EQ '3' AND
* >> Início da exclusão: FORM LANCAMENTO_IMPOSTOS
itab_zycbt035_aux-lei102 NE 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_IMPOSTOS
( itab_zycbt035_aux-lei102 NE 'X' OR
itab_zycbt035_aux-lei102 NE 'Y' ).
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.
itab_zycbt035_aux2-imposto = itab_zycbt035_aux-imposto.
itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse.
...
...
FREE itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY imposto tribicms matuse d_gsber.
LOOP AT itab_zycbt035_aux.
IF itab_zycbt035_aux-tribicms EQ '3' AND
* >> Início da exclusão: FORM LANCAMENTO_IMPOSTOS
itab_zycbt035_aux-lei102 EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_IMPOSTOS
( itab_zycbt035_aux-lei102 EQ 'X' OR
itab_zycbt035_aux-lei102 EQ 'Y' ).
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.
itab_zycbt035_aux2-imposto = itab_zycbt035_aux-imposto.
itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse.
itab_zycbt035_aux2-d_gsber = itab_zycbt035_aux-d_gsber.
itab_zycbt035_aux2-wrbtr = itab_zycbt035_aux-wrbtr.
COLLECT itab_zycbt035_aux2.
ENDIF.
ENDLOOP.
...
...
LOOP AT itab_zycbt035.
v_index = sy-tabix.
IF itab_zycbt035-bschl EQ '50'.
IF itab_zycbt035-tribicms EQ '3' AND
* >> Início da exclusão: FORM GET_PARAMETERS_F-02
itab_zycbt035-lei102 NE 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
( itab_zycbt035-lei102 NE 'X' OR
itab_zycbt035-lei102 NE 'Y' ).
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035-imposto EQ itab_j_1baj-taxtyp.
...
...
ENDIF.
ENDIF.
ENDLOOP.
ELSEIF itab_zycbt035-tribicms EQ '3' AND
* >> Início da exclusão: FORM GET_PARAMETERS_F-02
itab_zycbt035-lei102 EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
( itab_zycbt035-lei102 EQ 'X' or
itab_zycbt035-lei102 EQ 'Y' ).
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035-imposto EQ itab_j_1baj-taxtyp.
CLEAR v_codaux.
CONCATENATE itab_zycbt035-tribicms
itab_zycbt035-lei102 INTO v_codaux.
...
...
PERFORM verify_null_field USING itab_zycbt035-d_newko 'D_NEWKO'
text-021.
ELSEIF itab_zycbt035-bschl EQ '40'.
IF itab_zycbt035-tribicms EQ '3' AND
* >> Início da exclusão: FORM GET_PARAMETERS_F-02
itab_zycbt035-lei102 NE 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
( itab_zycbt035-lei102 NE 'X' or
itab_zycbt035-lei102 NE 'Y' ) .
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035-imposto EQ itab_j_1baj-taxtyp.
IF NOT itab_zycbt035-matuse IS INITIAL.
CLEAR itab_cta. REFRESH itab_cta.
...
...
ENDIF.
ENDLOOP.
ELSEIF itab_zycbt035-tribicms EQ '3' AND
* >> Início da exclusão: FORM GET_PARAMETERS_F-02
itab_zycbt035-lei102 EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
( itab_zycbt035-lei102 EQ 'X' or
itab_zycbt035-lei102 EQ 'Y' ) .
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035-imposto EQ itab_j_1baj-taxtyp.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
IF itab_zycit036_aux2-codigo EQ 'ICMS'.
IF ( itab_zycit033-tribicms EQ '1' ) OR
( itab_zycit033-tribicms EQ '3' AND
* >> Início da exclusão: FORM GET_PARAMETERS_MRM1_RECEB
itab_zycit033-lei102 EQ 'X' ) OR
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PARAMETERS_MRM1_RECEB
( itab_zycit033-lei102 EQ 'X' or
itab_zycit033-lei102 EQ 'Y' ) ) OR
* << Fim da inclusão
itab_zycit100-icms_dif EQ 'X'.
DELETE itab_zycit036_aux2.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI029F01
...
ENDIF.
CLEAR itab_zycbt012.
PERFORM adiciona_outros_impostos.
WHEN 3.
* >> Início da exclusão: FORM LANCAMENTOS
IF itab_zycit033-lei102 = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTOS
IF ( itab_zycit033-lei102 = 'X' OR
itab_zycit033-lei102 EQ 'Y' ) .
* << Fim da inclusão
CLEAR itab_zycbt012.
itab_zycbt035_a-bschl = '40'.
itab_zycbt035_a-d_gsber = itab_zycit003-gsber.
v_codaux = '3X'.
CLEAR itab_cta. REFRESH itab_cta.
PERFORM seek_account_number
TABLES itab_cta
USING /pws/zycie041a-bukrs
'ICR'
itab_zycit003-werks
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
IF sy-subrc NE 0.
READ TABLE itab_zycit033 WITH KEY clnf = v_clnf
tpnf = itab_itens_nf-tpnf.
ENDIF.
LOOP AT itab_zycit036 WHERE nrseq = itab_itens_nf-nrseq
AND ebeln = itab_itens_nf-ebeln
AND ebelp = itab_itens_nf-ebelp.
IF itab_zycit036-codigo EQ 'ICMS'.
IF ( itab_zycit033-tribicms EQ '1' ) OR
( itab_zycit033-tribicms EQ '3' AND
* >> Início da exclusão: FORM DESCONSIDERA_DESP_EST
itab_zycit033-lei102 EQ 'X' ).
* << Fim da exclusão
* >> Início da inclusão: FORM DESCONSIDERA_DESP_EST
( itab_zycit033-lei102 EQ 'X' or
itab_zycit033-lei102 EQ 'Y' ) ).
* << Fim da inclusão
DELETE itab_zycit036.
ENDIF.
ELSEIF itab_zycit036-codigo EQ 'IPI'.
IF ( itab_zycit033-tribipi EQ '1' ).
...