IBM mainframes interview questions part 1
1.Q:How do we describe Static Call and Dynamic Call?
A: The difference between Static and Dynamic Call is that the first has the invoking program name hard coded into the call statement while the second has it in storage in an identifier. Also in the case of Static the invoking program is link edited with the invoked subroutine and in the case of Dynamic Callwe will have a different module for each: the main program and the subroutine. IF we don’t use Initial or make a Cancel when we invoke the statically called subroutine then it will not be found in the default state; dynamically called routine will be forever in the default state.
2.Q:How do we describe cataloged procedure and an instream procedure?
A: Cataloged procedures are invoked through a specification of the name of the procedure over the Exec statement and cataloged on the library of the procedure. For verifying a procedure prior to becoming a catalog procedure we will use an in-stream procedure.
Instream procedures are similar to catalog procedures but there is a small difference at their execution:for executing them there are required to be placed between the Job statement and the Exec statement and they must be finished with a Pend statement.
3.Q: How are Start and XCTL different?
A: Start is used for the beginning of new transactions and then the XCTL takes the operations further , transferring the control to a different application but with an equal transaction ID.
4.Q: What is the meaning, the advantages and which are the types of evaluate statement?
A: Evaluate statement is a different way for the neste IF statements and it works by choosing from a processing actions list. To replace IF we can use When to find out if an action will be taken. Like IF , When control goes from evaluate to the following statement on the application. The types of evaluate statement are trues and variable-name.
5.Q. What is the meaning of NOTCAT 2?
A: NOTCAT 2 is a MVS message that shows if two or more entries of the same catalog exist. If an entry is already there the catalog would send us an error message. The issue can be repaired by uncataloging or deleting the primary data set and we must find that volume which contains the new data set and we must catalog it.
6.Q:What is the role of the IS NUMERIC clause?
A: IS NUMERIC will be available for alphanumeric, packed decimal, unsigned numeric and signed numeric items. When an item is made of 0 to 9 the value returned by IS NUMERIC is True, if the item is signed then it can have 0 to 9 but also + and -.
7.Q: What sorting order does SEARCH ALL have?
A: The sorting order of SEARCH ALL will be Descending or Ascending, the initial value is Ascending. When we want to switch to Descending we have to provide the Descending Key clause in the time we define the array which will be sorted; the table has to be loaded in the order stated.
8.Q: What is the right time for using in-line perform?
A:The right time is when the perform body is not used. If it is a type of code that has general means, being utilized in several locations in the program, the code should be met in a different para and not use in-line perform, but perform paraname instead.
9.Q:How can we repair a SOC-7 error?
A:The main thing to do is repairing the problematic data, usually the cause for problems with SOC-7 is a numeric item that is un-initialized, this is the primary concern. Some of the setups give us dumps for run-time abends, this can also be made by invoking OS services or subroutines via the assembly language. The dumps are useful as thei give us the ultimate instruction’s offset where the abend occurred. The output XREF listing of the compilation must be verifiedfor obtaining the line number and the verb of this offset’s source code. After that the bug can be found in the source code. For capturing the runtime dumps, we should define datasets like for instance Sysabout in JCL. When these methods are not working we must find the error source with judgement and Display. If the setup has debugging utilities, we should make use of them.
10.Q:How can we describe COMP SYNC?
A: COMP SYNC aligns an item to the natural boundaries, it will be synchronized right and left. If we use binary items that are found at the boundaries of words in memory, these ones have a more rapid address resolution. The size of word from mainframe memory is four bytes. So every word has to begin from an address which is divisible by four. When the primary variable is x(3) and the next one is s9(4) comp if the Sync clause is not specified, the second variable will begib from byte 3. When Sync is specified the beginning address will be 4; this more rapid, even if we may notice a little waste of memory.
11.Q: What is the meaning of SSRANGE and NOSSRANGE?
A: These two are options of the compiler for verifying the out of range state for the subscript. The default will be NOSSRANGE and it implies no flagging of run-time errors when the subscript or index is exceeding the permitted range.
12.Q: What difference exists between Control Area and Control Interval?
A: A Control Area is a set of Control Intervals and it works during allocation. The size of the Control Area depends on the type of allocation (cyl, tracks, records) and ots maximum reaches 1 cylinder. The Control Interval is something like a block for QSAM files, its size is ranged between 512 bytes and 32 kilobytes, normally 2 or 4 kilobytes. If the Control Interval is bigger the performance will also increase when it comes to sequential processing.
13.Q: What optimum values can we find for FREESPACE, CI etc?
A: The size of CI has to depend on the length of the record and the processing type. The normal value is 4 kilobytes but when the length of the record is bigger than 1 kilobyte we have to pick 6 kilobytes or 8 kilobytes. The normal values for FREESPACE are (20 20), when many insertions are made it should be bigger.
14.Q:Can we describe the results of opening for input empty VSAM files in a COBOL program?
A: If the VSAM file didn’t have a record before it will be seen as unavailable and if we try to open it the operation will not succeed. Empty files can just be opened for output, case in which a dummy record will be written by COBOL and the file will be erased.
15.Q: How can we define a GDG?
A: GDG means GenerationDataGroup, for defining it we will write the command DEFINE GENERATIONDATAGROUP. In the IDCAMS step, a different datasethas to be defined and its DCB parameters will be used at the time when new generations are made. This is what we call a model dataset, whose ds name has to be similar to the one of the GDG.
16.Q: What is the meaning of a (NEW, CATLG, KEEP) disposition mean?
A: The meaning is that we have a fresh datasheet and it has to be allocated, the datasheet must be CTLG if all went right but to KEEP and not CTLG the datasheet when all is abended.