ABAPCHECK_SEL_OPT - CHECK SEL OPT
Vendor Master (General Section) CL_GUI_FRONTEND_SERVICES - Frontend ServicesThis documentation is copyright by SAP AG.
CHECK - Particularly for reports with logical databases
Variants:
1. CHECK sel.
2. CHECK SELECT-OPTIONS.
Effect
Statement for leaving a processing block in an executable program conditionally.
Variant 1
CHECK sel.
Effect
Checks the selection criterion requested by the statement SELECT-OPTIONS sel ... .
This statement is equivalent to f IN sel, if sel was defined bySELECT-OPTIONS sel FOR f and can be used anywhere inlogical expressions.
If the result of this check is negative, the processing in this event is terminated and the GET events for any subordinate database tables are not processed either.
This variant of the CHECK statement should be used only if the logical database for the corresponding table does not support dynamic selections (see CHECK SELECT-OPTIONS), orSELECT-OPTIONSwith the addition NO DATABASE SELECTION. Otherwise, the relevant record is not read from the database and made available to the program.
Variant 2
CHECK SELECT-OPTIONS.
See CHECK SELECT-OPTIONS not allowed.
Effect
Called only after a GET event.
This statement checks all the selections for SELECT-OPTIONSwhere the reference field after FOR belongs to the current table dbtab (specified afterGET). However, this applies only if thelogical database for dbtab does not supportdynamic selections. Otherwise, the selections are passed directly to the logical database (with the exception: addition"NO DATABASE SELECTION" to SELECT-OPTIONS).
This variant of the CHECK statement only makes sense if the logical database does not support dynamic selections for the corresponding table orSELECT-OPTIONS are defined with the addition "NO DATABASE SELECTION".
You can find out from the ABAP Development Workbench whether dynamic selections are defined and,if so, for which logical database tables by choosing Development →Programming environ. → Logical databases followed by Extras → Dynamic selections.
Example
The logical database F1S of the demo flight reservation system contains the table SPFLI with dynamic selections, and the table SFLIGHT without dynamic selections.
NODES:
SPFLI, SFLIGHT.
SELECT-OPTIONS:
SF_PRICE FOR SFLIGHT-PRICE,
SP_CARR FOR SPFLI-CARRID,
SP_FROM FOR SPFLI-CITYFROM NO DATABASE SELECTION,
SP_DEPT FOR SPFLI-DEPTIME.
Since dynamic selections are defined with the table SPFLI, but not with the table SFLIGHT, the following procedure applies:
...
GET SFLIGHT.
CHECK SELECT-OPTIONS.
This CHECK statement is equivalent to the following statement:
CHECK SF_PRICE.
similarly, in the following example, CHECK SELECT-OPTIONS is equivalent to CHECK SP_FROM:
GET SPFLI.
CHECK SELECT-OPTIONS
Note
With CHECK SELECT-OPTIONS, fields from superior tables in the database hierarchy are not (!) checked.
Exceptions
Non-Catchable Exceptions
Cause: Wrong "OPTION" in SELECT-OPTIONS table or RANGES table
Runtime Error: CHECK_SELOPT_ILLEGAL_OPTION
- Cause: Wrong "SIGN" in SELECT-OPTIONS table or RANGES table
Runtime Error: CHECK_SELOPT_ILLEGAL_SIGN
Related
Additional help
PERFORM Short Reference ABAP Short Reference
This documentation is copyright by SAP AG.
Length: 6297 Date: 20120518 Time: 203743 triton ( 167 ms )






