IBM MainFrame Interview Questions And Answers
Download IBM MainFrame Interview Questions and Answers PDF
Sharpen your IBM MainFrame interview expertise with our handpicked 28 questions. Each question is designed to test and expand your IBM MainFrame expertise. Suitable for all experience levels, these questions will help you prepare thoroughly. Get the free PDF download to access all 28 questions and excel in your IBM MainFrame interview. This comprehensive guide is essential for effective study and confidence building.
28 IBM MainFrame Questions and Answers:
IBM MainFrame Job Interview Questions Table of Contents:
1 :: How to fetch even records from one file to another file by using ICETOOL in JCL?
//STEP1 EXEC PGM=SORT
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=INPUT.DATA,DISP=SHR
//OUTDATA DD DSN=OUTPUT.DATA,DISP=(NEW,CATLG,DELETE)
.
.
.
//SYSIN DD *
OPTION COPY
OUTFIL FNAMES=OUTDATA,SAMPLE=2
THIS WILL COPY ALL EVEN RECORDS
-------------------------------------------
FOR ODD RECORDS
OUTFIL FNAMES=OUTDATA,STARTREC=1,SAMPLE=2
Read More//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=INPUT.DATA,DISP=SHR
//OUTDATA DD DSN=OUTPUT.DATA,DISP=(NEW,CATLG,DELETE)
.
.
.
//SYSIN DD *
OPTION COPY
OUTFIL FNAMES=OUTDATA,SAMPLE=2
THIS WILL COPY ALL EVEN RECORDS
-------------------------------------------
FOR ODD RECORDS
OUTFIL FNAMES=OUTDATA,STARTREC=1,SAMPLE=2
2 :: File1 has 100 records and file2 has 200 records i want to copy 50 records which r in both file into file3?
First need to sort both files
READ FILE1
READ FILE2
PERFORM UNTIL EOF = 'Y'
IF FILE1-ID > FILE2-ID THEN
READ FILE2 AT END MOVE 'Y' TO EOF
ELSE IF FILE1-ID < FILE2-ID
READ FILE1 AT END MOVE 'Y' TO EOF
ELSE IF FILE1-ID = FILE2-ID
WRITE FILE3
READ FILE1 AT END MOVE 'Y' TO EOF
READ FILE2 AT END MOVE 'Y' TO EOF
END-PERFORM
Read MoreREAD FILE1
READ FILE2
PERFORM UNTIL EOF = 'Y'
IF FILE1-ID > FILE2-ID THEN
READ FILE2 AT END MOVE 'Y' TO EOF
ELSE IF FILE1-ID < FILE2-ID
READ FILE1 AT END MOVE 'Y' TO EOF
ELSE IF FILE1-ID = FILE2-ID
WRITE FILE3
READ FILE1 AT END MOVE 'Y' TO EOF
READ FILE2 AT END MOVE 'Y' TO EOF
END-PERFORM
3 :: What is use of linkage section?
Linkage section is used to accept data from outside the program.either its parm part of Jcl or Call from any other programs,they pass data into called program thru linkage section only.
Read More4 :: What is difference between comp and comp-3?
Comp is binary.its the type how system stores ur data.
pic s9(1)-->pics9(4) --occupies 2bytes
pic s9(5)---pic s9(8) ----4 bytes
pic s9(9)---pics9(18)-----8 bytes
comp-3 is for packed decimal data where each character occupies half byte and sign is stored in last nibble.
Read Morepic s9(1)-->pics9(4) --occupies 2bytes
pic s9(5)---pic s9(8) ----4 bytes
pic s9(9)---pics9(18)-----8 bytes
comp-3 is for packed decimal data where each character occupies half byte and sign is stored in last nibble.
5 :: How do define Dynamic array in COBOL how do u define single dimensional array and multidimensional array in your COBOL?
In IBM Cobol
1) In IBM's Language Environment you can dynamically
acquire storage (look up HEAP in the manual). The storage
you acquire you can use as you like. Can be an array,
therefore a dynamic array. It is a "work-around" as dynamic
arrays are not directly supported.
2) 01 SINGLE-DIM-ARRAY
05 SDA-ITEM PIC X OCCURS 30.
A single-dimension array of thirty one-byte characters.
3) 01 MULTI-DIM-ARRAY.
05 MDA-FIRST-DIM OCCURS 20.
07 MDA-SECOND-DIM OCCURS 30 PIC X.
A multi-dimension array of 20 times 30 one-byte characters.
Read More1) In IBM's Language Environment you can dynamically
acquire storage (look up HEAP in the manual). The storage
you acquire you can use as you like. Can be an array,
therefore a dynamic array. It is a "work-around" as dynamic
arrays are not directly supported.
2) 01 SINGLE-DIM-ARRAY
05 SDA-ITEM PIC X OCCURS 30.
A single-dimension array of thirty one-byte characters.
3) 01 MULTI-DIM-ARRAY.
05 MDA-FIRST-DIM OCCURS 20.
07 MDA-SECOND-DIM OCCURS 30 PIC X.
A multi-dimension array of 20 times 30 one-byte characters.
6 :: How To get the last record in VSAM file in cluster? And How can u get the ksds file records into ur COBOL program? Please tell me about these two questions.?
Move highvalues to the key of the VSAM file and the issue Readnext record command. Then give Readprev command. This will read the last record. In VSAM, there is one command HURBA, Using that we can read the last record, If you want to know more about go to IBM RED BOOKS. You will get the solution.
by using the HURBA we can get the max records by using the CKD count key data we will get the last record
Read Moreby using the HURBA we can get the max records by using the CKD count key data we will get the last record
7 :: Tell about How do u eliminate the duplicates?
By using DFSORT we can eliminate the duplicates
//Sysin dd *
sort fields=(1,5,ch,A)
sum fields=
/*
//
in the above dfsort we use sum fields= empty then it
eliminate the duplicates
if u want all dupli.in one file u can use
sum fields = xsum........
Read More//Sysin dd *
sort fields=(1,5,ch,A)
sum fields=
/*
//
in the above dfsort we use sum fields= empty then it
eliminate the duplicates
if u want all dupli.in one file u can use
sum fields = xsum........
8 :: What is difference b/w file-aid tool and file-aid utility?
File-aid tool is online tool (application) used for
processing files using online screens. File-aid utility is
used in jcl for processing files in batch.
Read Moreprocessing files using online screens. File-aid utility is
used in jcl for processing files in batch.
9 :: How to override a dsn that is contained in a proc called by another proc? I need to do the override in the calling JCL?
//PROC1 PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=XYZ, DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
// PEND
//JJJ JCLLIB ORDER=PROCLIB PATH
//PROC2 PROC
//STEP2 EXEC PROC1
//JOBNAME JOB PARAMETERS
//JJJ JCLLIB ORDER=PROCLIB PATH
//PROC3 PROC
//STEP2.DD1 DSN=NEW NAME,DISP=SHR
THIS IS D WAY....
THIS PROG. WILL DO NOTHING IT'S JUST AN EXAMPLE
Read More//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=XYZ, DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
// PEND
//JJJ JCLLIB ORDER=PROCLIB PATH
//PROC2 PROC
//STEP2 EXEC PROC1
//JOBNAME JOB PARAMETERS
//JJJ JCLLIB ORDER=PROCLIB PATH
//PROC3 PROC
//STEP2.DD1 DSN=NEW NAME,DISP=SHR
THIS IS D WAY....
THIS PROG. WILL DO NOTHING IT'S JUST AN EXAMPLE
10 :: if a pic 9(3) value 354,b pic x(2) value 46 then
a)a>b
2)a<b
3)error
As picture clause for variable b is x(2), which means that
it can accept both numeric and characters of length 2, but
the care we should take here is that we should enclose them
in the single quotes, therefore to my expectation option b
is write.
Read Moreit can accept both numeric and characters of length 2, but
the care we should take here is that we should enclose them
in the single quotes, therefore to my expectation option b
is write.
11 :: Suppose oza017.myorg.emp has 100 records ,oza018.myorg.staff has 200 records but 50 are the common records in both files copy all the common records into oza017.myorg.xyz dataset?
IN SORT, YOU CAN USE JOINKEYS AND CAN TAKE 50 COMMON
RECORDS IN B/W 2 I/P FILES AND WRITE TO O/P FILE.
Read MoreRECORDS IN B/W 2 I/P FILES AND WRITE TO O/P FILE.
12 :: A job has 150 steps i want to execute only 57th step?
it's easy write restart=step57 in job parameter and write cond in 58th step like cond = (x,eq) where x is expected return code of 57th step.
Read More13 :: A job has 90 steps i want to execute only step7 and step15?
In the jobcard, Give restart=step7, code cond=(0,le) from
step8 - step14, Give a null stmt(//) after step15. That's
it your requirement is met.
Simplest way:
There is an utility IEBEDIT which is used to execute only
few particular steps from 'n' steps in a jcl.
//JOBCARD
//STEPNAME EXEC PGM=IEBEDIT
//SYSUT1 DD DSN=MYPRGM.DSN,DISP=SHR
//SYSUT2 DD SYSOUT=(*,INTRDR)
//SYSIN DD *
EDIT TYPE=INCLUDE STEPNAME=(STEP7,STEP15)
/*
//
MYPRGM.DSN = The name of the dataset that has the actual
JCL.
Read Morestep8 - step14, Give a null stmt(//) after step15. That's
it your requirement is met.
Simplest way:
There is an utility IEBEDIT which is used to execute only
few particular steps from 'n' steps in a jcl.
//JOBCARD
//STEPNAME EXEC PGM=IEBEDIT
//SYSUT1 DD DSN=MYPRGM.DSN,DISP=SHR
//SYSUT2 DD SYSOUT=(*,INTRDR)
//SYSIN DD *
EDIT TYPE=INCLUDE STEPNAME=(STEP7,STEP15)
/*
//
MYPRGM.DSN = The name of the dataset that has the actual
JCL.
14 :: WHY LRECL NEEDS TO BE 4 EXTRA THEN THE COBOL FILE LENGTH & WHAT IT CONTAIN IN THAT LENGTH?
First thing is we can see this kind of differece only in VB
files not in fixed block files.
LRECL of VB file will contain the maximum record length of
a file + 4 bytes RDW(Record Descriptor Word) field which
gives the length of the record as the file contains
variable record lengths.
Example : if we have EMP-FILE VB file which contains 80
THRU 100 CHARECTERS
So the LRECL of this file is going to be 100+4 which is 104
bytes.
Read Morefiles not in fixed block files.
LRECL of VB file will contain the maximum record length of
a file + 4 bytes RDW(Record Descriptor Word) field which
gives the length of the record as the file contains
variable record lengths.
Example : if we have EMP-FILE VB file which contains 80
THRU 100 CHARECTERS
So the LRECL of this file is going to be 100+4 which is 104
bytes.
15 :: What are the parameter we cannot use in procedure? How many instream we can write in single jcl? Can we call instream to catalog and catalog to instream?
sysin dd * we cannot use in procedure,15 instream proc we
can code.we can call instream to catalog.but we cannot call
catalog to instream
Read Morecan code.we can call instream to catalog.but we cannot call
catalog to instream
16 :: While creating a table, by mistake you have given size of one field as 10. But as per requirement size should be 8. What is your next step?
If table is empty then we alter this column to any length,
but if some data got inserted into the table then we can
also decrease the column length upto largest data size
available in that perticulat column.
Read Morebut if some data got inserted into the table then we can
also decrease the column length upto largest data size
available in that perticulat column.
17 :: Suppose I have two tables A and B. Both tables are connected with SSN number as foreign key. I want to retrieve a column data from B table. How will you write a query?
One can use Inner Join to get data from two tables.
Read More18 :: How can we increment subscript and index?
SUBCRIPT:
CAN BE INCREMENT OR DECREMENT USING ARITHMETIC OPERATIONS
INDEX:
CAN BE INCREMENT OR DECREMENT USING SET VERB
Read MoreCAN BE INCREMENT OR DECREMENT USING ARITHMETIC OPERATIONS
INDEX:
CAN BE INCREMENT OR DECREMENT USING SET VERB
19 :: We have an output dataset in job with disp parameter as SHR.
Can we write data in that file dataset?
we cannot write when disp is share
Read More20 :: select distinct(empid),distinct(dept),name
from EMP
will the above query work?
No, It will not work. SELECT DISTINCT works only for single
cloumn.
DISTINCT can be applied multiple times only when you want
to apply aggregate functions such as COUNT, AVG & SUM.
e.g.
SELECT COUNT(EMPNO)/COUNT(DISTINCT(WORKDEPT)), COUNT
(DISTINCT(JOB))
FROM DSN8810.EMP
Read Morecloumn.
DISTINCT can be applied multiple times only when you want
to apply aggregate functions such as COUNT, AVG & SUM.
e.g.
SELECT COUNT(EMPNO)/COUNT(DISTINCT(WORKDEPT)), COUNT
(DISTINCT(JOB))
FROM DSN8810.EMP
21 :: How to handle -911 (deadlock) error in a db2 program so that the program will never abend?
Dead lock time out erro occurs in the following case:
If two or more programs acquired exclusive lock on the
data,which may be needed for other programs without that
data which can not proceed further.
Solution: You can roll back current unit of work for one of
the programs after preset time interval for deadlocks and
terminate that program.
Read MoreIf two or more programs acquired exclusive lock on the
data,which may be needed for other programs without that
data which can not proceed further.
Solution: You can roll back current unit of work for one of
the programs after preset time interval for deadlocks and
terminate that program.
22 :: Suppose I have 1000 rows in a db2 table. I want to update first 100 records, How do I do it?
is there identity column in this table, for example, if
there is a column indexnum int(supposed start from 1), you
can use the Update Table Set XXX=XXX where indexnum < 101
Read Morethere is a column indexnum int(supposed start from 1), you
can use the Update Table Set XXX=XXX where indexnum < 101
24 :: How would find total records in files using seqientional?
We can increment the count for each reading of record in a file.
Read file
count = count + 1
At end
display count
Read MoreRead file
count = count + 1
At end
display count
25 :: What is label record is standard or omitted in file description of data division?
Label record is standard means it will use disk files. But
tape files can have standard label too.
If the label record is omitted it should be a the tape file
without any begin and end blocks on the tape.
Read Moretape files can have standard label too.
If the label record is omitted it should be a the tape file
without any begin and end blocks on the tape.