Monday, 8 April 2019

JCL Tutorial: JCL TYPRUN Parameter | TYPRUN=HOLD in JCL [Mainframe JOB].



JCL Tutorial, JCL TYPERUN, TYPERUN in JCL
How to hold a JCL Job?

Welcome back to today's JCL Tutorial. In this session, you'll learn the basics of "TYPRUN=HOLD" in JCL and "TYPRUN=SCAN" in JCL. You'll also learn, how you can use the TYPRUN parameter to hold the mainframe job. Let's get started with today's JCL Tutorial Agenda.

    Agenda - JCL Tutorial.

  • JCL Introduction.
  • JCL TYPRUN Parameter.
  • JCL TYPRUN Syntax.
  • JCL TYPRUN Example.
  • Summary.

JCL Introduction. 

The term JCL stands for JOB CONTROL LANGUAGE. It's the command language of the Z/OS Operating System. JCL is generally used to provide information related to datasets and programs that need to be executed. 
 

Is it possible to hold a job? 

Well, the answer is yes, a mainframe job can be placed in a hold status so it won’t be scheduled for execution until an operator issues a command to release it. For example, you may want a run a job A until job B has been completed.

JCL TYPRUN Parameter.

JCL TYPRUN parameters are optional parameter and it is generally specified in JOB control statements. TYPRUN in JCL is primarily used to hold the mainframe job. You can also use JCL TYPRUN to scan mainframe jobs for syntax errors without executing the JCL. 

JCL TYPRUN Syntax. 

TYPRUN in JCL is pretty simple and easy to use. It has four possible following values. Let's look at each value in detail.

            TYPRUN={COPY}
                   {HOLD}
                   {JCLHOLD}
                   {SCAN}
  • When you specify TYPRUN=COPY, then JES2 is instructed to copy the input job stream as-is to an SYSOUT data set and schedule the SYSOUT data set for output processing.
  • When you specify TYPRUN=HOLD, the mainframe job is on hold until it is released by the operator.
  • When you specify TYPRUN=JCLHOLD, check for JCL error when the operator releases the job.
  • When you specify TYPRUN=SCAN, the system scans the mainframe job for syntax errors, without executing or allocating devices. 

JCL TYPRUN Examples.

As you that TYPRUN in JCL is optional and it is generally specified in the JOB control statement. JCL TYPRUN has four possible values. Let's try to understand each TYPRUN parameter with an example. 
 
Example 1: The TYPRUN parameter uses the HOLD option to hold a job in the queue until the operator issues a command to release it.

JCL TYPERUN=HOLD, JCL TUTORIAL

JCL TYPRUN=HOLD


Example 2: The JCLHOLD option is similar to the HOLD option except that the JCL is not checked for errors until the operator releases the job.

JCL Tutorial, JCL TYPERUN=SCAN, JCL TYPERUN=HOLD

JCL TYPRUN=JCLHOLD

Example 3: A held job class is specified in the CLASS parameter of the JOB statement. Once the operator changes the class, the job is released for processing.


JCL TYPRUN=SCAN

JCL TYPRUN=JCLHOLD


Example 4: A JES3 //*MAIN statement HOLD parameter is used to hold the job in the queue. This has the same effect as coding TYPRUN=HOLD on the JOB statement.

JCL TYPRUN, TYPRUN in JCL

JCL TYPRUN=JCLHOLD

In most production environments. Clients generally used workload schedular such as CA7, TWS, etc. But, you can still use TYPRUN in JCL to scan jobs for syntax errors or hold the mainframe job if you're running JCL outside the workload scheduler. 

Summary. 

Finally, this marks an end to today's TYPRUN in JCL Tutorial. In this session, you learn how to define and use TYPRUN parameters in JCL's. You also learn different variants of TYPRUN parameters. Don't forget to join us for the next tutorial on "How to write and execute Rexx Programs". Do checkout out CA7 Command Reference.

►Subscribe to Topictrick & Don't forget to press THE BELL ICON to never miss any updates. Also, Please visit mention the link below to stay connected with Topictrick and the Mainframe forum on - 

► Youtube
► Facebook 
► Reddit

Thank you for your support. 
Mainframe Forum™

Saturday, 6 April 2019

Top 20 Interview Questions for VSAM (Virtual Storage Access Method)


Top 20 Interview Questions.
Top 20 Interview Questions for VSAM.



Interview Questions



