SUBMIT 的使用方法...

SUBMIT 的使用方法...

----原文转自网络

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_ASCI error !! ', sy-subrc.
ENDIF.

5Submit为后台执行

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

你可能感兴趣的:(C++,c,C#)