Anwendungsjob(F1240) via ABAP mit Jobvorlage erstellen und terminieren: Unterschied zwischen den Versionen

Aus SAP Wiki ツ
M1ch3lde (Diskussion | Beiträge)
M1ch3lde (Diskussion | Beiträge)
Markierung: Zurückgesetzt
Zeile 36: Zeile 36:
     importing is_params type ycl_mm_pur_super_cool_class_here=>ty_inp_params
     importing is_params type ycl_mm_pur_super_cool_class_here=>ty_inp_params
     raising cx_apj_rt
     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_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.
     CONSTANTS: lc_delay_in_secs TYPE p VALUE 5.

Version vom 5. Dezember 2025, 09:40 Uhr

Jobparameter

 prepare_appl_job_params
  importing	is_params	type ycl_fi_were_api_class=>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 ).