CA 7 Best Practices Ellen O'Connell Terms of This Presentation This presentation was based on current information and resource allocations as of October 2009 and is subject to change or withdrawal by CA at any time without notice. Notwithstanding anything in this presentation to the contrary, this presentation shall not serve to (i) affect the rights and/or obligations of CA or its licensees under any existing or future written license agreement or services agreement relating to any CA software product; or (ii) amend any product documentation or specifications for any CA software product. The development, release and timing of any features or functionality described in this presentation remain at CA’s sole discretion. Notwithstanding anything in this presentation to the contrary, upon the general availability of any future CA product release referenced in this presentation, CA will make such release available (i) for sale to new licensees of such product; and (ii) to existing licensees of such product on a when and if-available basis as part of CA maintenance and support, and in the form of a regularly scheduled major product release. Such releases may be made available to current licensees of such product who are current subscribers to CA maintenance and support on a when and if-available basis. In the event of a conflict between the terms of this paragraph and any other information contained in this presentation, the terms of this paragraph shall govern. 2 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA For Informational Purposes Only Certain information in this presentation may outline CA’s general product direction. All information in this presentation is for your informational purposes only and may not be incorporated into any contract. CA assumes no responsibility for the accuracy or completeness of the information. To the extent permitted by applicable law, CA provides this document “as is” without warranty of any kind, including without limitation, any implied warranties or merchantability, fitness for a particular purpose, or non-infringement. In no event will CA be liable for any loss or damage, direct or indirect, from the use of this document, including, without limitation, lost profits, lost investment, business interruption, goodwill, or lost data, even if CA is expressly advised of the possibility of such damages. 3 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Abstract CA 7 Performance and Tuning continues to be an important aspect of critical business processing. Recent enhancements to CA 7 job submission will be one of the major topics discussed. CA 7 also has several new components and features that make scheduling your workload mush easier: Repeat Scheduling, Perpetual Calendars and more. Come learn about the new tricks, as well as some tried-and-true ones, in this informative and useful session. 4 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Agenda > Parallel Submission Processing > Repeat Scheduling > Perpetual Calendars > Scheduling Techniques > Automated Recovery Facility 5 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Parallel Submission Processing (PSP) 6 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Parallel Submission Process (PSP) > Introduced in r11.1 > Initialization file OPTIONS,PSP=YES,MAXSUBOUT=5 Defaults stated here but may be overridden MAXSUBOUT indicates the number of new SCTs or threads added to CA 7 for output processing – MAXSUBOUT maximum is 15 > Exploits JES ability to have more than one Internal Reader allocated per address space Improves number of jobs CA 7 can submit (throughput) Dynamically allocated DD name for internal reader: CA7INTnn, nn is the thread number (1-15) 7 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA When is PSP not used? > Default is to use PSP: OPTIONS,PSP=YES May set OPTIONS,PSP=NO to not permit PSP > CA 7 overrides PSP=YES if incompatibility is detected The presence of an SASSXX02 exit means use serial job submission; the new reentrant SASSXX20 must be used with PSP=YES The Ready Queue is not marked INDEX=A means to use serial job submission in that case; must have access to in-storage Ready Queue for job queue record access 8 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Evaluating PSP Performance > Command /DISPLAY,ST=SUB (online, this execution) /DISPLAY,ST=SUB *** SUBMISSION OUTPUT THREAD STATUS *** *THREAD* **ADDR** S1 S2 S3 S4 JOBNAME CA-7# JSTA PRE PRC PST #JOB #BSY SASSSO01 0024ADF4 00 C0 00 00 CA07XP09 00291 00B0 0000 0000 0000 0020 0000 SASSSO02 0024B278 00 C0 00 00 CA07XP05 00287 00B0 0000 0000 0000 0005 0000 SASSSO03 0024B6FC 00 C0 00 00 CA07XP01 00268 00B0 0000 0000 0000 0001 0000 > New CA 7 Log History (SASSHIS8) report for Parallel Submission (SASSHR24) Provides breakdown of job output activity (time spent in preprocessing, processing and postprocessing phases) Concludes with a summary of activity by thread 9 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA SASSHIS8 HR24 Report > Only portion of report shown SASSHR24 CA WORKLOAD AUTOMATION SE JOB SUBMISSION OUTPUT ACTIVITY ----------------------------------------------------------------------------------------------- JOB JOB SELECT SELECT OUTPUT DISP MOD PROC POST TOTAL NAME NUM DATE TIME COMPLETE DWELL DWELL DWELL DWELL DWELL ----------------------------------------------------------------------------------------------CA75XX01 00266 09/17/09 10:05:35.92 10:05:39.37 0:00.78 0:01.61 0:01.03 0:00.03 0:03.45 CA75XX08 00267 09/17/09 10:05:35.96 10:05:39.26 0:01.00 0:01.15 0:01.14 0:00.01 0:03.30 CA07XP01 00268 09/17/09 10:05:36.76 10:05:38.29 0:00.40 0:00.89 0:00.13 0:00.11 0:01.53 CA75XX02 00269 09/17/09 10:05:53.37 10:05:54.27 0:00.03 0:00.10 0:00.70 0:00.07 0:00.90 CA75XX03 00270 09/17/09 10:05:53.40 10:05:54.34 0:00.07 0:00.04 0:00.69 0:00.14 0:00.94 CA75XX04 00272 09/17/09 10:05:54.32 10:05:58.49 0:00.01 0:00.06 0:00.20 0:03.90 0:04.17 > Summary shows averages/percentages by SCT SASSSOnn where nn is 01, 02, up to MAXSUBOUT# > Report can show periods of slowdowns in which external factors may be affecting performance (JES, Security, etc.) 10 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Repeat Scheduling 11 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Repeat Scheduling > Introduced in CA 7 r11.0 > Permits a job to be scheduled once and repeated based on a timed interval for n number of occurrences Uses the same schedule ID (SCHID) The repeated job is a trigger of the previous job! > Set schedule information (DB.2.1): Like any other job: Daily, weekly, etc. Then add repeat parameters: INTERVAL, TYPE, COUNT, STOP > May trigger other jobs that may need to be run after the repeat job > Also available on the DEMAND command 12 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Job Schedule Definition --------- CA-7 CPU JOB SCHEDULING PARAMETER EDIT FUNCTION: ---------- (ADD,DELETE,EXIT,FORMAT,LIST,REPL,SAVE,SR,SS) JOB: SCHID: SCAL: DOTM LDTM SBTM ROLL: ---------------REPEAT------------INTERVAL: __ __ DAILY __ __ WEEKLY SUN: __ __ MONTHLY INDEX: MON: TUE: WED: TYPE: THU: COUNT: FRI: STOP: SAT: JAN: FEB: MAR: APR: MAY: JUN: JUL: AUG: SEP: OCT: NOV: DEC: WEEK: DAY-OF-WEEK: RDAY: __ __ ANNUAL DAY: DEFAULT SCAL: __ __ SYMETRIC PROGRAM: SM72 START: MSG-INDX: 00 SPAN: -- DB.2.1-E -- SCHID-COUNT: 000 yy.ddd / hh:mm:ss MESSAGE: ENTER FUNCTION, TRANSFER OR ENTER A COMMAND ON THE TOP LINE 13 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Repeat Job Parameters > INTERVAL specifies the amount of time between each iteration (hhmm) Required if job is to be repeated Interval X Count can not exceed 24 hours > TYPE determines new submit time requirement for next iteration of job Required if job is to be repeated and INTERVAL is coded CLOCK: INTERVAL is added to the previous iteration's submit time requirement START: INTERVAL is added to the previous iteration's last (most recent) start time END: INTERVAL is added to the previous iteration's last (most recent) end time 14 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA How long to schedule Repeat Job? > COUNT specifies the maximum number of times to repeat the job Must specify COUNT and/or STOP For COUNT and STOP specified, Repeat Job ends on first situation of when COUNT reaches zero or STOP time is reached If no COUNT specified, job repeats until STOP time occurs INTERVAL times COUNT cannot exceed 24 hours > STOP specifies the clock time on or after which the job should not be repeated If STOP time < submit time requirement, the stop date is assumed to be the following day Stop time of zeros = no value coded 15 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Perpetual Calendars 16 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Perpetual Calendars > New with r11.3 > Permits generic calendar definition by using relative terms in PDS members These PDS members are then used to generate the SCALyyxx members SCALyyxx members generated at time of reference if the member does not exist > Initialization file CALENDAR,DSN=calendarPDS, PCALDSN=petcalPDS Must use calendar PDS as generated output goes here May still have calendar modules (CALBLK) > Use PRINT command to see how calendar generates 17 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Defining a Perpetual Calendar > Official calendar name is PCALYYxx xx is the same as the SCALyyxx > May have other member names that serve as common included members into the PCALYYxx members Example is common holidays used by multiple calendars > Statements processed sequentially Last statement for the day wins > Statements are “Verb Criteria” format > Four Verbs: SET, INCLUDE, DEFINE, and CHANGE > Comments permitted via * in column 1 18 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA SET Statement Details > By default, all days are processing days > SET date-expression action > Date-expression constants: ALL, WEEKDAYS,WEEKENDS, HOLIDAYS > Relative date expressions: Specific: mm/dd month dd dd month EASTER Day of week (DOW): DOW (DOW…) ordinal# DOW {IN|OF} month Range (must use specific date): date-expression TO date-expression date-expression FOR nnn (note: calendar days) > Action: SCHEDULE, (NON|UN)SCHEDULE, HOLIDAY 19 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Other Verbs > INCLUDE includes another member defining criteria Format: INCLUDE member Processed in its entirety prior to returning to statement following INCLUDE Use any name; e.g. GOVHOLS for government holidays > DEFINE substitutes one phrase for another Format: DEFINE phrase AS substitution Phrase is “tag” such as Autumn, Election Day Substitution is date-expression, such as 22 September Once phrase is defined, then can SET to action > CHANGE modifies attributes of the base calendar MONTHBEGIN/MONTHEND dates or SCHONLY 20 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Examples of Perpetual Calendars > Schedule all weekdays except Mondays, Wednesday, and Fridays SET WEEKDAYS SCHEDULE SET MON WED FRI NONSCHEDULE > Define common criteria for multiple calendars (SEASONS) DEFINE Spring Day AS last Monday in May SET Spring Day Holiday DEFINE Summer Day AS last Monday in August SET Summer Day Holiday DEFINE Christmas AS 25 December Set Christmas Holiday 21 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA INCLUDE Perpetual Calendar Example > Using SEASONS, define 2 account cals: BNK1 &BNK2 > BNK1: SET ALL Schedule INCLUDE SEASONS SET 1 JAN Holiday SET Holidays NONSCHEDULE > BNK2: SET WEEKDAYS Schedule INCLUDE SEASONS SET 1 JAN Holiday SET EASTER Holiday SET Holidays NONSCHEDULE 22 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA When are Perpetual Calendars referenced? > Perpetual Calendars are used when there exists no base calendar for the year being referenced Search assembled calendars (CALBLK modules) Search Calendar PDS If no SCALyyxx member found, then search for PCALYYxx in the perpetual calendar PDS If not found, then the same message “calendar not found” > Recommend a PRINT command to show scheduled days for calendar before doing a resolve PRINT,SCAL=xx,YEAR=yy Can issue command for years beyond current 23 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Scheduling Techniques 24 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Scheduling Techniques > Scheduled jobs use defined calendars along with schedule IDs (SCHIDs) Define job’s schedule through Job Scheduling (DB.2.1 or SCHD,JOB) Define when job should execute: – Mondays, Wednesdays, and Fridays or schedule job to run 5 working days prior to 15th of month SCHIDs represent variances in the job’s attributes, such as different JCL, different requirements, different successors Only 10-20% of jobs should be scheduled (and these trigger subsequent jobs) – APA GRAPHJ,ID=1230 (Percentage of Jobs Scheduled Via Auto Triggers) 25 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Resolving the Job Schedule > After a job’s schedules are defined, then RESOLVe the job to define the schedules to CA 7 Combines the scheduling criteria with the calendar to create the schedule dates and times, to create a record used during the Schedule Scan > Global Resolve should be done twice a year RESOLV,JOB=*,OLDYR=*,TEST=NO,PRINT=NO > In r11.3, show last resolve for job ------- CA-7 MODIFICATION TO RESOLVED SCHEDULE DATES FUNCTION: LIST JOB: CA75XX01 (FORMAT,LIST,UPD) NETWORK: MODSTAT: SCHID: 1 YEAR: 2009 1 1 2 2 3 3 LAST RESOLV: 09.036 / 12:51 ....5....0 ....5....0 ....5....0 1 JAN 26 -------- 1100111110 0111110011 1110011111 0 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Schedule Scan (SSCAN) CURRENT SCHEDULE SCAN VALUES ---------------------------SPAN = 240 INCREMENT = 120 QUEUE DWELL = 30 SKELETON RETRY = 5 REPROMPT = 10 XP RETRY LEAD TIME = 0 STATUS: = REQQ IS ACTIVE ABR MSGS RDYQ IS ACTIVE HOLD JOBS = NO 40 = NO NEXT SCAN WAKE-UP = 99999 AT 3679 NEXT SCAN PERIOD START TIME = 00000 AT 0000 SPAN – Number of hours (in minutes) in which CA 7 looks for jobs to submit; add in QDWELL to ensure jobs are not immediately late; must be larger than increment INCREMENT – Number of hours (in minutes) between wake up times to perform the scan of the schedule records DATE, PERSTART, and PEREND can be used to adjust SSCAN period to pick up work missed during recovery situations 27 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Requirements and Triggers > Requirements are events that must be complete before job can execute Also known as predecessors Includes jobs, data sets, and user requirements Add through DB.3.1 (data sets) and DB.3.2 (jobs) and DB.3.6 (user requirements) Reflected in the MCNT (master Count) of queue displays > Triggers are jobs that are submitted to CA 7 Request Queue after completion of an event Includes jobs (DB.2.4) and data sets (DB.2.6) More efficient for CA 7 than scheduling every job 28 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA External Communicators > Several methods to pass commands through batch processes outside of the CA 7 Address Space U7SVC – D= Trailer Step - SASSTRLR Batch Terminal Interface – SASSBSTR CCI Interface – CAL2X2WB – batch job – CAL2X2WR – REXX interface > New in r11.3, TCP/IP Terminals Uses the defined CCI Terminals Communicate through the TCP/IP network Identify the URL, port and CA 7 instance number 29 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Automated Recovery Facility (ARF) 30 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Automatic Recovery Facility (ARF) > A method to schedule automatic actions to be taken in the event of problems with a job Job adds members to a PDS and encounters a SB37 abend; ARF can submit an ARF recovery job (ARFJ) to compress the PDS and then resubmit the job Critical application job becomes late and the person responsible want to be notified via email that job is late > ARF sets are attached when job is submitted to the CA 7 Request Queue and can monitor several conditions Late: prompt time, begin, end, submission (LA, LB, LE, LS) Completion: job or step (JS, SC) Elapsed Time: completion or execution (EC, EE) Interrupt submission (IS) 31 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA ARF Set Definition > Up to 20 exception definitions (DEFID) per ARF set Used sequentially per best match > Three sections to each definition: Type: type of exception condition to be monitored – Add specifics such as SCHID, System Name, parameters for the exception such as abend codes, condition codes, relative date/time – Only one condition per DEFID Responses: actions to take when condition is encountered – Issue a command (AC) or a message (AM) – Wait for a period of time – Schedule an ARF recovery job Final disposition: for IS/JC types, what the job disposition should be after responses executed 32 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA ARF Definition Screen ---------------------- FUNCTION: TYPE: ARF CONDITION EDIT FOR EROCTEST --------------------- (ADD,DELETE,EXIT,FORMAT,LIST,REPL,SAVE,SR,SS) SYS EQ * SID EQ 0 FROM: 01011975 0001 JC, SC TST: STEP EQ * RSTC GE 0 EM EQ * DEFID: TO: 12312074 2359 PROC EQ * PGM EQ * CC/ABENDS : ??? GE 000 __ ??? GE 000 __ ??? GE 000 ??? GE 000 __ ??? GE 000 __ ??? GE 000 __ EC, EE, IS, LB, LE, LS TST: RO: GE DATE: TIME: AO: ? INT/ADJ: RESPONSES: 1: 2: 3: 4: 5: 6: 7: FINAL -- DISP : N CA-11?: N BYPGDG: N START : 33 •October 28, 2009 USAGE: END : CA 7 Best Practices Copyright © 2009 CA PROCESS: DEFCT: 00 CC: Summary > Lots of features are in CA 7 to permit flexibility in Workload Automation activities > Some methods are better than others in terms of user intervention and CA 7 performance. > Exchange ideas through user groups, Support Online Knowledge Base and Forums, conferences, CA World, Support Online > Support Group always willing to answer questions! > CA 7 r11.3 will be starting a beta period shortly and looking for beta sites! Interested? Contact us! 34 October 28, 2009 CA 7 Best Practices Copyright © 2009 CA Questions & Answers