11-27-2007 5:37 AM
Hi all good morning...
how to transfer data from calling program to called program.
i want to transfer the data which are entered by the use in selection screen of main program to called program.. am using <b>submit</b> statement to call the program.... please help me....
regards
Prajwal.K
11-27-2007 5:43 AM
HI,
see this simple example.
Program accessed
REPORT report1.
DATA text TYPE c LENGTH 10.
SELECTION-SCREEN BEGIN OF SCREEN 1100.
SELECT-OPTIONS: selcrit1 FOR text,
selcrit2 FOR text.
SELECTION-SCREEN END OF SCREEN 1100.
...
Calling program
REPORT report2.
DATA: text TYPE c LENGTH 10,
rspar_tab TYPE TABLE OF rsparams,
rspar_line LIKE LINE OF rspar_tab,
range_tab LIKE RANGE OF text,
range_line LIKE LINE OF range_tab.
...
rspar_line-selname = 'SELCRIT1'.
rspar_line-kind = 'S'.
rspar_line-sign = 'I'.
rspar_line-option = 'EQ'.
rspar_line-low = 'ABAP'.
APPEND rspar_line TO rspar_tab.
range_line-sign = 'E'.
range_line-option = 'EQ'.
range_line-low = 'H'.
APPEND range_line TO range_tab.
range_line-sign = 'E'.
range_line-option = 'EQ'.
range_line-low = 'K'.
APPEND range_line TO range_tab.
SUBMIT report1 USING SELECTION-SCREEN '1100'
WITH SELECTION-TABLE rspar_tab
WITH selcrit2 BETWEEN 'H' AND 'K'
WITH selcrit2 IN range_tab
AND RETURN.
rgds,
bharat.
11-27-2007 5:46 AM
Hi try the following..
Parameter passing with SUBMIT
Variants:
1. ... USING SELECTION-SET vari
2. ... WITH p op f SIGN s
3. ... WITH p BETWEEN f1 AND f2 SIGN s
4. ... WITH p NOT BETWEEN f1 AND f2 SIGN s
5. ... WITH p IN sel
6. ... WITH SELECTION-TABLE seltab
7. ... WITH FREE SELECTIONS texpr
Effect
Passes values to the SELECT-OPTIONS and PARAMETERS of the program rep (these can also be defined in the database program SAPDBldb of the relevant logical database ldb). p is the name of a parameter or selection criterion.
Variant 1
... USING SELECTION-SET vari
Effect
The variable vari contains the name of a variant used to start the report.
Variant 2
... WITH p op f SIGN s
Effect
op is one of the operations EQ, NE, CP, NP, GE, LT, LE, GT. s is a variable which must contain one of the values 'I' or 'E' (any other values result in a runtime error). The addition SIGN is optional and the default is 'I'. If p is a selection criterion (SELECT-OPTIONS), an entry with LOW = f, OPTION = op and SIGN = s is generated in the relevant internal table.
If p is a parameter (PARAMETERS), the system treats all options like EQ, i.e. it always transfers a single value. The field f is passed to the parameter p or to the field p-LOW of the selection criterion (xxx in the above list) in internal format. If p is not the same type as f, a type conversion is performed in the target report when data is passed.
Note
Instead of the option EQ, you can also use = or INCL.
Variant 3
... WITH p BETWEEN f1 AND f2 SIGN s
Effect
Passes the range with the lower limit f1 and the upper limit f2 to the selection criterion p. As with variant 2, f1 and f2 are passed in internal format and the handling of SIGN is also the same. The system thus generates an entry with LOW = f1, HIGH = f2, OPTION = BT and SIGN = s. When data is passed, a type conversion is performed.
Variant 4
... WITH p NOT BETWEEN f1 AND f2 SIGN s
Effect
Similar to 3, except that OPTION NB is generated instead of OPTION BT.
Variant 5
... WITH p IN sel
Effect
p is a selection criterion and sel is an internal table which is compatible with p and contains the transfer values. You are recommended to define sel with RANGES. The lines of sel must have exactly the same structure as the lines of a selection table (see SELECT-OPTIONS).
Variant 6
... WITH SELECTION-TABLE seltab
Effect
seltab is an internal table with the structure RSPARAMS.
This variant allows you to set the names and contents of the parameters and selection options dynamically at runtime.
You can use the function module RS_REFRESH_FROM_SELECTOPTIONS to read the contents of the parameters and selection options of the current program into an internal table seltab with the structure RSPARAMS. By using SUBMIT ... WITH SELECTION-TABLE seltab, you can then pass these values on directly.
Variant 7
... WITH FREE SELECTIONS texpr
Effect
Passes dynamic selections.
texpr is an internal table of the type RSDS_TEXPR (see type pool RSDS).
Note
You can, for example, fill the object texpr in one of the following ways:
While processing a report with dynamic selections, call the function module RS_REFRESH_FROM_DYNAMICAL_SEL. This returns an object of the type RSDS_TRANGE which a subsequent function module FREE_SELECTIONS_RANGE_2_EX then converts to an object of the type RSDS_TEXPR. In this way, you can pass on the dynamic selections of the current report with SUBMIT.
Call the function modules FREE_SELECTIONS_INIT and FREE_SELECTIONS_DIALOG in order to offer the user a dialog for entering dynamic selections. These function modules return an object of the type RSDS_TEXPR.
Notes
You can combine the variants 1-7 in any permutation. The same selection criterion may be addressed several times with WITH. This generates several lines in the internal table assigned to the selection criterion p. You can also combine parameter transfer using a variant with explicit parameter passing via the WITH clause. In the event of a conflict, the following sequence applies:
Firstly, the variant is imported
Secondly, the contents of the selection table are read (WITH SELECTION TABLE)
Finally, the values passed explicitly using WITH are copied.
Parameter passing by selection table overwrites the corresponding parameter or selection option from the variant, and explicit parameter passing by WITH overwrites both the selection table values and the variant values.
The values passed during SUBMIT are not taken over until the event INITIALIZATION has been processed, i.e. default values set at INITIALIZATION are overwritten if values are passed for the PARAMETER or SELECT-OPTION during SUBMIT.
Examples
1. Combination of variant and WITH
DATA: RANGE_LANGU TYPE RANGE OF SY-LANGU,
RANGE_LANGU_WA LIKE lINE OF RANGE_LANGU.
PARAMETERS: MSG_FR LIKE T100-MSGNR,
MSG_TO LIKE T100-MSGNR.
MOVE: 'I' TO RANGE_LANGU_WA-SIGN,
'BT' TO RANGE_LANGU_WA-OPTION,
'D' TO RANGE_LANGU_WA-LOW,
'I' TO RANGE_LANGU_WA-HIGH.
APPEND RANGE_LANGU_WA TO RANGE_LANGU.
MOVE: 'EQ' TO RANGE_LANGU_WA-OPTION,
'E' TO RANGE_LANGU_WA-LOW.
APPEND RANGE_LANGU_WA TO RANGE_LANGU.
SUBMIT REPORT00
USING SELECTION-SET 'VARIANT1'
WITH MSG BETWEEN MSG_FR AND MSG_TO
WITH LANGU IN RANGE_LANGU.
In REPORT00, all parameters and SELECT-OPTIONS take their values from the variant VARIANT1.Only MSG and LANGU take the values that are explicitly passed.
Examples
2. Combination of variant, WITH SELECTION-TABLE, and explicit WITH clauses.
DATA: SELTAB TYPE TABLE OF RSPARAMS,
SELTAB_WA LIKE LINE OF SELTAB.
MOVE: 'LANGU' TO SELTAB_WA-SELNAME,
'S' TO SELTAB_WA-KIND, " SELECT-OPTION
'I' TO SELTAB_WA-SIGN,
'BT' TO SELTAB_WA-OPTION,
'D' TO SELTAB_WA-LOW,
'I' TO SELTAB_WA-HIGH.
APPEND SELTAB_WA TO SELTAB.
MOVE: 'E' TO SELTAB_WA-SIGN,
'EQ' TO SELTAB_WA-OPTION,
'F' TO SELTAB_WA-LOW,
SPACE TO SELTAB_WA-HIGH.
APPEND SELTAB_WA TO SELTAB.
CLEAR SELTAB_WA.
MOVE: 'ARBGB' TO SELTAB_WA-SELNAME,
'P' TO SELTAB_WA-KIND, " PARAMETER
'XX' TO SELTAB_WA-LOW.
APPEND SELTAB_WA TO SELTAB.
SUBMIT REPORT00
USING SELECTION-SET 'VARIANT1'
WITH ARBGB CP 'A*'
WITH SELECTION-TABLE SELTAB
AND RETURN.
In REPORT00, all parameters and SELECT-OPTIONS take their contents from the variant VARIANT1except LANGU, which takes its contents from SELTAB, and ARBGB, which takes the value that was explicitly passed.
<b>Reward if useful</b>
Message was edited by:
Sheeba Bhaskaran
11-27-2007 6:46 AM
thanks.....
am getting another problem, called program taking too much time to execute how to increase the execution time.
11-27-2007 7:36 AM
Its a performance issue..
Check the loops n select in program..( avoid select inside loop)
n check whethr pooled tables like BSEG is used or not..
If yes try to replace that by other related table.