Submitting WFL Input

WFL statements can be stored in disk files or in arrays in programs written in other languages. You can also enter and transmit WFL statements at a terminal. Regardless of how WFL statements are stored or submitted, a group of one or more WFL statements is referred to as WFL input.

WFL input must be submitted with special-purpose statements such as START and ZIP. You cannot use general-purpose initiation statements such as CALL, PROCESS, and RUN to initiate a WFL job.

The system can compile WFL input and execute it as a job or a task, or it can skip the compilation and simply interpret the WFL input. The statement you use to submit the WFL input and the statements contained in the WFL input together determine how the system executes that input.

WFL Execution Modes summarizes the factors that determine how the system executes WFL input. The various sources that can submit WFL input are listed at the left. The headings of the two right hand columns give information about the contents of the WFL input. The following are the meanings of these headings:

  • The Single Interpretive Statement column indicates WFL input consisting of a single statement that is one of the following statements: ALTER, CHANGE, PRINT, REMOVE, RERUN, SECURITY, or START. The WFL input can also include a FAMILY job attribute assignment, but cannot include any other job attributes. For example, the following input is treated as a single interpretive statement:

    	FAMILY DISK = SYSPK ONLY;CHANGE (JASMITH)ORDS TO (JASMITH)OLDORDS;
  • The Other Statements column indicates WFL input that consists of either more than one statement or a single statement that is not one of the interpretive statements. A WFL input also falls into this category if it includes assignments to job attributes other than the FAMILY attribute. For example, the following input would fall into this category:

    	JOBSUMMARY = SUPPRESSED;CHANGE (JASMITH)ORDS TO (JASMITH)OLDORDS;

Table 2. WFL Execution Modes

Sources for Submitting WFL Input

Single Interpretive Statement

Other Statements

CALL SYSTEM WFL (COBOL74, COBOL85)

Interpreted

Job

CONTROLCARD function (DCALGOL)

   

With [38:01] =1 and [07:08] = 4 (Array Input):

Interpreted

Task

Otherwise:

Interpreted

Job

START Statement (CANDE, MARC, or WFL)

Job

Job

START AND WAIT Statement (CANDE, MARC, or WFL)

Task

Task

WFL Command (CANDE or MARC)

Interpreted

Task

WFL Statements Entered at the ODT

Interpreted (except PRINT, which is executed as a job)

Job

ZIP statement (ALGOL or RPG)

   

With Array:

Interpreted

Job

With File:

Job

Job


If the system executes the WFL input as a job, it first calls an independent runner called CONTROLCARD to compile the job and create a job file. CONTROLCARD invokes the WFL compiler, which is a procedure exported by the system library WFLSUPPORT. CONTROLCARD runs in a special high-priority category that prevents it from being scheduled or suspended by the system if there is a shortage of available memory. The job file that CONTROLCARD creates contains more information than a typical job file, as discussed in Understanding Interprocess Relationships.

The system then inserts the job file in a job queue. (For a description of the job queue mechanism, refer to Selecting the Queue for a Job later in this section.) Later, the system selects the job file from the job queue and initiates it as a job (an independent process). When the job terminates, the system usually prints the job summary and any backup files associated with the job and its tasks. The system then deletes the job file.

If the system executes the WFL input as a task, the system initiates CONTROLCARD to compile the input and create an object code file. The system then initiates the WFL input as a task (a dependent process); the task does not pass through the job queue mechanism. When the task terminates, the system removes the object code file.

By default, no job summary or backup files are associated with the WFL task. For example, if the WFL task was initiated from a CANDE session, then backup files produced by the WFL task or its descendants are associated with the CANDE session and queued for printing only when the session is ended.

If the system handles the WFL input interpretively, then CONTROLCARD executes the WFL statement without creating a WFL job or a WFL task. In this case, CONTROLCARD creates neither a job file nor an object code file, nor does it use the job queue mechanism.