Congratulations on your decision to participate in the Part 2 journey.
The challenge objective is familiarity with TSO, Time Sharing Option.
Logon to z/OS as you learned in Part 1, then pause after typing your password and read the following:
The following display may or may not appear.
If the following screen appears, then enter 2 to Delete data set without printing.
The Log Data Set contains activity from session which is no longer needed.
Termination of ISPF session should now result in the TSO READY prompt.
The following text lines are for copy and paste convenience to help complete the challenge quickly:
time
submit 'zos.public.jcl(part2)'
a
allocate dataset(p2.output(#01)) file(sysut2) shr
allocate dataset('zos.mtm2018.public.pds.data(country)') file(sysut1) shr
allocate dummy file(sysin) reuse shr
iebgener
logon z#####
Below is only a description of the actions you will take in the screen shot following this description.
Enter TSO commands shown in screen shots below to complete the challenge - remember you have the text above for copy and paste convenience.
While many interact indirectly and unknowingly with mainframes each day, few
can say they interacted directly and knowingly with a mainframe today.
You can!
Familiarity with ISPF is needed to complete challenge #02.
ISPF is used frequently throughout the contest to complete challenges.
A short video is available to explain ISPF.
Click on the following URL, then select Lecture 7 video which is less than 8 minutes.
z/OS Introduction
Note: If "Start Chat" appears, decline. Chat is for clients considering a purchase.
Lecture 7 video explains the basics of ISPF necessary to complete the following challenge.
Successful execution of the challenge instructions created #02 in data set name P2.OUTPUT where #02 contains a screen print of data set names beginning with your ID.
Congratulations! You are done with challenge #02 and you ready for the next challenge.Familiarity with ISPF Editor is needed to complete challenge #03.
ISPF Editor is used frequently throughout the contest to complete challenges.
A short video is available to explain ISPF.
Click on the following URL, then select Lecture 8 video which is less than 8 minutes.
z/OS Introduction
Note: If "Start Chat" appears, decline.
Chat is for clients considering a purchase of additional IBM Z technology features.
While in ISPF Edit session, enter help or press function key 1, F1, to display online ISPF Editor tutorial help.
The contest instruction web site has an ISPF Editor Command Summary under the References drop down.
ISPF Editor Command Summary
Lecture 8 video explains the basics of ISPF Editor necessary to complete the following challenge.
NOTE: During the challenge the following ISPF Edit Entry Panel appears - enter to proceed.
Successful format of the ISPF Edit session will look like the following ISPF Edit session screen
If the format is not correct, then enter ISPF primary command cancel and start over.
If the format is correct, type primary command replace p2.output(#03)
and c99 over top of line 000001, then enter to copy all lines to member #03 in data set p2.output .
NOTE: A truncation message appears. Truncation is ok. Enter to proceed.
Member #03 created message appears in the upper right area of the display.
The above created member #03 in data set name P2.OUTPUT
where #03 contains an edited screen print of data set names beginning with your ID.
F3 (function key 3) to save and exit from the ISPF editor session.
What you learned about the ISPF editor:
The ISPF editor is feature rich, flexible, and powerful.
Professionals continue to learn ISPF editor tricks and techiques for many years after their first exposure to ISPF editor.
It is only possible to become proficient with ISPF editor as a result of repeated use and exploration.
The ISPF Editor is used frequently in the contest.
Congratulations! You are done with challenge #03
and you ready for the next challenge.
Familiarity with SDSF is needed to complete challenge #04.
SDSF is used frequently throughout the contest to complete challenges.
In challenge #04 SDSF is used to:A short video is available to explain SDSF.
Click on the following URL, then select Lecture 9 video which
is less than 8 minutes.
z/OS Introduction
Note: If "Start Chat"appears, decline.
Chat is for clients considering purchase of more IBM Z technology features.
Lecture 9 video explains the basics of SDSF necessary to complete the challenge.
From ISPF Primary Option Menu, enter sd to access SDSF panels
Commands are available in SDSF to limit view to only input, execution, and output owned by your ID.
Enter the SDSF command string as seen below.
Submit a JCL JOB by entering tso submit jcl(ch04jcl) in the COMMAND INPUT field as follows:
Enter b when prompted to ENTER JOBNAME CHARACTER(S) as follows:
A message SUBMITTED, and another message indicating the JCL JOB completed successfully with MAXCC=0000 are displayed - enter to see them, then finally you are returned to SDSF status display.
Tab to the left of the completed JCL JOBNAME ending with B .
Enter s to select all the JCL JOBNAME output.
Note: It might be necessary to refresh the display with an extra enter for JCL JOBNAME to appear.
The challenge created member #04 in data set name P2.OUTPUT
where #04 contains output of a JCL JOB.
SDSF was used
to view the JCL JOB output and write a selected part of the output to
member #04 in P2.OUTPUT
In challenge #04 you submitted JCL for execution and viewed the output.
In challenge #05 you will learn the basics of JCL.
How does a program find the physical data sources to read, write, or
update using the
internal file name?
The answer is JCL.
JCL DD, Data Definition, operation is used to associate a program file name with a physical data source.
Example:
PAYROLL program is coded to -
read from file names
employee
payrate
taxrate
write to file names
paystub
totcash
CASH program is coded to -
read from file names
totcash,
cashbefr
write to file name
cashaftr
JCL below has JCL DD operations with ddnames spelled exactly as the program file names from above.
What is a JCL ddname?
What is a JCL step?
Description of a few DD parameters describing the data input/output resources
----------------------------------------------------------------------------------------------
The program determines JCL the ddname.
----------------------------------------------------------------------------------------------
If a program file name does not have an associated JCL ddname, then the program
execution will fail reporting no ddname found for the program file name.
The challenge created member #05 in data set name P2.OUTPUT from SORT program output produced by JCL JOBNAME SORT05.
Congratulations! You are done with challenge #05 and you ready for the next challenge.In challenge #05 you were introduced to JCL.
You learned about the relationship between a program file name and the DDNAME.
Bottom line
A program file name must be spelled the same as the DDNAME for the system to locate the physical inputs and outputs.
In challenge #06 you are introduced to JCL DD operation parameters which are used to
describe the program inputs and outputs.
Many JCL DD parameters exist which can appear confusing. However, learning the most common parameters is pretty easy.
Most common JCL DD parameters include:
You practiced what you learned in the previous challenge,
"how to submit JCL and view the JCL JOBNAME output"
Feel free to check your P2.OUTPUT(#06) written by SORT program based upon your control statement change, then move on to the next challenge!
Some operating systems process data as a stream of bytes or characters where a "new line" of data requires a "carriage return" character or "line feed" character embedded in the stream of characters.
z/OS manages data differently.
z/OS data is processed with an assigned record length.
z/OS "new line" occurs as the result of the assigned record length
resulting in significant implications on how datasets are created, how programs
process data, and contributes to why z/OS memory management is superior to other
operating systems.
z/OS data sets are a collection of "records" and not a stream of
bytes.
When a z/OS program reads data, the program is reading one or more data records.
When a z/OS program writes data, the program is writing data records.
Master the Mainframe contest objective is knowledge and experience
with details of z/OS.
z/OS system technicians customize z/OS and DevOps
environment to handle data set creation.
Application developers are typically unaware of details
related to data set creation.
Application developers use
documented procedures hiding the details required for data set
creation.
DevOps tooling allows the application developers to maintain, test, and
develop new business applications without the need to have any detailed knowledge
about the operating system environment.
Viewing a 5 minute video is highly recommended to explain z/OS Data
Set Names and Types.
Click on the following URL, then
select Lecture 11 video.
z/OS Introduction
Lecture 11 will help you understand details that follow required to complete
challenge #07 and increase your z/OS knowledge.
Note: If "Start Chat" appears, decline. Chat is for clients considering a
purchase of additional IBM Z technology.
Common ways z/OS data sets are created include:
z/OS needs more than a data set name to create a data set such as:
Viewing a short video is recommended to understand z/OS data set SPACE
primary and secondary extents.
Click on the following
URL, then select Lecture 15 video.
z/OS Introduction
Lecture 15 describes z/OS disk storage details related to data set creation and management.
Note: If "Start Chat" appears, decline.
Chat is for clients considering a purchase of additional IBM Z technology.
Challenge #07 uses SORT program to copy data from ZOS.MTM2018.PUBLIC.CLIENTS
into the new Z#####.CLIENTS data set name as the result of successful execution
of JCL JOBNAME CH07JCL.
NOTE: Challenge #07 instructions include screen shots to guide you to challenge completion.
Future challenges will assume you have the following basic skills without the need for screen shot examples -
Feel free to check your P2.OUTPUT(#07) contains attributes of the new data set name Z#####.CLIENTS, then move on to the next challenge!
There are 10 kinds of people in the world. Those who understand binary and those who don't.
If you are unfamiliar with the humor in the above statement, then you will be after this challenge.
Early school education involves decimal arithmetic and script symbols for alphanumeric
and special characters.
Computer technology expertise requires an adjustment to the early school education.
The digital world of computers, networks and many electronic devices operate using signals
where a signal at the lowest level is either off (0) or on (1).
The word binary involves two things. Binary, 0 or 1, is the lowest level of our digital world.
Computer instructions, alphanumeric and special characters are binary at the lowest level.
The word bit is used to store only 1 of 2 possible states. A binary bit is either state 0 or 1.
Think of a light switch with only 2 states, off (0) or on (1).
A more human friendly method to represent a defined string of bits is hexadecimal.
Hexadecimal has 16 positions (0-9 and A-F representing positions 10-15).
Two different character format schemes are
References drop down includes a Character Encoding Summary with Hexadecimal format
for each displayable EBCDIC and ASCII character
-- Observe the displayed lowercase a in the table as EBCDIC x'81' and ASCII x'61'
Character Encoding Summary
Z#####.PDS.DATA member name MIX requires 3 modifications to successfully complete the challenge.
Create P2.OUTPUT(#08) from successfully modified Z#####.PDS.DATA(MIX)
NOTE: ISPF primary command cancel is available to exit edit session without saving changes in the event you want to start over.
Congratulations! You are done with challenge #08 and you ready for the next challenge.
You will allocate 7 unique z/OS data set types
Edit and submit JCL JOB with the following modifications:
See References drop down Data Set Allocation and Disk Storage Summary
NOTE: All occurrences of &SYSUID. are automatically replaced by your ID when submitted.
Change all occurrences of the @ symbols with appropriate parameters to accomplish the following:
Submit JCL member name CH09JCL and view the output for successful execution.
If unsuccessful, then correct and submit again.
Browse P2.OUTPUT(#09) to validate data set name allocation attributes for the 7 unique data set types
are in the #09 member name.
Congratulations! You know more about z/OS than the average person
Edit, modify, and submit JCL JOB executing system utility program IDCAMS
to copy the same input data
into 6 unique data source types:
The input data source is data you modified in a previous challenge, Z#####.PDS.DATA member name MIX.
NOTE: All occurrences of &SYSUID. are automatically replaced by your ID when submitted.
Modify JCL as follows:
Submit JCL member name CH10JCL and view the output for successful execution.
If unsuccessful, then
1) tso submit jcl(ch09jcl) to recreate empty data set names
2) Correct JCL, submit, and view output
Browse P2.OUTPUT(#10) to validate data set name allocation attributes for the 6 unique data set types
are in the #10 member name.
NOTE:
P2.OUTPUT(#10) will include REC-TOTAL--------------8 in the STATISTICS section of the VSAM data set attribute output.
If you edit or view the VSAM cluster names, you can view the data copied.
You are ready for the next challenge!.
JCL is rarely written from scratch.
JCL is commonly copied, then modified to accomplish a task.
In this challenge an ISPF edit session is used to copy in JCL from a different member name,
then modified to accomplish a task as instructed.
Common ways z/OS data sets are deleted include:
Successful completion includes member name #11 in P2.OUTPUT with messages indicating the 7 data sets are not found.
You accomplished the challenge without example screen shots.
You demonstrated ability to use ISPF Editor, JCL, and SDSF to accomplish the challenge.
Your z/OS experience is growing. NEXT!
Many techniques are available to copy data between z/OS data sets and Unix file names.
The challenge uses JCL to execute Unix shell commands and execute a standard z/OS system utility to copy data from a partitioned data set member name to a Unix file name.
Common ways to copy data between Unix file names and z/OS data sets:
Important Details:
NOTE: The first time running CH12JCL, the DELETE step finish with a return code of 256 as a result of attempting to remove filename mix when mix filename does not exist. Return code 256 is the expected return code. All is ok.
Successful completion includes member name #12 in P2.OUTPUT with word count output
Your z/OS experience has grown another notch. NEXT!
z/OS is both flexible and open as a result of a tightly integrated Unix Systems Services component in the z/OS Base Control Program.
The challenge involves using JCL to execute Unix shell commands, reviewing the output, and then editing a Unix file created by a Unix shell command processing.
Description of JCL JOB CH13JCL
NOTE: Ignore message "Data set attributes are inconsistent. Truncation may result.."
Enter to proceed past message
F3 to exit oedit session
exit to terminate unix shell session
enter to return to ISPF session
Successful completion includes member name #13 in P2.OUTPUT with September 1752 calendar followed by year the "Gregorian" calendar was introduced
You learned some trivia about the history of the calendar while learning basics of z/OS environment
NEXT!
Panels are available on the contest system to interactively process SQL statements.
From the ISPF Primary Option Menu, enter D2 for the DB2 Interactive functions.
The panel is used to interact with DB2 subsystem
Below - observe SSID: value is blank. Enter d to change the 'Defaults'.
Below - the DB2 Name value needs to be DBCG. Type DBCG, then enter to proceed to next panel
Below - DEFAULTS PANEL 2 is displayed.
No change is necessary.
Enter to proceed
Below - observe SSID: value is now DBCG
Your DB2 Interface panels are now ready to access the contest DB2 subsystem
Enter 1 to Process SQL Statements
Examples to interactively process SQL statements follow.
From the ISPF Primary Option Menu, enter D2 for the DB2 Interactive functions.
From the DB2I PRIMARY OPTION MENU, enter 1 to Process SQL statements.
Above action results in SPUFI display below following a harmless WARNING panel that might appear.
Type pds.data(sql) in the input data set name area as shown below, then tab to output data set name area and enter sql.out as shown below
Note: when YES is present for CHANGE DEFAULTS and EDIT INPUT, then result will be interim defaults panel followed by edit session
Above action may result in a harmless WARNING panel.
Enter to proceed.
Above actions result in the interim CURRENT SPUFI DEFAULTS panel.
No change is required.
Enter to proceed.
Above actions result in an ISPF edit session.
Z#####.PDS.DATA(SQL) is initially empty.
Enter the SQL select statement as shown below.
Cut and paste text -
select * from ibmuser.dept;
F3 to save and exit from the ISPF edit session
Enter to execute the SQL statement saved in Z#####.PDS.DATA(SQL).
Above actions result in DB2 returning the result set from the select statement.
The asterisk following the select returns all rows and all columns from ibmuser.dept where ibmuser is owner of table name dept.
Observe the table column names in the output.
The column names can be used for selective SQL output.
F3 to exit and return
Navigate your way back to the SQL processing ISPF edit session using the same input data set and output data set.
Type -- in column 1 and 2 preceding the first select statement.
The result is the first select statement is now a comment statement.
Insert a new line and enter the select statement as displayed below.
F3 to save and exit the ISPF edit session, then enter to execute the new SQL select statement.
The above action results in the output below where all rows and all columns are returned
from ibmuser.dept where the deptname = 'OPERATIONS'
Navigate your way back to the SQL processing ISPF edit session using the same input data set and output data set.
Type -- in column 1 and 2 preceding the second select statement.
The result is the first and second select statements are now comment statements.
Insert a new line and enter the select statement as displayed below.
F3 to save and exit the ISPF edit session, then enter to execute the new SQL select statement.
The result is all rows with only column deptname is returned where the admrdept column is equal to A00.
You are now ready for the simple challenge.
What you learned in Challenge 14 is needed to complete the final Part 2 challenge.
The SQL output is written to Z#####.SQL.OUT
A display will appear reporting the 'data set attributes are inconsistent. Truncation may result..'
The message is expected. Press enter to proceed.
Successful completion includes member name #14 in P2.OUTPUT with output from the requested DB2 select.
You learned about interactive execution of SQL statements returning a result set from
z/OS relational database tables.
NEXT! The final Part 2 Challenge
A correct number is required to complete the challenge.
The correct number is the sum of 8 numbers from 4 separate data sources.
The 4 data sources include:
Each number may be in 1 of 3 formats:
Each non-EBCDIC number must be converted to an EBCDIC numeric value where the sum of the EBCDIC numeric values is the single number required to complete the challenge.
You will be given the name of the data sources, specific record numbers, beginning and ending column numbers within the specific record to find the number. You will NOT be given the data format such as EBCDIC, ASCII, or Packed Decimal. You will need to view the hexadecimal representation to determine when value is either ASCII or Packed Decimal.
You are prepared to complete the challenge based upon what you learned in previous Part 2 challenges.
What you learned in previous Part 2 challenge:
Character Encoding Table is available to help complete the challenge.
Enter the command below from ISPF command line to create the challenge data sources.
REMINDER: Substitute your ID for Z#####
Sum the 8 numbers found in the specified record and column positions from the following data sources:
Take the following steps to record your answer for scoring:
Successful complete of P2DONE writes answer to P2.OUTPUT(#15) and deletes data sources
You demonstrated the ability to locate and convert specified data fields from a variety of data formats within a variety z/OS data sources in the final challenge of Part 2.
Congratulations! You just completed Part 2. Time to check your work.