adesso business consulting Stellenangebote
Software Engineer Senior
| (Senior) Cloud Software Engineer BTP | Senior Frontend Software Engineer SAP BTP
| (Senior) Consultant Technologie
Werkstudent Softwareentwicklung · Consulting
Anwendungsjob(F1240) via ABAP mit Jobvorlage erstellen und terminieren: Unterschied zwischen den Versionen
Aus SAP Wiki ツ
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Kategorie: Codeschnipsel]] | [[Kategorie: Codeschnipsel]] | ||
[[Kategorie: Clean-Core-Level_A]] | |||
{{Codeberg|page={{PAGENAMEE}}}} | |||
* [[Jobvorlagen_für_Fiori_App_Anwendungsjob(F1240)_erstellen]] | * [[Jobvorlagen_für_Fiori_App_Anwendungsjob(F1240)_erstellen]] | ||
= Jobparameter = | = Jobparameter = | ||
<syntaxhighlight lang="abap" line start="1"> | |||
prepare_appl_job_params | prepare_appl_job_params | ||
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 | ||
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 | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="abap" line start="1"> | |||
DATA ls_value TYPE cl_apj_rt_api=>ty_value_range. | DATA ls_value TYPE cl_apj_rt_api=>ty_value_range. | ||
| Zeile 33: | Zeile 38: | ||
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. | ||
</syntaxhighlight> | |||
= Job erstellen und terminieren = | = Job erstellen und terminieren = | ||
<syntaxhighlight lang="abap" line start="1"> | |||
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 | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="abap" line start="1" copy> | |||
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. | ||
| Zeile 68: | Zeile 76: | ||
ev_jobname = lv_jobname | ev_jobname = lv_jobname | ||
ev_jobcount = lv_jobcount ). | ev_jobcount = lv_jobcount ). | ||
</syntaxhighlight> | |||
Hinweis | {| style="border:1px solid black; background-color:#6fb6d4; border-radius: 6px;" | ||
| '''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. | |||
|} | |||
Aktuelle Version vom 1. Februar 2026, 17:10 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 <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. |