Function
The EQQWXCSV program generates a primitive application, or suite of applications, from a comma separated value (CSV) file.
The primitive application has simply the jobs and dependencies defined, with some operations attributes set. They do not include run cycles, special resources, or other features not directly contained in an operation record. You can use EQQWXCSV to create the primitive applications, to which you can later add more detailed features by using dialogs or other means.
The CSV file can contain jobs, dependencies, workstations, highest return code, form definition, and duration. The code can easily be extended to include other operation attributes, as required. The minimum content for the CSV file is a column for the names of the jobs to run, and a column for dependencies.
The columns in the CSV file can be mapped to the relevant operation attributes with the MAP keyword. This removes any requirement to format the CSV file to meet the requirements of the program.
The program takes the entire content of the CSV file and creates a workflow for all the operations, then breaks this into multiple applications if necessary, based on your operation numbering POLICY. If only one application is created, the application name is the same as the name specified in the control statements. If the number of operations causes an application split, the application names are suffixed with numbers. If the specified application name is already 16 characters long, the suffix is overlayed over the last few characters.
Each generated Application has a START and END operation to tie unattached dependencies to.
Dependencies made to jobs defined later in the list will still be made, so it is not necessary to sort the CSV file into estimated execution order. The program highlights dependencies to jobs not in the list as external predecessors, which will be defined as being to an application called EXTERNAL_PRED, with the operation number and workstation being the same as used for the END tie up operation. These place holder dependencies will require manual amendment in the resulting primitive application.
Multiple instances of the same job name can be used, any dependencies made to multiple jobs will always be to the most recently specified in the list before the job making the dependency.
If the dependencies would define a loop, all operations in the loop are reported without generating an application.
It is possible to produce Batch Loader output, for review or later implementation on a later system, or the program will call Workload Automation Programming Language directly to update the database with the new applications.