Sunday, July 1, 2012

JCL Interview Questions 6


What are S0C1, S0C4, S0C5, S0C7 ABENDs??
S0C1 (Operation Exception Error) - May be due to 

Missing or misspelled DD name 
Read/Write to unopened dataset 
Reading a dataset opened output mode
Writing into a dataset opened input mode
Called subprogram not found

S0C4 may be due to 
Missing Select statement (during compile) 
Bad Subscript/index 
Protection Exception 
Missing parameters on called subprogram 
Read/Write to unopened file 
Move data from/to unopened file;

S0C5 May be due to 
Bad Subscript/index 
Close an unopened dataset 
Bad exit from a perform 
Access to I/O area (FD) before read;

S0C7 may be due to 
Numeric operation on non-numeric data 
Un-initialized working storage 
Coding past the maximum allowed subscript

S0CB might be due to 
Division by Zero 

Why do you use a CONTROL CARD? 
A: A CONTROL CARD can be a member of a PDS or a sequential dataset and is used for storing the date fields, definitions of VSAM files etc., 
We use CONTROL CARD because we cannot use an in-stream procedure in a procedure. Generally you will be calling a PROC from your JCL and you cannot code instream procedure in the PROC and so you will point to the dataset, which is called controlcard. 

How do you submit JCL via a Cobol program?
In your JCL define as: //JOBA JOB 1111,JOB1 //STEP01 EXEC PGM=PROG1 //ddname DD SYSOUT=(*,INTRDR)....and your COBOL (PROG1) should look like this: SELECT JCL-FILE ASSIGN TO ddname. Open this file and write the JCL statements into this file. Example: MOVE '//TESTJOB JOB 1111,VISVEISH' TO JCL-REC.MOVE '//STEP01 EXEC PGM=IEFBR14' TO JCL-REC.and close this file. Then TESTJOB will be submitted. 

How do you submit a JCL under CICS environment?
Pass all the JCL codes to a COBOL variable (should be declared using OCCURS clause) and then write the line one by one to the spool using CICS commands like SPOOLClose, SPOOLOpen and SPOOLWrite. For more help refer CECI of CICS or CICS manual. 

What is the parameter to be passed in the job card for the unlimited time, irrespective of the job class
TIME=1440 

Define COND parameter in JCL?
COND is a condition parameter, consists of 2 subparameters, 1st - return code from the previous step, 2nd - condition. If COND is true, the step on which COND is coded will be BYPASSED. It is compared with system return code of previous step //STEP1 EXEC PGM=ABCD //STEP2 EXEC PGM=XYZ, cond=(4,lt) STEP 2 will be executed when system return code of step1 is less than 4. 

What is meant by S0C-07 system ABEND codes
S0C7 - Data exception error - you will get it whenever you are trying to move the low values or spaces into the numeric field, or compare the numeric fields with low values, or try to do some arithmetic operations on the low values. To avoid this you have to always initialize the numeric fields otherwise they will contain the low values. 

How to pass the temp dataset form one JOB step to another?
By specifying the DISP as PASS for the temp dataset 

Write a JCL to execute a Job by 7:00 AM on Jan 20,1986?
The code is: //*MAIN DEADLINE=(0700,B,012086) 

How many types of libraries are there in JCL?
Libraries are of three types: System Libraries:- such as SYS1.LINKLIB Private Libraries:- Specified in a JOBLIB or STEPLIB DD STATEMENTS. Temporary Libraries:- Created in a previous step of the Job. 

What do you mean by INCLUDE statement in JCL?
An INCLUDE statement identifies a member of a PDS that contains this set of JCL statements is called an INCLUDE group. The system replaces the INCLUDE statement with the statements in the INCLUDE group. 

What are the Maximum number of In-stream procedures you can code in any JCL?
15. 

What you mean by skeleton JCL?
JCL, which changes during run time,that is the values for the JCL such as program name, dd name will change. The same JCL can be used for various jobs, equivalent to dynamic SQL; 

What is JCL
It is an interface between operating system (MVS) & the application program. When two related programs are combined together on control statements, it is called job control language 

What is the maximum blocksize for a Tape file?
It is 32,760. Based on that we can calculate efficient number of Records in a Block 

