‎2005 Dec 09 2:42 PM
Hi,
Is there any function in abap to get a menu path
(File->open)in a particular screen,given the fcode.
thanx
‎2005 Dec 09 2:46 PM
‎2005 Dec 09 2:48 PM
Hi Kaushik!
Not directly - and I never found a transaction, where only one menue-path exists, there were always several hits.
But maybe you want to put parts of the following coding into a own FM:
TEXT_UPPER_CASE = TEXT.
TRANSLATE TEXT_UPPER_CASE TO UPPER CASE.
select * from smensapnew into table i_smensapnew.
select * from smensapt into table i_smensapt where spras = sy-langu.
DESCRIBE TABLE I_SMENSAPNEW LINES LIN.
IF LIN = 0.
MESSAGE S265(SF).
ENDIF.
SORT I_SMENSAPT BY OBJECT_ID.
SORT I_SMENSAPNEW BY OBJECT_ID.
LOOP AT I_SMENSAPNEW.
CLEAR SWITCH.
IF I_SMENSAPNEW-REPORT = TEXT
OR I_SMENSAPNEW-REPORT = TEXT_UPPER_CASE.
SWITCH = 'X'.
ENDIF.
READ TABLE I_SMENSAPT WITH KEY OBJECT_ID = I_SMENSAPNEW-OBJECT_ID
BINARY SEARCH.
IF SY-SUBRC NE 0.
I_SMENSAPT-TEXT = '???'.
ENDIF.
SEARCH I_SMENSAPT-TEXT FOR TEXT.
IF SY-SUBRC = 0.
SWITCH = 'X'.
ENDIF.
IF SWITCH = ' '. CONTINUE. EXIT. ENDIF.
READ TABLE I_SMENSAPT WITH KEY OBJECT_ID = I_SMENSAPNEW-OBJECT_ID
BINARY SEARCH.
IF SY-SUBRC NE 0.
I_SMENSAPT-TEXT = '???'.
ENDIF.
WRITE: / TEXT-015, AT 20 I_SMENSAPNEW-REPORT(20),
AT 40 I_SMENSAPT-TEXT(40).
FORMAT INTENSIFIED OFF.
DO.
READ TABLE I_SMENSAPNEW WITH KEY OBJECT_ID = I_SMENSAPNEW-PARENT_ID
BINARY SEARCH.
IF SY-SUBRC NE 0. EXIT. ENDIF.
IF SY-SUBRC EQ 0.
READ TABLE I_SMENSAPT WITH KEY OBJECT_ID = I_SMENSAPNEW-OBJECT_ID
BINARY SEARCH.
ELSE.
I_SMENSAPT-TEXT = '???'.
ENDIF.
IF I_SMENSAPNEW-REPORTTYPE = SPACE.
CLEAR I_SMENSAPNEW-REPORT.
ENDIF.
WRITE: / TEXT-016, AT 20 I_SMENSAPNEW-REPORT(20),
AT 40 I_SMENSAPT-TEXT(40).
ENDDO.
FORMAT INTENSIFIED ON.
ULINE.
ENDLOOP.
Regards,
Christian
‎2005 Dec 09 2:50 PM
Hi kaushik,
try this out.
The function CACS_APPL_GET_SET must be called to determine the current application.
If you want to check several InfoSets in a single step, got to the initial screen of the InfoSets component, select the InfoSets that you want to check, and choose the menu path Goto -> More Functions -> Check and Generate.
Hope this helps u,
Regards,
Nagarajan.
‎2005 Dec 09 2:51 PM
You can use transactions...
search_sap_menu
search_user_menu
This will show the menu access sequence for the transaction.
‎2005 Dec 09 3:45 PM
Hi,
Actually,For any given abap screen with a pftstatus,by
mentioning the function code,i need to get the menupath.
thanx
‎2005 Dec 09 5:13 PM
PF-STATUS for a particular screen of a program is a runtime attribute. You will be able to assign some pf-status, enable or disable some function keys during runtime. I don't think you can get that information anywhere. Try these function modules: RS_CUA_ACTIVE_FUNCTION_DIALOG
RS_CUA_GET_STATUS_FUNCTIONS
RS_CUA_GET_FUNCTIONS
Srinivas
‎2005 Dec 09 8:42 PM
Hi Kaushik!
Are you mixing up function code and transaction code?
In status of screen function codes are defined - but they are not linked to a menu (EXIT, BACK, CANC,...).
Transaction codes can be part of several menues (MM01, WB01, ...), but seldem they are part of screen status.
What's your need?
Regards,
Christian