Q.
What are the types of VSAM DataSets?
A. Entry sequenced DataSets (ESDS), Key sequenced DataSets (KSDS) and relative record (RRDS), LDS (linear Data Set).
Q. Why do VSAM take more disk space than other utilities?
A. VSAM increases the disk space requirements of systems. This is because VSAM offers certain capabilities like partial self-reorganization to make things more efficient in data sets that can be modified.
Q. What are the distinctive features of a KSDS, Key sequenced DataSet?
A. The index and the distributed free space. CI and CA split upon updates. Record length may be changed during the update. The records are accessed by a particular Key.
Q. How are records stored in an ESDS, entry sequenced DataSet?
A. They are stored without respect to the contents of the records and in the order in which they are included in the file.
Q. What's an LDS (Linear Data Set) and what's it used for?
A. LDS is a VSAM DataSet in name only. It has unstructured 4k (4096 bytes) fixed size CIs which do not contain control fields. There is no free space, and no access from Cobol. LDS is essentially a table of data maintained on disk. The 'table entries' must be created via a user program and can only be logically accessed via a user program. When passed, the entire LDS must be mapped into storage, then data is accessed via base and displacement type processing.
Q. In ESDS, do we have the facility of accessing the records randomly?
A. YES, Random access to records is possible. Records, however, cannot be deleted. We can do it by referring to the RBA (relative byte address).
Q. Why is space is kept in the data component of the KSDS DataSet?
A. Free space specified during the allocation of the KSDS is left at regular intervals during the initial load of the data set. This space helps keep the data component in physical sequence in spite of random insertions.
Q. What is the difference b/w the ESDS and KSDS?
A. ESDS doesn’t have embedded free space.
The KEYS parameter has no meaning in the context of ESDS ESDS has no index component. An additional parameter, NONINDEXED is used to tell AMS that an ESDS is being allocated.
Q. How is LDS different from ESDS?
A. An LDS is a data set, very similar to an ESDS without the control information.It has no records and used for fast random access. It takes advantages of the computer’s very fast paging hardware for retrieval and storage and the bytes are implicitly divided into 4K blocks or pages, and the paging hardware reads and writes blocks from disk. There is no free space, unused space, control field in LDS.
Q. What is a CI, Control Interval?
A. A Control Interval is the unit of information that VSAM transfers between virtual and auxiliary storage.
Q. What is Control Interval Split?
A. A new record stored in the same CI, only if there is enough space. If not VSAM locates the free CI within the same CA, moves approximately half of the records to next CI and stores the new record at the correct position. This is called Control Interval Split. Whenever CI split occurs the sequence set is updated.
Q. What is a CA, control area?
A. A group of Control Intervals makes up a control area.
Q. If the records are larger than the CI size, for ex. if a record extends CI boundary and extends unto 3 CI, and there is still some space left in last i.e. third CI, will that be used by other CI DataSets?
A. NO. Some records are larger than the CI size, the records extend across CI boundaries (only for ESDS and KSDS). A spanned record begins on a CI boundary and it occupies two or more CIs in a CA. The unused space in the last CI can only be used to extend the record, it cannot contain any other record i.e. a new record has to be added in a new CI.
Q. What is a sequence set?
A. This is the part of the index that points to the CA and CI of the record being accessed.
Q. What is a cluster?
A. A cluster is the combination of the index, sequence set and data portions of the DataSet. The operating system gives program access to the cluster, i.e. to all parts of the DataSet simultaneously.
Q. What is the index set?
A. This is the other part of the index. It has multiple levels with pointers that ultimately reach to the sequence set.
Q. What is a Catalog?
A. The catalogue contains the names of all DataSets, VSAM and non-VSAM. It is used to access these datasets.
Q. What is an alternate index?
A. An AIX is a file that allows access to a VSAM DataSet by a Key other than the primary one. The alternate Key-pointer pair records are stored in an index cluster. This index cluster is known as the alternate index. The alternate Key-pointer pair records are loaded into the alternate index cluster
by the command BLDINDEX.AIX can be built over a KSDS and ESDS, but not over an RRDS.
Q. What could be the maximum number of the AIXs per base cluster?
A. There can be a maximum of 253 AIXs per base cluster. It is not advisable to have more than 5 AIXs per base cluster because of additional overhead during updates and retrievals.
Q. Can AIX be defined over an ESDS, which does not have any Key?
A. Although an ESDS does not have a primary Key, an AIX can be defined over an ESDS. In the case of an ESDS it is the relative byte address of the corresponding record in the base cluster that is stored.
Q. Can we access records in VSAM only by a single Key, i.e. primary Key?
A. It is also possible to access the records in a sequence other than that of the primary Key. Such Keys are called alternate Keys and they can be non-unique. For Example, in a pay-roll system where employee number is the unique primary Key and the employee name as alternate Key.
Q. What is the 'verify' command in the VSAM files ?
A. This command is used to close those files that are kept open after the abnormal termination of the file. It also brings the index component in sync with the data components and updates the catalog.
Q. What is a path?
A. A path is a file that allows you to access a file by alternate index - the path provides an association between the AIX and the base cluster.
Q. What is the upgrade set?
A. The upgrade set is the list of all AIXs that VSAM must maintain for a specific base cluster, so that when data in the base cluster is updated, the AIX files are also updated.
Q. What is free space?
A. Free space is reserved within the data component of a KSDS to accommodate inserting new records.
Q. What is IDCAMS? and what is the purpose of it?.
A. IDCAMS, also known as Access Method Services, is used to perform the following tasks:
  * Create a VSAM data set, VSAM alternate index, or catalog.
  * List a catalog entry for a data set, DataSet/catalog contents.
  * Copy a DataSet or catalog .
  * Convert non-VSAM to VSAM data set .
  * Load a VSAM DataSet from VSAM records
  * Rename VSAM data sets.
