SAP 設置周期性的后台程序,SM36,圖解操作 (轉)


SM36是設置SAP周期性運行的事務碼

來測試一下,首先先寫一個程序:

我有一個zzp_people2的數據表.

DATA : INT1 TYPE I.
DATA : ITAB LIKE ZZP_PEOPLE2.
CALL FUNCTION 'QF05_RANDOM_INTEGER'
    EXPORTING
      RAN_INT_MAX   = 9999999
      RAN_INT_MIN   = 1000000
    IMPORTING
      RAN_INT       = INT1
    EXCEPTIONS
      INVALID_INPUT = 1
      OTHERS        = 2.
  ITAB-ZID = INT1.
  ITAB-ZNAME = INT1 + 1.
  ITAB-ZPASSWORD = INT1 + 2.
INSERT ZZP_PEOPLE2 FROM ITAB.

這段程序的作用,就是產生隨機數,然后插入到表里面。 

接下來是用SM36了:

回車

然后

回退

可以“立刻”

也可以“日期/時間” 填寫“預定的啟動”->“日期”->“時間”

去sm37看看:

這樣,就會在后台運行了~~~可以測試一下。

*&---------------------------------------------------------------------*
*& Report  Z_BARRY_SET_JOB                                             *
*&                                                                     *
*&---------------------------------------------------------------------*
*&  設置后台Job,更多功能請看函數組:BTCH                              *
*&---------------------------------------------------------------------*

REPORT  z_barry_set_job                         .

DATA: jobcount LIKE tbtcjob-jobcount.
DATA: abort TYPE c,
      finish TYPE c,
      prelim TYPE c,
      ready TYPE c,
      run TYPE c,
      sched TYPE c.

PARAMETERS: p_name LIKE tbtcjob-jobname OBLIGATORY DEFAULT 'Z_BARRY_TEST_JOB',
            p_date LIKE sy-datum OBLIGATORY,
            p_time LIKE sy-uzeit OBLIGATORY.
SELECT-OPTIONS s_rept FOR sy-repid NO INTERVALS OBLIGATORY .

START-OF-SELECTION.
  CALL FUNCTION 'JOB_OPEN' "定義一個Job
    EXPORTING
      jobname          = p_name
    IMPORTING
      jobcount         = jobcount  "Job id
    EXCEPTIONS
      cant_create_job  = 1
      invalid_job_data = 2
      jobname_missing  = 3
      OTHERS           = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  LOOP AT s_rept .
    CALL FUNCTION 'JOB_SUBMIT'  "Scheduled 這個Job
      EXPORTING
        authcknam               = sy-uname
        jobcount                = jobcount
        jobname                 = p_name
        report                  = s_rept-low
*        VARIANT                 = 'TEST'
      EXCEPTIONS
        bad_priparams           = 1
        bad_xpgflags            = 2
        invalid_jobdata         = 3
        jobname_missing         = 4
        job_notex               = 5
        job_submit_failed       = 6
        lock_failed             = 7
        program_missing         = 8
        prog_abap_and_extpg_set = 9
        OTHERS                  = 10.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
  ENDLOOP.

  CALL FUNCTION 'JOB_CLOSE'  "Release 這個Job
    EXPORTING
      jobcount             = jobcount
      jobname              = p_name
      sdlstrtdt            = p_date
      sdlstrttm            = p_time
    EXCEPTIONS
      cant_start_immediate = 1
      invalid_startdate    = 2
      jobname_missing      = 3
      job_close_failed     = 4
      job_nosteps          = 5
      job_notex            = 6
      lock_failed          = 7
      OTHERS               = 8.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL FUNCTION 'SHOW_JOBSTATE'
    EXPORTING
      jobcount         = jobcount
      jobname          = p_name
    IMPORTING
      aborted          = abort
      finished         = finish
      preliminary      = prelim
      ready            = ready
      running          = run
      scheduled        = sched
    EXCEPTIONS
      jobcount_missing = 1
      jobname_missing  = 2
      job_notex        = 3
      OTHERS           = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  WRITE : / 'Canceled              :' , abort ,
          / 'Finished              :' , finish,
          / 'Scheduled Temporarily :' , prelim,
          / 'Ready for Execution   :' , ready,
          / 'Active                :' , run,
          / 'Scheduling Released   :' , sched.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM