Versions Compared

Key

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

...

  • SAP S/4 HANA includes the SAP Job Scheduling Service that implements the SAP Job Scheduling Service REST API to manage and to operate SAP Jobs.
  • This JITL Job Template implements a JS7 adapter for SAP S/4 HANA® Jobs.
  • The JS7 adapter makes use of the publicly available SAP REST API.
  • Display feature availability
    StartingFromRelease2.4.0

...

SAP Job Scheduling Service

  • Create an SAP Job
  • Create an SAP Job Schedule
  • Start an SAP Job
  • Check for SAP Job completion
  • Retrieve SAP Job execution result results and log output

JS7 JobScheduler

  • Manage job configuration
    • Map JS7 Jobs to SAP Jobs. SAP Jobs are integrated in JS7 Workflows.
    • JS7 Workflows allow cross platform execution of SAP jobs and any other jobs executed with the same workflow across JS7 Agents on any platforms.
    • JS7 job dependencies apply, e.g. for mutual exclusion by JS7 - Resource Locks.
    • JS7 error handling applies, e.g. to rerun for rerunning SAP Jobs and to catch errors of SAP Jobscatching SAP Job errors.
  • Manage Calendars and Schedules
    • Automate start Automated starting of workflows for SAP Jobs based on JS7 Schedules.
    • Allow Allowing cyclic job execution.
  • Maintain Job History
    • Record Recording job execution history with start time, end time, exit code etc. of SAP Jobs.
    • Maintain Maintaining SAP Job logs.

Interface Features

  • Monitor and control SAP Jobs from the JOC Cockpit user interface for browsers.
  • Monitor and control SAP Jobs from the JS7 JS7 - REST Web Service API and the JS7 - PowerShell Module.
  • Start SAP Jobs manually in addition to automated job starts by from JS7 Schedules.
  • Visualize SAP Job logs.
  • Note: The SAP Job Scheduling Service does not allow to stop or to kill running SAP Jobs.

...

  • Execute any number of parallel SAP Jobs with the same or different JS7 Agents:
    • Run Running separate SAP Jobs in parallel.
    • Run Running any number of instances of the same SAP Job in parallel.
  • Recover from loss of the connection loss to SAP Job Scheduling Service:
    • SAP Jobs continue to run in case of a connection loss between JS7 and SAP system.
    • SAP Job execution results and logs can be recovered after the connection is re-established.

...

  • A 1:1 mapping of a JS7 JITL Job and an SAP Job applies. This allows parameterization on a per job basis.
  • The JS7 JITL Job is added to JS7 - Workflows that which are either configured:
    • to execute individual SAP Jobs or
    • to execute a number of jobs including SAP Jobs and any JS7 - Jobs with any registered JS7 Agent.
    • This allows cross-platform scheduling with SAP Jobs being integrated into a sequence of jobs that is executed for SAP systems and for other platforms.
  • The JS7 JITL Job makes use of uses JS7 - Calendars and Schedules.
    • The JS7 - Schedules determine the parameters and the point in time for which the SAP Job is started.
    • SAP Jobs therefore are started immediately from the point of view of the SAP Job Scheduling Service. The JS7 manages any schedules and connects to the SAP Job Scheduling Service at the point in time of job execution to launch the SAP Job.

...

JS7 has to know the type of scheduling supported by the respective relevant SAP transaction:

  • Synchronous Execution
    • When the SAP Job is started by the JS7 JITL Job then the response to this call is delayed until the SAP Job is completed. Only then are additional calls to request SAP Job execution results and log output are performed.
  • Asynchronous Execution
    • When the SAP Job is launched by the JS7 JITL Job then there is an acknowledging response that returns the SAP Job run identification. The JS7 JITL Job has to repeatedly check the SAP Job execution status. The interval for status checks by the JS7 JITL Job is configurable.

...

The JS7 JITL Job acts as a shadow job for the SAP Job allowing user intervention such as to start starting or to stop stopping an SAP Job by performing the respective relevant operation on the JS7 JITL Job from the GUI.

  • Starting the JITL Job causes the SAP Job to start.
    • Job parameters as available from the SAP Job configuration are forwarded when starting the SAP Job.
      • JS7 supports the following parameter data types: String, Number, Boolean.
      • The same applies to return values of from SAP Jobs. Any return values of SAP Jobs are available to subsequent JS7 jobs in a workflow.
  • Checking the JITL Job status and job logs returns the SAP Job status and log output with the JS7 JOC Cockpit GUI.
    • Note that the SAP REST API only offers job logs after execution only.
    • No running log is Running logs, which typically available with JS7 jobs are not available from the SAP Job as typically available with JS7 jobs.
  • Stopping the JS7 JITL Job results in the respective relevant SAP REST API call to:
    • complete a running SAP Job and then to fail the JS7 Order:
      • Execution of JS7 - Orders can be cancelled by using the CANCEL operation from the JS7 GUI. This allows the currently executed SAP Job to complete and removes the JS7 order from the workflow - provided that the SAP transaction implements the respective operation to cancel execution.
      • Execution of JS7 orders can be suspended by using the SUSPEND operation from the JS7 GUI. This allows the currently executed SAP Job to complete and puts the JS7 order to a SUSPENDED state.
    • kill running SAP Jobs:
      • Execution of JS7 orders can be cancelled with a KILL option to abort the currently running SAP Job and to remove the JS7 order from the workflow, provided that the SAP transaction implements a cancel/kill option.
      • Execution of JS7 orders can be suspended with a KILL option to abort the currently running SAP Job and to put the JS7 order to a SUSPENDED state, provided that the SAP transaction implements a suspend/kill option.
  • Error handling includes that the JS7 JITL Job checks checking execution results reported by the SAP REST API. In case of successful execution If the execution is successful then the JS7 order is continued and otherwise is will be continued. Otherwise the order has failed.

Further Resources

...