What are the basic JCL Statements for a Job?
The basic JCL statements for any job are: 
JOB : Identifies a job and supplies accounting info 
EXEC : Identifies a job step by indicating the name of the program to be executed. 
DD : Identifies a data set to be allocated for the job step Delimiter (/*) : Marks the end of an in-stream dataset Null (//) : Marks the end of a job Comments (//*) : Provides Comments 
PROC : Marks the beginning of a procedure 
PEND : Marks the end of a procedure 
OUTPUT : Supplies options for SYSOUT processing. 

What does the statements: TYPRUN=SCAN and TYPRUN=HOLD do in a JCL statement?
TYPRUN= SCAN checks the JCL for errors, TYPRUN= HOLD holds the job until further notice.

Sunday, May 27, 2012

JCL Interview Questions 5

What are all the JCL statements used in JCL? & What are the JCL statements you have coded so far?
//JOB marks the beginning of a job, contains job information //EXEC marks the beginning of a job step, identifies program, cataloged procedure to be executed //DD (data definition), identifies a data set and its attributes //OUTPUT (specifies processing options for system output(sysout) data sets) //(null) (end of job) /* (end of data placed in input stream) //PROC (procedure) //PEND (procedure end) //* (comment)

What is the difference between the positional parameters & keyword parameters, give examples where they are used?
Positional Parameters are:- a).Sequence predetermined b) Parameters separated by commas c) Omitted parameters must be indicated by two consecutive commas. d) Installation dependent EX: //JOBNAME JOB (DIS, TRG.TRGGLO.NL.BATCH), ‘PGM1) //SETP01 EXEC PGM=MYPROG Keyword parameters are Predetermined words are referred to as key word Parameters. Any sequence is permitted, separated by commas. Follow positional parameters. Format is = EX: //JOBNAME JOB (DIS, TRG, N1, BATCH), MSGLEVEL=(1,1), // MSGCLASS=X, NOTIFY=QZ6P03T, TYPRUN=SCAN

What are the operands coded in a JOB statement?
All the Positional and Key word parameters in the JOB statement. Accounting Information, MSGCLASS, CLASS, MSGLEVEL, NOTIFY, USERID, PASSWD, COND, REGION, RESTART.

How many characters can be coded for a job name? What were you coding as a job name?
8 Characters, Usually JOBNAME will be like User-id + 1 Char

What is the difference between the Comment statement and the Comments?How they were coded in a JCL?
//* is the comment statement and it starts from column number 1 Anything that is written after 71st column is taken as a comment.

How will you check the syntax of the JOB without executing it?
Can use JSCAN.Code TYPRUN=SCAN and submit the JCL for syntactical errors.

What are all the parameters needed in a DD statement to create a data set thru JCL? How a Partitioned data set is created thru JCL?
DISP (Disposition): The DISP parameter describes the status of a data set to the system, what is to be done with the data set at the end of the job step, and what to do with the data set if the step terminates abnormally DCB (Data control black) : DCB=(LRECL=NN, BLKZIZE=YY,RECFM=Z,DSORG=MM) Z can be F, FB, V, VB MM Can be PS (physical sequence) PO (partitioned) DSN (Data set name) : UNIT : Identifies device of data set Space :

How is the Catalog procedure called from a JCL, if it is lying in your own data sets ?
STEP1 EXEC PROC=PROC1 The library in which PROC1 is present should be mentioned in PROCLIB.

What is the difference between the In-stream Procedure & Catalog Procedure?
In-stream Procedures begin with a PROC stmt and must be terminated by a PEND stmt. (PEND can also be coded for a cataloged Procedure, but it isn’t required) The PEND stmt coded as : //Option-name PEND comments.
The In-stream Procedure is placed following the JOB statement of the JOB. Up to 15 In-stream Procedures can be included in a single job. Each In-stream Procedure may be invoked several times with in the job. //QZ5P13TD JOB (18636), ‘HARISH’, CLASS=A //RUN PROC.
In-stream procedure starts from here //GO EXEC PGM=ONE //SYSOUT DD SYSOUT=A //PEND //STEP1 EXEC RUN procedure is used like .. A set of JCL stmt’s consisting of a PROC stmt and one or more EXEC and DD stmt (steps), which is placed in a procedure library. It executed by an EXEC (procedure) stmt in another data set (called the execution JCL). Advantages : Saves time, prevents errors.

What is the Symbolic parameter?What for it is needed? Where it is most commonly used?
Any parameter that can vary with each execution is a good candidate for definition of a symbolic parameter. Use of symbolic parameter make the procedure more flexible. This prevents the procedure to be modified each and every time a small and recurring change is needed at a place. //DD1 DD DSNAME=&SYSUID..PROFILE,DISP=(NEW,KEEP),

Can you explain the DISP Parameter in detail? What are the default DISP Parameters?
a. Current Status NEW – Default OLD – exclusive SHR – Simultaneously MOD – b. Normal Disposition KEEP – Default if DISP = SHR, OLD, MOD DELETE – Default if DISP = NEW CATLG c. Abnormal Termination – same as Normal Disposition

What is the difference between the Refer-back & Overriding parameters?How are they coded in a JCL?
Refer back option is a reference to an earlier DD statement in the job or in cataloged or in in-stream procedure called by a job step. KEYWORD = reference. //JOB1 JOB .. //STEPA EXEC .. //DD1 DD DSN=REPORT ... // DD4 DD DSN=*.DD1 //JOB2 JOB .. //SETP1 EXEC .. //DDA DD DSN=D578.POL.PUBS01 .. //STEP2 EXEC .. //DDB DD DSN=*.STEP1.DDA Over riding parameters.
In an In-stream or Cataloged procedures, the DD names mentioned in the JCL will override the ones in the procedures. //JOB1 JOB .. //STEPA EXEC PROC1 //PS1.DD1 DD DSN=SAMPLE.PUB,DISP=SHR //PS2.DD2 DD DSN=SAMPLE.PUB1,DISP=SHR Proc PROC1 contains... //PS1 EXEC PGM=ABC //* //DD1 DD DSN=DUMMY //SYSOUT DD SYSOUT=* // //PS2 EXEC PGM=DEF //* //DD1 DD DSN=SAMP.PROG.DATA,DISP=SHR //DD2 DD DSN=SAMP.PROG.DATA1,DISP=SHR // SYSOUT DD SYSOUT=*

How do you pass parameters to a program coded in an EXEC statement?
Through PARM Clause coded on the EXEC statement. The parameters have to be defined in the Linkage Section of COBOL program.

What is a GDG?< How will you create a GDG? Can a GDG be used for Partitioned Data sets ?
A GDG is Generation Data Group. GDG’S allow users to create multiple data sets with the same base name distinguished by a logical number. History files can be referenced by using a negative generation number.
GDG base can be created using a utility (IEBPROGM or IDCAMS) With (+1) we will be creating. EX: //OUTDD DD DSN=QZ6P03T.ARUN.MASTER(+1) (Create new data set) //INDD DD DSN=QZ6P03T.ARUN.MASTER(+0) (Reference most current data set). Yes - GDG can be sequential, direct, or partitioned Organization and can be reside on tape or direct-access volumes GDG must always be cataloged

What are the parameters used in creating a GDG? Explain in detail? Can you alter the parameters for the existing GDG?If yes, How?
Creating a Model Data Set Label (or control block, DSCB) This label is a data set which contains DCB attributes and is usually referred to in the DCB parameter when creating new GDG data sets. Most shops create the model DSCB with no DCB attributes.

What for the Model data set used for a GDG? How much space will you give to the Model Data set ?
The system needs an existing data set to serve as a model supplying the DCB parameters for the GDG to you want to create. The system uses the data set label to obtain the DCB sub-parameters, and the model is called the DSCB for reasons lost to history. Need not specify any space while creating a model data set.

How many Maximum generations can be created for a GDG?> How will you create a Generation data set ?
The maximum number of GDG versions that can be created is 255. A GDG data set is created with “(+1)” appended to the name of the GDG base.

What is the E37 error?How will you resolve it with out losing a single byte of data?
(Hint: This Error comes when you save the data set after editing it) Insufficient Space.

What is SOC7 abend ?How do you resolve it?
Data Exception. Eliminate the bad data by debugging the program.

JCL Interview Questions 4


What are the kinds of job control statements?
The JOB, EXEC and DD statement

What is the meaning of keyword in JCL?What is its opposite?
A keyword in a JCL statement may appear in different places and is recognized by its name, eg MSGCLASS in the JOB statement The opposite is positional words, where their meaning is based on their position in the statement, eg in the DISP keyword the =(NEW,CATLG,DELETE) meaning are based on first, second and third position.

Describe the JOB statement, its meaning, syntax and significant keywords.?
The JOB statement is the first in a JCL stream Its format is // jobname, keyword JOB, accounting information in brackets and keywords, MSGCLASS, MSGLEVEL, NOTIFIY, CLASS, etc .

Describe the EXEC statement, its meaning, syntax and keywords.?
The EXEC statement identifies the program to be executed via a PGM=program name keyword Its format is //jobname EXEC PGM=program name The PARM= keyword can be used to pass external values to the executing program.

Describe the DD statement, its meaning, syntax and keywords.?
The DD statement links the external Data Set name (DSN) to the DDNAME coded within the executing program It links the File names within the program code to the File names know to the MVS operating system The syntax is // ddname DD DSN=Data Set name Other keywords after DSN are DISP, DCB, SPACE, etc .

What is a PROC?What is the difference between an instream and a catalogued PROC?
PROC stands for procedure It is 'canned' JCL invoked by a PROC statement An instream PROC is presented within the JCL; a catalogued PROC is referenced from a proclib partitioned Data Set.

What is the difference between a symbolic and an override in executing a PROC?
A symbolic is a PROC placeholder; the value for the symbolic is supplied when the PROC is invoked, eg &symbol=value An override replaces the PROC's statement with another one; it substitutes for the entire statement

What is RESTART? How is it invoked?
A RESTART is a JOB statement keyword It is used to restart the job at a specified s step rather than at the beginning

What is a GDG? How is it referenced?How is it defined? What is a MODELDSCB?
GDG stands for generation data group It is a Data Set with versions that can be referenced absolutely or relatively It is defined by an IDCAMS define generation datagroup execution

Explain concatenating Data Sets ?
Data Sets can be grouped in a DD statement one after another, eg in a JOBLIB statement where the load module can exist in one of many Data Sets.

What is the difference between specifying DISP=OLD and DISP=SHR for a Data Set?
A DISP=OLD denotes exclusive control of the Data Set; DISP=SHR means there is no exclusivity .

What is MOD and when would you use it?
DISP=MOD is used when the Data Set can be extended, ie, you can add records at the end of an existing Data Set

What are the keywords associated with DCB? How can you specify DCB information? What is the OS precedence for obtaining that DCB information, ie where does the system look for it first?
The keywords associated with the DCB parameter are LRECL, RECFM, BLKSIZE and DSORG The DCB information can be supplied in the DD statement The system looks for DCB information in the program code first

How do you designate a comment in JCL?
The comment statement is //* followed by the comments.

What is the meaning of the EXEC statement keyword, COND? What is its syntax?
COND specifies the conditions for executing the subsequent job step The value after the COND= is compared to the return codes of the preceding steps and if the comparison is true, the step is bypassed (If this answer confuses you, welcome to the club - memorize it and don't ask questions!).

What is the improvement to COND= in the latest version of MVS?
MVS now allows for an IF bracketed by an END IF around any job step to replace the COND= syntax Again, if the IF statement is true, the step is bypassed.

What is the purpose of the PARM keyword in the EXEC statement?
The value after the PARM= specifies control information to be passed to the executing program of the job step

What is the purpose and meaning of the REGION keyword and what JCL statement is it associated with?
REGION specifies the maximum CPU memory allocated for a particular job or job step If REGION is in the JOB card, it relates to the entire job; if in the EXEC statement, it relates to the job step .

What is the purpose and meaning of the TIME keyword and what JCL statement is it associated with?
TIME specifies the maximum CPU time allocated for a particular job or job step If TIME is in the JOB card, it relates to the entire job; if in the EXEC statement, it relates to the job step.

What is the meaning of data definition name (DD name) and Data Set name (DSN name) in the DD statement?
Data definition name is the eight character designation after the // of the DD statement It matches the internal name specified in the steps executing program In COBOL that's the name specified after the ASSIGN in the SELECT ASSIGN statement Data Set name is the operating system (MVS) name for the File

How is the keyword DUMMY used in JCL?
For an output File DUMMY specifies that the output is to be discarded For input it specifies that the File is empty.

What does the keyword DCB mean and what are some of the keywords ?
Associated IT DCB stands for data control block; it is a keyword for the DD statement used to describe Data Sets Keywords associated with it are BLKSIZE, DEN, LRECL and RECFM.

What is the difference between BLKSIZE and LRECL?
BLKSIZE specifies the number of bytes

JCL Interview Questions 3

Why do you want to specify the REGION parameter in a JCL step?
To override the REGION defined at the JOB card level REGION specifies the max region size REGION=0K or 0M or omitting REGION means no limit will be applied

What does the TIME parameter signify ? What does TIME=1440 mean ?
TIME parameter can be used to overcome S322 abends for programs that genuinely need more CPU time TIME=1440 means no CPU time limit is to be applied to this step

What is COND=EVEN ?
Means execute this step even if any of the previous steps, terminated abnormally

What is COND=ONLY ?
Means execute this step only if any of the previous steps, terminated abnormally

How do you check the syntax of a JCL without running it?
TYPERUN=SCAN on the JOB card or use JSCAN

What does IEBGENER do?
Used to copy one SAM File to another Source Data Set should be described using SYSUT1 ddname Destination Data Set should be decribed using SYSUT2 IEBGENR can also do some reformatting of data by supplying control cards via SYSIN

How do you send the output of a COBOL program to a member of a PDS?
Code the DSN as pds(member) with a DISP of SHR The DISP applies to the pds and not to a specific member

I have multiple jobs ( JCLs with several JOB cards ) in a member What happens if I submit it?
Multiple jobs are submitted (as many jobs as the number of JOB cards)

I have a COBOL program that ACCEPT some input data How do you code the JCL statement for this? ( How do you code instream data in a JCL?
//SYSIN DD* input data input data /*

Can you code instream data in a PROC ?
No

How do you overcome this limitation ?
One way is to code SYSIN DD DUMMY in the PROC, and then override this from the JCL with instream data

How do you run a COBOL batch program from a JCL? How do you run a COBOL/DB2 program?
To run a non DB2 program, //STEP001 EXEC PGM=MYPROG To run a DB2 program, //STEP001 EXEC PGM=IKJEFT01 //SYSTSIN DD * DSN SYSTEM() RUN PROGRAM(MYPROG) PLAN() LIB() PARMS() /*

What is STEPLIB, JOBLIB? What is it used for?
Specifies that the private library (or libraries) specified should be searched before the default system libraries in order to locate a program to be executed STEPLIB applies only to the particular step, JOBLIB to all steps in the job

What is order of searching of the libraries in a JCL?
First any private libraries as specified in the STEPLIB or JOBLIB, then the system libraries such as SYS1LINKLIB The system libraries are specified in the linklist

What happens if both JOBLIB & STEPLIB is specified ?
JOBLIB is ignored

When you specify multiple Data Sets in a JOBLIB or STEPLIB, what factor determines the order?
The library with the largest block size should be the first one

How to change default proclib ?
//ABCD JCLLIB ORDER=(MEMYPROCLIB,SYS1PROCLIB)

The DISP in the JCL is MOD and the program opens the File in OUTPUT mode What happens ?
Records will be written to end of File (append) when a WRITE is done in both cases

What are the valid DSORG values ?
PS - SAM, PO - Partitioned, IS - ISAM

What are the differences between JES2 & JES3 ?
JES3 allocates Data Sets for all the steps before the job is scheduled. In JES2, allocation of Data Sets Required by a step are done only just before the step executes.
JOB /EXEC/DD ALL PARAMETERS JOBLIB/STEPLIB PROCEDURES, PARAMETERS PASSING CONDITION VARIABLES ABEND CODES.

Saturday, May 26, 2012

JCL Interview Questions 2

What is primary allocation for a Data Set?
The space allocated when the Data Set is first created

What is the difference between primary and secondary allocations for a Data Set?
Secondary allocation is done when more space is required than what has already been allocated

How many extents are possible for a Sequential File ? For a VSAM File ?
16 extents on a volume for a Sequential File and 123 for a VSAM File

What does a disposition of (NEW,CATLG,DELETE) mean?
That this is a new Data Set and needs to be allocated, to CATLG the Data Set if the step is successful and to delete the Data Set if the step abends.

What does a disposition of (NEW,CATLG,KEEP) mean?
That this is a new Data Set and needs to be allocated, to CATLG the Data Set if the step is successful and to KEEP but not CATLG the Data Set if the step abends Thus if the step abends, the Data Set would not be catalogued and we would need to supply the Vol ser the next time we refer to it

How do you access a File that had a disposition of KEEP?
Need to supply volume serial no VOL=SER=xxxx MOD,DELETE

What does a disposition of (,DELETE) mean ?
The MOD will cause the Data Set to be created (if it does not exist), and then the two DELETE will cause the Data Set to be deleted whether the step abends or not This disposition is used to clear out a Data Set at the beginning of a job

What is the DD statement for a output File?
Unless allocated earlier, will have the following parameters: DISP=(NEW,CATLG,DELETE), UNIT , SPACE & DCB

What do you do if you do not want to keep all the space allocated to a Data Set?
Specify the parameter RLSE ( release ) in the SPACE. Eg: SPACE=(CYL,(50,50),RLSE)

What is DISP=(NEW,PASS,DELETE)?
This is a new File and create it, if the step terminates normally, pass it to the subsequent steps and if step abends, delete it This Data Set will not exist beyond the JCL

How do you create a temporary Data Set? Where will you use them?
Temporary Data Sets can be created either by not specifying any DSNAME or by specifying the temporary File indicator as in DSN=&&TEMP We use them to carry the output of one step to another step in the same job The Data Set will not be retained once the job completes

How do you restart a proc from a particular step?
In job card, specify RESTART=proc step step name where procstep = name of the jcl step that invoked the proc and stepname = name of the proc step where you want execution to start

How do you skip a particular step in a proc/JOB?
Can use either condition codes or use the jcl control statement IF (only in ESA JCL)

A PROC has five steps Step 3 has a condition code How can you override/nullify this condition code?
Provide the override on the EXEC stmt in the JCL as follows: //STEP001 EXEC procname,CONDstepname=value All parameters on an EXEC stmt in the proc such as COND, PARM have to be overridden like this

How do you override a specific DDNAME/SYSIN in PROC from a JCL?
// DSN=

What is NOTCAT 2?
This is an MVS message indicating that a duplicate catalog entry exists Eg, if you already have a Data Set with dsn = 'xxxxyyyy' and u try to create one with disp new,catlg, you would get this error the program open and write would go through and at the end of the step the system would try to put it in the system catalog at this point since an entry already exists the catlg would fail and give this message you can fix the problem by deleting/uncataloging the first data set and going to the volume where the new Data Set exists(this info is in the msglog of the job) and cataloging it

What is 'S0C7' abend?
Caused by invalid data in a numeric field

What is a S0C4 error ?
Storage violation error - can be due to various reasons eg: READING a File that is not open, invalid address referenced due to subscript error

What are SD37, SB37, SE37 abends?
All indicate Data Set out of space. SD37 - no secondary allocation was specified. SB37 - end of vol and no further volumes specified. SE37 - Max of 16 extents already allocated

What is S322 abend ?
Indicates a time out abend Your program has taken more CPU time than the default limit for the job class Could indicate an infinite loop

JCL Interview Questions 1

What is JCL ? 
JCL stands for Job Control Language 
 
What is the difference between keyword and positional parameters ?  
Positional parameters are characterized by their position in the operand field in relation to other parameters.
Keyword parameters are positionally independent with respect to others of their type and consisting of a keyword followed by an equal sign and variable information. 
 
What is a DISP ?
 DISP is a keyword parameter which is defined on the DD statement and which consist of the following positional subparameters: DISP=(Status, Normal Disp, Abnormal Disp). The DISP parameter describes the current status of the dataset (old, new, or modified) and directs the system on the disposition of the data set (pass, keep, catalog, uncatalog, or delete) either at the end of the step or if the step abnormally terminates. DISP is always required unless the data set is created and deleted in the same step.
 
What is DISP=SHR ?
DISP=SHR permits old data sets to be shared. SHR is identical to OLD except that several jobs may read the dataset concurrently in multiprogramming environments. SHR must be used only for input data sets; use OLD or MOD if data set is modified.  Sharing data set is necessary because public libraries like SYS1.LINKLIB or the subroutine libraries should be available to every job in the system.
 
What is DISP=MOD ?
DISP=MOD modifies a sequential data set. It is a convenient way to add data to the end of sequential dataset. If the data set doesn't exist, the system changes MOD to NEW unless the VOL parameter request specific volume. When VOL is coded, the stem expects to find data set on the specified volume and terminates the step if it cannot find it. MOD is the usual way of extended data sets in to several direct-access volumes.
 
What is DISP=PASS ?
 PASS passes the data set on to subsequent job steps, and each step can use the data set once. It is a positional subparameter of the DISP which could only be specified under normal termination action. Pass saves time because the system retains the data set location and volume information.
 
What are the parameters that have to be coded on a DD statement in order to retrieve a cataloged data set ?
 The minimum parameters needed are DSN and DISP.
 
How does the system get information about the block size ?   DCB info comes from :-
1) Program - FD: BLOCK CONTAINS 3 RECORDS RECORD CONTAINS 100 CHARACTERS
2) The label - like a tape
3) From the VTOC - for Dasd
4) From the JCL - DCB=BLKSIZE=nnn.
 
What is a Label ?
 LABEL is a keyword parameter which can be specified on DD statement and consists of the following subparameters:
LABEL=(Relative File #, Type of Label Processing)
The LABEL parameter tells the type of label, the relative file number,and whether the data set is to be protected for input or output.
 
When should be NL be specified as a type of label processing ? 
 NL should be specified when a program needs to process unlabeled tapes NL can also be specified when the pgm wants to create unlabeled tape because the system's default action, in cases when parameter is not specified, will create IBM standard label. Nonlabeled tapes are often used for sending tapes to another installation. That way you don't have to worry about the tape label corresponding to the standards at the other installation or about accidentally matching the volume serial number of an existing tape at the installation.
 
How do you describe the input data which is a part of the input job stream ?  
You should use either DD * or DD Data.
 
What is the difference between * and Data ? 
 DD * and DD DATA describe the input data which follows the above mention cards. If the input data contains record switch // in col 1 and 2 then DD Data should be used. 
 
What is the purpose of SPACE parameter ?
A It is a keyword parameter which should allocated on the DD statement for the output data sets stored on the disk.It consists of the following subparameters:
SPACE=(BLKS/CYL/TRK,(primary,secondary,index),RLSE,CONTIG) 
 
What is a RLSE ?
 RLSE releases all unused space when the data set is closed. It permits you to allocate more space than perhaps, it needed without wasting space. Space is released only if the data set is not empty and if the data set is closed after being opened. 
 
What is a CONTIG ?
 CONTIG requests the primary space be allocated only on contiguous tracks and cylinders, that is all tracks on a cylinder are contiguous, and if more than one cylinder is needed, the cylinders are also contiguous. Always code CONTIG if track overflow is used. 
 
What is a PDS ?
PDS is a library type of data set organization consisting of Directory and Members. The directory consists of blocks, and each block is 256 bytes in length and can hold up to 5 members. Each member of the PDS is a sequential data set.
 
What is a Temporary Data Set ?
 Temporary data sets are used for storage needed only for the duration of the job. If the DISP parameter doesn't delete the data set by the end of the job, the system will delete it. Deleting a tape data set dismounts the tape, whereas deleting a dataset on a direct-access volume release the storage.  A data set is marked temporary by omitting the DSN parameter or by coding DSN=&&dsname. The system assign a unique name to the data set when the DSN parameter is omitted, and any subsequent steps using the dataset refer back to the DD statement.
 
What is COND parameter ?
It is a keyword parameter which can be specified on the JOB or EXEC statements. COND consists of 3 subparameters:
code(0 thru 4095),logical operator, and stepname of the step that is going to be compared.
The purpose of the COND is to determine whether the step should be executed or bypassed. If condition specified in the COND parameter is true,the step is bypassed. 
 
How do you specify a COND parameter for a job step so that the step will never be executed ?  COND=(0,LE) or COND=(4095,GE).
 
What does COND=ONLY mean ?
It means that this job step will be executed only if a previous step had abnormally terminated.
 
What does COND=EVEN mean ?
 It means that this jobs step will be executed even if a previous step abnormally terminated.
 
What is a NAME ?
Name is a positional parameter which identifies the person or group responsible for a job.
 
What is a PRIORITY ?
It is a keyword parameter which specifies a job initiation priority within its job class. When the job is initiated, the system will convert the job's priority into a dispatching priority so that job's task can complete with other tasks for use of main storage and CPU resources.
 
How does the system determine the priority of a job for execution ?
 First the system determines which job has the highest class. Each class has a job queue with jobs of different priorities. The system will select the job for execution that has the highest PRTY (0 thru 15) 15 is the highest priority. 
 
What is a MSGCLASS parameter ?
 It is a keyword parameter which specifies the output class to which system messages for your job are to be routed. Output class is an alphabetic (A thru Z) or numeric (0 thru 9) character. The default for MSGCLASS parameter will be A. System messages and output data sets can be routed to the same output class. You can code the MSGCLASS parameter in the Job statement and the SYSOUT parameter on the DD statement.
 
What is MSGLEVEL parameter ?
It is a keyword parameter which indicates what job output is to be written as a part of output listing. The following outputs can be requested: the Job statement;
all input job control statements;
allocation, disposition and allocation recovery messages(allocation/termination message)
MSGLEVEL=(statements, messages)
Statements:
- 0 - only the job statement is to be written;
- 1 - all input control statements, cataloged procedure statements and the internal representation of procedure statement parameters after symbolic parameters substitution are to be written;
- 2 - only input job control statements are to be written;
Messages:
- 0 - No allocation/termination messages are to be printed unless the job terminates abnormally;
- 1 - All allocation/termination messages are to be printed.
 
How can you check for syntax or JCL errors without actual execution of a job ?
TYPRUN=SCAN should be specified on a job card
 
What is the difference between the COND parameter specified on the EXEC statement and the one specified on the JOB statement ?
COND parameter specified on EXEC statement determines whether step should be bypassed or executed.
COND parameter defined on the JOB statement will determine whether Job should be terminated at a certain point or continued. When COND parameter is defined on the JOB statement, the system evaluates condition specified in the COND parameter before beginning of any job step and compares the code specified in the COND parameter with the return code of all previous jobsteps. If that condition is true, the rest of the job steps are bypassed.

Friday, May 25, 2012

DB2 SQL Codes

Successful Execution SQLCODE
0 SUCCESSFUL EXECUTION
Warning SQLCODE
12 THE UNQUALIFIED COLUMN NAME column-name WAS INTERPRETED AS A CORRELATED REFERENCE 551 auth-id DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION operation ON OBJECT object-name
98 A DYNAMIC SQL STATEMENT ENDS WITH A SEMICOLON 552 auth-id DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION operation
100 ROW NOT FOUND FOR FETCH, UPDATE OR DELETE, OR THE RESULT OF A QUERY IS AN EMPTY TABLE 558 THE WITH GRANT OPTION IS IGNORED
110 SQL UPDATE TO A DATA CAPTURE TABLE NOT SIGNALED TO ORIGINATING SUBSYSTEM 561 THE ALTER, INDEX, AND REFERENCES PRIVILEGES CANNOT BE GRANTED TO PUBLIC AT ALL LOCATIONS
111 THE SUBPAGES OPTION IS NOT SUPPORTED FOR TYPE 2 INDEXES 562 A GRANT OF A PRIVILEGE WAS IGNORED BECAUSE THE GRANTEE ALREADY HAS THE PRIVILEGE FROM THE GRANTOR
117 THE NUMBER OF INSERT VALUES IS NOT THE SAME AS THE NUMBER OF OBJECT COLUMNS 610 INDEX index-name HAS BEEN PLACED IN RECOVER PENDING
162 TABLESPACE database-name.tablespace-name HAS BEEN PLACED IN CHECK PENDING 625 THE DEFINITION OF TABLE table-name HAS BEEN CHANGED TO INCOMPLETE
203 THE QUALIFIED COLUMN NAME column-name WAS RESOLVED USING A NON-UNIQUE OR UNEXPOSED NAME 626 DROPPING THE INDEX TERMINATES ENFORCEMENT OF THE UNIQUENESS OF A KEY THAT WAS DEFINED WHEN THE TABLE WAS CREATED
204 name IS AN UNDEFINED NAME 645 WHERE NOT NULL IS IGNORED BECAUSE THE INDEX KEY CANNOT CONTAIN NULL VALUES
206 column-name IS NOT A COLUMN OF AN INSERTED TABLE, UPDATED TABLE, OR ANY TABLE IDENTIFIED IN A FROM CLAUSE 650 THE TABLE BEING CREATED OR ALTERED CANNOT BECOME A DEPENDENT TABLE
218 THE SQL STATEMENT REFERENCING A REMOTE OBJECT CANNOT BE EXPLAINED 653 TABLE table-name IN PARTITIONED TABLESPACE tspace-name IS NOT AVAILABLE BECAUSE ITS PARTITIONED INDEX HAS NOT BEEN CREATED
219 THE REQUIRED EXPLANATION TABLE table-name DOES NOT EXIST 658 THE SUBPAGES VALUE IS IGNORED FOR THE CATALOG INDEX index-name
220 THE COLUMN column-name IN EXPLANATION TABLE table-name IS NOT DEFINED PROPERLY 664 THE INTERNAL LENGTH OF THE LIMIT-KEY FIELDS FOR THE PARTITIONED INDEX index-name EXCEEDS THE LENGTH IMPOSED BY THE INDEX MANAGER
304 A VALUE WITH DATA TYPE data-type1 CANNOT BE ASSIGNED TO A HOST VARIABLE BECAUSE THE VALUE IS NOT WITHIN THE RANGE OF THE HOST VARIABLE IN POSITION position-number WITH DATA TYPE data-type2 738 DEFINITION CHANGE OF object object_name MAY REQUIRE SIMILAR CHANGE ON READ-ONLY SYSTEMS
331 THE NULL VALUE HAS BEEN ASSIGNED TO A HOST VARIABLE BECAUSE THE STRING CANNOT BE TRANSLATED. REASON reason-code, CHARACTER code-point, HOST VARIABLE position-number 802 EXCEPTION ERROR exception-type HAS OCCURRED DURING operation-type OPERATION ON data-type DATA, POSITION position-number
339 THE SQL STATEMENT HAS BEEN SUCCESSFULLY EXECUTED, BUT THERE MAY BE SOME CHARACTER CONVERSION INCONSISTENCIES 806 BIND ISOLATION LEVEL RR CONFLICTS WITH TABLESPACE LOCKSIZE PAGE OR LOCKSIZE ROW AND LOCKMAX 0
402 LOCATION location IS UNKNOWN 807 THE RESULT OF DECIMAL MULTIPLICATION MAY CAUSE OVERFLOW
403 THE LOCAL OBJECT REFERENCED BY THE CREATE ALIAS STATEMENT DOES NOT EXIST 863 THE CONNECTION WAS SUCCESSFUL BUT ONLY SBCS WILL BE SUPPORTED
535 THE RESULT OF THE POSITIONED UPDATE OR DELETE MAY DEPEND ON THE ORDER OF THE ROWS. 2000 TYPE 1 INDEXES WITH SUBPAGES GREATER THAN 1 CANNOT BECOME GROUP BUFFER POOL DEPENDENT IN A DATA SHARING ENVIRONMENT
541 THE REFERENTIAL OR UNIQUE CONSTRAINT name HAS BEEN IGNORED BECAUSE IT IS A DUPLICATE 30100 OPERATION COMPLETED SUCCESSFULLY BUT A DISTRIBUTION PROTOCOL VIOLATION HAS BEEN DETECTED. ORIGINAL SQLCODE=original-sqlcode AND ORIGINAL SQLSTATE=original-sqlstate
Error SQLCODE
-7 STATEMENT CONTAINS THE ILLEGAL CHARACTER character -127 DISTINCT IS SPECIFIED MORE THAN ONCE IN A SUBSELECT
-10 THE STRING CONSTANT BEGINNING string IS NOT TERMINATED -128 INVALID USE OF NULL IN A PREDICATE
-29 INTO CLAUSE REQUIRED -129 THE STATEMENT CONTAINS TOO MANY TABLE NAMES
-60 INVALID type SPECIFICATION : spec -130 THE ESCAPE CLAUSE CONSISTS OF MORE THAN ONE CHARACTER, OR THE STRING PATTERN CONTAINS AN INVALID OCCURRENCE OF THE ESCAPE CHARACTER
-84 UNACCEPTABLE SQL STATEMENT -131 STATEMENT WITH LIKE PREDICATE HAS INCOMPATIBLE DATA TYPES
-101 THE STATEMENT IS TOO LONG OR TOO COMPLEX -132 A LIKE PREDICATE IS INVALID BECAUSE THE SECOND OPERAND IS NOT A STRING
-102 LITERAL STRING IS TOO LONG. STRING BEGINS string -133 A COLUMN FUNCTION IN A SUBQUERY OF A HAVING CLAUSE IS INVALID BECAUSE ALL COLUMN REFERENCES IN ITS ARGUMENT ARE NOT CORRELATED TO THE GROUP BY RESULT THAT THE HAVING CLAUSE IS APPLIED TO
-103 literal IS AN INVALID NUMERIC LITERAL -134 IMPROPER USE OF LONG STRING COLUMN column-name OR A HOST VARIABLE OF MAXIMUM LENGTH GREATER THAN 254
-104 ILLEGAL SYMBOL "token". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: token-list -136 SORT CANNOT BE EXECUTED BECAUSE THE SORT KEY LENGTH IS GREATER THAN 4000 BYTES
-105 INVALID STRING -137 RESULT OF CONCATENATION TOO LONG
-107 THE NAME name IS TOO LONG. MAXIMUM ALLOWABLE SIZE IS size -138 THE SECOND OR THIRD ARGUMENT OF THE SUBSTR FUNCTION IS OUT OF RANGE
-109 clause CLAUSE IS NOT PERMITTED -144 INVALID SECTION NUMBER number
-110 INVALID HEXADECIMAL LITERAL BEGINNING string -150 THE OBJECT OF THE INSERT, DELETE, OR UPDATE STATEMENT IS A VIEW FOR WHICH THE REQUESTED OPERATION IS NOT PERMITTED
-111 A COLUMN FUNCTION DOES NOT INCLUDE A COLUMN NAME -151 THE UPDATE STATEMENT IS INVALID BECAUSE THE CATALOG DESCRIPTION OF COLUMN column-name INDICATES THAT IT CANNOT BE UPDATED
-112 THE OPERAND OF A COLUMN FUNCTION IS ANOTHER COLUMN FUNCTION -152 THE DROP clause CLAUSE IN THE ALTER STATEMENT IS INVALID BECAUSE constraint-name IS A constraint-type
-113 INVALID CHARACTER FOUND IN string, REASON CODE - nnn -153 THE CREATE VIEW STATEMENT DOES NOT INCLUDE A REQUIRED COLUMN LIST
-114 THE LOCATION NAME location DOES NOT MATCH THE CURRENT SERVER -154 THE CREATE VIEW FAILED BECAUSE THE VIEW DEFINITION CONTAINS A UNION, A UNION ALL, OR A REMOTE OBJECT
-115 A PREDICATE IS INVALID BECAUSE THE COMPARISON OPERATOR operator IS FOLLOWED BY A PARENTHESIZED LIST OR BY ANY OR ALL WITHOUT A SUBQUERY -156 THE STATEMENT DOES NOT IDENTIFY A TABLE
-117 THE NUMBER OF INSERT VALUES IS NOT THE SAME AS THE NUMBER OF OBJECT COLUMNS -157 ONLY A TABLE NAME CAN BE SPECIFIED IN A FOREIGN KEY CLAUSE. object-name IS NOT THE NAME OF A TABLE.
-118 THE OBJECT TABLE OR VIEW OF THE INSERT, DELETE, OR UPDATE STATEMENT IS ALSO IDENTIFIED IN A FROM CLAUSE -158 THE NUMBER OF COLUMNS SPECIFIED FOR THE VIEW IS NOT THE SAME AS THE NUMBER OF COLUMNS SPECIFIED BY THE SELECT CLAUSE
-119 A COLUMN IDENTIFIED IN A HAVING CLAUSE IS NOT INCLUDED IN THE GROUP BY CLAUSE -159 DROP OR COMMENT ON token IDENTIFIES A(N) token RATHER THAN A(N) token
-120 A WHERE CLAUSE OR SET CLAUSE INCLUDES A COLUMN FUNCTION -160 THE WITH CHECK OPTION CANNOT BE USED FOR THE SPECIFIED VIEW
-121 THE COLUMN name IS IDENTIFIED MORE THAN ONCE IN THE INSERT OR UPDATE STATEMENT -161 THE INSERT OR UPDATE IS NOT ALLOWED BECAUSE A RESULTING ROW DOES NOT SATISFY THE VIEW DEFINITION
-122 A SELECT STATEMENT WITH NO GROUP BY CLAUSE CONTAINS A COLUMN NAME AND A COLUMN FUNCTION IN THE SELECT CLAUSE OR A COLUMN NAME IS CONTAINED IN THE SELECT CLAUSE BUT NOT IN THE GROUP BY CLAUSE -164 auth-id1 DOES NOT HAVE THE PRIVILEGE TO CREATE A VIEW WITH QUALIFICATION authorization ID
-125 AN INTEGER IN THE ORDER BY CLAUSE DOES NOT IDENTIFY A COLUMN OF THE RESULT -170 THE NUMBER OF ARGUMENTS SPECIFIED FOR function-name IS INVALID
-126 THE SELECT STATEMENT CONTAINS BOTH AN UPDATE CLAUSE AND AN ORDER BY CLAUSE -171 THE DATA TYPE, LENGTH, OR VALUE OF ARGUMENT nn OF function-name IS INVALID
-173 UR IS SPECIFIED ON THE WITH CLAUSE BUT THE CURSOR IS NOT READ-ONLY
-180 THE STRING REPRESENTATION OF A DATETIME VALUE HAS INVALID SYNTAX -199 ILLEGAL USE OF KEYWORD keyword. TOKEN token-list WAS EXPECTED
-181 THE STRING REPRESENTATION OF A DATETIME VALUE IS NOT A VALID DATETIME VALUE -203 A REFERENCE TO COLUMN column-name IS AMBIGUOUS
-182 AN ARITHMETIC EXPRESSION WITH A DATETIME VALUE IS INVALID -203 A REFERENCE TO COLUMN column-name IS AMBIGUOUS
-183 AN ARITHMETIC OPERATION ON A DATE OR TIMESTAMP HAS A RESULT THAT IS NOT WITHIN THE VALID RANGE OF DATES -204 name IS AN UNDEFINED NAME
-184 AN ARITHMETIC EXPRESSION WITH A DATETIME VALUE CONTAINS A PARAMETER MARKER -204 name IS AN UNDEFINED NAME
-185 THE LOCAL FORMAT OPTION HAS BEEN USED WITH A DATE OR TIME AND NO LOCAL EXIT HAS BEEN INSTALLED -205 column-name IS NOT A COLUMN OF TABLE table-name
-186 THE LOCAL DATE LENGTH OR LOCAL TIME LENGTH HAS BEEN INCREASED AND EXECUTING PROGRAM RELIES ON THE OLD LENGTH -205 column-name IS NOT A COLUMN OF TABLE table-name
-187 A REFERENCE TO A CURRENT DATE/TIME SPECIAL REGISTER IS INVALID BECAUSE THE MVS TOD CLOCK IS BAD OR THE MVS PARMTZ IS OUT OF RANGE -206 column-name IS NOT A COLUMN OF AN INSERTED TABLE, UPDATED TABLE, OR ANY TABLE IDENTIFIED IN A FROM CLAUSE
-188 THE STRING REPRESENTATION OF A NAME IS INVALID -206 column-name IS NOT A COLUMN OF AN INSERTED TABLE, UPDATED TABLE, OR ANY TABLE IDENTIFIED IN A FROM CLAUSE
-189 CCSID ccsid IS UNKNOWN OR INVALID FOR THE DATA TYPE OR SUBTYPE -208 THE ORDER BY CLAUSE IS INVALID BECAUSE COLUMN name IS NOT PART OF THE RESULT TABLE
-191 A STRING CANNOT BE USED BECAUSE IT IS INVALID MIXED DATA -208 THE ORDER BY CLAUSE IS INVALID BECAUSE COLUMN name IS NOT PART OF THE RESULT TABLE
-197 QUALIFIED COLUMN NAMES IN ORDER BY CLAUSE NOT PERMITTED WHEN UNION OR UNION ALL SPECIFIED -219 THE REQUIRED EXPLANATION TABLE table-name DOES NOT EXIST
-198 THE OPERAND OF THE PREPARE OR EXECUTE IMMEDIATE STATEMENT IS BLANK OR EMPTY -220 THE COLUMN column-name IN EXPLANATION TABLE table-name IS NOT DEFINED PROPERLY
-198 THE OPERAND OF THE PREPARE OR EXECUTE IMMEDIATE STATEMENT IS BLANK OR EMPTY -221 "SET OF OPTIONAL COLUMNS" IN EXPLANATION TABLE table-name IS INCOMPLETE. OPTIONAL COLUMN column-name IS MISSING
-199 ILLEGAL USE OF KEYWORD keyword. TOKEN token-list WAS EXPECTED -250 THE LOCAL LOCATION NAME IS NOT DEFINED WHEN PROCESSING A THREE-PART OBJECT NAME
-251 TOKEN name IS NOT VALID
-300 THE STRING CONTAINED IN HOST VARIABLE OR PARAMETER position-number IS NOT NUL-TERMINATED -401 THE OPERANDS OF AN ARITHMETIC OR COMPARISON OPERATION ARE NOT COMPARABLE
-301 THE VALUE OF INPUT HOST VARIABLE OR PARAMETER NUMBER position-number CANNOT BE USED AS SPECIFIED BECAUSE OF ITS DATA TYPE -402 AN ARITHMETIC FUNCTION OR OPERATOR arith-fop IS APPLIED TO CHARACTER OR DATETIME DATA
-302 THE VALUE OF INPUT VARIABLE OR PARAMETER NUMBER position-number IS INVALID OR TOO LARGE FOR THE TARGET COLUMN OR THE TARGET VALUE -404 THE UPDATE OR INSERT STATEMENT SPECIFIES A STRING THAT IS TOO LONG column-name
-303 A VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER position-number BECAUSE THE DATA TYPES ARE NOT COMPARABLE -405 THE NUMERIC LITERAL literal CANNOT BE USED AS SPECIFIED BECAUSE IT IS OUT OF RANGE
-304 A VALUE WITH DATA TYPE data-type1 CANNOT BE ASSIGNED TO A HOST VARIABLE BECAUSE THE VALUE IS NOT WITHIN THE RANGE OF THE HOST VARIABLE IN POSITION position-number WITH DATA TYPE data-type2 -406 A CALCULATED OR DERIVED NUMERIC VALUE IS NOT WITHIN THE RANGE OF ITS OBJECT COLUMN
-305 THE NULL VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER position-number BECAUSE NO INDICATOR VARIABLE IS SPECIFIED -407 AN UPDATE OR INSERT VALUE IS NULL, BUT THE OBJECT COLUMN column-name CANNOT CONTAIN NULL VALUES
-309 A PREDICATE IS INVALID BECAUSE A REFERENCED HOST VARIABLE HAS THE NULL VALUE -408 AN UPDATE OR INSERT VALUE IS NOT COMPARABLE WITH THE DATA TYPE OF ITS OBJECT COLUMN column-name
-310 DECIMAL HOST VARIABLE OR PARAMETER number CONTAINS NON DECIMAL DATA. -409 INVALID OPERAND OF A COUNT FUNCTION
-311 THE LENGTH OF INPUT HOST VARIABLE NUMBER position-number IS NEGATIVE OR GREATER THAN THE MAXIMUM -410 THE FLOATING POINT LITERAL literal CONTAINS MORE THAN 30 CHARACTERS
-312 UNDEFINED OR UNUSABLE HOST VARIABLE variable-name -411 CURRENT SQLID CANNOT BE USED IN A STATEMENT THAT REFERENCES REMOTE OBJECTS
-313 THE NUMBER OF HOST VARIABLES SPECIFIED IS NOT EQUAL TO THE NUMBER OF PARAMETER MARKERS -412 THE SELECT CLAUSE OF A SUBQUERY SPECIFIES MULTIPLE COLUMNS
-314 THE STATEMENT CONTAINS AN AMBIGUOUS HOST VARIABLE REFERENCE -414 A LIKE PREDICATE IS INVALID BECAUSE THE FIRST OPERAND IS NOT A STRING
-330 A STRING CANNOT BE USED BECAUSE IT CANNOT BE TRANSLATED. REASON reason-code, CHARACTER code-point, HOST VARIABLE position-number -415 THE CORRESPONDING COLUMNS, column-number, OF THE OPERANDS OF A UNION OR A UNION ALL DO NOT HAVE COMPARABLE COLUMN DESCRIPTIONS
-331 A STRING CANNOT BE ASSIGNED TO A HOST VARIABLE BECAUSE IT CANNOT BE TRANSLATED. REASON reason-code, CHARACTER code-point, POSITION position-number -416 AN OPERAND OF A UNION CONTAINS A LONG STRING COLUMN
-332 SYSSTRINGS DOES NOT DEFINE A TRANSLATION FROM CCSID ccsid TO ccsid -417 A STATEMENT STRING TO BE PREPARED INCLUDES PARAMETER MARKERS AS THE OPERANDS OF THE SAME OPERATOR
-333 THE SUBTYPE OF A STRING VARIABLE IS NOT THE SAME AS THE SUBTYPE KNOWN AT BIND TIME AND THE DIFFERENCE CANNOT BE RESOLVED BY TRANSLATION -418 A STATEMENT STRING TO BE PREPARED CONTAINS AN INVALID USE OF PARAMETER MARKERS
-338 AN ON CLAUSE IS INVALID -419 THE DECIMAL DIVIDE OPERATION IS INVALID BECAUSE THE RESULT WOULD HAVE A NEGATIVE SCALE
-339 THE SQL STATEMENT CANNOT BE EXECUTED FROM AN ASCII BASED DRDA APPLICATION REQUESTOR TO A V2R2 DB2 SUBSYSTEM -420 THE VALUE OF A CHARACTER STRING ARGUMENT WAS NOT ACCEPTABLE TO THE function-name FUNCTION
-351 AN UNSUPPORTED SQLTYPE WAS ENCOUNTERED IN POSITION "" ON A PREPARE or DESCRIBE OPERATION -421 THE OPERANDS OF A UNION OR UNION ALL DO NOT HAVE THE SAME NUMBER OF COLUMNS
-400 THE CATALOG HAS THE MAXIMUM NUMBER OF USER DEFINED INDEXES -426 DYNAMIC COMMIT NOT VALID AT AN APPLICATION SERVER WHERE UPDATES ARE NOT ALLOWED
-427 DYNAMIC ROLLBACK NOT VALID AT AN APPLICATION SERVER WHERE UPDATES ARE NOT ALLOWED -519 THE PREPARE STATEMENT IDENTIFIES THE SELECT STATEMENT OF THE OPENED CURSOR cursor-name
-440 THE NUMBER OF PARAMETERS IN THE PARAMETER LIST DOES NOT MATCH THE NUMBER OF PARAMETERS EXPECTED FOR STORED PROCEDURE name, AUTHID authid, LUNAME luname. number PARAMETERS WERE EXPECTED. -525 THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE IT WAS IN ERROR AT BIND TIME FOR SECTION = sectno PACKAGE = pkgname CONSISTENCY TOKEN = X'contoken'
-444 USER PROGRAM name COULD NOT BE FOUND -530 THE INSERT OR UPDATE VALUE OF FOREIGN KEY constraint-name IS INVALID
-450 STORED PROCEDURE name, PARAMETER NUMBER number, OVERLAYED STORAGE BEYOND ITS DECLARED LENGTH -531 THE PRIMARY KEY IN A PARENT ROW CANNOT BE UPDATED BECAUSE IT HAS ONE OR MORE DEPENDENT ROWS IN RELATIONSHIP constraint-name
-469 SQL CALL STATEMENT MUST SPECIFY AN OUTPUT HOST VARIABLE FOR PARAMETER number. -532 THE RELATIONSHIP constraint-name RESTRICTS THE DELETION OF ROW WITH RID X'rid-number'
-470 SQL CALL STATEMENT SPECIFIED A NULL VALUE FOR INPUT PARAMETER number, BUT THE STORED PROCEDURE DOES NOT SUPPORT NULL VALUES -533 INVALID MULTIPLE-ROW INSERT
-471 SQL CALL FOR STORED PROCEDURE name FAILED DUE TO REASON rc -534 THE PRIMARY KEY CANNOT BE UPDATED BECAUSE OF MULTIPLE-ROW UPDATE
-500 THE IDENTIFIED CURSOR WAS CLOSED WHEN THE CONNECTION WAS DESTROYED -536 THE DELETE STATEMENT IS INVALID BECAUSE TABLE table-name CAN BE AFFECTED BY THE OPERATION
-501 THE CURSOR IDENTIFIED IN A FETCH OR CLOSE STATEMENT IS NOT OPEN -537 THE PRIMARY KEY CLAUSE, A FOREIGN KEY CLAUSE, OR A UNIQUE CLAUSE IDENTIFIES COLUMN column-name MORE THAN ONCE
-502 THE CURSOR IDENTIFIED IN AN OPEN STATEMENT IS ALREADY OPEN -538 FOREIGN KEY name DOES NOT CONFORM TO THE DESCRIPTION OF THE PRIMARY KEY OF TABLE table-name
-503 A COLUMN CANNOT BE UPDATED BECAUSE IT IS NOT IDENTIFIED IN THE UPDATE CLAUSE OF THE SELECT STATEMENT OF THE CURSOR -539 TABLE table-name DOES NOT HAVE A PRIMARY KEY
-504 THE CURSOR NAME cursor-name IS NOT DEFINED -540 THE DEFINITION OF TABLE table-name IS INCOMPLETE BECAUSE IT LACKS A PRIMARY INDEX OR A REQUIRED UNIQUE INDEX
-507 THE CURSOR IDENTIFIED IN THE UPDATE OR DELETE STATEMENT IS NOT OPEN -542 column-name CANNOT BE A COLUMN OF A PRIMARY KEY OR A UNIQUE CONSTRAINT BECAUSE IT CAN CONTAIN NULL VALUES
-508 THE CURSOR IDENTIFIED IN THE UPDATE OR DELETE STATEMENT IS NOT POSITIONED ON A ROW -543 A ROW IN A PARENT TABLE CANNOT BE DELETED BECAUSE THE CHECK CONSTRAINT check-constraint RESTRICTS THE DELETION
-509 THE TABLE IDENTIFIED IN THE UPDATE OR DELETE STATEMENT IS NOT THE SAME TABLE DESIGNATED BY THE CURSOR -544 THE CHECK CONSTRAINT SPECIFIED IN THE ALTER TABLE STATEMENT CANNOT BE ADDED BECAUSE AN EXISTING ROW VIOLATES THE CHECK CONSTRAINT
-510 THE TABLE DESIGNATED BY THE CURSOR OF THE UPDATE OR DELETE STATEMENT CANNOT BE MODIFIED -545 THE REQUESTED OPERATION IS NOT ALLOWED BECAUSE A ROW DOES NOT SATISFY THE CHECK CONSTRAINT check-constraint
-511 THE FOR UPDATE CLAUSE CANNOT BE SPECIFIED BECAUSE THE TABLE DESIGNATED BY THE CURSOR CANNOT BE MODIFIED -546 THE CHECK CONSTRAINT constraint-name IS INVALID
-512 STATEMENT REFERENCE TO REMOTE OBJECT IS INVALID -548 A CHECK CONSTRAINT THAT IS DEFINED WITH column-name IS INVALID
-513 THE ALIAS alias-name MUST NOT BE DEFINED ON ANOTHER LOCAL OR REMOTE ALIAS -549 THE statement STATEMENT IS NOT ALLOWED FOR object_type1 object_name BECAUSE THE BIND OPTION DYNAMICRULES(BIND) IN THE object_type2 IS IN EFFECT
-514 THE CURSOR cursor-name IS NOT IN A PREPARED STATE -551 auth-id DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION operation ON OBJECT object-name
-516 THE DESCRIBE STATEMENT DOES NOT IDENTIFY A PREPARED STATEMENT -552 auth-id DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION operation
-517 CURSOR cursor-name CANNOT BE USED BECAUSE ITS STATEMENT NAME DOES NOT IDENTIFY A PREPARED SELECT STATEMENT -553 auth-id SPECIFIED IS NOT ONE OF THE VALID AUTHORIZATION IDS
-518 THE EXECUTE STATEMENT DOES NOT IDENTIFY A VALID PREPARED STATEMENT -554 AN AUTHORIZATION ID CANNOT GRANT A PRIVILEGE TO ITSELF
-555 AN AUTHORIZATION ID CANNOT REVOKE A PRIVILEGE FROM ITSELF -623 A CLUSTERING INDEX ALREADY EXISTS ON TABLE table-name
-556 authid2 CANNOT HAVE THE privilege PRIVILEGE on_object REVOKED BY authid1 BECAUSE THE REVOKEE DOES NOT POSSESS THE PRIVILEGE OR THE REVOKER DID NOT MAKE THE GRANT -624 TABLE table-name ALREADY HAS A PRIMARY KEY
-557 INCONSISTENT GRANT/REVOKE KEYWORD keyword. PERMITTED KEYWORDS ARE keyword-list -625 TABLE table-name DOES NOT HAVE AN INDEX TO ENFORCE THE UNIQUENESS OF THE PRIMARY KEY
-558 INVALID CLAUSE OR COMBINATION OF CLAUSES ON A GRANT OR REVOKE -626 THE ALTER STATEMENT IS NOT EXECUTABLE BECAUSE THE PAGE SET IS NOT STOPPED
-559 ALL AUTHORIZATION FUNCTIONS HAVE BEEN DISABLED -627 THE ALTER STATEMENT IS INVALID BECAUSE THE PAGESET HAS USER-MANAGED DATA SETS
-567 bind-type AUTHORIZATION ERROR USING auth-id AUTHORITY PACKAGE = package-name PRIVILEGE = privilege -628 THE CLAUSES ARE MUTUALLY EXCLUSIVE.
-571 THE STATEMENT WOULD RESULT IN A MULTIPLE SITE UPDATE -629 SET NULL CANNOT BE SPECIFIED BECAUSE FOREIGN KEY name CANNOT CONTAIN NULL VALUES
-574 THE SPECIFIED DEFAULT VALUE CONFLICTS WITH THE COLUMN DEFINITION. -630 THE WHERE NOT NULL SPECIFICATION IS INVALID FOR TYPE 1 INDEXES
-601 THE NAME OF THE OBJECT TO BE CREATED IS IDENTICAL TO THE EXISTING NAME name OF THE OBJECT TYPE obj-type -631 FOREIGN KEY name IS TOO LONG OR HAS TOO MANY COLUMNS
-602 TOO MANY COLUMNS SPECIFIED IN A CREATE INDEX -632 THE TABLE CANNOT BE DEFINED AS A DEPENDENT OF table-name BECAUSE OF DELETE RULE RESTRICTIONS
-603 A UNIQUE INDEX CANNOT BE CREATED BECAUSE THE TABLE CONTAINS ROWS WHICH ARE DUPLICATES WITH RESPECT TO THE VALUES OF THE IDENTIFIED COLUMNS -633 THE DELETE RULE MUST BE delete-rule
-604 A COLUMN DEFINITION SPECIFIES AN INVALID LENGTH, PRECISION, OR SCALE ATTRIBUTE -634 THE DELETE RULE MUST NOT BE CASCADE
-607 OPERATION OR OPTION operation IS NOT DEFINED FOR THIS OBJECT -635 THE DELETE RULES CANNOT BE DIFFERENT OR CANNOT BE SET NULL
-611 ONLY LOCKMAX 0 CAN BE SPECIFIED WHEN THE LOCK SIZE OF THE TABLESPACE IS TABLESPACE OR TABLE -636 THE PARTITIONING KEYS ARE NOT SPECIFIED IN ASCENDING OR DESCENDING ORDER
-612 column-name IS A DUPLICATE COLUMN NAME -637 DUPLICATE keyword KEYWORD
-613 THE PRIMARY KEY OR A UNIQUE CONSTRAINT IS TOO LONG OR HAS TOO MANY COLUMNS -638 TABLE table-name CANNOT BE CREATED BECAUSE COLUMN DEFINITION IS MISSING
-614 THE INDEX CANNOT BE CREATED BECAUSE THE SUM OF THE INTERNAL LENGTHS OF THE IDENTIFIED COLUMNS IS GREATER THAN THE ALLOWABLE MAXIMUM -639 A NULLABLE COLUMN OF A FOREIGN KEY WITH A DELETE RULE OF SET NULL CANNOT BE A COLUMN OF THE KEY OF A PARTITIONED INDEX
-615 operation-type IS NOT ALLOWED ON A PACKAGE IN USE -640 LOCKSIZE ROW CANNOT BE SPECIFIED BECAUSE TABLE IN THIS TABLESPACE HAS TYPE 1 INDEX
-616 obj-type1 obj-name1 CANNOT BE DROPPED BECAUSE IT IS REFERENCED BY obj-type2 obj-name2 -642 TOO MANY COLUMNS IN UNIQUE CONSTRAINTS
-617 A TYPE 1 INDEX CANNOT BE DEFINED ON A TABLE IN A TABLE SPACE WITH LOCKSIZE ROW -643 CHECK CONSTRAINT EXCEEDS MAXIMUM ALLOWABLE LENGTH
-618 OPERATION operation IS NOT ALLOWED ON SYSTEM DATABASES -644 INVALID VALUE SPECIFIED FOR KEYWORD keyword IN stmt-type TATEMENT
-619 OPERATION DISALLOWED BECAUSE THE WORK FILE DATABASE IS NOT STOPPED -646 TABLE table-name CANNOT BE CREATED IN PARTITIONED/DEFAULT TABLE SPACE tspace-name BECAUSE IT ALREADY CONTAINS A TABLE
-620 KEYWORD keyword IN stmt type STATEMENT IS NOT PERMITTED FOR A TABLE SPACE IN THE WORK FILE DATABASE -647 BUFFERPOOL bp-name CANNOT BE SPECIFIED BECAUSE IT HAS NOT BEEN ACTIVATED
-621 DUPLICATE DBID dbid WAS DETECTED AND PREVIOUSLY ASSIGNED TO database-name -650 THE ALTER INDEX CANNOT BE EXECUTED, REASON reason
-622 FOR MIXED DATA IS INVALID BECAUSE THE MIXED DATA INSTALL OPTION IS NO -651 TABLE DESCRIPTION EXCEEDS MAXIMUM SIZE OF OBJECT DESCRIPTOR.
-652 VIOLATION OF INSTALLATION DEFINED EDIT OR VALIDATION PROCEDURE proc-name -681 COLUMN column-name IN VIOLATION OF INSTALLATION DEFINED FIELD PROCEDURE. RT: return-code, RS: reason-code, MSG: message-token
-653 TABLE table-name IN PARTITIONED TABLE SPACE tspace-name IS NOT AVAILABLE BECAUSE ITS PARTITIONED INDEX HAS NOT BEEN CREATED -682 FIELD PROCEDURE procedure-name COULD NOT BE LOADED
-655 THE CREATE OR ALTER STOGROUP IS INVALID BECAUSE THE STORAGE GROUP WOULD HAVE BOTH SPECIFIC AND NON-SPECIFIC VOLUME IDS -683 INVALID COLUMN TYPE FOR FIELDPROC, BIT DATA, SBCS DATA, OR MIXED DATA OPTION, column-name
-660 INDEX index-name CANNOT BE CREATED ON PARTITIONED TABLE SPACE tspace-name BECAUSE KEY LIMITS ARE NOT SPECIFIED -684 THE LENGTH OF LITERAL LIST BEGINNING string IS TOO LONG
-661 INDEX index-name CANNOT BE CREATED ON PARTITIONED TABLE SPACE tspace-name BECAUSE THE NUMBER OF PART SPECIFICATIONS IS NOT EQUAL TO THE NUMBER OF PARTITIONS OF THE TABLE SPACE -685 INVALID FIELD TYPE, column-name
-662 A PARTITIONED INDEX CANNOT BE CREATED ON A NON-PARTITIONED TABLE SPACE tspace-name -686 COLUMN DEFINED WITH A FIELD PROCEDURE CAN NOT COMPARE WITH ANOTHER COLUMN WITH DIFFERENT FIELD PROCEDURE
-663 THE NUMBER OF KEY LIMIT VALUES IS EITHER ZERO, OR GREATER THAN THE NUMBER OF COLUMNS IN THE KEY OF INDEX index-name -687 FIELD TYPES INCOMPARABLE
-665 THE PART CLAUSE OF AN ALTER STATEMENT IS OMITTED OR INVALID -688 INCORRECT DATA RETURNED FROM FIELD PROCEDURE, column-name, msgno
-666 stmt-verb object CANNOT BE EXECUTED BECAUSE function IS IN PROGRESS -689 TOO MANY COLUMNS DEFINED FOR A DEPENDENT TABLE
-667 THE CLUSTERING INDEX FOR A PARTITIONED TABLE SPACE CANNOT BE EXPLICITLY DROPPED -690 THE STATEMENT IS REJECTED BY DATA DEFINITION CONTROL SUPPORT. REASON reason-code
-668 THE COLUMN CANNOT BE ADDED TO THE TABLE BECAUSE THE TABLE HAS AN EDIT PROCEDURE -691 THE REQUIRED REGISTRATION TABLE table-name DOES NOT EXIST
-669 A TABLE IN A PARTITIONED TABLE SPACE CANNOT BE EXPLICITLY DROPPED -692 THE REQUIRED UNIQUE INDEX index-name FOR DDL REGISTRATION TABLE table-name DOES NOT EXIST
-670 THE RECORD LENGTH OF THE TABLE EXCEEDS THE PAGE SIZE LIMIT -693 THE COLUMN column-name IN DDL REGISTRATION TABLE OR INDEX table-name (index-name) IS NOT DEFINED PROPERLY
-671 THE BUFFERPOOL ATTRIBUTE OF THE TABLE SPACE CANNOT BE ALTERED AS SPECIFIED BECAUSE IT WOULD CHANGE THE PAGE SIZE OF THE TABLE SPACE -694 THE DDL STATEMENT CANNOT BE EXECUTED BECAUSE A DROP IS PENDING ON THE DDL REGISTRATION TABLE table-name
-672 OPERATION DROP NOT ALLOWED ON TABLE table_name -713 THE REPLACEMENT VALUE FOR special-register IS INVALID
-676 A 32K PAGE BUFFERPOOL MAY NOT BE USED FOR AN INDEX -715 PROGRAM program-name WITH MARK release-dependency-mark FAILED BECAUSE IT DEPENDS ON FUNCTIONS OF THE RELEASE FROM WHICH FALLBACK HAS OCCURRED
-677 INSUFFICIENT VIRTUAL STORAGE FOR BUFFERPOOL EXPANSION -716 PROGRAM program-name PRECOMPILED WITH INCORRECT LEVEL FOR THIS RELEASE.
-678 THE LITERAL literal SPECIFIED FOR THE INDEX LIMIT KEY MUST CONFORM TO THE DATA TYPE data-type OF THE CORRESPONDING COLUMN column-name -717 bind-type FOR object-type object-name WITH MARK release-dependency-mark FAILED BECAUSE object-type DEPENDS ON FUNCTIONS OF THE RELEASE FROM WHICH FALLBACK HAS OCCURRED.
-679 THE OBJECT name CANNOT BE CREATED BECAUSE A DROP IS PENDING ON THE OBJECT -718 REBIND FOR PACKAGE package-name FAILED BECAUSE IBMREQD OF ibmreqd IS INVALID
-680 TOO MANY COLUMNS SPECIFIED FOR A TABLE -719 BIND ADD ERROR USING auth-id AUTHORITY PACKAGE package-name ALREADY EXISTS
-720 BIND ERROR, ATTEMPTING TO REPLACE PACKAGE = package_name WITH VERSION = version2 BUT THIS VERSION ALREADY EXISTS
-721 BIND ERROR FOR PACKAGE = pkg-id CONTOKEN = 'contoken'X IS NOT UNIQUE SO IT CANNOT BE CREATED -808 THE CONNECT STATEMENT IS NOT CONSISTENT WITH THE FIRST CONNECT STATEMENT
-722 bind-type ERROR USING auth-id AUTHORITY PACKAGE package-name DOES NOT EXIST -811 THE RESULT OF AN EMBEDDED SELECT STATEMENT IS A TABLE OF MORE THAN ONE ROW, OR THE RESULT OF THE SUBQUERY OF A BASIC PREDICATE IS MORE THAN ONE VALUE
-726 BIND ERROR ATTEMPTING TO REPLACE PACKAGE = . THERE ARE ENABLE OR DISABLE ENTRIES CURRENTLY ASSOCIATED WITH THE PACKAGE -812 THE SQL STATEMENT CANNOT BE PROCESSED BECAUSE A BLANK COLLECTION-ID WAS FOUND IN THE CURRENT PACKAGESET SPECIAL REGISTER WHILE TRYING TO FORM A QUALIFIED PACKAGE NAME FOR PROGRAM program-name.consistency-token USING PLAN plan-name
-730 THE PARENT OF A TABLE IN A READ-ONLY SHARED DATABASE MUST ALSO BE A TABLE IN A READ-ONLY SHARED DATABASE -815 A GROUP BY OR HAVING CLAUSE IS IMPLICITLY OR EXPLICITLY SPECIFIED IN AN EMBEDDED SELECT STATEMENT OR A SUBQUERY OF A BASIC PREDICATE
-731 USER-DEFINED DATASET dsname MUST BE DEFINED WITH SHAREOPTIONS(1,3) -817 THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THE STATEMENT WILL RESULT IN A PROHIBITED UPDATE OPERATION
-732 THE DATABASE IS DEFINED ON THIS SUBSYSTEM WITH THE ROSHARE READ ATTRIBUTE BUT THE TABLE SPACE OR INDEX SPACE HAS NOT BEEN DEFINED ON THE OWNING SUBSYSTEM -818 THE PRECOMPILER-GENERATED TIMESTAMP x IN THE LOAD MODULE IS DIFFERENT FROM THE BIND TIMESTAMP y BUILT FROM THE DBRM z
-733 THE DESCRIPTION OF A TABLE SPACE, INDEX SPACE, OR TABLE IN A ROSHARE READ DATABASE MUST BE CONSISTENT WITH ITS DESCRIPTION IN THE OWNER SYSTEM -819 THE VIEW CANNOT BE PROCESSED BECAUSE THE LENGTH OF ITS PARSE TREE IN THE CATALOG IS ZERO
-734 THE ROSHARE ATTRIBUTE OF A DATABASE CANNOT BE ALTERED FROM ROSHARE READ -820 THE SQL STATEMENT CANNOT BE PROCESSED BECAUSE catalog-table CONTAINS A VALUE THAT IS NOT VALID IN THIS RELEASE
-735 DATABASE dbid CANNOT BE ACCESSED BECAUSE IT IS NO LONGER A SHARED DATABASE -822 THE SQLDA CONTAINS AN INVALID DATA ADDRESS OR INDICATOR VARIABLE ADDRESS
-736 INVALID OBID obid SPECIFIED -840 TOO MANY ITEMS RETURNED IN A SELECT OR INSERT LIST
-737 IMPLICIT TABLE SPACE NOT ALLOWED -842 A CONNECTION TO location-name ALREADY EXISTS
-741 A WORK FILE DATABASE IS ALREADY DEFINED FOR MEMBER member-name -843 THE SET CONNECTION OR RELEASE STATEMENT MUST SPECIFY AN EXISTING CONNECTION
-742 DSNDB07 IS THE IMPLICIT WORK FILE DATABASE -870 THE NUMBER OF HOST VARIABLES IN THE STATEMENT IS NOT EQUAL TO THE NUMBER OF DESCRIPTORS
-751 A STORED PROCEDURE HAS BEEN PLACED IN MUST_ROLLBACK STATE DUE TO SQL OPERATION name -900 THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THE APPLICATION PROCESS IS NOT CONNECTED TO AN APPLICATION SERVER
-752 THE CONNECT STATEMENT IS INVALID BECAUSE THE PROCESS IS NOT IN THE CONNECTABLE STATE -901 UNSUCCESSFUL EXECUTION CAUSED BY A SYSTEM ERROR THAT DOES NOT PRECLUDE THE SUCCESSFUL EXECUTION OF SUBSEQUENT SQL STATEMENTS
-802 EXCEPTION ERROR 'exception-type' HAS OCCURRED DURING 'operation-type' OPERATION ON 'data-type' DATA, POSITION 'position-number' -902 POINTER TO THE ESSENTIAL CONTROL BLOCK (CT/RDA) HAS VALUE 0, REBIND REQUIRED
-803 AN INSERTED OR UPDATED VALUE IS INVALID BECAUSE THE INDEX IN INDEX SPACE indexspace-name CONSTRAINS COLUMNS OF THE TABLE SO NO TWO ROWS CAN CONTAIN DUPLICATE VALUES IN THOSE COLUMNS. RID OF EXISTING ROW IS X'rid' -904 UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON reason-code, TYPE OF RESOURCE resource-type, AND RESOURCE NAME resource-name
-804 AN ERROR WAS FOUND IN THE APPLICATION PROGRAM INPUT PARAMETERS FOR THE SQL STATEMENT. REASON reason -905 UNSUCCESSFUL EXECUTION DUE TO RESOURCE LIMIT BEING EXCEEDED, RESOURCE NAME = resource-name LIMIT = limit-amount1 CPU SECONDS (limit-amount2 SERVICE UNITS) DERIVED FROM limit-source
-805 DBRM or PACKAGE NAME location-name.collection-id.dbrm-name.consistency -token NOT FOUND IN PLAN plan-name. REASON reason -906 THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THIS FUNCTION IS DISABLED DUE TO A PRIOR ERROR
-807 ACCESS DENIED: PACKAGE package-name IS NOT ENABLED FOR ACCESS FROM connection-type connection-name -908 bind-type ERROR USING auth-id AUTHORITY BIND, REBIND OR AUTO-REBIND OPERATION IS NOT ALLOWED
-909 THE OBJECT HAS BEEN DELETED -30000 EXECUTION FAILED DUE TO A DISTRIBUTION PROTOCOL ERROR THAT WILL NOT AFFECT THE SUCCESSFUL EXECUTION OF SUBSEQUENT COMMANDS OR SQL STATEMENTS: REASON reason-code (sub-code)
-910 THE SQL STATEMENT CANNOT ACCESS AN OBJECT ON WHICH A DROP OR ALTER IS PENDING -30020 EXECUTION FAILED DUE TO A DISTRIBUTION PROTOCOL ERROR THAT CAUSED DEALLOCATION OF THE CONVERSATION: REASON
-911 THE CURRENT UNIT OF WORK HAS BEEN ROLLED BACK DUE TO DEADLOCK OR TIMEOUT. REASON reason-code, TYPE OF RESOURCE resource-type, AND RESOURCE NAME resource-name -30021 EXECUTION FAILED DUE TO A DISTRIBUTION PROTOCOL ERROR THAT WILL AFFECT THE SUCCESSFUL EXECUTION OF SUBSEQUENT COMMANDS OR SQL STATEMENTS: MANAGER manager AT LEVEL level NOT SUPPORTED ERROR
-913 UNSUCCESSFUL EXECUTION CAUSED BY DEADLOCK OR TIMEOUT. REASON CODE reason-code, TYPE OF RESOURCE resource-type, AND RESOURCE NAME resource-name -30030 COMMIT REQUEST WAS UNSUCCESSFUL, A DISTRIBUTION PROTOCOL VIOLATION HAS BEEN DETECTED, THE CONVERSATION HAS BEEN DEALLOCATED. ORIGINAL SQLCODE=original-sqlcode AND ORIGINAL SQLSTATE=original-sqlstate
-917 BIND PACKAGE FAILED -30040 EXECUTION FAILED DUE TO UNAVAILABLE RESOURCES THAT WILL NOT AFFECT THE SUCCESSFUL EXECUTION OF SUBSEQUENT COMMANDS OR SQL STATEMENTS. REASON TYPE OF RESOURCE RESOURCE NAME PRODUCT ID RDBNAME
-918 THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE A CONNECTION HAS BEEN LOST -30041 EXECUTION FAILED DUE TO UNAVAILABLE RESOURCES THAT WILL AFFECT THE SUCCESSFUL EXECUTION OF SUBSEQUENT COMMANDS AND SQL STATEMENTS REASON TYPE OF RESOURCE RESOURCE NAME PRODUCT ID RDBNAME
-919 A ROLLBACK OPERATION IS REQUIRED -30050 COMMAND OR SQL STATEMENT INVALID WHILE BIND PROCESS IN PROGRESS
-922 AUTHORIZATION FAILURE: error-type ERROR. REASON reason-code -30051 BIND PROCESS WITH SPECIFIED PACKAGE NAME AND CONSISTENCY TOKEN NOT ACTIVE
-923 CONNECTION NOT ESTABLISHED: DB2 condition REASON reason-code, TYPE resource-type, NAME resource-name -30052 PROGRAM PREPARATION ASSUMPTIONS ARE INCORRECT
-924 DB2 CONNECTION INTERNAL ERROR, function-code, return-code, reason-code -30053 OWNER AUTHORIZATION FAILURE
-925 COMMIT NOT VALID IN IMS/VS OR CICS ENVIRONMENT -30060 RDB AUTHORIZATION FAILURE
-926 ROLLBACK NOT VALID IN IMS/VS OR CICS ENVIRONMENT -30061 RDB NOT FOUND
-927 THE LANGUAGE INTERFACE (LI) WAS CALLED WHEN THE CONNECTING ENVIRONMENT WAS NOT ESTABLISHED. THE PROGRAM SHOULD BE INVOKED UNDER THE DSN COMMAND -30070 COMMAND NOT SUPPORTED ERROR
-929 FAILURE IN A DATA CAPTURE EXIT: token -30071 OBJECT NOT SUPPORTED ERROR
-939 ROLLBACK REQUIRED DUE TO UNREQUESTED ROLLBACK OF A REMOTE SERVER -30072 : PARAMETER NOT SUPPORTED ERROR
-947 THE SQL STATEMENT FAILED BECAUSE IT WILL CHANGE A TABLE DEFINED WITH DATA CAPTURE CHANGES, BUT THE DATA CANNOT BE PROPAGATED -30073 : PARAMETER VALUE NOT SUPPORTED ERROR
-948 DISTRIBUTED OPERATION IS INVALID -30074 REPLY MESSAGE WITH codepoint (svrcod) NOT SUPPORTED ERROR
-950 THE LOCATION NAME SPECIFIED IN THE CONNECT STATEMENT IS INVALID OR NOT LISTED IN THE COMMUNICATIONS DATABASE -30080 COMMUNICATION ERROR code (subcode)
-965 STORED PROCEDURE procname TERMINATED ABNORMALLY -30090 REMOTE OPERATION INVALID FOR APPLICATION EXECUTION ENVIRONMENT
-2001 THE NUMBER OF HOST VARIABLE PARAMETERS FOR A STORED PROCEDURE IS NOT EQUAL TO THE NUMBER OF EXPECTED HOST VARIABLE PARAMETERS. ACTUAL NUMBER sqldanum, EXPECTED NUMBER opnum