Anwendungsjob(F1240) via ABAP mit Jobvorlage erstellen und terminieren

Aus SAP Wiki ツ

Jobparameter

  prepare_appl_job_params
   importing	is_params	type ycl_mm_pur_super_cool_class_here=>ty_inp_params
   returning	value(rt_params)	type cl_apj_rt_api=>tt_job_parameter_value
  DATA ls_value TYPE cl_apj_rt_api=>ty_value_range.
 
    " Prepare a table with parameters for application job
    APPEND INITIAL LINE TO rt_params ASSIGNING FIELD-SYMBOL(<add>).
    <add>-name        = 'P_EBELN'.
    ls_value-sign   = 'I'.
    ls_value-option = 'EQ'.
    ls_value-low    = is_params-ebeln.
    APPEND ls_value TO <add>-t_value.
 
    CLEAR: ls_value.
 
    APPEND INITIAL LINE TO rt_params ASSIGNING <i>.
    <add>-name        = 'P_EBELP'.
    ls_value-sign   = 'I'.
    ls_value-option = 'EQ'.
    ls_value-low    = is_params-ebelp.
    APPEND ls_value TO <add>-t_value.
 
    CLEAR: ls_value.
 
    APPEND INITIAL LINE TO rt_params ASSIGNING <i>.
    <add>-name        = 'P_DATE.
    ls_value-sign   = 'I'.
    ls_value-option = 'EQ'.
    ls_value-low    = is_params-budat.
    APPEND ls_value TO <add>-t_value.

Job erstellen und terminieren

 schedule_appl_job
 importing	is_params	type ycl_mm_pur_super_cool_class_here=>ty_inp_params
 raising	cx_apj_rt
 
    CONSTANTS: lc_template_name TYPE cl_apj_rt_api=>ty_template_name VALUE 'YMM_PUR_SUPER_COOL_JOB_TEMP'.
    CONSTANTS: lc_delay_in_secs TYPE p VALUE 5.
 
    " Prepare application job name & count
    DATA lv_jobname  TYPE cl_apj_rt_api=>ty_jobname.
    DATA lv_jobcount TYPE cl_apj_rt_api=>ty_jobcount.
    DATA lv_job_text TYPE cl_apj_rt_api=>ty_job_text.
 
    lv_job_text = |Super cool job text: { is_params-ebeln }|.
 
    " Schedule application job with delay of 10 seconds
    GET TIME STAMP FIELD DATA(lv_job_start_time).
    DATA ls_start_info TYPE cl_apj_rt_api=>ty_start_info.
    ls_start_info-timestamp = CONV timestampl(
      cl_abap_tstmp=>add(
        tstmp = lv_job_start_time
        secs  = lc_delay_in_secs ) ).
 
    " Get parameters for application job
    DATA(lt_parameters) = prepare_appl_job_params( is_params ).
    cl_apj_rt_api=>schedule_job(
      EXPORTING
        iv_job_template_name   = lc_template_name
        iv_job_text            = lv_job_text
        is_start_info          = ls_start_info
        it_job_parameter_value = lt_parameters
      IMPORTING
        ev_jobname  = lv_jobname
        ev_jobcount = lv_jobcount ).

Hinweis: In der Jobklasse sind die Parameter nur verfügbar, wenn sie in der Methode "if_apj_dt_exec_object~get_parameters" bekannt gemacht werden. S. Coding oben Verlinkung.


Dieses Wiki wird privat in Freizeit nach bestem Wissen und Gewissen gepflegt und dient primär als eigene Wissenssammlung für die tägliche Arbeit im SAP-ERP-Umfeld.
Alle dargestellten Softwareprodukte, auch in Form von Screenshots, sind Eigentum der SAP SE. Ihre Marken, vgl. Link, sind u.a.: SAP®, ABAP®, SAP Fiori®, SAP HANA®, SAP S/4HANA®, SAP S/4HANA® Cloud