Anwendungsjob(F1240) via ABAP mit Jobvorlage erstellen und terminieren

Aus SAP Wiki ツ
Version vom 10. Dezember 2025, 14:20 Uhr von M1ch3lde (Diskussion | Beiträge) (→‎Job erstellen und terminieren)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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