Pesquisar User-exits Em Uma Determinada Transação Ou Prog

download Pesquisar User-exits Em Uma Determinada Transação Ou Prog

If you can't read please download the document

description

Pesquisar User-exits Em Uma Determinada Transação Ou Prog

Transcript of Pesquisar User-exits Em Uma Determinada Transação Ou Prog

********** AS AMPLIAES ESTO NA TABELA 'MODSAP' ***********----------------------------------------------------------------------** PROGRAMADOR: FBIO ALESSANDRO COMASSETTO*----------------------------------------------------------------------** PROGRAMA...: ZKBB_PROCURA_EXIT*----------------------------------------------------------------------** DATA.......: 15/02/2001*----------------------------------------------------------------------** OBJETIVO...: PESQUISAR USER-EXITS EM UMA DETERMINADA TRANSAO OU* PROGRAMA. **----------------------------------------------------------------------** PARMETROS.: P_PROG = NOME DO PROGRAMA A SER PESQUISADO* P_TCODE = NOME DA TRANSAO A SER PESQUISADA* OBS.: UM DOS DOIS PARMETROS ACIMA DEVE SER ESPECIFICADO** P_INCL = DETERMINA SE A PESQUISA DEVE LEVAR EM* CONSIDERAO OS INCLUDES.* P_FUNC = DETERMINA SE A PESQUISA DEVE LEVAR EM* CONSIDERAO AS FUNES.* P_SUBMIT= DETERMINA SE A PESQUISA DEVE LEVAR EM* CONSIDERAO DEMAIS PROGRAMAS CHAMADOS POR* SUBMIT.** P_NIVEL = DETERMINA EM AT QUAL NVEL A PESQUISA SER* FEITA DENTRO DOS INCLUDES, FUNES E DEMAIS* PROGRAMAS. NO NVEL 1 SOMENTE SERO LEVADOS* EM CONSIDERAO O PROGRAMA RAIZ. NO NVEL 2* SER FEITA UMA PESQUISA NOS INCLUDES, FUNES* OS QUAIS ESTO NOS INCLUDES, FUNES DO NVEL* 1 E ASSIM SUCESSIVAMENTE.** OBS.: NO PARMETRO P_NIVEL INFORMAR VALORES BAIXO, POIS* QUANTO MAIOR O NMERO, MAIOR A QUANTIDADE DE CDIGO* A SER ANALIZADA*----------------------------------------------------------------------***======================================================================*REPORT ZKBB_PROCURA_EXIT LINE-SIZE 140 NO STANDARD PAGE HEADING.*----------------------------------------------------------------------** CONSTANTS*----------------------------------------------------------------------*CONSTANTS: c_user_exit(22) TYPE c VALUE 'CALL CUSTOMER-FUNCTION', c_funcao_1(13) TYPE c VALUE 'CALLFUNCTION''', c_funcao_2(13) TYPE c VALUE 'CALL FUNCTION', c_include(07) TYPE c VALUE 'INCLUDE', c_submit(06) TYPE c VALUE 'SUBMIT', c_comentario TYPE c VALUE '*', c_ponto TYPE c VALUE '.', c_aspa TYPE c VALUE '''', c_x TYPE c VALUE 'X'.*----------------------------------------------------------------------** TABELAS INTERNAS*----------------------------------------------------------------------*DATA: BEGIN OF ti_programa OCCURS 0, codigo_fonte LIKE rssource-line, END OF ti_programa.DATA: BEGIN OF ti_includes OCCURS 0, nome LIKE sy-repid, nivel(2) TYPE n, END OF ti_includes.DATA: BEGIN OF ti_user_exit OCCURS 0, programa LIKE sy-repid, linha(10) TYPE n, codigo_fonte LIKE rssource-line, nivel(2) TYPE n, END OF ti_user_exit.DATA bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.DATA messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.*----------------------------------------------------------------------** VARIVEIS GLOBAIS*----------------------------------------------------------------------*DATA: vg_caracter TYPE c, vg_palavra(50) TYPE c, vg_inicial LIKE sy-index, vg_conta_aspa TYPE n, vg_pname LIKE tfdir-pname, vg_mensagem(132) TYPE c, vg_texto(50) TYPE c, vg_mode TYPE c VALUE 'N', vg_contador LIKE sy-tfill, vg_nivel(2) TYPE n, vg_ini_contagem TYPE c, " INDICA QUE DEVE SER INICIADA A CONTAGEM vg_conta_espaco TYPE n. " TOTAL DE ESPAOS ( MXIMO 2 )*----------------------------------------------------------------------** PARAMETERS*----------------------------------------------------------------------**- DADOS OBRIGATRIOS.SELECTION-SCREEN BEGIN OF BLOCK bl01 WITH FRAME TITLE text-001 .PARAMETERS: p_prog LIKE sy-repid, p_tcode LIKE sy-tcode.SELECTION-SCREEN SKIP.SELECTION-SCREEN BEGIN OF BLOCK bl01b WITH FRAME TITLE text-003.PARAMETERS p_texto(072) TYPE c.SELECTION-SCREEN END OF BLOCK bl01b.SELECTION-SCREEN BEGIN OF BLOCK bl01c WITH FRAME TITLE text-004.PARAMETERS: p_incl AS CHECKBOX.PARAMETERS: p_func AS CHECKBOX.PARAMETERS: p_submit AS CHECKBOX.PARAMETERS: p_nivel(2) .SELECTION-SCREEN END OF BLOCK bl01c.SELECTION-SCREEN END OF BLOCK bl01.SELECTION-SCREEN BEGIN OF BLOCK bl02 WITH FRAME TITLE text-005 .PARAMETERS: p_break AS CHECKBOX, p_moden RADIOBUTTON GROUP gr1 DEFAULT 'X', p_modee RADIOBUTTON GROUP gr1, p_modea RADIOBUTTON GROUP gr1.SELECTION-SCREEN END OF BLOCK bl02.*----------------------------------------------------------------------** INCIO*----------------------------------------------------------------------*START-OF-SELECTION.*- CONSISTNCIAS DOS PARMETROS. PERFORM consisti_parametros.*- INICIALIZA TABELA. PERFORM inicializa_tabela.*- VERIFICA SE NO PROGRAMA EXISTE ALGUM INCLUDE,FUNO OU SUBMIT. PERFORM verifica_include_funcao_submit. IF p_texto IS INITIAL.*- ANALISA OS INCLUDES E PROCURA POR USER EXIT. PERFORM procura_user_exit. ELSE.*- ANALISA OS INCLUDES E PROCURA PELO TEXTO INFORMADO PERFORM procura_string. ENDIF.*- Estabelece os break-point se desejado IF p_break EQ 'X'. PERFORM estabelece_break_point. ENDIF.*- EXIBE TODAS USER EXIT ENCONTRADAS. PERFORM exibe_user_exit.*----------------------------------------------------------------------** FIM*----------------------------------------------------------------------*END-OF-SELECTION.*&---------------------------------------------------------------------**& Form PROCURA_USER_EXIT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* p1 text* p1 text* p1 text* p1 text* p1 text* p1 text* p1 text*