Q. What is a VSAM split?
A. If there isn't enough space in the Control Interval VSAM performs a Control Interval split by moving some records to the free Control Intervals. If there isn't a free Control Interval VSAM performs a control area split by allocating a new control area and moving half of the Control Intervals to it.
Q. What is the base cluster?
A. The base cluster consists of the data component and the index component for the primary index of a KSDS.
Q. What will happen if there is no secondary allocation made for DataSets?
A. VSAM will inform COBOL program of the problem and terminate the processing of the program.
Q. Why CI and CA splits are not possible in ESDS and RRDS?
A. In ESDS the new record is added at the end of last record. And no imbedded free space is allocated at the time of DataSet definition. In the case of RRDS the slots for the records are preallocated and so the CI and CA split is not possible.
Q. Do primary Key values have to be unique? Do alternate Key values have to be unique?
A. Primary Key values must be unique; alternate Key values need not be.
Q. In the COBOL SELECT statement what is the ORGANIZATION for a KSDS?
A. The ORGANIZATION is INDEXED.
Q. In the COBOL SELECT statement for a KSDS what are the three possibilities for ACCESS? 
A. ACCESS can be SEQUENTIAL, RANDOM or DYNAMIC.
Q. What is the COBOL RECORD KEY clause?
A. The RECORD KEY in the SELECT clause identifies the files primary Key as it will be known to the program.
Q. What is the purpose of the FILE STATUS clause in the SELECT statement?
A. The FILE STATUS field identifies the field that VSAM uses to provide information about each I/O operation for the file.
Q. If you wish to use the REWRITE command how must the VSAM file be opened?
A. It must be opened I/O mode.
Q. Explain the meaning and syntax for the START command?
A. The START command is used to read other than the next VSAM record. A value must be moved into the RECORD KEY. The KEY clause is optional, but it can be used to specify  relational (equal, less than, etc.) operator.
Q. What is the meaning of dynamic processing?
A. It means one program uses both sequential and random processing for a VSAM KSDS file. It's rarely used.
Q. Name some common VSAM error conditions and codes?
A. They are end of file (10), duplicate Key (22), record not found (23), Out of space condition is raised (28) ,VSAM logic error (90), open problem (92) and space problem (93).
Q. What is the VSAM-code field?
A. It is a COBOL II enhancement to VSAM batch processing expanding the FILE STATUS field. It is defined in WORKING - STORAGE as a six byte group item with three two byte elements, the normal return code, the function code and the feedback code.
Q. What is a VSAM slot?
A. A relative record DataSet (RRDS) consists of a specified number of areas called slots. Each slot is identified by a relative record number (RRN) which indicates its relative position in the file.
Q. What is the utility program closely associated with VSAM?
A. IDCAMS, the access method services utility.
Q. There are at least seven IDCAMS commands; name and explain each of them?
A. ALTER modifies information for a catalog, alternate index, cluster or path.
BLDINDEX builds the alternate index, of course.
DEFINE is used for ALTERNATEINDEX, CLUSTER or PATH.
DELETE removes the catalog entry for a catalog, cluster, alternate index or path.
LISTCAT lists information about the DataSet.
PRINT prints the DataSet contents.
REPRO copies records from one file to another.
Q. What are the three levels of definition for the VSAM DEFINE?
A. They are DEFINE CLUSTER, DATA and INDEX.
Q. What is the significance of the SHAREOPTIONS parameter?
A. It specifies how the file may be shared between jobs and between batch and CICS environments.
Q. What is the meaning of the DEFINE MODEL parameter?
A. It specifies whether the MODEL parameter allows you to model your cluster by modelling it after an existing cluster.
Q. How do you fix the problem associated with VSAM out of space condition?
A. 1. Define new VSAM DataSet allocated with more space.
2. Use IDCAMS to REPRO the old VSAM file to new VSAM DataSet.
3. Use IDCAMS to ALTER / rename the old VSAM DataSet or set IDCAMS to DELETE the
old VSAM DataSet.
4. Use IDCAMS to ALTER / rename the new VSAM DataSet to the name of the original
VSAM DataSet.
Q. In how many ways can you load the data in a VSAM cluster?
A. 1. Using the REPRO command.
2. Using COBOL program
Q. What is the REPRO command?
A. While a new cluster is created using IDCAMS, cluster will be empty. By using the REPRO command, we can load records into the cluster.

