Fórum ABAP Zombie
Publicado em 19 de julho de 2012 | por Daiane Zigiotto
BADI de,-sai do usuário, aprimoramentos ... como Encontra-los?
Faaaala Zumbizada! ESTOU de Volta nenhuma Modo "zumbi = ON" por Causa fazer o Projeto, testículos Integrados Opaco estao acabando com a Minha Vida (e Opaco Nunca acabam!) Bom, mas Chega de mimimi e Vamos lá! Neste pós Vou FALAR sobre alguns methods parágrafo encontrar Melhorias,-sai de usuários, de BADI e etc Aposto Que ISSO PODE ajudar Muito, principalmente parágrafo OS zumbis Mais novinhos.
NAO, ISSO E UMA Localidade: Não user-exit ...
FUNÇÃO DO CLIENTE CHAMADA
Você. PODE colocar hum BREAK-POINT Comando Nesse, Opaco E USADO parágrafo Chamar-sai como usuário. Ja falamos DELE Aqui no blogue e se Quiser Saber Mais, Clique Aqui .
BADI'S
Método 1: V_EXT_ACT e V_EXT_IMP
A BADI FAZ UMA NAS Seleção Tabelas de visões V_EXT_ACT e V_EXT_IMP. Entao PODEMOS IR na transação ST05 -> Select "SQL trace" e "Tabela buffer de rastreamento" -> Ativar Trace -> Executar uma transação -> Desativar Trace -> Tela Trace.
Ira aparecer um abaixo Tela:
Vamos Select OS seguintes Objetos:
Nenhum Resultado Ira Mostrar Todas final como BADI de na Ordem los Opaco ELAS FORAM executadas:
Método 2: CL_EXITHANDLER => GET_CLASS_NAME_BY_INTERFACE
Na transação SE24, Vamos Select um CL_EXITHANDLER classe, ir par o Método get_instance e colocar hum BREAK-POINT.
Atraves fazer Parâmetro de Exportação EXIT_NAME E Possível sabre o nomo da BADI Que Sera Chamada.
Método 3: FM SXV_GET_CLIF_BY_NAME.
Um Outro Método E colocando hum break point na função SXV_GET_CLIF_BY_NAME, Opaco E Chamada Toda Vez Que alguma BADI E executada.
O Parâmetro de Exportação NOME Ira mostrar o nomo da BADI.
E aí, Achou Difícil, chato, deprimente? Localidade: Não se assuste, Vou mostrar algumas Ferramentas that PODEM facilitar a SUA vida!
A Há sândalo ritmo Atrás precisei encontrar UMA user-exit de UMA transação X, e no Meio de hum fórum não encontrei SCN hum Programa Bastante Útil! Lista Ele. Todas como de UMA transação UO Programa usuário sai-e de Badi.
Abaixo ESTA o Código-Fonte. Nao sei QUEM É O autor e Localidade: Não Será, será Coincidência encontrar ESSE MESMO EM PROGRAMA To Us Link fóruns (e Bem manjado).
Default
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | REPORT z_enhancement_finder NO STANDARD PAGE HEADING LINE-SIZE 201. TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir, sxs_attrt , tstct. DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE. DATA : field1(30). DATA : v_devclass LIKE tadir-devclass. PARAMETERS : p_tcode LIKE tstc-tcode, p_pgmna LIKE tstc-pgmna . DATA wa_tadir TYPE tadir. START-OF-SELECTION. IF NOT p_tcode IS INITIAL. SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode. ELSEIF NOT p_pgmna IS INITIAL. tstc-pgmna = p_pgmna. ENDIF. IF sy-subrc EQ 0. SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'PROG' AND obj_name = tstc-pgmna. MOVE : tadir-devclass TO v_devclass. IF sy-subrc NE 0. SELECT SINGLE * FROM trdir WHERE name = tstc-pgmna. IF trdir-subc EQ 'F'. SELECT SINGLE * FROM tfdir WHERE pname = tstc-pgmna. SELECT SINGLE * FROM enlfdir WHERE funcname = tfdir-funcname. SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'FUGR' AND obj_name EQ enlfdir-area. MOVE : tadir-devclass TO v_devclass. ENDIF. ENDIF. SELECT * FROM tadir INTO TABLE jtab WHERE pgmid = 'R3TR' AND object IN ('SMOD', 'SXSD') AND devclass = v_devclass. SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu AND tcode EQ p_tcode. FORMAT COLOR COL_POSITIVE INTENSIFIED OFF. WRITE:/(19) 'Transaction Code - ', 20(20) p_tcode, 45(50) tstct-ttext. SKIP. IF NOT jtab[] IS INITIAL. WRITE:/(105) sy-uline. FORMAT COLOR COL_HEADING INTENSIFIED ON. * sorting the internal table SORT jtab BY object. DATA : wf_txt(60) TYPE c, wf_smod TYPE i , wf_badi TYPE i , wf_object2(30) TYPE c. CLEAR : wf_smod, wf_badi , wf_object2. *GET the total smod. LOOP AT jtab INTO wa_tadir. AT FIRST. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 sy-vline, 2 'Enhancement/ Business Add-in', 41 sy-vline , 42 'Description', 105 sy-vline. WRITE:/(105) sy-uline. ENDAT. CLEAR wf_txt. AT NEW object. IF wa_tadir-object = 'SMOD'. wf_object2 = 'Enhancement' . ELSEIF wa_tadir-object = 'SXSD'. wf_object2 = ' Business Add-in'. ENDIF. FORMAT COLOR COL_GROUP INTENSIFIED ON. WRITE:/1 sy-vline, 2 wf_object2, 105 sy-vline. ENDAT. CASE wa_tadir-object. WHEN 'SMOD'. wf_smod = wf_smod + 1. SELECT SINGLE modtext INTO wf_txt FROM modsapt WHERE sprsl = sy-langu AND name = wa_tadir-obj_name. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WHEN 'SXSD'. * for badis wf_badi = wf_badi + 1 . SELECT SINGLE text INTO wf_txt FROM sxs_attrt WHERE sprsl = sy-langu AND exit_name = wa_tadir-obj_name. FORMAT COLOR COL_NORMAL INTENSIFIED ON. ENDCASE. WRITE:/1 sy-vline, 2 wa_tadir-obj_name HOTSPOT ON, 41 sy-vline , 42 wf_txt, 105 sy-vline. AT END OF object. WRITE : /(105) sy-uline. ENDAT. ENDLOOP. WRITE:/(105) sy-uline. SKIP. FORMAT COLOR COL_TOTAL INTENSIFIED ON. WRITE:/ 'No.of Exits:' , wf_smod. WRITE:/ 'No.of BADis:' , wf_badi. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(105) 'No userexits or BADis exist'. ENDIF. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(105) 'Transaction does not exist'. ENDIF. AT LINE-SELECTION. DATA : wf_object TYPE tadir-object. CLEAR wf_object. GET CURSOR FIELD field1. CHECK field1(8) EQ 'WA_TADIR'. READ TABLE jtab WITH KEY obj_name = sy-lisel+1(20). MOVE jtab-object TO wf_object. CASE wf_object. WHEN 'SMOD'. SET PARAMETER ID 'MON' FIELD sy-lisel+1(10). CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN. WHEN 'SXSD'. SET PARAMETER ID 'EXN' FIELD sy-lisel+1(20). CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN. ENDCASE. |
Encontrei also ESSE Outro Relatório abaixo. O Código-Fonte ESTA Aqui . Basicamente, a temperatura MESMA functionality, mas eu particularmente Prefiro o anterior.
OUTRAS Ferramentas
SNIF
E voce PODE Estar se perguntando: "Localidade: Não existe nenhum Relatório padrão?".Sim, existe! A SAP disponibiliza o SNIF (ESSE É O Nome do Programa, Nao da transação) Opaco Lista de Todos os Costumer Melhorias Ativos:
ABAP RAIO X DOS OLHOS
Pesquisando hum Pouco Mais encontrei hum "SNIF melhorado", Que inclui algumas opções, Como POR Exemplo, sai parágrafo Validação e Substituição, fórmulas (VOFM), ecrã de saídas e Campo-saídas. ESSE ligação Projeto ESTA DISPONÍVEL Neste:http://code.google.com/p/abapexitrayeye/ e parágrafo implementa-lo Você. precisará USAR o SAP ligação .
AVISO LEGAL
"As informações existentes nesta mensagem e nos arquivos anexados têm caráter confidencial e são para uso restrito. A utilização, divulgação, cópia ou distribuição desta mensagem, ou parte dela, por qualquer pessoa diferente do destinatário é proibida, sujeitando o infrator às sanções legais. Se esta mensagem foi recebida por engano, favor excluí-la e informar ao remetente pelo endereço eletrônico acima. Agradecemos sua cooperação."DISCLAIMER
"This email and its attachments may contain privileged and/or confidential information. Use, disclosure, copying or distribution of this message, or part thereof, by anyone other than the intended recipient is strictly prohibited, and will submit the infractor to the legal sanctions. If you have received this email in error, please notify the sender by reply email and destroy all copies of this message. Thank you for your cooperation."