abap submit 的使用方法
生活随笔
收集整理的這篇文章主要介紹了
abap submit 的使用方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
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???????????=?VLISTLIST
????OBJECT?????????????=?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.
5、SUBMIT為后臺(tái)執(zhí)行
*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.
*?JOBOPEN
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.
*?CloseJOB
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.
*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???????????=?VLISTLIST
????OBJECT?????????????=?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.
5、SUBMIT為后臺(tái)執(zhí)行
*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.
*?JOBOPEN
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.
*?CloseJOB
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.
總結(jié)
以上是生活随笔為你收集整理的abap submit 的使用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: BSEG和BSIS、BSAS、BSID、
- 下一篇: ALV输出无法指定STATUS