Академический Документы
Профессиональный Документы
Культура Документы
DB2/COBOL
I N D I C E
-----------
1
1a
1b
1c
1d
1e
1f
1g
1h
2
2a
2b
2c
IKJEFT01 ...........................................
Execuo de comandos DB2 via batch .................
Execuo de comandos DB2 via aplicativo Cobol ......
Informaes usadas pelo DB2 ........................
3
3a
3b
3c
3d
1 CONCEITOS BSICOS
SUB-SISTEMA
DATABASE
TABLESPACE
TABLE
DADOS
STORAGE GROUP
INDEX
VIEW
RELATIONAL DATABASE
Um relational database (RDB) um database composto de um conjunto de tabelas, manipuladas de
acordo com o modelo de dados relacional.
Ele contm um conjunto de objetos usados para armazenar, manipular e acessar dados.
Exemplos desses objetos so : tabelas, views, indices, funes, etc...
QUERIES
Uma query um componente de certos SQL statements que especifica uma result table temporria.
TABELAS
So estruturas mantidas pelo gerenciador de banco de dados.
So compostas de colunas (COLUMNS) e linhas (ROWS).
Denomina-se RESULT TABLE tabela gerada como resultado de uma QUERY.
VIEW
uma forma alternativa de visualizar dados em uma ou mais tabelas.
, na verdade, uma result table.
Especifica-se sua estrutura num SELECT, indicando a origem dos dados que iro compo-la.
NDICE
um conjunto ordenado de pointers para linhas de uma tabela. baseado nos valores que as colunas
chave contm.
Os ndices so utilizados para :
Possibilitar acesso atravs de chaves distintas
Melhorar a performance
Assegurar a unicidade de chaves.
KEYS
um conjunto ordenado de colunas usado para identificar e acessar determinada(s) linha(s). Uma
determinada coluna pode fazer parte de uma ou mais chaves.
Uma composite key (chave composta) aquela composta de mais de uma coluna.
Uma unique key (chave nica) aquela que no permite mais de uma linha com valores iguais.
Uma primary key (chave primria) um caso especial de unique key, e a que permite o
armazenamento e acesso bsico a uma tabela.
Uma foreign key (chave estrangeira) aquela definida atravs de um referential constraint (regras de
construo).
CONSTAINTS
Um constraint uma regra que o gerenciador de base de dados permite.
Um unique constraint uma regra que probe a duplicidade de valores em uma ou mais colunas
de uma tabela. Unique e primary keys so exemplos de unique constraints. Por exemplo, um
unique constraint pode ser definido no cdigo de fornecedor de uma tabela de fornecedores, para
assegurar que o mesmo cdigo de fornecedor no seja dado a dois (ou mais) fornecedores.
Um referential constraint uma regra lgica a respeito de valores em uma ou mais colunas em
uma ou mais tabelas. Por exemplo, um conjunto de tabelas que compartilhem informaes a
respeito de fornecedores de uma corporao. Um referential constraint pode ser definido, por
exemplo, para indicar que toda vez que for solicitada uma excluso (delete) de fornecedor, seja
verificado se no existem outras tabelas relacionadas que fazem meno ao cdigo do
fornecedor.
Um table check constraint estabelece restries para quando alguma informao for inserida
(insert) numa tabela. Por exemplo, pode-se definir um table check constraint que impea que
seja gravado (por incluso ou atualizao) um salrio de funcionrio < 180,00.
BUILT-IN DATA TYPES
External data = DATALINK
Datetime
TIME
TIMESTAMP
DATE
String
Character
CHAR (tamanho fixo)
VARCHAR (tamanho varivel)
CLOB (tamanho varivel)
Graphic
GRAPHIC (tamanho fixo)
VARGRAPHIC (tamanho varivel)
DBCLOB (tamanho varivel)
BLOB (binrio tamnaho varivel)
Numrico com sinal
exato
binrio inteiro
SMALLINT
INTEGER
BIGINT
DECIMAL (decimal compactado)
aproximado
REAL (ponto flutuante preciso simples)
DOUBLE (ponto flutuante preciso dupla)
Obs.: Nulls : Todos os data types permitem, opcionalmente, um valor null, o qual indica a ausncia de
informao. Colunas definidas como NOT NULL no poderam conter valor null.
2 IKJEFT01
2a. Execuo de comandos DB2 via batch
Memria
Sistema
Operacional Gerenciador
(programa IKJEFT01)
DB2
Servios
Resultado
Exemplo :
SYSIN
(SELECT * FROM
TABELA_CLIENTES)
Sistema
Operacional Gerenciador
(programa IKJEFT01)
DB2
SELECT * FROM
TABELA_CLIENTES
(RESULTADO)
BASE DE DADOS
SYSPRINT
(RESULTADO)
LIB('SYS1.DSNDB1D.RUNLIB.LOAD'
PAGE
1
***INPUT STATEMENT:
SELECT *
FROM DB2T.ZZZ_AGECLI
SQLERROR ON
SELECT
COMMAND, PREPARE FUNCTION
RESULT OF SQL STATEMENT:
DSNT408I SQLCODE = -204, ERROR: DB2T.ZZZ_AGECLI IS AN UNDEFINED NAME
DSNT418I SQLSTATE
= 42704 SQLSTATE RETURN CODE
DSNT415I SQLERRP
= DSNXOTL SQL PROCEDURE DETECTING ERROR
DSNT416I SQLERRD
= -500 0 0 -1 0 0 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD
= X'FFFFFE0C' X'00000000' X'00000000' X'FFFFFFFF'
INFORMATION
Memria
Sistema
Operacional Gerenciador
DB2
SELECT * FROM
TABELA_CLIENTES
SELECT * FROM
TABELA_CLIENTES
(RESULTADO)
Exemplo :
ARQUIVOS DO PROGRAMA
Sistema
Operacional Gerenciador
DB2
SELECT * FROM
TABELA_CLIENTES
SELECT * FROM
TABELA_CLIENTES
(RESULTADO)
BASE DE DADOS
SYSIBM.SYSTABLES
SYSIBM.SYSCOLUMNS
SYSIBM.SYSDBAUTH
SYSIBM.SYSTABAUTH
SYSIBM.SYSINDEXES
SYSIBM.SYSRELS
SYSIBM.SYSTABCONST
DB2
IKJEFT01
Base de Dados
SYSIBM.SYSDBAUTH
SYSIBM.SYSTABS
TABELA
ACT0001
COLUNA
--NRFILIAL
CDCIDADE
CDNOMEFA
TPFRANQU
CDOFERTA
INGRHEAD
DESCRICAO
---NUMERO FILIAL
CODIGO CIDADE
CODIGO NOME FANTASIA
TIPO FRANQUIA
CODIGO OFERTA
INDICADOR GROUP HEAD
SEQ
--1
2
3
4
5
6
TIPO
---DECIMAL
SMALLINT
SMALLINT
SMALLINT
SMALLINT
CHAR
TAM
--3
2
2
2
2
1
NUL
--N
N
N
N
N
N
+
+
SELECT
TBNAME
FROM SYSIBM.SYSCOLUMNS
INTO :TBNAME-X
+
+
+
+
SELECT
+
+
+
SELECT
+
+
+
+
+
+
+
SELECT
+
+
+
+
TBNAME, NAME
FROM SYSIBM.SYSCOLUMNS
WHERE COLNO = 1
ORDER BY NAME
INTO :TBNAME-X, :NAME-X
SELECT culuna(s)
FROM tabela
GROUP BY coluna
FROM =
Nome da tabela
INTO =
Nomes das variveis
onde
sero
colocados
os
WHERE =
Filtro das linhas
desejadas
ORDER =
Classificao
desejada
GROUP BY =
Para tratar grupos de
linhas
MAX(SALARY)
COLUNAS
Especificar
ou
ou
ou
sozinho.
WHERE
Especificar o(s) filtro(s) de seleo para o contedo da(s) coluna(s).
ORDER
Especificar a ordem de classificao.
Pode ser feita atravs do nome da coluna, ou de um inteiro que indique seu
nmero, ou uma expresso.
O DB2 ordena primeiro pela primeira chave (coluna) especificada, depois
pela segunda, e assim por diante.
Pode-se especificar ordem ascendente ou descendente. Dados nulos aparecem
por ultimo (na ordem ascendente) ou no incio (se a ordem solicitada for
descendente).
GROUP BY
Especificar a coluna para tratar por grupo de linhas.
Se usada, a clusula GROUP BY deve seguir a clusula FROM (e a WHERE, se
houver), e deve preceder a clusula ORDER BY.
Pode-se, tambm, totalizar mais de um grupo de colunas.
WHERE
Operadores :
Tipo de comparao
Equal to null
Equal to
Not equal to
Less than
Less than or equal to
Not less than
Greater than
Greater than or equal to
Not greater than
Similar to another value
At least one of two
conditions
Both of two conditions
Between two values
Equals a value in a set
Especificar
IS NULL
=
<>
<
<=
>=
>
>=
<=
LIKE
Exemplo
PHONENO IS NULL
DEPTNO = 'X01'
DEPTNO <> 'X01'
AVG(SALARY) < 30000
AGE <= 25
AGE >= 21
SALARY > 2000
SALARY >= 5000
SALARY <= 5000
NAME LIKE '%SMITH%' or STATUS LIKE
'N_'
OR
AND
BETWEEN
IN (X, Y, Z)
Pode-se tambm pesquisar por linhas que NO satisfaam as condies, usando a palavrachave NOT antes de especificar a condio.
FUNES
SINTAXE
DESCRIO / EXEMPLO
Retorna a mdia
AVG(SALARIO)
COUNT([DISTINCT] [ALL] expressao/*) Retorna a quantidade (quantas vezes no
nulo)
COUNT(SALARIO)
HEX(coluna)
Retorna o contedo, em hexadecimal, da coluna
especificada
HEX(CD_AGE) = 00000A
MAX([DISTINCT] [ALL] expressao)
Retorna o valor mximo
MAX(SALARIO)
MIN([DISTINCT] [ALL] expressao)
Retorna o valor minimo
MIN(SALARIO)
SUM([DISTINCT] [ALL] expressao)
Retorna a somatoria
SUM(SALARIO)
AVG([DISTINCT] [ALL] expressao)
Mais exemplos
Selecionar todas as colunas e linhas da tabela DB2T.ZZZ102_SLDCLI.
SELECT * FROM DB2T.ZZZ102_SLDCLI;
+-------------------------------------------------------------------------------------------------------------+
|
CD_AGE_SLD
|
CD_CLI
|
NM_CLI
|
TEL_CLI
|
VL_SDO_CLI
|
+-------------------------------------------------------------------------------------------------------------+
1_|
110 |
920 | MAURO LOPES
|
99106925 |
4550.00 |
2_|
110 |
900 | JOSE XAVIER MARQUES
|
99106688 |
565.30 |
3_|
80 |
130 | 123 oliveira 4
|
99190011 |
4233.09 |
4_|
40 |
320 | BIA MOREIRA FILHA
|
8563212 |
0.00 |
5_|
50 |
130 | VOLTAIRE DA SILVA
|
99103607 |
3550.70 |
6_|
40 |
120 | BIA MOREIRA
|
8563212 |
0.00 |
+-------------------------------------------------------------------------------------------------------------+
SUCCESSFUL RETRIEVAL OF
6 ROW(S)
Selecionar colunas
Selecionar colunas
eliminando duplicidade
5 ROW(S)
CD_AGE_SLD,
MIN(VL_SDO_CLI) AS MINIMO,
MAX(VL_SDO_CLI),
AVG(VL_SDO_CLI) AS MEDIA
FROM DB2T.ZZZ102_SLDCLI
GROUP BY CD_AGE_SLD;
+-------------------------------------------------------------------------------+
|
CD_AGE_SLD
|
MINIMO
|
|
MEDIA
|
+-------------------------------------------------------------------------------+
1_|
40 |
0.00 |
0.00 |
0.00 |
2_|
50 |
3550.70 |
3550.70 |
3550.70 |
3_|
80 |
4233.09 |
4233.09 |
4233.09 |
4_|
110 |
565.30 |
4550.00 |
2557.65 |
+-------------------------------------------------------------------------------+
SUCCESSFUL RETRIEVAL OF
4 ROW(S)
6 ROW(S)
1 ROW(S)
1 ROW(S)
1 ROW(S)
1 ROW(S)
3b - COMANDO UPDATE
1 Utilizado para atualizar dados de colunas numa tabela.
2 - Pode-se alterar o contedo de um dado para NULL (delat-lo) ou usando uma expresso.
3 Se a clusula WHERE for omitida, sero alteradas TODAS as linhas.
4 Se houver algum erro durante a atualizao, ela interrompida, e as colunas j alteradas no
so restauradas.
5 Se o update for bem sucedido, colocado na a varivel SQLERRD(3) a quantidade de linhas
alteradas.
UPDATE DB2T.ZZZ102_SLDCLI
SET VL_SDO_CLI = 11
WHERE VL_SDO_CLI = 0;
***INPUT STATEMENT:
UPDATE DB2T.ZZZ102_SLDCLI
SET VL_SDO_CLI = 11
WHERE VL_SDO_CLI = 0;
RESULT OF SQL STATEMENT:
DSNT400I SQLCODE = 000, SUCCESSFUL EXECUTION
DSNT416I SQLERRD
= 0 0 2 -1 0 0 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD
= X'00000000' X'00000000' X'00000002' X'FFFFFFFF'
INFORMATION
SUCCESSFUL UPDATE
OF
2 ROW(S)
3c - COMANDO INSERT
Utilizado para inserir linhas numa tabela.
INSERT INTO DB2T.ZZZ100_CADAGE
(CD_AGE, NM_AGE, END_AGE, TEL_AGE)
VALUES (77,'PARI','RUA XX 555',5555678);
PAGE
1
***INPUT STATEMENT:
INSERT INTO DB2T.ZZZ100_CADAGE
(CD_AGE, NM_AGE, END_AGE, TEL_AGE)
VALUES (77,'PARI','RUA XX 555',5555678);
RESULT OF SQL STATEMENT:
DSNT400I SQLCODE = 000, SUCCESSFUL EXECUTION
DSNT416I SQLERRD
= 0 0 1 -1 0 0 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD
= X'00000000' X'00000000' X'00000001' X'FFFFFFFF'
INFORMATION
SUCCESSFUL INSERT
OF
1 ROW(S)
***INPUT STATEMENT:
SELECT *
FROM DB2T.ZZZ100_CADAGE
WHERE CD_AGE = 77;
+-----------------------------------------------------------------------------------+
|
CD_AGE
|
NM_AGE
|
END_AGE
| TEL_AGE
|
+-----------------------------------------------------------------------------------+
1_|
77 | PARI
| RUA XX 555
|
5555678 |
+-----------------------------------------------------------------------------------+
SUCCESSFUL RETRIEVAL OF
1 ROW(S)
3d - COMANDO DELETE
Utilizado para ELIMINAR linhas de uma tabela.
DELETE FROM DB2T.ZZZ100_CADAGE
WHERE CD_AGE = 77;
***INPUT STATEMENT:
DELETE FROM DB2T.ZZZ100_CADAGE
WHERE CD_AGE = 77;
RESULT OF SQL STATEMENT:
DSNT400I SQLCODE = 000, SUCCESSFUL EXECUTION
DSNT416I SQLERRD
= 0 0 1 -1 0 0 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD
= X'00000000' X'00000000' X'00000001' X'FFFFFFFF'
INFORMATION
SUCCESSFUL DELETE
OF
1 ROW(S)
***INPUT STATEMENT:
SELECT *
FROM DB2T.ZZZ100_CADAGE
WHERE CD_AGE = 77;
SUCCESSFUL RETRIEVAL OF
0 ROW(S)
(PR-COMPILADOR)
Mensagens
(erros / resultados da
anlise dos comandos)
COMPILADOR COBOL
NORMAL
Mensagens
(erros / resultados da
compilao)
PROGRAMA OBJETO
LINKEDITOR
PROGRAMA EXECUTVEL
Mensagens
(erros / resultados da
linkedio)
EXEMPLO :
FONTE
ID DIVISION.
PROGRAM-ID. TESTE.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT ABNA215
ASSIGN
TO ABNA215.
*----------------------------------------------------------------DATA DIVISION.
FILE SECTION.
FD ABNA215.
01 ABNA215-FD PIC X(70).
*----------------------------------------------------------------WORKING-STORAGE SECTION.
01
W-LIDOS-ABNA215
PIC 9(0006) VALUE ZEROS.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
*----------------------------------------------------------------PROCEDURE DIVISION.
ROTINA-PRINCIPAL SECTION.
EXEC SQL
WHENEVER SQLERROR CONTINUE
END-EXEC.
OPEN INPUT ABNA215.
LER.
READ ABNA215 AT END GO TO FIM-ABNA215.
ADD 1 TO W-LIDOS-ABNA215.
DISPLAY 'LISO O REGISTRO DE NUMERO ' W-LIDOS-ABNA215.
GO TO LER.
FIM-ABNA215.
DISPLAY 'ACABOU O ARQUIVO'.
GOBACK.
*-----------------------------------------------------------------
COMP001.PC.SYSPRINT
DB2 SQL PRECOMPILER
VERSION 5 REL. 1.0
OPTIONS SPECIFIED: HOST(COB2),APOST,SOURCE
OPTIONS USED - SPECIFIED OR DEFAULTED
APOST
APOSTSQL
ATTACH(TSO)
CONNECT(2)
DEC(15)
FLAG(I)
HOST(COB2)
NOT KATAKANA
LINECOUNT(60)
MARGINS(8,72)
ONEPASS
OPTIONS
PERIOD
SOURCE
STDSQL(NO)
SQL(DB2)
NOXREF
DB2 SQL PRECOMPILER
VERSION 5 REL. 1.0
1
ID DIVISION.
2
PROGRAM-ID. TESTE.
3
ENVIRONMENT DIVISION.
4
CONFIGURATION SECTION.
5
INPUT-OUTPUT SECTION.
6
7
FILE-CONTROL.
8
9
SELECT ABNA215
ASSIGN
TO ABNA215.
10
11
*---------------------------------------------------12
13
DATA DIVISION.
14
FILE SECTION.
15
16
FD ABNA215.
17
01 ABNA215-FD PIC X(70).
18
*---------------------------------------------------19
20
WORKING-STORAGE SECTION.
21
01
W-LIDOS-ABNA215
PIC 9(0006) VALUE
22
EXEC SQL
23
INCLUDE SQLCA
24
END-EXEC.
25
*---------------------------------------------------26
27
PROCEDURE DIVISION.
28
ROTINA-PRINCIPAL SECTION.
29
EXEC SQL
30
WHENEVER SQLERROR CONTINUE
31
END-EXEC.
32
OPEN INPUT ABNA215.
33
LER.
34
READ ABNA215 AT END GO TO FIM-ABNA215.
35
ADD 1 TO W-LIDOS-ABNA215.
36
DISPLAY 'LISO O REGISTRO DE NUMERO ' W-LIDOS-ABN
37
GO TO LER.
38
FIM-ABNA215.
39
DISPLAY 'ACABOU O ARQUIVO'.
40
GOBACK.
41
42
*---------------------------------------------------DB2 SQL PRECOMPILER
STATISTICS
SOURCE STATISTICS
SOURCE LINES READ: 42
NUMBER OF SYMBOLS: 3
SYMBOL TABLE BYTES EXCLUDING ATTRIBUTES: 1296
THERE WERE 0 MESSAGES FOR THIS PROGRAM.
THERE WERE 0 MESSAGES SUPPRESSED BY THE FLAG OPTION.
141200 BYTES OF STORAGE WERE USED BY THE PRECOMPILER.
RETURN CODE IS 0
COMP001.PC.SYSTERM
SOURCE STATISTICS
SOURCE LINES READ: 42
NUMBER OF SYMBOLS: 3
SYMBOL TABLE BYTES EXCLUDING ATTRIBUTES: 1296
THERE WERE 0 MESSAGES FOR THIS PROGRAM.
THERE WERE 0 MESSAGES SUPPRESSED BY THE FLAG OPTION.
141200 BYTES OF STORAGE WERE USED BY THE PRECOMPILER.
RETURN CODE IS 0
1.2.1
LANGUAGE(EN)
LIB
LINECOUNT(60)
NOLIST
NOMAP
NONAME
NONUMBER
NUMPROC(NOPFD)
OBJECT
OFFSET
NOOPTIMIZE
OUTDD(SYSOUT)
PGMNAME(COMPAT)
NORENT
RMODE(AUTO)
SEQUENCE
SIZE(MAX)
SOURCE
SPACE(1)
NOSSRANGE
NOTERM
NOTEST
TRUNC(STD)
NOTYPECHK
NOVBREF
NOWORD
NOXREF
ZWB
PP 5688-197 IBM COBOL for MVS and VM
1.2.1
TESTE
LineID PL SL ----+-*A-1-B--+----2----+----3----+----4----+----5----+000001
ID DIVISION.
000002
PROGRAM-ID. TESTE.
000003
ENVIRONMENT DIVISION.
000004
CONFIGURATION SECTION.
000005
INPUT-OUTPUT SECTION.
000006
000007
FILE-CONTROL.
000008
000009
SELECT ABNA215
ASSIGN
TO ABNA215.
000010
000011
*------------------------------------------------000012
000013
DATA DIVISION.
000014
FILE SECTION.
000015
000016
FD ABNA215.
000017
01 ABNA215-FD PIC X(70).
000018
*------------------------------------------------000019
000020
WORKING-STORAGE SECTION.
000021
01
W-LIDOS-ABNA215
PIC 9(0006) VAL
000022
*****
EXEC SQL
000023
*****
INCLUDE SQLCA
000024
*****
END-EXEC.
000025
01 SQLCA.
000026
05 SQLCAID
PIC X(8).
000027
05 SQLCABC
PIC S9(9) COMP-4.
000028
05 SQLCODE
PIC S9(9) COMP-4.
000029
05 SQLERRM.
000030
49 SQLERRML PIC S9(4) COMP-4.
000031
49 SQLERRMC PIC X(70).
000032
05 SQLERRP
PIC X(8).
000033
05 SQLERRD
OCCURS 6 TIMES
000034
PIC S9(9) COMP-4.
000035
05 SQLWARN.
000036
10 SQLWARN0 PIC X.
000037
10 SQLWARN1 PIC X.
000038
10 SQLWARN2 PIC X.
000039
10 SQLWARN3 PIC X.
000040
10 SQLWARN4 PIC X.
000041
10 SQLWARN5 PIC X.
000042
10 SQLWARN6 PIC X.
000043
10 SQLWARN7 PIC X.
000044
05 SQLEXT.
000045
10 SQLWARN8 PIC X.
000046
10 SQLWARN9 PIC X.
000047
10 SQLWARNA PIC X.
000048
10 SQLSTATE PIC X(5).
000049
*------------------------------------------------000050
000051
77 SQL-TEMP
PIC X(18).
000052
77 SQL-NULL
PIC S9(9) COMP-4 VALUE +0.
000053
77 SQL-INIT-FLAG PIC S9(4) COMP-4 VALUE +0.
000054
88 SQL-INIT-DONE VALUE +1.
000055
000056
PROCEDURE DIVISION.
000057
DSNSQL SECTION.
PP 5688-197 IBM COBOL for MVS and VM
1.2.1
TESTE
LineID PL SL ----+-*A-1-B--+----2----+----3----+----4----+----5----+000058
SQL-SKIP.
000059
GO TO SQL-INIT-END.
000060
SQL-INITIAL.
000061
MOVE 1 TO SQL-INIT-FLAG.
000062
SQL-INIT-END.
000063
CONTINUE.
000064
000065
ROTINA-PRINCIPAL SECTION.
000066
*****EXEC SQL
000067
*****
WHENEVER SQLERROR CONTINUE
000068
*****END-EXEC.
000069
OPEN INPUT ABNA215.
000070
LER.
000071
READ ABNA215 AT END GO TO FIM-ABNA215.
000072
ADD 1 TO W-LIDOS-ABNA215.
000073
DISPLAY 'LISO O REGISTRO DE NUMERO ' W-LIDOS000074
GO TO LER.
000075
FIM-ABNA215.
000076
DISPLAY 'ACABOU O ARQUIVO'.
000077
GOBACK.
000078
000079
*------------------------------------------------PP 5688-197 IBM COBOL for MVS and VM
1.2.1
TESTE
000000
000048
00004C
000050
000051
000054
000058
00005C
000060
000064
000068
00006C
000070
000074
000078
00007A
00007C
00007E
000080
000084
000088
000089
00008A
00008C
000090
000094
000098
0000A0
0000A8
RESERVED - 72 BYTES
TGT IDENTIFIER
RESERVED - 4 BYTES
TGT LEVEL INDICATOR
RESERVED - 3 SINGLE BYTE FIELDS
32 BIT SWITCH
POINTER TO RUNCOM
POINTER TO COBVEC
POINTER TO PROGRAM DYNAMIC BLOCK TABLE
NUMBER OF FCB'S
WORKING-STORAGE LENGTH
RESERVED - 4 BYTES
ADDRESS OF IGZESMG WORK AREA
ADDRESS OF 1ST GETMAIN BLOCK (SPACE MGR)
RESERVED - 2 BYTES
RESERVED - 2 BYTES
RESERVED - 2 BYTES
MERGE FILE NUMBER
ADDRESS OF CEL COMMON ANCHOR AREA
LENGTH OF TGT
RESERVED - 1 SINGLE BYTE FIELD
PROGRAM MASK USED BY THIS PROGRAM
RESERVED - 2 SINGLE BYTE FIELDS
NUMBER OF SECONDARY FCB CELLS
LENGTH OF THE ALTER VN(VNI) VECTOR
COUNT OF NESTED PROGRAMS IN COMPILE UNIT
DDNAME FOR DISPLAY OUTPUT
RESERVED - 8 BYTES
POINTER TO COM-REG SPECIAL REGISTER
0004BC
0004F0
0004F4
0004F8
0004FC
000500
000504
000508
00050C
000510
000514
000518
00051C
000520
000524
000528
00052C
0000AC
0000E0
0000E4
0000E8
0000EC
0000F0
0000F4
0000F8
0000FC
000100
000104
000108
00010C
000110
000114
000118
00011C
TESTE
TGT
LOCATED AT 000410 FOR 0000014C BYTES
DCB00001 LOCATED AT 000560 FOR 00000060 BYTES
FCB00001 LOCATED AT 0005C0 FOR 00000100 BYTES
GDT00001 LOCATED AT 0006C0 FOR 000000A0 BYTES
SPEC-REG LOCATED AT 000760 FOR 00000049 BYTES
WRK-STOR LOCATED AT 0007B0 FOR 000000B2 BYTES
DSA
WILL BE ALLOCATED FOR 000000A8 BYTES
PP 5688-197 IBM COBOL for MVS and VM
1.2.1
LineID Message code Message text
TESTE
16 IGYGR1216-I
A "RECORDING MODE" of "F" was assumed for file "ABN
Messages
Total
Informational
Warning
Error
Severe
Termi
Printed:
1
1
* Statistics for COBOL program TESTE:
*
Source records = 79
*
Data Division statements = 29
*
Procedure Division statements = 11
End of compilation 1, program TESTE, highest severity 0.
Return code 0
BIND.SYSTSPRT
READY
DSN SYSTEM(DB1D)
DSN
RUN PROGRAM(DSNTIAD) PLAN(DSNTEP2)
LIB('SYS1.DSNDB1D.RUNLIB.LOA
DSN
BIND PACKAGE (COLDB01) MEMBER(TESTE) ISO(CS) ACTION(REP)
OWNER(DB2
DSNT212I # BIND AUTHORIZATION ID DB2DCIP IN THE OWNER KEYWORD
IS INVALID
DSNT233I # UNSUCCESSFUL BIND FOR
PACKAGE = ABN0.COLDB01.TESTE.()
DSN
END
BIND.SYSPRINT
DSNTIAD
Programa
Working-Storage Section
reas diversas (ex.: SQLCA)
Procedure Division
.
.
. instrues diversas. Ex.:
CALL xxxxx
.
.
.
REAS
Declarao na WORKING-STORAGE SECTION
!!!
Programa
Working-Storage Section
SQLCA
Procedure Division
!!!):
EXEC SQL
INCLUDE SQLCA
END-SQL.
Name
sqlcaid
sqlcabc
sqlcode
sqlerrml
sqlerrmc
sqlerrp
sqlerrd
Data Type
CHAR(8)
Field Values
An "eye catcher" for storage dumps containing 'SQLCA'. The
sixth byte is 'L' if line number information is returned from
parsing an SQL procedure body.
INTEGER
Contains the length of the SQLCA, 136.
INTEGER
Contains the SQL return code. For specific meanings of SQL
return codes, see the message section of the Message
Reference.
Code
Means
0
Successful execution (although one or more
SQLWARN indicators may be set).
positive Successful execution, but with a warning
condition.
negative Error condition.
SMALLINT
Length indicator for sqlerrmc, in the range 0 through 70. 0
means that the value of sqlerrmc is not relevant.
VARCHAR (70) Contains one or more tokens, separated by X'FF', that are
substituted for variables in the descriptions of error conditions.
This field is also used when a successful connection is
completed.
When a NOT ATOMIC compound SQL statement is issued, it
may contain information on up to 7 errors.
For specific meanings of SQL return codes, see the message
section of the Message Reference.
CHAR(8)
Begins with a three-letter identifier indicating the product,
followed by five digits indicating the version, release, and
modification level of the product. For example, SQL07010
means DB2 Universal Database Version 7 Release 1
Modification level 0.
If SQLCODE indicates an error condition, then this field
identifies the module that returned the error.
This field is also used when a successful connection is
completed.
ARRAY
Six INTEGER variables that provide diagnostic information.
These values are generally empty if there are no errors, except
for sqlerrd(6) from a partitioned database.
sqlerrd(1) INTEGER
sqlerrd(2) INTEGER
sqlerrd(3) INTEGER
sqlerrd(4) INTEGER
sqlerrd(5) INTEGER
sqlerrd(6) INTEGER
sqlwarn
Array
sqlwarn0
CHAR(1)
sqlwarn1
CHAR(1)
sqlwarn2
CHAR(1)
sqlwarn3
CHAR(1)
sqlwarn4
CHAR(1)
sqlwarn5
sqlwarn6
CHAR(1)
CHAR(1)
sqlwarn7
CHAR(1)
sqlwarn8
CHAR(1)
sqlwarn9
CHAR(1)
sqlwarn10
CHAR(1)
sqlstate
CHAR(5)
WS-SQLCODE
PIC 9999.
EXEC SQL
DECLARE ......
END-SQL.
!!!):
ROTINAS
Chamada na PROCEDURE DIVISION
!!!
IKJEFT01
Rotina aaaaaaaa
Rotina cccccccc
Rotina bbbbbbbb
Rotina dddddddd
Programa
Working-Storage Section
SQLCA
Procedure Division
.
.
.
CALL xxxxx
.
.
.
Rotina eeeeeeee
Rotina xxxxx
SQLERROR
Normalmente chamada no incio (primeira coisa).
Deixa o programa controlar o que feito quando
ocorrer em qualquer cdigo de retorno.
EXEC SQL
WHENEVER SQLERROR commandos imperativos
END-SQL.
DESCRIO / EXEMPLO
Retorna a mdia
AVG(SALARIO)
COUNT([DISTINCT] [ALL] expressao/*) Retorna a quantidade (quantas vezes no
nulo)
COUNT(SALARIO)
HEX(coluna)
Retorna o contedo, em hexadecimal, da coluna
especificada
HEX(CD_AGE) = 00000A
MAX([DISTINCT] [ALL] expressao)
Retorna o valor mximo
MAX(SALARIO)
MIN([DISTINCT] [ALL] expressao)
Retorna o valor minimo
MIN(SALARIO)
SUM([DISTINCT] [ALL] expressao)
Retorna a somatoria
SUM(SALARIO)
AVG([DISTINCT] [ALL] expressao)
6 SQLCODES
000
-007
-010
012
-029
-060
-079
-084
-097
098
100
-101
-102
-103
-104
-105
-107
-108
-109
110
-110
111
-111
-112
-113
-114
-115
117
-117
-118
-119
-120
-121
-122
-123
-125
-126
-127
-128
-129
SUCCESSFUL EXECUTION
STATEMENT CONTAINS THE ILLEGAL CHARACTER
THE STRING CONSTANT BEGINNING IS NOT TERMINATED
THE UNQUALIFIED COLUMN NAME WAS INTERPRETED AS A CORRELATED REFERENCE
INTO CLAUSE REQUIRED
INVALID SPECIFICATION :
QUALIFIER FOR DECLARED GLOBAL TEMPORARY TABLE OR INDEX MUST BE SESSION,
NOT
UNACCEPTABLE SQL STATEMENT
THE USE OF LONG VARCHAR OR LONG VARGRAPHIC IS NOT ALLOWED IN THIS CONTEXT
A DYNAMIC SQL STATEMENT ENDS WITH A SEMICOLON
NOT FOUND:ROW NOT FOUND FOR FETCH, UPDATE, OR DELETE, OR THE RESULT OF A
QUERY IS AN EMPTY TABLE
THE STATEMENT IS TOO LONG OR TOO COMPLEX
LITERAL STRING IS TOO LONG. STRING BEGINS
IS AN INVALID NUMERIC LITERAL
ILLEGAL SYMBOL "". SOME SYMBOLS THAT MIGHT BE LEGAL ARE:
INVALID STRING
THE NAME IS TOO LONG. MAXIMUM ALLOWABLE SIZE IS
THE NAME IS QUALIFIED INCORRECTLY
CLAUSE IS NOT PERMITTED
SQL UPDATE TO A DATA CAPTURE TABLE NOT SIGNALED TO ORIGINATING SUBSYSTEM
INVALID HEXADECIMAL LITERAL BEGINNING
THE SUBPAGES OPTION IS NOT SUPPORTED FOR TYPE 2 INDEXES
A COLUMN FUNCTION DOES NOT INCLUDE A COLUMN NAME
THE OPERAND OF A COLUMN FUNCTION IS ANOTHER COLUMN FUNCTION
INVALID CHARACTER FOUND IN: . REASON CODE
THE LOCATION NAME DOES NOT MATCH THE CURRENT SERVER
A PREDICATE IS INVALID BECAUSE THE COMPARISON OPERATOR IS FOLLOWED BY A
PARENTHESIZED LIST OR BY ANY OR ALL WITHOUT A SUBQUERY
THE NUMBER OF INSERT VALUES IS NOT THE SAME AS THE NUMBER OF OBJECT
COLUMNS
THE NUMBER OF ASSIGNED VALUES IS NOT THE SAME AS THE NUMBER OF SPECIFIED
OR IMPLIED COLUMNS
THE OBJECT TABLE OR VIEW OF THE DELETE OR UPDATE STATEMENT IS ALSO
IDENTIFIED IN A FROM CLAUSE
A COLUMN IDENTIFIED IN A HAVING CLAUSE IS NOT INCLUDED IN THE GROUP BY
CLAUSE
A WHERE CLAUSE, SET CLAUSE, VALUES CLAUSE, OR A SET ASSIGNMENT STATEMENT
INCLUDES A COLUMN FUNCTION
THE COLUMN IS IDENTIFIED MORE THAN ONCE IN THE INSERT OR UPDATE OR SET
TRANSITION VARIABLE STATEMENT
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
THE PARAMETER IN POSITION IN THE FUNCTION MUST BE A CONSTANT OR KEYWORD
AN INTEGER IN THE ORDER BY CLAUSE DOES NOT IDENTIFY A COLUMN OF THE RESULT
THE SELECT STATEMENT CONTAINS BOTH AN UPDATE CLAUSE AND AN ORDER BY
CLAUSE
DISTINCT IS SPECIFIED MORE THAN ONCE IN A SUBSELECT
INVALID USE OF NULL IN A PREDICATE
THE STATEMENT CONTAINS TOO MANY TABLE NAMES
-130
-131
-132
-133
-134
-136
-137
-138
-142
-144
-147
-148
-150
-151
-152
-153
-154
-156
-157
-158
-159
-160
-161
162
-164
-170
-171
-173
-180
-181
-182
-183
-184
-185
-186
-187
THE ESCAPE CLAUSE CONSISTS OF MORE THAN ONE CHARACTER, OR THE STRING
PATTERN CONTAINS AN INVALID OCCURRENCE OF THE ESCAPE CHARACTER
STATEMENT WITH LIKE PREDICATE HAS INCOMPATIBLE DATA TYPES
AN OPERAND OF IS NOT VALID
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
IMPROPER USE OF LONG STRING COLUMN OR AN EXPRESSION OF MAXIMUM LENGTH
GREATER THAN 255
SORT CANNOT BE EXECUTED BECAUSE THE SORT KEY LENGTH IS GREATER THAN 4000
BYTES
THE LENGTH RESULTING FROM IS GREATER THAN
THE SECOND OR THIRD ARGUMENT OF THE SUBSTR FUNCTION IS OUT OF RANGE
THE SQL STATEMENT IS NOT SUPPORTED
INVALID SECTION NUMBER
ALTER FUNCTION FAILED BECAUSE SOURCE FUNCTIONS CANNOT BE ALTERED
THE SOURCE TABLE CANNOT BE RENAMED OR ALTERED
THE OBJECT OF THE INSERT, DELETE, OR UPDATE STATEMENT IS A VIEW OR
TRANSITION TABLE FOR WHICH THE REQUESTED OPERATION IS NOT PERMITTED
THE UPDATE STATEMENT IS INVALID BECAUSE THE CATALOG DESCRIPTION OF COLUMN
INDICATES THAT IT CANNOT BE UPDATED
THE DROP CLAUSE IN THE ALTER STATEMENT IS INVALID BECAUSE IS A
THE STATEMENT IS INVALID BECAUSE THE VIEW OR TABLE DEFINITION DOES NOT
INCLUDE A UNIQUE NAME FOR EACH COLUMN
THE STATEMENT IS INVALID BECAUSE THE VIEW OR TABLE DEFINITION IS NOT VALID
THE STATEMENT DOES NOT IDENTIFY A TABLE
ONLY A TABLE NAME CAN BE SPECIFIED IN A FOREIGN KEY CLAUSE. IS NOT THE NAME
OF A TABLE
THE NUMBER OF COLUMNS SPECIFIED FOR THE VIEW IS NOT THE SAME AS THE
NUMBER OF COLUMNS SPECIFIED BY THE SELECT CLAUSE, OR THE NUMBER OF
COLUMNS SPECIFIED IN THE CORRELATION CLAUSE IN A FROM CLAUSE IS NOT THE
SAME AS THE NUMBER OF COLUMNS IN THE CORRESPONDING TABLE, VIEW, TABLE
EXPRESSION, OR TABLE FUNCTION
DROP OR COMMENT ON IDENTIFIES A(N) RATHER THAN A(N)
THE WITH CHECK OPTION CANNOT BE USED FOR THE SPECIFIED VIEW
THE INSERT OR UPDATE IS NOT ALLOWED BECAUSE A RESULTING ROW DOES NOT
SATISFY THE VIEW DEFINITION
TABLE SPACE . HAS BEEN PLACED IN CHECK PENDING
DOES NOT HAVE THE PRIVILEGE TO CREATE A VIEW WITH QUALIFICATION
THE NUMBER OF ARGUMENTS SPECIFIED FOR IS INVALID
THE DATA TYPE, LENGTH, OR VALUE OF ARGUMENT OF IS INVALID
UR IS SPECIFIED ON THE WITH CLAUSE BUT THE CURSOR IS NOT READ-ONLY
THE DATE, TIME, OR TIMESTAMP VALUE IS INVALID
THE STRING REPRESENTATION OF A DATETIME VALUE IS NOT A VALID DATETIME VALUE
AN ARITHMETIC EXPRESSION WITH A DATETIME VALUE IS INVALID
AN ARITHMETIC OPERATION ON A DATE OR TIMESTAMP HAS A RESULT THAT IS NOT
WITHIN THE VALID RANGE OF DATES
AN ARITHMETIC EXPRESSION WITH A DATETIME VALUE CONTAINS A PARAMETER
MARKER
THE LOCAL FORMAT OPTION HAS BEEN USED WITH A DATE OR TIME AND NO LOCAL EXIT
HAS BEEN INSTALLED
THE LOCAL DATE LENGTH OR LOCAL TIME LENGTH HAS BEEN INCREASED AND
EXECUTING PROGRAM RELIES ON THE OLD LENGTH
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
-188
-189
-190
-191
-197
-198
-199
203
-203
204
-204
-205
206
-206
-208
-212
-214
218
219
-219
220
-220
-221
-229
236
237
238
239
-240
-250
-251
-300
-301
-302
-303
304
-304
-305
-309
-310
-311
-312
-313
-314
-327
-330
331
-331
-332
-333
-338
339
-339
-350
-351
-352
-355
-359
-372
-373
-390
-392
394
395
-396
-397
-398
-399
-400
-401
402
-402
VALUE IS NOT WITHIN THE RANGE OF THE HOST VARIABLE IN POSITION WITH DATA
TYPE
THE NULL VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER
BECAUSE NO INDICATOR VARIABLE IS SPECIFIED
A PREDICATE IS INVALID BECAUSE A REFERENCED HOST VARIABLE HAS THE NULL
VALUE
DECIMAL HOST VARIABLE OR PARAMETER CONTAINS NON-DECIMAL DATA
THE LENGTH OF INPUT HOST VARIABLE NUMBER IS NEGATIVE OR GREATER THAN THE
MAXIMUM
IS AN UNDEFINED OR UNUSABLE HOST VARIABLE OR IS USED IN A DYNAMIC SQL
STATEMENT OR A TRIGGER DEFINITION
THE NUMBER OF HOST VARIABLES SPECIFIED IS NOT EQUAL TO THE NUMBER OF
PARAMETER MARKERS
THE STATEMENT CONTAINS AN AMBIGUOUS HOST VARIABLE REFERENCE
THE ROW CANNOT BE INSERTED BECAUSE IT IS OUTSIDE THE BOUND OF THE
PARTITION RANGE FOR THE LAST PARTITION
A STRING CANNOT BE USED BECAUSE IT CANNOT BE TRANSLATED. REASON ,
CHARACTER , HOST VARIABLE
THE NULL VALUE HAS BEEN ASSIGNED TO A HOST VARIABLE BECAUSE THE STRING
CANNOT BE TRANSLATED. REASON , CHARACTER , HOST VARIABLE
A STRING CANNOT BE ASSIGNED TO A HOST VARIABLE BECAUSE IT CANNOT BE
TRANSLATED. REASON , CHARACTER , POSITION
SYSSTRINGS DOES NOT DEFINE A TRANSLATION FROM CCSID TO
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
AN ON CLAUSE IS INVALID
THE SQL STATEMENT HAS BEEN SUCCESSFULLY EXECUTED BUT THERE MAY BE SOME
CHARACTER CONVERSION INCONSISTENCIES
THE SQL STATEMENT CANNOT BE EXECUTED FROM AN ASCII BASED DRDA APPLICATION
REQUESTOR TO A V2R2 DB2 SUBSYSTEM
INVALID SPECIFICATION OF A LARGE OBJECT COLUMN
AN UNSUPPORTED SQLTYPE WAS ENCOUNTERED IN POSITION OF THE SELECT-LIST
AN UNSUPPORTED SQLTYPE WAS ENCOUNTERED IN POSITION OF THE INPUT-LIST
A LOB COLUMN IS TOO LARGE TO BE LOGGED
THE RANGE OF VALUES FOR THE IDENTITY COLUMN IS EXHAUSTED
ONLY ONE ROWID OR IDENTITY COLUMN IS ALLOWED IN A TABLE
DEFAULT CANNOT BE SPECIFIED FOR IDENTITY COLUMN
THE FUNCTION NAME , SPECIFIC NAME , IS NOT VALID IN THE CONTEXT IN WHICH IT
OCCURS
SQLDA PROVIDED FOR CURSOR HAS BEEN CHANGED FROM THE PREVIOUS FETCH
USER SPECIFIED OPTIMIZATION HINTS USED DURING ACCESS PATH SELECTION
USER SPECIFIED OPTIMIZATION HINTS ARE INVALID (REASON CODE = ''). THE
OPTIMIZATION HINTS ARE IGNORED
ATTEMPTED TO EXECUTE AN SQL STATEMENT DURING FINAL CALL PROCESSING
THE OPTION GENERATED IS SPECIFIED WITH A COLUMN THAT IS NOT A ROW ID OR
DISTINCT TYPE BASED ON A ROW ID
A LOCATOR WAS REQUESTED FOR HOST VARIABLE NUMBER BUT THE VARIABLE IS NOT
A LOB
ATTEMPTED TO INSERT AN INVALID VALUE INTO A ROWID COLUMN
THE CATALOG HAS THE MAXIMUM NUMBER OF USER DEFINED INDEXES
THE OPERANDS OF AN ARITHMETIC OR COMPARISON OPERATION ARE NOT
COMPARABLE
LOCATION IS UNKNOWN
AN ARITHMETIC FUNCTION OR OPERATOR IS APPLIED TO CHARACTER OR DATETIME
DATA
403
-404
-405
-406
-407
-408
-409
-410
-411
-412
-413
-414
-415
-416
-417
-418
-419
-420
-421
-423
-426
-427
-430
-433
434
-435
-438
-440
-441
-443
-444
445
-449
-450
-451
-453
-454
THE LOCAL OBJECT REFERENCED BY THE CREATE ALIAS STATEMENT DOES NOT EXIST
THE SQL STATEMENT SPECIFIES A STRING THAT IS TOO LONG
THE NUMERIC LITERAL CANNOT BE USED AS SPECIFIED BECAUSE IT IS OUT OF RANGE
A CALCULATED OR DERIVED NUMERIC VALUE IS NOT WITHIN THE RANGE OF ITS OBJECT
COLUMN
AN UPDATE, INSERT, OR SET VALUE IS NULL, BUT THE OBJECT COLUMN CANNOT
CONTAIN NULL VALUES
THE VALUE IS NOT COMPATIBLE WITH THE DATA TYPE OF ITS TARGET
INVALID OPERAND OF A COUNT FUNCTION
THE FLOATING POINT LITERAL CONTAINS MORE THAN 30 CHARACTERS
CURRENT SQLID CANNOT BE USED IN A STATEMENT THAT REFERENCES REMOTE
OBJECTS
THE SELECT CLAUSE OF A SUBQUERY SPECIFIES MULTIPLE COLUMNS
OVERFLOW OCCURRED DURING NUMERIC DATA TYPE CONVERSION
A LIKE PREDICATE IS INVALID BECAUSE THE FIRST OPERAND IS NOT A STRING
THE CORRESPONDING COLUMNS, , OF THE OPERANDS OF A UNION OR A UNION ALL DO
NOT HAVE COMPARABLE COLUMN DESCRIPTIONS
AN OPERAND OF A UNION CONTAINS A LONG STRING COLUMN
A STATEMENT STRING TO BE PREPARED INCLUDES PARAMETER MARKERS AS THE
OPERANDS OF THE SAME OPERATOR
A STATEMENT STRING TO BE PREPARED CONTAINS AN INVALID USE OF PARAMETER
MARKERS
A DECIMAL DIVIDE OPERATION IS INVALID BECAUSE THE RESULT WOULD HAVE A
NEGATIVE SCALE
THE VALUE OF A CHARACTER STRING ARGUMENT WAS NOT ACCEPTABLE TO THE
FUNCTION
THE OPERANDS OF A UNION OR UNION ALL DO NOT HAVE THE SAME NUMBER OF
COLUMNS
INVALID VALUE FOR LOCATOR IN POSITION
DYNAMIC COMMIT NOT VALID AT AN APPLICATION SERVER WHERE UPDATES ARE NOT
ALLOWED
DYNAMIC ROLLBACK NOT VALID AT AN APPLICATION SERVER WHERE UPDATES ARE NOT
ALLOWED
(SPECIFIC NAME ) HAS ABNORMALLY TERMINATED
VALUE IS TOO LONG
OPTION IS A DEPRECATED FEATURE
AN INVALID SQLSTATE IS SPECIFIED IN THE FUNCTION RAISE_ERROR OR IN A SIGNAL
SQLSTATE STATEMENT
APPLICATION RAISED ERROR WITH DIAGNOSTIC TEXT:
NO BY THE NAME HAVING COMPATIBLE ARGUMENTS WAS FOUND IN THE CURRENT
PATH
INVALID USE OF 'DISTINCT' OR 'ALL' WITH SCALAR FUNCTION
EXTERNAL FUNCTION (SPECIFIC NAME ) HAS RETURNED AN ERROR SQLSTATE WITH
DIAGNOSTIC TEXT
USER PROGRAM COULD NOT BE FOUND
VALUE HAS BEEN TRUNCATED
CREATE OR ALTER STATEMENT FOR FUNCTION OR PROCEDURE CONTAINS AN INVALID
FORMAT OF THE EXTERNAL NAME CLAUSE OR IS MISSING THE EXTERNAL NAME CLAUSE
USER-DEFINED FUNCTION OR STORED PROCEDURE , PARAMETER NUMBER ,
OVERLAYED STORAGE BEYOND ITS DECLARED LENGTH
THE DEFINITION, IN THE CREATE FUNCTION FOR CONTAINS DATA TYPE WHICH IS NOT
APPROPRIATE FOR AN EXTERNAL FUNCTION WRITTEN IN THE GIVEN LANGUAGE
THERE IS A PROBLEM WITH THE RETURNS CLAUSE IN THE CREATE FUNCTION
STATEMENT FOR
THE SIGNATURE PROVIDED IN THE CREATE FUNCTION STATEMENT FOR MATCHES THE
-455
-456
-457
-458
-461
462
-463
464
466
-469
-470
-471
-472
-473
-475
-476
-478
-480
-482
-483
-487
-490
-491
-492
494
495
-495
-496
-497
-499
-500
-501
-502
-503
-504
-507
-508
-509
-510
-511
-512
-513
-514
-516
-517
-518
-519
-525
-526
-530
-531
-532
-533
-534
535
-536
-537
-538
-539
-540
541
-542
-543
-544
-545
-546
-548
-549
551
-551
552
-552
-553
-554
-555
-556
-557
558
-558
-559
561
562
-567
-571
-573
-574
-577
-579
-580
-581
-582
585
-585
-586
-590
-592
-593
-594
599
-601
-602
-603
-604
-607
610
-611
-612
-613
-614
-615
-616
-617
-618
-619
-620
-621
-622
-623
-624
625
-625
626
-626
-627
-628
-629
-630
-631
-632
-633
-634
-635
-636
-637
-638
-639
-640
-642
-643
-644
645
-646
-647
650
-650
-651
-652
653
-653
655
-655
658
-658
-660
-661
-662
-663
664
-665
-666
-667
-668
-669
-670
-671
-672
-676
-677
-678
-679
-680
-681
-682
-683
-684
-685
-686
-687
-688
-689
-690
-691
-692
-693
-694
-696
-697
-713
-715
-716
-717
-718
-719
-720
-721
-722
-723
-724
-725
-726
-728
-729
-730
-731
-732
-733
-734
-735
-736
-737
738
-739
-740
-741
-742
-746
-747
-748
-750
-751
-752
-763
-764
-765
-766
-767
-768
-769
-770
-771
-797
-798
799
802
-802
-803
-804
-805
806
807
-807
-808
-811
-812
-815
-817
-818
-819
-820
-822
-840
-842
-843
-846
863
-867
-870
-872
-873
-874
-875
-876
-877
-878
-879
-880
-881
-882
883
-900
-901
-902
-904
-905
-906
-908
-909
-910
-911
-913
-917
-918
-919
-922
-923
-924
-925
-926
-927
-929
-939
-947
-948
-950
-981
-991
TBNAME,
NAME,
COLNO,
COLTYPE,
LENGTH,
SCALE,
DEFAULT,
REMARKS
FROM SYSIBM.SYSCOLUMNS
WHERE
TBNAME = :CH-TBNAME
ORDER BY COLNO
INTO
:TBNAME-X,
:NAME-X,
:COLNO-B,
:COLTYPE-X,
:LENGTH-B,
:SCALE-B,
:NULLS-X,
REMARKS-X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+