Assistance Needed: Recovering Schedulix Batch Dependencies

3 views
Skip to first unread message

Puneet Kalra

unread,
Oct 3, 2025, 6:51:26 AM (5 days ago) Oct 3
to schedulix

Hi Team,

We usually deploy Schedulix batches using a configuration file, but unfortunately, the folder containing this file has been deleted.

Is there a way to reverse engineer the batch dependencies for a complex batch using either:

  • SQL queries on the Schedulix database, or
  • sdmsh commands?

We would prefer not to spend time figuring this out via the GUI, so any command-line or query-based approach would be ideal.

Any guidance or examples would be greatly appreciated..

Ronald Jeninga

unread,
Oct 3, 2025, 8:42:15 AM (5 days ago) Oct 3
to schedulix
Hi,

well, that's going to be some work to recover, but the good news is that the information isn't lost.
Things would be a lot easier if you'd use the (not open source) Professional edition, but since you're asking as a schedulix user, I assume that's what you use.

Anyway, the start of the procedure to follow is equal, no matter which edition you use.

First of all, I assume that you know when (approximately) you've overwritten the old definition.
Let me assume that was today (October 3rd, 2025) at 9:00 AM.

Now you look in the GUI if you can find a Master (Job or Batch) that was submitted shortly before that time.
And let me assume that you've found such a Master with the ID 123456.

Then you issue the command

SHOW JOB 123456;   /* replace the ID with the ID you've found in your system */

and search for the value of SE_VERSION.

I did so on one of my systems and found a value of 53716530.
This number defines the version number of the definition objects used within that Master.
If one of those objects is changed after the Master has been submitted, the newer release will have a version number greater than 53716530.
This numbering is independent of any batch structure, which is why you can pick the number of any batch submitted before you've made the change.

Now you can execute LIST, SHOW and DUMP (if available) commands like

VERSION 53716530 SHOW JOB DEFINITION SYSTEM.SOME_JOB;
VERSION 53716530 LIST JOB DEFINITION HIERARCHY SYSTEM.SOME_MASTER WITH EXPAND = ALL;

And for users of the Professional Edition

VERSION 53716530 DUMP JOB DEFINITION ...;   /* the dump command is a little complex and the required form depends on your folder setup */

From here the work of rebuilding the original definition starts.

It is also possible to use SQL queries. Also here you'll need that version number.
If you'd like to know something about the current definition of a job, and I assume you know the ID of the job definition, you'd use something like

SELECT *
  FROM SCI_C_SCHEDULING_ENTITY
 WHERE ID = 65432;

But that will only give you the current state and what you need is the state before the change, hence

SELECT *
  FROM SCI_V_SCHEDULING_ENTITY
 WHERE ID = 65432
      AND 53716530 BETWEEN VALID_FROM AND VALID_TO;

Note that I've used two different views here.
The view with "_C_" shows the current definition of objects, the view with "_V_" shows all versions and you'll have to filter out which version you need.

You've told that you use a kind of configuration file.
It'll be a good idea to create a central git repository somewhere and use that to store those configuration files.
That would not only help you in situations like these, but it'll also provide a documentation about all that happened in the past.

I hope this helps, but please feel free to ask if you get stuck somewhere.

Best regards,

Ronald
Reply all
Reply to author
Forward
0 new messages