cancel
Showing results for 
Search instead for 
Did you mean: 

Application Job does not working with Check Exit - BTP ABAP Environment

Muthu_raja
Active Participant
0 Kudos
783

Hello Experts,

I was trying to Create an Application job in the BTP ABAP Environment. When I add Check Exit for my Job Catalog Entry, it is giving an syntax error like below

Screenshot 2024-03-31 at 10.56.22 AM.png

Error Details:

An internal error occurred during: "Checking object...".

Execution of request "POST /sap/bc/adt/checkruns" for destination SystemName (system url )

failed: HTTP/1.1 500 Internal Server Error

 

How to Repro the issue:

  • Create new class for the Application job logic
  • Create new Applicaton Job Catalog Entry on top of above class
  • Create new Application Job Template on top of above Application Job Catalog Entry
  • Create new class for the Check Exit (Interface if_apj_jt_check_20)
  • Add the new check exit class to the Job Catalog Entry above
  • After done, In the Job Template sytax error occurs
  • If I remove the check exit class from the Catalog Entry then Syntax Error goes off

 Application Job Implementation

 

CLASS zcl_application_job_check_test DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC .

  PUBLIC SECTION.

    INTERFACES if_apj_dt_exec_object .
    INTERFACES if_apj_rt_exec_object .
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.



CLASS zcl_application_job_check_test IMPLEMENTATION.


  METHOD if_apj_dt_exec_object~get_parameters.

    et_parameter_def = VALUE #( ( selname        = 'P_ORDR'
                                  kind           = if_apj_dt_exec_object=>parameter
                                  datatype       = 'C'
                                  length         = '10'
                                  param_text     = 'Order Id'
                                  changeable_ind = abap_true ) ).

  ENDMETHOD.


  METHOD if_apj_rt_exec_object~execute.
  ENDMETHOD.
ENDCLASS.

 

 

 Check Exit Class Implementation

 

 

CLASS zcl_appl_job_check_test DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC .

  PUBLIC SECTION.

    INTERFACES if_apj_jt_check_20 .
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.



CLASS zcl_appl_job_check_test IMPLEMENTATION.


  METHOD if_apj_jt_check_20~adjust_hidden.
  ENDMETHOD.


  METHOD if_apj_jt_check_20~adjust_read_only.
  ENDMETHOD.


  METHOD if_apj_jt_check_20~check_and_adjust.

    DATA(lv_order) = ct_value[ KEY param parameter_name = 'P_ORDR' ]-low.

    IF lv_order IS NOT INITIAL.
      INSERT VALUE #( id = 'ZMSG_HTTP' type = 'E' number = '012' ) INTO TABLE et_msg.
    ELSE.
      ev_successful = abap_true.
    ENDIF.

  ENDMETHOD.


  METHOD if_apj_jt_check_20~check_and_adjust_parameter.
  ENDMETHOD.


  METHOD if_apj_jt_check_20~check_authorizations.
  ENDMETHOD.


  METHOD if_apj_jt_check_20~check_start_condition.
  ENDMETHOD.


  METHOD if_apj_jt_check_20~get_dynamic_properties.
  ENDMETHOD.


  METHOD if_apj_jt_check_20~initialize.
  ENDMETHOD.
ENDCLASS.​

 

 Application Job Template

Screenshot 2024-03-31 at 11.07.12 AM.png

Application Job Catalog Entry
Screenshot 2024-03-31 at 11.03.56 AM.png

@michael_szardenings  - Do you aware of this issue ?

Thanks a lot.

Best Regards,

Muthu

Accepted Solutions (0)

Answers (1)

Answers (1)

thomasnelissen
Participant
0 Kudos

You also need to implement method if_apj_jt_check_20~check_authorization, and check the necessary authorization objects before setting ev_successful to 'X'