‎2008 Aug 11 7:38 AM
Hello Freinds,
I am working on authority check object,In some of program there are Dynamic Selection screen so how can I find fields in dynamic selection screen.
Please guide me.........
Thanks,
Amar
‎2008 Aug 11 7:59 AM
Hi Amar,
Yes based on u r requirement simply suprees the wanted fileds in the selection screen oupt event. u can make modifications to the selection screen by making modifications to the screen internal table.
Selection-screen begin of block b1 WITH FRAME NO INTERVALS.
Parameters: s1 radiobutton group g1 user-command u1 default 'X',
p_name(10) MODIF ID M1,
p_email(20) MODIF ID M1,
s2 radiobutton group G1.
Parameters: p_name1(10) MODIF ID M2,
p_fax(10) MODIF ID M2.
Selection-screen end of block b1 .
AT SELECTION-SCREEN OUTPUT.
IF S_BOX = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M3'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ELSE.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF S1 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M2'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF S2 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = 'M2'.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Regards,
Ranveer.
‎2008 Aug 11 7:44 AM
hiii
go fo rthis link
saptechnical.com
tutorials
abap
dynamics screen
demo
http://www.saptechnical.com/Tutorials/ABAP/DynamicSScreen/demo.htm
Edited by: pardeep kumar on Aug 11, 2008 12:14 PM
‎2008 Aug 11 7:59 AM
Hi Amar,
Yes based on u r requirement simply suprees the wanted fileds in the selection screen oupt event. u can make modifications to the selection screen by making modifications to the screen internal table.
Selection-screen begin of block b1 WITH FRAME NO INTERVALS.
Parameters: s1 radiobutton group g1 user-command u1 default 'X',
p_name(10) MODIF ID M1,
p_email(20) MODIF ID M1,
s2 radiobutton group G1.
Parameters: p_name1(10) MODIF ID M2,
p_fax(10) MODIF ID M2.
Selection-screen end of block b1 .
AT SELECTION-SCREEN OUTPUT.
IF S_BOX = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M3'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ELSE.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF S1 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M2'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF S2 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = 'M2'.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Regards,
Ranveer.
‎2008 Aug 12 2:38 PM
Its ok,
But in my program there Dynamic selection screen has used already,For exa. company code is defined by dyanamic selection screen so this field is not defined in program.Now I have to apply authority checks on company code.So how can apply and How will i get this company code field.
Thanks,
Tushar
‎2008 Aug 12 2:54 PM
Hi amar,
The company code must be declared in the program.
Because program wont accept the company code without declaration.
If u r sure it is in dynamic selection screen, just search all the parameter/select-options inside the program.
Then give a authority check.
Regards,
PRem
‎2020 May 11 7:15 PM
REPORT ZSELECTION.
*SELECTION SCREEN FIELDS
TABLES : sscrfields,MARA.
*GLOBAL DECLARATIONS
***********SELECTION-SCREENS**********************
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
*FOR DYNAMIC DISPLAY OF MODULES
PARAMETERS : MATNR RADIOBUTTON GROUP rad USER-COMMAND com DEFAULT 'X', ERSDA RADIOBUTTON GROUP rad,
MTART RADIOBUTTON GROUP rad.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT 2(6) text_001.
PARAMETERS: MATNR TYPE MARA-MATNR MODIF ID mod.
PARAMETERS: ERSDA TYPE MARA-ERSDA MODIF ID rad.
PARAMETERS: MTART TYPE MARA-MTART MODIF ID cad.
AT SELECTION-SCREEN OUTPUT.
*CLICK OF FIRST RADIO BUTTON
IF MATNR = 'X'.
*CODE TO GET DYNAMICS BASED ON THE SELECTED RADIO
LOOP AT SCREEN.
IF screen-group1 = 'MOD'.
screen-intensified = '1'.
screen-active = 1.
screen-display_3d = '1'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'RAD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'CAD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
*CLICK OF SECOND RADIO
IF ERSDA = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'RAD'.
screen-intensified = '1'.
screen-active = 1.
screen-display_3d = '1'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'MOD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'CAD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
*CLICK OF THIRD RADIO
IF MTART = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'RAD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'MOD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'CAD'.
screen-intensified = '1'.
screen-active = 1.
screen-display_3d = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.