Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • JS7 Jobs and SAP Jobs
    • The JS7 JITL job creates an SAP job on-the-fly with a single schedule for immediate execution.
    • The SAP application specified with the Action Endpoint can be executed synchronously or asynchronously. Both execution modes are handled by the JS7 JITL job in a similar way.
  • Job Start
    • An SAP job is started using the SAP REST APIrequest POST /scheduler/jobs that returns a unique jobId and scheduleId.
    • The JS7 JITL job creates a job status file <workflow-name>.<job-label><order-id>.json in the Agent's file system with processing information of the SAP job including the jobId and scheduleId.
      • An additional JITL job SAPS4HANARetrieveJob SAPS4HANARecoverJob runs periodically and checks any remaining job status files if SAP jobs are still running without a corresponding JS7 JITL job being active.
        • Such a situation can occur if the network connection between Agent and SAP system is interrupted or if the Agent is restarted and the JS7 SAPS4HANAJob is killed.
        • In a situation when a running SAP job is found without a corresponding JS7 JITL job then the SAPS4HANARetrieveJob  SAPS4HANARecoverJob job will remain active until the SAP job is completed and will add the SAP job execution status and log messages to the JS7 job history.

          Note

          Update of the JS7 History has to be clarified.

  • Check of SAP Job Execution Status
    • The JS7 JITL job repeatedly executes the GET /scheduler/jobs/{jobId}/schedules/{scheduleId}/runs SAP REST API call to retrieve the execution status of the job.
      • If the job is in a running status then the check of the job status is repeated within a configurable interval.
      • If the job is completed then the JS7 JITL job retrieves the final execution status and log messages of the SAP job and adds them to the JS7 job history.
    • This check is completed if the SAP system returns the HTTP 404 response code or if the SAP job's runStatus is COMPLETED or UNKNOWN.
    • With the SAP job being completed
      • the job execution result and log messages are added to the JS7 JITL job log.
        • A job is considered successful (returnCode 0) unless
          • the POST /scheduler/jobs SAP REST API call returns a response code different from HTTP 201.
          • the POST /scheduler/jobs SAP REST API call results in a Connection Timeout or Socket Timeout.
      • the SAP job is removed by use of the DELETE /scheduler/jobs/{jobId}) SAP REST API call provided that the previous check results in an HTTP 200 response code.
      • the job status file is removed.

...