Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
*********************************
* Standardized Selection Screen *
*********************************
* Variant
SELECTION-SCREEN BEGIN OF BLOCK pvariant
WITH FRAME TITLE tvariant.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (56) convari FOR FIELD pvariant.
PARAMETER pvariant TYPE syslset DEFAULT ' '.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK pvariant.
* Random number to
SELECTION-SCREEN BEGIN OF BLOCK p_to
WITH FRAME TITLE t_to.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (56) conto FOR FIELD p_to.
PARAMETER p_to TYPE tvarv_val DEFAULT '999999'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK p_to.
* Run description
AT SELECTION-SCREEN OUTPUT.
tvariant = 'Variant'.
t_jobs = 'Jobs'.
t_from = 'Interval from'.
t_to = 'Interval to'.
convari = 'Name of variant for selection parameters'.
conjobs = 'Number of jobs to create (max. 99)'.
confrom = 'Beginning random number (default 000000)'.
conto = 'Ending random number (default 999999)'.
l_comm0 =
'This program creates batch jobs to archive business transactions'.
l_comm1 =
'with report /BA1/RF2_ARCHIVE_035_WRITE. These jobs can then be'.
l_comm2 =
'started as required using transaction SM37.'.
l_comm3 =
'These batch jobs are based on the variant you provide, which'.
l_comm4 =
'you create online for report /BA1/RF2_ARCHIVE_035_WRITE'.
l_comm5 =
'In addition, you enter the number of jobs you wish to create'.
l_comm6 =
'and the total interval of the random numbers you wish to archive.'.
l_comm7 =
'Each batch job takes the parameters from the variant, except for'.
l_comm8 =
'the selection criteria (random numbers). These it replaces with a'.
l_comm9 =
'calculated (partial) interval based on the total interval you'.
l_comm10 =
'provide, divided by the number of jobs.'.
INITIALIZATION.
AT SELECTION-SCREEN.
START-OF-SELECTION.
CONSTANTS:
program TYPE sycprog VALUE '/BA1/RF2_ARCHIVE_035_WRITE'.
DATA:
digit(2) TYPE n,
totint(6) TYPE n,
calcint(6) TYPE n,
digitxt(2) TYPE c.
DATA:
BEGIN OF lt_var OCCURS 0,
name TYPE tbtcjob-jobname,
from(6) TYPE n,
to(6) TYPE n,
END OF lt_var,
ls_var LIKE LINE OF lt_var.
DATA:
lt_rspar TYPE TABLE OF rsparams,
ls_rspar LIKE LINE OF lt_rspar.
DATA:
number TYPE tbtcjob-jobcount,
name TYPE tbtcjob-jobname
VALUE '/BA1/RF2_ARCHIVE_035_WRITE',
print_parameters TYPE pri_params,
arc_parameters TYPE arc_params.
DATA:
l_text1 TYPE string,
l_text2 TYPE string,
l_text3 TYPE string,
l_text4 TYPE string.
IF p_from GT p_to.
MESSAGE e000(/ba1/f2_bt_msg) WITH 'Interval invalid'.
ENDIF.
CLEAR ls_var.
ls_rspar-selname = 'P_PACKLO'.
ls_rspar-kind = 'S'.
ls_rspar-sign = 'I'.
ls_rspar-option = 'EQ'.
ls_rspar-low = ls_var-from.
APPEND ls_rspar TO lt_rspar.
ls_rspar-selname = 'P_PACKHI'.
ls_rspar-kind = 'S'.
ls_rspar-sign = 'I'.
ls_rspar-option = 'EQ'.
ls_rspar-low = ls_var-to.
APPEND ls_rspar TO lt_rspar.
IF sy-subrc = 0.
SUBMIT (program)
USING SELECTION-SET pvariant
WITH SELECTION-TABLE lt_rspar
TO SAP-SPOOL
SPOOL PARAMETERS print_parameters
ARCHIVE PARAMETERS arc_parameters
WITHOUT SPOOL DYNPRO
VIA JOB name NUMBER number
AND RETURN.
ENDIF.
ENDLOOP.
IF digit = 1.
CONCATENATE 'A total of' digitxt
'job has been created covering the total interval'
INTO l_text1 SEPARATED BY space.
END-OF-SELECTION.