‎2013 Dec 23 5:17 AM
Hi All,
I have to create a "Program to display all the enhancement
implementation in a program"...
input will be the program name & the output will be an ALV containing three fields - Enhancement implementation , type of enhancement , program name...
I have searched for table /FM, but found nothing..
Please share your idea how to do this.
Thank you
‎2013 Dec 23 5:44 AM
Hi Jai,
It might be little bit difficult to find which enhancement you implemented but we can find what and all enhancements are available for that t.code by using the below code.
and just check the below used tables you can get something.
REPORT z_find_userexit NO STANDARD PAGE HEADING.
*& Enter the transaction code that you want to search through in order
*& to find which Standard SAP User Exits exists.
*&
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Tables
*&---------------------------------------------------------------------*
TABLES : tstc, "SAP Transaction Codes
tadir, "Directory of Repository Objects
modsapt, "SAP Enhancements - Short Texts
modact, "Modifications
trdir, "System table TRDIR
tfdir, "Function Module
enlfdir, "Additional Attributes for Function Modules
tstct. "Transaction Code Texts
*&---------------------------------------------------------------------*
*& Variables
*&---------------------------------------------------------------------*
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.
*&---------------------------------------------------------------------*
*& Selection Screen Parameters
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK a01.
*&---------------------------------------------------------------------*
*& Start of main program
*&---------------------------------------------------------------------*
START-OF-SELECTION.
* Validate Transaction Code
SELECT SINGLE * FROM tstc
WHERE tcode EQ p_tcode.
* Find Repository Objects for transaction code
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 = enlfdir-area.
MOVE : tadir-devclass TO v_devclass.
ENDIF.
ENDIF.
* Find SAP Modifactions
SELECT * FROM tadir
INTO TABLE jtab
WHERE pgmid = 'R3TR'
AND object = 'SMOD'
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:/(95) sy-uline.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
WRITE:/(95) sy-uline.
LOOP AT jtab.
SELECT SINGLE * FROM modsapt
WHERE sprsl = sy-langu AND
name = jtab-obj_name.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
WRITE:/1 sy-vline,
2 jtab-obj_name HOTSPOT ON,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
ENDLOOP.
WRITE:/(95) sy-uline.
DESCRIBE TABLE jtab.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'No of Exits:' , sy-tfill.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'No User Exit exists'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'Transaction Code Does Not Exist'.
ENDIF.
* Take the user to SMOD for the Exit that was selected.
AT LINE-SELECTION.
GET CURSOR FIELD field1.
CHECK field1(4) EQ 'JTAB'.
SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
Regards,
Krishna
‎2013 Dec 23 5:48 AM
thanks krishna, but i need to find the implemented enhancement..any idea abut this?
‎2013 Dec 23 5:59 AM
Hi Jay,
SAP has provide a tcode SENH, in which if you wants to know, you have to put the program name,
and it will show you all enhancements.
Please see it once, if it suits your needs.
‎2013 Dec 23 5:55 AM
Hi Jay,
as krishna have sujjested, it is quite tough to find enhancement through program, but
for your insatance, please see this link, it might help you in achieving your goal.
‎2013 Dec 23 6:01 AM
hi,
you can create zfunction module to acheive this. you just follow the link for creation of enhacement implementation
Regards,
gopi
‎2013 Dec 23 6:20 AM
Hi Gopi , thank for trying but that link is not related to my requierment...
‎2013 Dec 23 6:57 AM
Hi Jay dev,
Will SE84 Tcode & then enhancement section will work for you instead of any program?
You will get activated Badi,customer exit, Implementation from this with package.
Check this.
Also check TADIR table.
Thanks
Gourav.
‎2013 Dec 23 7:03 AM
Hi Kumar Gourav Mali, thanks for your reply, but i need a program & i need to find out enhancement implemented for a program , not for a package...
‎2013 Dec 23 7:20 AM
‎2013 Dec 23 7:32 AM
‎2013 Dec 23 9:39 AM
yes i have seen that example but that code is not right, besically it is taking program name or tcode as input but then what they are doing is, they are fetching devclas (package name) & then its showing all the enhancements on that package...but i need to find all the implemented enhancement for that program, not for the package!!!
‎2013 Dec 23 8:56 AM
‎2013 Dec 23 9:12 AM
Hi Jay,
Kumar Gourav has given the clear picture and it suits your requirement. have you checked the below method it will retrieve the enhancement spots and with that you can easily check the implementation. even program is giving the implementations of the program.
your requirement:
1. Identifying the enhancements in a program ( re-use the methods in SENH txn)
2. display available enhancements and implementation for that!
Please debug it !
‎2013 Dec 23 10:11 AM
Transaction SNEH will give all the Enhancement Points list..not Implemented enhancements
‎2013 Dec 23 10:24 AM
Hi @jay dev,
If you scroll down ,then you will see screen with code like this ,
Then if you go to implemented part .example, perform like SAVE_ALL_SELECTIONS ,will find That implemented code in main program > perform save_all_selections > then code.
Is it not useful?
Thanks
Gourav.
‎2013 Dec 23 11:33 AM
‎2013 Dec 27 11:46 AM