Módulo: DRAWBACK
Funcionalidade: Parâmetros
Data/Hora da Publicação: 01/12/2005 00:00:00
Data/Hora Última Alteração: 17/02/2011 13:03:23
Descrição da Nota: NCM COM 8 DÍGITOS.
Sintoma
Precisamos efetuar um desenvolvimento adicional específico, numa funcionalidade já existente em
parâmetros, /PWS/ZYCI062 - Gerenciamento de Lista Técnica por Agrupamento, para efetuar tratamento
de NCM com 8 dígitos.
Solução
Inserir chamada de exit no programa /PWS/SAPMZYCI062.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00379 Data: 01/12/2005 Hora: 17:12:35
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00379
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00020
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
Texto Rápido:
NCM COM 8 DÍGITOS.
----------------------------------------------------------------------------------------------------
Palavras Chave:
NCM - PARÂMETROS - DRAWBACK
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI062 0100
DYNP /PWS/SAPMZYCI062 0104
PROG /PWS/MZYCI061X01
PROG /PWS/MZYCI062X01
REPS /PWS/MZYCI062F01
REPS /PWS/MZYCI062I01
REPS /PWS/MZYCI062O01
REPS /PWS/MZYCI062TOP
REPS /PWS/SAPMZYCI062
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI062 0100
process before output.
* PBO FLOW LOGIC FOR TABSTRIP 'TS_CADASTRO'
module ts_cadastro_active_tab_set.
call subscreen ts_cadastro_sca
including g_ts_cadastro-prog g_ts_cadastro-subscreen.
module status_0100.
*<<Início inclusão
module exit_tela.
*<<Fim inclusão
process after input.
* PAI FLOW LOGIC FOR TABSTRIP 'TS_CADASTRO'
call subscreen ts_cadastro_sca.
module ts_cadastro_active_tab_get.
module user_command_0100.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI062 0104
process before output.
module status_0104.
module carrega_cabec_0104.
module carrega_ltitem.
*<<Início inclusão
module exit_tela.
*<<Fim inclusão
loop at itab_ltitem with control tc_ltitem
cursor tc_ltitem-current_line.
endloop.
process after input.
loop at itab_ltitem.
chain.
field: itab_ltitem-mark,
itab_ltitem-posnr,
itab_ltitem-idnrk,
itab_ltitem-menge,
itab_ltitem-meins,
itab_ltitem-datuv,
itab_ltitem-datub.
module validar_ltitem.
module atualiza_itab_ltitem on chain-request.
endchain.
endloop.
module user_command_0104.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em PROG /PWS/MZYCI062X01
*----------------------------------------------------------------------*
* INCLUDE /PWS/MZYCI061X01 *
*----------------------------------------------------------------------*
* Include para declarações de Tabelas e/ou variáveis de exits
* Ao utilizar esse programa é necessário muito cuidado, pois ao alterar
* qq. dado dentro desso include, ira refletir no programa Standard
* automaticamente
*----------------------------------------------------------------------*
data: begin of common part a.
*Controles
*** Table Strip ***
* FUNCTION CODES FOR TABSTRIP 'TS_CADASTRO'
constants: begin of c_ts_cadastro,
tab1 like sy-ucomm value 'TS_CADASTRO_FC1',
tab2 like sy-ucomm value 'TS_CADASTRO_FC2',
tab3 like sy-ucomm value 'TS_CADASTRO_FC3',
tab4 like sy-ucomm value 'TS_CADASTRO_FC4',
end of c_ts_cadastro.
* DATA FOR TABSTRIP 'TS_CADASTRO'
*controls: ts_cadastro type tabstrip.
*Chamado 270208 inicio
data: begin of g_ts_cadastro,
subscreen like sy-dynnr,
prog like sy-repid value '/PWS/SAPMZYCI062',
pressed_tab like sy-ucomm value c_ts_cadastro-tab1,
end of g_ts_cadastro.
* Chamado 270208 fim
* Tabelas Internas
data: begin of itab_zycit423 occurs 0.
include structure /pws/zycit423.
data mark.
data: end of itab_zycit423.
data: begin of itab_zycit423_save occurs 0.
include structure /pws/zycit423.
data mark.
data: end of itab_zycit423_save.
data: begin of itab_zycit423_aux occurs 0.
include structure /pws/zycit423.
data: end of itab_zycit423_aux.
*Variáveis.
DATA: e_subrc LIKE sy-subrc ,
e_exec_okcode ,
ok_code like sy-ucomm.
data: end of common part.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI062F01
...
move itab_agrup-AGRUP to /PWS/ZYCIT421-AGRUP.
refresh ITAB_LTCAB.
refresh: itab_ltitem.
call screen '0104'.
endform.
* >> Início da inclusão:
FORM verifica_exit USING p_modulo
p_func
p_exit.
CLEAR itab_zyglt100.
REFRESH itab_zyglt100.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = p_modulo
i_func = p_func
i_zexit = p_exit
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI062I01
module user_command_0100 input.
* >> Início da exclusão: MODULE USER_COMMAND_0100
case sy-ucomm.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0100
CLEAR: r_okcode, e_exec_okcode.
CALL METHOD cl_gui_cfw=>dispatch.
IF NOT r_okcode IS INITIAL.
ok_code = r_okcode.
ENDIF.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI062'
'CGD002'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'CGD002' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) if found.
IF e_subrc NE 0.
EXIT.
ENDIF.
ENDIF.
ENDIF.
IF e_exec_okcode IS INITIAL.
case ok_code.
* << Fim da inclusão
when 'BACK'.
leave to screen 0.
when 'LEAV'.
leave to screen 0.
endcase.
* >> Início da inclusão: MODULE USER_COMMAND_0100
endif.
* << Fim da inclusão
endmodule.
module ts_cadastro_active_tab_get input.
ok_code = sy-ucomm.
read table itab_agrup with key mark = 'X'.
if sy-subrc eq 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI062O01
...
endmodule.
module limpa_423 output.
clear: itab_zycit423.
refresh: itab_zycit423.
endmodule.
* >> Início da inclusão:
MODULE exit_tela OUTPUT.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI062'
'CGD001'.
CLEAR: itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'CGD001' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa).
ENDIF.
ENDIF.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI062TOP
program /pws/sapmzyci062 message-id /pws/zycim.
* >> Início da inclusão:
include: /pws/zygl_bot ,
/pws/mzyci062x01.
* << Fim da inclusão
tables: /pws/zycit419,
/pws/zycit420,
/pws/zycit421,
/pws/zycit422,
/pws/zycit423.
types: begin of tab_type,
fcode like rsmpe-func,
end of tab_type.
* >> Início da exclusão:
constants: begin of c_ts_cadastro,
tab1 like sy-ucomm value 'TS_CADASTRO_FC1',
tab2 like sy-ucomm value 'TS_CADASTRO_FC2',
tab3 like sy-ucomm value 'TS_CADASTRO_FC3',
tab4 like sy-ucomm value 'TS_CADASTRO_FC4',
end of c_ts_cadastro.
* << Fim da exclusão
controls: ts_cadastro type tabstrip.
* >> Início da exclusão:
data: begin of g_ts_cadastro,
subscreen like sy-dynnr,
prog like sy-repid value '/PWS/SAPMZYCI062',
pressed_tab like sy-ucomm value c_ts_cadastro-tab1,
end of g_ts_cadastro.
data: ok_code like sy-ucomm.
* << Fim da exclusão
controls: tc_agrup type tableview using screen 0101,
tc_grupmat type tableview using screen 0102,
tc_ltcab type tableview using screen 0103,
tc_ncm type tableview using screen 0105,
tc_ltitem type tableview using screen 0104.
...
...
data: mark type c.
data: end of itab_grupmat_aux.
data: begin of itab_tvm1 occurs 0.
include structure TVM1.
data: end of itab_TVM1.
* >> Início da exclusão:
data: begin of itab_zycit423 occurs 0.
include structure /pws/zycit423.
data mark.
data: end of itab_zycit423.
data: begin of itab_zycit423_save occurs 0.
include structure /pws/zycit423.
data mark.
data: end of itab_zycit423_save.
data: begin of itab_zycit423_aux occurs 0.
include structure /pws/zycit423.
data: end of itab_zycit423_aux.
* << Fim da exclusão
data: begin of itab_ltcab occurs 0.
include structure /pws/zycit421.
data: mark type c,
descr type /pws/zycit419-descr.
data: end of itab_ltcab.
...
...
include structure /pws/zycit422.
data: end of itab_ltitem_aux.
data: itab_status type standard table of tab_type with
non-unique default key initial size 10,
wa_status type tab_type.
* >> Início da inclusão:
DATA: BEGIN OF itab_zyglt100 OCCURS 10.
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
* << Fim da inclusão
data: v_conitn like /pws/zycit422-posnr,
v_mark ,
v_confirm .
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/SAPMZYCI062
...
INCLUDE /PWS/MZYCI062TOP.
INCLUDE /PWS/MZYCI062O01.
INCLUDE /PWS/MZYCI062I01.
INCLUDE /PWS/MZYCI062F01.
*INCLUDE /PWS/MZYCI062X01.