Visão Geral
Curso z/OS Application Development, Este curso foi desenvolvido para fornecer ao aluno uma compreensão aprofundada do Desenvolvimento de Aplicativos em um ambiente z/OS usando COBOL, ISPF, JCL, DB2 e CICS.
Conteúdo Programatico
ISPF
- ISPF fundamentals - ISPF Option 2: editing files
- Line commands, primary commands
- Submitting IEBGENER JCL to copy a file
- Using SDSF to view output
- Lab assignment: Use ISPF editor primary and line commands.
Introduction to COBOL
- Simple program to read a record and print the record
- COBOL Divisions
- Select/assign statement
- Field names
- Simple Picture clauses and type
- Basic Processing Logic
- Move, perform, if statements
- Compiling a program
- Running a program with instructor provided JCL
- Viewing the compile and execution output
- Lab assignment: Simple Report
Introduction to JCL
- Types of JCL statements JOB, EXEC, DD
- Job statement basics and syntax rules
- Continuation, spaces, keyword and positional parameters
- Exec statement: Name, Operation, PGM=
- DD statement to read a file; Data set names, disposition shr
- DD statement to output a file to the MVS spool
- Relationship between the program and JCL
- Lab assignment: Create JCL to execute a program
COBOL: Report Program
- Write a program to read a record and print the fields in the record
- Record layouts for input and output records: PIC X, 9
- Level Numbers, Elementary and Group Items
- If statements and the logic for headings
- Internal versus External Decimal points and signs, Zero suppression, commas and dots
- Single record numeric computations – add, multiply, subtract, divide, exponentiate
- Computing results
- If statements for selective computations
- Numeric and non numeric moves
- If statements and performs for selectively printing records
- MVS run time abends SOC7, S0CB explained.
- Common JCL Errors
- Lab assignment: Complicated report.
JCL: Sequential Files
- PDS versus Sequential files
- Creating Sequential Files: Name, Unit, Space, Disp
- DCB information, Fixed versus Variable files, Blocksize computation
- Catalog Vs VTOC
- IEFBR14
- Review the relationship between JCL and program
- TSO options 3.1, 3.2, 3.3, 3.4
- Lab assignment: Create multiple step job that writes to a sequential file
COBOL: Report Program, Sorting and Control Break Logic
- Printing totals and averages at the end of a report
- Using redefines to switch between character and numeric presentation
- Multiple If statements to translate codes
- 88 levels
- Nested If problems using the program to selectively print records
- Printing the report in a specified order using COBOL sort, input and output procedures
- Single control break logic to print subtotals and grand totals
- Lab assignment: Modify complicated report to generate totals at a department level
JCL: IDCAMS, Condition codes, Libraries, Concatenation, Restart
- IDCAMS Repro and Print
- Instream Data
- Condition Codes
- Steplib, Joblib, Linklist
- Concatenating Datasets and Libraries and blocksize problems
- Restart on Job card
- Temporary files
- Tso Option 3.14 - search, 3.12 Compare
- Lab assignment: Create multi step Job using condition codes and concatenated files
COBOL: Copybooks, Subroutines, JCL Parameters
- Using copybooks
- Calling a previously written subroutine
- Writing a subroutine
- Setting the return code from a Cobol program
- Accessing the JCL parm from a Cobol program
- Review relationship between program and JCL
- Lab assignment: Create a subroutine and use this subroutine in the previous complicated report
VSAM Processing
- Idcams Define Basics
- Reading VSAM files sequentially and randomly
- File status
- Updating and deleting records in VSAM files
- Loading records into newly created VSAM files
- Adding records into existing VSAM files
- Lab assignment: Modify the control break program to use VSAM file sequentially and another VSAM file randomly
COBOL: Packed fields, single dimension tables
- Packed and binary fields
- Loading a single dimension table from an external file
- Program with single dimension tables for lookups using perform varying, search and search all
- ABENDS S0C4, 1, 7 caused by subscript errors
- Program to use a single dimension table for totals
- Compile options
- Lab assignment: Replace Random VSAM file processing in the previous lab assignment with table lookups.
JCL: GDG, Procedures
- Using a Generation Data Group for backup files
- Creating JCL procedures to execute simple jobs
- Creating JCL procedures to execute backups to a GDG
- Creating JCL procedures to execute restores from a GDG using absolute and relative GDG versions
- Overriding procedure JCL
- Writing procedures with symbolics to restore the files
- Restarting a job from a step within a procedure
- Review the compile procedure in detail
- Lab assignment: Create a GDG to store file backups. Create a procedure with symbolics to execute an update program.
COBOL: miscellaneous functions
- Programs using Perform thru
- Programs using Go To (and advice not to use this)
- Programs using Perform thru and go to
- Lab assignment: Create a simple report using Perform Thru and Go To.
COBOL: miscellaneous functions
- Reference Modification
- Initialize
- Inline perform
- Continue vs Next Sentence
- End-if, end-perform
- 88 levels and set statement
- Evaluate
- length of
- Evaluate; perform with test after
- Address of
- Program to count the characters in a field
- Program to print a report with names in title case using COBOL II techniques
- Multiple level control breaks
- Lab assignment: Rewrite simple report to use inline performs.
JCL: Miscellaneous topics
- IEBCOPY
- JCLLIB
- New style condition code testing
- Output JCL statement
- Lab assignment: Create a jobstream using new condition codes
COBOL: Files with Variable record length
- Variable Length record files
- Different record types
- Repeating fields
- Occurs Depending ON
- Records are varying depending on...
- Lab assignment: Write a program to read variable length records. Write a program to write variable length records.
JCL: Sorting
- JCL sorting
- Sortwk areas
- Sortin,sortout
- Sort control cards
- Fields=(s,l,fm,order)
- Multiple sort control fields
- Sum fields= none
- Lab assignment: create a jobstream to sort the input file used in the first cobol program into various sequences and run the first cobol program using the sorted output.
COBOL: Multi dimension tables, sequential match logic
- Two dimension table processing for totals
- Sequential match processing
- Inspect
- Internal COBOL table using redefinition
- Lab assignment: Write a program to process a 'master' file and its associated 'transaction' records using sequential match logic with totals obtained via a 2 dimension table.
DB2: SQL
- DB2 Data formats and their cobol equivalents
- Optional and Mandatory columns
- Select Statement
- SPUFI
- Insert, Update and Delete
- Create table
- Joins
- Sum, Max, Avg, Min, Count functions
- DB2 Substr, Concatenation
- Date functions in select and where clauses year(column) and + years etc
- Group by - control break functions and having clause
- Subqueries - simple, correlated
- Unions
- Lab assignment: Write over 100 SQL statements using the topics covered in class.
COBOL and DB2:
- Programming - Embedded SQL
- One row, random read program
- Exec Sql Include SQLCA, DCLGENs
- Host Variables
- Sqlcode
- Precompile and bind functions
- Run JCL- batch TSO
- Selecting Variable Character fields
- SQLCODES 0, 100, -805, -811, -818, -204, -206, -922
- Lab assignment: Modify the intial complicated report to obtain department names from a DB2 table using single selects.
COBOL and DB2
- DB2 Cursors to read multiple rows
- Null Indicators and sqlcode -305
- Insert to load table
- Length of Varchar fields and sqlcode -311
- Proper date formats and sqlcode -180, -181
- Update, Delete
- Cursor for Update of
- Indexes - normal, unique and clustered and sqlcode -903
- Referential integrity and sqlcodes -530, -532
- Commits, Locks and Deadlocks and sqlcode - 911, -913
- Cursor with hold
- Developing Cobol Stored Procedures
- Lab assignment: Write multiple programs using cursors, update, insert and delete statements.
SQL Language Stored Procedures
- Variable Definition
- Assignment statement
- Condition Processing
- Loop Constructs
- Handling Error Conditions
- Handling Result Sets
- User Defined functions
- Triggers
- Lab assignment: Implement the stored procedures discussed in the class.
Basic CICS Concepts
- Build,Send,Return
- Receive,Validate,Process Logic Flow
- Pseudo-conversational vs conversational
- Map coding
- sets, maps, fields
- attributes
- stopper fields
- lengths
- initial
Menu program
- Pfkeys
- Attribute Manipulation
- Send map
- Asktime/Formattime
- Send data
- Return
- Commarea
- Receive
- Validation
- Security
- XCTL
Lab assignment: Create a CICS menu program to display a list of possible functions
- Intermediate CICS concepts
- Inquiry, Change, Add Programs
- Read, Read Update, Write, Delete VSAM file records
- Single record screens
- Link to a program
- Linked from program
- Lab assignment: Create a CICS program to add, update and delete single records in a VSAM file
Advanced CICS concepts
- Browse Program
- Startbr, readnext/readprev, Endbr
- Logic of scrolling
- Temp Storage
- Frset - No MDT processing
- Lab assignment: Create a CICS program to display a list of specified records and link back to the program to update and delete single records. Modify the single record screen to utilize FRSET.
Miscellaneous CICS topics
- CEDF, CECI, CEDA
- CICS tables - PCT, PPT, FCT
- Storage Violation
- Lab assignment: use CEDF to step thru the browse and update programs which are still being worked on.
DB2 and CICS
- SQL Processing in CICS programs
- Declare cursors with OPTIMIZE parameter
- Browsing data in a CICS program
- Lab assignment: Modify the above CICS programs to use data stored in DB2 tables.