Modifying Selection screen dynamically
Hi guyz
herez another question
Can we modify selection-screen dynamically as we do in case of screen
What i want to do is
I want to display one parameter as checkbox and when user ticks this box I want to display another one
If we are defining two checkboxes earlier and making one invisible than can we modify selection screen to display another check box
Thanks in advance
Take a look at this example.
REPORT EVENT_DEMO.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
PARAMETERS: R1 RADIOBUTTON GROUP RAD1 DEFAULT 'X',
R2 RADIOBUTTON GROUP RAD1,
R3 RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
PARAMETERS: R4 RADIOBUTTON GROUP RAD2 DEFAULT 'X',
R5 RADIOBUTTON GROUP RAD2,
R6 RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN END OF BLOCK B2.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP RAD1.
IF R1 = 'X'.
MESSAGE W040(HB).
ENDIF.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP RAD2.
IF R4 = 'X'.
MESSAGE W040(HB).
ENDIF.
Similar Messages
-
Adding fields on selection screen dynamically
Hi all,
Can we add some fields to selection screen dynamically on pushbutton click?
Regards,
Dnyaneshjust have look below code
REPORT zrsdvsr1
LINE-SIZE 220
LINE-COUNT 65(5).
TYPE-POOLS : slis.
TABLES
TABLES: vbak.
DATA DECLARATIONS
Ranges
RANGES: r_posnr FOR vbap-posnr.
DATA: BEGIN OF t_veramt OCCURS 0,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
netwr TYPE vbap-netwr,
mwsbp TYPE vbap-mwsbp,
END OF t_veramt.
DATA: BEGIN OF t_disamt OCCURS 0,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
netwr TYPE vbap-netwr,
mwsbp TYPE vbap-mwsbp,
netwr_v TYPE vbap-netwr,
mwsbp_v TYPE vbap-mwsbp,
disc_val TYPE vbap-mwsbp,
END OF t_disamt.
*& ALV FIELDS
DATA : alv_fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
alv_layout TYPE slis_layout_alv.
SELECTION SCREEN
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_ver RADIOBUTTON GROUP g1 USER-COMMAND rad DEFAULT 'X',
p_sab RADIOBUTTON GROUP g1 .
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln NO INTERVALS MODIF ID gr1.
PARAMETERS: p_dwfile TYPE rlgrap-filename
DEFAULT 'C:\test1.txt' MODIF ID gr2, "#EC NOTEXT
p_upfile TYPE rlgrap-filename
DEFAULT 'C:\test.txt' MODIF ID gr3. "#EC NOTEXT
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_upfile.
**************F4 Help For Input File Name****************************
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'C:\'
IMPORTING
file_name = p_upfile.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dwfile.
**************F4 Help For Input File Name****************************
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'C:\'
IMPORTING
file_name = p_dwfile.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF p_sab = 'X'.
IF screen-group1 = 'GR1' OR screen-group1 = 'GR2'.
screen-active = '0'.
screen-invisible = '1'.
ELSE.
screen-active = '1'.
screen-invisible = '0'.
ENDIF.
MODIFY SCREEN.
ELSE.
IF screen-group1 = 'GR3'.
screen-active = '0'.
screen-invisible = '1'.
ELSE.
screen-active = '1'.
screen-invisible = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
START-OF-SELECTION
START-OF-SELECTION.
Check Radio Button
IF p_ver = 'X'.
PERFORM get_details_open_so_vertex.
ELSE.
PERFORM get_details_open_so.
ENDIF.
Display the output.
PERFORM diplay_report .
regards
vinod -
How to create the selection screen dynamically
Hi,
I have a requirement to create the selection screen Dynamically. All the fields that should appear on the selection screen will be available in a custom table. So, based on the entries available in the Z tables, the selection screen should be built. Eg. If there are 10 records available in the Z table, the selection screen should consist of 10 fields. If there are 100 entries, the Selection screen should contain 100 fields. and the logic to build this selection screen should be carried out dynamically in the program.
Could anyone of you please share the valuable inputs on this. If anyone has the sample code to do this, please share.
Thanks in advance.
Regards,
Paddu.Hi,
Kindly go through this sample program below:
DEMO_LIST_FORMAT_INPUT *and
check this function module:
FREE_SELECTIONS_DIALOG *.
Hope it helps
Regards
Mansi -
hi friends,
I am trying to modify selection-screen.
I want select-option to get disabled when i check one checkbox.I am using SCREEN table for this purpose.
But on selection-screen when i check checkbox select-option is not getting disabled at that time . it happens only when i press ENTER.
Plz anybody tell me how can i disable SO only by checking the checkbox.
<REMOVED BY MODERATOR>
SM.
Edited by: Alvaro Tejada Galindo on Mar 18, 2008 6:47 PMTry This,
TABLES:
vbak.
SELECT-OPTIONS:
so_vbeln FOR vbak-vbeln MODIF ID a.
PARAMETERS: p_acta TYPE checkbox USER-COMMAND act DEFAULT 'X'.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF p_acta = ' '.
IF screen-group1 = 'A'.
screen-active = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Edited by: Rengith Skariah on Mar 18, 2008 1:44 PM
Edited by: Rengith Skariah on Mar 18, 2008 1:46 PM -
Selection-screen dynamic selections for dtab
Hey experts,
when I add this to my code
selection-screen dynamic selections for zbr_t_autori
and I want activate it, it writes out an error
The addition "DYNAMIC_SELECTIONS" is only allowed in INCLUDE DB__SSEL.
and I don't know how to solve it, what is that include db__ssel?
Can anybody help me.
Regards,
RobertCheck this:
Structure of Logical Databases - ABAP Programming (BC-ABA) - SAP Library
Where are you using this code?
selection-screen dynamic selections for zbr_t_autori
It should be in the include reserved for your LDB selection: -
Modifying the selection screen dynamically
Hey folks,
I have posted this question previously but no one understood the real problem.
I have 4 fields
Company Code
material Number
plant
storage Location
Unit
when I select the company code AA01 from the F4 help I want to disable material number and Plant ..Like this i have 4 scenarios where based upon the input given in the selection screen other fields have to be enabled or disabled.
I have already used at selection screen on output but that doesn't help me as its a PBO event I tried to search for a proper event but cudn't find it. Is there any way i can achieve this. A sample code wud be easy for me to understand .
Thanks in advance
RockSet different groups in your fieds on the screen.
Set the screen group for the Material and Plant as the GR1
Set the screen gorup for the Storage location as the GR2.
You need to modify your screen fields on the PBO event.
Like:
IF P_BUKRS = 'AA01'.
loop at screen.
if screen-group1 = 'GP1'.
screen-input = 0.
modify screen.
elseif screen-group2 = 'GP2'.
screen-input = 1.
modify screen.
endif.
endloop.
else.
loop at screen.
if screen-group1 = 'GP2'.
screen-active = 0.
modify screen.
elseif screen-group2 = 'GP1'.
screen-input = 1.
modify screen.
endif.
endloop.
endif.
Regards,
Naimesh Patel -
Making a field in selection screen dynamic mandatory
I have a parameter in the select option of a selection screen. The code is below:
TABLES:vbak,kna1,ekko,lfa1.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: rd1 RADIOBUTTON GROUP rd DEFAULT 'X' USER-COMMAND abc,
rd2 RADIOBUTTON GROUP rd,
rd3 RADIOBUTTON GROUP rd.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS:s_erdat FOR VBAK-ERDAT MODIF ID SAL,
s_vbeln FOR VBAK-VBELN MODIF ID SAL,
s_kunnr FOR KNA1-KUNNR MODIF ID SAL.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE TEXT-003.
SELECT-OPTIONS:p_aedat FOR EKKO-AEDAT MODIF ID PUR,
p_ebeln FOR EKKO-AEDAT MODIF ID PUR,
p_lifnr FOR EKKO-AEDAT MODIF ID PUR.
SELECTION-SCREEN END OF BLOCK b3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF rd1 EQ 'X'.
IF SCREEN-GROUP1 = 'SAL' OR SCREEN-GROUP1 EQ 'PUR'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF rd2 EQ 'X'.
IF SCREEN-GROUP1 EQ 'PUR'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF rd3 EQ 'X'.
IF SCREEN-GROUP1 EQ 'SAL'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
Now the parameters s_erdap & _aedat should both be dynamic mandatory. How this can be achieved?Hi,
This can be done in two ways:
1.
At selection-screen output.
loop at screen.
IF rd1 EQ 'X'.
if screen-name = 's_erdat-low' or screen-name = 'P_AEDAT'.
screen-required = 1.
modify screen.
endif.
endif.
endloop.
the above code would make the lower value in select-option s_erdat and parameter p_aedat mandatory.
2.
at selection-screen.
if rd1 eq 'X'.
if s_erdat is initial.
message 'PLease enter date'.
endif.
endif.
The above will fire an error when you hit execute and the rd1 is choosen and date is not entered
Himanshu -
Selection screen dynamic enable and disable
HI all,
I have one requirement like
on selection of redio button my selection screen hould be enable and disable
Like if i select rediobutton tfile then my selection screen block B2 should enable and Block B3 hould be disable
If redio button selscr is selected then my block B3 should be enable and Block B2 should disable
my selection screen code is below
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-005.
PARAMETERS: tfile RADIOBUTTON GROUP g1 DEFAULT 'X'.
PARAMETERS: selscr RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_matnr FOR marc-matnr,
s_fkdat FOR vbrk-fkdat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-002.
PARAMETERS : filename TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK b3.
How to do that.
Help me here its urgent tnx in advance.Hi Lalit,
Check the below code.
TABLES: marc, vbrk.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-005.
PARAMETERS: tfile RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND rusr.
PARAMETERS: selscr RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_matnr FOR marc-matnr MODIF ID abc,
s_fkdat FOR vbrk-fkdat MODIF ID abc.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-002.
PARAMETERS : filename TYPE rlgrap-filename MODIF ID def.
SELECTION-SCREEN END OF BLOCK b3.
AT SELECTION-SCREEN OUTPUT.
*Note: To disable the fields use the below one.
LOOP AT SCREEN.
IF screen-group1 = 'DEF'. "Name field
IF selscr = 'X'.
screen-input = 1.
ELSE.
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'ABC'. "Name field
IF selscr = 'X'.
screen-input = 0.
ELSE.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*Note: To hide the screen use the below one.
LOOP AT SCREEN.
IF screen-group1 = 'DEF'. "Name field
IF selscr = 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'ABC'. "Name field
IF tfile = 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP. -
Modify selection screen for Logical Database 'SDF'
Hi
I need to make a section of the standard selection screen for logical database 'SDF' invisible. I have tried the differet selection screen options of the report attributes, but none of the provided ones give me what I want.
How can I find the name of the screen group for the "Line Item Selection" block of the selection screen so that I can make it invisible when the selection screen is displayed?
Thanks,
ThomasI tried to do this:
Loop at screen.
if screen-group4 = '026'
or screen-group4 = '027'
or screen-group4 = '028'.
screen-invisible = 1.
modify screen.
endif.
endloop.
This removed the selection text for these fields, but the Line Item Selection block is still visible, and the actual input fields are also visible. They now look like password input fields with all ***** in them.
What am I doing wrong?
Thanks for your help!
Thomas -
Modifying selection screen with help of radio buttons
Hi,
In my program am using three parameters to download a three different files and I have to use radiobuttons for that.
I want to download only one file at a time.
I have used MODIF ID but it is not working for 3 Parameters but it is working for only two parameters.
Please help me out!!!!!!!!!Hi,
check with the following code
* Parameters and Selection Options
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_lifnr FOR lfm1-lifnr .
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS:
r_asn RADIOBUTTON GROUP rad1 USER-COMMAND uc1 DEFAULT 'X',
r_ers RADIOBUTTON GROUP rad1 ,
r_830 RADIOBUTTON GROUP rad1,
r_850 RADIOBUTTON GROUP rad1,
r_862 RADIOBUTTON GROUP rad1,
r_810 RADIOBUTTON GROUP rad1,
r_820 RADIOBUTTON GROUP rad1,
r_824 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
SELECT-OPTIONS: s_bstae FOR lfm1-bstae MODIF ID sd1.
PARAMETERS:
p_ekorg TYPE lfm1-ekorg MODIF ID md1,
p_evcode TYPE edp21-evcode MODIF ID md2,
p_kappl TYPE nach-kappl MODIF ID md3,
p_parvw TYPE nach-parvw MODIF ID md4,
p_kschl TYPE nach-kschl MODIF ID md5,
p_vakey TYPE nach-vakey MODIF ID md6,
p_werks TYPE werks_d MODIF ID md7,
p_bukrs TYPE lfb1-bukrs MODIF ID md8.
SELECTION-SCREEN END OF BLOCK b3.
*eject
* Initialization
INITIALIZATION.
* PERFORM check_authorization.
*eject
* at selection screen
*AT SELECTION-SCREEN.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF r_asn EQ 'X'
AND ( screen-group1 = 'MD3' or screen-group1 = 'MD4'
or screen-group1 = 'MD5' or screen-group1 = 'MD6'
or screen-group1 = 'MD7' or screen-group1 = 'MD8').
screen-active = '0'.
screen-invisible = '1'.
screen-input = '0'.
screen-output = '0'.
ELSEIF r_ers EQ 'X'
AND ( screen-group1 = 'SD1' or screen-group1 = 'MD1'
or screen-group1 = 'MD2' or screen-group1 = 'MD3'
or screen-group1 = 'MD4' or screen-group1 = 'MD5'
or screen-group1 = 'MD6' or screen-group1 = 'MD7'
or screen-group1 = 'MD8').
screen-active = '0'.
screen-invisible = '1'.
screen-input = '0'.
screen-output = '0'.
ELSEIF r_830 EQ 'X'
AND ( screen-group1 = 'SD1' or screen-group1 = 'MD1'
or screen-group1 = 'MD2' or screen-group1 = 'MD6'
or screen-group1 = 'MD7' or screen-group1 = 'MD8').
screen-active = '0'.
screen-invisible = '1'.
screen-input = '0'.
screen-output = '0'.
ELSEIF r_850 EQ 'X'
AND ( screen-group1 = 'SD1' or screen-group1 = 'MD1'
or screen-group1 = 'MD2' or screen-group1 = 'MD6'
or screen-group1 = 'MD7' or screen-group1 = 'MD8').
screen-active = '0'.
screen-invisible = '1'.
screen-input = '0'.
screen-output = '0'.
ELSEIF r_862 EQ 'X'
AND ( screen-group1 = 'SD1' or screen-group1 = 'MD1'
or screen-group1 = 'MD2' or screen-group1 = 'MD8').
screen-active = '0'.
screen-invisible = '1'.
screen-input = '0'.
screen-output = '0'.
ELSEIF r_810 EQ 'X'
AND ( screen-group1 = 'MD3' or screen-group1 = 'MD4'
or screen-group1 = 'MD5' or screen-group1 = 'MD6'
or screen-group1 = 'MD7' or screen-group1 = 'MD8').
screen-active = '0'.
screen-invisible = '1'.
screen-input = '0'.
screen-output = '0'.
ELSEIF r_820 EQ 'X'
AND ( screen-group1 = 'SD1' or screen-group1 = 'MD1'
or screen-group1 = 'MD2' or screen-group1 = 'MD3'
or screen-group1 = 'MD4' or screen-group1 = 'MD5'
or screen-group1 = 'MD6' or screen-group1 = 'MD7' ).
screen-active = '0'.
screen-invisible = '1'.
screen-input = '0'.
screen-output = '0'.
ELSEIF r_824 EQ 'X'
AND ( screen-group1 = 'SD1' or screen-group1 = 'MD1'
or screen-group1 = 'MD2' or screen-group1 = 'MD3'
or screen-group1 = 'MD4' or screen-group1 = 'MD5'
or screen-group1 = 'MD6' or screen-group1 = 'MD7'
or screen-group1 = 'MD8').
screen-active = '0'.
screen-invisible = '1'.
screen-input = '0'.
screen-output = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
*eject
* Event top of page
TOP-OF-PAGE.
*eject
* event Start of Selection
START-OF-SELECTION.
*eject
*EVENT End-of selection
END-OF-SELECTION.
*eject
*EVENT End-of page
END-OF-PAGE.
Regards,
Vikas.
plz reward if helpful.. -
Regarding modify selection-screen
sorry but this funda has never been clear to me
can you please help me out
on my selection screen i have 3 fields
1 employee
2. start date
3. end date
and two radio buttons
1. employee wise report
2.detailed report
now when i select the employee wise report then it should display the employee field on the selection screen
and if i select the detailed report radio button then the selection screen should have only two fields that is start and end date
tere should be no employee field on the selection screen then
i have given a screen modif id sc1 to to the employee
and tried one or two ways but no use
can anyone please help me out.hi check this code
this code actually removes the block data when check box is checked and shows the block on deselecting it.U can change the chk box condition according to ur requirement.
SELECTION-SCREEN BEGIN OF BLOCK FPATH .
SELECTION-SCREEN : BEGIN OF LINE .
PARAMETERS : p_EU AS CHECKBOX USER-COMMAND CHK MODIF ID BL1.
SELECTION-SCREEN : COMMENT 4(15) TEXT-106 FOR FIELD P_EU.
SELECTION-SCREEN : END OF LINE .
SELECTION-SCREEN : BEGIN OF LINE.
PARAMETERS : P_LOCL AS CHECKBOX MODIF ID BL1.
SELECTION-SCREEN : COMMENT 4(15) TEXT-002 FOR FIELD P_LOCL.
SELECTION-SCREEN POSITION 33.
PARAMETER: P_FILE1 LIKE RLGRAP-FILENAME MODIF ID BL1.
SELECTION-SCREEN : END OF LINE .
SELECTION-SCREEN : BEGIN OF LINE .
PARAMETERS: P_APPL AS CHECKBOX DEFAULT 'X' MODIF ID BL1.
SELECTION-SCREEN : COMMENT 4(13) TEXT-003 FOR FIELD P_APPL.
SELECTION-SCREEN POSITION 33.
PARAMETER: FNAM2 LIKE RLGRAP-FILENAME MODIF ID BL1.
SELECTION-SCREEN : END OF LINE .
SELECTION-SCREEN END OF BLOCK FPATH.
SELECTION-SCREEN BEGIN OF BLOCK FPATH1 .
SELECTION-SCREEN : BEGIN OF LINE .
PARAMETERS : p_APAC AS CHECKBOX MODIF ID BL2 USER-COMMAND CH.
SELECTION-SCREEN : COMMENT 4(15) TEXT-105 FOR FIELD P_APAC.
SELECTION-SCREEN : END OF LINE .
SELECTION-SCREEN : BEGIN OF LINE.
PARAMETERS : P_LOCL1 AS CHECKBOX MODIF ID BL2.
SELECTION-SCREEN : COMMENT 4(15) TEXT-102 FOR FIELD P_LOCL1.
SELECTION-SCREEN POSITION 33.
PARAMETER: P_FILE11 LIKE RLGRAP-FILENAME MODIF ID BL2.
SELECTION-SCREEN : END OF LINE .
SELECTION-SCREEN : BEGIN OF LINE .
PARAMETERS: P_APPL1 AS CHECKBOX DEFAULT 'X' MODIF ID BL2.
SELECTION-SCREEN : COMMENT 4(13) TEXT-103 FOR FIELD P_APPL1.
SELECTION-SCREEN POSITION 33.
PARAMETER: FNAM21 LIKE RLGRAP-FILENAME MODIF ID BL2.
SELECTION-SCREEN : END OF LINE .
SELECTION-SCREEN END OF BLOCK FPATH1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF P_EU = 'X' AND SCREEN-GROUP1 = 'BL2'.
SCREEN-ACTIVE = 0.
ENDIF.
IF P_APAC = 'X' AND SCREEN-GROUP1 = 'BL1'.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP. -
HI,
On my selection screen.
I have two parameters
Param1 , Obligatory
Param2
and then two radio buttons
rad1
rad2
My requirement is if i select one radio button param 1 is mandatory
and if i select radiobutton 2 then param1 is not required.it should be grayed out.
When i tried to modify the screen in at selection-screen output
when ever i am selecting second radio button on the selection sreen i am getting a message asking for input for param 1..
How to avoid automatic checks on selection screen.
Thanks
KiranRemo obligatory for parm 1 ...(If its obligatory you should give some input to that and click on secon radio button ...)
I am giving one same code....
*& Report ZSELECTION_SCREEN_MADHU
REPORT ZSELECTION_SCREEN_MADHU NO STANDARD PAGE HEADING MESSAGE-ID ZTREE..
**& Report ZMADDY
REPORT ZMADDY NO STANDARD PAGE HEADING MESSAGE-ID ZTREE.
TABLES: MARA,MARC,VBAK ,MAKT,SSCRFIELDS.
DATA: BEGIN OF ITAB OCCURS 0 ,
SSCRFIELDS-FUNCTXT_01,
END OF ITAB.
SELECTION-SCREEN: FUNCTION KEY 1.
SELECTION-SCREEN: FUNCTION KEY 2.
SELECTION
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN: SKIP 1.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR DEFAULT 'siva' NO-EXTENSION MODIF ID S2.
"MATCHCODE OBJECT Zmobj.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN DEFAULT 'maddy' MODIF ID S1.
PARAMETER: P_WERKS LIKE MARC-WERKS MODIF ID S2.
PARAMETER: P_MAKTX LIKE MAKT-MAKTX MODIF ID S1.
SELECTION-SCREEN: SKIP 1.
SELECTION-SCREEN: END OF BLOCK B1.
*********radio buttons************
SELECTION-SCREEN COMMENT /1(50) comm1 MODIF ID mg1.
SELECTION-SCREEN ULINE /1(25).
*SELECTION-SCREEN SKIP.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: R1 RADIOBUTTON GROUP G2 DEFAULT 'X' USER-COMMAND UC1.
SELECTION-SCREEN : COMMENT 2(20) TEXT-021 FOR FIELD R1.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: R2 RADIOBUTTON GROUP G2.
SELECTION-SCREEN : COMMENT 2(10) TEXT-050 FOR FIELD R2 .
SELECTION-SCREEN :ULINE /1(10).
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: END OF BLOCK B2 .
INITIALIZATION.
MOVE 'HELP' TO SSCRFIELDS-FUNCTXT_01.
move 'Maddy' to sscrfields-functxt_02.
comm1 ='Select one Radio button'.
FUNCTXT_01 = 'HELP'.
AT SELECTION-SCREEN.
CASE SSCRFIELDS-UCOMM.
WHEN 'FC01'.
CALL SCREEN '101' STARTING AT 20 1
ENDING AT 90 25.
WHEN 'FC02'.
call SCREEN '102' starting at 20 1
ENDING AT 90 25.
WHEN OTHERS .
ENDCASE.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF R1 = 'X' AND SCREEN-GROUP1 = 'S2'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
IF R2 = 'X' AND SCREEN-GROUP1 = 'S1'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*& Module STATUS_0101 OUTPUT
text
MODULE STATUS_0101 OUTPUT.
SET PF-STATUS 'STAT'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0101 OUTPUT
*& Module USER_COMMAND_0101 INPUT
text
MODULE USER_COMMAND_0101 INPUT.
CASE SY-UCOMM.
WHEN 'CONTINUE'.
SET SCREEN 0.
LEAVE TO SCREEN 0.
WHEN 'CANCEL'.
SET SCREEN 0.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0101 INPUT
*& Module back INPUT
text
MODULE back INPUT.
SUBMIT ZSELECTION_SCREEN_MADHU via SELECTION-SCREEN.
ENDMODULE. " back INPUT
PLz give rewards -
Selection screen, dynamic enable and disable of blocks
Hi,
i have several parameters in different blocks.i want to enable one block and disable other blocks depending on the radio button selection. could some one help me on this.
for eg.
radiobutton1. under this text entries for date, time etc.
radiobutton 2. under this text entries for location from, location 2,phone etc.
so, if i select radio button 1 all the remaining text entries under other radio buttons should be disabled. how to do this.
your help would be appreciated.
Thanks,
kranthi.Hi Kranthi,
I am not sure what you meant by disabling all the selection screen fields. Are you saying ALL the selection screen fields or all fields that don't belong to the selected radio-button.
Anyway, here is a sample code how you manipulate the selection screen. The key options to use are 'modif id', 'at selection-screen output' and 'loop at screen'.
*------------------------ Selection Screen ---------------------------*
SELECTION-SCREEN BEGIN OF BLOCK selscr WITH FRAME TITLE text-000.
PARAMETERS: p_rad1 RADIOBUTTON GROUP rad1 USER-COMMAND a DEFAULT 'X',
p_rad2 RADIOBUTTON GROUP rad1,
p_rad3 RADIOBUTTON GROUP rad1.
*-- Selection Screen for radio button 1
SELECTION-SCREEN BEGIN OF BLOCK rad1 WITH FRAME TITLE text-001.
PARAMETERS: p_date LIKE sy-datum DEFAULT sy-datum MODIF ID one.
SELECT-OPTIONS: s_uzeit FOR sy-uzeit MODIF ID one.
SELECTION-SCREEN END OF BLOCK rad1.
*-- Selection Screen for radio button 2
SELECTION-SCREEN BEGIN OF BLOCK rad2 WITH FRAME TITLE text-002.
PARAMETERS: p_werks LIKE t001w-werks MODIF ID two.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(6) text-003 MODIF ID two.
SELECTION-SCREEN POSITION 8.
PARAMETERS: p_chk AS CHECKBOX DEFAULT 'X' MODIF ID two.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK rad2.
*-- Selection Screen for radio button 3
SELECTION-SCREEN BEGIN OF BLOCK rad3 WITH FRAME TITLE text-004.
PARAMETERS: p_matnr LIKE mkal-matnr MODIF ID tri,
p_verid LIKE mkal-verid MODIF ID tri.
SELECTION-SCREEN END OF BLOCK rad3.
SELECTION-SCREEN END OF BLOCK selscr.
AT SELECTION-SCREEN OUTPUT.
IF p_rad1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'TWO' OR
screen-group1 = 'TRI'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_rad2 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ONE' OR
screen-group1 = 'TRI'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_rad3 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ONE' OR
screen-group1 = 'TWO'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
If you want to hide all the, I mean all except the radio-buttons, then simply loop at screen and modify every entry except the radio-button entries to screen-active 0. Something like this.
LOOP AT SCREEN.
IF SCREEN-NAME = 'RAD1' OR
SCREEN-NAME = 'RAD2 OR
SCREEN-NAME = 'RAD3'.
ELSE.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Srinivas -
Trying to create a selection screen dynamically
Hi All,
My requirement is to fetch values from database table.A particular field in the table
has certain values,which i am supposed to create as radiobuttons.i.e
i need to pick the values and create a dynamic selection screen.
Can any one help me in this.
Thanks in Advance!!Hi MVPhani,
If u wish to create radio-buttons ( or check-boxes only ) dynamically, then u can achieve the same functionality using the below simpler alternative...
Put a button and while clicking it show the list of possible values ( taken from ur DB table ).. based on the selection display ur report... something like F4 help...
Check the below example..
TYPE-POOLS : slis.
TYPES : BEGIN OF ty_radiobuttons,
matnr TYPE matnr,
maktx TYPE maktx,
END OF ty_radiobuttons.
DATA : lt_radiobuttons TYPE STANDARD TABLE OF ty_radiobuttons,
ls_radiobutton TYPE ty_radiobuttons,
lt_fcat TYPE slis_t_fieldcat_alv,
ls_fcat TYPE LINE OF slis_t_fieldcat_alv.
PARAMETER selvalue TYPE matnr.
SELECTION-SCREEN PUSHBUTTON 60(20) text USER-COMMAND push.
INITIALIZATION.
MOVE 'Dynamic selection' TO text.
SELECT matnr
maktx
FROM makt UP TO 10 ROWS
INTO CORRESPONDING FIELDS OF TABLE lt_radiobuttons
WHERE spras EQ sy-langu.
AT SELECTION-SCREEN .
CASE sy-ucomm.
WHEN 'PUSH'.
PERFORM popup.
WHEN OTHERS.
ENDCASE.
START-OF-SELECTION.
END-OF-SELECTION.
FORM popup.
DATA : selected_row TYPE slis_selfield,
action.
PERFORM build_fcat.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_selection = 'X'
i_zebra = 'X'
i_tabname = 'LT_RADIOBUTTONS'
it_fieldcat = lt_fcat
IMPORTING
es_selfield = selected_row
e_exit = action
TABLES
t_outtab = lt_radiobuttons
EXCEPTIONS
program_error = 1
OTHERS = 2.
CHECK sy-subrc EQ 0.
CHECK action NE 'X'.
READ TABLE lt_radiobuttons INTO ls_radiobutton INDEX selected_row-tabindex.
MOVE ls_radiobutton-matnr TO selvalue.
ENDFORM. "popup
FORM build_fcat.
FREE lt_fcat.
ls_fcat-fieldname = 'MATNR'.
ls_fcat-seltext_l = 'Material'.
ls_fcat-outputlen = '10'.
APPEND ls_fcat TO lt_fcat. CLEAR ls_fcat.
ls_fcat-fieldname = 'MAKTX'.
ls_fcat-seltext_l = 'Description'.
ls_fcat-outputlen = '20'.
APPEND ls_fcat TO lt_fcat.
CLEAR ls_fcat.
ENDFORM. "build_fcat
Cheers,
Jose. -
To create selection screen dynamically
Hi All,
I need to create dynamic selection screens based on the table for which report will run.
Can anyone help me on this.
thanksHello Palak,
The best you can get on Dynamic Selection Screen: [/people/horst.keller/blog/2009/09/03/abap-geek-13--interactive-dynamic-where-clauses|/people/horst.keller/blog/2009/09/03/abap-geek-13--interactive-dynamic-where-clauses]
Straight from the "Guru"
Enjoy !!
Suhas
Maybe you are looking for
-
Help! MASSIVE MacbookPro ISSUES with all mac softwares - diagnostic report incl.
Hello all, I have posted something almost 1 year ago but never got a reply.. The issues became so bad lately that even checking emails becomes a performance (for my nerves..) My computer is a Macbookpro from mid-2012 OSX 10.8.5 bought in 2013, in fra
-
Macbook pro mid-2012 GPU-panic
Hi, my Macbook Pro mid-2012 has recently started rebooting sporadically. After some investigation I found out that it is caused by GPU Panic which happens EVERY TIME when discrete GPU (NVidia 650M) is enabled and its temperature goes over 64-65 degre
-
Sample Adapter - Error in NWDS for import stmt of class PermissionMode
Hello, I downloaded the latest code of Sample Adapter from the SAPNote 1004000. I am trying to build the code in SAP NWDS. I am getting an error for the import statements - import com.sap.aii.security.lib.KeyStoreManager; import com.sap.aii.security.
-
Changing Cover Art for my podcast in iTunes music store
I'm trying to figure out how to change my cover artwork that is in my already submitted podcast in the itunes music store. Anyone know how to do this? thanks for the help. the podcast is: http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?
-
Debugging Java Client Proxy - XI Interface
Hi , I am trying out Oubound Proxy client to an XI message interface through EJB client lookup from JSP. I would like to debug my java bean and jsp. I added system.out.println statements in my code, it is not coming out in console_logs of J2EE Ser