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.

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页