VSAM (Virtual Storage Access Method) is an integral part of the MVS operating system that defines the technique for storing and retrieving data. It provides an interface between application programs, the operating system, and disk storage. The document discusses the types of VSAM data sets (entry sequenced, key sequenced, relative record, and linear), how VSAM organizes and stores data using control intervals and control areas, and how Access Method Services (IDCAMS utility) is used to define, load, print, delete and maintain VSAM data sets.
This slide contains all the basic concepts of ISPF. It's giving the simple and easy step to get the knowledge of Interactive system productivity facility. If u like it then give me feedback on email anilbharti85@gmail.com Thanks v much.
A K Bharti
This slide contains all the basic concepts of ISPF. It's giving the simple and easy step to get the knowledge of Interactive system productivity facility. If u like it then give me feedback on email anilbharti85@gmail.com Thanks v much.
A K Bharti
Contains information about the DB2 DSNZPARM that forms the DB2 configuration parameters. All about the different types of zPARMs. A way to update them dynamically.
Top jcl interview questions and answers job interview tipsjcltutorial
You'll likely be asked difficult questions during the interview. Preparing the list of likely questions in advance will help you easily transition from question to question.
Mainframe jcl exec and dd statements part - 3janaki ram
EXEC STATEMENT(EXEC)
EXEC Statement is used to identify program name or procedure name.
Maximum we can code 255 EXEC statements in a JOB.
In EXEC statement has two kinds of parameters
Position parameter Keyword parameter
PGM TIME , COND
PROC REGION , PARM
If you not mention any thing default it takes PROC
PGM
This is a positional parameter which must be coded after EXEC with one blank. This parameter indicates the name of program (or) procedure name
Syntax
//STEPNAME EXEC PGM=REPORT (OR)
PROC = PROCEDURE NAME
PARM
It is keyword parameter and it is mainly used for passing the data to another program.
To pass input to Application program
To invoke complier option.
This is a keyword parameter at activity / step level must be coded with exec operand after PGM parameter.
This parameter allows MAX(100) characters.
To receive PARM parameter data, Cobol program must be coded with “Procedure Division Using Parameter ” option.
These parameters must be declared in the linkage section.
DATA DESCRIPTOR STATEMENT ( DD STMT)
It is used to identify files( input and output ) used in JCL
DD name act as a bridge b/w Cobol program and execution JCL
In DD statement has two kinds of parameters.
Position Parameter Keyword Parameter
* DSN,DISP
DATA SPACE,UNIT
DUMMY DCB,VOLUME
*
Position parameter at DD level used with SYSIN to pass data to Cobol programs this is known as In stream data any number of records can be passed to the program.
In stream data is used to pass values from JCL to Cobol dynamically.
To accept the values in Cobol program, we should have equivalent accept verbs.
Syntax
//SYSIN DD * ------- Entry of in stream data
100
200
/* ---------------------- End of in stream data
DATA
We can pass any thing to another program including special character
Syntax
//SYSIN DD DATA
100
/*
200
/*
DUMMY
All files are treated as End of the file
Syntax
//SYSIN DD DUMMY
NOTE
There is no input to the application all input files treated as End of the file.
DSN
Through DSN we can refer temporary / permanent file
Is a physical space or file where the records will be stored.
DISP
DISP parameter is used to identify the mode of the file.
DISP= ( STATUS, NORMAL , ABNORMAL )
TERMINATION TERMINATION
NEW DELETE DELETE
OLD KEEP KEEP
SHR CATLG CATLG
MOD UNCATLG UNCATLG
NEW Creating the data set first time
OLD Already created accessing the data set all resources are allocated exclusively . No other user can until is released by the current user. If dataset is not existing this creates.
SHR The data set can be accessed by multiple users at a time.
MOD Appending the records to the existing record
NOTE If the dataset is not existing , then MOD is assumed as NEW and writes records to the dataset.
This presentation covers the basic DB2 objects description. Covers the basic administration using IBM utilities. Their complete phase wise operation and termination recoveries. Also have talked about the most frequently used DB2 catalog tables, what's the need for them in DB2. And finally have shown some SPUFI panels and their usage.
CICS is the power of mainframe. It has all the capabilities to handle online transactions. The ppt covers highly useful CICS concepts to refresh your CICS knowledge quickly.
Maintec Technologies provides affordable access to latest Mainframe infrastructure for development, training, additional short term capacity increases and outsourcing needs. Leverage our Mainframe infrastructure, without investing the time, expense and manpower it would take to build your own!.
JCL
Job Control Language (JCL) is a name for scripting languages used On IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem.
JCL acts as an interface between application programming and MVS Operating system.
Jcl is used for compilation and execution of batch programs.
Apart from the above functionalities JCL can also be used for,
1. Controlling the jobs.
2. Create GDG’S.
3. Allocate PDS,PS file with IBM Utilities.
4. Create Procs.
5. Sort the files.
JCL Coding Sheet
1,2,3----------Column Numbers----------72,73------------80
//JOBNAME JOB PARAMETERS------COMMENTS
// EXEC
// DD
//* ------------ Comment (* in 3rd column indicates line in comment)
//------------ End of JCL
Where // ----- Identification Field
job name------- Naming field
JOB,EXEC,DD - Statement / Operation
NOTE
If we want to continue parameters in the next line end the last parameter with “,” and continue next parameter only in 4-16 columns.
There are three statements in JCL.
JOB
EXEC
DD
JOB Statement:
Job statement is used to identify job name and job related parameters
JOBCARD = job name + job related parameters.
Syntax
//JOBNAME JOB ACCOUNT INFORMATION,’USERNAME’,CLASS=A-Z/0-9,
// NOTIFY =&SYSUID/RACF ID,MSGCLASS,
// MSGLEVEL=(X,Y),PRTY=0-15,
// TIME=(M,S),REGION=MB/KB,TYPRUN=SCAN/
// HOLD/COPY,COND=(RC,OPERATOR,STEPNAME)
// COND=ONLY OR COND=EVEN,RESTART=STEPNAME
JOBNAME
It is required to identify this job from other jobs in the SPOOL
1 to 8 characters minimum 1 character and maximum is 8 character.
1st character must be alphabet.
Other characters can be alphabets or numeric or $,&,#.
Example
Job names for personal or lab sessions
Userid + 1 / 2 chars
KC03P83$ ------- Userid is KC03P83
KC03P84&--------Userid is KCO3P84
ACCOUNTING INFORMATION
It is a keyword parameter and codes it after JOB statement.
It is used for billing purpose, in real time when we submit any job it is going to take some CPU time. Based on the CPU time there will be some amount involved where this amount has to go will be decided by A/C information parameters.
Examples
(8012T)
(80121I)
(8012M)
USERNAME
It is used to identify the user who has written the JCL.
It can be maximum of 20 characters.
Note Both A/C information and user name are positional parameters and the remaining job
card parameters are keyword parameters.
EX1: //KC03P83A JOB (487A),’JANAKI RAM’
EX2: //KC03P84& JOB (488T),’SOMISETTY’
NOTIFY
To which user id the job has to be notification after successful or unsuccessful completion.
Successful completion means MAXCC = 0 (or) 04 unsuccessful completion means MAXCC > 04.
If it is not coded,then user has to check the status of the job from the spo
Describes when (rarely) and how to tune your VSAM dataset. Also describes how to design a VSAM dataset to allow excellent performance with little tuning.
Contains information about the DB2 DSNZPARM that forms the DB2 configuration parameters. All about the different types of zPARMs. A way to update them dynamically.
Top jcl interview questions and answers job interview tipsjcltutorial
You'll likely be asked difficult questions during the interview. Preparing the list of likely questions in advance will help you easily transition from question to question.
Mainframe jcl exec and dd statements part - 3janaki ram
EXEC STATEMENT(EXEC)
EXEC Statement is used to identify program name or procedure name.
Maximum we can code 255 EXEC statements in a JOB.
In EXEC statement has two kinds of parameters
Position parameter Keyword parameter
PGM TIME , COND
PROC REGION , PARM
If you not mention any thing default it takes PROC
PGM
This is a positional parameter which must be coded after EXEC with one blank. This parameter indicates the name of program (or) procedure name
Syntax
//STEPNAME EXEC PGM=REPORT (OR)
PROC = PROCEDURE NAME
PARM
It is keyword parameter and it is mainly used for passing the data to another program.
To pass input to Application program
To invoke complier option.
This is a keyword parameter at activity / step level must be coded with exec operand after PGM parameter.
This parameter allows MAX(100) characters.
To receive PARM parameter data, Cobol program must be coded with “Procedure Division Using Parameter ” option.
These parameters must be declared in the linkage section.
DATA DESCRIPTOR STATEMENT ( DD STMT)
It is used to identify files( input and output ) used in JCL
DD name act as a bridge b/w Cobol program and execution JCL
In DD statement has two kinds of parameters.
Position Parameter Keyword Parameter
* DSN,DISP
DATA SPACE,UNIT
DUMMY DCB,VOLUME
*
Position parameter at DD level used with SYSIN to pass data to Cobol programs this is known as In stream data any number of records can be passed to the program.
In stream data is used to pass values from JCL to Cobol dynamically.
To accept the values in Cobol program, we should have equivalent accept verbs.
Syntax
//SYSIN DD * ------- Entry of in stream data
100
200
/* ---------------------- End of in stream data
DATA
We can pass any thing to another program including special character
Syntax
//SYSIN DD DATA
100
/*
200
/*
DUMMY
All files are treated as End of the file
Syntax
//SYSIN DD DUMMY
NOTE
There is no input to the application all input files treated as End of the file.
DSN
Through DSN we can refer temporary / permanent file
Is a physical space or file where the records will be stored.
DISP
DISP parameter is used to identify the mode of the file.
DISP= ( STATUS, NORMAL , ABNORMAL )
TERMINATION TERMINATION
NEW DELETE DELETE
OLD KEEP KEEP
SHR CATLG CATLG
MOD UNCATLG UNCATLG
NEW Creating the data set first time
OLD Already created accessing the data set all resources are allocated exclusively . No other user can until is released by the current user. If dataset is not existing this creates.
SHR The data set can be accessed by multiple users at a time.
MOD Appending the records to the existing record
NOTE If the dataset is not existing , then MOD is assumed as NEW and writes records to the dataset.
This presentation covers the basic DB2 objects description. Covers the basic administration using IBM utilities. Their complete phase wise operation and termination recoveries. Also have talked about the most frequently used DB2 catalog tables, what's the need for them in DB2. And finally have shown some SPUFI panels and their usage.
CICS is the power of mainframe. It has all the capabilities to handle online transactions. The ppt covers highly useful CICS concepts to refresh your CICS knowledge quickly.
Maintec Technologies provides affordable access to latest Mainframe infrastructure for development, training, additional short term capacity increases and outsourcing needs. Leverage our Mainframe infrastructure, without investing the time, expense and manpower it would take to build your own!.
JCL
Job Control Language (JCL) is a name for scripting languages used On IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem.
JCL acts as an interface between application programming and MVS Operating system.
Jcl is used for compilation and execution of batch programs.
Apart from the above functionalities JCL can also be used for,
1. Controlling the jobs.
2. Create GDG’S.
3. Allocate PDS,PS file with IBM Utilities.
4. Create Procs.
5. Sort the files.
JCL Coding Sheet
1,2,3----------Column Numbers----------72,73------------80
//JOBNAME JOB PARAMETERS------COMMENTS
// EXEC
// DD
//* ------------ Comment (* in 3rd column indicates line in comment)
//------------ End of JCL
Where // ----- Identification Field
job name------- Naming field
JOB,EXEC,DD - Statement / Operation
NOTE
If we want to continue parameters in the next line end the last parameter with “,” and continue next parameter only in 4-16 columns.
There are three statements in JCL.
JOB
EXEC
DD
JOB Statement:
Job statement is used to identify job name and job related parameters
JOBCARD = job name + job related parameters.
Syntax
//JOBNAME JOB ACCOUNT INFORMATION,’USERNAME’,CLASS=A-Z/0-9,
// NOTIFY =&SYSUID/RACF ID,MSGCLASS,
// MSGLEVEL=(X,Y),PRTY=0-15,
// TIME=(M,S),REGION=MB/KB,TYPRUN=SCAN/
// HOLD/COPY,COND=(RC,OPERATOR,STEPNAME)
// COND=ONLY OR COND=EVEN,RESTART=STEPNAME
JOBNAME
It is required to identify this job from other jobs in the SPOOL
1 to 8 characters minimum 1 character and maximum is 8 character.
1st character must be alphabet.
Other characters can be alphabets or numeric or $,&,#.
Example
Job names for personal or lab sessions
Userid + 1 / 2 chars
KC03P83$ ------- Userid is KC03P83
KC03P84&--------Userid is KCO3P84
ACCOUNTING INFORMATION
It is a keyword parameter and codes it after JOB statement.
It is used for billing purpose, in real time when we submit any job it is going to take some CPU time. Based on the CPU time there will be some amount involved where this amount has to go will be decided by A/C information parameters.
Examples
(8012T)
(80121I)
(8012M)
USERNAME
It is used to identify the user who has written the JCL.
It can be maximum of 20 characters.
Note Both A/C information and user name are positional parameters and the remaining job
card parameters are keyword parameters.
EX1: //KC03P83A JOB (487A),’JANAKI RAM’
EX2: //KC03P84& JOB (488T),’SOMISETTY’
NOTIFY
To which user id the job has to be notification after successful or unsuccessful completion.
Successful completion means MAXCC = 0 (or) 04 unsuccessful completion means MAXCC > 04.
If it is not coded,then user has to check the status of the job from the spo
Describes when (rarely) and how to tune your VSAM dataset. Also describes how to design a VSAM dataset to allow excellent performance with little tuning.
This spring, the data warehouse team at Ancestry, flawlessly migrated and validated nearly half a trillion records from Actian Matrix to Amazon Redshift. During this session, the Ancestry team will describe how they orchestrated the entire migration in less than four months, the technical challenges they faced and overcame along the way, as well as share tips and tricks to break through common pitfalls of data warehouse migrations. They will also highlight how they tuned and optimized the Amazon Redshift environment, adopted Redshift Spectrum, and how they leverage their collaboration with Amazon to deliver a powerful customer experience.
Oracle ACFS is a general purpose portable cluster file system build on the enhanced ASM available since Oracle 11.2 and benefiting from the existing ASM mirroring and striping leading to performance and fault tolerance. In the presentation you will look at the concept and the architecture of ACFS. You will see how to use familiar tools such as sqlplus, asmca, asmcmd and OEM DC to configure, implement and manage ACFS. The presentation will provide an idea for deployment of ACFS for Snapshots and replications. Being fully integrated with ASM, ASM views can be used to monitor performance and usage.
AWS SSA Webinar 20 - Getting Started with Data Warehouses on AWSCobus Bernard
In this session, we will take you through setting up an Amazon Redshift cluster and at the ways you can populate it with data. We will start by using AWS DMS to replicate the data as-is as well as doing some ETL on it. This will be followed by AWS Glue where you can do more advanced ETL operations. Lastly, we will look at how you can use Amazon Kinesis Firehose to stream event directly to the Redshift cluster.
CICS is the power of mainframe. It has all the capabilities to handle online transactions. The ppt covers highly useful CICS concepts to refresh your CICS knowledge quickly. Well explained about data access in CICS.
Learn how Amazon Redshift, our fully managed, petabyte-scale data warehouse, can help you quickly and cost-effectively analyze all of your data using your existing business intelligence tools. Get an introduction to how Amazon Redshift uses massively parallel processing, scale-out architecture, and columnar direct-attached storage to minimize I/O time and maximize performance. Learn how you can gain deeper business insights and save money and time by migrating to Amazon Redshift. Take away strategies for migrating from on-premises data warehousing solutions, tuning schema and queries, and utilizing third party solutions.
Demystifying the JESD204B High-speed Data Converter-to-FPGA interfaceAnalog Devices, Inc.
Learn all about the JESD204 standard. This presentation provides an overview of the JESD204 serial interface standard from its origin up to the current "B" revision. Common "high-performance metrics" that are associated with high speed serial interfaces are also discussed. by Analog Devices, Inc.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
2. VSAM (Virtual Storage Access Method )
VSAM is an integral part of MVS. At the end of this course,
you, the user, will know VSAM in detail.
know the different types of VSAM data sets
be able to create, delete and alter VSAM data sets, with
indexes and alternate indexes
know the organization of VSAM data sets
3. Access Methods
An access method defines the technique by which data is
stored and retrieved. The different types of dataset
organizations in MVS are:
Physical Sequential
Partitioned
Indexed Sequential
Direct
VSAM
4. What is VSAM?
VSAM is Virtual Storage Access Method
It is a method used to move data between Disk and Main
Storage
VSAM operates in Virtual Environment
5. VSAM
VSAM acts as interface between
Operating System and Application Program
V
Request S Reply Operating
Application
A System
M
6. VSAM
Interface between Main Storage and Disk
V
S
Main Storage DATA A DATA Disk
M
7. File access methods
Data (Records) is retrieved
Sequential (Reading from beginning to end)
Random (Records are read by the value in the key)
Direct (Records are read based on their physical
location/address on disk)
VSAM provides all these methods
One access method supporting all types of data retrieval
8. Traditional access methods
QSAM (Queried Sequential Access Method)
BSAM (Basic Sequential Access Method)
for ‘flat’ files
ISAM (Index Sequential Access Method)
for Index files
BDAM (Basic Direct Access Method)
for direct access files
9. VSAM Dataset Types
Entry Sequenced Dataset (ESDS)
ESDS contains records in the order in which they are entered. Records
are added to the end of the data set, and can be accessed sequentially.
Key Sequenced Dataset (KSDS)
KSDS contains records in ascending collating sequence. Records can
be accessed by a field called a key, or by a relative byte address (RBA -
relative position of the record from the beginning of the dataset), or
sequentially.
Linear Dataset (LDS)
LDS contains data that has no record boundaries. The manipulation of
the data is completely controlled by the user.
Relative Record Dataset (RRDS)
RRDS contains records in the order of relative record number. These
records can be accessed only by this number.
10. VSAM data set organization
VSAM Data Set can contain three major components
CLUSTER (Catalog entry)
INDEX
DATA (Actual data)
Data Set is referred by cluster name in JCL
INDEX
CLUSTER
DATA
11. VSAM internals
CONTROL INTERVAL (CI)
VSAM stores Data and Index in Control Intervals (CI)
CI is similar to ‘Block’
CI
Record Record .......
12. CONTROL INTERVAL
CI is the unit of retrieval between DASD and I/O Buffer (Virtual
Storage)
DASD I/O Buffer
CI
R1 R2 R3 R1 R2 R3
13. Control Interval
CI contains
Records (or DATA)
Free space (Optional)
Control Information Definition Field (CIDF)
Record Definition field (RDF)
14. Building blocks of a VSAM Dataset
Logical Record
Logical records of VSAM data sets are stored in a different manner from logical
records in non-VSAM data sets. VSAM stores records in control intervals.
Control Interval (CI)
A control interval consists of the following:
Logical records (LR)
Free space (FS)
Control information fields
LR LR LR LR..FS....FS...RDF CIDF
Free Space is the space reserved within the CI for inserting new records in a KSDS or
for lengthening the existing records.
15. CONTROL INTERVAL
CIDF & RDF are VSAM control functions
Used by VSAM to access data
R R C
R1 R2 Free D I
R3 D
Space F D
F
F
3 bytes, Length of Record
How many successive
records have same length 4 bytes long, One per CI
Indicates Free space,
where and how much
16. CONTROL AREA
Control Area
CIs are grouped into CA
The control intervals in a VSAM data set are grouped together
into Control Areas.
A VSAM data set is actually composed of one or more control
areas. The maximum size of a control area is a cylinder, and
the minimum size is one track.
Control Area
(CA)
LR LR LR LR.. FS....FS... RDF CIDF
LR LR LR LR.. FS....FS... RDF CIDF
LR LR LR LR.. FS....FS... RDF CIDF
17. Cluster
VSAM datasets are defined as Highest Index Set
Clusters. 2210 5000
A Cluster is a combination of the
data component and the index Index Set
component. 1055 1600 FS 5000 FS FS
The Index component is applicable
only in the case of a KSDS. Sequence Set
The data component holds data 1010 1055 FS 1350 1600 FS
records.
The index component holds the
index records to access the required DATA COMPONENT (CA1)
information from the data
component 1300 1305 1310 1350 FS
1400 1410 1415 1600 FS
Data Component (CA2)
FS FS FS FS FS
1001 1002 1005 1010 FS
1020 1022 1030 1055 FS
FS FS FS FS FS
18. Control Interval Split
CA-1 (CI-1 to CI-3) - Before split
When a data set is first loaded,
the key sequence of records and 1001 1002 1005 1010 FS
their physical order are the same.
However, when records are 1020 1022 1030 1055 FS
inserted, control interval split can
occur, causing the data control
intervals to have a physical order FS FS FS FS
that is different from the key
sequence.
For example, try to insert '1004' CA-1 (CI-1 to CI-3) - After split
in CI-1 shown below :
A Control Interval Split occurs
1001 1002 1004 FS
and CI-1 is split exactly into two
half CI's. CI-3, which is a free 1020 1022 1030 1055 FS
control interval is used, and some
logical records of CI-1 are moved
into CI-3. CI-3 is placed after CI- 1005 1010 FS FS
2 and it is not inserted in between
CI-1 and CI-2.
19. Control Area Split
Now, if record ‘1025’ is inserted, there is no free control
interval for a CI split to occur. Hence, a CA (control area)
split occurs. The CA-1 is split into two half control areas;
some of the Control intervals of CA-1 are moved into the
newly created CA (CA-2).
CA-1 (CI-1 to CI-3) - After split
1001 1002 1004 FS
1020 1022 FS FS FS
FS FS FS FS
CA-2 (CI-1 to CI-3)
1025 1030 1055 FS
1005 1010 FS FS
FS FS FS FS
20. Types of VSAM data sets
ESDS Entry Sequenced Data Set
KSDS Key Sequenced Data Set
RRDS Relative Record Data Set
LDS Linear Data Set
21. ORGANIZATION
SEQUENTIAL => ESDS
INDEXED => KSDS
RELATIVE => RRDS
ACCESS MODE OPTIONS
ESDS : SEQUENTIAL
KSDS : SEQUENTIAL or RANDOM or DYNAMIC
RRDS: SEQUENTIAL or RANDOM or DYNAMIC
22. Access Method Services (AMS)
Access Method Services is a service program that helps you to
allocate and maintain VSAM data sets and catalogs.
IDCAMS is the name of the utility program used to perform the
following operations on VSAM data sets.
Creating a Data set
Loading a VSAM data set.
Printing a Data set
Deleting a Data set
Error Detection for KSDS Data set
Creating Generation Data Groups (GDG) etc.
24. Defining a VSAM Cluster
The Define Cluster command is used to allocate VSAM data sets. The basic information
required for defining a VSAM data set is:
Name of the cluster.
Volume(s) on which the data set will be allocated.
Type of data set (KSDS, ESDS, RRDS or LDS).
Space needed for the data set.
For a KSDS, the length of the key and its offset from the beginning of the record.
Record size, and whether it is fixed or variable in length.
Control interval size.
CI and CA Free Space.
The following keywords have to be used to define the different types of VSAM data sets:
NONINDEXED for ESDS.
INDEXED for KSDS.
NUMBERED for RRDS.
LINEAR for LDS.
25. Sample JCL to create an ESDS cluster
//LEM0UXXA JOB
MSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID
//DEFKSDS EXEC PGM=IDCAMS NONINDEXED - ESDS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER(NAME(LEM0UXX.TEST.ESDS) -
VOLUMES(LEM001) -
RECORDSIZE(N1,N2)
NONINDEXED -
TRACKS(2,1) - N1=> AVG RECL
RECORDSIZE(50,50) - N2=> MAX RECL
CONTROLINTERVALSIZE(4096) -
FREESPACE(10,20)) -
DATA(NAME(LEM0UXX.TEST.ESDS.DATA))
/*
Freespace(PCT1,PCT2)
PCT1=> PCT FREE SPACE IN each CI
PCT2=> PCT Of unused CI in CA
27. ESDS
Similar to Sequential File
Sequenced by the order in which data is entered/loaded
New Records are added at the end only (chronological order)
Supports both Fixed and Variable formats
Contains only CLUSTER & DATA components
28. ESDS (Contd...)
Only sequential access in Batch Cobol Programs
Random access is supported in on-line applications (CICS)
using Relative Byte Address (RBA)
Alternate Index is supported in on-line applications (CICS)
NO primary index
29. RBA
Record location relative to the beginning of the file
(Relative Byte Address)
CI
R1 R2 R3
80 40 60
RBA of R1 is 80
30. FILE-CONTROL Paragraph
Format:
SELECT [OPTIONAL] File-name-1 ASSIGN TO AS-Assignment-name-1
SEQUENTIAL
[ ORGANIZATION IS INDEXED
RELATIVE
SEQUENTIAL
[ACCESS MODE IS RANDOM
DYNAMIC
[FILE STATUS IS Data-name-1]
44. Sample JCL to create a KSDS cluster
KEYS(N1,N2)
//LEM0UXXA JOB MSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID N1=> length of the Key(Bytes)
//DEFKSDS EXEC PGM=IDCAMS N2=> is starting byte position
//SYSPRINT DD SYSOUT=* of Key in Record
//SYSIN DD *
DEFINE CLUSTER(NAME(LEM0UXX.TEST.KSDS) - RECORDSIZE(N1,N2)
VOLUMES(LEM001) - N1=> AVG RECL
TRACKS(2,1) -
N2=> MAX RECL
INDEXED -
KEYS(9,0) -
INDEXED - KSDS
RECORDSIZE(50,50) -
CONTROLINTERVALSIZE(4096) -
Freespace(PCT1,PCT2)
FREESPACE(10,20)) -
PCT1=> PCT FREE SPACE IN each CI
DATA(NAME(LEM0UXX.TEST.KSDS.DATA)) -
PCT2=> PCT Of unused CI in CA
INDEX((NAME(LEM0UXX.TEST.KSDS.INDEX))
45. SELECT & ASSIGN Syntax
ENVIRONMENT DIVISION.
INP UT- OUT P UTSECT ION.
FILE - CONT ROL.
SELECT [OP T IONAL FileName
]
ASSIGN T O FileSpec
ORGANIZAT I IS INDEXED
ON
SEQUENT IAL
ACCESS MODE IS RANDOM
DYNAMIC
RECORD KEY IS UniqueRecKey
ALT ERNAT ERECORD KEY IS AltKey WIT HDUP LICAT ES
FILE ST AT US IS FileStatus
46. READ statement
READ FileName RECORD INTO DestItem
KEY IS KeyName
INVALID KEY StatementBlock
END READ
READ FileName NEXT RECORD INTO DestItem
AT END StatementBlock
END READ
47. WRITE & REWRITE statement
WRITE RecName FROM SourceItem
INVALID KEY StatementBlock
END WRITE
REWRITE RecName FROM SourceItem
INVALID KEY StatementBlock
END REWRITE
62. START & DELETE statement
IS EQUAL TO
IS =
IS GREATER THAN
START FileName KEY KeyName
IS >
IS NOT LESS THAN
IS NOT <
INVALID KEY StatementBlock
END START
DELETE FileName RECORD
INVALID KEY StatementBlock
END DELETE
97. ALTERNATE INDEXES
Used whenever the data is required to be retrieved on the basis of m
than one field
EMPNO ENAME SALARY
101 RAJESH 5000
102 RAMESH 6000
103 RANDY 7000
104 SURESH 8000
e.g., Can be defined for both KSDS & ESDS
EMPNO IS ENAME IS
BASE KEY ALTERNATE KEY
98. ALTERNATE INDEXES
Reduce data redundancy
Can have duplicates
Easy to define using IDCAMS
Allow datasets to be accessed sequentially or
randomly
Can be updated automatically
100. Steps for Creating Alternate Index
Define AIX using IDCAMS DEFINE AIX
Specify Alternate Index Path using IDCAMS DEFINE PATH
Build AIX & populate it using IDCAMS BLDINDEX
101. Sample JCL to create an AIX cluster
UPGRADE-> VSAM AUTOMATIC
Updates the AIX for all
ADD,UPDT,DEL of Base cluster
//LEM0UXXA JOB
MSGCLASS=Q,CLASS=Q,NOTIFY=&SYSUID
//DEFKSDS EXEC PGM=IDCAMS
UNIQUE /NONUNIQUE
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE AIX (NAME(LEM0UXX.TEST.AIX.CLUSTER) –
KEY ( N1,N2)
RELATE (LEM0UXX.INFILE.KSDS) - N1-> LENGTH OF AIX key
VOLUMES(LEM001) -
KEY (10, 35) - N2-> KEYS start Loc in BASE CLUSTER
TRACKS(2,1) -
NONUNIQUEKEY - RECORDSIZE(N1,N2)
RECORDSIZE(49,49) -
N1=> AVG RECL
UPGRADE
CONTROLINTERVALSIZE(4096) - N2=> MAX RECL
FREESPACE(10,20)) -
DATA(NAME(LEM0UXX.TEST.AIX.DATA))
INDEX(NAME(LEM0UXX.TEST.AIX.INDEX)) Freespace(PCT1,PCT2)
/*
PCT1=> PCT FREE SPACE IN each CI
PCT2=> PCT Of unused CI in CA
102. UPGRADE/NOUPGRADE
• Syntax : UPGRADE/NOUPGRADE
• UPGRADE specifies that records
in AIX are to be updated
• automatically whenever the
base cluster is updated
104. BUILD INDEX
//JOB CARD
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
BUILD INDEX is used
//SYSIN DD *
To load records in
BLDINDEX -
INDATASET(LEM0UXX.KSDS.CLUSTER') - AIX after it has been def
OUTDATASET('LEM0UXX.KSDS.AIX.CLUSTER') -
/*