REPRO is Used to :
• Copy DataSets (VSAM or NON-VSAM), copy catalogs.
• Convert sequential and index sequential DataSets to VSAM format
• Convert VSAM and Index sequential DataSets to sequential format
• Backup VSAM catalog
• Read a backup copy of VSAM catalog
Q. Is it slower if you access a record through ALTERNATIVE INDEX as compared to Primary INDEX?
A. YES. Because the alternate Key would first locate the primary Key, which in turn locates the actual record. Needs twice the number of I/Os.
Q. What is RECOVERY and SPEED parameters in DEFINE CLUSTER command?
A. RECOVERY (default) and SPEED are mutually exclusive. Recovery pre-formats the control areas during the initial DataSet load, if the job fails, you can restart but you must have a recovery routine already written to restart the job. SPEED does not pre-format the CAs. It is recommended that you specify SPEED to speed up your initial data load.
Q. What is a SHAREOPTIONS parameter (SHR) in Define Cluster command.
A. It defines the cross-region and cross-system sharing capabilities of the DataSet. Syntax is SHR
(CRvalue CSvalue)
1 means multiple read OR single write (read integrity)
2 means multiple read AND single write (Write integrity)
3 means Multiple read AND multiple write
4 is same as 3, which refreshes the buffer with every random access. Default is SHR (1 3).
Q. What are the optional parameters to the input DataSet While loading the empty cluster with the data records?
A. i)  Skip and Count

Syntax:
SKIP(2)
COUNT(4)
In this case, the first two records are skipped and the next four records are printed. The default for SKIP is 0, and for COUNT will be printing records from beginning to end.

ii) FromKey and ToKey

PRINT -
INDATASET (CUSTOMER.KSDS.CLUSTER) -
FROMKEY (111111) -
TOKEY (444444)
Will print all records with Key value ranging from 111111 to 444444.

iii) FROMADDRESS and TOADDRESS

iv) FROMNUMBER and TONUMBER
Q. What does GDG mean in VSAM?
A. Generation Data Group
Q. Is a delete operation possible in an ESDS? Is rewrite operation possible in ESDS ?
A. No. Delete operation is not possible in VSAM ESDS. Yes, rewrite operation is possible in an ESDS
Q. Can VSAM files be deleted with the DELETE option of the DISPOSITION parameter of JCL?
A. No, you have to give a separate DELETE command in the VSAM cluster.
Q. How many buffers are allocated to VSAM KSDS and ESDS?
A. 2 data buffers by default for ESDS. For KSDS it allots 2 data buffers and 1 index buffers. Each buffer is about 4k.
Q. What are the codes returned by the AMS (Access Method Services) command during the execution?
A. Every AMS command issues a condition code. If multiple commands are being executed successively, there might be a requirement to execute or bypass certain commands on the success or failure of a previous command.

0 - The function was executed successfully
4 - A problem was encountered while executing the function, WARNING
8 - The requested function was executed, but major specifies were unavoidably bypassed,
ERROR
12 - The requested command could not be performed because of a logical error, SEVERE
16 - A severe error occurred causing the remainder of the command stream to be
bypassed., FATAL.



Top 20 Interview Questions for VSAM Share
Share VSAM Interview Questions.


Thursday, 4 April 2019

IBM-CICS TOP 150 Interview Question and Answers 2019 | Best IBM-CICS Interview Questions for free.

Interview Question and Answers.
CICS TOP 150 Interview Question and Answers.

These CICS Interview Questions have been designed particularly to get you familiar with the nature of questions you may encounter during your interview for IT Job.


CICS Interview



Q.1   What happens to resources supplied to a transaction when an XCTL command is executed?
A        With an XCTL, the working storage and procedure division of the program issuing XCTL are released. The I/O areas, the GETMAIN areas and the chained Linkage Section areas (Commarea from a higher level) remain. All existing locks and queues also remain in effect. With a LINK, however program storage is also saved, since the transaction expects to return and use it again.

Q.2      What CICS command do you need to obtain the user logon-id?
A          You must code EXEC CICS ASSIGN with OPERID option.

Q.3      What is a resident program?
A         A program or map loaded into the CICS nucleus so that it is kept permanently in main storage and not deleted when CICS goes "short on storage."

Q.4      What is some of the information available in the EIB area?
A          The cursor position in the map are :
·                  Transaction id
·                  Terminal id
·                  Task number
·                  Length of the communication area
·                  Current date and time
·                  Attention identifier

