Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 16/04/2010 00:00:00
Data/Hora Última Alteração: 29/04/2010 17:08:31
Descrição da Nota: AJUSTADO CALCULO DO VALOR A RECOLHER(ANA)
Sintoma
Ajustado programa para recalcular o valor a recolher ao alterar aliquota do imposto e para manter o
valor a recolher informado quando o imposto não possuir aliquota.
Solução
Ajustado programa para recalcular o valor a recolher ao alterar aliquota do imposto e para manter o
valor a recolher informado quando o imposto não possuir aliquota.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10073 Data: 16/04/2010 Hora: 14:12:17
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10073
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00017
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
10032 - 00001 - CORREÇÃO DO CALCULO DA BASE DOS IMPOSTOS.
----------------------------------------------------------------------------------------------------
Texto Rápido:
AJUSTADO CALCULO DO VALOR A RECOLHER(ANA)
----------------------------------------------------------------------------------------------------
Palavras Chave:
IMPOSTO - VALOR - RECOLHER - TAXA - EXCLUIR - CALCULO - BASE - ANA
/PWS/SAPMZYCI059 - ANA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI059F03
REPS /PWS/MZYCI059I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F03
...
CHECK NOT /pws/zycie085-ukursfob IS INITIAL.
IF itab_zycit029[] IS INITIAL.
SELECT SINGLE land1
FROM t001
INTO t001-land1
WHERE bukrs EQ /pws/zycie085-bukrs.
SELECT * FROM /pws/zycit029 INTO TABLE itab_zycit029
WHERE codmod = 'D' AND
land1 = t001-land1.
ENDIF.
* >> Início da exclusão: FORM CARREGA_TRIBUTOS
IF ok_code EQ 'REFR'
OR NOT v_input IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
IF ok_code EQ 'REFR'.
* << Fim da inclusão
REFRESH: itab_zycit403_t.
itab_zycit403_t[] = itab_zycit403[].
REFRESH itab_zycit403.
CLEAR itab_zycit403.
ENDIF.
* >> Início da exclusão: FORM CARREGA_TRIBUTOS
IF itab_zycit404[] IS INITIAL OR ok_code EQ 'REFR'
OR NOT v_input IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
IF itab_zycit404[] IS INITIAL OR ok_code EQ 'REFR'.
* << Fim da inclusão
IF NOT itab_it[] IS INITIAL.
SELECT nrseq ebeln ebelp doc FROM /pws/zycit082
INTO TABLE itab_zycit082
FOR ALL ENTRIES IN itab_it WHERE
ebeln = itab_it-ebeln AND
ebelp = itab_it-ebelp AND
nrseq = /pws/zycie001-nrseq.
ENDIF.
IF j_1bbranch-bukrs NE /pws/zycie085-bukrs OR
j_1bbranch-branch NE /pws/zycie085-j_1bbranch.
...
...
ENDIF.
ENDIF.
READ TABLE itab_zycit403_t WITH KEY
codigo = itab_zycit403-codigo
ebeln = itab_zycit403-ebeln
ebelp = itab_zycit403-ebelp.
IF sy-subrc EQ 0.
MOVE:
itab_zycit403_t-percentual TO itab_zycit403-percentual,
itab_zycit403_t-condicoes TO itab_zycit403-condicoes,
* >> Início da exclusão: FORM CARREGA_TRIBUTOS
itab_zycit403_t-creditar TO itab_zycit403-creditar.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
itab_zycit403_t-creditar TO itab_zycit403-creditar,
itab_zycit403_t-valorrec TO itab_zycit403-valorrec.
* << Fim da inclusão
ELSE.
MOVE itab_zycit403-advalorem TO itab_zycit403-percentual.
ENDIF.
v_index = v_index + 1.
v_ate = v_ate - 1.
READ TABLE itab_zycit404 INTO itab_zycit404_aux
WITH KEY linha = v_ate.
CLEAR wa_zycit403.
READ TABLE itab_zycit403 INTO wa_zycit403
WITH KEY codigo = itab_zycit404_aux-codigo
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp .
ADD 1 TO v_ate.
* >> Início da exclusão: FORM CARREGA_TRIBUTOS
v_valtot = v_valtot + wa_zycit403-valorcalc.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
v_valtot = v_valtot + wa_zycit403-valorrec.
* << Fim da inclusão
ENDIF.
ENDWHILE.
MOVE: itab_it-nrseqdi TO itab_zycit403-nrseqdi,
itab_it-ebeln TO itab_zycit403-ebeln,
itab_it-ebelp TO itab_zycit403-ebelp,
itab_zycit404-codigo TO itab_zycit403-codigo,
v_valtot TO itab_zycit403-base,
100 TO itab_zycit403-basered.
CLEAR v_valtot.
LOOP AT itab_trib WHERE ebeln = itab_it-ebeln AND
...
...
ENDIF.
ENDIF.
READ TABLE itab_zycit403_t WITH KEY
codigo = itab_zycit403-codigo
ebeln = itab_zycit403-ebeln
ebelp = itab_zycit403-ebelp.
IF sy-subrc EQ 0.
MOVE:
itab_zycit403_t-percentual TO itab_zycit403-percentual,
itab_zycit403_t-condicoes TO itab_zycit403-condicoes,
* >> Início da exclusão: FORM CARREGA_TRIBUTOS
itab_zycit403_t-creditar TO itab_zycit403-creditar.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
itab_zycit403_t-creditar TO itab_zycit403-creditar,
itab_zycit403_t-valorrec TO itab_zycit403-valorrec.
* << Fim da inclusão
ELSE.
MOVE itab_zycit403-advalorem TO itab_zycit403-percentual.
ENDIF.
itab_zycit403-valorcalc =
itab_zycit403-base * itab_zycit403-percentual / 100.
IF itab_zycit403-valorcalc < itab_zycit399-vlmin AND
NOT itab_zycit399-vlmin IS INITIAL.
itab_zycit403-valorcalc = itab_zycit399-vlmin.
ENDIF.
IF itab_zycit403-valorcalc > itab_zycit399-vlmax AND
NOT itab_zycit399-vlmax IS INITIAL.
itab_zycit403-valorcalc = itab_zycit399-vlmax.
ENDIF.
* >> Início da exclusão: FORM CARREGA_TRIBUTOS
IF v_input IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
IF NOT itab_zycit403-percentual IS INITIAL.
* << Fim da inclusão
itab_zycit403-valorrec = itab_zycit403-valorcalc.
ENDIF.
APPEND itab_zycit403.
READ TABLE itab_adic INTO wa_adic
WITH KEY ebeln = itab_it-ebeln
ebelp = itab_it-ebelp
codigo = itab_zycit403-codigo.
IF sy-subrc NE 0.
MOVE: itab_it-ebeln TO wa_adic-ebeln,
itab_it-ebelp TO wa_adic-ebelp,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059I01
...
MODULE carrega_zycit403 INPUT.
* >> Início da inclusão: MODULE CARREGA_ZYCIT403
READ TABLE itab_zycit403_i INDEX tc_trib-current_line.
IF itab_zycit403_i-percentual NE /pws/zycie403-percentual.
IF /pws/zycie403-percentual IS INITIAL AND
itab_zycit403_i-valorrec NE /pws/zycie403-valorrec.
ELSE.
CLEAR: /pws/zycie403-valorrec.
ENDIF.
ENDIF.
* << Fim da inclusão
MOVE: /pws/zycie403-nrseqdi TO itab_zycit403_i-nrseqdi,
/pws/zycie403-ebeln TO itab_zycit403_i-ebeln,
/pws/zycie403-ebelp TO itab_zycit403_i-ebelp,
/pws/zycie403-codigo TO itab_zycit403_i-codigo,
/pws/zycie403-base TO itab_zycit403_i-base,
/pws/zycie403-basered TO itab_zycit403_i-basered,
/pws/zycie403-advalorem TO itab_zycit403_i-advalorem,
/pws/zycie403-percentual TO itab_zycit403_i-percentual,
/pws/zycie403-valorcalc TO itab_zycit403_i-valorcalc,
/pws/zycie403-valorrec TO itab_zycit403_i-valorrec,
...
...
ELSEIF itab_zycit404_aux-codigo EQ 'AJUSTE'.
v_valtot = v_valtot + itab_it-ajuste.
ELSEIF sy-subrc EQ 4.
READ TABLE itab_zycit404 INTO itab_zycit404_aux
WITH KEY linha = v_ate.
CLEAR wa_zycit403.
READ TABLE itab_zycit403_i INTO wa_zycit403
WITH KEY codigo = itab_zycit404_aux-codigo
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp .
* >> Início da exclusão: MODULE REAPURA_IMP
v_valtot = v_valtot + wa_zycit403-valorcalc.
* << Fim da exclusão
* >> Início da inclusão: MODULE REAPURA_IMP
v_valtot = v_valtot + wa_zycit403-valorrec.
* << Fim da inclusão
ENDIF.
v_ate = v_ate + 1.
ENDWHILE.
MOVE: v_valtot TO itab_zycit403_i-base.
CLEAR v_valtot.
LOOP AT itab_trib WHERE ebeln = itab_it-ebeln AND
ebelp = itab_it-ebelp.
IF NOT v_usd IS INITIAL.
IF itab_trib-waers NE wa_zycbt007-waersb.
itab_trib-t_ivdesp = itab_trib-t_ivdesp / v_usd.
...
...
codigo = itab_zycit403_i-codigo.
itab_zycit403_i-valorcalc =
itab_zycit403_i-base * itab_zycit403_i-percentual / 100.
IF itab_zycit403_i-valorcalc < itab_zycit399-vlmin AND
NOT itab_zycit399-vlmin IS INITIAL.
itab_zycit403_i-valorcalc = itab_zycit399-vlmin.
ENDIF.
IF itab_zycit403_i-valorcalc > itab_zycit399-vlmax AND
NOT itab_zycit399-vlmax IS INITIAL.
itab_zycit403_i-valorcalc = itab_zycit399-vlmax.
ENDIF.
* >> Início da inclusão: MODULE REAPURA_IMP
IF itab_zycit403_i-valorrec IS INITIAL.
itab_zycit403_i-valorrec = itab_zycit403_i-valorcalc.
ENDIF.
* << Fim da inclusão
MODIFY itab_zycit403_i INDEX v_index_imp.
READ TABLE itab_zycit403 WITH KEY
codigo = itab_zycit404-codigo
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0 .
MOVE itab_zycit403_i TO itab_zycit403.
MODIFY itab_zycit403 INDEX sy-tabix.
ENDIF.
...