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

Aus SAP Wiki ツ
M1ch3lde (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „= 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_…“
 
M1ch3lde (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie: Codeschnipsel]]
[[Kategorie: Clean-Core-Level_A]]
{{Codeberg|page={{PAGENAMEE}}}}
* [[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_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
</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 31: 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 =
schedule_appl_job
<syntaxhighlight lang="abap" line start="1">
    importing is_params type ycl_mm_pur_super_cool_class_here=>ty_inp_params
schedule_appl_job
    raising cx_apj_rt
importing is_params type ycl_mm_pur_super_cool_class_here=>ty_inp_params
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 46: Zeile 56:
   
   
     lv_job_text = |Super cool job text: { is_params-ebeln }|.
     lv_job_text = |Super cool job text: { is_params-ebeln }|.
 
     " Schedule application job with delay of 10 seconds
     " Schedule application job with delay of 10 seconds
     GET TIME STAMP FIELD DATA(lv_job_start_time).
     GET TIME STAMP FIELD DATA(lv_job_start_time).
Zeile 54: Zeile 64:
         tstmp = lv_job_start_time
         tstmp = lv_job_start_time
         secs  = lc_delay_in_secs ) ).
         secs  = lc_delay_in_secs ) ).
 
     " Get parameters for application job
     " Get parameters for application job
     DATA(lt_parameters) = prepare_appl_job_params( is_params ).
     DATA(lt_parameters) = prepare_appl_job_params( is_params ).
Zeile 66: Zeile 76:
         ev_jobname  = lv_jobname
         ev_jobname  = lv_jobname
         ev_jobcount = lv_jobcount ).
         ev_jobcount = lv_jobcount ).
</syntaxhighlight>
{| 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.