Q.5      What information can be obtained from the EIBRCODE?
A     The EIBRCODE tells the application program if the last CICS command was executed successfully and if not, why not.

Q.6      What is the effect of including the TRANSID in the EXEC CICS RETURN command?
A          Next time the end user presses an attention key, CICS will start the transaction specified in the TRANSID option.

Q.7      What is the function of the EXEC CICS HANDLE CONDITION command?
A       To specify the paragraph or program label to which control is to be passed if the "handled condition" occurs.

Q.8      How many conditions can you include in a single HANDLE CONDITION command?
A          No more than 16 in a single handle condition. If you need more, then you must code another HANDLE CONDITION command.

Q.9      What is the EXEC CICS HANDLE ABEND?
A       It allows the establishing of an exit so cleanup processing can be done in the event of abnormal task termination.
  
Q.10    What is the difference between an EXEC CICS HANDLE CONDITION and an EXEC CICS IGNORE command?
A          A HANDLE CONDITION command creates a "go-to” environment. An IGNORE command does not create a go-to environment; instead it gives control back to the next sequential instruction following the command causing condition. They are opposites.

Q.11    What happens when a CICS command contains the NOHANDLE option?
A          No action is going to be taken for any exceptional condition occurring during the execution of this command.  The abnormal condition that occurred will be ignored even if an EXEC CICS HANDLE condition exists.  It has the same effect as EXEC CICS IGNORE condition except that it will not cancel the previous HANDLE CONDITION for any other command.

Q.12    What happens when a CICS command contains the RESP option?
A.         No action is going to be taken for any exceptional condition occurring during the execution of this command. When an abnormal condition occurs, the CICS response code is a field in the program work area and can be checked later (usually at the next sequential instruction).

Q.13    Suppose that an application program uses the HANDLE AID ENTER (main-logic) and the HANDLE CONDITION ERROR(abort-rtn) command. If the program issued a RECEIVE MAP and a MAPFAIL condition occurred, which process will take control : main-logic or abort-rtn?
A          Main-logic will receive control because Handle Aid has priority over Handle Condition.

Q.13    When the task suspends all handle conditions via. the PUSH command, how does the task re-activate all the handle conditions?
A          By coding an EXEC CICS POP HANDLE command.

Q.14    What is the difference between the INTO and the SET option in EXEC CICS RECEIVE MAP commands?
A          The INTO option moves information in the TIOA into the reserved specified area, while the SET option simply returns the address of TIOA to the specified BLL cell or "address-of" a linkage section.

Q.15    Define the function of Basic Mapping System (BMS).
A          BMS allows the application to be device-independent. It translates the formatted data stream, thus enabling the application to reference data by symbolic labels.

Q.16    Suppose you have a field in a map named ACCTID and you want it bright. Explain how can you do this during the execution of application?
A          By moving either DHFBMBRY to the ACCTIDA field in symbolic map (bright only) or DFHBMASB to the ACCTIDA field in the symbolic map (askip bright).


Q.17    What are the three ways available for a program to position the cursor on the screen ?
A          1. Static positioning. Code the insert cursor (IC) in the DHFMDF BMS macro.
2. Relative positioning. Code the CURSOR option with a value relative to zero (position 1,1 is zero).
3. Symbolic positioning. Move high values or -1 to the field length in the symbolic map (and code CURSOR on the SEND command).

Q.18    Reducing the data traffic is a very important factor in an on-line environment. Explain the difference between the MAPONLY and DATAONLY options in the EXEC CICS SEND MAP.
A          A vast majority of the maps are defined as input/output. Therefore, to reduce data transmission first time a map is sent, you should use MAPONLY because this will set up the initial template on screen. After that the application needs to be sent only variable data in the symbolic map (DATAONLY).

Q.19    What is the Modified Data Tag (MDT)?
A          The MDT is a 1-bit attribute character of a BMS field. When it is set on, CICS will transmit the data contained in the associated map field.

Q.20    Name three ways the Modified Data Tag can be set on?
A:         The Modified Data Tag can be set on :
1. When the user enters data into the field
2. When the application program moves the DFHBMSFSE to the attribute character
3. By defining it in the BMS macro definition

Q.21    How do you specify in your program which fields are not to be sent to a map (terminal)?
A          By filling the fields with low values.

Q.22    What happens if neither MAPONLY nor DATAONLY are specified?
A          The data from the physical map and the data from the symbolic map are merged, causing an increase in the data transmission.

Q.23    What is a mapset?
A          A mapset is a collection of BMS maps link-edited together.

Q.24    What is the function of the DFHMDF BMS macro?
A          The DFHMBF macro defines fields, literal and characteristics of a field.

Q.25    The DFHMDF is a subset (a subdivision) of which BMS macro?
A          DFHMDF is a BMS macro that is a part of the DHFMDI macro.

