• SUBMIT 用法


    【转自http://lz357502668.blog.163.com/blog/static/16496743201241195817597/】

    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 
    [color=blue]*it being displayed on screen[/color] 
    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. 

    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 

  • 相关阅读:
    LeetCode: Text Justification 解题报告
    LeetCode: Evaluate Reverse Polish Notation 解题报告
    telnet服务搭建
    CentOS 7 快速部署 ELK
    CSVN配置自动备份策略
    使用mysqlproxy实现mysql读写分离
    linux挂载windows共享文件夹
    Centos7.3使用花生壳映射端口
    rpm使用
    linux运维注意事项
  • 原文地址:https://www.cnblogs.com/rainysblog/p/3992490.html
Copyright © 2020-2023  润新知