Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

submit

Former Member
0 Kudos

in submit there is an option for dynamic selections like

.....WITH FREE SELECTIONS texpr

any one pls explain regarding this pls with example

1 ACCEPTED SOLUTION

Former Member
0 Kudos

HI

<b>WITH FREE SELECTIONS texpr</b>

This addition supplies values to the dynamic selections for the selection screen for a logical database. The program accessed must be linked to a logical database that supports dynamic selections. texpr must be an internal table of the type RSDS_TEXPR from type group RSDS.

In texpr, the selections for the dynamic selections are specified in an internal format (stack formula). You can use the function modules FREE_SELECTIONS_INIT, FREE_SELECTIONS_DIALOG, and FREE_SELECTIONS_RANGE_2_EX from the function group SSEL to fill texpr in the calling program. While the first two function modules execute a user dialog, you can transfer ranges tables to FREE_SELECTIONS_RANGE_2_EX for each node in the dynamic selection in an internal table of the type RSDS_TRANGE. These are then converted to a table of the row type RSDS_TEXPR. If the calling program contains a selection screen with the same dynamic selections, you can transfer its content beforehand to a table of the type RSDS_TRANGE using the function module RS_REFRESH_FROM_DYNAMICAL_SEL.

The lines in the internal table type RSDS_TRANGE contain a flat component TABLENAME for each node and a table-like component FRANGE_T of the type RSDS_FRANGE_T for the fields in the node. The lines in RSDS_FRANGE_T contain a flat component FIELDNAME for each field and a table-like component SELOPT_T of the row type RSDSSELOPT from the ABAP Dictionary. RSDSSELOPT contains the four components SIGN, OPTION, LOW, and HIGH and can include the ranges table.

<b>Example</b> Program report1 is linked to the logical database F1S, which supports dynamic selections for the node SPFLI. Program report2 enters conditions in a nested internal table of the type rsds_trange with selection conditions for field CONNID in node SPFLI; this is then converted to a table of the type rsds_texpr, which is transferred at SUBMIT.

Program accessed

REPORT report1.

NODES: spfli, sflight, sbook.

...

Calling program

REPORT report2.

TYPE-POOLS rsds.

DATA: trange TYPE rsds_trange,

trange_line

LIKE LINE OF trange,

trange_frange_t_line

LIKE LINE OF trange_line-frange_t,

trange_frange_t_selopt_t_line

LIKE LINE OF trange_frange_t_line-selopt_t,

texpr TYPE rsds_texpr.

trange_line-tablename = 'SPFLI'.

trange_frange_t_line-fieldname = 'CONNID'.

trange_frange_t_selopt_t_line-sign = 'I'.

trange_frange_t_selopt_t_line-option = 'BT'.

trange_frange_t_selopt_t_line-low = '0200'.

trange_frange_t_selopt_t_line-high = '0800'.

APPEND trange_frange_t_selopt_t_line

TO trange_frange_t_line-selopt_t.

trange_frange_t_selopt_t_line-sign = 'I'.

trange_frange_t_selopt_t_line-option = 'NE'.

trange_frange_t_selopt_t_line-low = '0400'.

APPEND trange_frange_t_selopt_t_line

TO trange_frange_t_line-selopt_t.

APPEND trange_frange_t_line TO trange_line-frange_t.

APPEND trange_line TO trange.

CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'

EXPORTING

field_ranges = trange

IMPORTING

expressions = texpr.

SUBMIT report1 VIA SELECTION-SCREEN

WITH FREE SELECTIONS texpr.

<b>Reward if usefull</b>

6 REPLIES 6

Former Member
0 Kudos

HI

<b>WITH FREE SELECTIONS texpr</b>

This addition supplies values to the dynamic selections for the selection screen for a logical database. The program accessed must be linked to a logical database that supports dynamic selections. texpr must be an internal table of the type RSDS_TEXPR from type group RSDS.

In texpr, the selections for the dynamic selections are specified in an internal format (stack formula). You can use the function modules FREE_SELECTIONS_INIT, FREE_SELECTIONS_DIALOG, and FREE_SELECTIONS_RANGE_2_EX from the function group SSEL to fill texpr in the calling program. While the first two function modules execute a user dialog, you can transfer ranges tables to FREE_SELECTIONS_RANGE_2_EX for each node in the dynamic selection in an internal table of the type RSDS_TRANGE. These are then converted to a table of the row type RSDS_TEXPR. If the calling program contains a selection screen with the same dynamic selections, you can transfer its content beforehand to a table of the type RSDS_TRANGE using the function module RS_REFRESH_FROM_DYNAMICAL_SEL.

The lines in the internal table type RSDS_TRANGE contain a flat component TABLENAME for each node and a table-like component FRANGE_T of the type RSDS_FRANGE_T for the fields in the node. The lines in RSDS_FRANGE_T contain a flat component FIELDNAME for each field and a table-like component SELOPT_T of the row type RSDSSELOPT from the ABAP Dictionary. RSDSSELOPT contains the four components SIGN, OPTION, LOW, and HIGH and can include the ranges table.