Q.26    What is the function of Terminal Control Table (TCT)?
A          The TCT defines the characteristics of each terminal with which CICS can communicate.


Q.27    When an application program issues an EXEC CICS RECEIVE MAP command and there is no data sent back to the application program, what exceptional condition will occur?
A          A MAPFAIL condition will occur.

Q.28    What does it mean when EIBCALEN is equal to zeros?
A          When the length of communication area (EIBCALEN) is equal to zeros, it means that no data was passed to the application.

Q.30    Which CICS system program is responsible for handling automatic task initialization?
A:         The Transient Data Program(TDP).

Q.31    What are the differences between a Temporary Storage Queue (TSQ) and Transient Data Queue (TDQ)?
A         The differences between a Temporary Storage Queue (TSQ) and Transient Data Queue (TDQ) are :
·                  Temporary Storage Queue name are dynamically defined in the application program, while Temporary Data Queues must first be defined in the DCT (Destination Control Table).
·                  When a TDQ contains a certain amount of records (trigger level), a CICS transaction can be started automatically. This does not happen when using a TSQ.
·                  TDQ (extrapartition) may be used by batch by batch application; TSQ cannot be accessed in-batch. The Transient Data Queue is actually a QSAM file.
·                  You may update an existing item in a TSQ. A record in a TDQ cannot be updated.
·                  Records in TSQ can be read randomly. The TDQ can be read only sequentially.
·                  Records in Temporary Storage can be read more than once, while records stored in Temporary Data Queues cannot. With TDQs it is “one read” only.

Q.32   What will happen if a task issues an EXEC CICS DELETEQ TD against an Extrapartition Transient Data Queue?
A       An invalid request exceptional condition will occur. The default action is that the task will be terminated.

Q.33   In an in-line environment, how can you prevent more than one user from accessing the same Transient Data Queue at the same time?
A       By issuing an EXEC CICS ENQ against the resource. When processing is completed a DEQ should be executed.

 Q.34  What are the eight steps for a CICS program development?
Get the complete specification
Get related sourcebooks and subprograms
Design the program
Update the CICS Tables
Code and compile the map definition
Code the program
Compile the program
Test the program.  

Q.35 What is a PPT and how it is used?

A PPT contains a valid list of program names and it also indicates the storage address if the program has already been loaded.  CICS uses PPT to determine whether it will load a new copy of the program if the program is invoked.

Q.36  Have you ever heard of SNT in CICS Processing?
          Yes, it contains the names of all valid users of the system.

Q.37    What is the use of DFHCOMMAREA and where it is located?
            It helps to transfer data between two transactions and it is located in the LINKAGE 
            SECTION.

Q.38    Are you familiar with CEMT and CSMT functions?  What do these transactions do 
            for  you?
            These are normally supervisory functions, where they can be used to cancel tasks running 
            at a different terminal.  CSMT is used to update PPT.  But I never had much chance to 
            use them.

Q.39  What transaction will you use to debug a CICS Program?
            CEDF, which means CICS Execution Diagnostic facility.

Q.40    What XCTL and LINK command is used for?
            XCTL command transfers control to another program without setting up a return mechanism 
            whereas the LINK command transfers control to next logical lower level with a return 
            mechanism

Q.41    Why the EXEC CICS HANDLE command is used?
It is used to specify what action the program needs to take when certain exceptional conditions occur.

Q.44    Is there any way of releasing a resource previously enqueued by a task other than by issuing an EXEC CICS DEQ command?
A:      You can issue a SYNCPOINT command.  You can also RETURN control to CICS, as CICS automatically release a resource when a task is terminated.

Q.45    When an application is invoked via. the EXEC CICS START command with the FROM option, how does the application gain access to the common area?
A          An EXEC CICS RETRIEVE command will access the common area.

Q.46    What happens when an EXEC CICS SYNCPOINT is issued?
A          The Logical Unit of Work (LUW) is terminated. Everything on the Deferred Work Element (DWE) chain is cleaned up. If Dynamic Transaction Backout (DTB) is on, everything is committed. GETMAIN areas are freed. File locks are released. I/O areas and linkage sections are released.  Browses are terminated. Working storage is not affected.

Q.47    What is a Logical Unit of Work?
A:         A Logical Unit of Work is all the processing that takes place between two "sync points."

Q.48    The DFHCOMMAREA is used to pass information from one application to another.  What are some other ways that this  function can be accomplished?
A          You can also pass information in the following ways :
·                  By using a Temporary Storage Queue
·                  By using an intrapartition TDQ
·                  By using the Task Work Area
·                  By using TCTUA
·                  Through a file

Q.49    How do you define a Task Work Area?
A.         By defining it in on the PCT (the Program Control Table).

