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.
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 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.
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |