Submitting JCL to a Server
You can use the SubmitJCL method (function) from your program or script to submit JCL to a z/OS server. A situation where you might use SubmitJCL is when a program or script, that runs from Windows Task Scheduler, needs to submit a nightly batch job to a z/OS server.
The following scripts illustrate how to submit JCL to a z/OS server.
...
C# Example
...
/**********************************************************************
* C# Example
*
* File Name: SubmitJcl.cs
*
* Description: Submit job to server.
*
* Usage: SubmitJcl <server> <file.name>
*
* Copyright ©2007, Serena Software. Licensed material. All rights reserved.
**********************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using ZosApi;
namespace SubmitJcl
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                //////////////////////////////
                // Get command line arguments
                //////////////////////////////
                if (args.Length < 2)
                {
                    Console.WriteLine("Usage: SubmitJcl <server> <file.name>");
                    Environment.Exit(1);
                }
                String serverName = args[0];
                String fileName = args[1];
                //////////////
                // Submit JCL
                //////////////
                ZosNetwork network = new ZosNetwork();
                ZosServer server = network.Servers[serverName];
                ZosJesJob[] jobs = server.SubmitJcl(fileName);
                foreach (ZosJesJob job in jobs)
                {
                    Console.WriteLine("Job submitted: JobName={0} JobID={1}",
                        job.JobName,
                        job.JobID);
                 }
            }
            catch (Exception e)
            {
            Console.WriteLine(e.Message);
            Console.WriteLine(e.TargetSite);
            }
        }
    }
}
...
Visual Basic Example
...
' Visual Basic Example
'
' File Name: SubmitJcl.vb
'
' Description: Submit job to server.
'
' Usage: SubmitJcl <server> <file.name>
'
' Copyright ©2007, Serena Software. Licensed material. All rights reserved.
'**********************************************************************
Imports System
Imports ZosApi
Module SubmitJcl
    Sub Main()
        Try
            '----------------------------
            ' Get command line arguments
            '----------------------------
            Dim args As String() = Environment.GetCommandLineArgs()
            If args.Length < 3
            Console.WriteLine("Usage: SubmitJcl <server> <file.name>")
            Environment.Exit(1)
            End If
            Dim serverName As String = args(1)
            Dim fileName As String = args(2)
            '------------
            ' Submit JCL
            '------------
            Dim network As ZosNetwork = new ZosNetwork()
            Dim server As ZosServer = network.Servers(serverName)
            Dim suppressMessage As Boolean = false
            Dim jobs() as ZosJesJob = server.SubmitJcl(fileName)
            Dim job As ZosJesJob
            For Each job In jobs
                Console.WriteLine("Job submitted: JobName={0} JobID={1}", _
                    job.JobName, _
                    job.JobID)
            Next
        Catch e As Exception
            Console.WriteLine(e.Message)
            Console.WriteLine(e.TargetSite)
        End Try
    End Sub
End Module
...
JScript Example
...
/**********************************************************************
* JScript Example
*
* File Name: SubmitJcl.js
*
* Description: Submit job to server.
*
* Usage: SubmitJcl <server> <file.name>
*
* Copyright ©2007, Serena Software. Licensed material. All rights reserved.
**********************************************************************/
import System;
import ZosApi;
try
{
    //////////////////////////////
    // Get command line arguments
    /////////////////////////////
    /
    var args : String[] = Environment.GetCommandLineArgs();
    if (args.Length < 3)
    {
        Console.WriteLine("Usage: SubmitJcl <server> <file.name>");
        Environment.Exit(1);
    }
    var serverName : String = args[1];
    var fileName : String = args[2];
    //////////////
    // Submit JCL
    //////////////
    var network : ZosNetwork = new ZosNetwork();
    var server : ZosServer = network.Servers[serverName];
    var jobs: ZosJesJob[] = server.SubmitJcl(fileName);
    for (var job in jobs)
    {
    Console.WriteLine("Job submitted: JobName={0} JobID={1}",
        job.JobName,
        job.JobID);
    }
}
catch (e : Exception)
{
    Console.WriteLine(e.Message);
    Console.WriteLine(e.TargetSite);
}