*Code used to execute a report SUBMIT Zreport.
*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.
*Code used to populate 'parameters' & execute report
SUBMIT zreport with p_param1 = 'value'
with p_param2 = 'value'.
Other additions for SUBMIT
*Submit report and return to current program afterwardsSUBMIT zreport AND RETURN. *Submit report via its own selection screenSUBMIT zreport VIA SELECTION-SCREEN. *Submit report using selection screen variantSUBMIT zreport USING SELECTION-SET 'VARIANT1'. *Submit report but export resultant list to memory, rather than *it being displayed on screenSUBMIT 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.
Submit report as job
*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.
No comments:
Post a Comment