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

Aus SAP Wiki ツ
M1ch3lde (Diskussion | Beiträge)
M1ch3lde (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
* [[Jobvorlagen_für_Fiori_App_Anwendungsjob(F1240)_erstellen]]
= Jobparameter =
= Jobparameter =
   prepare_appl_job_params
   prepare_appl_job_params
   importing is_params type ycl_fi_were_api_class=>ty_inp_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
   returning value(rt_params) type cl_apj_rt_api=>tt_job_parameter_value


Zeile 31: Zeile 32:
     ls_value-low    = is_params-budat.
     ls_value-low    = is_params-budat.
     APPEND ls_value TO <add>-t_value.
     APPEND ls_value TO <add>-t_value.
 
= Job erstellen und terminieren =
= Job erstellen und terminieren =
    schedule_appl_job
schedule_appl_job
    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'.

Aktuelle Version vom 5. Dezember 2025, 09:42 Uhr

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