SELECTION SCREEN - Intervals
Hi,
I have a selection screen field. I want to perform custom checks on that field.
For example I have a field as below:
Grade: _________ to ______
I enter F and A in the above fields for LOW and HIGH respectively.
As per my application A is greater than F. But as per the selection screen, it compares the ASCII values and always gives the error "Lower limit is higher than upper limit" as F is greater than A. Hence I want to use a customized check for this.
I used my own fields and did a customized check, but if I add intervals it still allows ranges in the selection pop up.
Can you please help?
Regards,
Shalini.
Hi,
Code that in AT SELECTION-SCREEN OUTPUT event.
SELECT-OPTIONS : s_var FOR lv_var.
AT SELECTION-SCREEN OUTPUT.
PERFORM no_sel_option_check.
START-OF-SELECTION.
FORM no_sel_option_check .
DATA: lt_s_option TYPE TABLE OF rsldbselop,
lwa_s_option TYPE rsldbselop.
lwa_s_option-name = 'S_VAR'.
APPEND lwa_s_option TO lt_s_option.
CALL FUNCTION 'RS_SELOPT_NO_INTERVAL_CHECK'
EXPORTING
program = sy-repid
TABLES
selop = lt_s_option
EXCEPTIONS
no_programname = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " NO_SEL_OPTION_CHECK
Regards
Bala Krishna
Similar Messages
-
About parameters in selection screen
When it if select-option,when the value of low and high are initial,it will select all the items,and if the low and high value are not initial,it will select items in this range.
I just think if abap have this for a parameter ,like when it is initial,it will select all items,and when it is not initial,it will select the item which some field = this parameter.
thanks a lot!Here you have to display the selct-option which will appear as a parameter on the selection screen and user can enter only one value as in a parameter.
select-options: s_para for mara-matnr no-extension
no intervals. -
Truncation of selection screen field in reports
Hi,
Is there any way to avoid truncation of selection screen fields in ABAP reports? For eg, I declare:
SELECT-OPTIONS: s_test FOR ztest-test_field NO INTERVALS
The length of this field in the table is 30 chars. However, on displaying the field via selection screen, this gets truncated to around 18 or so. How do I avoid this as I need to display the full length of the field?Hi,
Try this
Tables : makt.
select-options maknr for makt-maktx.
now go to the screen painter of your program in change mode and move the Help buttons first to the Right each. now increasethe length of the Matnr Field length so that they are equal to 40 Char. in your program you have handle the length now if you want to restrict to 18 otherwise it will be ok
if they don't fit you need incease the Size of the Screen Visible area both in the Screen Painter as well as in the
Screen Attributes
You also get an Information Message just ignore that.
Just open your program in SE80 if you can't go to the screen painter in SE38. the other way just keep this program in Display mode and execute then take F1 help , take Technical Information and double click on the Screen number now go to the Screen Layout and go to Change mode here.
Regards,
Shirisha -
Hi All,
I have a requirment that:
I need to refresh my selection screen at every time i selected back button.
Following fields are maintained in selection screen.
PARAMETERS pc_chgno TYPE ZTB1 OBLIGATORY MEMORY ID zbc_change_number.
PARAMETERS PC_PHONE TYPE telf1 OBLIGATORY.
PARAMETERS PC_DIR TYPE LOCALFILE OBLIGATORY default 'C:\' .
SELECT-OPTIONS pc_uname FOR sy-uname OBLIGATORY NO INTERVALS .
SELECT-OPTIONS pt_korr FOR e070-trkorr NO INTERVALS .
The last field is diaplaying some data when i select "Select more single value" button of the field.
This have to be clear when come back the screen.
Thanks,
SubbuHi,
Clear all the selection screen fields in the AT SELECTION-SCREEN OUTPUT event. So that it will be triggered each time when your screen displayed again.
Reward if useful.
Thanks,
Muthu. -
How to put a value in a selection screen parameter
how do i forcefully put a value to a field in the selection screen.
i mean during runtime.
and it's a parameter not a selection-option.
thanksHi,
Check this sample code.It can help you.Basically you need to use 'DYNP_VALUES_READ' in at selection-screen on value-request for s_posnr-low.
tables : vbap. " Sales Document: Item Data
Constant Declaration *
CONSTANTS:
C_X TYPE C VALUE 'X'. " Translate to Uppercase
Variable Declaration *
Variable for Table index
data v_sytabix like sy-tabix.
Variable for Program name
data L_NAME LIKE SYST-REPID.
Range for getting values form selection screen
DATA: BEGIN OF range1 OCCURS 0,
SIGN(1),
OPTION(2),
LOW LIKE vbap-vbeln,
high like vbap-vbeln,
END OF range1.
Internal table for Report output
data: begin of i_vbap occurs 0,
vbeln like vbap-vbeln, " Sales Document
posnr like vbap-posnr, " Sales Document item
end of i_vbap.
Internal table for output to the F4 help
data: begin of I_DISPLAY occurs 0,
vbeln like vbap-vbeln, " Sales Document
posnr like vbap-posnr, " Sales Document item
end of I_DISPLAY.
Internal table for return value form function module
DATA: BEGIN OF I_RETURNVAL OCCURS 0.
INCLUDE STRUCTURE DDSHRETVAL. " Interface Structure Search
DATA: END OF I_RETURNVAL.
Internal table for F4 help field heading
DATA: I_FIELDTAB LIKE DFIES OCCURS 0 WITH HEADER LINE.
Internal table for getting screen values from selection screen
data L_SCR_FIELDS LIKE DYNPREAD OCCURS 1 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME title text-001.
select-options:
S_VBELN for vbap-vbeln no intervals,
S_POSNR for vbap-posnr no intervals.
SELECTION-SCREEN end OF BLOCK B1.
at selection-screen on value-request for s_posnr-low.
clear: L_SCR_FIELDS, I_FIELDTAB, i_display, I_RETURNVAL.
refresh: L_SCR_FIELDS, I_FIELDTAB, i_display, I_RETURNVAL.
L_NAME = SYST-REPID.
MOVE 'S_VBELN-LOW' TO L_SCR_FIELDS-FIELDNAME.
APPEND L_SCR_FIELDS.
Call the Function module DYNP_VALUES_READ to get the values form
selection screen
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = L_NAME
DYNUMB = SYST-DYNNR
TRANSLATE_TO_UPPER = C_X " X
TABLES
DYNPFIELDS = L_SCR_FIELDS
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11
IF SY-SUBRC eq 0.
LOOP AT L_SCR_FIELDS.
range1-sign = 'I'.
range1-option = 'EQ'.
range1-low = L_SCR_FIELDS-FIELDVALUE.
range1-high = space.
append range1.
ENDLOOP.
ENDIF.
F4 help Field headings
I_FIELDTAB-TABNAME = 'I_DISPLAY'.
I_FIELDTAB-FIELDNAME = 'VBELN'.
I_FIELDTAB-POSITION = '1'.
I_FIELDTAB-OUTPUTLEN = '10'.
I_FIELDTAB-INTTYPE = 'C'.
I_FIELDTAB-INTLEN = '10'.
APPEND I_FIELDTAB.
I_FIELDTAB-FIELDNAME = 'POSNR'.
I_FIELDTAB-POSITION = '2'.
I_FIELDTAB-OFFSET = '10'.
I_FIELDTAB-OUTPUTLEN = '6'.
I_FIELDTAB-INTTYPE = 'N'.
I_FIELDTAB-INTLEN = '6'.
APPEND I_FIELDTAB.
Retrieve sales document, Sales document item from table Sales
Document: Item Data(VBAP).
Primary keys used for selection: VBELN
select vbeln posnr from vbap
into table i_display
where vbeln in range1.
Call the function module F4IF_INT_TABLE_VALUE_REQUEST for F4 values
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'POSNR'
WINDOW_TITLE = 'Line Item'
VALUE_ORG = 'S'
MULTIPLE_CHOICE = C_X " (for muliple selection)
TABLES
VALUE_TAB = I_DISPLAY
FIELD_TAB = I_FIELDTAB
RETURN_TAB = I_RETURNVAL
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
Star for For single values
READ TABLE I_RETURNVAL INDEX 1.
S_POSNR-LOW = I_RETURNVAL-FIELDVAL.
End for the single values
Start For multiple selection
loop at i_returnval.
s_posnr-sign = 'I'.
s_posnr-option = 'EQ'.
s_posnr-low = I_RETURNVAL-FIELDVAL.
append s_posnr.
endloop.
sort s_posnr.
read table s_posnr index 1.
End for multiple selection
ENDIF.
Start-of-selection *
start-of-selection.
Retrieve sales document, Sales document item from table Sales
Document: Item Data(VBAP).
Primary keys used for selection: VBELN
select vbeln posnr from vbap
into table i_vbap
where vbeln in s_vbeln
and posnr in s_posnr.
if the above selection is successful continue the process else exit *
form the report
if sy-subrc ne 0.
message e002 with 'No data to display'.
endif.
end-of-selection.
if not i_vbap[] is initial.
loop at i_vbap.
write:/ i_vbap-vbeln, i_vbap-posnr.
endloop.
endif. -
How to restrict more than one 1 range in select option on selection screen.
Hi all,
I have a requirement where I need to restrict user from giving more than 1 range for a date selct option ..other all features of multiple selection will be as usual...
for eg we can do this if we disable / hide other cells if the user clicks on multiple ranges tab.. If only 1 cell is available to give the range user will not be able to give more than 1 range....
I was thinking if I could use select_options_restrict but how do i fill its parameters...
Can anyone send me the sample code or the same to achieve this functionality...I have used select_options_restrict to hide multiple ranges itself ... But here user will be able to give range but only 1....
Thanks and Regards
SwetaHI,
Please try the below logic.
SELECT-OPTIONS: so_addr FOR ADR6-SMTP_ADDR NO INTERVALS.
***********remove_range_for_select_option******************* .
DATA: ls_restrict TYPE SSCR_RESTRICT, "The type for SELECT_OPTIONS_RESTRICT
ls_opt_list TYPE SSCR_OPT_LIST, "One list of options
ls_asn TYPE SSCR_***. "One line of table associating selection screen
"object with opt. list
CLEAR: ls_restrict,
ls_opt_list,
ls_asn.
*Only EQ valid, discrete values, Include & Exclude
ls_opt_list-name = 'EQ'.
ls_opt_list-options-eq = 'X'.
APPEND ls_opt_list TO ls_RESTRICT-OPT_LIST_TAB.
LS_ASN-KIND = 'S'.
LS_ASN-NAME = 'SO_ADDR'. "Select Option
LS_ASN-SG_MAIN = 'I'.
LS_ASN-SG_ADDY = '*'.
LS_ASN-OP_MAIN = 'EQ'.
LS_ASN-OP_ADDY = ' '.
APPEND LS_ASN TO LS_RESTRICT-***_TAB.
*Make use of SELECT-OPTIONS easier on the selection screen
CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
EXPORTING
RESTRICTION = LS_RESTRICT
EXCEPTIONS
TOO_LATE = 1
REPEATED = 2
SELOPT_WITHOUT_OPTIONS = 3
SELOPT_WITHOUT_SIGNS = 4
INVALID_SIGN = 5
EMPTY_OPTION_LIST = 6
INVALID_KIND = 7
REPEATED_KIND_A = 8
OTHERS = 9.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Edited by: Rajasekhar Reddy P on Mar 16, 2009 2:03 PM -
How to display data from internal table in the SELECTION-SCREEN
Hello Experts,
My requirement is to display the data's from an internal table in the selection screen. I tried using selection-screen comment. But it is working only for a single record. Can anyone please tell me how to do this?Hi Ritika,
we cant use write statement inside selection-screen.
see my coding.
SELECTION-SCREEN BEGIN OF SCREEN 123 AS WINDOW TITLE TEXT-456.
SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-BL1
NO INTERVALS.
SELECT-OPTIONS SEL1 FOR SY-DATUM.
PARAMETERS PAR1(10).
<b>** I WANT ALL RECORDS FROM AN INTERNAL TABLE HERE ONLY</b>
SELECTION-SCREEN END OF BLOCK BL1.
SELECTION-SCREEN PUSHBUTTON 2(10) but1 USER-COMMAND cli1.
SELECTION-SCREEN PUSHBUTTON 20(10) but2 USER-COMMAND cli2.
SELECTION-SCREEN END OF SCREEN 123. -
Error when generating the selection screen "1000" for Report ztest
Hi Experts,
I am getting this strange error while trying to activate my report. I simply copy paste report from my other system to new system it was working fine there. I also created all include program etc.
While I am trying to create "Selection-text" it is giving message that "Program contain some serious syntax error" while checking syntax saying that "Program is syntactically right".
Any idea how to solve this???
Regards,
GouravHere is the code::::
SELECTION-SCREEN BEGIN OF BLOCK select WITH FRAME TITLE text-sl1.
Component
SELECT-OPTIONS:
s_xcide FOR gw_zsmmess_compo-xcide
NO INTERVALS
MATCHCODE OBJECT zsm_xcide_oi.
SELECTION-SCREEN END OF BLOCK select.
SELECTION-SCREEN BEGIN OF BLOCK prcopt WITH FRAME TITLE text-sl2.
Default severity code
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) text-dsc.
SELECTION-SCREEN POSITION 33.
PARAMETERS: p_dfsevc LIKE gw_zsmglob_sever-sevco
OBLIGATORY
MATCHCODE OBJECT zsm_sevco
DEFAULT '3'.
SELECTION-SCREEN COMMENT 37(30) pt_sevtx.
SELECTION-SCREEN END OF LINE.
Minutes to wait before re-issuing alert
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) text-ria.
SELECTION-SCREEN POSITION 33.
PARAMETERS: p_aleexp(3) TYPE n
OBLIGATORY
DEFAULT '45'.
SELECTION-SCREEN COMMENT 37(10) text-min.
SELECTION-SCREEN END OF LINE.
Use component specific parameters Yes/No
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) text-cpu.
SELECTION-SCREEN POSITION 33.
PARAMETERS: p_usecsp RADIOBUTTON GROUP rg1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(10) text-rby FOR FIELD p_usecsp.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 33.
PARAMETERS: p_dnucsp RADIOBUTTON GROUP rg1.
SELECTION-SCREEN COMMENT 35(10) text-rbn FOR FIELD p_dnucsp.
SELECTION-SCREEN END OF LINE.
Create/update component specific parameters automatically
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(32) text-cpc.
SELECTION-SCREEN POSITION 33.
PARAMETERS: p_updcsp RADIOBUTTON GROUP rg2.
SELECTION-SCREEN COMMENT 35(10) text-rby FOR FIELD p_updcsp.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 33.
PARAMETERS: p_dnccsp RADIOBUTTON GROUP rg2 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(10) text-rbn FOR FIELD p_dnccsp.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) text-afo.
SELECTION-SCREEN POSITION 33.
Fire one alert per component/error type combination
PARAMETERS: p_afrerr RADIOBUTTON GROUP rg3 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(50) text-afe FOR FIELD p_afrerr.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 33.
Fire one alert per component (= outbound XI interface)
PARAMETERS: p_afrcom RADIOBUTTON GROUP rg3.
SELECTION-SCREEN COMMENT 35(50) text-afc FOR FIELD p_afrcom.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 33.
Fire one alert per run
PARAMETERS: p_afrrun RADIOBUTTON GROUP rg3.
SELECTION-SCREEN COMMENT 35(50) text-afr FOR FIELD p_afrrun.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) text-sel.
SELECTION-SCREEN POSITION 33.
Select messages since last run
PARAMETERS: p_lstrun RADIOBUTTON GROUP rg4 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(40) text-slr FOR FIELD p_lstrun.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 33.
Select messages in selected interval
PARAMETERS: p_mintvl RADIOBUTTON GROUP rg4.
SELECTION-SCREEN COMMENT 35(40) text-sin FOR FIELD p_mintvl.
SELECTION-SCREEN END OF LINE.
Message selection interval
SELECTION-SCREEN BEGIN OF BLOCK msgfilt WITH FRAME TITLE text-msf.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) text-icr.
SELECTION-SCREEN COMMENT 14(05) text-ifr.
SELECTION-SCREEN COMMENT 25(05) text-dat FOR FIELD p_stadat.
Select messages - start date
PARAMETERS: p_stadat TYPE d.
SELECTION-SCREEN COMMENT 46(05) text-tim FOR FIELD p_statim.
Select messages - start time
PARAMETERS: p_statim TYPE t.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 14(05) text-ito.
SELECTION-SCREEN COMMENT 25(05) text-dat FOR FIELD p_enddat.
Select messages - end date
PARAMETERS: p_enddat TYPE d DEFAULT sy-datum.
SELECTION-SCREEN COMMENT 46(05) text-tim FOR FIELD p_endtim.
Select messages - end time
PARAMETERS: p_endtim TYPE t DEFAULT sy-timlo.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK msgfilt.
SELECTION-SCREEN END OF BLOCK prcopt.
SELECTION-SCREEN BEGIN OF BLOCK testopt WITH FRAME TITLE text-tso.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) text-tst.
SELECTION-SCREEN POSITION 33.
List only, no updates
PARAMETERS: p_lstonl RADIOBUTTON GROUP rg5 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(14) text-tsl FOR FIELD p_lstonl.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 33.
Execute updates
PARAMETERS: p_update RADIOBUTTON GROUP rg5.
SELECTION-SCREEN COMMENT 35(14) text-tsu FOR FIELD p_update.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK testopt.
*eject
INITIALIZATION. -
At selection screen output problem
Hi all,
I am trying to make a few fields disabled based on the selection of a radio button. I have done it in dialog programming, but in report its not working. Please tell me where i have gone wrong. My code:
* Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
PARAMETER : rb_dwld RADIOBUTTON GROUP radi DEFAULT 'X',
rb_upld RADIOBUTTON GROUP radi.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
SELECT-OPTIONS : so_cctrl FOR /dceur/z_crconar-crdt_ctrldsa MODIF ID
sc1 NO INTERVALS OBLIGATORY,
so_cusno FOR /dceur/z_crdtlmt-dealer MODIF ID sc1.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t03.
SELECT-OPTIONS : so_ctrl1 FOR /dceur/z_crconar-crdt_ctrldsa MODIF ID
sc2 NO INTERVALS OBLIGATORY.
PARAMETER pa_fname TYPE rlgrap-filename MODIF ID sc2.
SELECTION-SCREEN END OF BLOCK b3.Hi,
Please check the below code.
This is one of my requirement.
* Creation of two blocks with parameter fields for create and update
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME.
PARAMETER p_create LIKE rlgrap-filename MODIF ID crt.
SELECTION-SCREEN: END OF BLOCK b1.
SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME.
PARAMETER p_update LIKE rlgrap-filename MODIF ID upt.
SELECTION-SCREEN: END OF BLOCK b2.
* Making one parameter field active at a time
AT SELECTION-SCREEN OUTPUT.
IF rb_crt = 'X'. "CREATE BUTTON IS SELECTED
PERFORM hide_rb_options.
CLEAR p_create.
ELSE. "UPDATE BUTTON IS SELECTED
PERFORM hide_rb_options.
CLEAR p_update.
ENDIF.
*& Form hide_rb_options
FORM hide_rb_options .
IF rb_crt = 'X' .
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'CRT'.
screen-active = 1.
MODIFY SCREEN.
WHEN 'UPT'.
screen-active = 0.
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'UPT'.
screen-active = 1.
MODIFY SCREEN.
WHEN 'CRT'.
screen-active = 0.
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
ENDIF.
ENDFORM. " hide_rb_options
May it helps you.
Regards.
DS. -
AT SELECTION-SCREEN OUTPUT not working!
Hi,
I am useing the statement AT SELECTION-SCREEN OUTPUT to disable some input fields based on a check box(PR_FILE).however when I execute the program the changes on the screen are not reflected!I have written the AT SELECTION-SCREEN OUTPUT stmt immediately after SELECTION-SCREEN stmt .
Defination for the screen elements is as follows:
SELECT-OPTIONS s_plants FOR ls_selected_plant-plant
NO INTERVALS.
SELECTION-SCREEN BEGIN OF BLOCK filesel WITH FRAME TITLE text-012.
PARAMETERS pr_file TYPE xfeld .
PARAMETER : pr_path LIKE rlgrap-filename .
SELECTION-SCREEN END OF BLOCK filesel.
AT SELECTION-SCREEN OUTPUT.
IF pr_file = 'X'.
LOOP AT SCREEN.
IF screen-name = 's_plants'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'pr_path'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Can anybody suggest what wrong i have done??You need to use the User Command for the checkbox and the Modificaiton ID (Group) for the fields.
Try like this:
TABLES: VBRP.
SELECT-OPTIONS S_PLANTS FOR VBRP-WERKS NO INTERVALS MODIF ID GP1.
SELECTION-SCREEN BEGIN OF BLOCK FILESEL WITH FRAME TITLE TEXT-012.
PARAMETERS PR_FILE TYPE XFELD USER-COMMAND USR1.
PARAMETER : PR_PATH LIKE RLGRAP-FILENAME MODIF ID GP2 .
SELECTION-SCREEN END OF BLOCK FILESEL.
AT SELECTION-SCREEN OUTPUT.
IF PR_FILE = 'X'.
LOOP AT SCREEN.
if screen-group1 = 'GP1'.
SCREEN-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF SCREEN-group1 = 'GP2'.
SCREEN-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Regards,
Naimesh Patel -
At selection screen output plz help
hi all ,
i written below code . my req is if users select radio button r_com all elements in block b2 should be invisable.
this code is not working becuase r_com is populated with 'X' VALUE at rumtime in the event .
tables : coep ,SSCRFIELDS.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_GJAHR FOR COEP-GJAHR NO INTERVALS NO-EXTENSION
OBLIGATORY ,
S_PERIO FOR COEP-PERIO NO INTERVALS NO-EXTENSION
OBLIGATORY.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-002.
PARAMETERS : r_Com RADIOBUTTON GROUP mai user-command rusr .
SELECTION-SCREEN COMMENT 25(15) TEXT-003.
PARAMETERS : r_group RADIOBUTTON GROUP mai .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK B1 .
SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-003 MODIF ID B21.
parameters : p_0001 like AFRU-ISMNW OBLIGATORY MODIF ID B21.
SELECTION-SCREEN COMMENT 45(40) TEXT-004 MODIF ID B21.
parameters : p_0002 like AFRU-ISMNW OBLIGATORY MODIF ID B21 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-005 MODIF ID B21.
parameters : p_0003 like AFRU-ISMNW OBLIGATORY MODIF ID B21.
SELECTION-SCREEN COMMENT 45(40) TEXT-006 MODIF ID B21.
parameters : p_0004 like AFRU-ISMNW OBLIGATORY MODIF ID B21 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK B2 .
at selection-screen OUTPUT.
IF R_COM EQ 'X' .
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'B21'.
SCREEN-ACTIVE = 0 .
MODIFY SCREEN.
ENDIF.
ENDLOOP.
thanks ,
sridharAMIT ,
IT IS WORKING , thanks but when i use another block like below and using this code it is not working .
SELECTION-SCREEN : BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-002..
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-003 MODIF ID B22.
parameters : p_0005 like AFRU-ISMNW OBLIGATORY MODIF ID B22.
SELECTION-SCREEN COMMENT 45(40) TEXT-004 MODIF ID B22.
parameters : p_0006 like AFRU-ISMNW OBLIGATORY MODIF ID B22 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-005 MODIF ID B21.
parameters : p_0007 like AFRU-ISMNW OBLIGATORY MODIF ID B22.
SELECTION-SCREEN COMMENT 45(40) TEXT-006 MODIF ID B22.
parameters : p_0008 like AFRU-ISMNW OBLIGATORY MODIF ID B22 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK B3 .
at selection-screen OUTPUT.
IF R_COM EQ 'X' .
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'B21'.
SCREEN-ACTIVE = 0 .
MODIFY SCREEN.
ENDIF.
ENDLOOP.
elseif r_group eq 'X'.
LOOP AT SCREEN .
IF SCREEN-GROUP1 = 'B22'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
my question is , whne i select one radio button how to diable block .
thanks,
sridhar -
Selection screen changes at selection screen output
Hi all,
I have to make my one block in selection scren invisible based on a particular condition.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_status FOR g_status NO INTERVALS.
PARAMETERS : p_trans(3) TYPE c,
p_hub(3) TYPE c.
SELECT-OPTIONS: s_auart FOR g_auart.
PARAMETERS: p_buyt(1) TYPE c.
SELECT-OPTIONS:
s_order FOR g_vbeln,
s_zzhrt FOR g_zzhrtosec,
s_vbeln1 FOR g_vbeln1,
s_dccode FOR g_dccode NO INTERVALS,
s_pgi FOR g_pgi.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
PARAMETERS : p_c1 AS CHECKBOX USER-COMMAND cmd.
SELECT-OPTIONS: s_list FOR g_list NO INTERVALS MODIF ID sc1.
SELECTION-SCREEN END OF BLOCK blk2 .
SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.
PARAMETERS : p_c2 AS CHECKBOX USER-COMMAND cmd2.
SELECT-OPTIONS: s_mail FOR g_mail NO INTERVALS MODIF ID sc2.
PARAMETERS: p_accld LIKE g_saknr DEFAULT '1342009999' MODIF ID sc2
OBLIGATORY,
p_accit LIKE g_saknr DEFAULT '1365009999' MODIF ID sc2
OBLIGATORY,
p_opacc LIKE g_saknr DEFAULT '346100XX99' MODIF ID sc2
OBLIGATORY,
p_lmacc LIKE g_saknr DEFAULT '1393009999' MODIF ID sc2
OBLIGATORY,
p_lmopa LIKE g_saknr DEFAULT '3471009999' MODIF ID sc2
OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk3.
The block 3 'blk3' should be made invisible based on a condition.
I have tried loop at screen-name but its not working.
Kindly advice.
Thanks and Regards,
DivyaHi Divya,
Check the below code.
tables: pa0000, pa0001.
parameters: p_chk1 as checkbox user-command rusr,
p_chk2 as checkbox user-command rusr,
p_chk3 as checkbox user-command rusr,
p_chk4 as checkbox user-command rusr,
p_chk5 as checkbox user-command rusr.
selection-screen: begin of block blk1 with frame.
select-options: s_pernr for pa0000-pernr modif id ABC,
s_stat2 for pa0000-stat2 modif id DEF,
s_werks for pa0001-werks modif id GHI,
s_persg for pa0001-persg modif id JKL,
s_persk for pa0001-persk modif id MNO.
selection-screen: end of block blk1.
AT SELECTION-SCREEN output.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'ABC'.
IF p_chk1 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'DEF'.
IF p_chk2 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'GHI'.
IF p_chk3 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'JKL'.
IF p_chk4 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'MNO'.
IF p_chk5 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*Note
*Titles for check boxes and select options
*P_CHK1 Personal Number
*P_CHK2 Employment Status
*P_CHK3 Personnel Area
*P_CHK4 Employee Group
*P_CHK5 Employee Sub group
*S_PERNR Personal Number
*S_PERSG Employee Group
*S_PERSK Employee Sub group
*S_STAT2 Employment Status
*S_WERKS Personnel Area -
Hallow every one I have a program that check if employee do course and employee don't.
For that u have to choose course num ,the problem is that when the user choose course that not <b>valid</b> how can I bring error message for that tanks.
This is my declaration
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
SELECT-OPTIONS c_course FOR z_course_table-objid
OBLIGATORY NO INTERVALS NO-EXTENSION.Hi judith
I try your suggestion and it still dont working maybe u have idea why
And when I try with this kind of messege(message e000 WITH 'Cousre ID not valid'.) I have this error
A message ID has not been entered. You can specify this entry for thewhole program using the "MESSAGE-ID msgid" addition with the statment
I change the messege for new and I dont have error but it not work
and when i put break point its not going to this place .
<b>regards</b>
AT SELECTION-SCREEN ON VALUE-REQUEST FOR c_course-low.
*======================================================
IF NOT c_course[] IS INITIAL.
SELECT objid FROM hrp1001
INTO z_course_table-objid
WHERE objid IN c_course.
IF sy-subrc NE 0.
MESSAGE 'Pleas enter the value for course' TYPE 'E'.
ENDIF.
ENDSELECT.
ENDIF.
REFRESH: c_course.
CLEAR: c_course.
PERFORM get_objid USING 'D'
CHANGING c_course-low.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR c_course-high.
*======================================================
IF c_course-high IS INITIAL.
MESSAGE 'Pleas enter the value for course' TYPE 'E'.
ENDIF.
REFRESH: c_course.
CLEAR: c_course.
PERFORM get_objid USING 'D'
CHANGING c_course-high. -
Mix of Parameters & Select Options in a Selection screen in WD4A
Hi All.
I just created my first selection screen in WD4A couple of days back.
Now, we have to mix up some parameters and select-options just like in normal ABAP.
But I could only find a way to insert a "Range" into the WD4A screens via "Create_Range_table".
Supposing I have 2 select-options, then 2 parameters - i.e. no Pattern or range or intervals options (simple = option); then again 2 select-options.
Can't we make a simple Parameter option in WD4A selection screen? I know we can make no_extension and no_intervals as true so that it does look like a parameter. But still user can enter a pattern search in it like a select-option.
Hope my query is clear.
Another question is : As far as I understood, we ALWAYS need a IT_RESULT table in the method ADD_SELECTION_FIELD. Then why is it not mandatory in the method?
Thanks in adv.Hi Aishi,
In an early version of SelectOptions, the parameter it_result was mandatory. Some time later, a developer contacted me and showed me an example where it was benefitial to first create the field and to pass in the range table at a later point in his algorithm. This can be done by calling set_range_table_of_sel_field( ). Hence, the parameter has become optional. Of course, a range table needs to be specified before the page gets rendered.
Best regards,
Thomas -
Selection Screen Parameters in SQL statements
Very new ABAP programmer here, so sorry if this is a really dumb question.
I'm trying to use my selection screen parameters to limit what is pulled in by my SQL statement (which seems to me to be a very logical thing to do). But I'm having a problem, that when no values are entered in the parameters, no data is returned in the table instead of all the data being returned.
Here is the code I have now:
SELECT cname1 akostl aorgeh asname apernr bbegda bendda bstatu
bconfl bmedcf breasn breman b~rqday
INTO CORRESPONDING FIELDS OF TABLE it_record
FROM ( ( pa0001 AS a
INNER JOIN pa0672 AS b ON bpernr = apernr )
INNER JOIN t500p AS c ON cpersa = awerks )
WHERE b~reman in so_reman
AND a~kostl in so_kostl
AND a~orgeh = p_orgeh
AND b~begda = p_begda
AND b~statu = p_statu
AND b~confl = p_confl
AND b~medcf = p_medcf
AND b~reasn = p_reasn
AND b~rqday = p_rqday
AND c~name1 = p_name1.
Can anyone tell me what I'd need to do to make it return properly?When you use parameters and no value is entered, it is treated as initial value. and the select statement looks for the initial values for those fields in the tabl;e...
you can make the parameters mandatory..then the user would be forced to enter something....
also you could do the following..
instead of parameters, use select-options with the addition no intervals and no extension, then practically it looks like a parameter but internally it is a select-option...
and in the select statement, give conditions like....field1 in <s_option name>....in this case if the user is not entering a value ...it is treated as *...
Thnaks & Regards,
Renjith
Maybe you are looking for
-
How can i update apps purchased on an old apple id
Ok, so for about 4 years I have been using my husbands apple id on my Mac and iPhone...now with Family Sharing I'm trying to switch both my Mac and iPhone over to my apple id. The problem is that the apps that were bought with my husbands id will no
-
How to operate multiple querys using DB Adapter and 'Execute Custom SQL'
I have a requirment that I need to create database adapter in your BPEL process with 'Execute Custom SQL' to operate multiple query in DB in one atomic here are the details: inbound request: <ns1:Query_bpelProcessRequest> <ns1:input> <ns1:ItemDetail>
-
CAPITAL ONE DISPUTED LATE PAYMENT WITHOUT MY PERMISSION!
HELP! I am in the processes of working on 3 late payments on my Capital One card. I called yesterday and very clearly stated to the rep that I was looking for a GW removal and NOT a dispute. He gave me the typical scripted speech that they would make
-
ABAP report to monitor Background Jobs (SM37)
Hi, I need an ABAP report to monitor Background Jobs (SM37) which can monitor following things: 1) All jobs which got cancelled based upon the hours field specified in the customizing table. 2)All jobs which are active till the current date. Hope to
-
I looking for implement a plug-in interface, and third-party implement theirs own class using my interface. the problem is: i don't know how can load a class without know his description. I have only class files. someon know if java have a mechanism