1、最普通的用法
*Code used to execute a report
SUBMIT Zreport.
2、带select-options程序的Submit的用法
*Code used to populate ‘select-options’ & execute report
DATA: seltab type table of rsparams,
seltab_wa like line of seltab.
seltab_wa-selname = ‘PNPPERNR’.
seltab_wa-sign = ‘I’.
seltab_wa-option = ‘EQ’.
* load each personnel number accessed from the structure into
* parameters to be used in the report
loop at pnppernr.
seltab_wa-low = pnppernr-low.
append seltab_wa to seltab.
endloop.
SUBMIT zreport with selection-table seltab
via selection-screen.
3、带parameters程序的Submit的用法
*Code used to populate ‘parameters’ & execute report
SUBMIT zreport with p_param1 = ‘value’ with p_param2 = ‘value’.
4、其他情况
*Submit report and return to current program afterwards
SUBMIT zreport AND RETURN. *Submit report via its own selection screen
SUBMIT zreport VIA SELECTION-SCREEN. *Submit report using selection screen variant
SUBMIT zreport USING SELECTION-SET ‘VARIANT1’. *Submit report but export resultant list to memory, rather than *it being displayed on screen
SUBMIT zreport
EXPORTING LIST
TO
MEMORY
.
* Once report has finished and control has returned to calling
* program, use function modules LIST_FROM_MEMORY, WRITE_LIST and
* DISPLAY_LIST to retrieve and display report.
*Example Code (Retrieving list from memory)
DATA
BEGIN
OF itab_list
OCCURS
0
.
INCLUDE
STRUCTURE abaplist
.
DATA
END
OF itab_list
.
DATA
:
BEGIN
OF vlist
OCCURS
0
,
filler1
(
01
)
TYPE
c
,
field1
(
06
)
TYPE
c
,
filler
(
08
)
TYPE
c
,
field2
(
10
)
TYPE
c
,
filler3
(
01
)
TYPE
c
,
field3
(
10
)
TYPE
c
,
filler4
(
01
)
TYPE
c
,
field4
(
3
)
TYPE
c
,
filler5
(
02
)
TYPE
c
,
field5
(
15
)
TYPE
c
,
filler6
(
02
)
TYPE
c
,
field6
(
30
)
TYPE
c
,
filler7
(
43
)
TYPE
c
,
field7
(
10
)
TYPE
c
,
END
OF vlist
.
SUBMIT zreport
EXPORTING LIST
TO
MEMORY
.
CALL
FUNCTION
‘LIST_FROM_MEMORY’
TABLES
listobject
= itab_list
EXCEPTIONS
not_found
=
4
OTHERS
=
8
.
CALL
FUNCTION
‘LIST_TO_ASCI’
EXPORTING
list_index
=
–
1
TABLES
listasci
= vlist
listobject
= itab_list
EXCEPTIONS
empty_list
=
1
list_index_invalid
=
2
OTHERS
=
3
.
IF sy
–subrc
NE
‘0’
.
WRITE
:/
‘LIST_TO_ASCIerror !! ‘
, sy
–subrc
.
ENDIF
.
5、Submit为后台执行
*Submit report as job(i.e. in background)
DATA: jobname LIKE tbtcjob–jobname VALUE ‘ TRANSFER TRANSLATION’.
DATA: jobcount LIKE tbtcjob–jobcount, host LIKE msxxlist–host.
DATA: BEGIN OF starttime.
INCLUDE STRUCTURE tbtcstrt.
DATA: END OF starttime.
DATA: starttimeimmediate LIKE btch0000–char1.
* Job open call function ‘JOB_OPEN’ exporting delanfrep = ‘ ‘ jobgroup = ‘ ‘ jobname = jobname sdlstrtdt = sy-datum sdlstrttm = sy-uzeit importing jobcount = jobcount exceptions cant_create_job = 01 invalid_job_data = 02 jobname_missing = 03. if
sy–subrc ne 0. “error processing endif. * Insert process into job SUBMIT zreport and return with p_param1 = ‘value’ with p_param2 = ‘value’ user sy-uname via job jobname number jobcount. if sy-subrc > 0. “error processing endif. * Close job
starttime–sdlstrtdt = sy–datum + 1. starttime–sdlstrttm = ‘220000’.
CALL FUNCTION ‘JOB_CLOSE’
EXPORTING
event_id = starttime–eventid
event_param = starttime–eventparm
event_periodic = starttime–periodic
jobcount = jobcount
jobname = jobname
laststrtdt =
starttime–laststrtdt
laststrttm = starttime–laststrttm
prddays = 1
prdhours = 0
prdmins = 0
prdmonths = 0
prdweeks = 0
sdlstrtdt = starttime–sdlstrtdt
sdlstrttm = starttime–sdlstrttm
strtimmed = starttimeimmediate
targetsystem = host
EXCEPTIONS
cant_start_immediate = 01
invalid_startdate = 02
jobname_missing = 03
job_close_failed = 04
job_nosteps = 05
job_notex = 06
lock_failed = 07
OTHERS = 99.
IF sy–subrc EQ 0. “error processing
ENDIF.
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20192.html