Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 10/04/2007 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:07:31
Descrição da Nota: AJUSTE CALCULO DO ICMS RESPEITANDO PARAMETRO DA /PWS/ZYCIT062
Sintoma
O programa do ato concessório não esta respeitando os parametros da tabela /pws/zycit062 para
realizar o calculo do valor de ICMS
Solução
Ajustar o programa para realizar o calculo do ICMS de acordo com os aparametros da tabela
/pws/zycit062.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03422 Data: 10/04/2007 Hora: 16:20:12
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03422
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00161
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02212 - 00001 - 6.0 - 00025 - TRATAMENTO PARA INFORMAR QUAL O LOTE ESTÁ REALIZANDO O LANÇAMENTO
02801 - 00002 - 6.0 - 00026 - CORREÇÃO DO CALCULO DO VALOR DE ICMS NA NACIONALIZAÇÃO E TAXA DE
----------------------------------------------------------------------------------------------------
AJUSTE CALCULO DO ICMS RESPEITANDO PARAMETRO DA /PWS/ZYCIT062
----------------------------------------------------------------------------------------------------
Palavras Chave:
PARAMETRO - CALCULO - ICMS - ATO - CONCESSÓRIO
/PWS/ZYCIT062 - /PWS/SAPMZYCI040
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI040F03
REPS /PWS/MZYCI040I01
REPS /PWS/MZYCI040TOP2
REPS /PWS/SAPMZYCI040
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F03
...
itab_zycit246-juroscof ) / 100.
itab_zycit246-afrmm = 25.
IF NOT itab_zycit246-i_txmoeda IS INITIAL.
/pws/zycie470-afrmm = ( ( itab_zycit246-vlfrete * v_propor )
* ( 25 / 100 ) ) * itab_zycit279_ap-i_txmoeda.
ENDIF.
/pws/zycie470-mafrmm = ( /pws/zycie470-afrmm *
itab_zycit246-multaafrmm ) / 100.
/pws/zycie470-jafrmm = ( /pws/zycie470-afrmm *
itab_zycit246-jurosafrmm ) / 100.
* >> Início da exclusão: FORM ADD_LANCAMENTO_LOTE
v_txic = ( 100 - itab_zycit279_ap-i_txicms ) / 100.
IF v_txic <= 0.
v_txic = 1.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO_LOTE
SELECT SINGLE c~region
FROM ( ( j_1bnfdoc AS a INNER JOIN j_1bbranch AS b ON
a~bukrs = b~bukrs
AND a~branch = b~branch )
INNER JOIN adrc AS c ON
b~adrnr = c~addrnumber )
INTO v_regio
WHERE a~docnum EQ itab_zycit279_ap-docnum.
IF sy-subrc EQ 0 .
SELECT SINGLE * FROM /pws/zycit062
WHERE regio = v_regio.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ADD_LANCAMENTO_LOTE
IF /pws/zycit321-ut_imp EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO_LOTE
IF /pws/zycit062-susp_nf EQ 'S'.
itab_zycit279_ap-baseicms =
( itab_zycit279_ap-baseicms * v_propor ) +
/pws/zycie470-ii + /pws/zycie470-ipi +
/pws/zycie470-pis + /pws/zycie470-cofins.
* << Fim da inclusão
* >> Início da exclusão: FORM ADD_LANCAMENTO_LOTE
/pws/zycie470-icms =
( ( ( itab_zycit279_ap-baseicms * v_propor +
itab_zycit246-vlpis + itab_zycit246-vlcof ) / v_txic ) *
itab_zycit279_ap-i_txicms ) / 100.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO_LOTE
ENDIF.
IF NOT /pws/zycit062-flag_icms IS INITIAL AND
/pws/zycit062-susp_nf EQ 'S'.
itab_zycit246-i_vlicms =
( ( itab_zycit279_ap-baseicms /
( 1 - ( itab_zycit246-i_txicms / 100 ) ) )
* itab_zycit246-i_txicms ) / 100.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM ADD_LANCAMENTO_LOTE
/pws/zycie470-icms =
( ( itab_zycit279_ap-baseicms * v_propor
) * itab_zycit279_ap-i_txicms ) / 100.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO_LOTE
itab_zycit246-i_vlicms =
( itab_zycit279_ap-baseicms
* itab_zycit246-i_txicms ) / 100.
* << Fim da inclusão
ENDIF.
/pws/zycie470-micms =
( /pws/zycie470-icms *
itab_zycit246-multaicms ) / 100.
/pws/zycie470-mii = ( /pws/zycie470-ii *
itab_zycit246-multaii ) / 100.
/pws/zycie470-mipi = ( /pws/zycie470-ipi *
itab_zycit246-multaipi ) / 100.
/pws/zycie470-jii =
( /pws/zycie470-ii * itab_zycit246-i_txselic ) / 100.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040I01
...
* ( 25 / 100 ) ) * itab_zycit246-i_txmoeda.
ENDIF.
itab_zycit246-vmultaafrmm = ( itab_zycit246-vafrmm *
itab_zycit246-multaafrmm ) / 100.
itab_zycit246-vjurosafrmm = ( itab_zycit246-vafrmm *
itab_zycit246-jurosafrmm ) / 100.
v_txic = ( 100 - itab_zycit246-i_txicms ) / 100.
IF v_txic <= 0.
v_txic = 1.
ENDIF.
* >> Início da inclusão: MODULE TRATA_QTDE_NACIONALIZADA
SELECT SINGLE c~region
FROM ( ( j_1bnfdoc AS a INNER JOIN j_1bbranch AS b ON
a~bukrs = b~bukrs
AND a~branch = b~branch )
INNER JOIN adrc AS c ON
b~adrnr = c~addrnumber )
INTO v_regio
WHERE a~docnum EQ itab_zycit246-docnum.
IF sy-subrc EQ 0 .
SELECT SINGLE * FROM /pws/zycit062
WHERE regio = v_regio.
ENDIF.
IF NOT /pws/zycit062-flag_icms IS INITIAL AND
/pws/zycit062-susp_nf EQ 'S'.
itab_zycit279_ap-baseicms =
( itab_zycit279_ap-baseicms * v_propor ) +
itab_zycit246-i_vlii + itab_zycit246-i_vlipi +
itab_zycit246-vlpis + itab_zycit246-vlcof.
* << Fim da inclusão
itab_zycit246-i_vlicms =
* >> Início da exclusão: MODULE TRATA_QTDE_NACIONALIZADA
( ( itab_zycit279_ap-baseicms * v_propor
) * itab_zycit246-i_txicms ) / 100.
* << Fim da exclusão
* >> Início da inclusão: MODULE TRATA_QTDE_NACIONALIZADA
( ( itab_zycit279_ap-baseicms /
( 1 - ( itab_zycit246-i_txicms / 100 ) ) )
* itab_zycit246-i_txicms ) / 100.
ELSE.
itab_zycit246-i_vlicms =
( itab_zycit279_ap-baseicms
* itab_zycit246-i_txicms ) / 100.
ENDIF.
* << Fim da inclusão
itab_zycit246-i_multaicms =
( itab_zycit246-i_vlicms *
itab_zycit246-multaicms ) / 100.
itab_zycit246-i_tottrib =
itab_zycit246-i_vlii + itab_zycit246-i_vlipi.
itab_zycit246-i_multaii = ( itab_zycit246-i_vlii *
itab_zycit246-multaii ) / 100.
itab_zycit246-i_multaipi = ( itab_zycit246-i_vlipi *
itab_zycit246-multaipi ) / 100.
itab_zycit246-i_jurosii =
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040TOP2
TABLES: ekko ,
t001a ,
t002t ,
t604n ,
marc ,
/pws/zycit001 ,
/pws/zycit003 ,
/pws/zycit085 ,
/pws/zycit100 ,
* >> Início da inclusão:
/pws/zycit062 ,
* << Fim da inclusão
/pws/zycet001 ,
/pws/zycet002 ,
/pws/zycet003 ,
/pws/zycet008 ,
/pws/zycit078 ,
/pws/zycit079 ,
/pws/zycie085 ,
/pws/zycet116 ,
/pws/zycet118 ,
/pws/zycet183 ,
...
...
vltot_brl LIKE /pws/zycie246-vltot,
v_sfob_text(22) ,
v_sfrete_text(22) ,
v_sseg_text(22) ,
v_rfob_text(22) ,
v_rfrete_text(22) ,
v_rseg_text(22) ,
v_txtnetpr(20) ,
v_tsiscomex(4) type c ,
v_ver_alt type c .
* >> Início da inclusão:
DATA: v_regio TYPE adrc-region.
* << Fim da inclusão
DATA: v_meins LIKE mara-meins,
v_gewei LIKE mara-gewei,
v_brgew LIKE mara-brgew,
v_ntgew LIKE mara-ntgew,
v_netpr_t LIKE mbew-stprs,
v_waers LIKE t001-waers,
v_waers_t LIKE t001-waers,
v_matkl LIKE mara-matkl,
v_steuc LIKE marc-steuc,
v_stlan_t LIKE mast-stlan,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/SAPMZYCI040
...
itab_zycit246-juroscof ) / 100.
itab_zycit246-afrmm = 25.
IF NOT itab_zycit246-i_txmoeda IS INITIAL.
/pws/zycie470-afrmm = ( ( itab_zycit246-vlfrete * v_propor )
* ( 25 / 100 ) ) * itab_zycit279_ap-i_txmoeda.
ENDIF.
/pws/zycie470-mafrmm = ( /pws/zycie470-afrmm *
itab_zycit246-multaafrmm ) / 100.
/pws/zycie470-jafrmm = ( /pws/zycie470-afrmm *
itab_zycit246-jurosafrmm ) / 100.
* >> Início da exclusão: FORM ADD_LANCAMENTO
v_txic = ( 100 - itab_zycit279_ap-i_txicms ) / 100.
IF v_txic <= 0.
v_txic = 1.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO
SELECT SINGLE c~region
FROM ( ( j_1bnfdoc AS a INNER JOIN j_1bbranch AS b ON
a~bukrs = b~bukrs
AND a~branch = b~branch )
INNER JOIN adrc AS c ON
b~adrnr = c~addrnumber )
INTO v_regio
WHERE a~docnum EQ itab_zycit279_ap-docnum.
IF sy-subrc EQ 0 .
SELECT SINGLE * FROM /pws/zycit062
WHERE regio = v_regio.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ADD_LANCAMENTO
IF /pws/zycit321-ut_imp EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO
IF /pws/zycit062-susp_nf EQ 'S'.
itab_zycit279_ap-baseicms =
( itab_zycit279_ap-baseicms * v_propor ) +
/pws/zycie470-ii + /pws/zycie470-ipi +
/pws/zycie470-pis + /pws/zycie470-cofins.
* << Fim da inclusão
* >> Início da exclusão: FORM ADD_LANCAMENTO
/pws/zycie470-icms =
( ( ( itab_zycit279_ap-baseicms * v_propor +
itab_zycit246-vlpis + itab_zycit246-vlcof ) / v_txic ) *
itab_zycit279_ap-i_txicms ) / 100.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO
ENDIF.
IF NOT /pws/zycit062-flag_icms IS INITIAL.
itab_zycit246-i_vlicms =
( ( itab_zycit279_ap-baseicms /
( 1 - ( itab_zycit246-i_txicms / 100 ) ) )
* itab_zycit246-i_txicms ) / 100.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM ADD_LANCAMENTO
/pws/zycie470-icms =
( ( itab_zycit279_ap-baseicms * v_propor
) * itab_zycit279_ap-i_txicms ) / 100.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO
itab_zycit246-i_vlicms =
( itab_zycit279_ap-baseicms
* itab_zycit246-i_txicms ) / 100.
* << Fim da inclusão
ENDIF.
/pws/zycie470-micms =
( /pws/zycie470-icms *
itab_zycit246-multaicms ) / 100.
/pws/zycie470-mii = ( /pws/zycie470-ii *
itab_zycit246-multaii ) / 100.
/pws/zycie470-mipi = ( /pws/zycie470-ipi *
itab_zycit246-multaipi ) / 100.
/pws/zycie470-jii =
( /pws/zycie470-ii * itab_zycit246-i_txselic ) / 100.
...
...
itab_zycit246-juroscof ) / 100.
itab_zycit246-afrmm = 25.
IF NOT itab_zycit246-i_txmoeda IS INITIAL.
itab_zycit246-vafrmm = ( ( itab_zycit246-vlfrete * v_propor )
* ( 25 / 100 ) ) * itab_zycit246-i_txmoeda.
ENDIF.
itab_zycit246-vmultaafrmm = ( itab_zycit246-vafrmm *
itab_zycit246-multaafrmm ) / 100.
itab_zycit246-vjurosafrmm = ( itab_zycit246-vafrmm *
itab_zycit246-jurosafrmm ) / 100.
* >> Início da exclusão: FORM ADD_LANCAMENTO
v_txic = ( 100 - itab_zycit246-i_txicms ) / 100.
IF v_txic <= 0.
v_txic = 1.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO
SELECT SINGLE c~region
FROM ( ( j_1bnfdoc AS a INNER JOIN j_1bbranch AS b ON
a~bukrs = b~bukrs
AND a~branch = b~branch )
INNER JOIN adrc AS c ON
b~adrnr = c~addrnumber )
INTO v_regio
WHERE a~docnum EQ itab_zycit246-docnum.
IF sy-subrc EQ 0 .
SELECT SINGLE * FROM /pws/zycit062
WHERE regio = v_regio.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ADD_LANCAMENTO
IF /pws/zycit321-ut_imp EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO
IF /pws/zycit062-susp_nf EQ 'S'.
itab_zycit279_ap-baseicms =
( itab_zycit279_ap-baseicms * v_propor ) +
itab_zycit246-i_vlii + itab_zycit246-i_vlipi +
itab_zycit246-vlpis + itab_zycit246-vlcof.
ENDIF.
IF NOT /pws/zycit062-flag_icms IS INITIAL and
/pws/zycit062-susp_nf eq 'S'.
* << Fim da inclusão
itab_zycit246-i_vlicms =
* >> Início da exclusão: FORM ADD_LANCAMENTO
( ( ( itab_zycit279_ap-baseicms * v_propor +
itab_zycit246-vlpis + itab_zycit246-vlcof ) / v_txic ) *
itab_zycit246-i_txicms ) / 100.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO
( ( itab_zycit279_ap-baseicms /
( 1 - ( itab_zycit246-i_txicms / 100 ) ) )
* itab_zycit246-i_txicms ) / 100.
* << Fim da inclusão
ELSE.
itab_zycit246-i_vlicms =
* >> Início da exclusão: FORM ADD_LANCAMENTO
( ( itab_zycit279_ap-baseicms * v_propor
) * itab_zycit246-i_txicms ) / 100.
* << Fim da exclusão
* >> Início da inclusão: FORM ADD_LANCAMENTO
( itab_zycit279_ap-baseicms
* itab_zycit246-i_txicms ) / 100.
* << Fim da inclusão
ENDIF.
itab_zycit246-i_multaicms =
( itab_zycit246-i_vlicms *
itab_zycit246-multaicms ) / 100.
itab_zycit246-i_tottrib =
itab_zycit246-i_vlii + itab_zycit246-i_vlipi.
itab_zycit246-i_multaii = ( itab_zycit246-i_vlii *
itab_zycit246-multaii ) / 100.
itab_zycit246-i_multaipi = ( itab_zycit246-i_vlipi *
itab_zycit246-multaipi ) / 100.
...