zOS Terms and Concepts
-
Upload
chinnaiah-gopineni -
Category
Documents
-
view
228 -
download
2
Transcript of zOS Terms and Concepts
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 1/38
®
IBM Software Group
© 2006 IBM Corporation
Enterprise COBOL Education Using Rational Developer forEnterprise COBOL Education Using Rational Developer for
System ZSystem Z
z/OS Terms and Conceptsz/OS Terms and Concepts
Jon Sayles, IBM EcoSystems Team
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 2/38
2
IBM Trademarks and Copyrights
© Copyright IBM Corporation 2007,2008. All rights reserved.
The information contained in these materials is provided for informational purposesonly, and is provided AS IS without warranty of any kind, express or implied. IBMshall not be responsible for any damages arising out of the use of, or otherwiserelated to, these materials. Nothing contained in these materials is intended to, norshall have the effect of, creating any warranties or representations from IBM or itssuppliers or licensors, or altering the terms and conditions of the applicable licenseagreement governing the use of IBM software. References in these materials to IBMproducts, programs, or services do not imply that they will be available in all countriesin which IBM operates.
This information is based on current IBM product plans and strategy, which aresubject to change by IBM without notice. Product release dates and/or capabilitiesreferenced in these materials may change at any time at IBM’s sole discretion basedon market opportunities or other factors, and are not intended to be a commitment tofuture product or feature availability in any way.
IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, andother IBM Rational products and services are trademarks or registered trademarks ofthe International Business Machines Corporation, in the United States, othercountries or both. Other company, product, or service names may be trademarks orservice marks of others.
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 3/38
3
Course Contributing Authors
Thanks to the following individuals, for assisting with this course:
David Myers/IBM, Ka Yin Lam/IBM,
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 4/38
4
Purpose of This Document
Course Name: COBOL Foundation Training - with RDz
Course Description: Learn the COBOL language, RDz and learn z/OS terms, concepts and development skills in this course.
Pre-requisites: Some experience in a 3rd or 4th Generation Language is expected. SQL is also recommended.
Course Length: 10 days
Topics (Agenda)
Getting Started - installing and configuring RDz - and the course materials, and using Eclipse to edit COBOL
z/OS Terms and Conceptsz/OS Terms and Concepts
COBOL General Language Rules
Basic COBOL Statements
Data records and table handling
Debugging Programs - Note: Deep dive on using RDz for common COBOL programming errors (001, 0C4, 0C7, infinite loops, fall-thru, etc.)
Input/Output and Report Writing Patterns
Sequential File Match/Merge Patterns
COBOL Subprograms and the Linkage Section
Structured Programming Concepts and Coding Patterns
Advanced Character Manipulation, COBOL Intrinsic Functions, Date and Time coding patterns, and Language Environment calls
OS/390 Concepts and JCL
Compile/Link & Run Procs on the mainframe
Indexed file Coding Patterns
Sort/Merge and Master File Update Coding Patterns
Accessing DB2 Data and Stored Procedures
COBOL in the Real World:
– CICS - lecture only
– IMS (DL/I and TM) - ditto
– Batch processing - ditto
– Java calling COBOL
– COBOL and XML Statements
– SOA and COBOL - creating and calling Web Services
– Web 2.0 using Rich UI
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 5/38
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 6/38
6
UNIT
Topics:
z/OS Terms andz/OS Terms and
ConceptsConcepts
z/OS Hardware Terms and Conceptsz/OS Hardware Terms and Concepts
z/OS Software Terms and Concepts
COBOL and z/OS Integration
Appendices
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 7/38
7
Topic objectives
After completing this topic, you should be able to:
Describe the characteristics and define the following IBM hardware:
Mainframes 3390 disk packs
LPARs
EBCDIC
Multi-tier environments
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 8/388
Why Learn About the z/OS?Why Learn About the z/OS?
1. Very difficult to re-engineer the1. Very difficult to re-engineer the (up to 40 years of) production business functionalityproduction business functionality
running on a mainframerunning on a mainframe (generally not cost-efficient & risky)
2. What they do for I/T shops – they do extremely well2. What they do for I/T shops – they do extremely well (proven & reliable): Large-scale capacity – by every standard of measurement:
Support for 1,000s, 10,000s, 100,000s concurrent users
100,000s 1,000,000s TPS (transactions per/second)
Hosting for dozens/hundreds of databases/files, measured in terabytes
High-speed/secure/stable network access
Able to support mixed environments and workloads. One box often hosts:
OLTP (On-Line Transaction Processing), Batch processing, Ad-hoc processing
Several testing regions
Multiple logical (virtual) "machines" split from single box
Even runs multiple operating systems concurrently (z/OS, Linux, z/VM)
Extremely stable/secure production environment: If a mainframe box goes down once/per year it's unusual
Recovery and data integrity mechanisms unparalleled
Efficient, self-regulating operating system:
Slicing/Prioritizing CPU cycles flexible, simple, cost-effective MIPS
Prior generation names:
OS/390, s/390 (system 390) …. s/370 (system 370), MVS (Multiple Virtual Storage)
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 9/389
Terms and Concepts – HardwareTerms and Concepts – Hardware
The IBM TotalStorage Enterprise Storage Server (ESS) Model 800
Capacity up to 56 Terabytes (that's 5,600 Gigabytes)
Prior generation of technology names: DASD (Direct Access Storage Device
IBM z/900 seriesIBM z/990 series
"The zSeries is the enterprise class e-business server optimized for integration, transactions and data of the next
generation e-business world."
IBM s/90 G5/G6
Smallest workloadsIBM z/Series 800
(LinuxLinux) - smaller workloads
IBM i/900 series
Mid-range Mainframe
Formerly: AS/400
IBM z/10 series
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 10/38
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 11/3811
Disk Devices
Current mainframes use 3390 disk devices
The original configuration was simple with a controller connected to the processor
and strings of devices attached to the back end The DS8000 Enterprise Storage Server is a device that can manage disk devices
It emulates a large number of control units and 3390 disks. It can also bepartitioned and connect to UNIX and other systems as SCSI devices.
There are 11/196 Terra-bytes of disk space up to 32 channel interfaces, 16/256Giga-bytes cache and 284/Mega-Bytes of non-volatile memory
IBM 3390 Disk Unit
IBM 3990
Control Unitchannels
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 12/38
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 13/3813
Modern Multi-Tier Mainframe SystemsModern Multi-Tier Mainframe Systems
Business ApplicationBusiness Application
ServerServerBrowserBrowser
ClientClient
Client TierClient Tier Middle TierMiddle Tier
BrowserBrowser
ClientClient
Enterprise TierEnterprise Tier
PresentationPresentation
LogicLogicBusiness ObjectsBusiness Objects
LegacyLegacy
SystemsSystems
DatabaseDatabase
ServerServer
ClientClient
See Slide NotesSee Slide Notes
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 14/3814
UNIT
Topics:
z/OS Terms andz/OS Terms and
ConceptsConcepts
Hardware Terms and Concepts
z/OS Software Terms and Conceptsz/OS Software Terms and Concepts
COBOL Program and z/OS Integration
Appendices
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 15/3815
Topic objectives
After completing this topic, you should be able to:
Describe the characteristics and define the following IBM software terms and
concepts: z/OS and mainframe operating system software
Batch processing
Online applications
– Transactions
– BMS
– MFS Mainframe file and database systems:
– VSAM/QSAM files
– DL/I (IMS) databases
– DB2 databases
Mainframe development software (traditional)
– Tools– Development process
– Procedural languages
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 16/3816
Terms and Concepts – Operating SystemsTerms and Concepts – Operating Systems
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== ====================================================== ============================== ====================================================== ======================
z/OSz/OS Latest mainframe operating system UNIX/Linux/Windows
XP"z" refers to 64-bit addressing "z-architecture" – z/OS is "Self-optimizing,
Self-configuring and Self-healing". z/OS supports Java (6), XML, DB2,
TCP/IP and can host the Linux operating system as running task.
OS/390OS/390 Previous generation mainframe operating system Windows NT Win98
MVSMVS Mainframe operating system during late 70's, 80's early 90's Win95Multiple Virtual Storage – virtually partition real storage to allow
for multiple applications – all with access to max addressable memory
z/VMz/VM Latest operating system for mid-size mainframes. VM (per se') is prior
generation of this O.S. development tools under VM include:
CMS (same as TSO) and Xedit (similar to ISPF/Edit).
VSE/ESAVSE/ESA Operating system for small mainframes. Its predecessor was DOS/VSE.
TSOTSO Time Sharing Option – an operating system within z/)OS
TSO provides time slicing (access to mainframe cycles) for
developers coding, compiling, testing, etc.
JCLJCL Job Control Language – a language for specifying the properties Korn shell
scripts
and characteristics of batch a lication " obs". .CMD
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 17/3817
Traditional "Online" …vs… "Batch" ApplicationsTraditional "Online" …vs… "Batch" Applications
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== =============================================================== =======================================================
======================================
OnlineOnline Access to production applications and data from connected 3270 terminals WebSphere,Tomcat…
is done through Online systems. Characteristics: extremely high throughput, sub-second response-
time, limited data access, mix of Read/Only, Insert, Update, Delete. Access from 3270 devices to the
mainframe in is traditionally through VTAM (especially if running under SNA). Today's Online
systems often connect web pages to back-office resources.
BatchBatch Access to production applications and data offline (after 7:00 PM) UNIX Korn Shell, .cmd filesis done through Batch systems. Characteristics: extremely high volume (process from 100,000s to
1,000,000s of transactions in a single job. The "job" is the unit of work, defined by JCL (Job Control
Language) and consists of dozens to 100s of individual programs linked together to process data.Online Systems–Teleprocessing Region(s)Online Systems–Teleprocessing Region(s) Batch Region(s) --- DevelopmentBatch Region(s) --- Development
3270 users3270 users
OnlineOnline
ApplicationsApplications
OnlineOnline
ApplicationsApplicationsOnlineOnline
ApplicationsApplications
OnlineOnline
ApplicationsApplicationsOnlineOnline
ApplicationsApplications
OnlineOnline
ApplicationsApplications
TSO usersTSO users
BatchBatch
JobsJobs
BatchBatch
JobsJobsBatchBatch
JobJob
BatchBatch
JobJob
BatchBatch
JobsJobs
BatchBatch
JobsJobs
Offline (batch)Offline (batch)
Files andFiles and
DatabasesDatabases
Offline (batch)Offline (batch)
Files andFiles and
DatabasesDatabasesCICS or IMS TMCICS or IMS TM
z/OSz/OS
and
z/10
JCL JOBsJCL JOBs
VTAMVTAMVTAMVTAM
OnlineOnline
Files andFiles andDatabasesDatabases
OnlineOnline
Files andFiles andDatabasesDatabases
Online ResourceOnline Resource
AdaptorsAdaptors
Online ResourceOnline Resource
AdaptorsAdaptors
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 18/3818
z/OS Online Application Systemsz/OS Online Application Systems
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== =============================================================== =======================================================
======================================
C.I.C.S.C.I.C.S. Customer Information Control System. IBM's oldest teleprocessing monitor. WebSphere,Tomcat…
Runs as a job under the operating system. Coordinates all resources necessary for secure units of
work (transactions) – two-phase commit across multiple data sources, etc. Screens defined with
BMS
maps. Other resources defined to C.I.C.S. system tables through RDO (Resource Definitions Online)
Note that screens for z/OS 3270. Screens for I/Series (AS/400) 5250
IMS/TMIMS/TM Information Management System/Transaction Manager. IBM's dedicated WebSphere,
Tomcat… IMS TP monitor. Same functionality as C.I.C.S. – but different product. No application program
access to native VSAM files (directly). Typically installed in "IMS shops". TP calls through 'CBLTDLI'
interface.C.I.C.S. Region(s)C.I.C.S. Region(s)
3270 - BMS Maps3270 - BMS Maps
CICS RegionCICS Region
z/OSz/OS
and z/10
3270 – MFS Maps3270 – MFS Maps
IMS/TMIMS/TM
ApplicationsApplications
IMS/TMIMS/TM
ApplicationsApplications
IMS TM RegionIMS TM Region
IMS/TM Region(s)IMS/TM Region(s)
IMS/TMIMS/TM
ApplicationsApplications
IMS/TMIMS/TM
ApplicationsApplicationsIMS/TMIMS/TM
ApplicationApplication
IMS/TMIMS/TM
ApplicationApplication
C.I.C.S.C.I.C.S.
ApplicationApplication
C.I.C.S.C.I.C.S.
ApplicationApplicationC.I.C.S.C.I.C.S.
ApplicationApplication
C.I.C.S.C.I.C.S.
ApplicationApplicationC.I.C.S.C.I.C.S.
ApplicationApplication
C.I.C.S.C.I.C.S.
ApplicationApplication
VTAMVTAMVTAMVTAM VTAMVTAMVTAMVTAM
DB2DB2
DL/IDL/I
GSAMGSAM
DB2DB2
DL/1DL/1
VSAMVSAM
CICS Transaction GatewayCICS Transaction GatewayCICS Transaction GatewayCICS Transaction Gateway IMS ConnectIMS ConnectIMS ConnectIMS Connect
Web/REST services havefound their way into themix as well – in accessingonline data and process
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 19/3819
Traditional Batch Processing SoftwareTraditional Batch Processing Software
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== =============================================================== =======================================================
======================================
TivoliTivoli Production (and Integration/Q.A. test) Job Scheduler (J.E.S.)Embarcadero
CA-7 Automates production control over: job queues, security, priority, scheduling,
schedule Ids, job (pre and post) processing requirements, documentation
Ad HocAd Hoc TSO/ISPF has facilities to create (edit) and submit JCL jobs. Korn Shell, .cmd
file
Both in the background (running under the control of the Job initiator and queues) andin the foreground (running under TSO itself – almost like dedicated online process).
REXX execs and CLISTs (same as .cmd files) can also be executed in the TSO foreground for
various
reasons (usually utilities like copy/delete files, etc.)Batch Region(s) Development SubsystemBatch Region(s) Development Subsystem
TSO/ISPF usersTSO/ISPF users
BatchBatch
JobsJobs
BatchBatch
JobsJobsBatchBatch
JobJob
BatchBatch
JobJobBatchBatch
JobsJobs
BatchBatch
JobsJobs
z/OSz/OS
and box
JCLJCL JOBsJOBs
REXXREXX execsexecs
CLISTsCLISTs
JESJES
JOBJOB
Initiator(s)Initiator(s)
JESJES
JOBJOB
Initiator(s)Initiator(s)
Offline (batch)Offline (batch)
Files andFiles and
DatabasesDatabases
JESJES
QueueQueue
TivoliTivoli
CA-7CA-7
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 20/3820
Databases – DB2Databases – DB2
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== ============================================================ ====================================================
==========================================
DB2 IBM's flagship relational DBMS. Has close to 100% market share Oracle, SQLServer,etc.
on the mainframe (no significant competitors on z/xxx machines).
- Most concepts and standards of PC/UNIX relational databases apply to DB2
(tables, rows, indexes, views, stored procedures, etc.)
- DBA-level (physical) structures very different (as they are with most RDBMS products ( see below )
- And on the mainframe, almost all access to data is done through static " plansplans" which arebound SQL statementsbound SQL statements stored in the DB2 Catalog. DB2 supports Stored Procedures & dynamic
SQL
DB2DB2
Database – logical artifactDatabase – logical artifact
TablespaceTablespace – physical artifact– physical artifact
TableTable TableTable IndexIndex
CatalogCatalog
PlanPlanPlanPlanPlanPlanPlanPlan
PlanPlanPlanPlan
System TablesSystem TablesSystem TablesSystem Tables
Application ProgramApplication Program
……
Exec SQLExec SQL
Call 'plan'Call 'plan'
……
End-Exec.End-Exec.
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 21/3821
Databases – IMSDatabases – IMS
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== ============================================================ ====================================================
========================================
IMS-DL/I IBM's hierarchical DBMS. Data is stored in inverted tree structures called ISAM (indexed)files
"segments". Note that IMS/ESA has two components (IMS/DB and IMS/TM – formerly IMS/DC)
- The segments (and their relationships) are defined with in a proprietary specification block (file)
known as a DBDDBD (Data Base Descriptor).
- Applications access IMS databases through an application view defined in a specification known as
a
PSBPSB (Program Specification Block) – which is composed of 1-Many PCBPCBs (ProgramCommunications Block). Each PCB is a view a single database segment. Access to IMS databases is
through a call
interface (Call using format – similar to method calls passing parameters and returning data).
- IMS database technology is also referred to as: IMS DB … and DL/1 (Data Language 1 – which is
like SQL for accessing IMS databases. DL/1 (or DL/I) is a complex and sophisticated language (read
difficult) language. The business semantics of most IMS databases is shared between the
application program's DL/1 logic (sequenced access calls) and the data per se'.SuppliersSuppliers
PartsParts AddressAddress PurchaseOrdersPurchaseOrders
IMS Application ProgramIMS Application Program
……
Call 'CBLTDLI'Call 'CBLTDLI'
USINGUSING SUPP-PCB,SUPP-PCB,
IO-AREA,IO-AREA,
DB-SSA.DB-SSA.
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 22/3822
Files and Databases – VSAMFiles and Databases – VSAM
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== ========================================================= =========================== ========================================================= ===================
VSAM IBM's foundation data storage system. Basically comprised of indexed ISAM (indexed)
filesfiles – and applications and system utilities that access the indexed data.
- Access is either direct (through primary key), sequential (read until condition),
or through secondary index file (similar to a WHERE clause).
- Syntax/access to VSAM (Virtual Storage Access Method) files in most IBM languages is through
direct statements: OPEN INPUT file, check status… READ file, check status. OPEN OUTPUT
FILE…
UPDATE file, INSERT into file, CLOSE file. (native language access – not Call Interface).
- The business semantics of almost all VSAM files is shared between the application program's data
access logic (sequenced calls) and the data per se'.
SuppliersSuppliers
VSAM Application ProgramVSAM Application Program
……
OPEN input SUPPLIER-FILEOPEN input SUPPLIER-FILE
if SUPPLIER-STATUS = '00'if SUPPLIER-STATUS = '00'
subtract APPL-RESULT fromsubtract APPL-RESULT from
APPL-RESULTAPPL-RESULT
else add 12 to ZERO givingelse add 12 to ZERO giving
APPL-RESULT end-ifAPPL-RESULT end-if
……
SecondarySecondary
Index FileIndex File
SupplierSupplier
Zip CodesZip Codes
SecondarySecondary
Index FileIndex File
SupplierSupplier
Zip CodesZip Codes
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 23/3823
Files and Databases – OtherFiles and Databases – Other
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== ============================================================ ====================================================
========================================
QSAM Queued Sequential Access Management (aka "flat" files). Sequentialfiles…
Non-indexed files that hold (almost always) batch data for bulk processing. Often historical data,
back-ups and image-copy data.
IDMS Non-IBM proprietary files in "network/CODASYL" data model Indexed
files…
Originally offered by CullinaneCullinane software (Boston). Later purchased by Computer Associates.
Many large Fortune 1000 IDMS users.
ADABAS Non-IBM proprietary files in "indexed/table" data model Indexed
files…
Originally offered by SoftwareAG,SoftwareAG, ADABAS has a large install base (especially in U.S. government
and state offices. Coupled with the NaturalNatural programming language (a COBOL-like 3GL) there arestill lots of ADABAS installations.
EBCDIC …vs… ASCIIEBCDIC …vs… ASCII - internal data storage format It is worth noting that virtually all mainframe data is internally stored using inIt is worth noting that virtually all mainframe data is internally stored using in EBCDICEBCDIC format.format.
This means that some software will have to translate bytes transmitted, between mainframe/PCThis means that some software will have to translate bytes transmitted, between mainframe/PC
It also means that (text) data sorted on the mainframe will sort in a different order on the PCIt also means that (text) data sorted on the mainframe will sort in a different order on the PC
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 24/3824
Traditional Development EnvironmentTraditional Development Environment
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== ============================================================ ====================================================
========================================
TSOTSO Time Sharing Option. Basically, a "job" that runs under z/OS responsible UNIX/WindowsO.S.
for managing program development resources (files, Login, jobs, etc.)
ISPFISPF Interactive Systems Programming Facility. Each individual developer's custom XDE …
WSAD
Development IDE, that allows programmers to: Create new source files and manage them.
- Edit source and data files, interact with common version control software,
compile/link/run/test programs (usually by submitting background "jobs")
through JCL – but often shops provide "foreground" (interactive) facilities for this common process.
- Developers are allowed a [relatively] wide margin to customize their own unique environments.
- And shops almost always created "system software" tools that snap-in to ISPF – maintaining
standards, raising productivity, and providing easier access to in-house functions – often written
in REXX or CLIST language.
- Sometimes called: SPF (for short). C.A. offers a similar facility, named: ROSCOE.
Version Many different competing version control and "library management" facilities
ClearCase
ControlControl Available on the mainframe. They all do (roughly) the same thing. Most shops use:
SoftwareSoftware CA-Endevor, Serena-Changeman, IBM-SCLM, CA-Panvalet, CA-Librarian
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 25/3825
Terms and Concepts – TSO/ISPF DevelopmentTerms and Concepts – TSO/ISPF Development
ISPF "Main Menu" ofISPF "Main Menu" of
development optionsdevelopment options
ISPF Edit (of JCL file)ISPF Edit (of JCL file)
ISPFISPF
UtilityUtility
AllocateAllocate
DatasetDataset
(file)(file)
http://publibz.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/ISPZEM00/CONTENTS?SHELF=&DT=20001109114810#3.1.19http://publibz.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/ISPZEM00/CONTENTS?SHELF=&DT=20001109114810#3.1.19
Terms and Concepts – Compile/Link/RunTerms and Concepts – Compile/Link/Run
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 26/38
26
Terms and Concepts – Compile/Link/RunTerms and Concepts – Compile/Link/RunEnvironmentEnvironment
Load ModuleLoad ModuleLoad ModuleLoad Module
Source ModuleSource ModuleSource ModuleSource Module JES ReaderJES ReaderJES ReaderJES Reader
Object ModuleObject ModuleObject ModuleObject Module
Similar to C, C++, and other 3 and 4GLs…
Source is compiled to to .OBJ (machine
code)
Errors are returned to the JES reader
(usually visible through an option under
TSO)
The .OBJ format of the program is linked to
a "load module" by the Link Editor – which
resolves all external references and calls
The Load Module is reference in JCL – by
naming the entry point of the initial
program to be launched (like main() in
Java)//EXEC PGM=LoadModule…//EXEC PGM=LoadModule…//EXEC PGM=LoadModule…//EXEC PGM=LoadModule…
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 27/38
27
Development File Types - IntroductionDevelopment File Types - Introduction
In a development environment, there areIn a development environment, there aretwo file types:two file types:
Files that hold application sourceFiles that hold application source
Files that hold application data Files that hold application data
Both are created (allocated) using someBoth are created (allocated) using some
form of z/OS Jobform of z/OS Job JCL Utility programJCL Utility program
ISPF panel – which creates and submitsISPF panel – which creates and submitsJCL as a foreground taskJCL as a foreground task
Files are usually referred to as Data SetsFiles are usually referred to as Data Sets– and are allocated on a disk pack with a – and are allocated on a disk pack with a volume serial number – that uniquelyvolume serial number – that uniquelyidentifies the disk in the LPARidentifies the disk in the LPAR
Application source files:Application source files:
Partitioned Data Set (PDS)Partitioned Data Set (PDS)
A collection of like-type sequential files:A collection of like-type sequential files:COBOL, JCL, CLIST.COBOL, JCL, CLIST.
Individual files are termed "members" ofIndividual files are termed "members" ofthe PDS – which is the "Data Set"the PDS – which is the "Data Set"
You can almost think of them as: recordsYou can almost think of them as: records(individual members) within an array (the(individual members) within an array (thePDS Data Set)PDS Data Set)
Sequential Data SetSequential Data Set Individual files – can be used for: TestIndividual files – can be used for: Test
data (QSAM data sets), source files (notdata (QSAM data sets), source files (nottypically, but possible),typically, but possible),
ExecutablesExecutables
A specialized form of the PDS is a LoadA specialized form of the PDS is a LoadLibrary – which is a PDS that containsLibrary – which is a PDS that contains"Load Modules""Load Modules"
Each Load Module is the compiled andEach Load Module is the compiled andlinked version of program sourcelinked version of program source
Test Data SetsTest Data Sets
Many and varied types:Many and varied types:
Fixed sequentialFixed sequential
Variable Length SequentialVariable Length Sequential
Print filesPrint files
Load librariesLoad libraries
Partitioned Data SetsPartitioned Data Sets
Space is allocated typically in disk pack:Space is allocated typically in disk pack:
TracksTracks
CylindersCylinders
Records within a file:Records within a file:
Have a lengthHave a length
Are aggregated into "blocks" – which become the unit of I/O transferAre aggregated into "blocks" – which become the unit of I/O transfer
i
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 28/38
28
Programming LanguagesProgramming Languages
Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent
======== ============================================================ ====================================================
========================================
COBOLCOBOL Common Business Oriented LanguageBASIC
-- A 40+ year-old language, that is still being heavily invested in – although not nearly at
the same rate it was, during the 60's, 70's and 80's (or even 90's). COBOL is an English-like
wordy language. That is optimal for applications with long shelf-lives – due to it's verbose (I.e.
easy-to-read) nature, universality, and it's run-time optimization.
- COBOL programs have a DATA DIVISION – analogous to a class's attributes, and a PROCEDURE
DIVISION – analogous to a class's methods.
- Data structures and files are defined through what are called copybooks – which describe the
individual fields and field definitions (data format, etc.). Copybooks are downloaded and become
RRD classes, when accessed through our mainframe integration technology.
HLASMHLASM High Level Assembler Assembler
High Level Assembler is an IBM licensed program that helps you develop programs
and subroutines to provide functions not typically provided by other symbolic
languages, such as COBOL, FORTRAN, and PL/I.
PL/IPL/I An elegant, 3rd generation, imperative, structured programming language.
BASIC
Used a lot in scientific and financial shops. Not as universal as COBOL.
RPGRPG Report Program Generator. A high-level 3GL – used extensively on the iSeries/AS400
Software – Programming Languages – "HelloSoftware – Programming Languages – "Hello
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 29/38
29
Software Programming Languages HelloSoftware Programming Languages HelloWorld" ComparisonWorld" Comparison
000100 IDENTIFICATION DIVISION.000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. HELLOWORLD.000200 PROGRAM-ID. HELLOWORLD.
000300*000300*
000400 ENVIRONMENT DIVISION.000400 ENVIRONMENT DIVISION.
000500 CONFIGURATION SECTION.000500 CONFIGURATION SECTION.
000600 SOURCE-COMPUTER. IBM-COBOL.000600 SOURCE-COMPUTER. IBM-COBOL.
000700 OBJECT-COMPUTER. IBM-COBOL.000700 OBJECT-COMPUTER. IBM-COBOL.
000800000800
000900 DATA DIVISION.000900 DATA DIVISION.
001000 FILE SECTION.001000 FILE SECTION.
001100001100
001200 PROCEDURE DIVISION.001200 PROCEDURE DIVISION.
001300 DISPLAY "Hello world!".001300 DISPLAY "Hello world!".
001400 STOP RUN.001400 STOP RUN.
000100 IDENTIFICATION DIVISION.000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. HELLOWORLD.000200 PROGRAM-ID. HELLOWORLD.
000300*000300*
000400 ENVIRONMENT DIVISION.000400 ENVIRONMENT DIVISION.
000500 CONFIGURATION SECTION.000500 CONFIGURATION SECTION.
000600 SOURCE-COMPUTER. IBM-COBOL.000600 SOURCE-COMPUTER. IBM-COBOL.
000700 OBJECT-COMPUTER. IBM-COBOL.000700 OBJECT-COMPUTER. IBM-COBOL.
000800000800
000900 DATA DIVISION.000900 DATA DIVISION.
001000 FILE SECTION.001000 FILE SECTION.
001100001100
001200 PROCEDURE DIVISION.001200 PROCEDURE DIVISION.
001300 DISPLAY "Hello world!".001300 DISPLAY "Hello world!".
001400 STOP RUN.001400 STOP RUN.
HELLO: PROCEDURE OPTIONS (MAIN);HELLO: PROCEDURE OPTIONS (MAIN);/* A PROGRAM TO OUTPUT HELLO WORLD *//* A PROGRAM TO OUTPUT HELLO WORLD */
FLAG = 0; LOOP:FLAG = 0; LOOP:
DO WHILE (FLAG = 0);DO WHILE (FLAG = 0);
PUT SKIP DATA('HELLO WORLD!');PUT SKIP DATA('HELLO WORLD!');
END LOOP;END LOOP;
END HELLO;END HELLO;
HELLO: PROCEDURE OPTIONS (MAIN);HELLO: PROCEDURE OPTIONS (MAIN);
/* A PROGRAM TO OUTPUT HELLO WORLD *//* A PROGRAM TO OUTPUT HELLO WORLD */
FLAG = 0; LOOP:FLAG = 0; LOOP:
DO WHILE (FLAG = 0);DO WHILE (FLAG = 0);
PUT SKIP DATA('HELLO WORLD!');PUT SKIP DATA('HELLO WORLD!');
END LOOP;END LOOP;
END HELLO;END HELLO;
HELLOPRT START 0 IN THE BEGINNING...HELLOPRT START 0 IN THE BEGINNING...
PRINT NOGEN SPARE US THE MACRO EXPANSIONSPRINT NOGEN SPARE US THE MACRO EXPANSIONS
BEGIN SAVE (14,12) SAVE INPUT REGISTERSBEGIN SAVE (14,12) SAVE INPUT REGISTERS
LR 12,15 WHERE ARE WE?LR 12,15 WHERE ARE WE?
USING HELLOPRT,12 RIGHT HEREUSING HELLOPRT,12 RIGHT HERE
ST 13,SAVE+4 SAVE OLD SAVE AREA ADDRESSST 13,SAVE+4 SAVE OLD SAVE AREA ADDRESS
LA 11,SAVE POINT TO NEW SAVE AREALA 11,SAVE POINT TO NEW SAVE AREA
ST 11,8(13) IN OLD SAVE AREAST 11,8(13) IN OLD SAVE AREA
LR 13,11 MOVE SAVE AREA ADDRESSLR 13,11 MOVE SAVE AREA ADDRESS
**
* WRITE "HELLO, WORLD!" ON WHATEVER HAS BEEN SET UP AS SYSPRINT* WRITE "HELLO, WORLD!" ON WHATEVER HAS BEEN SET UP AS SYSPRINT
ININ
* THE INVOKING JCL (NO, UNIX DOESN'T HAVE A MONOPOLY ON DEVICE-* THE INVOKING JCL (NO, UNIX DOESN'T HAVE A MONOPOLY ON DEVICE-
* INDEPENDENT I/O!)* INDEPENDENT I/O!)
**
DOPUT EQU *DOPUT EQU *
PUT SYSPRINT,HELLOMSG WRITE THE MESSAGEPUT SYSPRINT,HELLOMSG WRITE THE MESSAGEB DOPUT FOREVER...B DOPUT FOREVER...
**
* THIS CODE WILL NEVER BE REACHED, BUT IS INCLUDED FOR* THIS CODE WILL NEVER BE REACHED, BUT IS INCLUDED FOR
COMPLETENESSCOMPLETENESS
**
L 13,SAVE+4 GET OLD SAVE AREA BACKL 13,SAVE+4 GET OLD SAVE AREA BACK
RETURN (14,12),RC=0 TO THE OPERATING SYSTEMRETURN (14,12),RC=0 TO THE OPERATING SYSTEM
**
* FILE AND WORK AREA DEFINITIONS* FILE AND WORK AREA DEFINITIONS
**
SAVE DS 18F LOCAL SAVE AREASAVE DS 18F LOCAL SAVE AREAHELLOMSG DC C' HELLO, WORLD!'HELLOMSG DC C' HELLO, WORLD!'
SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,
XX
RECFM=FA,LRECL=133,BLKSIZE=133RECFM=FA,LRECL=133,BLKSIZE=133
END BEGINEND BEGIN
HELLOPRT START 0 IN THE BEGINNING...HELLOPRT START 0 IN THE BEGINNING...
PRINT NOGEN SPARE US THE MACRO EXPANSIONSPRINT NOGEN SPARE US THE MACRO EXPANSIONS
BEGIN SAVE (14,12) SAVE INPUT REGISTERSBEGIN SAVE (14,12) SAVE INPUT REGISTERS
LR 12,15 WHERE ARE WE?LR 12,15 WHERE ARE WE?
USING HELLOPRT,12 RIGHT HEREUSING HELLOPRT,12 RIGHT HERE
ST 13,SAVE+4 SAVE OLD SAVE AREA ADDRESSST 13,SAVE+4 SAVE OLD SAVE AREA ADDRESS
LA 11,SAVE POINT TO NEW SAVE AREALA 11,SAVE POINT TO NEW SAVE AREA
ST 11,8(13) IN OLD SAVE AREAST 11,8(13) IN OLD SAVE AREA
LR 13,11 MOVE SAVE AREA ADDRESSLR 13,11 MOVE SAVE AREA ADDRESS
**
* WRITE "HELLO, WORLD!" ON WHATEVER HAS BEEN SET UP AS SYSPRINT* WRITE "HELLO, WORLD!" ON WHATEVER HAS BEEN SET UP AS SYSPRINT
ININ
* THE INVOKING JCL (NO, UNIX DOESN'T HAVE A MONOPOLY ON DEVICE-* THE INVOKING JCL (NO, UNIX DOESN'T HAVE A MONOPOLY ON DEVICE-
* INDEPENDENT I/O!)* INDEPENDENT I/O!)
**
DOPUT EQU *DOPUT EQU *
PUT SYSPRINT,HELLOMSG WRITE THE MESSAGEPUT SYSPRINT,HELLOMSG WRITE THE MESSAGEB DOPUT FOREVER...B DOPUT FOREVER...
**
* THIS CODE WILL NEVER BE REACHED, BUT IS INCLUDED FOR* THIS CODE WILL NEVER BE REACHED, BUT IS INCLUDED FOR
COMPLETENESSCOMPLETENESS
**
L 13,SAVE+4 GET OLD SAVE AREA BACKL 13,SAVE+4 GET OLD SAVE AREA BACK
RETURN (14,12),RC=0 TO THE OPERATING SYSTEMRETURN (14,12),RC=0 TO THE OPERATING SYSTEM
**
* FILE AND WORK AREA DEFINITIONS* FILE AND WORK AREA DEFINITIONS
**
SAVE DS 18F LOCAL SAVE AREASAVE DS 18F LOCAL SAVE AREA
HELLOMSG DC C' HELLO, WORLD!'HELLOMSG DC C' HELLO, WORLD!'
SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,
XX
RECFM=FA,LRECL=133,BLKSIZE=133RECFM=FA,LRECL=133,BLKSIZE=133
END BEGINEND BEGIN HLASM programHLASM program
PL/I programPL/I program
COBOL programCOBOL program
OS i k d
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 30/38
30
z/OS Links and
Here are some links for additional study on mainframe software terms andconcepts:
http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp An excellent set of organized categories of info – that backstop a lot of the material in thisAn excellent set of organized categories of info – that backstop a lot of the material in this
UnitUnit
http://en.wikipedia.org/wiki/Z/OS What can we say… it's Wikipedia What can we say… it's Wikipedia
http://www.trainersfriend.com/Papers/Future_of_Mainframe.pdf
A somewhat advanced but excellent next-level-down dive on the technology terms andA somewhat advanced but excellent next-level-down dive on the technology terms andconcepts in this Unitconcepts in this Unit
http://www-03.ibm.com/systems/z/destinationz/
IBM's site for mainframe – and z/topic communitiesIBM's site for mainframe – and z/topic communities
KnowledgeKnowledge
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 31/38
31
UNIT
Topics:
z/OS Terms andz/OS Terms and
ConceptsConcepts
Hardware Terms and Concepts
z/OS Software Terms and Conceptsz/OS Software Terms and Concepts
COBOL Program and z/OS IntegrationCOBOL Program and z/OS Integration
Appendices
T i bj ti
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 32/38
32
Topic objectives
After completing this topic, you should be able to:
Describe how COBOL programs:
Are executed at run-time by operating system Attach to and read/write data from external data
Interface with other business logic
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 33/38
B t h P i ( l li htl ) D Di
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 34/38
34
//STEPNAME EXEC PGM=MYPROG,//STEPNAME EXEC PGM=MYPROG,
// PARM=AABBCC,…// PARM=AABBCC,…
//STEPLIB DD DSN=MYLOADLIB//STEPLIB DD DSN=MYLOADLIB
Batch Processing (only slightly) Deeper Dive
//JOBname JOB,…,TIME=(1)//JOBname JOB,…,TIME=(1)
LOADLIBLOADLIBCompiledCompiled
ProgramsPrograms
//DDName DD DSN=MY.zOS.FILE,...//DDName DD DSN=MY.zOS.FILE,...
// …dataset characteristics…// …dataset characteristics…
//JOBname JOB//JOBname JOB – describes the characteristics of thebatch job, including how much CPU time it is allowed.Note that the TIME=TIME= parameter will kill programs ininfinite loops (although it won't solve your coding problem )
DatasetDatasetz/OSz/OS
QSAM, VSAMQSAM, VSAM
DL/I filesDL/I files
//Stepname EXEC//Stepname EXEC – tells z/OS what programto execute (like main in Java or C/C++)
//STEPLIB//STEPLIB – tells z/OS the name of the libraryto search for the compiled program
//DDName//DDName – DDDD statement. Connects yourprogram's I/O statements with z/OS datasets.
DSN= "fully-qualifies" the name of the dataset(so z/OS can find it)
Your program needs one //DD statement forevery file it accesses. And where's the hook forthat? (next slide…)Note – there's a LOT more to JCL. We'll cover it later onNote – there's a LOT more to JCL. We'll cover it later on
in the course, when you get to hit the mainframe.in the course, when you get to hit the mainframe.
COBOL d B t h
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 35/38
35
COBOL and Batch
//MYFILE DD DSN=ABC.MYFILE//MYFILE DD DSN=ABC.MYFILE,...,...
// …dataset characteristics…// …dataset characteristics…
////MYFILE - is the logical file name that connects the COBOL
program's I/O statements (internal file variable name) to …
DSN=ABC.MYFILEDSN=ABC.MYFILE – which is the physical (external) filename that
lives on a 3990 disk pack attached z/OS
COBOL d O li T ti
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 36/38
36
TRANCODETRANCODE
Online applications run under the supervision of a transaction management system (in z/OSeither: CICS or IMS TM).
The transaction manager connects to a series of system tables with entries defined for
resources necessary to fulfill run-time transaction requests:
COBOL and Online Transactions
z/OSz/OS
C IC I
I MI M
C SC S
SS
TT
MM
CICS or IMS "System Tables"CICS or IMS "System Tables"
Terminals (LTERM)Terminals (LTERM) Device IDs allowed to hit the online regionDevice IDs allowed to hit the online region
Users (User-ID/Password)Users (User-ID/Password) Authentication/AuthorizationAuthentication/Authorization
Trancode (transaction code)Trancode (transaction code) List of actual trancodes, and which program toList of actual trancodes, and which program toload and execute for each trancodeload and execute for each trancode
File (or database)File (or database) Entry that acts like a batch DD card, andEntry that acts like a batch DD card, anddefines which files can be accessed onlinedefines which files can be accessed online
…… Many other control block definitions are needed toMany other control block definitions are needed tosupport a production online transaction systemsupport a production online transaction system
……
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 37/38
37
UNIT
Topics:
z/OS Terms andz/OS Terms and
ConceptsConcepts
Hardware Terms and Concepts
z/OS Software Terms and Concepts
COBOL Program and z/OS Integration
AppendicesAppendices
z/OS – COBOLz/OS – COBOL Java - Java -
8/4/2019 zOS Terms and Concepts
http://slidepdf.com/reader/full/zos-terms-and-concepts 38/38
/OS CO O/OS CO O Ja aJa aEquivalence ChartEquivalence ChartMainframe/COBOL/z/OSMainframe/COBOL/z/OS I-Net/Java I-Net/Java
=================================== ===============================================
Program field or variable Class or Local method Attribute
Paragraph MethodProgram (source) Class Definition (.java file)
Load Module (.EXE file) Compiled Class (.class file)
Execute or run a Load Module Object instance of a Class, running in Java/VM
Load Modules in a Load Library Classes defined in Packages
Program passed/returned parameters Method passed/returned parameters
JCL .cmd/.shell script (UNIX)
Requirements-Based Vocabulary(OO COBOL) User Defined Datatype (Class)
REDEFINES clause Class and Datatype Casting/conversion
Program/sub-routine calls Java method calls
Call to System/Utility program Java or NeuVis API method calls
RDBMS/Database RDBMS/Database
Table Persisted Class data
Table row Single object persisted data
SQL statement/Stored Procedure same … but all dynamic SQL using JDBC
CICS/IMS DC Application Server
BMS Map/MFS Java Servlet/HTML Page
CICS Queue/IMS DC Scratch Pad EJB Session Object
CICS In/Out Maps, IMS MFS MID/MOD EJB Request/Response Objects