Q.50    What is stored in the Temporary Storage Table?
A          The TST contains the names of Temporary Storage Queues that are to be recovered in the event of an abend.

Q.51    What information do you get when an EXEC ASSIGN STARTCODE is issued?
A:         You will be able to determine if the application was started by :
·                  a transient data trigger level (QD)
·                  a START command (S,SD)
·                  user (U) or terminal input (TD)
·                  Distributed Program Link (D, DS)

Q.52    Which CICS command must be issued by the application in order to gain access to the Common Work Area (CWA)?
A          EXEC CICS ADDRESS with CWA option.
  
Q.53    In which CICS table would you specify the length of TASK WORK AREA (TWA)?
A          In the Program Control Table (PCT).

Q.54    Explain the function performed by the Program Control Table (PCT)?
A          The PCT defines relationship between a transaction and an application program.

Q.55    When a data table is loaded into memory using the EXEC LOAD command, how does the application program free that memory when the table is no longer needed?
A          By coding an EXEC CICS RELEASE command with the program option.

Q.56    What is the function of HOLD option in the EXEC CICS LOAD command?
A          When a program is loaded from the CICS DFHRPL concatenation library (into main storage), the HOLD option will result in the program remaining in memory after the task terminates.  When this option is not specified, main storage is automatically released by CICS.

Q.57    Explain the function of the File Control Program (FCP)?
A.         The FCP provides the application program with the ability to read, browse, add, delete, and update records in a file defined in the FCT.

Q.58    What is the function of File Control Table?
A          It defines the file and contains characteristics of the dataset.

Q.59    If an application has a VSAM/KSDS file READ command with the update option and it finds that the update is no longer required, how does the application release the exclusive control of the record read?
A          By executing an EXEC CICS UNLOCK command with the File or Dataset option. A SYNCPOINT will also release the exclusive control.

Q.60    What is a deadlock?
A          Deadlock (also known as a "deadly embrace") occurs when a task is waiting for a resource held by another task which in turn is waiting for a resource held by the first task.

Q.61    Which CICS program is responsible for the management of DSA (the Dynamic Storage Area)?
A          The storage Control Program (SCP).

Q.62    What happens when an application issues an EXEC CICS GETMAIN command to obtain main storage and SHARED option is specified?
A:         There is no automatic release of the obtained storage at the end of task which requested it.

Q.63    How can an application release main storage acquired by an EXEC CICS GETMAIN command?
A          By coding an EXEC CICS FREEMAIN command with the data. SYNCPOINT will also release the storage area.


Q.64    What is the function of the REQID in the EXEC CICS STARTBR command?
A          When you have multiple browse operations at the same time on the same file, the REQID must be coded on the READ Next/Prev command to distinguish one browse from the other.

Q.65    Which CICS command must the application program issue to terminate a browse?
A          An EXEC CICS ENDR command. SYNCPOINT also ends the browse.

Q.66    What is the function of the EXEC CICS RESETBR Command?
A          To reposition the browse (with VSAM files this can be done just by altering the RIDFLD) and to change the characteristics specified on the STARTBR command without ending the browse.

Q.67    When debugging a CICS application, why would you use the CEBR command?
A          To view the contents of the TSQ or TDQ.

Q.68    Mention some of the most common operations you can perform with the CEMT CICS transaction?
A          Create a new copy of an application program           CEMT S PR(prgname) NEW
Close a file from CICS                                                CEMT S DA(filename) CLO UNE
Disable a transaction                                                  CEMT S TRANS(transid) Dis

Q.69    What is the function of the CEDA transaction?
A          It is used to perform the Resource Definition on-line operation (RDO). It adds, deletes, and changes table entries.

Q.70    What CICS command does the application have to issue to update an existing record in a VSAM/KSDS file?
A          The EXEC CICS REWRITE command.

Q.71    What CICS command does the application have to issue to update an existing record in a TS queue?
A          The EXEC CICS WRITE command with the rewrite option and the item number.

Q.72    What is the purpose of CICS BIF DEEDIT?
A.         To remove all characters other than digits from an alphanumeric field. Remaining digits will be right-justified and padded with zeros as necessary.

Q.73    What is the Base Locator for Linkage (BLL) used for?
A          The BLL is used to address storage outside the working-storage section of the application program. A set of BLL cells is also known as the parameter list. It is not used (explicitly) in COBOI II, although the BLL cells can be found in the TGT of a COBOL II program.

Q.74    Explain the term "transaction routing".
A          Transaction routing is a CICS "mode" of intercommunication which allows a terminal connected to local CICS to execute another transaction owned by a remote CICS.


Q.75    Explain the term "function request shipping".
A          Function request shipping is one of the CICS modes of intercommunication which allows an application program in a local CICS to access resources owned by a remote CICS.

