{"id":235,"date":"2013-02-18T15:46:51","date_gmt":"2013-02-18T14:46:51","guid":{"rendered":"http:\/\/oprsteny.cz\/?p=235"},"modified":"2013-11-13T09:44:34","modified_gmt":"2013-11-13T08:44:34","slug":"how-to-find-user-exit-or-badi","status":"publish","type":"post","link":"https:\/\/oprsteny.cz\/?p=235","title":{"rendered":"How to find User exit or BADI"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"358\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=358\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/SAP.jpg\" data-orig-size=\"44,50\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;Picasa&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1365690880&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"SAP\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/SAP.jpg\" class=\"alignleft size-full wp-image-358\" alt=\"SAP\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/SAP.jpg\" width=\"44\" height=\"50\" \/>There are several ways how to find out the correct user exit. In the following article I&#8217;ll show few options how to achieve this kind of task<!--more--><\/p>\n<h1>If you know the exit by name<\/h1>\n<ol>\n<li>Run transaction SE80 and go to the &#8220;Repository Information system&#8221;<\/li>\n<li>Navigate to Enhancements &#8211; Customer Exits &#8211; Enhancements<br \/>\n<a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/USER_EXITS_SE801.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"242\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=242\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/USER_EXITS_SE801.png\" data-orig-size=\"991,633\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Find user exit in SE80\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;User exits in Repository information system&lt;\/p&gt;\n\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/USER_EXITS_SE801.png\" class=\"size-medium wp-image-242\" alt=\"Find user exit in SE80\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/USER_EXITS_SE801-300x191.png\" width=\"300\" height=\"191\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/USER_EXITS_SE801-300x191.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/USER_EXITS_SE801-469x300.png 469w, https:\/\/oprsteny.cz\/wp-content\/uploads\/USER_EXITS_SE801.png 991w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<\/ol>\n<h1>Using FM SXV_GET_CLIF_BY_NAME<\/h1>\n<ol>\n<li>Go to transaction code SE37, enter the following function module name<br \/>\n\u201cSXV_GET_CLIF_BY_NAME\u201d and press Display<\/li>\n<li>Put a break-point on the first executable line<br \/>\n<a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/SXV_GET_CLIF_BY_NAME.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"234\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=234\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/SXV_GET_CLIF_BY_NAME.png\" data-orig-size=\"580,349\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"SXV_GET_CLIF_BY_NAME\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;SXV_GET_CLIF_BY_NAME&lt;\/p&gt;\n\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/SXV_GET_CLIF_BY_NAME.png\" class=\"size-medium wp-image-234\" alt=\"SXV_GET_CLIF_BY_NAME\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/SXV_GET_CLIF_BY_NAME-300x180.png\" width=\"300\" height=\"180\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/SXV_GET_CLIF_BY_NAME-300x180.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/SXV_GET_CLIF_BY_NAME-500x300.png 500w, https:\/\/oprsteny.cz\/wp-content\/uploads\/SXV_GET_CLIF_BY_NAME.png 580w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>Run transaction code (i.e. MIRO) and wait until program stops at the break point that is set in step 2.<\/li>\n<li>Double click on the <em>name<\/em> variable &#8211; it will display the first BADI used (i.e. in MIRO &#8211;\u00a0MRM_TRANSACT_DEFAULT &#8211; BADI name)<br \/>\nUse SE18 to see the BADI attributes.<\/li>\n<li>Press F8 to get more BADI\u2019s used by MIRO in sequence they are called.<\/li>\n<\/ol>\n<h1>Using Class method CL_EXITHANDLER~GET_INSTANCE<\/h1>\n<ol>\n<li><span style=\"line-height: 15px;\" data-mce-mark=\"1\"><span style=\"line-height: 15px;\" data-mce-mark=\"1\">Run transaction code SE24 and open class CL_EXITHANDLER, method GET_INSTANCE<br \/>\n<a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/CL_EXITHANDLER1.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"239\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=239\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/CL_EXITHANDLER1.png\" data-orig-size=\"546,582\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CL_EXITHANDLER\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;CL_EXITHANDLER&lt;\/p&gt;\n\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/CL_EXITHANDLER1.png\" class=\"size-medium wp-image-239\" alt=\"CL_EXITHANDLER\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/CL_EXITHANDLER1-281x300.png\" width=\"281\" height=\"300\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/CL_EXITHANDLER1-281x300.png 281w, https:\/\/oprsteny.cz\/wp-content\/uploads\/CL_EXITHANDLER1.png 546w\" sizes=\"auto, (max-width: 281px) 100vw, 281px\" \/><\/a><\/span><\/span><\/li>\n<\/ol>\n<h1>Breakpoing on ABAP call during debugging<\/h1>\n<ol>\n<li><span style=\"line-height: 15px;\" data-mce-mark=\"1\">Set debugging on by sending &#8220;\/h&#8221; in the command input box<\/span><\/li>\n<li>Start program (i.e. MIRO) where you want to search for a customer user exit<\/li>\n<li>When ABAP debugger is started go to top menu -&gt;\u00a0Breakpoints -&gt;Breakpoint at -&gt; Statement<\/li>\n<li>Enter command &#8220;CALL CUSTOMER-FUNCTION&#8221; and confirm<\/li>\n<li>Press F8 to continue the program &#8211; when CALL CUSTOMER-FUNCTION construct is reached in the code, the ABAP debugger is started and you can read the name of user exit.<br \/>\n<a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit1.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"280\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=280\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit1.png\" data-orig-size=\"716,219\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Find user exit &amp;#8211; menu navigation\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit1.png\" class=\"size-medium wp-image-280 alignnone\" alt=\"Find user exit - menu navigation\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit1-300x91.png\" width=\"300\" height=\"91\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit1-300x91.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit1-500x152.png 500w, https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit1.png 716w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit21.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"282\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=282\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit21.png\" data-orig-size=\"683,178\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Find user exit &amp;#8211; ABAP Command\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit21.png\" class=\" wp-image-282 alignnone\" alt=\"Find user exit - ABAP Command\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit21-300x78.png\" width=\"300\" height=\"78\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit21-300x78.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit21-500x130.png 500w, https:\/\/oprsteny.cz\/wp-content\/uploads\/user_exit21.png 683w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<\/ol>\n<h1>Find all available user exits for a TCode<\/h1>\n<p>If you know the Transaction Code which you&#8217;d like to enhance by implementing user exit code, you can find all available user exits for a specific TCode if you follow my instructions in another post: <a title=\"ABAP \u2013 cool program discovering all user exits for a TCode\" href=\"http:\/\/oprsteny.cz\/?p=792\">Program to discover all user exits for given TCode<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are several ways how to find out the correct user exit. In the following article I&#8217;ll show few options how to achieve this kind of task<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[16,9],"tags":[446,57,17,56],"class_list":["post-235","post","type-post","status-publish","format-standard","hentry","category-abap","category-development","tag-abap","tag-badi","tag-sap","tag-user-exit"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3nYbe-3N","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/posts\/235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=235"}],"version-history":[{"count":11,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/posts\/235\/revisions"}],"predecessor-version":[{"id":802,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/posts\/235\/revisions\/802"}],"wp:attachment":[{"href":"https:\/\/oprsteny.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}