Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 07/07/2009 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:39:07
Descrição da Nota: VERIFICAÇÃO DE ITENS REALIZADOS ANTES DE DELETAR OS ITENS PROVISIONADOS
Sintoma
1 - O programa permite a exclusão dos itens provisionados (Importação e exportação) mesmo existindo
itens realizados;
2 - O programa não pede confirmação antes de eliminar os itens provisionados;
3 - O programa permite excluir os itens no ato concessório isenção.
Solução
1 - O programa foi ajustado para verificar se existem itens realizados antes de deletar os itens
provisionados;
2 - Foi criada uma tela de confirmação antes da deleção do item;
3 - O botão de deleção foi inibido nos atos concessórios isenção.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08647 Data: 07/07/2009 Hora: 15:47:32
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08647
Categoria : Erro de Programa
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00104
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07165 - 00001 - 7.0 - 00006 - CORREÇÃO NA TRANSFERENCIA DE SALDO DO ATO CONCESSÓRIO
07861 - 00002 - 7.0 - 00008 - INCLUSÃO DE BOTÕES DE ORDENAÇÃO E POSICIONAMENTO NO ATO CONCESSÓR
----------------------------------------------------------------------------------------------------
VERIFICAÇÃO DE ITENS REALIZADOS ANTES DE DELETAR OS ITENS PROVISIONADOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
ATO CONCESSÓRIO IMPORTAÇÃO EXPORTAÇÃO DELETAR ITENS PROVISIONADOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI040F02
REPS /PWS/MZYCI040I01
REPS /PWS/MZYCI040X01
REPT /PWS/SAPMZYCI040
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
MODIFY tc_cimp2-cols FROM wa_cols2.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
IF v_tcode2 EQ '/PWS/ZYCI040_E'.
IF screen-group4 EQ 'BTN'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
* >> Início da inclusão: FORM CHECK_FIELD_0203
ELSE.
IF /pws/zycie244-modalidade EQ 'I'.
IF screen-name EQ 'BTN203_3'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDIF.
CASE screen-name.
WHEN '/PWS/ZYCIE244-T_COMPQTD'.
IF /pws/zycie244-tipo EQ 'G'.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
WHEN '/PWS/ZYCIE244-S_COMPQTD'.
IF /pws/zycie244-tipo EQ 'G'.
screen-invisible = 1.
...
...
IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-UM_NCM'.
wa_cols2-screen-input = 0.
MODIFY tc_mexp2-cols FROM wa_cols2.
ENDIF.
ENDLOOP.
ENDIF.
IF v_tcode2 EQ '/PWS/ZYCI040_E'.
LOOP AT SCREEN.
IF screen-group4 EQ 'BTN'.
screen-invisible = '1'.
* >> Início da inclusão: FORM CHECK_FIELD_0206
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
IF /pws/zycie244-modalidade EQ 'I'.
LOOP AT SCREEN.
IF screen-name EQ 'BTN206_3'.
screen-input = 0.
* << Fim da inclusão
MODIFY SCREEN.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM CHECK_FIELD_0206
ENDIF.
* << Fim da inclusão
ENDIF.
IF /pws/zycie244-status = 'A'.
LOOP AT tc_mexp2-cols INTO wa_exp.
wa_exp-screen-input = 0.
...
...
ENDFORM.
FORM trata_button_exclm_c.
IF pressed_tab_3a NE 'FS_COMPI2'.
EXIT.
ENDIF.
LOOP AT itab_zycit245.
IF itab_zycit245-markci = 'X'.
LOOP AT itab_zycit246_final WHERE nrseqd = itab_zycit245-nrseqd
AND nritem = itab_zycit245-nritem
AND codcomp = itab_zycit245-codcomp.
* >> Início da exclusão: FORM TRATA_BUTTON_EXCLM_C
LOOP AT itab_zycit246 WHERE nrseqd = itab_zycit246_final-nrseqd
AND nritem = itab_zycit246_final-nritem
AND codcomp = itab_zycit246_final-codcomp.
DELETE itab_zycit246.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_C
IF /pws/zycie244-tipo EQ 'F' OR itab_zycit245-nritem > 9000.
MESSAGE e104 WITH text-353 text-351.
EXIT.
ELSE.
MESSAGE e104 WITH text-350 text-351.
EXIT.
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da exclusão: FORM TRATA_BUTTON_EXCLM_C
DELETE itab_zycit246_final.
ENDLOOP.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_C
DATA: v_confirm(1) TYPE c.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = text-039
text_question = text-352
text_button_1 = text-041
text_button_2 = text-042
default_button = '1'
display_cancel_button = 'X'
IMPORTING
answer = v_confirm
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
IF v_confirm EQ '1'.
* << Fim da inclusão
DELETE itab_zycit245t WHERE nrseqd = itab_zycit245-nrseqd
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_C
AND nritem = itab_zycit245-nritem.
DELETE itab_zycit245 WHERE nrseqd = itab_zycit245-nrseqd
* << Fim da inclusão
AND nritem = itab_zycit245-nritem.
* >> Início da exclusão: FORM TRATA_BUTTON_EXCLM_C
DELETE itab_zycit245.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_C
ELSE.
EXIT.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDFORM.
FORM trata_button_mall_m.
IF itab_zycit247[] IS INITIAL.
EXIT.
ENDIF.
IF pressed_tab_4a NE 'FS_MAT2'.
EXIT.
ENDIF.
...
...
ENDIF.
IF pressed_tab_4a NE 'FS_MAT2'.
EXIT.
ENDIF.
LOOP AT itab_zycit247.
itab_zycit247-markme = ' '.
MODIFY itab_zycit247.
ENDLOOP.
ENDFORM.
FORM trata_button_exclm_m.
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_M
DATA: v_confirm(1) TYPE c.
* << Fim da inclusão
IF pressed_tab_4a NE 'FS_MAT2'.
EXIT.
ENDIF.
LOOP AT itab_zycit247.
IF itab_zycit247-markme = 'X'.
* >> Início da exclusão: FORM TRATA_BUTTON_EXCLM_M
IF /pws/zycie244-tipo EQ 'G'.
LOOP AT itab_zycit248_final WHERE nrseqd = itab_zycit247-nrseqd
AND nritem = itab_zycit247-nritem
AND j_1bnbm = itab_zycit247-j_1bnbm.
LOOP AT itab_zycit248 WHERE nrseqd = itab_zycit248_final-nrseqd
AND nritem = itab_zycit248_final-nritem
AND j_1bnbm = itab_zycit248_final-j_1bnbm.
DELETE itab_zycit248.
ENDLOOP.
DELETE itab_zycit248_final.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_M
IF /pws/zycie244-tipo NE 'N'.
SELECT SINGLE * FROM /pws/zycit282
WHERE nrseqd EQ itab_zycit247-nrseqd
AND nritem EQ itab_zycit247-nritem. "#EC CI_NOFIRST
IF sy-subrc EQ 0.
MESSAGE e104 WITH text-349 text-351.
EXIT.
ENDIF.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = text-039
text_question = text-352
text_button_1 = text-041
text_button_2 = text-042
default_button = '1'
display_cancel_button = 'X'
IMPORTING
answer = v_confirm
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
IF v_confirm EQ '1'.
DELETE itab_zycit247.
ELSE.
EXIT.
ENDIF.
v_verificp2 = 'N'.
ELSE.
IF /pws/zycit321-c_comum NE 'X'.
LOOP AT itab_zycit371 WHERE codigo EQ itab_zycit247-mat_int.
MESSAGE e104 WITH text-349 text-351.
EXIT.
* << Fim da inclusão
ENDLOOP.
ELSE.
* >> Início da exclusão: FORM TRATA_BUTTON_EXCLM_M
LOOP AT itab_zycit248_final WHERE nrseqd = itab_zycit247-nrseqd
AND nritem = itab_zycit247-nritem
AND codmat = itab_zycit247-codmat.
LOOP AT itab_zycit248 WHERE nrseqd = itab_zycit248_final-nrseqd
AND nritem = itab_zycit248_final-nritem
AND codmat = itab_zycit248_final-codmat.
DELETE itab_zycit248.
ENDLOOP.
DELETE itab_zycit248_final.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_M
LOOP AT itab_zycit371 WHERE ncm EQ itab_zycit247-j_1bnbm.
MESSAGE e104 WITH text-349 text-351.
EXIT.
* << Fim da inclusão
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_M
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = text-039
text_question = text-352
text_button_1 = text-041
text_button_2 = text-042
default_button = '1'
display_cancel_button = 'X'
IMPORTING
answer = v_confirm
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
IF v_confirm EQ '1'.
* << Fim da inclusão
DELETE itab_zycit247.
* >> Início da exclusão: FORM TRATA_BUTTON_EXCLM_M
v_verificp2 = 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_BUTTON_EXCLM_M
ELSE.
EXIT.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDFORM.
FORM trata_button_excl2.
DATA: v_confirm2(1) TYPE c VALUE 'N',
v_dtato LIKE sy-datum .
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = text-039
text_question = text-043
...
...
v_tabix = sy-tabix.
ENDLOOP.
IF sy-subrc = 0.
tc_realizi-top_line = v_tabix.
nextline = v_tabix.
LEAVE TO SCREEN 0 .
ELSE.
MESSAGE s015 WITH text-346.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM trata_button_exclm_n.
LOOP AT itab_zycit427.
IF itab_zycit427-mark = 'X'.
LOOP AT itab_zycit432 WHERE nrseqd = itab_zycit427-nrseqd
AND item = itab_zycit427-item.
MESSAGE e104 WITH text-353 text-351.
EXIT.
ENDLOOP.
DATA: v_confirm(1) TYPE c.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = text-039
text_question = text-352
text_button_1 = text-041
text_button_2 = text-042
default_button = '1'
display_cancel_button = 'X'
IMPORTING
answer = v_confirm
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
IF v_confirm EQ '1'.
DELETE itab_zycit427.
ELSE.
EXIT.
ENDIF.
v_verificp2_merc ='N'.
ENDIF.
ENDLOOP.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040I01
...
CASE ok_code2.
WHEN 'MALL'.
itab_zycit427-mark = 'X'.
MODIFY itab_zycit427 TRANSPORTING mark
WHERE mark NE 'X'.
WHEN 'DALL'.
CLEAR itab_zycit427-mark.
MODIFY itab_zycit427 TRANSPORTING mark
WHERE mark EQ 'X'.
WHEN 'EXCLM'.
* >> Início da exclusão: MODULE USER_COMMAND_0225
DELETE itab_zycit427 WHERE mark EQ 'X'.
IF sy-subrc EQ '0'.
v_verificp2_merc ='N'.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0225
PERFORM trata_button_exclm_n.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
MODULE user_command_0226 INPUT.
CASE ok_code2.
WHEN 'FS_COMPO3'.
pressed_tab_8a = ok_code2.
dynpronr8a = '0225'.
WHEN 'FS_RESUMERC'.
READ TABLE itab_zycit427 WITH KEY mark = 'X'.
IF sy-subrc EQ 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040X01
TABLES: /pws/zycie244,
t001 ,
/pws/zycit321 ,
/pws/zycie245 ,
/pws/zycie247 ,
/pws/zycie245c,
/pws/zycie245d,
/pws/zycit245 ,
/pws/zycit244.
TABLES /pws/zycie495 .
* >> Início da inclusão:
tables /pws/zycit282.
* << Fim da inclusão
DATA: BEGIN OF COMMON PART a.
DATA: BEGIN OF itab_zycit468 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit468.
DATA: END OF itab_zycit468.
DATA: BEGIN OF itab_zycit246 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit246 .
DATA: mark.
DATA: END OF itab_zycit246 .
DATA: BEGIN OF itab_zycit246_final OCCURS 0.
INCLUDE STRUCTURE /pws/zycit246 .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI040
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 349
Texto: (43 caracteres)
"Existem exportações realizadas para o item."
Comprimento máximo: 43
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 350
Texto: (43 caracteres)
"Existem importações realizadas para o item."
Comprimento máximo: 43
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 351
Texto: (23 caracteres)
"Exclusão não permitida!"
Comprimento máximo: 23
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 352
Texto: (34 caracteres)
"Deseja excluir o item selecionado?"
Comprimento máximo: 34
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 353
Texto: (48 caracteres)
"Existem entradas no mercado interno para o item."
Comprimento máximo: 48