Q.76    Explain the term "MRO" (Multi-Region Operation)?
A:         MRO is the mechanism by which different CICS address spaces within the same CPU can communicate and share resources.

Q.77    If, when executing a "READ INTO" command, the length of actual (variable) length record exceeds the length specified in LENGTH option, what will happen (if anything)?
A          You will get a LENGERR.

Q.78    When a second READ WITH UPDATE is given against the same file in the stripe task prior to releasing the file, what will happen?
A          An INVREQ will take place.

Q.79    How could you prevent such an error?
A          After the first read and prior to the second read you could :
             Execute a REWRITE
             Execute a SYNCPOINT

Q.80    Name one condition that would result in the inability to execute a backward browse?
A          If you issue a STARTBR with a generic key, a backward browse will not work.

Q.81    Name one condition that would result in the inability to execute a backward browse?
A          If you issue a STARTBR with a generic key, a backward browse will not work.

Q.82    You have duplicate keys and you have loaded an alternate index into RIDFLD. What would happen if you issued a READNEXT after switching from a direct retrieval read?
A          You would get the same record twice.

Q.83    You are doing a mass delete using a generic key. What could you do to determine the number of records that have been deleted?
A          You would use the NUMREC (data area) option with the generic key. Upon completion of the mass delete, the data area would contain a count of the number of records that were deleted.

Q.84    How should the data area used with the NUMREC option be defined?
A          S9(4) COMP.

Q.85    Which command will terminate a VSAM mass insert operation?
A          An UNLOCK command.
  
Q.86    Which command(s) will deblock DAM files?
A          DEBKEY will deblock by key.  DEBREC will deblock by relative record number.

Q.87    What could cause you to get an INVREQ when building a logical message to a screen?
A          You have changed the disposition specified while building a logical message.

Q.88    What could cause you to get a MAPFAIL when issuing a RECEIVE MAP command?
A          You would get a MAPFAIL if no data was transferred from the screen.

Q.89    What command would you issue if you wanted to discontinue building a logical message?
A          You would issue a PURGE MESSAGE command.

Q.90    Can you intermix a SEND TEXT and a SEND MAP when building portions of a logical message?
A          No, you cannot intermix these two commands.

Q.91    How do you release page buffers?
A          By issuing a FREEMAIN command.

Q.91    What do you have to do to determine if data was sent (from a screen) from a specific (single) field?
A          You have to check the MDT for that field.

Q.92    Which command would you issue to get data in a task that was started by a START command?
A          You would issue a RETRIEVE command.

Q.93    What would happen if you issued a READNEXT TS command and there were no more data in the queue?
A          You would get an ITEMERR.

Q.94    You have a DL/I file and you want to issue a READPREV. Will it work correctly?
A          You can issue a READPREV only against a VSAM file.

Q.95    Can you issue a BROWSE command in a CICS program that is pseudo conversational?
A          Yes, but the BROWSE will terminate at the end of each task in the session, it will not carry over.

Q.96    What are the two ways to "set up” a browse starting with the first record in the file?
A          You can :
·                  Set the complete key equal to hex zeros (the default option is GTEQ).
·                  You can specify KEYLENGTH(0) and GENERIC options.

Q.97    In a VSAM file, when you want to do a mass delete, the file has to be unprotected. How can you specify to the system that a file is unprotected?
A          In the FCT you set LOG = NO.

Q.98    When you are sending your first data screen to the terminal, it is recommended that you specify the ERASE option.  Why?
A          If you do not include the ERASE option, the screen size will be the same as the previous screen size setting ... and this may not be correct. There may also be material on the screen which would remain if not overlaid by fields of your map.

Q.99    Which key, if depressed by the terminal operator, will set the screen size to its default size?
A          The CLEAR key.

Q.100  Does a HANDLE CONDITION command take precedence over a HANDLE AID command?
A          No, the HANDLE AID takes precedence.

Q.101  What does the BMS ROUTE command do?
A          The ROUT E command initiates the building of a logical message that will be scheduled for delivery to one or more terminals.

Q.102  What has happened if you abend with an “APCT"?
A          The program tried to execute a program that was either :
·                  Not defined in the PPT or active RDO group
·                  Disabled

Q.103  What does the ERASEUP command do?
A          The ERASEUP command includes :
·                  Clears all MDTs
·                  Unlocks the keyboard
·                  Erases all unprotected fields
·                  Positions the cursor at the first unprotected field

Q.104  What will happen if you issue an XCTL or a LINK and the called program cannot be found?
A:         You will get a PGMIDERR.

Q.105  What happens to the exception (HANDLE CONDITION, HANDLE ABEND, HANDLE AID) condition settings in a called routine once control has been transferred to the called routine?
A          Once you are in the called routine, all condition settings are deactivated.




Technical interview questions
Share Latest Interview Questions and Answers.

New In-feed ads