<b>Example</b> Program report1 is linked to the logical database F1S, which supports dynamic selections for the node SPFLI. Program report2 enters conditions in a nested internal table of the type rsds_trange with selection conditions for field CONNID in node SPFLI; this is then converted to a table of the type rsds_texpr, which is transferred at SUBMIT.

Program accessed

REPORT report1.

NODES: spfli, sflight, sbook.

...

Calling program

REPORT report2.

TYPE-POOLS rsds.

DATA: trange TYPE rsds_trange,

trange_line

LIKE LINE OF trange,

trange_frange_t_line

LIKE LINE OF trange_line-frange_t,

trange_frange_t_selopt_t_line

LIKE LINE OF trange_frange_t_line-selopt_t,

texpr TYPE rsds_texpr.

trange_line-tablename = 'SPFLI'.

trange_frange_t_line-fieldname = 'CONNID'.

trange_frange_t_selopt_t_line-sign = 'I'.

trange_frange_t_selopt_t_line-option = 'BT'.

trange_frange_t_selopt_t_line-low = '0200'.

trange_frange_t_selopt_t_line-high = '0800'.

APPEND trange_frange_t_selopt_t_line

TO trange_frange_t_line-selopt_t.

trange_frange_t_selopt_t_line-sign = 'I'.

trange_frange_t_selopt_t_line-option = 'NE'.

trange_frange_t_selopt_t_line-low = '0400'.

APPEND trange_frange_t_selopt_t_line

TO trange_frange_t_line-selopt_t.

APPEND trange_frange_t_line TO trange_line-frange_t.

APPEND trange_line TO trange.

CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'

EXPORTING

field_ranges = trange

IMPORTING

expressions = texpr.

SUBMIT report1 VIA SELECTION-SCREEN

WITH FREE SELECTIONS texpr.

<b>Reward if usefull</b>

0 Kudos

HEY I WANT TO CHAT WITH CAN U PLS GIVE UR GMAIL ID PLS

0 Kudos

HI

with me

naresh_nelaptla@yahoo.co.in

regards

Naresh

0 Kudos

Thx i will reach u soon

varma_narayana
Active Contributor
0 Kudos

Hi..

WITH FREE SELECTIONS texpr

This addition is only possible when calling a Report that is linked to Logical Database.

Free Selection are possible only in LDB.

reward if Helpful.

Former Member
0 Kudos

Hi,

WITH FREE SELECTION <freesel>, user dialog for dynamic selections

To use this option, both calling and called programs must be connected to a logical database that supports dynamic selections. In the calling program, use the function modules FREE_SELECTIONS_INIT and FREE_SELECTIONS_DIALOG. They allow the user to enter dynamic selections on a selection screen. One export parameter of these function modules has structure RSDS_TEXPR from the RSDS type group. Transfer the values of this export parameter by means of the internal table <freesel> of the same structure to the called report.

Ex.

Program report1 is linked to the logical database F1S, which supports dynamic selections for the node SPFLI. Program report2 enters conditions in a nested internal table of the type rsds_trange with selection conditions for field CONNID in node SPFLI; this is then converted to a table of the type rsds_texpr, which is transferred at SUBMIT.

<b>Program accessed</b>

REPORT report1.

NODES: spfli, sflight, sbook.

...

<b>Calling program</b>

REPORT report2.

TYPE-POOLS rsds.

DATA: trange TYPE rsds_trange,

trange_line

LIKE LINE OF trange,

trange_frange_t_line

LIKE LINE OF trange_line-frange_t,

trange_frange_t_selopt_t_line

LIKE LINE OF trange_frange_t_line-selopt_t,

texpr TYPE rsds_texpr.

trange_line-tablename = 'SPFLI'.

trange_frange_t_line-fieldname = 'CONNID'.

trange_frange_t_selopt_t_line-sign = 'I'.

trange_frange_t_selopt_t_line-option = 'BT'.

trange_frange_t_selopt_t_line-low = '0200'.

trange_frange_t_selopt_t_line-high = '0800'.

APPEND trange_frange_t_selopt_t_line

TO trange_frange_t_line-selopt_t.

trange_frange_t_selopt_t_line-sign = 'I'.

trange_frange_t_selopt_t_line-option = 'NE'.

trange_frange_t_selopt_t_line-low = '0400'.

APPEND trange_frange_t_selopt_t_line

TO trange_frange_t_line-selopt_t.

APPEND trange_frange_t_line TO trange_line-frange_t.

APPEND trange_line TO trange.

CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'

EXPORTING

field_ranges = trange

IMPORTING

expressions = texpr.

SUBMIT report1 VIA SELECTION-SCREEN

WITH FREE SELECTIONS texpr.

Regards,

Bhaskar