SELECTION-SCREEN
Variants
1. SELECTION-SCREEN BEGIN OF LINE.
2. SELECTION-SCREEN END OF LINE.
3. SELECTION-SCREEN SKIP n.
4. SELECTION-SCREEN ULINE.
5. SELECTION-SCREEN POSITION pos.
6. SELECTION-SCREEN COMMENT fmt name.
7. SELECTION-SCREEN PUSHBUTTON fmt name USER-COMMAND ucom.
8. SELECTION-SCREEN BEGIN OF BLOCK block.
9. SELECTION-SCREEN END OF BLOCK block.
10. SELECTION-SCREEN FUNCTION KEY n.
11. SELECTION-SCREEN BEGIN OF VERSION ver TEXT-xxx.
12. SELECTION-SCREEN END OF VERSION ver.
13. SELECTION-SCREEN EXCLUDE ... .
14. SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE dbtab.
15. SELECTION-SCREEN FIELD SELECTION FOR TABLE dbtab.
Effect
The key word SELECTION-SCREEN only makes sense in
reports, i.e. programs specified as type "1" in the attributes. You use
it to design the selection screen in the program or logical database
access routine.
The selection screen is normally generated from the
SELECT-OPTIONS and
PARAMETERS statements in the
report and logical database access routine. Each of these objects
occupies a separate line on the selection screen.
SELECTION-SCREEN allows you to form blocks, combine several
parameters and comments together on one line, generate pushbuttons on
the screen or activate them in the application toolbar, as well as
insert blank lines, underscore lines and comments.
Like SELECT-OPTIONS and
PARAMETERS , you can use
SELECTION-SCREEN statements in reports and in the include
program DBldbSEL of the logical database
ldb assigned to the report in the attributes. Some variants are
defined only for logical databases and can therefore
only be used in the include program DBldbSEL .
Variant 1
SELECTION-SCREEN BEGIN OF LINE.
Variant 2
SELECTION-SCREEN END OF LINE.
Effect
Allows you to combine several parameters and comments
specified between the SELECTION-SCREEN BEGIN OF LINE and
SELECTION-SCREEN END OF LINE statements and output them on one
line. As a result, there is no automatic new line for each
PARAMETER and no selection texts are
displayed.
Example
-
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) TEXT-001.
PARAMETERS: P1(3), P2(5), P3(1).
SELECTION-SCREEN END OF LINE.
Selection screen:
Comment ___ _____ _
Note
You cannot order
SELECT-OPTIONS between
SELECTION-SCREEN BEGIN OF LINE and SELECTION-SCREEN END OF
LINE because several objects are generated on the selection screen
for a SELECT-OPTION (e.g. fields for the lower and upper limits
of ranges).
Variant 3
SELECTION-SCREEN SKIP n.
Additions
1. ... FOR TABLE dbtab
2. ... ID id
Effect
Generates n blank lines (see also
SKIP ).
You must specify a value for n between 1 and 9. If you want to
output just one blank line, you can omit n .
Addition 1
... FOR TABLE dbtab
Effect
This addition is allowed only in the database
include program DBldbSEL . It is, in fact, a requirement.
If you use SELECTION-SCREEN SKIP in DBldbSEL , you must
assign the statement to a table (or to a field - see the variant
COMMENT .
This assignment is necessary in order to restrict the
SELECTION-SCREEN statements for a report selection screen to
those relevant for the tables used in the report, i.e. those which
refer to a table used in the report. Any SELECTION-SCREEN
statement assigned to a table not used in the report with the addition
FOR TABLE dbtab are ignored when the report selection screen is
generated.
Note
A table dbtab of the logical database
ldb is considered as "used in the report" if it is
either declared in a TABLES statement
or its position in the database hierarchy lies somewhere between the
root and a table dbtab_2 declared in the report.
Example
Hierarchy of logical database ldb :
-
SPFLI
|
---- SAPLANE
|
---- SFLIGHT
|
---- SBOOK
In the report:
TABLES SFLIGHT.
Tables considered as "used" include SFLIGHT (since it is
declared directly), as well as SAPLANE and SPFLI (since
they lie on the path from the hierarchy root " SPFLI " to the
declared table SFLIGHT ). The table SBOOK is not
considered as used, i.e. all the SELECTION-SCREEN statements
qualified with the addition " FOR TABLE SBOOK " in DBldbSEL
are ignored.
Addition 2
... ID id
Effect
This addition is allowed only in the database
include program DBldbSEL . It is used to identify a
SELECTION-SCREEN object (in this case blank lines) via an ID
which can be up to 3 characters long. This ID is then specified in
SELECTION-SCREEN EXCLUDE IDS id in order to exclude the object
from a selection screen version.
Variant 4
SELECTION-SCREEN ULINE.
Additions
1. ... fmt
2. ... FOR TABLE dbtab
3. ... MODIF ID mod
4. ... ID id
Effect
Generates an underline (see also
ULINE ).
Addition 1
... fmt
Effect
Format specification with the form /pos(len) ,
pos(len) or (len) . The slash ( / ) generates a new
line and is therefore not allowed between BEGIN OF LINE and
END OF LINE . The effect of the statement is to underscore the
current line starting from the position pos for the length
len . The variant (len) (without position specification)
is allowed only between BEGIN OF LINE and END OF LINE . In
this case, the current position in the line is used. See also
WRITE .
You can specify the position pos as a number (in this case, it
is relative to the frame if the statement comes between
SELECTION-SCREEN BEGIN OF BLOCK ... WITH FRAME ... and
SELECTION-SCREEN END OF BLOCK ... ). Also allowed are the
symbolic positions POS_LOW and POS_HIGH . These are the
positions at which the input fields of the
SELECT-OPTI ONS are output
( POS_LOW is also the position of
PARAMETERS .
Note
Format specifications which do not generate a new line can
produce overlapping objects on the selection screen. Therefore, you
should be particularly careful with position and length specifications.
Example
-
SELECTION-SCREEN ULINE /1(10).
SELECTION-SCREEN ULINE POS_LOW(10).
SELECTION-SCREEN ULINE POS_HIGH(10).
This generates three underscore blocks, each with a length of 10, on
one line.
Addition 2
... FOR TABLE dbtab
Effect
See variant 3 ( SELECTION-SCREEN SKIP ).
Addition 3
... MODIF ID mod
Effect
The specified modification group ( SCREEN-GROUP1 )
is assigned to the underscore. You can use this under
AT SELECTION-SCREEN in
the report or in the PAI routine of the database program
SAPDBldb to modify the screen.
Note
The name of the modification group must be specified
without quotation marks. It can be up to three characters long.
Addition 4
... ID id
Effect
See variant 3 ( SELECTION-SCREEN SKIP )
Variant 5
SELECTION-SCREEN POSITION pos.
Addition
... FOR TABLE dbtab
Effect
Outputs the parameter starting from the position
pos .
This variant is allowed only between SELECTION-SCREEN BEGIN OF
LINE< /> and SELECTION-SCREEN END OF LINE .
As with the addition ULINE , you can specify the position as
fixed (if necessary relative to the frame) or symbolically in the form
POS_LOW or POS_HIGH .
Addition
... FOR TABLE dbtab
Effect
See variant 3 ( SELECTION-SCREEN SKIP )
Variant 6
SELECTION-SCREEN COMMENT fmt name.
Additions
1. ... FOR TABLE dbtab
2. ... FOR FIELD f
3. ... MODIF ID mod
4. ... ID id
Effect
Generates a comment on the selection screen. For the
name name , there are two options:
name takes the form TEXT-xxx where xxx is a
three-character name for a text symbol. In this case, the contents of
the text symbol are displayed at runtime, i.e. the text cannot be
changed dynamically.
name is another eight-character name. Here, you create a field
with the name name in the length specified in the format
fmt< /> and it is then generated as an output field on the
selection screen. The contents of these comments must therefore be set
at runtime (e.g. at INITIALIZATION or - in the case of comments
in the database include program DBldbSEL - in the routine
INIT of the database program SAPDBldb . They can also be
changed when the selection screen is being processed.
Note
The field name is generated automatically and so
cannot be defined with DATA .
With comments, you must always specify a format fmt (see
variant ULINE ).
Note
You must program a new line yourself via the format
fmt .
Addition 1
... FOR TABLE dbtab
Note
See variation 3 (SELECTION-SCREEN SKIP).
Addition 2
... FOR FIELD f
Effect
Since the comment is assigned to a
parameteror a select-option
, the help display shows the documentation of the reference
field if this parameter or selection option.
In addition, the comment is suppressed if the reference object was set
to 'invisible' via a selection variant.
Note
In database access routines, the comment is generated
whenever the reference field is output. Therefore, you should not use
the addition FOR TABLE with this variant.
Example
-
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 10(20) TEXT-001
FOR FIELD PARM.
SELECTION-SCREEN POSITION POS_LOW.
PARAMETERS PARM LIKE SAPLANE-PLANETYPE.
SELECTION-SCREEN END OF LINE.
This code displays a 20-byte long comment followed by the parameter
at the normal position ( POS_LOW ) on the same line. If the user
presses F1 for both objects, the documentation of
SAPLANE-PLANETYPE is displayed.
Addition 3
... MODIF ID mod
Effect
See variant 4 ( SELECTION-SCREEN ULINE )
Addition 4
... ID id
Effect
See variant 3 ( SELECTION-SCREEN SKIP )
Variant 7
SELECTION-SCREEN PUSHBUTTON fmt name USER-COMMAND
ucom.
Additions
1. ... FOR TABLE dbtab
2. ... MODIF ID mod
3. ... ID id
Effect
Generates a pushbutton on the selection screen. Also
specified is the user command ucom (without quotation marks)
which can be up to 4 characters long. This is generated when the user
presses the button. Apart from this, the syntax is largely similar to
that of SELECTION-SCREEN COMMENT :
For the name name , there are two options:
name takes the form TEXT-xxx where xxx is a
three-character name for a text symbol. In this case, the contents of
the text symbol are displayed at runtime, i.e. the text cannot be
changed dynamically.
name is another eight-character name. Here, you create a field
with the name name in the length specified in the format
fmt< /> and it is then generated as an output field on the
selection screen. The contents of these comments must therefore be set
at runtime (e.g. at INITIALIZATION or - in the case of comments
in the database include program DBldbSEL - in the routine
INIT of the database program SAPDBldb . They can also be
changed when the selection screen is being processed.
Note
The field name is generated automatically and so
cannot be defined with DATA .
With pushbuttons, you must always specify a format fmt (see
variant ULINE ).
Note
You must program a new line yourself via the format
fmt .
The best way to respond to the user pressing the pushbutton is in the
event AT SELECTION-SCREEN or -
in the case of pushbuttons in the database include program
DBldbSEL - in the routine PAI (with FNAME = '*'
and MARK = SPACE ) in the database program SAPDBldb . Here,
the field SSCRFIELDS-UCOMM contains the user command ucom
(the table SSCRFIELDS must be declared with the
TABLES statement).
Addition 1
... FOR TABLE dbtab
Effect
See variant 3 ( SELECTION-SCREEN SKIP )
Addition 2
... MODIF ID mod
Effect
See variant 4 ( SELECTION-SCREEN ULINE )
Addition 3
... ID id
Effect
See variant 3 ( SELECTION-SCREEN SKIP )
Example
-
TABLES SSCRFIELDS.
...
SELECTION-SCREEN PUSHBUTTON /10(20) CHARLY USER-COMMAND ABCD.
...
INITIALIZATION.
MOVE 'My text' TO CHARLY.
...
AT SELECTION-SCREEN.
IF SSCRFIELDS-UCOMM = 'ABCD'.
...
ENDIF.
The selection screen displays a pushbutton with the text 'My
text' . With AT SELECTION-SCREEN
, the field SSCRFIELDS-UCOMM contains
ABCD after the user has pressed the button.
Variant 8
SELECTION-SCREEN BEGIN OF BLOCK block.
Additions
1. ... WITH FRAME
2. ... TITLE title
3. ... NO INTERVALS
Effect
Starts a logical block on the selection screen. If you
use the addition WITH FRAME , a frame is generated around the
block. The addition TITLE title is allowed only in conjunction
with WITH FRAME .
For the title title ,there are two options (see also the variants
COMMENT and PUSHBUTTON ):
title takes the form TEXT-xxx where xxx is a
three-character name for a text symbol. In this case, the contents of
the text symbol are displayed at runtime, i.e. the text cannot be
changed dynamically.
title is another eight-character name. Here, you create a
field with the name title in the length specified in the format
fmt< /> and it is then generated as an output field on the
selection screen. The contents of these comments must therefore be set
at runtime (e.g. at INITIALIZATION or - in the case of comments
in the database include program DBldbSEL - in the routine
INIT of the database program SAPDBldb . They can also be
changed when the selection screen is being processed.
Note
The field title is generated automatically and so
cannot be defined with DATA .
At runtime, the event AT SELECTION-SCREEN ON BLOCK block
is executed for every block in
the PAI module of the selection screen (with database- specific
blocks, the PAI module in the program SAPDBldb is also
executed with the parameters FNAME = BLOCK_block and MARK =
SPACE ). If this produces an error message, just the fields of this
block are ready for input.
You can nest blocks. The maximum nesting depth for blocks with frames
is 5.
Addition 3
... NO INTERVALS
Effect
Displays all
SELECT-OPTIONS within the
block in simplified form without a 'to' field on the selection screen
(like the addition " NO INTERVALS " with
SELECT-OPTIONS ). If the block has a
frame, this is correspondingly small.
Note
In the case of blocks without frames, the attribute
" NO INTERVALS " is not inherited by subordinate blocks. However,
all subordinate blocks of blocks with frames inherit this attribute
because the generated frame is smaller and there is no space for the
'to' field.
Variant 9
SELECTION-SCREEN END OF BLOCK block.
Effect
Closes the block opened by SELECTION-SCREEN BEGIN OF
BLOCK block . If the block has a frame, the frame is closed here.
Blocks opened in the include program DBldbSEL must also
be closed there.
Note
Blocks defined in the database include program
DBldbSEL must also be close there. As with SELECTION-SCREEN
BEGIN OF LINE and SELECTION-SCREEN END OF LINE , you cannot
use the addition FOR TABLE with blocks. Instead, the objects in
the blocks (selection options ,
parameters , comments, underscores ...) are
omitted if the table to which they belong is not used in the report
(see note under variant SELECTION-SCREEN SKIP ). Empty blocks
(possibly with frames) are also omitted.
Example
-
TABLES SAPLANE.
SELECTION-SCREEN BEGIN OF BLOCK CHARLY
WITH FRAME TITLE TEXT-001.
PARAMETERS PARM(5).
SELECT-OPTIONS SEL FOR SAPLANE-PLANETYPE.
SELECTION-SCREEN END OF BLOCK CHARLY.
(Let TEXT-001 contain 'Block Charly' ).
Selection screen:
--Block Charly-----------------------------------
| PARM _____ |
| SEL ________ bis ________ |
-------------------------------------------------
Variant 10
SELECTION-SCREEN FUNCTION KEY n.
Additions
1. ... FOR TABLE dbtab
2. ... ID id
Effect
With this variant, you can activate up to 5 function
keys in the application toolbar on the selection screen ( n is
one of the numbers 1 to 5).
At runtime, the text must be placed in the Dictionary field
SSCRFIELDS-FUNCTXT_01 or ... SSCRFIELDS-FUNCTXT_05 .
The function code placed in the field SSCRFIELDS-UCOMM is
'FC01' or ... 'FC05' . You can read this function
code under AT SELECTION-SCREEN
or in the PAI module of the database access program
SAPDBldb .
Addition 1
... FOR TABLE dbtab
Effect
See variant 3 ( SELECTION-SCREEN SKIP )
Addition 2
... ID id
Effect
See variant 3 ( SELECTION-SCREEN SKIP )
Example
-
TABLES SSCRFIELDS.
...
SELECTION-SCREEN FUNCTION KEY 1.
...
INITIALIZATION.
MOVE 'My text' TO SSCRFIELDS-FUNCTXT_01.
...
AT SELECTION-SCREEN.
IF SSCRFIELDS-UCOMM = 'FC01'.
...
ENDIF.
The selection screen displays a pushbutton with the text 'My
text' . With AT SELECTION-SCREEN
, the field SSCRFIELDS-UCOMM contains
FC01 after the user has pressed the button.
Variant 11
SELECTION-SCREEN BEGIN OF VERSION ver
TEXT-xxx.
Variant 12
SELECTION-SCREEN END OF VERSION ver.
Variant 13
SELECTION-SCREEN EXCLUDE ... .
Effect
Defines a selection screen version (with a
three-character name ver ). These variants are only allowed in
the database include program DBldbSEL . Between BEGIN
OF VERSION and END OF VERSION , you can exclude selection
screen objects for the version ver , i.e. remove them from the
selection screen with SELECTION-SCREEN EXCLUDE. .
For a report, you activate a selection screen by making an entry in the
attributes. If the database access program SAPDBldb itself has a
selection screen version in the attributen, this applies for all
reports which use this logical database and have attributes where no
separate selection screen version is declared.
The text symbol TEXT -xxx is used merely to facilitate selection
of a selection screen version via F4 help when maintaining the
attributes.
Additions
(to SELECTION-SCREEN EXCLUDE )
1. ... PARAMETERS par
2. ... SELECT-OPTIONS sel
3. ... RADIOBUTTON GROUPS radi
4. ... BLOCKS block
5. ... IDS id
Effect
Excludes selection screen objects between
SELECTION-SCREEN BEGIN and END OF VERSION . This allows
you to exclude individual parameters or
selection options ,
radiobutton groups , blocks defined by
SELECTION-SCREEN BEGIN/END OF BLOCK and other objects such as
comments and underscores specified by the addition ID id .
Note
The database program SAPDBldb can get the active
version for the current report with the function module
RS_SELSCREEN_VERSION .
Example
PARAMETERS PAR_1 LIKE dbfield_1 FOR TABLE dbtab_1.
SELECT-OPTIONS SEL_1 FOR dbfield_01.
SELECT-OPTIONS SEL_2 FOR dbfield_02.
SELECT-OPTIONS SEL_3 FOR dbfield_03.
SELECTION-SCREEN COMMENT /10(20) TEXT-100 FOR TABLE dbtab_1 ID 001.
SELECTION-SCREEN COMMENT /8(30) TEXT-200 FOR TABLE dbtab_2 ID 002.
PARAMETERS PAR_2 LIKE dbfield_1 FOR TABLE dbtab_2.
PARAMETERS PAR_3 LIKE dbfield_1 FOR TABLE dbtab_2.
...
SELECTION-SCREEN BEGIN OF VERSION ABC TEXT-008.
SELECTION-SCREEN EXCLUDE PARAMETERS: PAR_1, PAR_3.
SELECTION-SCREEN EXCLUDE SELECT-OPTIONS: SEL_2.
SELECTION-SCREEN EXCLUDE IDS: 001.
SELECTION-SCREEN END OF VERSION ABC.
If the report attributes (or the attributes of the database program
SAPDBldb ) contain the selection screen version ABC , the
parameters PAR_1 and PAR_3 , the selection option
SEL_2 and the comment with the text number 100 ( ID 001 )
are not displayed on the selection screen. When you maintain the
attributes, the text symbol 008 of SAPDBldb is displayed if you
press F4 on the field 'Selection screen version'.
Variant 14
SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE
dbtab.
Addition
... ID id
Effect
This variant is allowed only in the database
include program DBldbSEL . It informs you for which
logical database tables additional selections are supported. If one of
these tables is active in the report (i.e. it is declared under
TABLES or lies somewhere on the path from the root of the
database hierarchy to a table declared with TABLES ), a
psuhbutton called 'Dynamic selections' appears on the selection screen.
On pressing this button, the user branches to a dialog Taste where it
is possible to enter selections for the fields of the relevant tables
in the logical database. You can define the field list in two different
ways:
Via a selection view defined for the purpose:
You can maintain selection views within the logical database
maintenance transaction. They consist of a set of fields from logical
database tables which are divided into groups. It is also possible to
preselect fields. Customers can overlay these selection views with
their own (i.e. in this case, the system searches first for the
customer selection view and only accesses the SAP selektion view if no
customer-specific view exists).
If a preselection has already been made in the selection view, the user
immediately sees the selection screen for the preselected fields and
can enter selections. Otherwise, a fields must be selected first.
Via all fields of all tables
In this case, the user must first choose the tables and then select the
fields for which additional selections are to be made before branching
to the selection screen to enter the dynamic selections.
The database access programm SAPDBldb then receives the
WHERE clauses generated from the user entries in the form of a
complex data object DYN_SEL .
Addition
... ID id
Effect
Similar to the addition 2 ( SKIP ). This
allows you to exclude tables from the possibility of dynamic selection
via the selection screen versions.
Note
The exact definition of the object DYN_SEL is
stored in the TYPE-POOL
RSDS and is as follows:
-
TYPES: BEGIN OF RSDS_WHERE,
TABLENAME LIKE RSDSTABS-PRIM_TAB,
WHERE_TAB LIKE RSDSWHERE OCCURS 5,
END OF RSDS_WHERE.
...
TYPES: BEGIN OF RSDS_TYPE,
CLAUSES TYPE RSDS_WHERE OCCURS 5,
TEXPR TYPE RSDS_TEXPR,
TRANGE TYPE RSDS_TRANGE,
END OF RSDS_TYPE.
DATA DYN_SEL TYPE RSDS_TYPE.
The object DYN_SEL thus contains a component ( CLAUSES )
which is an internal table. Each line of this internal table contains a
table name ( TABLENAME ) and another table ( WHERE_TAB )
which contains the WHERE clauses for the table
( TABLENAME ).
You can find the structure of the other components in the type pool
RSDS .
TEXPR contains the selections in a format which allows storage
and can be used for the "freely callable" function modules when
entering dynamic selections ( FREE_SELECTIONS_INIT ,
FREE_SELECTIONS_DIALOG ). TRANGE contains the selections
in the form of RANGES tables which can
be used with the IN operator in
SELECT ,
CHECK and
IF .
Note
Neither the TYPE-POOL
RSDS nor the declaration of DYN_SEL must appear in the
database program. Both are automatically included by the system.
In the database program SAPDBldb , an access to a table
XXXX could look something like below:
-
FORM PUT_XXXX.
DATA L_DS_CLAUSES TYPE RSDS_WHERE.
MOVE 'XXXX' TO L_DS_CLAUSES-TABLENAME.
READ TABLE DYN_SEL-CLAUSES WITH KEY L_DS_CLAUSES-TABLENAME
INTO L_DS_CLAUSES.
SELECT * FROM XXXX
WHERE field1 IN ...
AND field2 ....
...
AND (L_DS_CLAUSES-WHERE_TAB).
PUT XXXX.
ENDSELECT.
ENDFORM.
Note
If the table L_DS_CLAUSES-WHERE_TAB is empty, i.e.
if no dynamic selections are entered for the table XXXX , the
addition ... AND (L_DS_CLAUSES-WHERE_TAB) is ignored during the
SELECT .
Variant 15
SELECTION-SCREEN FIELD SELECTION FOR TABLE
dbtab.
Addition
... ID id
Effect
This variant is allowed only in the database
include program DBldbSEL . It informs you for which
logical database tables field selection is supported.
For these tables, you can fill just those database fields which the
report actually needs. In the report, you determine these fields with
GET dbtab FIELDS f1 ... fn or
GET dbtab LATE FIELDS f1 ... fn (the
field list is then supplemented by the key fields of the table
dbtab ).
By restricting to the really necessary field, you considerably improve
performance.
The database access program SAPDBldb receives the desired
fields for the dynamic field selection in the form of an internal table
SELECT_FIELDS .
Note
The exact definition of the object SELECT_FIELDS is
stored in the TYPE-POOL
RSFS and looks something like below:
-
TYPES: BEGIN OF RSFS_TAB_FIELDS,
TABLENAME LIKE RSDSTABS-PRIM_TAB,
FIELDS LIKE RSFS_STRUC OCCURS 10,
END OF RSFS_TAB_FIELDS.
...
TYPES: RSFS_FIELDS TYPE RSFS_TAB_FIELDS OCCURS 10.
DATA SELECT_FIELDS TYPE RSFS_FIELDS.
SELECT_FIELDS is thus an internal table. Each line of this
internal table contains a table name ( TABLENAME ) and another
internal table ( FIELDS ) which contains the desired fields of the
table ( TABLENAME ).
Note
Neither the TYPE-POOL
RSFS nor the declaration of SELECT_FIELDS has to appear
in the database program. Both are automatically included by the system.
Unlike the objects connected with the addition DYNAMIC
SELECTIONS , SELECT_FIELDS is also available in the report.
In the database program SAPDBldb , an access to a table
XXXX could look something like below:
-
FORM PUT_XXXX.
DATA L_TAB_FIELDS TYPE RSFS_TAB_FIELDS.
MOVE 'XXXX' TO L_TAB_FIELDS-TABLENAME.
READ TABLE SELECT_FIELDS WITH KEY L_TAB_FIELDS-TABLENAME
INTO L_TAB_FIELDS.
SELECT (L_TAB_FIELDS-FIELDS)
INTO CORRESPONDING FIELDS OF XXXX
FROM XXXX
WHERE field1 IN ...
AND field2 ....
...
PUT XXXX.
ENDSELECT.
ENDFORM.
Note
If the table L_TAB_FIEDLS is empty, i.e. if no
dynamic selections are entered for the table XXXX ,
SELECT (L_TAB_FIELDS) ... works like
SELECT * ... , i.e. all fields of the
table XXXX are filled.
The internal table SELECT_FIELDS already contains values when
the routine INIT is executed in the database program or when the
INITIALIZATION processing is
executed in the report. It can be manipulated by the appropriate
program if it is absolutely necessary to fill another field for the
logical database.
Index
© SAP AG 1996