• Header exxsens Developer Blog

Report per Job im Hintergrund einplanen

Im folgenden Coding ist ein Beispiel, wie Sie einen Report aus dem ABAP heraus als Job einplanen und ausführen können.

Hierzu wird zuerst der Funktionsbaustein JOB_OPEN verwendet um einen neuen Job anzulegen. Dem Funktionsbaustein wird der Name des Jobs übergeben und Sie erhalten die Jobnummer zurück.

Anschließend wird das auszuführende Programm per SUBMIT aufgerufen und der Jobname und die Jobnummer übergeben. Zusätzlich wird dem Report noch ein Parameter PA_INFID = SY-DATUM aus übergeben.

Zuletzt wird der Job über den Funktionsbaustein JOB_CLOSE geschlossen. Diesem Funktionsbaustein wird der Importing-Parameter STRTIMMED mit dem Wert X übergeben. Dieser Parameter sorgt dafür, dass der Job sofort ausgeführt wird.
DATA: lv_jobcount TYPE  btcjobcnt,
        lv_jobname  TYPE  btcjob.


  lv_jobname = |SEND_INFO_| && |{ SY-DATUM }|.

  CALL FUNCTION 'JOB_OPEN'
    EXPORTING
      jobname          = lv_jobname
    IMPORTING
      jobcount         = lv_jobcount
    EXCEPTIONS
      cant_create_job  = 01
      invalid_job_data = 02
      jobname_missing  = 03
      OTHERS           = 04.

    SUBMIT /exxsens/i_r_send_infomail
                    WITH pa_infid = SY-DATUM
                    VIA JOB lv_jobname
                    NUMBER lv_jobcount
                    AND RETURN.

      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount             = lv_jobcount
          jobname              = lv_jobname
          strtimmed            = 'X'
        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.
 
ZIP File mit ABAP auslesen
Eigenen Einführungsfaden über Transaktion aufrufen

Ähnliche Beiträge

Empfehlen Sie uns weiter