*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.