FAQS/PCS is a powerful event driven scheduler for the z/VSE operating system. This article provides some basic tips for maximizing the benefits of automated scheduling.
Review your JCL. This is the foundation of any scheduling effort. Job steps should be batched into the largest possible job steams. This keeps the number of events that need to be managed to a minimum. It simplifies and reduces the effort needed to build and maintain the schedule. Use conditional JCL to control wherever possible to control the flow of step within a job steam. For example if a return code indicates that, there is nothing to report.
/. STEP1 // EXEC PROCESS // IF $RC EQ 4 THEN // GOTO STEP3 /. STEP2 // EXEC RPTPGM /. STEP3
If the program does not issue a return code but displays a message then, you can create events that are conditioned on the messages to alter the processing flow. Long job streams should be broken up into smaller job only when there is a business reason to do this. Some steps can run concurrently with other steps. It makes sense to split a stream into separate events that can run concurrently.
After you have reviewed, standardized, and streamlined your JCL, it is easy to build a schedule. Even though you may execute hundreds or even thousands of jobs a day, they may be only a few dozen job streams to manage.
The batch cycle often begins with backups of the days CICS activity. FAQS/PCS can issue batch commands to CICS to close files or switch journals to prepare them for backup or archiving. The lead processing programs can be made dependant on the completion of one of more backup jobs. A WHEN EVENT clause is defined in the processing job to used to make one or more of the backup job a predecessor of the processing job. The processing will begin when all the dependant backups are complete. This is the most common condition that you will use. Many other type of conditions can be specified for an event. This includes messages, jobs, variables, and events triggered by some other Broadcom products such as Explore for z/VSE.
Keep the number of conditions to a minimum and avoid redundant conditions. If event C is dependant on event B and, event B is dependant an event A, event C should have a when clause for only event B. It is not desirable for event C to wait on both event A and event B as this is redundant. It only creates more complexity and overhead in the schedule.
When most of the batch processing is complete, it may be possible to run many of the final batch reports concurrently. Several events can be have when clauses for one event. Each the report job streams can be made dependant on the last job in the update processing event.
You now have a basic schedule that runs a classic z/VSE job business process. All of this is defined from the master event update panel and its sub-panels.
JOLEVT .7 CA FAQS PCS 5.0-0606 ID=TESTSYST.USER08 ===> EssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssN e ** Event Maintenance for File=MASTER --- Status=Mast ** e FssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssO e Event Name ===> TSTEVNT2 Group Name ===> TESTGRP e e Description ===> Event Hold ===> N e e Event CPUid ===> VSELVL2G ABND RC ===> e e Command ===> * TEST EVENT e e CSPD ===> ____ Target Node ===> e e Early Time ===> 0000 e e Late Time ===> 2400 Max Run Time ===> 0000 e e Abort Time ===> 2400 XDATE OR ? MTWTFSS CYCLE H Hol-id W e e Event Day ===> ALL ___ _ _ _______ 000 _ 000 _ e e Occurrences ===> Frequency ===> e e Start Date ===> End Date ===> e FssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssO e When Cond. ===> Y Successors ===> N e e Variables ===> N Data Sets ===> N e e Tape Reels ===> 00 Cartridges ===> 00 e e Resources ===> N Excl type ===> e e Exclude ===> ________ ________ ________ ________ ________ ________ e DssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssM JOLWHEN .8 CA FAQS PCS 5.0-0606 ID=TESTSYST.USER08 ===> EssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssN e ** Event Maintenance for File=MASTER --- Event=AMDLY AMLDLY ** e FssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssO e S Type Primary Q Qualifier $MRC-Cond CC-Cond e e _ WHEN1 ===> EVENT_ TSTEVNT1________ G TESTGRP_ ____ __ __ __ e e e e _ WHEN2 ===> ______ ________________ _ ________ ____ __ __ __ e e e e _ WHEN3 ===> ______ ________________ _ ________ ____ __ __ __ e e e e _ WHEN4 ===> ______ ________________ _ ________ ____ __ __ __ e e e e _ WHEN5 ===> ______ ________________ _ ________ ____ __ __ __ e e e e _ WHEN6 ===> ______ ________________ _ ________ ____ __ __ __ e e e e _ WHEN7 ===> ______ ________________ _ ________ ____ __ __ __ e e e e _ WHEN8 ===> ______ ________________ _ ________ ____ __ __ __ e e e DssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssM
In today's complex computing environments, this model is often an over simplification of the actual processes that are required to run modern business systems. FAQS/PCS has many advanced features that handle these requirements. This, however, is good foundation on which to build a truly robust schedule to meet today's computing needs.