Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 02/08/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 10:12:06
Descrição da Nota: MANTER ALTERAÇÕES DE ALIQUOTA NOS TRIBUTOS DA ANA
Sintoma
Ao clicar no botão atualizar da ANA as alterações realizadas nas aliquotas dos tributo são perdidas.
Solução
Manter o registro da alteração das aliquotas para preencher a tabela interna com as aliquotas
ajustadas.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04330 Data: 02/08/2007 Hora: 11:31:20
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04330
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00002
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
Texto Rápido:
MANTER ALTERAÇÕES DE ALIQUOTA NOS TRIBUTOS DA ANA
----------------------------------------------------------------------------------------------------
Palavras Chave:
TRIBUTOS - ALIQUOTA - ANA - ALTERAÇÕES
/PWS/SAPMZYCI059
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI059F01
REPS /PWS/MZYCI059F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F01
...
DELETE FROM /pws/zycit086 WHERE nrseqdi = /pws/zycie085-nrseqdi.
MODIFY /pws/zycit086 FROM TABLE itab_zycit086.
DELETE FROM /pws/zycit087 WHERE nrseqdi = /pws/zycie085-nrseqdi.
MODIFY /pws/zycit087 FROM TABLE itab_zycit087.
DELETE FROM /pws/zycit096 WHERE nrseqdi = /pws/zycie085-nrseqdi.
MODIFY /pws/zycit096 FROM TABLE itab_zycit096.
DELETE FROM /pws/zycit115 WHERE nrseqdi = /pws/zycie085-nrseqdi.
MODIFY /pws/zycit115 FROM TABLE itab_zycit115.
DELETE FROM /pws/zycit403 WHERE nrseqdi = /pws/zycie085-nrseqdi.
MODIFY /pws/zycit403 FROM TABLE itab_zycit403.
* >> Início da inclusão: FORM SAVE_DATA
REFRESH itab_zycit403a.
MOVE itab_zycit403[] TO itab_zycit403a[].
* << Fim da inclusão
REFRESH: itab_zycit049di2, itab_zycit049di.
LOOP AT itab_zycit049.
MOVE-CORRESPONDING itab_zycit049 TO itab_zycit049di2.
APPEND itab_zycit049di2.
ENDLOOP.
DELETE FROM /pws/zycit049 WHERE nrseq = /pws/zycie085-nrseqdi.
MODIFY /pws/zycit049 FROM TABLE itab_zycit049di2.
DELETE FROM /pws/zycit200 WHERE id = /pws/zycie085-nrseqdi.
MODIFY /pws/zycit200 FROM TABLE itab_zycit200.
DELETE FROM /pws/zycit100 WHERE nrseqdi = /pws/zycie085-nrseqdi.
...
...
CALL METHOD editor2->get_text_as_r3table IMPORTING table = ittxt1[].
CLEAR: itab_zycit200. REFRESH: itab_zycit200.
LOOP AT ittxt1.
WRITE: sy-tabix TO v_tix RIGHT-JUSTIFIED.
itab_zycit200-mandt = sy-mandt.
itab_zycit200-id = /pws/zycie085-nrseqdi.
itab_zycit200-seq = v_tix.
itab_zycit200-linha = ittxt1-line.
APPEND itab_zycit200.
ENDLOOP.
* >> Início da inclusão: FORM VERIFY_CHANGES
SORT itab_zycit403.
SORT itab_zycit403a.
* << Fim da inclusão
IF /pws/zycie085 NE wa_zycit085 OR
itab_zycit049di[] NE itab_zycit049di2[] OR
itab_zycit086[] NE itab_zycit086a[] OR
itab_zycit087[] NE itab_zycit087a[] OR
itab_zycit095[] NE itab_zycit095a[] OR
itab_zycit096[] NE itab_zycit096a[] OR
itab_zycit115[] NE itab_zycit115a[] OR
itab_zycit200[] NE itab_zycit200a[] OR
itab_zycit100[] NE itab_zycit100a[] OR
* >> Início da exclusão: FORM VERIFY_CHANGES
itab_zycit003[] NE itab_zycit003a[].
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFY_CHANGES
itab_zycit003[] NE itab_zycit003a[] OR
itab_zycit403[] NE itab_zycit403a[].
* << Fim da inclusão
IF sy-tcode NE '/PWS/ZYCI059_E' AND v_salvou EQ ' '.
SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycit041 WHERE
nrseq EQ /pws/zycie085-nrseqdi AND
cancel EQ space.
IF sy-subrc EQ 0 AND /pws/zycit041-docnum NE '8888888888'.
MESSAGE i015 WITH text-028.
EXIT.
ELSEIF sy-subrc EQ 0 AND /pws/zycit041-docnum EQ '8888888888'
AND NOT /pws/zycit041-belnr_mr1m IS INITIAL.
MESSAGE i015 WITH text-028.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F03
...
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
i_montante_nao_encontrado = 7
OTHERS = 8.
v_taxa = v_tax.
ENDFORM.
FORM carrega_tributos.
DATA v_first TYPE i.
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
DATA: itab_zycit403_t TYPE /pws/zycit403 OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
IF 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.
IF ok_code EQ 'REFR'.
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
REFRESH: itab_zycit403_t.
itab_zycit403_t[] = itab_zycit403[].
* << Fim da inclusão
REFRESH itab_zycit403.
CLEAR itab_zycit403.
ENDIF.
IF itab_zycit404[] IS INITIAL OR ok_code EQ 'REFR'.
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
...
...
ELSE.
READ TABLE itab_zycit402 WITH KEY
codigo = itab_zycit403-codigo.
IF sy-subrc EQ 0.
MOVE itab_zycit402-aliquota TO itab_zycit403-advalorem.
MOVE itab_zycit402-creditar TO itab_zycit403-creditar.
MOVE itab_zycit402-base TO itab_zycit403-basered.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
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.
ELSE.
* << Fim da inclusão
MOVE itab_zycit403-advalorem TO itab_zycit403-percentual.
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
ENDIF.
* << Fim da inclusão
v_index = v_index + 1.
READ TABLE itab_zycit403 INTO wa_zycit403 INDEX v_index.
v_valtot = v_valtot + wa_zycit403-valorcalc.
ENDIF.
ENDWHILE.
MOVE: itab_it-nrseqdi TO itab_zycit403-nrseqdi,
...
...
ELSE.
READ TABLE itab_zycit402 WITH KEY
codigo = itab_zycit403-codigo.
IF sy-subrc EQ 0.
MOVE itab_zycit402-aliquota TO itab_zycit403-advalorem.
MOVE itab_zycit402-creditar TO itab_zycit403-creditar.
MOVE itab_zycit402-base TO itab_zycit403-basered.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
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.
ELSE.
* << Fim da inclusão
MOVE itab_zycit403-advalorem TO itab_zycit403-percentual.
* >> Início da inclusão: FORM CARREGA_TRIBUTOS
ENDIF.
* << Fim da inclusão
itab_zycit403-valorcalc =
itab_zycit403-base * itab_zycit403-percentual / 100.
itab_zycit403-valorrec = itab_zycit403-valorcalc.
APPEND itab_zycit403.
READ TABLE itab_adic INTO wa_adic
WITH KEY ebeln = itab_it-ebeln
...