• 转:ABAP报表后台运行


    *&---------------------------------------------------------------------*
    *& 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.

  • 相关阅读:
    go---weichart个人对Golang中并发理解
    go语言值得学习的开源项目推荐
    mysql17---增量备份
    mysql16---读写分离
    mysql15--垂直分表水平分表
    mysql14---手动备份
    mysql13---索引使用注意
    mysql12----explain
    mysql11---主键普通全文索引
    OpenOffice的简单安装
  • 原文地址:https://www.cnblogs.com/weichuo/p/1886497.html
Copyright © 2020-2023  润新知