Isn't there a TSO 'run' command that will execute a load module? That could conceivably qualify for what the op is asking if it exists.... Although 'job' indicates there's more than one program involved.

From some online tso tutorial. I've never used these maybe someone else has:

With REXX you can execute programs without using jcls, that could be what Sakthivel means.
or it could be REXX again, where the jcl is "hidden" as a skeleton and a job can be submitted without you seeing a single line of jcl.

I work for a large Canadian Government Agency and I have implemented JCL generators for the maintenance of DB2 and IDMS databases.

There is always the choice for an organization to purchase a tool that will "hide" the real processes (JCL) behind some fancy window full of buttons you can click on.

Instead, I develop generators of JCL, that way database administrators can look at and review the JCL. When the generator is put to work nothing really changes other than the elimination of the tediousness of the repetitive work.

For instance, my JCL generator for IDMS reads the PUNCHed Segment definitions and DB table to create the JCL. That way nothing is ever missed. A few years back we had a big crash with our IDMS databases. At the time all the JCL was being done by hand. Errors were made in the JCL and of course that delayed the recovery which took 9 days. Now JCL for any IDMS maintenance can be done in seconds.

For DB2 I have implemented a JCL generator for moving data from one database to another using DSN1COPY. Anyone who has used DSN1COPY would know how tedious it is to build this JCL. Special DBIDs and OBIDs need to be collected and placed in the JCL. The problem is that if the numbers are wrong, you don't discover it until you try to access the data in the target DB.

For all the JCL (and COBOL) generators I use a tool that I also developed which uses sparse dynamic arrays to pass the data to populate skeletons. It works very well and I have successfully used it for all my projects. It's all done using COBOL.

There is merit in developing in-house tools. Usually tools that are purchased require a change in the way the organization operates.
In-house tools can be made very easy to use.

The following JCL creates all the DSN1COPY JCL for a MSTR DB2 database which will move the data from Production to its testing environment using a backup (COPY) from September 19, 2010:

I think the chances of any organization with non trivial, 40+ year old mainframe applications migrating off of JCL are essentially zero. JCL is ugly and difficult for beginners, but it's well understood and entrenched. Really it's pretty good at what it does.

Okay, pardon my ignorance and my little experience - but I read the similar statement on other board too. I'm confused, how VSAM could replace JCL - one is access method and other is "control language"!

Can anyone please tell me the tools that eliminate the JCL and used to post the jobs directly into MVS.

This requires dynamic allocation of datasets and invocation of the program. This can be done inside the address space of a worker program or a new address space can be created. We use an event automation/job scheduling program called AutoMan. It has a command language called GAL in it when events occur or scheduled activity is needed you can code a command to invoke an external program. It comes with a TSO program called AutoMate which runs an external compiler. This compiler is normally run by JCL but can also be dispatched without JCL. Take a look at this and if it does what you think you want, I can describe for you the process by which the job is run without JCL.