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