Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Procedure Builder
Developers Guide
Release 1.5
Part No. A324851
Preface
T
his guide documents Oracle Procedure Builder. Before you use it,
you should be familiar with the following topics:
audience
typographic conventions
This section will prepare you for using this guide and direct you to the
minimum information you need to get started.
Preface
Preface
T
his guide documents Oracle Procedure Builder. Before you use it,
you should be familiar with the following topics:
audience
typographic conventions
This section will prepare you for using this guide and direct you to the
minimum information you need to get started.
Preface
Audience
The information in this guide is intended primarily for application
developers and for readers who want to create displays. Readers should
have a working knowledge of SQL, PL/SQL, and Oracle Server
concepts.
Major Sections of
this Guide
Part II
Typographic Conventions
Throughout this guide, we use typographic conventions to distinguish
important elements from the body text of the document.
Menu Navigation
Syntax
ii
Audience
The information in this guide is intended primarily for application
developers and for readers who want to create displays. Readers should
have a working knowledge of SQL, PL/SQL, and Oracle Server
concepts.
Major Sections of
this Guide
Part II
Typographic Conventions
Throughout this guide, we use typographic conventions to distinguish
important elements from the body text of the document.
Menu Navigation
Syntax
ii
Means you should choose Open from the File menu, and then Database
from the Open submenu.
Notational
Conventions
[]
{}
italics
UPPERCASE
New or Non-Technical
Users
2.
Preface
iii
Means you should choose Open from the File menu, and then Database
from the Open submenu.
Notational
Conventions
[]
{}
italics
UPPERCASE
New or Non-Technical
Users
2.
Preface
iii
Experienced or
Technical Users
3.
4.
2.
3.
iv
Experienced or
Technical Users
3.
4.
2.
3.
iv
Developer/2000
Installation Guide
or
System Release
Bulletin
Oracle7 Server
Concepts Manual
Oracle7 Server
Administrators
Guide
Oracle7 Server
Application
Developers Guide
PL/SQL Users
Guide and
Reference
Oracle7 Server
SQL Language
Reference Manual
Oracle7 Server
Messages and
Codes Manual
Precompiler Documentation
for Your Language
Related Information
As an application designer using Oracle Procedure Builder, Release 1.5,
you may need to refer to some or all of the documents listed below.
Please see the document in question for information on its specific
purpose and usage.
Preface
Developer/2000
Installation Guide
or
System Release
Bulletin
Oracle7 Server
Concepts Manual
Oracle7 Server
Administrators
Guide
Oracle7 Server
Application
Developers Guide
PL/SQL Users
Guide and
Reference
Oracle7 Server
SQL Language
Reference Manual
Oracle7 Server
Messages and
Codes Manual
Precompiler Documentation
for Your Language
Related Information
As an application designer using Oracle Procedure Builder, Release 1.5,
you may need to refer to some or all of the documents listed below.
Please see the document in question for information on its specific
purpose and usage.
Preface
vi
vi
Contents
Chapter 1
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Oracle Procedure Builder . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concepts of Oracle Procedure Builder . . . . . . . . . . . . . . . . . . . . .
Interface Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
12
12
14
Chapter 2
Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What is Oracle Procedure Builder? . . . . . . . . . . . . . . . . . . . . . . . .
Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Components of Oracle Procedure Builder . . . . . . . . . . . . . . . . . .
PL/SQL Program Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debug Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Load Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
22
22
23
25
28
28
Chapter 3
31
32
36
3 10
Chapter 4
Contents
CONTENTS
PART I
Contents
Chapter 1
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Oracle Procedure Builder . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concepts of Oracle Procedure Builder . . . . . . . . . . . . . . . . . . . . .
Interface Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
12
12
14
Chapter 2
Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What is Oracle Procedure Builder? . . . . . . . . . . . . . . . . . . . . . . . .
Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Components of Oracle Procedure Builder . . . . . . . . . . . . . . . . . .
PL/SQL Program Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debug Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Load Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
22
22
23
25
28
28
Chapter 3
31
32
36
3 10
Chapter 4
Contents
CONTENTS
PART I
4 14
4 20
4 24
4 31
4 35
4 39
Chapter 5
51
52
53
56
5 10
Chapter 6
61
62
62
62
64
PART II
Chapter 7
Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ATTACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COMPILE (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COMPILE (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONNECT Standalone Only . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CREATE (Bind Variable) Standalone Only . . . . . . . . . . . . . . . .
CREATE (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Bind Variables) Standalone Only . . . . . . . . . . . . . . . .
DELETE (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Library Program Units) . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Load Path) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Load Path) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
71
72
75
76
78
79
7 10
7 11
7 12
7 13
7 15
7 16
7 17
7 18
7 19
7 20
7 21
7 22
7 23
4 14
4 20
4 24
4 31
4 35
4 39
Chapter 5
51
52
53
56
5 10
Chapter 6
61
62
62
62
64
PART II
Chapter 7
Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ATTACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COMPILE (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COMPILE (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONNECT Standalone Only . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CREATE (Bind Variable) Standalone Only . . . . . . . . . . . . . . . .
CREATE (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Bind Variables) Standalone Only . . . . . . . . . . . . . . . .
DELETE (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Library Program Units) . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Load Path) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Load Path) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
71
72
75
76
78
79
7 10
7 11
7 12
7 13
7 15
7 16
7 17
7 18
7 19
7 20
7 21
7 22
7 23
Contents
7 24
7 25
7 26
7 27
7 28
7 29
7 30
7 31
7 32
7 33
7 34
7 35
7 36
7 37
7 39
7 40
7 41
7 42
7 44
7 45
7 46
7 47
7 49
7 50
7 51
7 52
7 53
7 54
7 55
7 56
7 57
7 58
7 59
7 60
7 62
7 63
7 64
7 65
7 66
7 67
7 69
7 70
iii
CONTENTS
DESCRIBE (Locals) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Version) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Tables and Views) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DETACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DISABLE (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DISABLE (Compile Options) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DISABLE (Logging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DISCONNECT Standalone Only . . . . . . . . . . . . . . . . . . . . . . . . .
ENABLE (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ENABLE (Compile Options) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ENABLE (Logging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXECUTEStandalone Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HELP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INSERT (Library Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . .
INSERT (Load Path) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INTERPRET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIST (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIST (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOAD (Library Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOAD (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOAD (Stored Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
QUIT Standalone Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RENAME (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REVERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REVOKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Call Stack) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Locals) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
STORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
7 24
7 25
7 26
7 27
7 28
7 29
7 30
7 31
7 32
7 33
7 34
7 35
7 36
7 37
7 39
7 40
7 41
7 42
7 44
7 45
7 46
7 47
7 49
7 50
7 51
7 52
7 53
7 54
7 55
7 56
7 57
7 58
7 59
7 60
7 62
7 63
7 64
7 65
7 66
7 67
7 69
7 70
iii
CONTENTS
DESCRIBE (Locals) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Version) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIBE (Tables and Views) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DETACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DISABLE (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DISABLE (Compile Options) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DISABLE (Logging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DISCONNECT Standalone Only . . . . . . . . . . . . . . . . . . . . . . . . .
ENABLE (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ENABLE (Compile Options) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ENABLE (Logging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXECUTEStandalone Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HELP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INSERT (Library Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . .
INSERT (Load Path) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INTERPRET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIST (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIST (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOAD (Library Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOAD (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOAD (Stored Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
QUIT Standalone Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RENAME (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REVERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REVOKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Call Stack) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Debug Actions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Libraries) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Locals) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SHOW (Program Units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
STORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 8
iv
81
82
84
86
88
89
8 10
8 11
8 12
8 13
8 14
8 16
8 18
8 22
8 22
8 23
8 24
8 25
8 26
8 27
8 27
8 28
8 28
8 29
8 29
8 30
8 30
8 31
8 31
8 32
8 33
8 33
8 33
8 34
8 34
8 35
8 35
8 36
8 37
8 38
8 39
8 40
8 41
Chapter 8
iv
81
82
84
86
88
89
8 10
8 11
8 12
8 13
8 14
8 16
8 18
8 22
8 22
8 23
8 24
8 25
8 26
8 27
8 27
8 28
8 28
8 29
8 29
8 30
8 30
8 31
8 31
8 32
8 33
8 33
8 33
8 34
8 34
8 35
8 35
8 36
8 37
8 38
8 39
8 40
8 41
Contents
8 42
8 43
8 44
8 45
8 45
8 45
8 46
8 46
8 47
8 47
8 48
8 48
8 48
8 49
8 50
8 51
8 52
8 53
8 53
8 53
8 54
8 54
8 55
8 55
8 56
8 56
8 57
8 57
8 57
8 58
8 58
8 62
8 62
8 62
8 63
8 64
8 65
8 66
8 67
8 68
8 68
8 69
8 69
CONTENTS
OLE2.INVOKE_OBJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OLE2.RELEASE_OBJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OLE2.SET_PROPERTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The ORA_FFI Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.FFI_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.FIND_FUNCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.FIND_LIBRARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.FUNCHANDLETYPE . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.GENERATE_FOREIGN . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.IS_NULL_PTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.LIBHANDLETYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.POINTERTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.REGISTER_FUNCTION . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.LOAD_LIBRARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.REGISTER_PARAMETER . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.REGISTER_RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.UNLOAD_LIBARAR Y . . . . . . . . . . . . . . . . . . . . . . . . . .
The ORA_NLS Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.AMERICAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.AMERICAN_DA TE . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.BAD_ATTRIBUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.GET_LANG_SCALAR . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.GET_LANG_STR . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.LINGUISTIC_COLLA TE . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.LINGUISTIC_SPECIALS . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.MODIFIED_DATE_FMT . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.NO_ITEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.NOT_FOUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.RIGHT_TO_LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.SIMPLE_CS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.SINGLE_BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The ORA_PROF Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.BAD_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.CREATE_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.DESTROY_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.ELAPSED_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.RESET_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.START_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.STOP_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The TEXT_IO Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.FCLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.FILE_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.FOPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
8 42
8 43
8 44
8 45
8 45
8 45
8 46
8 46
8 47
8 47
8 48
8 48
8 48
8 49
8 50
8 51
8 52
8 53
8 53
8 53
8 54
8 54
8 55
8 55
8 56
8 56
8 57
8 57
8 57
8 58
8 58
8 62
8 62
8 62
8 63
8 64
8 65
8 66
8 67
8 68
8 68
8 69
8 69
CONTENTS
OLE2.INVOKE_OBJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OLE2.RELEASE_OBJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OLE2.SET_PROPERTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The ORA_FFI Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.FFI_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.FIND_FUNCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.FIND_LIBRARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.FUNCHANDLETYPE . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.GENERATE_FOREIGN . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.IS_NULL_PTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.LIBHANDLETYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.POINTERTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.REGISTER_FUNCTION . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.LOAD_LIBRARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.REGISTER_PARAMETER . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.REGISTER_RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_FFI.UNLOAD_LIBARAR Y . . . . . . . . . . . . . . . . . . . . . . . . . .
The ORA_NLS Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.AMERICAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.AMERICAN_DA TE . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.BAD_ATTRIBUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.GET_LANG_SCALAR . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.GET_LANG_STR . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.LINGUISTIC_COLLA TE . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.LINGUISTIC_SPECIALS . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.MODIFIED_DATE_FMT . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.NO_ITEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.NOT_FOUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.RIGHT_TO_LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.SIMPLE_CS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_NLS.SINGLE_BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The ORA_PROF Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.BAD_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.CREATE_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.DESTROY_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.ELAPSED_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.RESET_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.START_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORA_PROF.STOP_TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The TEXT_IO Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.FCLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.FILE_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.FOPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 9
vi
TEXT_IO.IS_OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.GET_LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.NEW_LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.PUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.PUTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.PUT_LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The TOOL_ENV Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ENV.GETVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The TOOL_ERR Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.CLEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.CODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.ENCODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.MESSAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.NERRORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.TOOL_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.TOPERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The TOOL_RES Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.BAD_FILE_HANDLE . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.BUFFER_OVERFLOW . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.FILE_NOT_FOUND . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.NO_RESOURCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.RFCLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.RFHANDLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.RFOPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.RFREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 70
8 71
8 72
8 73
8 74
8 75
8 76
8 76
8 77
8 77
8 77
8 78
8 78
8 79
8 79
8 79
8 80
8 81
8 83
8 83
8 84
8 84
8 85
8 86
8 87
8 88
Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coping with Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Server Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abnormal Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling Oracle Customer Support . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Procedure Builder Error Message Descriptions . . . . . . .
91
92
93
93
94
95
Chapter 9
vi
TEXT_IO.IS_OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.GET_LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.NEW_LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.PUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.PUTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT_IO.PUT_LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The TOOL_ENV Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ENV.GETVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The TOOL_ERR Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.CLEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.CODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.ENCODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.MESSAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.NERRORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.TOOL_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_ERR.TOPERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The TOOL_RES Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.BAD_FILE_HANDLE . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.BUFFER_OVERFLOW . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.FILE_NOT_FOUND . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.NO_RESOURCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.RFCLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.RFHANDLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.RFOPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOL_RES.RFREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 70
8 71
8 72
8 73
8 74
8 75
8 76
8 76
8 77
8 77
8 77
8 78
8 78
8 79
8 79
8 79
8 80
8 81
8 83
8 83
8 84
8 84
8 85
8 86
8 87
8 88
Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coping with Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Server Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abnormal Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling Oracle Customer Support . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Procedure Builder Error Message Descriptions . . . . . . .
91
92
93
93
94
95
PART
Getting Started
Concepts
PART
Getting Started
Concepts
CHAPTER
Getting Started
T
interface overview 1 4
Getting Started
11
CHAPTER
Getting Started
T
interface overview 1 4
Getting Started
11
client-side PL/SQL
libraries
server-side PL/SQL
program units
Integrated Editing
12
integrated editing
incremental development
source-level debugging
browsing error
messages
undoing changes
client-side PL/SQL
libraries
server-side PL/SQL
program units
Integrated Editing
12
integrated editing
incremental development
source-level debugging
browsing error
messages
undoing changes
Incremental
Development
Source-level
Debugging
Oracle Procedure Builder allows you to create, edit, and call stored
program unitsthat is, PL/SQL procedures and functions that reside
and execute in the Oracle7 Server. You can drag a stored program unit
into the development environment to edit and debug its source code.
Getting Started
13
Incremental
Development
Source-level
Debugging
Oracle Procedure Builder allows you to create, edit, and call stored
program unitsthat is, PL/SQL procedures and functions that reside
and execute in the Oracle7 Server. You can drag a stored program unit
into the development environment to edit and debug its source code.
Getting Started
13
Interface Overview
The user interface consists of the following:
menus
Interpreter window
14
Interface Overview
The user interface consists of the following:
menus
Interpreter window
14
CHAPTER
Concepts
T
document types 2 2
debug actions 2 8
Concepts
21
CHAPTER
Concepts
T
document types 2 2
debug actions 2 8
Concepts
21
Document Types
External PL/SQL documents are tagged with a document type to
indicate their contents. In the case of documents that reside in the file
system, the following extensions are used:
22
pls
pld
pll
log
Document Types
External PL/SQL documents are tagged with a document type to
indicate their contents. In the case of documents that reside in the file
system, the following extensions are used:
22
pls
pld
pll
log
modal
modeless
Concepts
23
modal
modeless
Concepts
23
Interpreter Components
control bar
Source pane
Navigator pane
Interpreter pane
Alternatively, you could click on the program units entry in the Object
Navigator.
For more information on Oracle Procedure Builder commands, see
Command Reference on page 7 1. For more information on using
the Oracle Procedure Builder interface, see Oracle Procedure Builder
Interface on page 3 1.
Logging Interpreter Input
and Output
24
Interpreter Components
control bar
Source pane
Navigator pane
Interpreter pane
Alternatively, you could click on the program units entry in the Object
Navigator.
For more information on Oracle Procedure Builder commands, see
Command Reference on page 7 1. For more information on using
the Oracle Procedure Builder interface, see Oracle Procedure Builder
Interface on page 3 1.
Logging Interpreter Input
and Output
24
LOG 7 52
DISABLE (Logging) 7 31
ENABLE (Logging) 7 35
You can use the PL/SQL Program Unit editor to create and edit
PL/SQL program units. Using the Program Unit editor, you can
compile program units after you have created them, and trouble-shoot
any errors generated directly in the editor.
anonymous blocks
packages
Concepts
25
LOG 7 52
DISABLE (Logging) 7 31
ENABLE (Logging) 7 35
You can use the PL/SQL Program Unit editor to create and edit
PL/SQL program units. Using the Program Unit editor, you can
compile program units after you have created them, and trouble-shoot
any errors generated directly in the editor.
anonymous blocks
packages
Concepts
25
Anonymous Blocks
Subprograms
Functions and
Procedures
specification (optional)
body (required)
The specification defines only the names, parameters, and return type
(applies to functions only) of the subprogram. For example, the
specification of procedure proc1 is displayed below:
PROCEDURE proc1 (arg CHAR);
The body contains the same information as the specification, and also
includes the actual implementation of the subprogram (i.e., its
26
Anonymous Blocks
Subprograms
Functions and
Procedures
specification (optional)
body (required)
The specification defines only the names, parameters, and return type
(applies to functions only) of the subprogram. For example, the
specification of procedure proc1 is displayed below:
PROCEDURE proc1 (arg CHAR);
The body contains the same information as the specification, and also
includes the actual implementation of the subprogram (i.e., its
26
Packages
specification (required)
body (optional)
Body
Using PL/SQL
Version 1
Its important to note that the Oracle tools and Oracle Procedure
Builder use PL/SQL Version 1, not PL/SQL Version 2. However, to
find the most complete and up-to-date information on the PL/SQL
language and its syntax, we suggest referring to the PL/SQL Users
Guide and Reference Version 2.0.
Note: The following Version 2.0 features are not supported in
Version 1:
PL/SQL tables
host arrays
DEFAULT keyword
Concepts
27
Packages
specification (required)
body (optional)
Body
Using PL/SQL
Version 1
Its important to note that the Oracle tools and Oracle Procedure
Builder use PL/SQL Version 1, not PL/SQL Version 2. However, to
find the most complete and up-to-date information on the PL/SQL
language and its syntax, we suggest referring to the PL/SQL Users
Guide and Reference Version 2.0.
Note: The following Version 2.0 features are not supported in
Version 1:
PL/SQL tables
host arrays
DEFAULT keyword
Concepts
27
Debug Actions
Once you have created one or more program units, you can debug
them in Oracle Procedure Builder by creating debug actions. Debug
actions enable you to monitor and/or interrupt the execution of
PL/SQL program units.
There are two types of debug actions:
breakpoints
debug triggers
Initializing the Load Path You can initialize the load path to contain one or more directories by
setting the ORAPLSQLLOADPATH environment variable. You define
ORAPLSQLLOADPATH in the same way you define other
environment variables on your base operating system, keeping in mind
such platform-specific rules as path length, etc.
For example, within a UNIX Cshell, you can initialize the load path to
the directories /usr/plsql and /home/user by entering the following
command before invoking Oracle Procedure Builder:
setenv ORAPLSQLLOADPATH /usr/plsql:/home/user
28
Debug Actions
Once you have created one or more program units, you can debug
them in Oracle Procedure Builder by creating debug actions. Debug
actions enable you to monitor and/or interrupt the execution of
PL/SQL program units.
There are two types of debug actions:
breakpoints
debug triggers
Initializing the Load Path You can initialize the load path to contain one or more directories by
setting the ORAPLSQLLOADPATH environment variable. You define
ORAPLSQLLOADPATH in the same way you define other
environment variables on your base operating system, keeping in mind
such platform-specific rules as path length, etc.
For example, within a UNIX Cshell, you can initialize the load path to
the directories /usr/plsql and /home/user by entering the following
command before invoking Oracle Procedure Builder:
setenv ORAPLSQLLOADPATH /usr/plsql:/home/user
28
You can use DESCRIBE to display the current load path. For example,
enter the following command to display the current load path:
PL/SQL> .describe loadpath
Load Path:
External Location: Current Directory
PL/SQL>
Since you have never modified the load path, only the current directory
(the default) is listed in the load path.
For more information, see DESCRIBE (Load Path) on page 7 23.
INSERT
You can use INSERT to add directories to the load path. You can
specify whether a directory path be inserted at the beginning or the end
of the current list of directories in the load path. This determines the
search order when looking for an object.
For more information, see INSERT (Load Path) on page 7 44.
DELETE
You can use DELETE to reset the load path to contain no directory
paths except the current directory (the default). For more information,
see DELETE (Load Path) on page 7 19.
Concepts
29
You can use DESCRIBE to display the current load path. For example,
enter the following command to display the current load path:
PL/SQL> .describe loadpath
Load Path:
External Location: Current Directory
PL/SQL>
Since you have never modified the load path, only the current directory
(the default) is listed in the load path.
For more information, see DESCRIBE (Load Path) on page 7 23.
INSERT
You can use INSERT to add directories to the load path. You can
specify whether a directory path be inserted at the beginning or the end
of the current list of directories in the load path. This determines the
search order when looking for an object.
For more information, see INSERT (Load Path) on page 7 44.
DELETE
You can use DELETE to reset the load path to contain no directory
paths except the current directory (the default). For more information,
see DELETE (Load Path) on page 7 19.
Concepts
29
2 10
2 10
CHAPTER
Oracle Procedure
Builder Interface
T
31
CHAPTER
Oracle Procedure
Builder Interface
T
31
Navigator menu
All actions you can access in the Navigator menu can also be
performed by clicking on one of the buttons in the vertical button bar.
In addition, other common file operations such as Save, Open, and
Run, and editing operations such as Cut Copy and Paste are also
provided in the button bar.
32
Navigator menu
All actions you can access in the Navigator menu can also be
performed by clicking on one of the buttons in the vertical button bar.
In addition, other common file operations such as Save, Open, and
Run, and editing operations such as Cut Copy and Paste are also
provided in the button bar.
32
Creating Objects
Deleting Objects
Selecting Objects
Each object listed in the Navigator has three basic parts from left to
right:
subobject
indicator
type icon
name
Objects are listed in the Navigator in the order in which they are
created. You can change the order that objects are listed in the
Navigator.
To move an object in the Object Navigator:
33
Creating Objects
Deleting Objects
Selecting Objects
Each object listed in the Navigator has three basic parts from left to
right:
subobject
indicator
type icon
name
Objects are listed in the Navigator in the order in which they are
created. You can change the order that objects are listed in the
Navigator.
To move an object in the Object Navigator:
33
Click and drag the object to its new position in the object hierarchy.
Expanding Nodes
2.
Collapsing Nodes
1.
2.
2.
1.
2.
34
Click and drag the object to its new position in the object hierarchy.
Expanding Nodes
2.
Collapsing Nodes
1.
2.
2.
1.
2.
34
2.
You can search for any named object in the Object Navigator by
entering an object name in the Find field at the top of the Object
Navigator
1.
Type the name, full or partial, of the object you wish to find in the
Find field.
As soon as you begin typing, Oracle Graphics begins an
incremental forward search from the top of the Object Navigator.
The incremental search continues until you stop typing.
Oracle Procedure Builder expands nodes as necessary to reveal its
current location during the search.
2.
35
2.
You can search for any named object in the Object Navigator by
entering an object name in the Find field at the top of the Object
Navigator
1.
Type the name, full or partial, of the object you wish to find in the
Find field.
As soon as you begin typing, Oracle Graphics begins an
incremental forward search from the top of the Object Navigator.
The incremental search continues until you stop typing.
Oracle Procedure Builder expands nodes as necessary to reveal its
current location during the search.
2.
35
control bar
Source pane
Interpreter pane
split bars
All panes in the modeless Interpreter share one main control bar, which
contains buttons that perform common commands. Also, split bars
separate the panes, enabling you to change their relative sizes.
By default, the Navigator pane is not initially displayed in the modeless
Interpreter. You can either use the Object Navigator window to access
objects, or you can insert the Navigator pane from the menu.
36
control bar
Source pane
Interpreter pane
split bars
All panes in the modeless Interpreter share one main control bar, which
contains buttons that perform common commands. Also, split bars
separate the panes, enabling you to change their relative sizes.
By default, the Navigator pane is not initially displayed in the modeless
Interpreter. You can either use the Object Navigator window to access
objects, or you can insert the Navigator pane from the menu.
36
Navigator Buttons
Source Pane
The main control bar (located at the top of the modal Interpreter)
contains several buttons that perform various Oracle Procedure Builder
operations.
Step In
Step Over
Step Out
Go
Reset
Close
Delete
Expand
Collapse
Expand All
Collapse All
37
Navigator Buttons
Source Pane
The main control bar (located at the top of the modal Interpreter)
contains several buttons that perform various Oracle Procedure Builder
operations.
Step In
Step Over
Step Out
Go
Reset
Close
Delete
Expand
Collapse
Expand All
Collapse All
37
=>
B(n)
T(n)
Trigger
Edit
Not all systems provide support for a multiple button mouse. If you
do not have a multiple button mouse, the above commands are
available from the Debug menu.
Navigator Pane
The Navigator pane displays the Object Navigator while you are
debugging program units. By default, the Navigator pane
automatically appears in the modal Interpreter. In the modeless
Interpreter, you can hide or show the Navigator pane according to your
preference.
The Object Navigator pane allows you to view the current call stack, as
well view and optionally modify the values of local variables and
parameters at the current scope location.
For more information, see the following sections:
38
=>
B(n)
T(n)
Trigger
Edit
Not all systems provide support for a multiple button mouse. If you
do not have a multiple button mouse, the above commands are
available from the Debug menu.
Navigator Pane
The Navigator pane displays the Object Navigator while you are
debugging program units. By default, the Navigator pane
automatically appears in the modal Interpreter. In the modeless
Interpreter, you can hide or show the Navigator pane according to your
preference.
The Object Navigator pane allows you to view the current call stack, as
well view and optionally modify the values of local variables and
parameters at the current scope location.
For more information, see the following sections:
38
Interpreter Pane
Debug Levels
New Prompt
Not all systems provide support for a multiple button mouse. If you
do not have a multiple button mouse, see your Oracle Procedure
Builder operating system documentation.
Split Bars
Split bars enable you to change the relative amount of space occupied
by each pane in the Interpreter. When the modal Interpreter initially
appears, a split bar is located on the bottom edge of the Source pane.
When you choose View>Navigator to display the Navigator pane, a
second split bar is located on the bottom edge of the Navigator pane.
To change the amount of space occupied by two panes, move your
cursor over the split bar separating the two panes, so the cursor
appears as cross hairs (+). Click and hold the mouse button, then move
39
Interpreter Pane
Debug Levels
New Prompt
Not all systems provide support for a multiple button mouse. If you
do not have a multiple button mouse, see your Oracle Procedure
Builder operating system documentation.
Split Bars
Split bars enable you to change the relative amount of space occupied
by each pane in the Interpreter. When the modal Interpreter initially
appears, a split bar is located on the bottom edge of the Source pane.
When you choose View>Navigator to display the Navigator pane, a
second split bar is located on the bottom edge of the Navigator pane.
To change the amount of space occupied by two panes, move your
cursor over the split bar separating the two panes, so the cursor
appears as cross hairs (+). Click and hold the mouse button, then move
39
the cursor up or down to the desired position and release the mouse
button. The panes separated by the split bar are resized accordingly.
Source Pane 3 7
Navigator Pane 3 8
Interpreter Pane 3 9
3 10
the cursor up or down to the desired position and release the mouse
button. The panes separated by the split bar are resized accordingly.
Source Pane 3 7
Navigator Pane 3 8
Interpreter Pane 3 9
3 10
3 11
3 11
3 12
3 12
CHAPTER
Working with
PL/SQL Constructs
T
Working with
PL/SQL Constructs
41
CHAPTER
Working with
PL/SQL Constructs
T
Working with
PL/SQL Constructs
41
You can define a program unit simply by typing its source directly in
the Interpreter. The PL/SQL> prompt in the Interpreter pane accepts
any legal PL/SQL program unit.
For example, to execute an anonymous block in Oracle Procedure
Builder, type the following PL/SQL at the Interpreter command
prompt:
PL/SQL> text_io.put_line(Hello World);
The easiest and most common place to enter PL/SQL source is in the
Program Unit editor, which provides editing, compilation, and
warning/error message browsing when developing program units.
1.
Select the Program Units node in the Navigator and choose the
Create button or Navigator>Create to display the New Program
Unit dialog.
Note: If no program units currently exist, try double-clicking
the Program Units node to display the New Program Unit
dialog.
Alternatively, you can choose Tools>Program Unit Editor to
display the Program Unit Editor, then choose the New button to
display the New Program Unit dialog.
2.
3.
42
4.
Enter the full specification and body of the program unit in the
Source Text pane.
5.
You can define a program unit simply by typing its source directly in
the Interpreter. The PL/SQL> prompt in the Interpreter pane accepts
any legal PL/SQL program unit.
For example, to execute an anonymous block in Oracle Procedure
Builder, type the following PL/SQL at the Interpreter command
prompt:
PL/SQL> text_io.put_line(Hello World);
The easiest and most common place to enter PL/SQL source is in the
Program Unit editor, which provides editing, compilation, and
warning/error message browsing when developing program units.
1.
Select the Program Units node in the Navigator and choose the
Create button or Navigator>Create to display the New Program
Unit dialog.
Note: If no program units currently exist, try double-clicking
the Program Units node to display the New Program Unit
dialog.
Alternatively, you can choose Tools>Program Unit Editor to
display the Program Unit Editor, then choose the New button to
display the New Program Unit dialog.
2.
3.
42
4.
Enter the full specification and body of the program unit in the
Source Text pane.
5.
For more information, see Using the Program Unit Editor on page
4 20.
Loading External
Program Units
LOAD
For example, suppose the file named hello.pls contains the source for
the procedure hello_world. To load hello_world into the environment,
choose File>Load in the modeless Interpreter to display the Load
Program Unit dialog box (shown below).
Working with
PL/SQL Constructs
43
For more information, see Using the Program Unit Editor on page
4 20.
Loading External
Program Units
LOAD
For example, suppose the file named hello.pls contains the source for
the procedure hello_world. To load hello_world into the environment,
choose File>Load in the modeless Interpreter to display the Load
Program Unit dialog box (shown below).
Working with
PL/SQL Constructs
43
For example, suppose the file named script.pld contains the following:
PROCEDURE bonuses (my_ename IN CHAR) IS
CURSOR c1 IS
SELECT ename, sal*0.15 bonus FROM emp;
BEGIN
FOR c1rec IN c1 LOOP
TEXT_IO.PUTF(%s %s %s %s, Employee:,
c1rec.ename, Bonus:, to_char(c1rec.bonus));
TEXT_IO.NEW_LINE;
END LOOP;
END;
PROCEDURE main IS
empname
VARCHAR2(20);
BEGIN
empname := JONES;
bonuses(empname);
END;
.CREATE LIB lib1
.INSERT PROC bonuses, main LIB lib1
44
For example, suppose the file named script.pld contains the following:
PROCEDURE bonuses (my_ename IN CHAR) IS
CURSOR c1 IS
SELECT ename, sal*0.15 bonus FROM emp;
BEGIN
FOR c1rec IN c1 LOOP
TEXT_IO.PUTF(%s %s %s %s, Employee:,
c1rec.ename, Bonus:, to_char(c1rec.bonus));
TEXT_IO.NEW_LINE;
END LOOP;
END;
PROCEDURE main IS
empname
VARCHAR2(20);
BEGIN
empname := JONES;
bonuses(empname);
END;
.CREATE LIB lib1
.INSERT PROC bonuses, main LIB lib1
44
Working with
PL/SQL Constructs
45
Working with
PL/SQL Constructs
45
Importing Program
Unit Text Files
You can export a program unit to a text file on your file system, and
then import the text file at a later time. There are two ways to import
program unit text files:
To import a program unit text file using the Program Unit editor:
1.
Select the Program Units node and choose the Create button or
Navigator Create to show the New Program Unit dialog.
2.
3.
4.
Place the cursor in the Source Text pane where you wish to insert
the exported text file.
5.
6.
Specify the name and location of the text file you wish to import.
7.
Choose the OK button to accept the file dialog and import the file.
The text file appears in the Program Unit editor.
8.
9.
46
Importing Program
Unit Text Files
You can export a program unit to a text file on your file system, and
then import the text file at a later time. There are two ways to import
program unit text files:
To import a program unit text file using the Program Unit editor:
1.
Select the Program Units node and choose the Create button or
Navigator Create to show the New Program Unit dialog.
2.
3.
4.
Place the cursor in the Source Text pane where you wish to insert
the exported text file.
5.
6.
Specify the name and location of the text file you wish to import.
7.
Choose the OK button to accept the file dialog and import the file.
The text file appears in the Program Unit editor.
8.
9.
46
Resolving References
to Program Units
calling subprograms
2.
3.
4.
Attached libraries.
5.
Displaying Program
Unit Source
You can display the source of your defined program units in the Source
pane of the Interpreter, or in the Program Unit editor.
You display program unit source in the Interpreter Source pane when
you want to view the program unit source, with line numbers, and
optionally perform debug actions on the program unit.
You display program unit source in the Program Unit editor when you
want to edit the content of the program unit itself.
There are two ways to display program unit source in the Interpreter:
To list the source for the procedure bonuses, highlight bonuses in the
Object Navigator by clicking on it once. You could achieve the same
effect by entering the following command on the Interpreter command
line:
PL/SQL> .list PROCEDURE BONUSES BODY
Working with
PL/SQL Constructs
47
Resolving References
to Program Units
calling subprograms
2.
3.
4.
Attached libraries.
5.
Displaying Program
Unit Source
You can display the source of your defined program units in the Source
pane of the Interpreter, or in the Program Unit editor.
You display program unit source in the Interpreter Source pane when
you want to view the program unit source, with line numbers, and
optionally perform debug actions on the program unit.
You display program unit source in the Program Unit editor when you
want to edit the content of the program unit itself.
There are two ways to display program unit source in the Interpreter:
To list the source for the procedure bonuses, highlight bonuses in the
Object Navigator by clicking on it once. You could achieve the same
effect by entering the following command on the Interpreter command
line:
PL/SQL> .list PROCEDURE BONUSES BODY
Working with
PL/SQL Constructs
47
Program unit source lines are numbered from top to bottom, starting
with 1. For example, consider the following source text for a
stand-alone procedure named hello_world, in which the put_line
statement appears on line 5:
00001
00002
00003
00004
00005
00006
48
Program unit source lines are numbered from top to bottom, starting
with 1. For example, consider the following source text for a
stand-alone procedure named hello_world, in which the put_line
statement appears on line 5:
00001
00002
00003
00004
00005
00006
48
To display the source of a program unit in the Program Unit Editor, use
one of the following methods:
Double-click on the program unit object in the Navigator, or
Select the program unit in the Object Navigator and choose Program
Unit Editor from the pop-up menu, or
Choose Tools>Program Unit Editor and select the program unit
you wish to edit from the Name drop-down list.
Note: The Name drop-down list only contains program units
available in the current scope.
Calling Subprograms
Make sure the Program Unit editor is open and is the most recently
selected window.
2.
Place the cursor in the Program Unit editor where you want to
insert the subprogram entry.
3.
4.
Searching and
Replacing
You can perform global search and replace on a text string or regular
expression, within a single program unit, or within all program units
located in the current scope.
Searching a Single
Program Unit
Open the program unit you wish to search in the Program Unit
editor.
Working with
PL/SQL Constructs
49
To display the source of a program unit in the Program Unit Editor, use
one of the following methods:
Double-click on the program unit object in the Navigator, or
Select the program unit in the Object Navigator and choose Program
Unit Editor from the pop-up menu, or
Choose Tools>Program Unit Editor and select the program unit
you wish to edit from the Name drop-down list.
Note: The Name drop-down list only contains program units
available in the current scope.
Calling Subprograms
Make sure the Program Unit editor is open and is the most recently
selected window.
2.
Place the cursor in the Program Unit editor where you want to
insert the subprogram entry.
3.
4.
Searching and
Replacing
You can perform global search and replace on a text string or regular
expression, within a single program unit, or within all program units
located in the current scope.
Searching a Single
Program Unit
Open the program unit you wish to search in the Program Unit
editor.
Working with
PL/SQL Constructs
49
2.
3.
4.
5.
6.
7.
Searching all Program
Units in the Current
Scope
You can perform a search and replace across all program units located
in the Program Units node of the Object Navigator, or across all
program units located in a library.
1.
Select either the Program Units node, or the library object you wish
to search across.
If you do not specify a scope by selecting a node or object in the
Navigator, Oracle Procedure Builder uses the next available valid
scope, based on your current position in the Navigator.
2.
3.
4.
5.
4 10
2.
3.
4.
5.
6.
7.
Searching all Program
Units in the Current
Scope
You can perform a search and replace across all program units located
in the Program Units node of the Object Navigator, or across all
program units located in a library.
1.
Select either the Program Units node, or the library object you wish
to search across.
If you do not specify a scope by selecting a node or object in the
Navigator, Oracle Procedure Builder uses the next available valid
scope, based on your current position in the Navigator.
2.
3.
4.
5.
4 10
Redefining Program
Units
If you load or directly enter the source code of a program unit that is
already defined in the environment, the existing program unit is
redefined.
For example, you previously loaded the procedure hello_world using the
Load Program Unit dialog box. Interactively calling hello_world yields
the following:
PL/SQL> hello_world;
Hello World
PL/SQL>
Program Unit
Invalidation
Working with
PL/SQL Constructs
4 11
Redefining Program
Units
If you load or directly enter the source code of a program unit that is
already defined in the environment, the existing program unit is
redefined.
For example, you previously loaded the procedure hello_world using the
Load Program Unit dialog box. Interactively calling hello_world yields
the following:
PL/SQL> hello_world;
Hello World
PL/SQL>
Program Unit
Invalidation
Working with
PL/SQL Constructs
4 11
4 12
4 12
PL/SQL> hello;
ERROR 306 at line 3, column 3
wrong number or types of arguments in call to
HELLO_WORLD
...
PL/SQL>
Working with
PL/SQL Constructs
4 13
PL/SQL> hello;
ERROR 306 at line 3, column 3
wrong number or types of arguments in call to
HELLO_WORLD
...
PL/SQL>
Working with
PL/SQL Constructs
4 13
Compiling Program
Units
Individual Compilation
You can compile an individual program unit from within the Program
Unit editor, or in the Object Navigator.
See the section Using the Program Unit Editor, for information about
compiling a program unit in the Program Unit editor.
To compile an individual program unit in the Object Navigator:
Select the program unit object and choose Navigator>Compile.
Oracle Procedure Builder executes the COMPILE(Program Units)
command. If any errors are encountered, the Program Unit editor
appears containing the source of the selected program unit and the
compilation errors are displayed in the Program Unit editor Error
Compilation Messages pane.
Batch Compilation
2.
4 14
Compiling Program
Units
Individual Compilation
You can compile an individual program unit from within the Program
Unit editor, or in the Object Navigator.
See the section Using the Program Unit Editor, for information about
compiling a program unit in the Program Unit editor.
To compile an individual program unit in the Object Navigator:
Select the program unit object and choose Navigator>Compile.
Oracle Procedure Builder executes the COMPILE(Program Units)
command. If any errors are encountered, the Program Unit editor
appears containing the source of the selected program unit and the
compilation errors are displayed in the Program Unit editor Error
Compilation Messages pane.
Batch Compilation
2.
4 14
Displaying Program
Unit Information
Oracle Procedure Builder enables you to list the names and types of the
program units that are currently defined. There are two ways to
display information on defined program units:
For example, thus far you have defined the procedures bonuses, main,
hello_world, and hello within the environment. To check this, look in the
Navigator under Program Units. The name and type of the procedures
should appear there.
You can also display detailed information about a specific program
unit. The information displayed includes the program unit name, its
type, whether it is compiled, whether it is open for editing, and cross
reference information.
For example, type the following command to see detailed information
about bonuses:
PL/SQL> .describe proc bonuses
Procedure Body: BONUSES
Parameters:
my_ename IN CHAR
External Location: INTERPRETER
Compiled: YES
Open: NO
References:
Package Spec TEXT_IO
Table EMP
Referenced by:
Procedure Body MAIN
PL/SQL>
Working with
PL/SQL Constructs
4 15
Displaying Program
Unit Information
Oracle Procedure Builder enables you to list the names and types of the
program units that are currently defined. There are two ways to
display information on defined program units:
For example, thus far you have defined the procedures bonuses, main,
hello_world, and hello within the environment. To check this, look in the
Navigator under Program Units. The name and type of the procedures
should appear there.
You can also display detailed information about a specific program
unit. The information displayed includes the program unit name, its
type, whether it is compiled, whether it is open for editing, and cross
reference information.
For example, type the following command to see detailed information
about bonuses:
PL/SQL> .describe proc bonuses
Procedure Body: BONUSES
Parameters:
my_ename IN CHAR
External Location: INTERPRETER
Compiled: YES
Open: NO
References:
Package Spec TEXT_IO
Table EMP
Referenced by:
Procedure Body MAIN
PL/SQL>
Working with
PL/SQL Constructs
4 15
Checking Cross
References in the
Navigator
4 16
Checking Cross
References in the
Navigator
4 16
You can store program units in the database using the STORE
command. Stored program units are PL/SQL packages and
subprograms that reside and execute in the Oracle7 Server. You can
invoke the STORE command in the following ways:
2.
3.
4.
Drag the program unit below the Program Units subnode under
the Database Objects/namespace node, and release.
The STORE command is echoed in the Interpreter:
PL/SQL> .STORE SUBPROGRAM /puname BODY
For more information about stored program units, see Working with
Stored Program Units on page 4 31.
For more information about the STORE command, see STORE on
page 7 69.
Exporting Program
Units to Text Files
You can export a program unit to a text file on the file system and load
it back in at a later time. You may want to define and debug a program
unit in Oracle Procedure Builder, export it to a text file, and distribute it
to multiple users to include in other Oracle products. You can export
part of, or all of a program unit.
To export a program unit to a text file:
1.
2.
If you only wish to export part of the program unit, select the text
you wish to export.
3.
Working with
PL/SQL Constructs
4 17
You can store program units in the database using the STORE
command. Stored program units are PL/SQL packages and
subprograms that reside and execute in the Oracle7 Server. You can
invoke the STORE command in the following ways:
2.
3.
4.
Drag the program unit below the Program Units subnode under
the Database Objects/namespace node, and release.
The STORE command is echoed in the Interpreter:
PL/SQL> .STORE SUBPROGRAM /puname BODY
For more information about stored program units, see Working with
Stored Program Units on page 4 31.
For more information about the STORE command, see STORE on
page 7 69.
Exporting Program
Units to Text Files
You can export a program unit to a text file on the file system and load
it back in at a later time. You may want to define and debug a program
unit in Oracle Procedure Builder, export it to a text file, and distribute it
to multiple users to include in other Oracle products. You can export
part of, or all of a program unit.
To export a program unit to a text file:
1.
2.
If you only wish to export part of the program unit, select the text
you wish to export.
3.
Working with
PL/SQL Constructs
4 17
4.
5.
Renaming Program
Units
You can rename program units only from within the Program Unit
editor.
Note: If you rename a program unit that is referenced in other
program units, you must change those references to reflect the
new name.
1.
2.
3.
In the body of the program unit, edit the program units name.
4.
5.
Removing Program
Units
Once youve defined and debugged a program unit, you can remove it
from Oracle Procedure Builder if you no longer need it. Once removed,
a program unit and any of its subobjects (types, variables,
subprograms, etc.) are no longer defined within the development
session.
There are two ways to remove program units:
select the program unit in the Object Navigator and then choose
the Delete button or Navigator>Delete
4 18
4.
5.
Renaming Program
Units
You can rename program units only from within the Program Unit
editor.
Note: If you rename a program unit that is referenced in other
program units, you must change those references to reflect the
new name.
1.
2.
3.
In the body of the program unit, edit the program units name.
4.
5.
Removing Program
Units
Once youve defined and debugged a program unit, you can remove it
from Oracle Procedure Builder if you no longer need it. Once removed,
a program unit and any of its subobjects (types, variables,
subprograms, etc.) are no longer defined within the development
session.
There are two ways to remove program units:
select the program unit in the Object Navigator and then choose
the Delete button or Navigator>Delete
4 18
Deleting Program
Units
You can delete program units either from the Object Navigator, or from
within the Program Unit editor.
Note: If you delete a program unit that is referenced in other
program units, you must remove those references to reflect the
deletion.
To delete a program unit from the Object Navigator.
1.
2.
3.
2.
3.
4.
Working with
PL/SQL Constructs
4 19
Deleting Program
Units
You can delete program units either from the Object Navigator, or from
within the Program Unit editor.
Note: If you delete a program unit that is referenced in other
program units, you must remove those references to reflect the
deletion.
To delete a program unit from the Object Navigator.
1.
2.
3.
2.
3.
4.
Working with
PL/SQL Constructs
4 19
The Program Unit editor is shown below and its elements are described
following the figure.
Compile
Is a button that compiles the program unit appearing in the Source Text
pane. Any error messages generated as a result of the compilation will
appear in the scrollable Compilation Messages pane (see below).
Apply
Is a button that saves any changes made to the program unit in the
editor since it was first opened or since the last apply or revert
operation. The editor remains open.
4 20
The Program Unit editor is shown below and its elements are described
following the figure.
Compile
Is a button that compiles the program unit appearing in the Source Text
pane. Any error messages generated as a result of the compilation will
appear in the scrollable Compilation Messages pane (see below).
Apply
Is a button that saves any changes made to the program unit in the
editor since it was first opened or since the last apply or revert
operation. The editor remains open.
4 20
Revert
Is a button that restores the state of the program unit to what it was
when the editor was first opened or when the last apply or revert
operation occurred.
New
Is a button that displays the New Program Unit dialog box. In it you
specify the type and name of the program unit you wish to create.
Delete
Close
Name
Is a drop-down list that displays the name of the current program unit.
You can use the drop-down list to select another existing program unit
to edit.
Compilation
Messages Pane
Working with
PL/SQL Constructs
4 21
Revert
Is a button that restores the state of the program unit to what it was
when the editor was first opened or when the last apply or revert
operation occurred.
New
Is a button that displays the New Program Unit dialog box. In it you
specify the type and name of the program unit you wish to create.
Delete
Close
Name
Is a drop-down list that displays the name of the current program unit.
You can use the drop-down list to select another existing program unit
to edit.
Compilation
Messages Pane
Working with
PL/SQL Constructs
4 21
Split Bar
Located on the bottom edge of the Source Text pane, the split bar
enables you to change the relative amount of space occupied by the two
panes in the Program Unit editor.
If the displayed program unit has no associated compilation error
messages, only the Source Text pane is displayed. This is because the
split bar is located (by default) near the bottom of the editor, effectively
removing the Compilation Messages pane from view.
To change the amount of space occupied by the Source Text and
Compilation Messages panes, move your cursor over the split bar at
the bottom of the Source Text pane, so the cursor appears as cross hairs
(+). Click and hold the mouse button, then move the cursor up or
down to the desired position and release the mouse button. The two
panes are resized accordingly.
Status Bar
Located at the bottom of the Program Unit editor, the status bar
displays information about the current state of the program unit.
The left edge of the status bar displays the following messages:
Not Modified
Modified
The right edge of the status bar displays the following messages:
4 22
Split Bar
Located on the bottom edge of the Source Text pane, the split bar
enables you to change the relative amount of space occupied by the two
panes in the Program Unit editor.
If the displayed program unit has no associated compilation error
messages, only the Source Text pane is displayed. This is because the
split bar is located (by default) near the bottom of the editor, effectively
removing the Compilation Messages pane from view.
To change the amount of space occupied by the Source Text and
Compilation Messages panes, move your cursor over the split bar at
the bottom of the Source Text pane, so the cursor appears as cross hairs
(+). Click and hold the mouse button, then move the cursor up or
down to the desired position and release the mouse button. The two
panes are resized accordingly.
Status Bar
Located at the bottom of the Program Unit editor, the status bar
displays information about the current state of the program unit.
The left edge of the status bar displays the following messages:
Not Modified
Modified
The right edge of the status bar displays the following messages:
4 22
Not Compiled
Successfully
Compiled
Compiled with
Errors
Working with
PL/SQL Constructs
4 23
Not Compiled
Successfully
Compiled
Compiled with
Errors
Working with
PL/SQL Constructs
4 23
4 24
4 24
Creating and
Modifying Libraries
Creating a Library
administer libraries
You can create and modify PL/SQL libraries using the following
commands:
CREATE
OPEN
INSERT
DELETE
SAVE
CLOSE
The CREATE command enables you to create a new library that can be
stored in either the file system or the current database. You can invoke
the CREATE command in two ways:
in the Object Navigator, select the Libraries node and choose the
Create button or Navigator>Create
Note: If no libraries currently exist, you can double-click on
the Libraries node to create a new library
choose File>New
Note that, in the case of libraries stored in the file system, the name of
the library is designated by the basename of the file (the full file name
minus any leading directory and any trailing extension). For example,
on UNIX, the file /private/libs/emplib.pll holds the library named emplib.
The newly created library (initially named LIB_xxx if no name is
entered) is automatically opened. Once a library has been created, its
contents can be modified using the INSERT and DELETE(Program
Units) commands.
For more information, see CREATE (Libraries) on page 7 13.
Working with
PL/SQL Constructs
4 25
Creating and
Modifying Libraries
Creating a Library
administer libraries
You can create and modify PL/SQL libraries using the following
commands:
CREATE
OPEN
INSERT
DELETE
SAVE
CLOSE
The CREATE command enables you to create a new library that can be
stored in either the file system or the current database. You can invoke
the CREATE command in two ways:
in the Object Navigator, select the Libraries node and choose the
Create button or Navigator>Create
Note: If no libraries currently exist, you can double-click on
the Libraries node to create a new library
choose File>New
Note that, in the case of libraries stored in the file system, the name of
the library is designated by the basename of the file (the full file name
minus any leading directory and any trailing extension). For example,
on UNIX, the file /private/libs/emplib.pll holds the library named emplib.
The newly created library (initially named LIB_xxx if no name is
entered) is automatically opened. Once a library has been created, its
contents can be modified using the INSERT and DELETE(Program
Units) commands.
For more information, see CREATE (Libraries) on page 7 13.
Working with
PL/SQL Constructs
4 25
Opening a Library
You can use the OPEN command to open a library for editing (i.e. to
insert or delete a program unit). You can invoke the OPEN command
in two ways:
selecting File>Open, then using the dialog box to select the file
you wish to open
You can use the INSERT command to add program units to an open
library. You can invoke the INSERT command in two ways:
To drag a program unit in the Object Navigator, select the program unit
in the Object Navigator and drag the object below the librarys
Program Units node. Release the mouse button to insert a copy of the
program unit in the library.
Note: The program unit is not moved into the library. Its
object still appears under the Program Units node. Removing
that program unit from the library does not remove it from the
original Program Units node.
For more information, see INSERT (Library Program Units) on page
7 42.
Removing Program Units
4 26
You can use the DELETE command to remove program units from an
open library. You can invoke DELETE in two ways:
Opening a Library
You can use the OPEN command to open a library for editing (i.e. to
insert or delete a program unit). You can invoke the OPEN command
in two ways:
selecting File>Open, then using the dialog box to select the file
you wish to open
You can use the INSERT command to add program units to an open
library. You can invoke the INSERT command in two ways:
To drag a program unit in the Object Navigator, select the program unit
in the Object Navigator and drag the object below the librarys
Program Units node. Release the mouse button to insert a copy of the
program unit in the library.
Note: The program unit is not moved into the library. Its
object still appears under the Program Units node. Removing
that program unit from the library does not remove it from the
original Program Units node.
For more information, see INSERT (Library Program Units) on page
7 42.
Removing Program Units
4 26
You can use the DELETE command to remove program units from an
open library. You can invoke DELETE in two ways:
You can use the SAVE command to save changes to an open library.
You can invoke the SAVE command in the following ways:
You can use the CLOSE command to close an open library. You can
invoke the CLOSE command in the following ways:
Working with
PL/SQL Constructs
4 27
You can use the SAVE command to save changes to an open library.
You can invoke the SAVE command in the following ways:
You can use the CLOSE command to close an open library. You can
invoke the CLOSE command in the following ways:
Working with
PL/SQL Constructs
4 27
Attaching and
Detaching Libraries
Attaching a Library
You can attach to a library that resides in either the file system or the
current database. You can invoke the ATTACH command in the
following ways:
You can use the DETACH command to remove the specified library
from the current set of attached libraries. You can invoke the DETACH
command in the following ways:
Compiling Library
Program Units
You can use the COMPILE command to compile the contents of open
and attached libraries. You can invoke the COMPILE command either
in the following ways::
4 28
Attaching and
Detaching Libraries
Attaching a Library
You can attach to a library that resides in either the file system or the
current database. You can invoke the ATTACH command in the
following ways:
You can use the DETACH command to remove the specified library
from the current set of attached libraries. You can invoke the DETACH
command in the following ways:
Compiling Library
Program Units
You can use the COMPILE command to compile the contents of open
and attached libraries. You can invoke the COMPILE command either
in the following ways::
4 28
Loading Library
Program Units
Viewing Library
Information
You can view information about the libraries that are currently open
within and attached to Oracle Procedure Builder.
The Object Navigator displays a list of the libraries that are currently
open and attached. You could also invoke the SHOW command to
display the same information in the Interpreter pane. For more
information, see SHOW (Libraries) on page 7 64.
To display information about a specific library (including its mode, its
location, and its contents), you could invoke the DESCRIBE command.
For example:
Working with
PL/SQL Constructs
4 29
Loading Library
Program Units
Viewing Library
Information
You can view information about the libraries that are currently open
within and attached to Oracle Procedure Builder.
The Object Navigator displays a list of the libraries that are currently
open and attached. You could also invoke the SHOW command to
display the same information in the Interpreter pane. For more
information, see SHOW (Libraries) on page 7 64.
To display information about a specific library (including its mode, its
location, and its contents), you could invoke the DESCRIBE command.
For example:
Working with
PL/SQL Constructs
4 29
Library Administration Oracle Procedure Builder supports the following operations on libraries
stored in the database:
Deleting a Library
You can use the RENAME command to rename a library stored in the
database. For example:
PL/SQL> .rename lib LIB1 TO MY_LIB
4 30
Library Administration Oracle Procedure Builder supports the following operations on libraries
stored in the database:
Deleting a Library
You can use the RENAME command to rename a library stored in the
database. For example:
PL/SQL> .rename lib LIB1 TO MY_LIB
4 30
To grant a user access in the Grant Access List dialog, enter a valid
database userid in the User field and select the Add button. The user is
added to the list for that object. Choose the OK button to close the
dialog.
To revoke access from a user in the Grant Access List dialog, select the
userid from the list field and choose the Remove button. Choose the
OK button to accept your changes and close the Grant Access List
dialog.
For more information about performing these actions on the Interpreter
command line, see GRANT on page 7 40 and REVOKE on page
7 58.
calling syntax
name resolution
privileges
Working with
PL/SQL Constructs
4 31
To grant a user access in the Grant Access List dialog, enter a valid
database userid in the User field and select the Add button. The user is
added to the list for that object. Choose the OK button to close the
dialog.
To revoke access from a user in the Grant Access List dialog, select the
userid from the list field and choose the Remove button. Choose the
OK button to accept your changes and close the Grant Access List
dialog.
For more information about performing these actions on the Interpreter
command line, see GRANT on page 7 40 and REVOKE on page
7 58.
calling syntax
name resolution
privileges
Working with
PL/SQL Constructs
4 31
For more information about stored program units, see the Oracle7
Server Concepts Manual.
Calling Syntax
The syntax for calling stored subprograms is identical to the syntax for
calling client-side subprograms:
[packagename.]subprogramname(args)
4 32
For more information about stored program units, see the Oracle7
Server Concepts Manual.
Calling Syntax
The syntax for calling stored subprograms is identical to the syntax for
calling client-side subprograms:
[packagename.]subprogramname(args)
4 32
Referencing Stored
Subprograms
Oracle Procedure Builder does not recognize the default values for
optional arguments in the headers of stored subprograms. For
example, suppose you have the following stored function:
FUNCTION tax (amt NUMBER, rate NUMBER := 8.25)
RETURN NUMBER IS
BEGIN
RETURN(amt * rate);
END;
Debugging Stored
Program Units
2.
Expand the subnodes for the database user and Program Units.
Working with
PL/SQL Constructs
4 33
Referencing Stored
Subprograms
Oracle Procedure Builder does not recognize the default values for
optional arguments in the headers of stored subprograms. For
example, suppose you have the following stored function:
FUNCTION tax (amt NUMBER, rate NUMBER := 8.25)
RETURN NUMBER IS
BEGIN
RETURN(amt * rate);
END;
Debugging Stored
Program Units
2.
Expand the subnodes for the database user and Program Units.
Working with
PL/SQL Constructs
4 33
3.
4.
Hold down your mouse button and drag the program unit object
from the Database Objects node to the Program Units node of the
Navigator, and release.
The following command is echoed in the Interpreter:
PL/SQL> .LOAD STORED PROGRAMUNIT user.puname NAMESPACE
5.
For more information about the LOAD command, see LOAD (Stored
Program Units on page 7 51.
For more information about debugging program units, see Debugging
PL/SQL Program Units on page 5 1.
VARCHAR2
NUMBER
DATE
BOOLEAN
Name Resolution
4 34
3.
4.
Hold down your mouse button and drag the program unit object
from the Database Objects node to the Program Units node of the
Navigator, and release.
The following command is echoed in the Interpreter:
PL/SQL> .LOAD STORED PROGRAMUNIT user.puname NAMESPACE
5.
For more information about the LOAD command, see LOAD (Stored
Program Units on page 7 51.
For more information about debugging program units, see Debugging
PL/SQL Program Units on page 5 1.
VARCHAR2
NUMBER
DATE
BOOLEAN
Name Resolution
4 34
Privileges
A stored subprogram runs under the security domain (or schema) of its
creator and not the current user. The current user must have EXECUTE
privilege on the subprogram to call it.
The Stored Program Unit editor is show below and its elements are
described following the figure.
New
Is a button that displays the New Program Unit dialog box. In it you
specify the type and name of the stored program unit you wish to
create.
Save
Working with
PL/SQL Constructs
4 35
Privileges
A stored subprogram runs under the security domain (or schema) of its
creator and not the current user. The current user must have EXECUTE
privilege on the subprogram to call it.
The Stored Program Unit editor is show below and its elements are
described following the figure.
New
Is a button that displays the New Program Unit dialog box. In it you
specify the type and name of the stored program unit you wish to
create.
Save
Working with
PL/SQL Constructs
4 35
Revert
Is a button that restores the state of the stored program unit to what it
was when the editor was first opened or when the last apply or revert
operation occurred.
Drop
Close
Is a button that attempts to close the Stored Program Unit editor. If any
changes have been made but not applied, an alert appears, prompting
you to apply or revert the changes or cancel the operation. Once all
changes have been applied or reverted, the Stored Program Unit editor
is closed.
Owner
Name
Used to enter and edit PL/SQL stored program unit source text.
Compilation
Messages Pane
4 36
Revert
Is a button that restores the state of the stored program unit to what it
was when the editor was first opened or when the last apply or revert
operation occurred.
Drop
Close
Is a button that attempts to close the Stored Program Unit editor. If any
changes have been made but not applied, an alert appears, prompting
you to apply or revert the changes or cancel the operation. Once all
changes have been applied or reverted, the Stored Program Unit editor
is closed.
Owner
Name
Used to enter and edit PL/SQL stored program unit source text.
Compilation
Messages Pane
4 36
Split Bar
Located on the bottom edge of the Source Text pane, the split bar
enables you to change the relative amount of space occupied by the two
panes in the Stored Program Unit editor.
If the displayed stored program unit has no associated compilation
error messages, only the Source Text pane is displayed. This is because
the split bar is located (by default) near the bottom of the editor,
effectively removing the Compilation Messages pane from view.
To change the amount of space occupied by the Source Text and
Compilation Messages panes, move your cursor over the split bar at
the bottom of the Source Text pane, so the cursor appears as cross hairs
(+). Click and hold the mouse button, then move the cursor up or
down to the desired position and release the mouse button. The two
panes are resized accordingly.
Status Bar
Located at the bottom of the Stored Program Unit editor, the status bar
displays information about the current state of the stored program unit.
The left edge of the status bar displays the following messages:
Not Modified
Modified
The right edge of the status bar displays the following messages:
Working with
PL/SQL Constructs
4 37
Split Bar
Located on the bottom edge of the Source Text pane, the split bar
enables you to change the relative amount of space occupied by the two
panes in the Stored Program Unit editor.
If the displayed stored program unit has no associated compilation
error messages, only the Source Text pane is displayed. This is because
the split bar is located (by default) near the bottom of the editor,
effectively removing the Compilation Messages pane from view.
To change the amount of space occupied by the Source Text and
Compilation Messages panes, move your cursor over the split bar at
the bottom of the Source Text pane, so the cursor appears as cross hairs
(+). Click and hold the mouse button, then move the cursor up or
down to the desired position and release the mouse button. The two
panes are resized accordingly.
Status Bar
Located at the bottom of the Stored Program Unit editor, the status bar
displays information about the current state of the stored program unit.
The left edge of the status bar displays the following messages:
Not Modified
Modified
The right edge of the status bar displays the following messages:
Working with
PL/SQL Constructs
4 37
4 38
Not Compiled
Successfully
Compiled
Compiled with
Errors
4 38
Not Compiled
Successfully
Compiled
Compiled with
Errors
The Database Trigger editor is shown below and its elements are
described following the figure.
Table Owner
Working with
PL/SQL Constructs
4 39
The Database Trigger editor is shown below and its elements are
described following the figure.
Table Owner
Working with
PL/SQL Constructs
4 39
Table
Name
Triggering (BEFORE
and AFTER)
Statement
Of Columns
Is a list box displaying the columns of the table selected in the Table
pop-list. If the UPDATE check box is enabled, an optional list of
columns can be included in the triggering statement.
If you select one or more columns in the Of Columns list box, the
trigger is fired on an UPDATE statement only when one of the
specified columns is updated. If no columns are selected, the trigger is
fired when any column of the the associated table is updated.
Referencing OLD As
NEW As
When
4 40
Table
Name
Triggering (BEFORE
and AFTER)
Statement
Of Columns
Is a list box displaying the columns of the table selected in the Table
pop-list. If the UPDATE check box is enabled, an optional list of
columns can be included in the triggering statement.
If you select one or more columns in the Of Columns list box, the
trigger is fired on an UPDATE statement only when one of the
specified columns is updated. If no columns are selected, the trigger is
fired when any column of the the associated table is updated.
Referencing OLD As
NEW As
When
4 40
Trigger Body
New
Save
Is a button that compiles the source appearing in the Trigger Body field.
Any error messages generated as a result of the compilation will
appear in a separate dialog.
Revert
Is a button that restores the state of the database trigger to what it was
when the editor was first opened or when the last apply or revert
operation occurred.
Drop
Close
Working with
PL/SQL Constructs
4 41
Trigger Body
New
Save
Is a button that compiles the source appearing in the Trigger Body field.
Any error messages generated as a result of the compilation will
appear in a separate dialog.
Revert
Is a button that restores the state of the database trigger to what it was
when the editor was first opened or when the last apply or revert
operation occurred.
Drop
Close
Working with
PL/SQL Constructs
4 41
4 42
4 42
CHAPTER
Debugging PL/SQL
Program Units
T
51
CHAPTER
Debugging PL/SQL
Program Units
T
51
Breakpoints
breakpoints
debug triggers
Debug Triggers
52
Breakpoints
breakpoints
debug triggers
Debug Triggers
52
Specifying Executable
Source Lines
Debug actions must be attached to program unit source lines that are
executable. A source line is considered executable if it contains one
or more statements for which the PL/SQL compiler generates code.
For example, source lines containing assignment statements and
procedure calls are executable, while source lines containing comments,
blank lines, declarations, or the NULL statement are not executable.
Creating Breakpoints
2.
Double-click on the line where you wish to create the break point.
Alternatively, you can select the line where you wish to create the
breakpoint and choose the Break command from the pop-up menu
in the Source pane, or choose Debug>Break from the menu to
display the PL/SQL Breakpoint dialog.
Choose the OK button to accept the PL/SQL Breakpoint dialog and
create the breakpoint.
53
Specifying Executable
Source Lines
Debug actions must be attached to program unit source lines that are
executable. A source line is considered executable if it contains one
or more statements for which the PL/SQL compiler generates code.
For example, source lines containing assignment statements and
procedure calls are executable, while source lines containing comments,
blank lines, declarations, or the NULL statement are not executable.
Creating Breakpoints
2.
Double-click on the line where you wish to create the break point.
Alternatively, you can select the line where you wish to create the
breakpoint and choose the Break command from the pop-up menu
in the Source pane, or choose Debug>Break from the menu to
display the PL/SQL Breakpoint dialog.
Choose the OK button to accept the PL/SQL Breakpoint dialog and
create the breakpoint.
53
Tutorial
Creating Debug
Triggers
54
You can use debug triggers to specify conditions for when a given
debug action should take place. You can use any of the packages
provided with Oracle Procedure Builder to define your debug actions.
Tutorial
Creating Debug
Triggers
54
You can use debug triggers to specify conditions for when a given
debug action should take place. You can use any of the packages
provided with Oracle Procedure Builder to define your debug actions.
2.
Select the line where you want to create the debug trigger and
choose the Trigger command from the pop-up menu in the Source
pane, or choose Debug>Trigger from the menu to display the
PL/SQL Trigger dialog.
3.
4.
5.
Choose the OK button to accept the dialog and create the trigger.
55
2.
Select the line where you want to create the debug trigger and
choose the Trigger command from the pop-up menu in the Source
pane, or choose Debug>Trigger from the menu to display the
PL/SQL Trigger dialog.
3.
4.
5.
Choose the OK button to accept the dialog and create the trigger.
55
Now the Source pane appears as shown below, with the cursor
positioned at the beginning of line 3.
00001 PROCEDURE bonuses (my_ename IN CHAR) IS
00002
CURSOR c1 IS
00003 |
SELECT ename, sal*0.15 bonus FROM emp;
00004 BEGIN
00005
FOR c1rec IN c1 LOOP
00006
TEXT_IO.PUTF(%s %s %s %s, Employee:,
00007
c1rec.ename, Bonus:, to_char(c1rec.bonus));
00008
TEXT_IO.NEW_LINE;
56
Now the Source pane appears as shown below, with the cursor
positioned at the beginning of line 3.
00001 PROCEDURE bonuses (my_ename IN CHAR) IS
00002
CURSOR c1 IS
00003 |
SELECT ename, sal*0.15 bonus FROM emp;
00004 BEGIN
00005
FOR c1rec IN c1 LOOP
00006
TEXT_IO.PUTF(%s %s %s %s, Employee:,
00007
c1rec.ename, Bonus:, to_char(c1rec.bonus));
00008
TEXT_IO.NEW_LINE;
56
00009
00010
END LOOP;
END;
Browsing Debug
Actions
To see a list of all the debug actions youve set thus far, look in the
Navigator under the Debug Actions node.
Alternatively, you can type the SHOW command at the Interpreter
command line. For example, type the following command to show the
breakpoint you inserted and its source location:
PL/SQL> .show breakpoints
Breakpoints:
#1 (Breakpoint: Procedure Body BONUSES, line 6)
PL/SQL>
If you had multiple breakpoints, this command would list all of them.
For more information about the SHOW command, see SHOW (Debug
Actions) on page 7 63.
Describing Debug
Actions
57
00009
00010
END LOOP;
END;
Browsing Debug
Actions
To see a list of all the debug actions youve set thus far, look in the
Navigator under the Debug Actions node.
Alternatively, you can type the SHOW command at the Interpreter
command line. For example, type the following command to show the
breakpoint you inserted and its source location:
PL/SQL> .show breakpoints
Breakpoints:
#1 (Breakpoint: Procedure Body BONUSES, line 6)
PL/SQL>
If you had multiple breakpoints, this command would list all of them.
For more information about the SHOW command, see SHOW (Debug
Actions) on page 7 63.
Describing Debug
Actions
57
Displaying Debug
Action Source
You can display the line of program unit source to which a debug
action is attached using the LIST command. You can invoke LIST in
two ways:
For example, enter the following command to display the source for
procedure bonuses, with the cursor positioned at the beginning of line 8
to mark the current source location:
PL/SQL> .list trigger 1
Disabling and
Enabling Debug
Actions
You can temporarily remove specific debug actions, and then restore
them later if necessary, using the DISABLE and ENABLE commands.
These commands can be invoked in the following ways:
58
Displaying Debug
Action Source
You can display the line of program unit source to which a debug
action is attached using the LIST command. You can invoke LIST in
two ways:
For example, enter the following command to display the source for
procedure bonuses, with the cursor positioned at the beginning of line 8
to mark the current source location:
PL/SQL> .list trigger 1
Disabling and
Enabling Debug
Actions
You can temporarily remove specific debug actions, and then restore
them later if necessary, using the DISABLE and ENABLE commands.
These commands can be invoked in the following ways:
58
You have a program unit foo that calls the subprogram bar. That
subprogram is also called by many other program units. You want to
create a breakpoint in the subprogram, but you only want to enable
that breakpoint when the subprogram is called from foo. To do this,
you need to perform the following steps:
1.
2.
Example
Consider the same situation where procedure bar accepts the argument
message from the many procedures that call it. Procedure foo passes a
unique argument of hello world to bar. In this case, we could define a
trigger than raises a breakpoint in procedure bar only when foo passes
its argument:
PL/SQL> .trigger proc bar line 3 IS
>BEGIN
> IF DEBUG.GETN(message) = hello world THEN
>
RAISE DEBUG.BREAK;
> END IF;
>END;
Removing Debug
Actions
You can permanently delete one or more debug actions using the
DELETE command, which can be invoked in two ways:
59
You have a program unit foo that calls the subprogram bar. That
subprogram is also called by many other program units. You want to
create a breakpoint in the subprogram, but you only want to enable
that breakpoint when the subprogram is called from foo. To do this,
you need to perform the following steps:
1.
2.
Example
Consider the same situation where procedure bar accepts the argument
message from the many procedures that call it. Procedure foo passes a
unique argument of hello world to bar. In this case, we could define a
trigger than raises a breakpoint in procedure bar only when foo passes
its argument:
PL/SQL> .trigger proc bar line 3 IS
>BEGIN
> IF DEBUG.GETN(message) = hello world THEN
>
RAISE DEBUG.BREAK;
> END IF;
>END;
Removing Debug
Actions
You can permanently delete one or more debug actions using the
DELETE command, which can be invoked in two ways:
59
For example, select the breakpoint entry in the Navigator and then
choose Delete. After accepting the confirmation alert, the following
command and messages are echoed in the Interpreter pane:
PL/SQL> .DELETE ACTION 2
Removing debug action 2...
PL/SQL>
The current execution location specifies the next PL/SQL source line to
be executed. It corresponds to what is commonly referred to as the
program counter, or PC. When control passes to the Interpreter while
running a program (e.g., when a breakpoint is encountered or
following a step operation), the Interpreter automatically displays the
source line associated with the current execution location. This is
equivalent to issuing the following LIST command:
.LIST PC
Examining the
Call Stack
The call stack represents the chain of subprogram calls starting from
the initial entry point down to the currently executing subprogram.
For example, if procedure A calls procedure B calls procedure C and a
statement in procedure C is currently executing, the current call chain
would appear as shown below:
A>B>C
Each subprogram call is represented by a frame on the call stack. A
frame contains information about the corresponding subprogram
callits name, actual parameter values, local variable values, and the
next statement to be executed.
5 10
For example, select the breakpoint entry in the Navigator and then
choose Delete. After accepting the confirmation alert, the following
command and messages are echoed in the Interpreter pane:
PL/SQL> .DELETE ACTION 2
Removing debug action 2...
PL/SQL>
The current execution location specifies the next PL/SQL source line to
be executed. It corresponds to what is commonly referred to as the
program counter, or PC. When control passes to the Interpreter while
running a program (e.g., when a breakpoint is encountered or
following a step operation), the Interpreter automatically displays the
source line associated with the current execution location. This is
equivalent to issuing the following LIST command:
.LIST PC
Examining the
Call Stack
The call stack represents the chain of subprogram calls starting from
the initial entry point down to the currently executing subprogram.
For example, if procedure A calls procedure B calls procedure C and a
statement in procedure C is currently executing, the current call chain
would appear as shown below:
A>B>C
Each subprogram call is represented by a frame on the call stack. A
frame contains information about the corresponding subprogram
callits name, actual parameter values, local variable values, and the
next statement to be executed.
5 10
Performing the latter action echoes the command .SET SCOPE FRAME 2
in the Interpreter (discussed later in this chapter), and displays the call
stack in the Interpreter pane.
The call stack shows that the anonymous block PU_00x, containing the
call to main, is at the top of the stack, while the subprogram containing
the current execution location (bonuses) is at the bottom.
Note: Having hit the breakpoint, the Interpreter command
prompt changes from PL/SQL> to (debug 1)PL/SQL>. For more
information, see Using Debug Levels on page 5 15.
5 11
Performing the latter action echoes the command .SET SCOPE FRAME 2
in the Interpreter (discussed later in this chapter), and displays the call
stack in the Interpreter pane.
The call stack shows that the anonymous block PU_00x, containing the
call to main, is at the top of the stack, while the subprogram containing
the current execution location (bonuses) is at the bottom.
Note: Having hit the breakpoint, the Interpreter command
prompt changes from PL/SQL> to (debug 1)PL/SQL>. For more
information, see Using Debug Levels on page 5 15.
5 11
You can display the program unit source associated with the current
scope location using the LIST command. For example, the following
command displays the current scope location and sets the current
source location:
.LIST SCOPE
Examining and
Modifying Locals
Object Navigator
Object Navigator
DESCRIBE command
DEBUG.GET x functions
DEBUG.SET x procedures
SHOW command
The Object Navigator allows you to view and optionally change the
values of local variables and parameters associated with the current
scope location. You can display local variables and parameters by
expanding the nodes under the Stack heading node.
For example, now that youve hit the conditional breakpoint, expand
the Stack heading node to display the local variables in bonuses (see
below).
5 12
You can display the program unit source associated with the current
scope location using the LIST command. For example, the following
command displays the current scope location and sets the current
source location:
.LIST SCOPE
Examining and
Modifying Locals
Object Navigator
Object Navigator
DESCRIBE command
DEBUG.GET x functions
DEBUG.SET x procedures
SHOW command
The Object Navigator allows you to view and optionally change the
values of local variables and parameters associated with the current
scope location. You can display local variables and parameters by
expanding the nodes under the Stack heading node.
For example, now that youve hit the conditional breakpoint, expand
the Stack heading node to display the local variables in bonuses (see
below).
5 12
DESCRIBE
DEBUG.GET x Functions
The GETx functions in the DEBUG package enable you to retrieve the
value of a variable or parameter that is local to the subprogram at the
current scope location. These functions are intended for use primarily
within debug triggers.
For more information and examples using the GETx functions in the
DEBUG package, see DEBUG.GETx on page 8 23.
Note: If you wish to see the value of a local, it is more
convenient to use SHOW, DESCRIBE, or the Object Navigator.
DEBUG.SET x Procedures
The SETx procedures in the DEBUG package enable you to set the
value of a variable or parameter that is local to the subprogram at the
current scope location. These procedures are intended for use
primarily within debug triggers.
5 13
DESCRIBE
DEBUG.GET x Functions
The GETx functions in the DEBUG package enable you to retrieve the
value of a variable or parameter that is local to the subprogram at the
current scope location. These functions are intended for use primarily
within debug triggers.
For more information and examples using the GETx functions in the
DEBUG package, see DEBUG.GETx on page 8 23.
Note: If you wish to see the value of a local, it is more
convenient to use SHOW, DESCRIBE, or the Object Navigator.
DEBUG.SET x Procedures
The SETx procedures in the DEBUG package enable you to set the
value of a variable or parameter that is local to the subprogram at the
current scope location. These procedures are intended for use
primarily within debug triggers.
5 13
For more information and examples using the SETx procedures in the
DEBUG package, see DEBUG.SETx on page 8 25.
SET SCOPE
The SET SCOPE command enables you to change the current scope
location to a specified frame of the call stack. You can specify relative
motion from the current stack frame to any other frame, or move to a
particular subprogram on the call stack. There are several ways to
invoke SET SCOPE:
For example, select the entry [1] MAIN (Procedure Body) Line 5
under the Stack node in the Navigator, changing the scope location to
the frame associated with procedure main:
(debug 1)PL/SQL> .SET SCOPE FRAME 1
Notice that the Source pane now displays the source for main, with the
arrow (=>) indicating that line 5 is the current scope location.
For more information, see the following sections:
SET (Scope) 7 60
You can use SHOW to list the name, type, and value of all locals
(variables and parameters) at the current scope location.
SHOW
For example, now that youve changed the scope location to the frame
associated with main, enter the following command to see if it has any
local variables or parameters. As expected, empname is listed as the
only local variable in the current scope:
(debug 1)PL/SQL> .show locals
Local parameters and variables:
EMPNAME = JONES
Controlling Program
Unit Execution
5 14
Once you have inspected and/or modified the program state, you can
resume or terminate execution using the following features:
STEP command
GO command
RESET command
For more information and examples using the SETx procedures in the
DEBUG package, see DEBUG.SETx on page 8 25.
SET SCOPE
The SET SCOPE command enables you to change the current scope
location to a specified frame of the call stack. You can specify relative
motion from the current stack frame to any other frame, or move to a
particular subprogram on the call stack. There are several ways to
invoke SET SCOPE:
For example, select the entry [1] MAIN (Procedure Body) Line 5
under the Stack node in the Navigator, changing the scope location to
the frame associated with procedure main:
(debug 1)PL/SQL> .SET SCOPE FRAME 1
Notice that the Source pane now displays the source for main, with the
arrow (=>) indicating that line 5 is the current scope location.
For more information, see the following sections:
SET (Scope) 7 60
You can use SHOW to list the name, type, and value of all locals
(variables and parameters) at the current scope location.
SHOW
For example, now that youve changed the scope location to the frame
associated with main, enter the following command to see if it has any
local variables or parameters. As expected, empname is listed as the
only local variable in the current scope:
(debug 1)PL/SQL> .show locals
Local parameters and variables:
EMPNAME = JONES
Controlling Program
Unit Execution
5 14
Once you have inspected and/or modified the program state, you can
resume or terminate execution using the following features:
STEP command
GO command
RESET command
STEP
You can invoke the STEP command either by choosing the Step Into,
Step Over, or Step Out button, choosing Debug>Step from the menu,
or by entering it on the Interpreter command line.
Choosing Debug>Step from the menu displays the PL/SQL Step
dialog. You can use this dialog to specify an argument to the STEP
command by selecting one of the radio buttons in the Mode field.
Possible choices are Into, Over, Out, and To.
For example, choose the Step Into button now to resume execution of
bonuses, displaying the following in the Interpreter pane:
5 15
STEP
You can invoke the STEP command either by choosing the Step Into,
Step Over, or Step Out button, choosing Debug>Step from the menu,
or by entering it on the Interpreter command line.
Choosing Debug>Step from the menu displays the PL/SQL Step
dialog. You can use this dialog to specify an argument to the STEP
command by selecting one of the radio buttons in the Mode field.
Possible choices are Into, Over, Out, and To.
For example, choose the Step Into button now to resume execution of
bonuses, displaying the following in the Interpreter pane:
5 15
5 16
5 16
CHAPTER
Calling Functions in
Dynamic Libraries
T
61
CHAPTER
Calling Functions in
Dynamic Libraries
T
61
datatypes
constants
62
datatypes
constants
62
Before you can invoke a function that is in a dynamic library, you must
first load the library into your application. Use the
ORA_FFI.LOAD_LIBRARY function to do this.
For example, the following statement loads the library mylib.dll, which
is found in the directory C:\utils\libs:
lib_handle := ORA_FFI.LOAD_LIBRARY(C:\utils\libs\,
mylib.dll);
Registering the Foreign Once you have loaded a library, you must register each of the librarys
functions that you plan to invoke. This tells your application in which
Function
library it can find the called function, and which calling standard (C or
Pascal) the function uses. Use the ORA_FFI.REGISTER_FUNCTION
function to provide this information.
For example, the following statement registers the foreign function
myfunc, which is defined in the library specified by lib_handle:
ff_handle := ORA_FFI.REGISTER_FUNCTION(lib_handle,
myfunc);
Registering Parameters If the foreign function accepts arguments, you must register them with
your application. This tells your application how to map each
arguments PL/SQL datatype to a C datatype. Use the
ORA_FFI.REGISTER_PARAMETER procedure to provide this
information.
The order in which you register the arguments must match the order in
which they are listed in the C function definition.
For example, consider the following C function definition:
void show_error(int errnum, char *errmsg)
63
Before you can invoke a function that is in a dynamic library, you must
first load the library into your application. Use the
ORA_FFI.LOAD_LIBRARY function to do this.
For example, the following statement loads the library mylib.dll, which
is found in the directory C:\utils\libs:
lib_handle := ORA_FFI.LOAD_LIBRARY(C:\utils\libs\,
mylib.dll);
Registering the Foreign Once you have loaded a library, you must register each of the librarys
functions that you plan to invoke. This tells your application in which
Function
library it can find the called function, and which calling standard (C or
Pascal) the function uses. Use the ORA_FFI.REGISTER_FUNCTION
function to provide this information.
For example, the following statement registers the foreign function
myfunc, which is defined in the library specified by lib_handle:
ff_handle := ORA_FFI.REGISTER_FUNCTION(lib_handle,
myfunc);
Registering Parameters If the foreign function accepts arguments, you must register them with
your application. This tells your application how to map each
arguments PL/SQL datatype to a C datatype. Use the
ORA_FFI.REGISTER_PARAMETER procedure to provide this
information.
The order in which you register the arguments must match the order in
which they are listed in the C function definition.
For example, consider the following C function definition:
void show_error(int errnum, char *errmsg)
63
Registering a Return
Value
If the return type of the foreign function is anything other than the C
type void, you must register the return type with your application. Use
the ORA_FFI.REGISTER_RETURN procedure to provide this
information.
For example, consider the following C function definition:
int to_power(int x, float y)
Associating a
Subprogram with a
Foreign Function
64
ORA_FFI.FIND_FUNCTION
ORA_FFI.REGISTER_FUNCTION
Registering a Return
Value
If the return type of the foreign function is anything other than the C
type void, you must register the return type with your application. Use
the ORA_FFI.REGISTER_RETURN procedure to provide this
information.
For example, consider the following C function definition:
int to_power(int x, float y)
Associating a
Subprogram with a
Foreign Function
64
ORA_FFI.FIND_FUNCTION
ORA_FFI.REGISTER_FUNCTION
Mimicking the Foreign Because the subprogram you define has a direct correspondence to a
foreign function, it must mimic the definition of that function. For
Function Definition
example, consider the following definition of a C function in a dynamic
library:
float tax(float amt, float rate)
This C function does not return a value, so you should associate it with
a PL/SQL procedure that accepts one VARCHAR2 parameter:
PROCEDURE ffi_show_message(ff_handle ORA_FFI.FUNCHANDLETYPE,
msg IN OUT VARCHAR2);
PRAGMA interface(C, ffi_show_message, 11265);
Remember that the handle to the foreign function must be the first
parameter that you pass to the subprogram.
Converting C Types to
PL/SQL
65
Mimicking the Foreign Because the subprogram you define has a direct correspondence to a
foreign function, it must mimic the definition of that function. For
Function Definition
example, consider the following definition of a C function in a dynamic
library:
float tax(float amt, float rate)
This C function does not return a value, so you should associate it with
a PL/SQL procedure that accepts one VARCHAR2 parameter:
PROCEDURE ffi_show_message(ff_handle ORA_FFI.FUNCHANDLETYPE,
msg IN OUT VARCHAR2);
PRAGMA interface(C, ffi_show_message, 11265);
Remember that the handle to the foreign function must be the first
parameter that you pass to the subprogram.
Converting C Types to
PL/SQL
65
Examples
C Datatype
PL/SQL Parameter
char
IN VARCHAR2
VARCHAR2
char *
IN OUT VARCHAR2
VARCHAR2
double
IN NUMBER
NUMBER
double *
IN OUT NUMBER
NUMBER
float
IN NUMBER
NUMBER
float *
IN OUT NUMBER
NUMBER
int
IN PLS_INTEGER
PLS_INTEGER
int *
IN OUT PLS_INTEGER
PLS_INTEGER
long int
IN PLS_INTEGER
PLS_INTEGER
long int *
IN OUT PLS_INTEGER
PLS_INTEGER
short
IN PLS_INTEGER
PLS_INTEGER
short *
IN OUT PLS_INTEGER
PLS_INTEGER
void *
IN OUT
ORA_FFI.POINTERTYPE
ORA_FFI.POINTERTYPE
Example 1
66
Examples
C Datatype
PL/SQL Parameter
char
IN VARCHAR2
VARCHAR2
char *
IN OUT VARCHAR2
VARCHAR2
double
IN NUMBER
NUMBER
double *
IN OUT NUMBER
NUMBER
float
IN NUMBER
NUMBER
float *
IN OUT NUMBER
NUMBER
int
IN PLS_INTEGER
PLS_INTEGER
int *
IN OUT PLS_INTEGER
PLS_INTEGER
long int
IN PLS_INTEGER
PLS_INTEGER
long int *
IN OUT PLS_INTEGER
PLS_INTEGER
short
IN PLS_INTEGER
PLS_INTEGER
short *
IN OUT PLS_INTEGER
PLS_INTEGER
void *
IN OUT
ORA_FFI.POINTERTYPE
ORA_FFI.POINTERTYPE
Example 1
66
*/
*/
*/
*/
*/
67
*/
*/
*/
*/
*/
67
To invoke the foreign function, you simply call the PL/SQL function
defined in the package specification:
x := mathlib.to_power(2, 4);
Example 2
68
To invoke the foreign function, you simply call the PL/SQL function
defined in the package specification:
x := mathlib.to_power(2, 4);
Example 2
68
69
69
To invoke the foreign functions, you would call the PL/SQL procedures
defined in the package specification, as in the following example:
PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
img_ptr ORA_FFI.POINTERTYPE;
BEGIN
img_ptr := imglib.get_image(keywrd);
imglib.show_image(img_ptr, 2);
END;
/* procedure display_image */
6 10
To invoke the foreign functions, you would call the PL/SQL procedures
defined in the package specification, as in the following example:
PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
img_ptr ORA_FFI.POINTERTYPE;
BEGIN
img_ptr := imglib.get_image(keywrd);
imglib.show_image(img_ptr, 2);
END;
/* procedure display_image */
6 10
PART
II
Oracle Procedure
Builder Reference
T
Command Reference
Error Messages
PART
II
Oracle Procedure
Builder Reference
T
Command Reference
Error Messages
CHAPTER
Command Reference
T
Syntax
Keywords and
Parameters
Usage Notes
Examples
Command Reference
71
CHAPTER
Command Reference
T
Syntax
Keywords and
Parameters
Usage Notes
Examples
Command Reference
71
Multi-valued
Arguments
For example, the LOAD command has the following partial syntax:
LOAD FILE name[, name...]
72
Multi-valued
Arguments
For example, the LOAD command has the following partial syntax:
LOAD FILE name[, name...]
72
Position Independence Unless explicitly specified in the syntax descriptions, options may
appear in any order. For example, the command:
.DESCRIBE PROCEDURE proc1 BODY
Multi-line Commands
Argument Quoting
Abbreviating Options
Command Reference
73
Position Independence Unless explicitly specified in the syntax descriptions, options may
appear in any order. For example, the command:
.DESCRIBE PROCEDURE proc1 BODY
Multi-line Commands
Argument Quoting
Abbreviating Options
Command Reference
73
Entering PL/SQL Code In addition to commands, the Interpreter accepts and evaluates PL/SQL
constructs (e.g., statements, blocks, procedure definitions, etc.). Oracle
Procedure Builder interprets a line beginning with anything other than a
valid command name as the beginning of a PL/SQL statement, block, or
program unit.
While commands occupy a single line (unless the continuation character
is used), PL/SQL may occupy any number of lines, and continuation
characters are neither necessary nor allowed.
If necessary, a PL/SQL construct can always be distinguished from a
command by enclosing it in the block delimiters BEGIN and END.
Notational
Conventions
The following two tables describe the notation and conventions for
command syntax used in this chapter.
Feature
Example
Explanation
uppercase
BREAK
A command or keyword
name; it need not be in
uppercase.
lowercase italics
numbers
vertical bar
braces
{STACK | SCOPE}
brackets
[BEFORE|AFTER]
underline
[BEFORE|AFTER]
74
Entering PL/SQL Code In addition to commands, the Interpreter accepts and evaluates PL/SQL
constructs (e.g., statements, blocks, procedure definitions, etc.). Oracle
Procedure Builder interprets a line beginning with anything other than a
valid command name as the beginning of a PL/SQL statement, block, or
program unit.
While commands occupy a single line (unless the continuation character
is used), PL/SQL may occupy any number of lines, and continuation
characters are neither necessary nor allowed.
If necessary, a PL/SQL construct can always be distinguished from a
command by enclosing it in the block delimiters BEGIN and END.
Notational
Conventions
The following two tables describe the notation and conventions for
command syntax used in this chapter.
Feature
Example
Explanation
uppercase
BREAK
A command or keyword
name; it need not be in
uppercase.
lowercase italics
numbers
vertical bar
braces
{STACK | SCOPE}
brackets
[BEFORE|AFTER]
underline
[BEFORE|AFTER]
74
ATTACH
Purpose
Syntax
Keywords and
Parameters
[directory]lib
name[extension]
FILESYSTEM and DB
BEFORE attachedlib
AFTER attachedlib
Usage Notes
If you attempt to attach a library in the file system, the load path and the
extension pll are used when resolving libname, unless directory and
extension are specified explicitly. Note that the syntax of directory is
operating system-specific. For more information about syntax, see the
Oracle product documentation for your operating system.
Libraries are attached read-only. If you want to modify the contents of a
library, use the OPEN command to open the library for editing. For
more information, see OPEN on page 7 53.
Examples
The following command attaches to the library residing in the file lib1:
.ATTACH LIB lib1 FILE
Command Reference
75
ATTACH
Purpose
Syntax
Keywords and
Parameters
[directory]lib
name[extension]
FILESYSTEM and DB
BEFORE attachedlib
AFTER attachedlib
Usage Notes
If you attempt to attach a library in the file system, the load path and the
extension pll are used when resolving libname, unless directory and
extension are specified explicitly. Note that the syntax of directory is
operating system-specific. For more information about syntax, see the
Oracle product documentation for your operating system.
Libraries are attached read-only. If you want to modify the contents of a
library, use the OPEN command to open the library for editing. For
more information, see OPEN on page 7 53.
Examples
The following command attaches to the library residing in the file lib1:
.ATTACH LIB lib1 FILE
Command Reference
75
BREAK
Purpose
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
PACKAGE name
SUBPROGRAM name
PROCEDURE name
FUNCTION name
actionlocation
ACTION number
BREAKPOINT number
specifies a breakpoint.
current
location
PC
SCOPE
LINE number
ENABLED and
DISABLED
TRIGGER
plsqlblock
76
BREAK
Purpose
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
PACKAGE name
SUBPROGRAM name
PROCEDURE name
FUNCTION name
actionlocation
ACTION number
BREAKPOINT number
specifies a breakpoint.
current
location
PC
SCOPE
LINE number
ENABLED and
DISABLED
TRIGGER
plsqlblock
76
Usage Notes
Trigger blocks may span multiple input lines. As is the case when
entering PL/SQL constructs elsewhere in the Interpreter, no line
continuation characters are required when entering the trigger body
(nor are they allowed).
If you wish to interrupt your program conditionally, you should use the
TRIGGER command in conjunction with the DEBUG.BREAK exception.
For more information, see TRIGGER on page 7 70.
If the statement is reached while running PL/SQL, Oracle Procedure
Builder suspends execution just before the statement is executed, and
passes control to the Interpreter. At this point, you can inspect and even
modify program state using a variety of Oracle Procedure Builder
functions.
Once satisfied, you can resume execution with the GO or STEP
commands. Alternatively, you can abort execution using the RESET
command. For more information, see the following sections:
Examples
GO 7 39
STEP 7 67
RESET 7 56
Command Reference
77
Usage Notes
Trigger blocks may span multiple input lines. As is the case when
entering PL/SQL constructs elsewhere in the Interpreter, no line
continuation characters are required when entering the trigger body
(nor are they allowed).
If you wish to interrupt your program conditionally, you should use the
TRIGGER command in conjunction with the DEBUG.BREAK exception.
For more information, see TRIGGER on page 7 70.
If the statement is reached while running PL/SQL, Oracle Procedure
Builder suspends execution just before the statement is executed, and
passes control to the Interpreter. At this point, you can inspect and even
modify program state using a variety of Oracle Procedure Builder
functions.
Once satisfied, you can resume execution with the GO or STEP
commands. Alternatively, you can abort execution using the RESET
command. For more information, see the following sections:
Examples
GO 7 39
STEP 7 67
RESET 7 56
Command Reference
77
CLOSE
Purpose
Removes one or more libraries from the current set of open libraries.
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
DISCARD
Closing a library removes all program units loaded from that library
into the environment. The namespace used to represent the library is
also removed.
Usage Notes
78
CLOSE
Purpose
Removes one or more libraries from the current set of open libraries.
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
DISCARD
Closing a library removes all program units loaded from that library
into the environment. The namespace used to represent the library is
also removed.
Usage Notes
78
COMPILE (Libraries)
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
INCREMENTAL
When invoked, COMPILE first checks for any currently loaded program
unit(s) that match the name and type of the program unit(s) in the
library to be compiled. If there is at least one match, you are asked if
you wish to continue compilation.
Usage Notes
Answering Yes removes all of the matching program units from the
environment, compiles them, and re-stores them in the specified open
library. Answering No aborts the operation.
Note: The compiled program unit(s) are re-stored in the open
library, but are not re-loaded into the environment. You can
invoke the LOAD command (via the Interpreter command line
or File>Load) to re-load them into the environment.
If INCREMENTAL is not specified, all program units in the library are
force compiled.
Examples
The following command compiles all of the program units in the open
library named lib1:
.COMPILE LIB lib1
Command Reference
79
COMPILE (Libraries)
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
INCREMENTAL
When invoked, COMPILE first checks for any currently loaded program
unit(s) that match the name and type of the program unit(s) in the
library to be compiled. If there is at least one match, you are asked if
you wish to continue compilation.
Usage Notes
Answering Yes removes all of the matching program units from the
environment, compiles them, and re-stores them in the specified open
library. Answering No aborts the operation.
Note: The compiled program unit(s) are re-stored in the open
library, but are not re-loaded into the environment. You can
invoke the LOAD command (via the Interpreter command line
or File>Load) to re-load them into the environment.
If INCREMENTAL is not specified, all program units in the library are
force compiled.
Examples
The following command compiles all of the program units in the open
library named lib1:
.COMPILE LIB lib1
Command Reference
79
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
[, name...]
PACKAGE name
[, name...]
SUBPROGRAM name
[, name...]
PROCEDURE name
[, name...]
FUNCTION name
[, name...]
SPECIFICATION
and BODY
Usage Notes
Examples
7 10
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
[, name...]
PACKAGE name
[, name...]
SUBPROGRAM name
[, name...]
PROCEDURE name
[, name...]
FUNCTION name
[, name...]
SPECIFICATION
and BODY
Usage Notes
Examples
7 10
Syntax
Keywords and
Parameters
See Also
Examples
{connect_
string}
[username/password@]
[network_device:]
[database_node:]
[database_name]
[SILENT]
DISCONNECT
The following command would connect you to the remote inventory
database on the boston network node using the TCP/IP device driver.
.CONNECT DB scott/tiger@t:boston:inventory
Command Reference
7 11
Syntax
Keywords and
Parameters
See Also
Examples
{connect_
string}
[username/password@]
[network_device:]
[database_node:]
[database_name]
[SILENT]
DISCONNECT
The following command would connect you to the remote inventory
database on the boston network node using the TCP/IP device driver.
.CONNECT DB scott/tiger@t:boston:inventory
Command Reference
7 11
Syntax
CREATE {bindvariable}
Keywords and
Parameters
bindvariable
NUMBER var_name
[PRECISION number]
[SCALE number]
DATE var_name
CHAR var_name
[LENGTH number]
Usage Notes
7 12
Syntax
CREATE {bindvariable}
Keywords and
Parameters
bindvariable
NUMBER var_name
[PRECISION number]
[SCALE number]
DATE var_name
CHAR var_name
[LENGTH number]
Usage Notes
7 12
CREATE (Libraries)
Purpose
Creates a new library that can be stored in either the file system or the
current database.
Syntax
Keywords and
Parameters
LIBRARY
[directory]lib
name[extension]
SOURCE pldfile
NOCOMPILE
FILESYSTEM and
DB
BEFORE and AFTER dictate whether the attached library is placed at the
Usage Notes
For libraries created in the file system, the name of the library is
designated by the basename of the file (the full filename minus any
leading directory and any trailing extension). For example, in UNIX, the
file /private/libs/emplib.pll holds the library named emplib.
The syntax of directory is operating system-specific. For more
information about syntax, see the Oracle product documentation for
your operating system.
The newly created library is automatically opened. Once a library has
been opened, you can modify its contents using the INSERT and
DELETE commands.
Command Reference
7 13
CREATE (Libraries)
Purpose
Creates a new library that can be stored in either the file system or the
current database.
Syntax
Keywords and
Parameters
LIBRARY
[directory]lib
name[extension]
SOURCE pldfile
NOCOMPILE
FILESYSTEM and
DB
BEFORE and AFTER dictate whether the attached library is placed at the
Usage Notes
For libraries created in the file system, the name of the library is
designated by the basename of the file (the full filename minus any
leading directory and any trailing extension). For example, in UNIX, the
file /private/libs/emplib.pll holds the library named emplib.
The syntax of directory is operating system-specific. For more
information about syntax, see the Oracle product documentation for
your operating system.
The newly created library is automatically opened. Once a library has
been opened, you can modify its contents using the INSERT and
DELETE commands.
Command Reference
7 13
Using the SOURCE option, you can immediately populate the newly
created library with the source of one or more program units contained
in the specified pldfile. The library is then compiled (using the COMPILE
LIBRARY command) unless you specify the NOCOMPILE option.
If you try to create a library with the same name as an existing library,
an alert appears, asking if you want to overwrite the existing library.
Specifying NOCONFIRM in the command string suppresses the alert.
Examples
7 14
Using the SOURCE option, you can immediately populate the newly
created library with the source of one or more program units contained
in the specified pldfile. The library is then compiled (using the COMPILE
LIBRARY command) unless you specify the NOCOMPILE option.
If you try to create a library with the same name as an existing library,
an alert appears, asking if you want to overwrite the existing library.
Specifying NOCONFIRM in the command string suppresses the alert.
Examples
7 14
Syntax
DELETE {bindvariable}
Keywords and
Parameters
bindvariable
See Also
Examples
BINDVAR name
[, name...]
NUMBER name
[, name...]
DATE name
[, name...]
CHAR name
[, name...]
Command Reference
7 15
Syntax
DELETE {bindvariable}
Keywords and
Parameters
bindvariable
See Also
Examples
BINDVAR name
[, name...]
NUMBER name
[, name...]
DATE name
[, name...]
CHAR name
[, name...]
Command Reference
7 15
Syntax
DELETE {debugaction}
Keywords and
Parameters
debugaction
ACTION number
[, number...]
BREAKPOINT number
[, number...]
specifies a breakpoint.
TRIGGER number
[, number...]
specifies a trigger.
Usage Notes
7 16
Syntax
DELETE {debugaction}
Keywords and
Parameters
debugaction
ACTION number
[, number...]
BREAKPOINT number
[, number...]
specifies a breakpoint.
TRIGGER number
[, number...]
specifies a trigger.
Usage Notes
7 16
DELETE (Libraries)
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
specifies a library.
You cannot delete a library that is currently attached. Use the DETACH
command to detach a library before you delete it. For more information,
see DETACH on page 7 28.
Usage Notes
Examples
Command Reference
7 17
DELETE (Libraries)
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
specifies a library.
You cannot delete a library that is currently attached. Use the DETACH
command to detach a library before you delete it. For more information,
see DETACH on page 7 28.
Usage Notes
Examples
Command Reference
7 17
Syntax
Keywords and
Parameters
progunit
Examples
PROGRAMUNIT name
[, name...]
PACKAGE name
[, name...]
SUBPROGRAM name
[, name...]
PROCEDURE name
[, name...]
FUNCTION name
[, name...]
LIBRARY name
SPECIFICATION
and BODY
The following command deletes the package named p2 from the library
named lib1:
.DELETE PACKAGE p2 LIBRARY lib1
7 18
Syntax
Keywords and
Parameters
progunit
Examples
PROGRAMUNIT name
[, name...]
PACKAGE name
[, name...]
SUBPROGRAM name
[, name...]
PROCEDURE name
[, name...]
FUNCTION name
[, name...]
LIBRARY name
SPECIFICATION
and BODY
The following command deletes the package named p2 from the library
named lib1:
.DELETE PACKAGE p2 LIBRARY lib1
7 18
Syntax
DELETE {LOADPATH}
Keywords and
Parameters
LOADPATH
Command Reference
7 19
Syntax
DELETE {LOADPATH}
Keywords and
Parameters
LOADPATH
Command Reference
7 19
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT
name[, name...]
PACKAGE name
[, name...]
SUBPROGRAM
name[, name...]
PROCEDURE
name[, name...]
FUNCTION name
[, name...]
SPECIFICATION
and BODY
Once deleted from the current development session, a program unit and
any of its subobjects (types, variables, subprograms, etc.) are no longer
defined within the development session. Deleting a program unit from
the current development session can cause the invalidation of other
program units that depend upon it. This is analogous to what happens
when the specification of a program unit is changed.
Usage Notes
The following command deletes the package named p2 from the current
development session:
.DELETE PACKAGE p2
7 20
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT
name[, name...]
PACKAGE name
[, name...]
SUBPROGRAM
name[, name...]
PROCEDURE
name[, name...]
FUNCTION name
[, name...]
SPECIFICATION
and BODY
Once deleted from the current development session, a program unit and
any of its subobjects (types, variables, subprograms, etc.) are no longer
defined within the development session. Deleting a program unit from
the current development session can cause the invalidation of other
program units that depend upon it. This is analogous to what happens
when the specification of a program unit is changed.
Usage Notes
The following command deletes the package named p2 from the current
development session:
.DELETE PACKAGE p2
7 20
Syntax
DESCRIBE {debugaction}
Keywords and
Parameters
debugaction
ACTION number
BREAKPOINT number
specifies a breakpoint.
TRIGGER number
specifies a trigger.
The information displayed for a debug action includes its ID, the source
location with which it is associated, and whether or not it is enabled.
Usage Notes
Examples
Command Reference
7 21
Syntax
DESCRIBE {debugaction}
Keywords and
Parameters
debugaction
ACTION number
BREAKPOINT number
specifies a breakpoint.
TRIGGER number
specifies a trigger.
The information displayed for a debug action includes its ID, the source
location with which it is associated, and whether or not it is enabled.
Usage Notes
Examples
Command Reference
7 21
DESCRIBE (Libraries)
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
Usage Notes
Examples
7 22
DESCRIBE (Libraries)
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
Usage Notes
Examples
7 22
Syntax
DESCRIBE {LOADPATH}
Keywords and
Parameters
LOADPATH
Command Reference
7 23
Syntax
DESCRIBE {LOADPATH}
Keywords and
Parameters
LOADPATH
Command Reference
7 23
DESCRIBE (Locals)
Purpose
Syntax
DESCRIBE {local}
Keywords and
Parameters
local
Examples
LOCAL name
PARAMETER name
VARIABLE name
7 24
DESCRIBE (Locals)
Purpose
Syntax
DESCRIBE {local}
Keywords and
Parameters
local
Examples
LOCAL name
PARAMETER name
VARIABLE name
7 24
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
SPECIFICATION
and BODY
The information displayed includes the program unit name, its type, its
parameters (if any), its external location, whether it is compiled, whether
it is open for editing, and cross reference information. In addition,
describing a package also indicates whether the package is a built-in
program unit, and whether it is an extension to the STANDARD
package.
Usage Notes
Command Reference
7 25
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
SPECIFICATION
and BODY
The information displayed includes the program unit name, its type, its
parameters (if any), its external location, whether it is compiled, whether
it is open for editing, and cross reference information. In addition,
describing a package also indicates whether the package is a built-in
program unit, and whether it is an extension to the STANDARD
package.
Usage Notes
Command Reference
7 25
DESCRIBE (Version)
Purpose
Syntax
DESCRIBE {VERSION}
Keywords and
Parameters
VERSION
7 26
DESCRIBE (Version)
Purpose
Syntax
DESCRIBE {VERSION}
Keywords and
Parameters
VERSION
7 26
Syntax
Keywords and
Parameters
TABLE name
VIEW name
The information displayed for tables and views includes the columns
and their types.
Usage Notes
Examples
Command Reference
7 27
Syntax
Keywords and
Parameters
TABLE name
VIEW name
The information displayed for tables and views includes the columns
and their types.
Usage Notes
Examples
Command Reference
7 27
DETACH
Purpose
Removes one or more libraries from the current set of attached libraries.
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
Usage Notes
Examples
7 28
DETACH
Purpose
Removes one or more libraries from the current set of attached libraries.
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
Usage Notes
Examples
7 28
Syntax
DISABLE {debugaction}
Keywords and
Parameters
debugaction
ACTION number
[, number...]
BREAKPOINT number
[, number...]
TRIGGER number
[, number...]
DISABLE has no effect on debug actions that are already disabled. You
can restore disabled debug actions using the ENABLE command. For
more information, see ENABLE (Debug Actions) on page 7 33.
Usage Notes
Examples
Command Reference
7 29
Syntax
DISABLE {debugaction}
Keywords and
Parameters
debugaction
ACTION number
[, number...]
BREAKPOINT number
[, number...]
TRIGGER number
[, number...]
DISABLE has no effect on debug actions that are already disabled. You
can restore disabled debug actions using the ENABLE command. For
more information, see ENABLE (Debug Actions) on page 7 33.
Usage Notes
Examples
Command Reference
7 29
Syntax
DISABLE {compileoption}
Keywords and
Parameters
compileoption
COMPILER SIZECHECK
Usage Notes
7 30
Syntax
DISABLE {compileoption}
Keywords and
Parameters
compileoption
COMPILER SIZECHECK
Usage Notes
7 30
DISABLE (Logging)
Purpose
Syntax
DISABLE {LOGGING}
Keywords and
Parameters
LOGGING
Usage Notes
disables logging.
DISABLE has no effect on logging if no log file has been specified (via
the LOG command) or if logging is already disabled. For more
information, see LOG on page 7 52.
You can restore disabled logging using the ENABLE command. For
more information, see ENABLE (Logging) on page 7 35.
Command Reference
7 31
DISABLE (Logging)
Purpose
Syntax
DISABLE {LOGGING}
Keywords and
Parameters
LOGGING
Usage Notes
disables logging.
DISABLE has no effect on logging if no log file has been specified (via
the LOG command) or if logging is already disabled. For more
information, see LOG on page 7 52.
You can restore disabled logging using the ENABLE command. For
more information, see ENABLE (Logging) on page 7 35.
Command Reference
7 31
Disconnects you from the database you are currently connected to. This
command is valid only in standalone sessions of Oracle Procedure
Builder.
Syntax
DISCONNECT
See Also
7 32
CONNECT
Disconnects you from the database you are currently connected to. This
command is valid only in standalone sessions of Oracle Procedure
Builder.
Syntax
DISCONNECT
See Also
7 32
CONNECT
Syntax
ENABLE {debugaction}
Keywords and
Parameters
debugaction
ACTION number
[, number...]
BREAKPOINT number
[, number...]
specifies a breakpoint.
TRIGGER number
[, number...]
specifies a trigger.
Usage Notes
Examples
Command Reference
7 33
Syntax
ENABLE {debugaction}
Keywords and
Parameters
debugaction
ACTION number
[, number...]
BREAKPOINT number
[, number...]
specifies a breakpoint.
TRIGGER number
[, number...]
specifies a trigger.
Usage Notes
Examples
Command Reference
7 33
Syntax
ENABLE {compileoption}
Keywords and
Parameters
compileoption
COMPILER SIZECHECK
Usage Notes
7 34
Syntax
ENABLE {compileoption}
Keywords and
Parameters
compileoption
COMPILER SIZECHECK
Usage Notes
7 34
ENABLE (Logging)
Purpose
Syntax
ENABLE {LOGGING}
Keywords and
Parameters
LOGGING
Usage Notes
enables logging.
ENABLE has no effect if no log file has been specified via the LOG
command, or if logging is already enabled. For more information, see
LOG on page 7 52.
You can temporarily disable logging with the DISABLE command. For
more information, see DISABLE(Logging) on page 7 31.
Command Reference
7 35
ENABLE (Logging)
Purpose
Syntax
ENABLE {LOGGING}
Keywords and
Parameters
LOGGING
Usage Notes
enables logging.
ENABLE has no effect if no log file has been specified via the LOG
command, or if logging is already enabled. For more information, see
LOG on page 7 52.
You can temporarily disable logging with the DISABLE command. For
more information, see DISABLE(Logging) on page 7 31.
Command Reference
7 35
EXECUTEStandalone Only
Purpose
Syntax
Keywords and
Parameters
PROGRAMUNIT name
PROCEDURE name
Usage Notes
Examples
You create a library named lib1.pll. You insert the procedure x1 into that
library using the NOSOURCE and NODIANA keywords. Although the
x1 procedure is not compiled, you can run it with the EXECUTE
command as follows:
.EXECUTE PROC x1
7 36
EXECUTEStandalone Only
Purpose
Syntax
Keywords and
Parameters
PROGRAMUNIT name
PROCEDURE name
Usage Notes
Examples
You create a library named lib1.pll. You insert the procedure x1 into that
library using the NOSOURCE and NODIANA keywords. Although the
x1 procedure is not compiled, you can run it with the EXECUTE
command as follows:
.EXECUTE PROC x1
7 36
EXPORT
Purpose
Writes the source of a library or one or more program units to a text file.
Syntax
Keywords and
Parameters
object
LIBRARY name
PROGRAMUNIT name
[, name...]
PACKAGE name
[, name...]
SUBPROGRAM name
[, name...]
PROCEDURE name
[, name...]
FUNCTION name
[, name...]
FILE
[directory]name
[extension]
SPECIFICATION
and BODY
NOWARN
Usage Notes
If you export more than one program unit, Oracle Procedure Builder
sorts the program units to avoid forward referencesthat is, each
program unit appears after the program unit(s) it references. This
enables you to re-load exported program units into Oracle Procedure
Builder using INTERPRET. For more information, see INTERPRET on
page 7 45.
Command Reference
7 37
EXPORT
Purpose
Writes the source of a library or one or more program units to a text file.
Syntax
Keywords and
Parameters
object
LIBRARY name
PROGRAMUNIT name
[, name...]
PACKAGE name
[, name...]
SUBPROGRAM name
[, name...]
PROCEDURE name
[, name...]
FUNCTION name
[, name...]
FILE
[directory]name
[extension]
SPECIFICATION
and BODY
NOWARN
Usage Notes
If you export more than one program unit, Oracle Procedure Builder
sorts the program units to avoid forward referencesthat is, each
program unit appears after the program unit(s) it references. This
enables you to re-load exported program units into Oracle Procedure
Builder using INTERPRET. For more information, see INTERPRET on
page 7 45.
Command Reference
7 37
7 38
7 38
GO
Purpose
Syntax
GO
Usage Notes
STEP, RESET
The following command resumes program execution:
.GO
Command Reference
7 39
GO
Purpose
Syntax
GO
Usage Notes
STEP, RESET
The following command resumes program execution:
.GO
Command Reference
7 39
GRANT
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
specifies a library.
USER name
specifies a user.
You can specify any single valid username, or PUBLIC (all users).
Usage Notes
See Also
Examples
REVOKE
The following command grants user SCOTT access to database library
lib1:
.GRANT LIB lib1 USER scott
7 40
GRANT
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
specifies a library.
USER name
specifies a user.
You can specify any single valid username, or PUBLIC (all users).
Usage Notes
See Also
Examples
REVOKE
The following command grants user SCOTT access to database library
lib1:
.GRANT LIB lib1 USER scott
7 40
HELP
Purpose
Syntax
Keywords and
Parameters
COMMAND command
SYNTAX
Usage Notes
Examples
Command Reference
7 41
HELP
Purpose
Syntax
Keywords and
Parameters
COMMAND command
SYNTAX
Usage Notes
Examples
Command Reference
7 41
Syntax
Keywords and
Parameters
Usage Notes
progunit
PACKAGE name[,name...]
SUBPROGRAM name
[,name...]
PROCEDURE name
[,name...]
FUNCTION name
[,name...]
SPECIFICATION
and BODY
LIBRARY name
NODIANA
NOSOURCE
NOWARN
7 42
Syntax
Keywords and
Parameters
Usage Notes
progunit
PACKAGE name[,name...]
SUBPROGRAM name
[,name...]
PROCEDURE name
[,name...]
FUNCTION name
[,name...]
SPECIFICATION
and BODY
LIBRARY name
NODIANA
NOSOURCE
NOWARN
7 42
The following command inserts the packages p1 and p2 into the library
named lib1:
.INSERT PACKAGE p1,p2 LIBRARY lib1
Command Reference
7 43
The following command inserts the packages p1 and p2 into the library
named lib1:
.INSERT PACKAGE p1,p2 LIBRARY lib1
Command Reference
7 43
Syntax
Keywords and
Parameters
LOADPATH
DIRECTORY
path [,path...]
CURRENTDIR
Usage Notes
Examples
7 44
Syntax
Keywords and
Parameters
LOADPATH
DIRECTORY
path [,path...]
CURRENTDIR
Usage Notes
Examples
7 44
INTERPRET
Purpose
Syntax
Keywords and
Parameters
FILE name
[, name...]
ECHO
SILENT
NOCONFIRM
Usage Notes
Command Reference
7 45
INTERPRET
Purpose
Syntax
Keywords and
Parameters
FILE name
[, name...]
ECHO
SILENT
NOCONFIRM
Usage Notes
Command Reference
7 45
Displays the program unit source text to which the specified debug
action is attached.
Syntax
LIST {debugaction}
Keywords and
Parameters
debugaction
ACTION number
BREAKPOINT number
specifies a breakpoint.
TRIGGER number
specifies a trigger.
LIST displays the text associated with the specified debug action in the
Source pane of the Interpreter. The line on which the specified debug
action appears becomes the current source location.
Usage Notes
Examples
The following command displays breakpoint number one and sets the
source location:
.LIST BREAK 1
The following command displays debug action number three and sets
the current source location:
.LIST ACTION 3
7 46
Displays the program unit source text to which the specified debug
action is attached.
Syntax
LIST {debugaction}
Keywords and
Parameters
debugaction
ACTION number
BREAKPOINT number
specifies a breakpoint.
TRIGGER number
specifies a trigger.
LIST displays the text associated with the specified debug action in the
Source pane of the Interpreter. The line on which the specified debug
action appears becomes the current source location.
Usage Notes
Examples
The following command displays breakpoint number one and sets the
source location:
.LIST BREAK 1
The following command displays debug action number three and sets
the current source location:
.LIST ACTION 3
7 46
Displays the specified program unit text and sets the current source
location.
Syntax
Keywords and
Parameters
Usage Notes
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
PC
SCOPE
LINE number
SPECIFICATION
and BODY
LIST displays the text of a program unit in the Source pane of the
Interpreter. If no line is specified using LINE, the first line of the
program unit becomes the current source location.
Note: This rule does not apply if you specify ., PC, or SCOPE.
Specifying PC sets the source location to the current execution location.
Specifying SCOPE sets the source location to the current scope location.
Note: PC and SCOPE are useful only when program execution
has been interrupted.
Command Reference
7 47
Displays the specified program unit text and sets the current source
location.
Syntax
Keywords and
Parameters
Usage Notes
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
PC
SCOPE
LINE number
SPECIFICATION
and BODY
LIST displays the text of a program unit in the Source pane of the
Interpreter. If no line is specified using LINE, the first line of the
program unit becomes the current source location.
Note: This rule does not apply if you specify ., PC, or SCOPE.
Specifying PC sets the source location to the current execution location.
Specifying SCOPE sets the source location to the current scope location.
Note: PC and SCOPE are useful only when program execution
has been interrupted.
Command Reference
7 47
Examples
The following command displays the source text of p1 and sets the
source location to line eighteen:
.LIST PROGRAMUNIT p1 LINE 18
7 48
Examples
The following command displays the source text of p1 and sets the
source location to line eighteen:
.LIST PROGRAMUNIT p1 LINE 18
7 48
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
[, name...]
PACKAGE name
[, name...]
SUBPROGRAM name
[, name...]
PROCEDURE name
[, name...]
FUNCTION name
[, name...]
LIBRARY name
SPECIFICATION
and BODY
NOCONFIRM
If you try to load a library program unit with the same name and type
as an existing program unit, an alert appears, asking if you want to
redefine the existing program unit. Specifying NOCONFIRM in the
command string suppresses the alert.
Usage Notes
Examples
The following command loads the function f1 and the procedure p3,
both of which are stored in the attached library lib1:
.LOAD PROGRAMUNIT f1, p3 LIB lib1
Command Reference
7 49
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
[, name...]
PACKAGE name
[, name...]
SUBPROGRAM name
[, name...]
PROCEDURE name
[, name...]
FUNCTION name
[, name...]
LIBRARY name
SPECIFICATION
and BODY
NOCONFIRM
If you try to load a library program unit with the same name and type
as an existing program unit, an alert appears, asking if you want to
redefine the existing program unit. Specifying NOCONFIRM in the
command string suppresses the alert.
Usage Notes
Examples
The following command loads the function f1 and the procedure p3,
both of which are stored in the attached library lib1:
.LOAD PROGRAMUNIT f1, p3 LIB lib1
Command Reference
7 49
Syntax
Keywords and
Parameters
FILE
[directory]name
[extension]
NOCONFIRM
Each file you specify must contain the source text of a single program
unit. If unspecified, the directory defaults to the current directory, and
the file extension defaults to pls.
Usage Notes
7 50
Syntax
Keywords and
Parameters
FILE
[directory]name
[extension]
NOCONFIRM
Each file you specify must contain the source text of a single program
unit. If unspecified, the directory defaults to the current directory, and
the file extension defaults to pls.
Usage Notes
7 50
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT
[owner]name
[, [owner]name...]
PACKAGE [owner]name
[, [owner]name...]
SUBPROGRAM [owner]name
[, [owner]name...]
PROCEDURE [owner]name
[, [owner]name...]
FUNCTION [owner]name
[, [owner]name...]
SPECIFICATION
and BODY
NOCONFIRM
Usage Notes
If you try to load a program unit with the same name and type as an
existing program unit, an alert appears, asking if you want to redefine
the existing program unit. Specifying NOCONFIRM in the command
string suppresses the alert.
Examples
Command Reference
7 51
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT
[owner]name
[, [owner]name...]
PACKAGE [owner]name
[, [owner]name...]
SUBPROGRAM [owner]name
[, [owner]name...]
PROCEDURE [owner]name
[, [owner]name...]
FUNCTION [owner]name
[, [owner]name...]
SPECIFICATION
and BODY
NOCONFIRM
Usage Notes
If you try to load a program unit with the same name and type as an
existing program unit, an alert appears, asking if you want to redefine
the existing program unit. Specifying NOCONFIRM in the command
string suppresses the alert.
Examples
Command Reference
7 51
LOG
Purpose
Syntax
Keywords and
Parameters
FILE
[directory]name
[extension]
APPEND
ENABLED and
DISABLED
OFF
Usage Notes
If the specified log file does not exist, a new file is created in the
specified directory. If no directory path is specified, the log file is
created in the current directory.
You can temporarily disable logging and then enable it again using the
DISABLE and ENABLE commands, respectively.
See Also
Examples
The following command terminates logging and saves the log file:
.LOG OFF
7 52
LOG
Purpose
Syntax
Keywords and
Parameters
FILE
[directory]name
[extension]
APPEND
ENABLED and
DISABLED
OFF
Usage Notes
If the specified log file does not exist, a new file is created in the
specified directory. If no directory path is specified, the log file is
created in the current directory.
You can temporarily disable logging and then enable it again using the
DISABLE and ENABLE commands, respectively.
See Also
Examples
The following command terminates logging and saves the log file:
.LOG OFF
7 52
OPEN
Purpose
Syntax
Keywords and
Parameters
LIBRARY
[directory]lib
name[extension]
FILESYSTEM and
DB
Usage Notes
If you attempt to open a library in the file system, the load path and the
extension pll are used when resolving libname, unless directory and
extension are specified explicitly. Note that the syntax of directory is
operating system-specific. For more information about syntax, see the
Oracle product documentation for your operating system.
Examples
The following command opens the library named lib1, which is stored
in the file system.
.OPEN LIB /private/libs/lib1
The following command opens the library named libdb, which is stored
in the current database:
.OPEN LIB libdb DB
Command Reference
7 53
OPEN
Purpose
Syntax
Keywords and
Parameters
LIBRARY
[directory]lib
name[extension]
FILESYSTEM and
DB
Usage Notes
If you attempt to open a library in the file system, the load path and the
extension pll are used when resolving libname, unless directory and
extension are specified explicitly. Note that the syntax of directory is
operating system-specific. For more information about syntax, see the
Oracle product documentation for your operating system.
Examples
The following command opens the library named lib1, which is stored
in the file system.
.OPEN LIB /private/libs/lib1
The following command opens the library named libdb, which is stored
in the current database:
.OPEN LIB libdb DB
Command Reference
7 53
Syntax
QUIT
Keywords and
Parameters
None.
7 54
Syntax
QUIT
Keywords and
Parameters
None.
7 54
RENAME (Libraries)
Purpose
Syntax
Keywords and
Parameters
LIBRARY oldname
TO newname
Usage Notes
You cannot use this command to rename libraries stored in files. You
must use operating system commands.
Examples
Command Reference
7 55
RENAME (Libraries)
Purpose
Syntax
Keywords and
Parameters
LIBRARY oldname
TO newname
Usage Notes
You cannot use this command to rename libraries stored in files. You
must use operating system commands.
Examples
Command Reference
7 55
RESET
Purpose
Syntax
Keywords and
Parameters
LEVEL number
Usage Notes
GO, STEP
The following command resets to the previous debug level:
.RESET LEVEL 1
7 56
RESET
Purpose
Syntax
Keywords and
Parameters
LEVEL number
Usage Notes
GO, STEP
The following command resets to the previous debug level:
.RESET LEVEL 1
7 56
REVERT
Purpose
Syntax
Keywords and
Parameters
Examples
LIBRARY name
[, name...]
Command Reference
7 57
REVERT
Purpose
Syntax
Keywords and
Parameters
Examples
LIBRARY name
[, name...]
Command Reference
7 57
REVOKE
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
specifies a library.
USER name
specifies a user.
You can specify any single valid username, or PUBLIC (all users).
Usage Notes
See Also
Examples
GRANT
The following command revokes user SCOTTs access to database
library lib1:
.REVOKE LIB lib1 USER scott
7 58
REVOKE
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
specifies a library.
USER name
specifies a user.
You can specify any single valid username, or PUBLIC (all users).
Usage Notes
See Also
Examples
GRANT
The following command revokes user SCOTTs access to database
library lib1:
.REVOKE LIB lib1 USER scott
7 58
SAVE
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
AS name
NODIANA
NOSOURCE
Usage Notes
REVERT
The following command saves the libraries lib1 and lib2:
.SAVE LIB lib1, lib2
The following command saves the libraries lib1 and lib2 without Diana
or source:
.SAVE LIB lib1, lib2 NODIANA NOSOURCE
Command Reference
7 59
SAVE
Purpose
Syntax
Keywords and
Parameters
LIBRARY name
[, name...]
AS name
NODIANA
NOSOURCE
Usage Notes
REVERT
The following command saves the libraries lib1 and lib2:
.SAVE LIB lib1, lib2
The following command saves the libraries lib1 and lib2 without Diana
or source:
.SAVE LIB lib1, lib2 NODIANA NOSOURCE
Command Reference
7 59
SET
Purpose
Syntax
SET SCOPE {
|
|
|
|
|
Keywords and
Parameters
FRAME number
UP [COUNT number]
DOWN [COUNT number]
TOP
BOTTOM
progunit }
FRAME number
UP
DOWN
COUNT number
TOP
BOTTOM
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
Usage Notes
Examples
7 60
SET
Purpose
Syntax
SET SCOPE {
|
|
|
|
|
Keywords and
Parameters
FRAME number
UP [COUNT number]
DOWN [COUNT number]
TOP
BOTTOM
progunit }
FRAME number
UP
DOWN
COUNT number
TOP
BOTTOM
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
Usage Notes
Examples
7 60
Command Reference
7 61
Command Reference
7 61
Syntax
Keywords and
Parameters
STACK
SCOPE
lists the frames from the top of the call stack down
to the frame containing the current scope location.
Examples
7 62
Syntax
Keywords and
Parameters
STACK
SCOPE
lists the frames from the top of the call stack down
to the frame containing the current scope location.
Examples
7 62
Syntax
SHOW {actiontype}
Keywords and
Parameters
actiontype
Examples
ACTION
BREAKPOINTS
TRIGGERS
The following command lists all of the breakpoints that are currently
set:
.SHOW BREAKPOINTS
Command Reference
7 63
Syntax
SHOW {actiontype}
Keywords and
Parameters
actiontype
Examples
ACTION
BREAKPOINTS
TRIGGERS
The following command lists all of the breakpoints that are currently
set:
.SHOW BREAKPOINTS
Command Reference
7 63
SHOW (Libraries)
Purpose
Syntax
SHOW {LIBRARIES}
Keywords and
Parameters
LIBRARIES
7 64
SHOW (Libraries)
Purpose
Syntax
SHOW {LIBRARIES}
Keywords and
Parameters
LIBRARIES
7 64
SHOW (Locals)
Purpose
Lists the current local variables and parameters that are defined at the
current scope location.
Syntax
Keywords and
Parameters
LOCALS
PARAMETERS
VARIABLES
Examples
Command Reference
7 65
SHOW (Locals)
Purpose
Lists the current local variables and parameters that are defined at the
current scope location.
Syntax
Keywords and
Parameters
LOCALS
PARAMETERS
VARIABLES
Examples
Command Reference
7 65
Syntax
Keywords and
Parameters
progunit
Examples
PROGRAMUNITS
PACKAGES
SUBPROGRAMS
PROCEDURES
FUNCTIONS
USER and
BUILTIN
SPECIFICATION
and BODY
The following command lists the names and types of all current
user-defined program units:
.SHOW PROGRAMUNITS
7 66
Syntax
Keywords and
Parameters
progunit
Examples
PROGRAMUNITS
PACKAGES
SUBPROGRAMS
PROCEDURES
FUNCTIONS
USER and
BUILTIN
SPECIFICATION
and BODY
The following command lists the names and types of all current
user-defined program units:
.SHOW PROGRAMUNITS
7 66
STEP
Purpose
Syntax
STEP {
|
|
|
Keywords and
Parameters
INTO
OVER
OUT
TO {
|
|
[COUNT
INTO
OVER
OUT
TO ...
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
actionlocation
ACTION number
BREAKPOINT number
specifies a breakpoint.
TRIGGER number
specifies a trigger.
Command Reference
7 67
STEP
Purpose
Syntax
STEP {
|
|
|
Keywords and
Parameters
INTO
OVER
OUT
TO {
|
|
[COUNT
INTO
OVER
OUT
TO ...
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
actionlocation
ACTION number
BREAKPOINT number
specifies a breakpoint.
TRIGGER number
specifies a trigger.
Command Reference
7 67
LINE number
COUNT number
Control returns to the current debug level after the specified set of
statements have been executed.
Usage Notes
See Also
Examples
GO, RESET
The following command resumes execution until the first breakpoint is
reached:
.STEP TO BREAK 1
7 68
LINE number
COUNT number
Control returns to the current debug level after the specified set of
statements have been executed.
Usage Notes
See Also
Examples
GO, RESET
The following command resumes execution until the first breakpoint is
reached:
.STEP TO BREAK 1
7 68
STORE
Purpose
Syntax
Keywords and
Parameters
progunit
PACKAGE name[,name...]
SUBPROGRAM name
[,name...]
PROCEDURE name
[,name...]
FUNCTION name
[,name...]
OWNER name
SPECIFICATION
and BODY
Usage Notes
Command Reference
7 69
STORE
Purpose
Syntax
Keywords and
Parameters
progunit
PACKAGE name[,name...]
SUBPROGRAM name
[,name...]
PROCEDURE name
[,name...]
FUNCTION name
[,name...]
OWNER name
SPECIFICATION
and BODY
Usage Notes
Command Reference
7 69
TRIGGER
Purpose
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
BREAKPOINT number
specifies a breakpoint.
TRIGGER number
specifies a trigger.
current
location
7 70
PC
SCOPE
LINE number
DEBUG
TRIGGER
Purpose
Syntax
Keywords and
Parameters
progunit
PROGRAMUNIT name
PACKAGE name
specifies a package.
SUBPROGRAM name
specifies a subprogram.
PROCEDURE name
specifies a procedure.
FUNCTION name
specifies a function.
BREAKPOINT number
specifies a breakpoint.
TRIGGER number
specifies a trigger.
current
location
7 70
PC
SCOPE
LINE number
DEBUG
ENABLED and
DISABLED
IS plsqlblock
Usage Notes
Command Reference
7 71
ENABLED and
DISABLED
IS plsqlblock
Usage Notes
Command Reference
7 71
7 72
7 72
CHAPTER
Oracle Procedure
Builder Packages
T
overview 8 2
81
CHAPTER
Oracle Procedure
Builder Packages
T
overview 8 2
81
Overview
Oracle Procedure Builder is shipped with several built-in packages that
contain many PL/SQL constructs you can reference while debugging
your program units.
Available Packages
DEBUG
LIST
OLE2
ORA_FFI
82
ORA_NLS
ORA_PROF
TEXT_IO
TOOL_ENV
TOOL_ERR
TOOL_RES
Overview
Oracle Procedure Builder is shipped with several built-in packages that
contain many PL/SQL constructs you can reference while debugging
your program units.
Available Packages
DEBUG
LIST
OLE2
ORA_FFI
82
ORA_NLS
ORA_PROF
TEXT_IO
TOOL_ENV
TOOL_ERR
TOOL_RES
type
syntax
description
examples
For complete information on packages and their use, see the PL/SQL
Users Guide and Reference Version 2.0.
Two packages are provided for use only by Oracle Procedure Builder
internals. There are no subprograms available for external use with
these packages.
ORA_DE
STPROC
83
type
syntax
description
examples
For complete information on packages and their use, see the PL/SQL
Users Guide and Reference Version 2.0.
Two packages are provided for use only by Oracle Procedure Builder
internals. There are no subprograms available for external use with
these packages.
ORA_DE
STPROC
83
by importing data
by exporting data
Server support
Oracle applications cannot respond to commands or requests for
data from a DDE client. Oracle applications must initiate the
DDE conversation (although data may still be transferred in
either direction).
Support Functions
These functions are used to start and stop other DDE server
applications.
Connect/Disconnect
Functions
These functions are used to connect to and disconnect from DDE server
applications.
Transaction Functions
84
by importing data
by exporting data
Server support
Oracle applications cannot respond to commands or requests for
data from a DDE client. Oracle applications must initiate the
DDE conversation (although data may still be transferred in
either direction).
Support Functions
These functions are used to start and stop other DDE server
applications.
Connect/Disconnect
Functions
These functions are used to connect to and disconnect from DDE server
applications.
Transaction Functions
84
Datatype Translation
Functions
DDE.APP_END
DDE.APP_FOCUS
DDE.INITIATE
DDE.TERMINATE
DDE.EXECUTE
DDE.POKE
DDE.REQUEST
DDE.GETFORMATNUM
DDE.GETFORMATSTR
85
Datatype Translation
Functions
DDE.APP_END
DDE.APP_FOCUS
DDE.INITIATE
DDE.TERMINATE
DDE.EXECUTE
DDE.POKE
DDE.REQUEST
DDE.GETFORMATNUM
DDE.GETFORMATSTR
85
DDE.APP_BEGIN
Syntax:
Parameters:
FUNCTION DDE.APP_BEGIN
(AppName VARCHAR2,
AppMode PLS_INTEGER)
RETURN PLS_INTEGER;
AppName
AppMode
Returns:
Description:
An application identifier.
This function begins an application program and returns an application
identifier.
The application name may contain a path. If the application name does
not contain a path, then the following directories are searched in the
order shown below:
86
DDE.APP_END, DDE.APP_FOCUS
DDE.APP_BEGIN
Syntax:
Parameters:
FUNCTION DDE.APP_BEGIN
(AppName VARCHAR2,
AppMode PLS_INTEGER)
RETURN PLS_INTEGER;
AppName
AppMode
Returns:
Description:
An application identifier.
This function begins an application program and returns an application
identifier.
The application name may contain a path. If the application name does
not contain a path, then the following directories are searched in the
order shown below:
86
DDE.APP_END, DDE.APP_FOCUS
Example:
Suppose you wanted to start Microsoft Word with the file readme.doc
loaded. You could write the following PL/SQL statements, including a
call to DDE.APP_BEGIN:
DECLARE
AppID PLS_INTEGER;
BEGIN
/* Start MS Excel with spreadsheet emp.xls loaded */
AppID := DDE.APP_BEGIN(c:\excel\excel.exe emp.xls,
DDE.APP_MODE_MINIMIZED);
END;
87
Example:
Suppose you wanted to start Microsoft Word with the file readme.doc
loaded. You could write the following PL/SQL statements, including a
call to DDE.APP_BEGIN:
DECLARE
AppID PLS_INTEGER;
BEGIN
/* Start MS Excel with spreadsheet emp.xls loaded */
AppID := DDE.APP_BEGIN(c:\excel\excel.exe emp.xls,
DDE.APP_MODE_MINIMIZED);
END;
87
DDE.APP_END
Syntax:
Parameters:
Description:
PROCEDURE DDE.APP_END
(AppID PLS_INTEGER);
AppID
See Also:
DDE.APP_BEGIN, DDE.APP_FOCUS
Example:
Suppose you wanted to start Microsoft Excel with the file emp.xls
loaded, do some processing, and then exit. You could write the
following PL/SQL statements, including a call to DDE.APP_END:
DECLARE
AppID PLS_INTEGER;
BEGIN
/* Start MS Excel with spreadsheet emp.xls loaded */
AppID := DDE.APP_BEGIN(c:\excel\excel.exe emp.xls,
DDE.APP_MODE_NORMAL);
...
/* End MS Excel program */
DDE.APP_END(AppID);
END;
88
DDE.APP_END
Syntax:
Parameters:
Description:
PROCEDURE DDE.APP_END
(AppID PLS_INTEGER);
AppID
See Also:
DDE.APP_BEGIN, DDE.APP_FOCUS
Example:
Suppose you wanted to start Microsoft Excel with the file emp.xls
loaded, do some processing, and then exit. You could write the
following PL/SQL statements, including a call to DDE.APP_END:
DECLARE
AppID PLS_INTEGER;
BEGIN
/* Start MS Excel with spreadsheet emp.xls loaded */
AppID := DDE.APP_BEGIN(c:\excel\excel.exe emp.xls,
DDE.APP_MODE_NORMAL);
...
/* End MS Excel program */
DDE.APP_END(AppID);
END;
88
DDE.APP_FOCUS
Syntax:
Parameters:
Description:
PROCEDURE DDE.APP_FOCUS
(AppID PLS_INTEGER);
AppID
See Also:
DDE.APP_BEGIN, DDE.APP_END
Example:
89
DDE.APP_FOCUS
Syntax:
Parameters:
Description:
PROCEDURE DDE.APP_FOCUS
(AppID PLS_INTEGER);
AppID
See Also:
DDE.APP_BEGIN, DDE.APP_END
Example:
89
DDE.EXECUTE
Syntax:
Parameters:
Description:
PROCEDURE DDE.EXECUTE
(ConvID PLS_INTEGER,
CmdStr VARCHAR2,
Timeout PLS_INTEGER);
ConvID
CmdStr
Timeout
See Also:
DDE.INITIATE
Example:
8 10
DDE.EXECUTE
Syntax:
Parameters:
Description:
PROCEDURE DDE.EXECUTE
(ConvID PLS_INTEGER,
CmdStr VARCHAR2,
Timeout PLS_INTEGER);
ConvID
CmdStr
Timeout
See Also:
DDE.INITIATE
Example:
8 10
DDE.GETFORMATNUM
Syntax:
Parameters:
Description:
FUNCTION DDE.GETFORMATNUM
(DataFormatName VARCHAR2)
RETURN PLS_INTEGER;
DataFormat
Name
See Also:
DDE.POKE, DDE.REQUEST
Example:
Suppose you wanted to retrieve a format number and register your own
data format. You could write the following PL/SQL statements,
including a call to DDE.GETFORMATNUM:
DECLARE
FormatNum
PLS_INTEGER;
MyFormatNum PLS_INTEGER;
BEGIN
/* Get predefined format number for CF_TEXT (should
return CF_TEXT=1) */
FormatNum := DDE.GETFORMATNUM(CF_TEXT);
/* Register a userdefined data format called
MY_FORMAT */
MyFormatNum := DDE.GETFORMATNUM(MY_FORMAT);
END;
8 11
DDE.GETFORMATNUM
Syntax:
Parameters:
Description:
FUNCTION DDE.GETFORMATNUM
(DataFormatName VARCHAR2)
RETURN PLS_INTEGER;
DataFormat
Name
See Also:
DDE.POKE, DDE.REQUEST
Example:
Suppose you wanted to retrieve a format number and register your own
data format. You could write the following PL/SQL statements,
including a call to DDE.GETFORMATNUM:
DECLARE
FormatNum
PLS_INTEGER;
MyFormatNum PLS_INTEGER;
BEGIN
/* Get predefined format number for CF_TEXT (should
return CF_TEXT=1) */
FormatNum := DDE.GETFORMATNUM(CF_TEXT);
/* Register a userdefined data format called
MY_FORMAT */
MyFormatNum := DDE.GETFORMATNUM(MY_FORMAT);
END;
8 11
DDE.GETFORMATSTR
Syntax:
Parameters:
Returns:
Description:
FUNCTION DDE.GETFORMATSTR
(DataFormatNum PLS_INTEGER)
RETURN VARCHAR2;
DataFormat
Num
See Also:
DDE.GETFORMATNUM
Example:
Suppose you wanted to retrieve the string for a predefined data format
number. You could write the the following PL/SQL statements,
including a call to DDE.GETFORMATSTR:
DECLARE
FormatStr
VARCHAR2;
BEGIN
/* Get a data format name (should return the string
CF_TEXT) */
FormatStr := DDE.GETFORMATSTR(CF_TEXT);
END;
8 12
DDE.GETFORMATSTR
Syntax:
Parameters:
Returns:
Description:
FUNCTION DDE.GETFORMATSTR
(DataFormatNum PLS_INTEGER)
RETURN VARCHAR2;
DataFormat
Num
See Also:
DDE.GETFORMATNUM
Example:
Suppose you wanted to retrieve the string for a predefined data format
number. You could write the the following PL/SQL statements,
including a call to DDE.GETFORMATSTR:
DECLARE
FormatStr
VARCHAR2;
BEGIN
/* Get a data format name (should return the string
CF_TEXT) */
FormatStr := DDE.GETFORMATSTR(CF_TEXT);
END;
8 12
DDE.INITIATE
Syntax:
Parameters:
Returns:
Description:
FUNCTION DDE.INITIATE
(Service VARCHAR2,
Topic
VARCHAR2)
RETURN PLS_INTEGER;
Service
Topic
See Also:
Example:
8 13
DDE.INITIATE
Syntax:
Parameters:
Returns:
Description:
FUNCTION DDE.INITIATE
(Service VARCHAR2,
Topic
VARCHAR2)
RETURN PLS_INTEGER;
Service
Topic
See Also:
Example:
8 13
DDE.POKE
Syntax:
Parameters:
Description:
PROCEDURE DDE.POKE
PLS_INTEGER,
(ConvID
Item
VARCHAR2,
Data
VARCHAR2,
DataFormat PLS_INTEGER,
Timeout
PLS_INTEGER);
ConvID
Item
Data
DataFormat
Timeout
See Also:
8 14
DDE.GETFORMATNUM, DDE.INITATE
DDE.POKE
Syntax:
Parameters:
Description:
PROCEDURE DDE.POKE
PLS_INTEGER,
(ConvID
Item
VARCHAR2,
Data
VARCHAR2,
DataFormat PLS_INTEGER,
Timeout
PLS_INTEGER);
ConvID
Item
Data
DataFormat
Timeout
See Also:
8 14
DDE.GETFORMATNUM, DDE.INITATE
Example:
8 15
Example:
8 15
DDE.REQUEST
Syntax:
Parameters:
Description:
PROCEDURE DDE.REQUEST
PLS_INTEGER,
(ConvID
Item
VARCHAR2,
Buffer
VARCHAR2,
DataFormat PLS_INTEGER,
Timeout
PLS_INTEGER);
ConvID
Item
Buffer
DataFormat
Timeout
See Also:
8 16
DDE.GETFORMATNUM, DDE.INITIATE
DDE.REQUEST
Syntax:
Parameters:
Description:
PROCEDURE DDE.REQUEST
PLS_INTEGER,
(ConvID
Item
VARCHAR2,
Buffer
VARCHAR2,
DataFormat PLS_INTEGER,
Timeout
PLS_INTEGER);
ConvID
Item
Buffer
DataFormat
Timeout
See Also:
8 16
DDE.GETFORMATNUM, DDE.INITIATE
Example:
8 17
Example:
8 17
DDE.TERMINATE
Syntax:
PROCEDURE DDE.TERMINATE
(ConvID PLS_INTEGER);
ConvID
Description:
See Also:
Example:
8 18
DDE.TERMINATE
Syntax:
PROCEDURE DDE.TERMINATE
(ConvID PLS_INTEGER);
ConvID
Description:
See Also:
Example:
8 18
Microsoft Windows
Predefined Data
Formats
DDE.CF_BITMAP
DDE.CF_DIB
DDE.CF_DIF
DDE.CF_DSPBITMAP
DDE.CF_DSPMETAFILE
PICT
DDE.CF_DSPTEXT
DDE.CF_METAFILEPICT
DDE.CF_OEMTEXT
DDE.CF_OWNER
DISPLAY
DDE.CF_PALETTE
DDE.CF_PENDATA
DDE.CF_RIFF
DDE.CF_SYLK
DDE.CF_TEXT
8 19
Microsoft Windows
Predefined Data
Formats
DDE.CF_BITMAP
DDE.CF_DIB
DDE.CF_DIF
DDE.CF_DSPBITMAP
DDE.CF_DSPMETAFILE
PICT
DDE.CF_DSPTEXT
DDE.CF_METAFILEPICT
DDE.CF_OEMTEXT
DDE.CF_OWNER
DISPLAY
DDE.CF_PALETTE
DDE.CF_PENDATA
DDE.CF_RIFF
DDE.CF_SYLK
DDE.CF_TEXT
8 19
DDE.CF_TIFF
DDE.CF_WAVE
DDE.DDE_APP_
FAILURE
DDE.DDE_APP_NOT_
FOUND
An application ID specified in a
DDE.APP_END or DDE.APP_FOCUS call
does not correspond to an application that
is currently running.
DDE.DDE_FMT_NOT_
FOUND
DDE.DDE_FMT_NOT_
REG
DDE.DDE_INIT_FAILED
DDE.DDE_PARAM_ERR
DDE.DMLERR_BUSY
DDE.DMLERR_DATA
ACKTIMEOUT
DDE.DMLERR_EXEC
ACK_ TIMEOUT
DDE.DMLERR_INVA
LIDPARAMETER
Exceptions
8 20
DDE.CF_TIFF
DDE.CF_WAVE
DDE.DDE_APP_
FAILURE
DDE.DDE_APP_NOT_
FOUND
An application ID specified in a
DDE.APP_END or DDE.APP_FOCUS call
does not correspond to an application that
is currently running.
DDE.DDE_FMT_NOT_
FOUND
DDE.DDE_FMT_NOT_
REG
DDE.DDE_INIT_FAILED
DDE.DDE_PARAM_ERR
DDE.DMLERR_BUSY
DDE.DMLERR_DATA
ACKTIMEOUT
DDE.DMLERR_EXEC
ACK_ TIMEOUT
DDE.DMLERR_INVA
LIDPARAMETER
Exceptions
8 20
DDE.DMLERR_NO_
CONV_ESTABLISHED
DDE.DMLERR_
NOTPROCESSED
DDE.DMLERR_POKE
ACKTIMEOUT
DDE.DMLERR_POST
MSG_FAILED
DDE.DMLERR_SERVER_
DIED
DDE.DMLERR_SYS_
ERROR
8 21
DDE.DMLERR_NO_
CONV_ESTABLISHED
DDE.DMLERR_
NOTPROCESSED
DDE.DMLERR_POKE
ACKTIMEOUT
DDE.DMLERR_POST
MSG_FAILED
DDE.DMLERR_SERVER_
DIED
DDE.DMLERR_SYS_
ERROR
8 21
DEBUG.BREAK
Syntax:
Description:
Example:
DEBUG.BREAK
EXCEPTION;
8 22
DEBUG.BREAK
Syntax:
Description:
Example:
DEBUG.BREAK
EXCEPTION;
8 22
DEBUG.GETx
Syntax:
FUNCTION DEBUG.GETC
(varname VARCHAR2)
RETURN VARCHAR2;
FUNCTION DEBUG.GETD
(varname VARCHAR2)
RETURN DATE;
FUNCTION DEBUG.GETI
(varname VARCHAR2)
RETURN PLS_INTEGER;
FUNCTION DEBUG.GETN
(varname VARCHAR2)
RETURN NUMBER;
Parameters:
Description:
Example:
varname
These functions retrieve the value of the specified local variable. This is
useful when you want to determine a locals value from within a debug
trigger.
Suppose you want to establish a conditional breakpoint on line 10 of
procedure my_proc, which will be reached only if the local CHAR
variable my_ename is JONES. You could create the following debug
trigger using DEBUG.GETC:
PL/SQL> .TRIGGER PROC my_proc LINE 10 IS
+> IF DEBUG.GETC(my_ename) = JONES THEN
+>
RAISE DEBUG.BREAK;
+> END IF;
8 23
DEBUG.GETx
Syntax:
FUNCTION DEBUG.GETC
(varname VARCHAR2)
RETURN VARCHAR2;
FUNCTION DEBUG.GETD
(varname VARCHAR2)
RETURN DATE;
FUNCTION DEBUG.GETI
(varname VARCHAR2)
RETURN PLS_INTEGER;
FUNCTION DEBUG.GETN
(varname VARCHAR2)
RETURN NUMBER;
Parameters:
Description:
Example:
varname
These functions retrieve the value of the specified local variable. This is
useful when you want to determine a locals value from within a debug
trigger.
Suppose you want to establish a conditional breakpoint on line 10 of
procedure my_proc, which will be reached only if the local CHAR
variable my_ename is JONES. You could create the following debug
trigger using DEBUG.GETC:
PL/SQL> .TRIGGER PROC my_proc LINE 10 IS
+> IF DEBUG.GETC(my_ename) = JONES THEN
+>
RAISE DEBUG.BREAK;
+> END IF;
8 23
DEBUG.INTERPRET
Syntax:
Parameters:
PROCEDURE DEBUG.INTERPRET
(input VARCHAR2);
input
Description:
Example:
8 24
DEBUG.INTERPRET
Syntax:
Parameters:
PROCEDURE DEBUG.INTERPRET
(input VARCHAR2);
input
Description:
Example:
8 24
DEBUG.SETx
Syntax:
PROCEDURE DEBUG.SETC
(varname VARCHAR2,
newvalue VARCHAR2);
PROCEDURE DEBUG.SETD
(varname VARCHAR2,
newvalue DATE);
PROCEDURE DEBUG.SETI
(varname VARCHAR2,
newvalue PLS_INTEGER);
PROCEDURE DEBUG.SETN
(varname VARCHAR2,
newvalue NUMBER);
Parameters:
Description:
Example:
varname
newvalue
These procedures set the value of a local variable to a new value. This is
useful when you want to change a locals value from a debug trigger.
Suppose you want to establish a breakpoint on line 10 of procedure
my_proc, and set the value of the local CHAR variable my_emp to
SMITH whenever the breakpoint is reached. You could create the
following breakpoint using DEBUG.SETC:
PL/SQL> .BREAK PROC my_proc LINE 10 TRIGGER
+> DEBUG.SETC(my_emp, SMITH);
Suppose youve reached a breakpoint and want to set the value of the
local DATE variable my_date to 02OCT94. You could enter the
following PL/SQL block using DEBUG.SETD:
(debug 1)PL/SQL> DEBUG.SETD(my_date, 02OCT94);
8 25
DEBUG.SETx
Syntax:
PROCEDURE DEBUG.SETC
(varname VARCHAR2,
newvalue VARCHAR2);
PROCEDURE DEBUG.SETD
(varname VARCHAR2,
newvalue DATE);
PROCEDURE DEBUG.SETI
(varname VARCHAR2,
newvalue PLS_INTEGER);
PROCEDURE DEBUG.SETN
(varname VARCHAR2,
newvalue NUMBER);
Parameters:
Description:
Example:
varname
newvalue
These procedures set the value of a local variable to a new value. This is
useful when you want to change a locals value from a debug trigger.
Suppose you want to establish a breakpoint on line 10 of procedure
my_proc, and set the value of the local CHAR variable my_emp to
SMITH whenever the breakpoint is reached. You could create the
following breakpoint using DEBUG.SETC:
PL/SQL> .BREAK PROC my_proc LINE 10 TRIGGER
+> DEBUG.SETC(my_emp, SMITH);
Suppose youve reached a breakpoint and want to set the value of the
local DATE variable my_date to 02OCT94. You could enter the
following PL/SQL block using DEBUG.SETD:
(debug 1)PL/SQL> DEBUG.SETD(my_date, 02OCT94);
8 25
DEBUG.SUSPEND
Syntax:
Description:
Example:
PROCEDURE DEBUG.SUSPEND;
8 26
DEBUG.SUSPEND
Syntax:
Description:
Example:
PROCEDURE DEBUG.SUSPEND;
8 26
LIST.APPENDITEM
Syntax:
Parameters:
Description:
PROCEDURE LIST.APPENDITEM
(list listofchar),
item VARCHAR2);
list
Is a list.
item
Is a list item.
See Also:
Example:
8 27
LIST.APPENDITEM
Syntax:
Parameters:
Description:
PROCEDURE LIST.APPENDITEM
(list listofchar),
item VARCHAR2);
list
Is a list.
item
Is a list item.
See Also:
Example:
8 27
LIST.DESTROY
Syntax:
Parameters:
Description:
Example:
PROCEDURE LIST.DESTROY
(list listofchar);
list
Is a list.
LIST.DELETEITEM
Syntax:
Parameters:
Description:
PROCEDURE LIST.DELETEITEM
(list listofchar),
pos PLS_INTEGER);
list
Is a list.
pos
This procedure deletes the item at the specified position in the list.
See Also:
Example:
Suppose you want to delete the third item of a list. You could enter the
following block using LIST.DELETEITEM:
LIST.DELETEITEM(my_package.my_list, 2));
8 28
LIST.DESTROY
Syntax:
Parameters:
Description:
Example:
PROCEDURE LIST.DESTROY
(list listofchar);
list
Is a list.
LIST.DELETEITEM
Syntax:
Parameters:
Description:
PROCEDURE LIST.DELETEITEM
(list listofchar),
pos PLS_INTEGER);
list
Is a list.
pos
This procedure deletes the item at the specified position in the list.
See Also:
Example:
Suppose you want to delete the third item of a list. You could enter the
following block using LIST.DELETEITEM:
LIST.DELETEITEM(my_package.my_list, 2));
8 28
LIST.FAIL
Syntax:
Description:
LIST.FAIL
EXCEPTION;
LIST.GETITEM
Syntax:
Parameters:
Returns:
Description:
FUNCTION LIST.GETITEM
(list listofchar,
pos PLS_INTEGER)
RETURN VARCHAR2;
list
Is a list.
pos
See Also:
Example:
Suppose you want to get the second item of my_list and print it. You
could enter the following block using LIST.GETITEM:
TEXT_IO.PUT_LINE(LIST.GETITEM(my_list, 1));
8 29
LIST.FAIL
Syntax:
Description:
LIST.FAIL
EXCEPTION;
LIST.GETITEM
Syntax:
Parameters:
Returns:
Description:
FUNCTION LIST.GETITEM
(list listofchar,
pos PLS_INTEGER)
RETURN VARCHAR2;
list
Is a list.
pos
See Also:
Example:
Suppose you want to get the second item of my_list and print it. You
could enter the following block using LIST.GETITEM:
TEXT_IO.PUT_LINE(LIST.GETITEM(my_list, 1));
8 29
LIST.INSERTITEM
Syntax:
Parameters:
Description:
PROCEDURE LIST.INSERTITEM
(list listofchar),
pos PLS_INTEGER,
item VARCHAR2);
list
Is a list.
pos
item
Is a list item.
This procedure inserts an item into the list at the specified position.
See Also:
Example:
Suppose you want to add an item to a list in the third position, then
print it to be sure it was added correctly. You could write the following
procedure using LIST.INSERTITEM:
PROCEDURE insert_item(my_list LIST.LISTOFCHAR) IS
BEGIN
LIST.INSERTITEM(my_list, 2, This is the third
item.);
TEXT_IO.PUT_LINE(LIST.GETITEM(my_list, 2));
END;
LIST.LISTOFCHAR
Syntax:
Description:
8 30
TYPE LIST.LISTOFCHAR;
LIST.INSERTITEM
Syntax:
Parameters:
Description:
PROCEDURE LIST.INSERTITEM
(list listofchar),
pos PLS_INTEGER,
item VARCHAR2);
list
Is a list.
pos
item
Is a list item.
This procedure inserts an item into the list at the specified position.
See Also:
Example:
Suppose you want to add an item to a list in the third position, then
print it to be sure it was added correctly. You could write the following
procedure using LIST.INSERTITEM:
PROCEDURE insert_item(my_list LIST.LISTOFCHAR) IS
BEGIN
LIST.INSERTITEM(my_list, 2, This is the third
item.);
TEXT_IO.PUT_LINE(LIST.GETITEM(my_list, 2));
END;
LIST.LISTOFCHAR
Syntax:
Description:
8 30
TYPE LIST.LISTOFCHAR;
LIST.MAKE
Syntax:
Description:
Example:
FUNCTION LIST.MAKE
RETURN listofchar;
This function creates a new, empty list. A list must be created before it
can be used. Any lists created with this function should be destroyed
with the LIST.DESTROY procedure.
Suppose you want to create a list of names that is not stored in the
database. You could create the following procedure using LIST.MAKE:
PROCEDURE my_proc IS
my_list LIST.LISTOFCHAR;
BEGIN
my_list := LIST.MAKE;
END;
LIST.NITEMS
Syntax:
Parameters:
Description:
FUNCTION LIST.NITEMS
(list listofchar)
RETURN PLS_INTEGER;
list
Is a list.
See Also:
Example:
Suppose you want to print all of the names stored as character strings in
my_pkg.my_list. You could write the following procedure using
LIST.NITEMS:
PROCEDURE print_list IS
BEGIN
FOR i IN 0..LIST.NITEMS(my_pkg.my_list)1 LOOP
TEXT_IO.PUT_LINE(LIST.GETITEM(my_pkg.my_list, i));
END LOOP;
END;
8 31
LIST.MAKE
Syntax:
Description:
Example:
FUNCTION LIST.MAKE
RETURN listofchar;
This function creates a new, empty list. A list must be created before it
can be used. Any lists created with this function should be destroyed
with the LIST.DESTROY procedure.
Suppose you want to create a list of names that is not stored in the
database. You could create the following procedure using LIST.MAKE:
PROCEDURE my_proc IS
my_list LIST.LISTOFCHAR;
BEGIN
my_list := LIST.MAKE;
END;
LIST.NITEMS
Syntax:
Parameters:
Description:
FUNCTION LIST.NITEMS
(list listofchar)
RETURN PLS_INTEGER;
list
Is a list.
See Also:
Example:
Suppose you want to print all of the names stored as character strings in
my_pkg.my_list. You could write the following procedure using
LIST.NITEMS:
PROCEDURE print_list IS
BEGIN
FOR i IN 0..LIST.NITEMS(my_pkg.my_list)1 LOOP
TEXT_IO.PUT_LINE(LIST.GETITEM(my_pkg.my_list, i));
END LOOP;
END;
8 31
LIST.PREPENDITEM
Syntax:
Parameters:
Description:
PROCEDURE LIST.PREPENDITEM
(list listofchar),
item VARCHAR2);
list
Is a list.
item
Is a list item.
See Also:
Example:
8 32
LIST.PREPENDITEM
Syntax:
Parameters:
Description:
PROCEDURE LIST.PREPENDITEM
(list listofchar),
item VARCHAR2);
list
Is a list.
item
Is a list item.
See Also:
Example:
8 32
OLE2.OBJ_TYPE
Syntax:
Description:
SUBTYPE OLE2.OBJ_TYPE;
See Also:
OLE2.CREATE_OBJ
OLE2.LIST_TYPE
Syntax:
Description:
SUBTYPE OLE2.LIST_TYPE;
See Also:
OLE2.CREATE_ARGLIST, OLE2.DESTROY_ARGLIST
Example:
my_arglist
OLE2.LIST_TYPE;
8 33
OLE2.OBJ_TYPE
Syntax:
Description:
SUBTYPE OLE2.OBJ_TYPE;
See Also:
OLE2.CREATE_OBJ
OLE2.LIST_TYPE
Syntax:
Description:
SUBTYPE OLE2.LIST_TYPE;
See Also:
OLE2.CREATE_ARGLIST, OLE2.DESTROY_ARGLIST
Example:
my_arglist
OLE2.LIST_TYPE;
8 33
OLE2.ADD_ARG
Syntax:
PROCEDURE OLE2.ADD_ARG
(list list_type,
value NUMBER);
PROCEDURE OLE2.ADD_ARG
(list list_type,
value VARCHAR2);
Parameters:
Description:
list
value
See Also:
OLE2.CREATE_ARGLIST, OLE2.DESTROY_ARGLIST
Example:
OLE2.CREATE_ARGLIST
Syntax:
Returns:
Description:
FUNCTION OLE2.CREATE_ARGLIST
RETURN list_type;
See Also:
OLE2.ADD_ARG, OLE2.DESTROY_ARGLIST
Example:
Suppose you want to create an argument list. You could write the
following statements to declare and initialize an argument list:
my_arglist OLE2.LIST_TYPE;
my_arglist := OLE2.CREATE_ARGLIST;
8 34
OLE2.ADD_ARG
Syntax:
PROCEDURE OLE2.ADD_ARG
(list list_type,
value NUMBER);
PROCEDURE OLE2.ADD_ARG
(list list_type,
value VARCHAR2);
Parameters:
Description:
list
value
See Also:
OLE2.CREATE_ARGLIST, OLE2.DESTROY_ARGLIST
Example:
OLE2.CREATE_ARGLIST
Syntax:
Returns:
Description:
FUNCTION OLE2.CREATE_ARGLIST
RETURN list_type;
See Also:
OLE2.ADD_ARG, OLE2.DESTROY_ARGLIST
Example:
Suppose you want to create an argument list. You could write the
following statements to declare and initialize an argument list:
my_arglist OLE2.LIST_TYPE;
my_arglist := OLE2.CREATE_ARGLIST;
8 34
OLE2.CREATE_OBJ
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.CREATE_OBJ
(object VARCHAR2)
RETURN OBJ_TYPE;
object
See Also:
Example:
Suppose you want to create a new Microsoft Excel 5.0 spreadsheet. You
could write the following statement using OLE2.CREATE_OBJ:
obj := OLE2.CREATE_OBJ(Excel.Application.5);
OLE2.DESTROY_ARGLIST
Syntax:
Parameters:
Description:
PROCEDURE OLE2.DESTROY_ARGLIST
(list list_type);
list
See Also:
OLE2.ADD_ARG, OLE2.CREATE_ARGLIST
Example:
Suppose you want to destroy the argument list my_arglist. You could
write the following statement using OLE2.DESTROY_ARGLIST:
OLE2.DESTROY_ARGLIST(my_arglist);
8 35
OLE2.CREATE_OBJ
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.CREATE_OBJ
(object VARCHAR2)
RETURN OBJ_TYPE;
object
See Also:
Example:
Suppose you want to create a new Microsoft Excel 5.0 spreadsheet. You
could write the following statement using OLE2.CREATE_OBJ:
obj := OLE2.CREATE_OBJ(Excel.Application.5);
OLE2.DESTROY_ARGLIST
Syntax:
Parameters:
Description:
PROCEDURE OLE2.DESTROY_ARGLIST
(list list_type);
list
See Also:
OLE2.ADD_ARG, OLE2.CREATE_ARGLIST
Example:
Suppose you want to destroy the argument list my_arglist. You could
write the following statement using OLE2.DESTROY_ARGLIST:
OLE2.DESTROY_ARGLIST(my_arglist);
8 35
OLE2.GET_CHAR_PROPERTY
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.GET_CHAR_PROPERTY
obj_type,
(object
property VARCHAR2,
arglist list_type := 0)
RETURN VARCHAR2;
object
property
arglist
A character value.
This function gets a property of an OLE2 Automation Object.
See Also:
OLE2.GET_NUM_PROPERTY, OLE2.GET_OBJ_PROPERTY
Example:
Suppose you want to get the text in an OLE2 document. You could
write the following statement using OLE2.GET_CHAR_PROPERTY:
str := OLE2.GET_CHAR_PROPERTY(obj, text);
8 36
OLE2.GET_CHAR_PROPERTY
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.GET_CHAR_PROPERTY
obj_type,
(object
property VARCHAR2,
arglist list_type := 0)
RETURN VARCHAR2;
object
property
arglist
A character value.
This function gets a property of an OLE2 Automation Object.
See Also:
OLE2.GET_NUM_PROPERTY, OLE2.GET_OBJ_PROPERTY
Example:
Suppose you want to get the text in an OLE2 document. You could
write the following statement using OLE2.GET_CHAR_PROPERTY:
str := OLE2.GET_CHAR_PROPERTY(obj, text);
8 36
OLE2.GET_NUM_PROPERTY
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.GET_NUM_PROPERTY
obj_type,
(object
property VARCHAR2,
arglist list_type := 0)
RETURN NUMBER;
object
property
arglist
A number value.
This function gets a number value from an OLE2 Automation Object.
See Also:
OLE2.GET_CHAR_PROPERTY, OLE2.GET_OBJ_PROPERTY
Example:
Suppose you want to get the X and Y settings of the center of an OLE2
Object (in this case, a map). You could write the following statements
using OLE2.GET_NUM_PROPERTY:
x := OLE2.GET_NUM_PROPERTY(Map,GetMapCenterX);
y := OLE2.GET_NUM_PROPERTY(Map,GetMapCenterY);
8 37
OLE2.GET_NUM_PROPERTY
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.GET_NUM_PROPERTY
obj_type,
(object
property VARCHAR2,
arglist list_type := 0)
RETURN NUMBER;
object
property
arglist
A number value.
This function gets a number value from an OLE2 Automation Object.
See Also:
OLE2.GET_CHAR_PROPERTY, OLE2.GET_OBJ_PROPERTY
Example:
Suppose you want to get the X and Y settings of the center of an OLE2
Object (in this case, a map). You could write the following statements
using OLE2.GET_NUM_PROPERTY:
x := OLE2.GET_NUM_PROPERTY(Map,GetMapCenterX);
y := OLE2.GET_NUM_PROPERTY(Map,GetMapCenterY);
8 37
OLE2.GET_OBJ_PROPERTY
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.GET_OBJ_PROPERTY
obj_type,
(object
property VARCHAR2,
arglist list_type := 0)
RETURN OBJ_TYPE;
object
property
arglist
See Also:
OLE2.GET_CHAR_PROPERTY, OLE2.GET_NUM_PROPERTY
Example:
8 38
OLE2.GET_OBJ_PROPERTY
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.GET_OBJ_PROPERTY
obj_type,
(object
property VARCHAR2,
arglist list_type := 0)
RETURN OBJ_TYPE;
object
property
arglist
See Also:
OLE2.GET_CHAR_PROPERTY, OLE2.GET_NUM_PROPERTY
Example:
8 38
OLE2.INVOKE
Syntax:
Parameters:
Description:
PROCEDURE OLE2.INVOKE
(object obj_type,
method VARCHAR2,
list
list_type := 0);
object
method
list
See Also:
Example:
8 39
OLE2.INVOKE
Syntax:
Parameters:
Description:
PROCEDURE OLE2.INVOKE
(object obj_type,
method VARCHAR2,
list
list_type := 0);
object
method
list
See Also:
Example:
8 39
OLE2.INVOKE_NUM
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.INVOKE_NUM
obj_type,
(object
method
VARCHAR2,
arglist list_type := 0)
RETURN NUMBER;
object
method
arglist
A number value.
This function gets a number value from an OLE2 Automation Object,
using the specified method.
See Also:
Example:
8 40
OLE2.INVOKE_NUM
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.INVOKE_NUM
obj_type,
(object
method
VARCHAR2,
arglist list_type := 0)
RETURN NUMBER;
object
method
arglist
A number value.
This function gets a number value from an OLE2 Automation Object,
using the specified method.
See Also:
Example:
8 40
OLE2.INVOKE_CHAR
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.INVOKE_CHAR
obj_type,
(object
method
VARCHAR2,
arglist list_type := 0)
RETURN VARCHAR2;
object
method
arglist
A character value.
This function gets a character value from an OLE2 Automation Object
using the specified method.
See Also:
Example:
You want to retrieve the correct spelling of a word from a spell checker
automation object by invoking the objects Spell method:
correct:=OLE2.INVOKE_CHAR(spell_obj, spell, my_arglist);
8 41
OLE2.INVOKE_CHAR
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.INVOKE_CHAR
obj_type,
(object
method
VARCHAR2,
arglist list_type := 0)
RETURN VARCHAR2;
object
method
arglist
A character value.
This function gets a character value from an OLE2 Automation Object
using the specified method.
See Also:
Example:
You want to retrieve the correct spelling of a word from a spell checker
automation object by invoking the objects Spell method:
correct:=OLE2.INVOKE_CHAR(spell_obj, spell, my_arglist);
8 41
OLE2.INVOKE_OBJ
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.INVOKE_OBJ
obj_type,
(object
method
VARCHAR2,
arglist list_type := 0)
RETURN OBJ_TYPE;
object
method
arglist
See Also
Example:
8 42
OLE2.INVOKE_OBJ
Syntax:
Parameters:
Returns:
Description:
FUNCTION OLE2.INVOKE_OBJ
obj_type,
(object
method
VARCHAR2,
arglist list_type := 0)
RETURN OBJ_TYPE;
object
method
arglist
See Also
Example:
8 42
OLE2.RELEASE_OBJ
Syntax:
Parameters:
Description:
PROCEDURE OLE2.RELEASE_OBJ
obj_type);
(object
object
See Also
OLE2.CREATE_OBJECT, OLE2.INVOKE_OBJ,
OLE2.GET_OBJ_PROPERTY
Example:
8 43
OLE2.RELEASE_OBJ
Syntax:
Parameters:
Description:
PROCEDURE OLE2.RELEASE_OBJ
obj_type);
(object
object
See Also
OLE2.CREATE_OBJECT, OLE2.INVOKE_OBJ,
OLE2.GET_OBJ_PROPERTY
Example:
8 43
OLE2.SET_PROPERTY
Syntax:
PROCEDURE OLE2.SET_PROPERTY
obj_type,
(object
property VARCHAR2,
value
NUMBER,
arglist list_type := 0);
PROCEDURE OLE2.SET_PROPERTY
obj_type,
(object
property VARCHAR2,
value
VARCHAR2,
arglist list_type := 0);
Parameters:
Description:
object
property
value
Is a property value.
arglist
See Also:
OLE2.CREATE_OBJ, OLE2.GET_CHAR_PROPERTY,
OLE2.GET_NUM_PROPERTY, OLE2.GET_OBJ_PROPERTY
Example:
Suppose you want to insert a line of text into a cell in a new Microsoft
Excel 5.0 spreadsheet. You could write the following statements using
OLE2.SET_PROPERTY:
obj := OLE2.CREATE_OBJ (Excel.Application.5);
OLE2.SET_PROPERTY (obj, row, 4);
OLE2.SET_PROPERTY (obj, column, 2);
OLE2.SET_PROPERTY (obj, Insert, Hello, World.);
8 44
OLE2.SET_PROPERTY
Syntax:
PROCEDURE OLE2.SET_PROPERTY
obj_type,
(object
property VARCHAR2,
value
NUMBER,
arglist list_type := 0);
PROCEDURE OLE2.SET_PROPERTY
obj_type,
(object
property VARCHAR2,
value
VARCHAR2,
arglist list_type := 0);
Parameters:
Description:
object
property
value
Is a property value.
arglist
See Also:
OLE2.CREATE_OBJ, OLE2.GET_CHAR_PROPERTY,
OLE2.GET_NUM_PROPERTY, OLE2.GET_OBJ_PROPERTY
Example:
Suppose you want to insert a line of text into a cell in a new Microsoft
Excel 5.0 spreadsheet. You could write the following statements using
OLE2.SET_PROPERTY:
obj := OLE2.CREATE_OBJ (Excel.Application.5);
OLE2.SET_PROPERTY (obj, row, 4);
OLE2.SET_PROPERTY (obj, column, 2);
OLE2.SET_PROPERTY (obj, Insert, Hello, World.);
8 44
ORA_FFI.FFI_ERROR
Syntax:
Description:
EXCEPTION ORA_FFI_ERROR;
This exeption is raised when an error occurs while using the ORA_FFI
package.
ORA_FFI.FIND_FUNCTION
Syntax:
FUNCTION ORA_FFI.FIND_FUNCTION
(libHandle libHandleType,
funcname
VARCHAR2)
RETURN funcHandleType;
FUNCTION ORA_FFI.FIND_FUNCTION
(libname
VARCHAR2,
funcname VARCHAR2)
RETURN funcHandleType;
Parameters:
Returns:
Description:
See Also:
libHandle
funcname
libname
8 45
ORA_FFI.FFI_ERROR
Syntax:
Description:
EXCEPTION ORA_FFI_ERROR;
This exeption is raised when an error occurs while using the ORA_FFI
package.
ORA_FFI.FIND_FUNCTION
Syntax:
FUNCTION ORA_FFI.FIND_FUNCTION
(libHandle libHandleType,
funcname
VARCHAR2)
RETURN funcHandleType;
FUNCTION ORA_FFI.FIND_FUNCTION
(libname
VARCHAR2,
funcname VARCHAR2)
RETURN funcHandleType;
Parameters:
Returns:
Description:
See Also:
libHandle
funcname
libname
8 45
ORA_FFI.FIND_LIBRARY
Syntax:
Parameters:
Returns:
Description:
See Also:
FUNCTION ORA_FFI.FIND_LIBRARY
(libname VARCHAR2)
RETURN libHandleType;
libname
ORA_FFI.FUNCHANDLETYPE
Syntax:
Description:
8 46
TYPE ORA_FFI.FUNCHANDLETYPE;
ORA_FFI.FIND_LIBRARY
Syntax:
Parameters:
Returns:
Description:
See Also:
FUNCTION ORA_FFI.FIND_LIBRARY
(libname VARCHAR2)
RETURN libHandleType;
libname
ORA_FFI.FUNCHANDLETYPE
Syntax:
Description:
8 46
TYPE ORA_FFI.FUNCHANDLETYPE;
ORA_FFI.GENERATE_FOREIGN
Syntax:
PROCEDURE ORA_FFI.GENERATE_FOREIGN
(handle libHandleType);
PROCEDURE ORA_FFI.GENERATE_FOREIGN
(handle libHandleType,
pkgname VARCHAR2);
Parameters:
Description:
handle
pkgname
ORA_FFI.IS_NULL_PTR
Syntax:
FUNCTION ORA_FFI.IS_NULL_PTR
(handle libHandleType)
RETURN BOOLEAN;
FUNCTION ORA_FFI.IS_NULL_PTR
(handle funcHandleType)
RETURN BOOLEAN;
FUNCTION ORA_FFI.IS_NULL_PTR
(handle pointerType)
RETURN BOOLEAN;
Parameters:
handle
Returns:
TRUE
FALSE
Description:
8 47
ORA_FFI.GENERATE_FOREIGN
Syntax:
PROCEDURE ORA_FFI.GENERATE_FOREIGN
(handle libHandleType);
PROCEDURE ORA_FFI.GENERATE_FOREIGN
(handle libHandleType,
pkgname VARCHAR2);
Parameters:
Description:
handle
pkgname
ORA_FFI.IS_NULL_PTR
Syntax:
FUNCTION ORA_FFI.IS_NULL_PTR
(handle libHandleType)
RETURN BOOLEAN;
FUNCTION ORA_FFI.IS_NULL_PTR
(handle funcHandleType)
RETURN BOOLEAN;
FUNCTION ORA_FFI.IS_NULL_PTR
(handle pointerType)
RETURN BOOLEAN;
Parameters:
handle
Returns:
TRUE
FALSE
Description:
8 47
ORA_FFI.LIBHANDLETYPE
Syntax:
Description:
TYPE ORA_FFI.LIBHANDLETYPE;
ORA_FFI.POINTERTYPE
Syntax:
Description:
TYPE ORA_FFI.POINTERTYPE;
ORA_FFI.REGISTER_FUNCTION
Syntax:
Parameters:
FUNCTION ORA_FFI.REGISTER_FUNCTION
(libHandle libHandleType,
funcname
VARCHAR2,
callstd
PLS_INTEGER
:= C_STD)
RETURN funcHandleType;
libHandle
funcname
callstd
Returns:
Description:
See Also:
8 48
ORA_FFI.LIBHANDLETYPE
Syntax:
Description:
TYPE ORA_FFI.LIBHANDLETYPE;
ORA_FFI.POINTERTYPE
Syntax:
Description:
TYPE ORA_FFI.POINTERTYPE;
ORA_FFI.REGISTER_FUNCTION
Syntax:
Parameters:
FUNCTION ORA_FFI.REGISTER_FUNCTION
(libHandle libHandleType,
funcname
VARCHAR2,
callstd
PLS_INTEGER
:= C_STD)
RETURN funcHandleType;
libHandle
funcname
callstd
Returns:
Description:
See Also:
8 48
ORA_FFI.LOAD_LIBRARY
Syntax:
Parameters:
Returns:
Description:
FUNCTION ORA_FFI.LOAD_LIBRARY
(dirname VARCHAR2,
libname VARCHAR2)
RETURN libHandleType;
dirname
libname
8 49
ORA_FFI.LOAD_LIBRARY
Syntax:
Parameters:
Returns:
Description:
FUNCTION ORA_FFI.LOAD_LIBRARY
(dirname VARCHAR2,
libname VARCHAR2)
RETURN libHandleType;
dirname
libname
8 49
ORA_FFI.REGISTER_PARAMETER
Syntax:
Parameters:
PROCEDURE ORA_FFI.REGISTER_PARAMETER
(funcHandle funcHandleType,
cargtype PLS_INTEGER);
funcHandle
cargtype
Description:
See Also:
8 50
ORA_FFI.REGISTER_PARAMETER
Syntax:
Parameters:
PROCEDURE ORA_FFI.REGISTER_PARAMETER
(funcHandle funcHandleType,
cargtype PLS_INTEGER);
funcHandle
cargtype
Description:
See Also:
8 50
ORA_FFI.REGISTER_RETURN
Syntax:
Parameters:
PROCEDURE ORA_FFI.REGISTER_RETURN
(funcHandle funcHandleType,
creturntype PLS_INTEGER);
funcHandle
creturntype
Description:
See Also:
8 51
ORA_FFI.REGISTER_RETURN
Syntax:
Parameters:
PROCEDURE ORA_FFI.REGISTER_RETURN
(funcHandle funcHandleType,
creturntype PLS_INTEGER);
funcHandle
creturntype
Description:
See Also:
8 51
ORA_FFI.UNLOAD_LIBARARY
Syntax:
Parameters:
Description:
8 52
PROCEDURE ORA_FFI.UNLOAD_LIBRARY
(libHandle libHandleType);
libHandle
ORA_FFI.UNLOAD_LIBARARY
Syntax:
Parameters:
Description:
8 52
PROCEDURE ORA_FFI.UNLOAD_LIBRARY
(libHandle libHandleType);
libHandle
ORA_NLS.AMERICAN
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.AMERICAN
RETURN BOOLEAN;
TRUE or FALSE.
This function returns TRUE or FALSE, depending on whether the
current character set is American.
ORA_NLS.AMERICAN_DATE
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.AMERICAN_DATE
RETURN BOOLEAN;
TRUE or FALSE.
This function returns TRUE or FALSE, depending on whether the
current date format is American.
8 53
ORA_NLS.AMERICAN
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.AMERICAN
RETURN BOOLEAN;
TRUE or FALSE.
This function returns TRUE or FALSE, depending on whether the
current character set is American.
ORA_NLS.AMERICAN_DATE
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.AMERICAN_DATE
RETURN BOOLEAN;
TRUE or FALSE.
This function returns TRUE or FALSE, depending on whether the
current date format is American.
8 53
ORA_NLS.BAD_ATTRIBUTE
Syntax:
Description:
See Also:
ORA_NLS.BAD_ATTRIBUTE EXCEPTION;
ORA_NLS.GET_LANG_SCALAR
Syntax:
Parameters:
Returns:
Description:
FUNCTION ORA_NLS.GET_LANG_SCALAR
(attribute PLS_INTEGER)
RETURN NUMBER;
attribute
A number.
This function returns the requested information about the current
language. You can use GET_LANG_SCALAR to retrieve numeric data.
See Also:
ORA_NLS.GET_LANG_STR
Example:
Suppose you wanted to print the number of the current ISO alphabet.
You could add to your subprogram the following statement using
ORA_NLS.GET_LANG_SCALAR:
TEXT_IO.PUT_LINE(ORA_NLS.GET_LANG_SCALAR
(ORA_NLS.ISO_ALPHABET));
8 54
ORA_NLS.BAD_ATTRIBUTE
Syntax:
Description:
See Also:
ORA_NLS.BAD_ATTRIBUTE EXCEPTION;
ORA_NLS.GET_LANG_SCALAR
Syntax:
Parameters:
Returns:
Description:
FUNCTION ORA_NLS.GET_LANG_SCALAR
(attribute PLS_INTEGER)
RETURN NUMBER;
attribute
A number.
This function returns the requested information about the current
language. You can use GET_LANG_SCALAR to retrieve numeric data.
See Also:
ORA_NLS.GET_LANG_STR
Example:
Suppose you wanted to print the number of the current ISO alphabet.
You could add to your subprogram the following statement using
ORA_NLS.GET_LANG_SCALAR:
TEXT_IO.PUT_LINE(ORA_NLS.GET_LANG_SCALAR
(ORA_NLS.ISO_ALPHABET));
8 54
ORA_NLS.GET_LANG_STR
Syntax:
Parameters:
Returns:
Description:
FUNCTION ORA_NLS.GET_LANG_STR
(attribute PLS_INTEGER)
RETURN VARCHAR2;
attribute
A character value.
This function returns the requested information about the current
language. You can use GET_LANG_STR to retrieve character
information.
See Also:
ORA_NLS.GET_LANG_SCALAR
Example:
Suppose you want to print the name of the current language. You
could add to your subprogram the following statement using
ORA_NLS.GET_LANG_STR:
TEXT_IO.PUT(ORA_NLS.GET_LANG_STR(ORA_NLS.LANGUAGE));
ORA_NLS.LINGUISTIC_COLLATE
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.LINGUISTIC_COLLATE
RETURN BOOLEAN;
TRUE or FALSE.
This function returns TRUE or FALSE, depending on whether the
characters in the current character set need to be collated according to
special linguistic information. If this function returns TRUE, a binary
sort of two characters will not necessarily return the correct value. This
is because encoding schemes for character sets do not necessarily
define all characters in ascending numerical order.
In addition, the sort position of a character may vary for different
languages. For example, an is sorted before b in German, but
after z in Swedish.
8 55
ORA_NLS.GET_LANG_STR
Syntax:
Parameters:
Returns:
Description:
FUNCTION ORA_NLS.GET_LANG_STR
(attribute PLS_INTEGER)
RETURN VARCHAR2;
attribute
A character value.
This function returns the requested information about the current
language. You can use GET_LANG_STR to retrieve character
information.
See Also:
ORA_NLS.GET_LANG_SCALAR
Example:
Suppose you want to print the name of the current language. You
could add to your subprogram the following statement using
ORA_NLS.GET_LANG_STR:
TEXT_IO.PUT(ORA_NLS.GET_LANG_STR(ORA_NLS.LANGUAGE));
ORA_NLS.LINGUISTIC_COLLATE
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.LINGUISTIC_COLLATE
RETURN BOOLEAN;
TRUE or FALSE.
This function returns TRUE or FALSE, depending on whether the
characters in the current character set need to be collated according to
special linguistic information. If this function returns TRUE, a binary
sort of two characters will not necessarily return the correct value. This
is because encoding schemes for character sets do not necessarily
define all characters in ascending numerical order.
In addition, the sort position of a character may vary for different
languages. For example, an is sorted before b in German, but
after z in Swedish.
8 55
ORA_NLS.LINGUISTIC_SPECIALS
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.LINGUISTIC_SPECIALS
RETURN BOOLEAN;
TRUE or FALSE.
This function returns true or false, depending on whether there are
linguistic specials in use.
Linguistic specials are language-specific special cases for collation and
case conversion (upper and lower). An example is the uppercase for
the German sharp s (one byte), which is SS (two bytes). Sorting is
also done according to the two-byte value.
Linguistic specials are defined in a linguistic definition along with
normal collation. When there are linguistic specials defined for the
linguistic definition that is in effect for a specific language handle,
output sizes of functions handling linguistic specials can be larger than
input string sizes.
ORA_NLS.MODIFIED_DATE_FMT
Syntax:
Returns:
Description:
8 56
FUNCTION ORA_NLS.MODIFIED_DATE_FMT
RETURN BOOLEAN;
TRUE or FALSE.
This function returns true or false, depending on whether the date
format has been modified.
ORA_NLS.LINGUISTIC_SPECIALS
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.LINGUISTIC_SPECIALS
RETURN BOOLEAN;
TRUE or FALSE.
This function returns true or false, depending on whether there are
linguistic specials in use.
Linguistic specials are language-specific special cases for collation and
case conversion (upper and lower). An example is the uppercase for
the German sharp s (one byte), which is SS (two bytes). Sorting is
also done according to the two-byte value.
Linguistic specials are defined in a linguistic definition along with
normal collation. When there are linguistic specials defined for the
linguistic definition that is in effect for a specific language handle,
output sizes of functions handling linguistic specials can be larger than
input string sizes.
ORA_NLS.MODIFIED_DATE_FMT
Syntax:
Returns:
Description:
8 56
FUNCTION ORA_NLS.MODIFIED_DATE_FMT
RETURN BOOLEAN;
TRUE or FALSE.
This function returns true or false, depending on whether the date
format has been modified.
ORA_NLS.NO_ITEM
Syntax:
Description:
ORA_NLS.NO_ITEM EXCEPTION;
ORA_NLS.NOT_FOUND
Syntax:
Description:
See Also:
ORA_NLS.NOT_FOUND EXCEPTION;
ORA_NLS.RIGHT_TO_LEFT
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.RIGHT_TO_LEFT
RETURN BOOLEAN;
TRUE or FALSE.
This function returns true or false, depending on whether the writing
direction of the current language is righttoleft.
8 57
ORA_NLS.NO_ITEM
Syntax:
Description:
ORA_NLS.NO_ITEM EXCEPTION;
ORA_NLS.NOT_FOUND
Syntax:
Description:
See Also:
ORA_NLS.NOT_FOUND EXCEPTION;
ORA_NLS.RIGHT_TO_LEFT
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.RIGHT_TO_LEFT
RETURN BOOLEAN;
TRUE or FALSE.
This function returns true or false, depending on whether the writing
direction of the current language is righttoleft.
8 57
ORA_NLS.SIMPLE_CS
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.SIMPLE_CS
RETURN BOOLEAN;
TRUE or FALSE.
This function returns true or false, depending on whether the current
character set is simple (i.e., single-byte, no special characters, no special
handling).
ORA_NLS.SINGLE_BYTE
Syntax:
Returns:
FUNCTION ORA_NLS.SINGLE_BYTE
RETURN BOOLEAN;
TRUE or FALSE.
Description:
ORA_NLS Constants
Character Constants
8 58
name
description
integer
ORA_NLS.SIMPLE_CS
Syntax:
Returns:
Description:
FUNCTION ORA_NLS.SIMPLE_CS
RETURN BOOLEAN;
TRUE or FALSE.
This function returns true or false, depending on whether the current
character set is simple (i.e., single-byte, no special characters, no special
handling).
ORA_NLS.SINGLE_BYTE
Syntax:
Returns:
FUNCTION ORA_NLS.SINGLE_BYTE
RETURN BOOLEAN;
TRUE or FALSE.
Description:
ORA_NLS Constants
Character Constants
8 58
name
description
integer
Name
Description
Integer
Value
day1
sunday
day2
monday
day3
tuesday
day4
wednesday
day5
thursday
day6
friday
day7
saturday
day1_abbr
sun
day2_abbr
mon
day3_abbr
10
tue
day4_abbr
11
wed
day5_abbr
12
thu
day6_abbr
13
fri
day7_abbr
14
sat
mon1
15
january
mon2
16
february
mon3
17
march
mon4
18
april
mon5
19
may
mon6
20
june
mon7
21
july
mon8
22
august
mon9
23
september
mon10
24
october
mon11
25
november
mon12
26
december
mon1_abbr
27
jan
mon2_abbr
28
feb
mon3_abbr
29
mar
mon4_abbr
30
apr
mon5_abbr
31
may
8 59
Name
Description
Integer
Value
day1
sunday
day2
monday
day3
tuesday
day4
wednesday
day5
thursday
day6
friday
day7
saturday
day1_abbr
sun
day2_abbr
mon
day3_abbr
10
tue
day4_abbr
11
wed
day5_abbr
12
thu
day6_abbr
13
fri
day7_abbr
14
sat
mon1
15
january
mon2
16
february
mon3
17
march
mon4
18
april
mon5
19
may
mon6
20
june
mon7
21
july
mon8
22
august
mon9
23
september
mon10
24
october
mon11
25
november
mon12
26
december
mon1_abbr
27
jan
mon2_abbr
28
feb
mon3_abbr
29
mar
mon4_abbr
30
apr
mon5_abbr
31
may
8 59
8 60
Name
Description
Integer
Value
mon6_abbr
32
jun
mon7_abbr
33
jul
mon8_abbr
34
aug
mon9_abbr
35
sep
mon10_abbr
36
oct
mon11_abbr
37
nov
mon12_abbr
38
dec
yes_str
39
yes
no_str
40
no
am_str
Local equivalent of AM
41
am
pm_str
Local equivalent of PM
42
pm
ad_str
Local equivalent of AD
43
ad
bc_str
Local equivalent of BC
44
bc
decimal
Decimal character
45
groupsep
Group separator
46
int_currency
47
USD
local_currency
48
local_date_fmt
49
%m/%d/%y
local_time_fmt
50
%H:%M:%S
default_date_fmt
51
DDMONYY
default_time_fmt
52
HH.MI.SS AM
language
Language name
53
AMERICAN
language_abbr
54
US
character_set
55
US7ASCII
territory
56
AMERICA
current_decimal
57
current_groupsep
58
current_currency
59
current_date_fmt
60
DDMONYY
current_language
Current language
70
8 60
Name
Description
Integer
Value
mon6_abbr
32
jun
mon7_abbr
33
jul
mon8_abbr
34
aug
mon9_abbr
35
sep
mon10_abbr
36
oct
mon11_abbr
37
nov
mon12_abbr
38
dec
yes_str
39
yes
no_str
40
no
am_str
Local equivalent of AM
41
am
pm_str
Local equivalent of PM
42
pm
ad_str
Local equivalent of AD
43
ad
bc_str
Local equivalent of BC
44
bc
decimal
Decimal character
45
groupsep
Group separator
46
int_currency
47
USD
local_currency
48
local_date_fmt
49
%m/%d/%y
local_time_fmt
50
%H:%M:%S
default_date_fmt
51
DDMONYY
default_time_fmt
52
HH.MI.SS AM
language
Language name
53
AMERICAN
language_abbr
54
US
character_set
55
US7ASCII
territory
56
AMERICA
current_decimal
57
current_groupsep
58
current_currency
59
current_date_fmt
60
DDMONYY
current_language
Current language
70
Name
Description
Integer
Value
current_territory
Current territory
61
US
current_character_set
62
US7ASCII
Numeric Constants
Description
Integer
decimal_places
63
sign_placement
64
initcap_month
65
initcap_day
66
week_start
67
week_num_calc
68
iso_alphabet
69
8 61
Name
Description
Integer
Value
current_territory
Current territory
61
US
current_character_set
62
US7ASCII
Numeric Constants
Description
Integer
decimal_places
63
sign_placement
64
initcap_month
65
initcap_day
66
week_start
67
week_num_calc
68
iso_alphabet
69
8 61
ORA_PROF.BAD_TIMER
Syntax:
Description:
See Also:
ORA_PROF.BAD_TIMER EXCEPTION;
ORA_PROF.CREATE_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.CREATE_TIMER
(timer VARCHAR2);
timer
This procedure allocates the named timer. Any references to the named
timer before this service is used will raise an error.
See Also:
ORA_PROF.DESTROY_TIMER, ORA_PROF.ELAPSED_TIME,
ORA_PROF.RESET_TIMER, ORA_PROF.START_TIMER,
ORA_PROF.STOP_TIMER
Example:
8 62
ORA_PROF.BAD_TIMER
Syntax:
Description:
See Also:
ORA_PROF.BAD_TIMER EXCEPTION;
ORA_PROF.CREATE_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.CREATE_TIMER
(timer VARCHAR2);
timer
This procedure allocates the named timer. Any references to the named
timer before this service is used will raise an error.
See Also:
ORA_PROF.DESTROY_TIMER, ORA_PROF.ELAPSED_TIME,
ORA_PROF.RESET_TIMER, ORA_PROF.START_TIMER,
ORA_PROF.STOP_TIMER
Example:
8 62
ORA_PROF.DESTROY_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.DESTROY_TIMER
(timer VARCHAR2);
timer
This procedure destroys the named timer. All memory associated with
the timer is freed at that time. Any references to the named timer after
this service is used will raise an error.
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.ELAPSED_TIME,
ORA_PROF.RESET_TIMER, ORA_PROF.START_TIMER,
ORA_PROF.STOP_TIMER
Example:
8 63
ORA_PROF.DESTROY_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.DESTROY_TIMER
(timer VARCHAR2);
timer
This procedure destroys the named timer. All memory associated with
the timer is freed at that time. Any references to the named timer after
this service is used will raise an error.
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.ELAPSED_TIME,
ORA_PROF.RESET_TIMER, ORA_PROF.START_TIMER,
ORA_PROF.STOP_TIMER
Example:
8 63
ORA_PROF.ELAPSED_TIME
Syntax:
Parameters:
Returns:
Description:
FUNCTION ORA_PROF.ELAPSED_TIME
(timer PLS_INTEGER)
RETURN PLS_INTEGER;
timer
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.DESTROY_TIMER,
ORA_PROF.RESET_TIMER, ORA_PROF.START_TIMER,
ORA_PROF.STOP_TIMER
Example:
8 64
ORA_PROF.ELAPSED_TIME
Syntax:
Parameters:
Returns:
Description:
FUNCTION ORA_PROF.ELAPSED_TIME
(timer PLS_INTEGER)
RETURN PLS_INTEGER;
timer
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.DESTROY_TIMER,
ORA_PROF.RESET_TIMER, ORA_PROF.START_TIMER,
ORA_PROF.STOP_TIMER
Example:
8 64
ORA_PROF.RESET_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.RESET_TIMER
(timer VARCHAR2);
timer
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.DESTROY_TIMER,
ORA_PROF.ELAPSED_TIME, ORA_PROF.START_TIMER,
ORA_PROF.STOP_TIMER
Example:
Suppose you wanted to track the amount of time spent in several parts
of a procedure. You could track this time usage by adding the
ORA_PROF.START_TIMER and ORA_PROF.STOP_TIMER calls to
your procedure.
PL/SQL> PROCEDURE multi_time IS
+>
i PLS_INTEGER;
+> BEGIN
+>
ORA_PROF.CREATE_TIMER(loop);
+>
+>
First loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
+>
Second loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
ORA_PROF.DESTROY_TIMER(loop);
+> END;
8 65
ORA_PROF.RESET_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.RESET_TIMER
(timer VARCHAR2);
timer
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.DESTROY_TIMER,
ORA_PROF.ELAPSED_TIME, ORA_PROF.START_TIMER,
ORA_PROF.STOP_TIMER
Example:
Suppose you wanted to track the amount of time spent in several parts
of a procedure. You could track this time usage by adding the
ORA_PROF.START_TIMER and ORA_PROF.STOP_TIMER calls to
your procedure.
PL/SQL> PROCEDURE multi_time IS
+>
i PLS_INTEGER;
+> BEGIN
+>
ORA_PROF.CREATE_TIMER(loop);
+>
+>
First loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
+>
Second loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
ORA_PROF.DESTROY_TIMER(loop);
+> END;
8 65
ORA_PROF.START_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.START_TIMER
(timer VARCHAR2);
timer
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.DESTROY_TIMER,
ORA_PROF.ELAPSED_TIME, ORA_PROF.RESET_TIMER,
ORA_PROF.STOP_TIMER
Example:
Suppose you wanted to track the amount of time spent in several parts
of a procedure. You could track this time usage by adding the
ORA_PROF.START_TIMER and ORA_PROF.STOP_TIMER calls to
your procedure.
PL/SQL> PROCEDURE multi_time IS
+>
i PLS_INTEGER;
+> BEGIN
+>
ORA_PROF.CREATE_TIMER(loop);
+>
+>
First loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
+>
Second loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
ORA_PROF.DESTROY_TIMER(loop);
+> END;
8 66
ORA_PROF.START_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.START_TIMER
(timer VARCHAR2);
timer
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.DESTROY_TIMER,
ORA_PROF.ELAPSED_TIME, ORA_PROF.RESET_TIMER,
ORA_PROF.STOP_TIMER
Example:
Suppose you wanted to track the amount of time spent in several parts
of a procedure. You could track this time usage by adding the
ORA_PROF.START_TIMER and ORA_PROF.STOP_TIMER calls to
your procedure.
PL/SQL> PROCEDURE multi_time IS
+>
i PLS_INTEGER;
+> BEGIN
+>
ORA_PROF.CREATE_TIMER(loop);
+>
+>
First loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
+>
Second loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
ORA_PROF.DESTROY_TIMER(loop);
+> END;
8 66
ORA_PROF.STOP_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.STOP_TIMER
(timer VARCHAR2);
timer
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.DESTROY_TIMER,
ORA_PROF.ELAPSED_TIME, ORA_PROF.RESET_TIMER,
ORA_PROF.STOP_TIMER
Example:
Suppose you wanted to track the amount of time spent in several parts
of a procedure. You could track this time usage by adding the
ORA_PROF.START_TIMER and ORA_PROF.STOP_TIMER calls to
your procedure.
PL/SQL> PROCEDURE multi_time IS
+>
i PLS_INTEGER;
+> BEGIN
+>
ORA_PROF.CREATE_TIMER(loop);
+>
+>
First loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
+>
Second loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
ORA_PROF.DESTROY_TIMER(loop);
+> END;
8 67
ORA_PROF.STOP_TIMER
Syntax:
Parameters:
Description:
PROCEDURE ORA_PROF.STOP_TIMER
(timer VARCHAR2);
timer
See Also:
ORA_PROF.CREATE_TIMER, ORA_PROF.DESTROY_TIMER,
ORA_PROF.ELAPSED_TIME, ORA_PROF.RESET_TIMER,
ORA_PROF.STOP_TIMER
Example:
Suppose you wanted to track the amount of time spent in several parts
of a procedure. You could track this time usage by adding the
ORA_PROF.START_TIMER and ORA_PROF.STOP_TIMER calls to
your procedure.
PL/SQL> PROCEDURE multi_time IS
+>
i PLS_INTEGER;
+> BEGIN
+>
ORA_PROF.CREATE_TIMER(loop);
+>
+>
First loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
+>
Second loop...
+>
+>
ORA_PROF.START_TIMER(loop);
+>
FOR i IN 1..10 LOOP
+>
TEXT_IO.PUT_LINE(Hello);
+>
END LOOP;
+>
ORA_PROF.STOP_TIMER(loop);
+>
ORA_PROF.DESTROY_TIMER(loop);
+> END;
8 67
output (write)
operations
input (read)
operations
TEXT_IO.FCLOSE
Syntax:
Parameters:
Description:
PROCEDURE TEXT_IO.FCLOSE
(file file_type);
file
See Also:
Example:
Suppose you have a procedure that closes the file specified by variable
out_file. You could include the following PL/SQL statement using
TEXT_IO.FCLOSE:
TEXT_IO.FCLOSE(out_file);
8 68
output (write)
operations
input (read)
operations
TEXT_IO.FCLOSE
Syntax:
Parameters:
Description:
PROCEDURE TEXT_IO.FCLOSE
(file file_type);
file
See Also:
Example:
Suppose you have a procedure that closes the file specified by variable
out_file. You could include the following PL/SQL statement using
TEXT_IO.FCLOSE:
TEXT_IO.FCLOSE(out_file);
8 68
TEXT_IO.FILE_TYPE
Syntax:
Description:
TYPE TEXT_IO.FILE_TYPE;
See Also:
Example:
TEXT_IO.FOPEN
Syntax:
Parameters:
FUNCTION TEXT_IO.FOPEN
VARCHAR2,
(spec
filemode VARCHAR2)
RETURN TEXT_IO.FILE_TYPE;
spec
filemode
W
Open the file for reading and writing after
deleting all existing lines in the file.
A
Open the file for reading and writing without
deleting existing lines (i.e., appending).
Returns:
Description:
See Also:
8 69
TEXT_IO.FILE_TYPE
Syntax:
Description:
TYPE TEXT_IO.FILE_TYPE;
See Also:
Example:
TEXT_IO.FOPEN
Syntax:
Parameters:
FUNCTION TEXT_IO.FOPEN
VARCHAR2,
(spec
filemode VARCHAR2)
RETURN TEXT_IO.FILE_TYPE;
spec
filemode
W
Open the file for reading and writing after
deleting all existing lines in the file.
A
Open the file for reading and writing without
deleting existing lines (i.e., appending).
Returns:
Description:
See Also:
8 69
Example:
Suppose you have a procedure that reads data from one file and then
writes data to another file. To do this, you must declare and assign the
variables in_file and out_file to two files, salary.txt and bonus.txt,
respectively. You could include the following PL/SQL statements
using TEXT_IO.FOPEN:
in_file
out_file
in_file
out_file
TEXT_IO.FILE_TYPE;
TEXT_IO.FILE_TYPE;
:= TEXT_IO.FOPEN(salary.txt, r);
:= TEXT_IO.FOPEN(bonus.txt, w);
TEXT_IO.IS_OPEN
Syntax:
Parameters:
Returns:
Description:
FUNCTION TEXT_IO.IS_OPEN
(file file_type)
RETURN BOOLEAN;
file
TRUE or FALSE.
This function checks to see if the specified file is currently open.
See Also:
Example:
Suppose you have a procedure that checks whether the file specified by
out_file is currently open, and if it is closes it. You could include the
following PL/SQL statement using TEXT_IO.IS_OPEN:
IF TEXT_IO.IS_OPEN(out_file) THEN
TEXT_IO.FCLOSE(out_file);
8 70
Example:
Suppose you have a procedure that reads data from one file and then
writes data to another file. To do this, you must declare and assign the
variables in_file and out_file to two files, salary.txt and bonus.txt,
respectively. You could include the following PL/SQL statements
using TEXT_IO.FOPEN:
in_file
out_file
in_file
out_file
TEXT_IO.FILE_TYPE;
TEXT_IO.FILE_TYPE;
:= TEXT_IO.FOPEN(salary.txt, r);
:= TEXT_IO.FOPEN(bonus.txt, w);
TEXT_IO.IS_OPEN
Syntax:
Parameters:
Returns:
Description:
FUNCTION TEXT_IO.IS_OPEN
(file file_type)
RETURN BOOLEAN;
file
TRUE or FALSE.
This function checks to see if the specified file is currently open.
See Also:
Example:
Suppose you have a procedure that checks whether the file specified by
out_file is currently open, and if it is closes it. You could include the
following PL/SQL statement using TEXT_IO.IS_OPEN:
IF TEXT_IO.IS_OPEN(out_file) THEN
TEXT_IO.FCLOSE(out_file);
8 70
TEXT_IO.GET_LINE
Syntax:
Parameters:
Description:
PROCEDURE TEXT_IO.GET_LINE
(file file_type,
item OUT VARCHAR2);
file
item
This procedure retrieves the next line of an open file and places it in
item. TEXT_IO.GET_LINE reads characters until a newline character
(i.e., carriage return) is read or an endoffile (EOF) condition is
encountered.
If the line to be read exceeds the size of item, the VALUE_ERROR
exception is raised. If there are no more characters remaining in the
file, the NO_DATA_FOUND exception is raised.
See Also:
Example:
Suppose you have a procedure that declares variables, opens a file, and
reads the first line of an open file into linebuf. You could include the
following PL/SQL statements using TEXT_IO.GET_LINE:
in_file TEXT_IO.FILE_TYPE;
linebuf VARCHAR2(80);
in_file := TEXT_IO.FOPEN(salary.txt, r);
TEXT_IO.GET_LINE(in_file, linebuf);
8 71
TEXT_IO.GET_LINE
Syntax:
Parameters:
Description:
PROCEDURE TEXT_IO.GET_LINE
(file file_type,
item OUT VARCHAR2);
file
item
This procedure retrieves the next line of an open file and places it in
item. TEXT_IO.GET_LINE reads characters until a newline character
(i.e., carriage return) is read or an endoffile (EOF) condition is
encountered.
If the line to be read exceeds the size of item, the VALUE_ERROR
exception is raised. If there are no more characters remaining in the
file, the NO_DATA_FOUND exception is raised.
See Also:
Example:
Suppose you have a procedure that declares variables, opens a file, and
reads the first line of an open file into linebuf. You could include the
following PL/SQL statements using TEXT_IO.GET_LINE:
in_file TEXT_IO.FILE_TYPE;
linebuf VARCHAR2(80);
in_file := TEXT_IO.FOPEN(salary.txt, r);
TEXT_IO.GET_LINE(in_file, linebuf);
8 71
TEXT_IO.NEW_LINE
Syntax:
PROCEDURE TEXT_IO.NEW_LINE
(file file_type,
n
PLS_INTEGER := 1);
PROCEDURE TEXT_IO.NEW_LINE
(n PLS_INTEGER := 1);
Parameters:
Description:
file
Is an integer.
See Also:
Example:
Suppose you have a procedure that writes the current date to the file
specified by out_file, with a newline character at the end and a blank
line appearing below it. You could include the following PL/SQL
statements using TEXT_IO.NEW_LINE:
TEXT_IO.PUT(out_file, SYSDATE);
TEXT_IO.NEW_LINE(out_file, 2);
8 72
TEXT_IO.NEW_LINE
Syntax:
PROCEDURE TEXT_IO.NEW_LINE
(file file_type,
n
PLS_INTEGER := 1);
PROCEDURE TEXT_IO.NEW_LINE
(n PLS_INTEGER := 1);
Parameters:
Description:
file
Is an integer.
See Also:
Example:
Suppose you have a procedure that writes the current date to the file
specified by out_file, with a newline character at the end and a blank
line appearing below it. You could include the following PL/SQL
statements using TEXT_IO.NEW_LINE:
TEXT_IO.PUT(out_file, SYSDATE);
TEXT_IO.NEW_LINE(out_file, 2);
8 72
TEXT_IO.PUT
Syntax:
PROCEDURE TEXT_IO.PUT
(file file_type,
item VARCHAR2);
PROCEDURE TEXT_IO.PUT
(item VARCHAR2);
PROCEDURE TEXT_IO.PUT
(item DATE);
PROCEDURE TEXT_IO.PUT
(file file_type,
item DATE);
PROCEDURE TEXT_IO.PUT
(file file_type,
item NUMBER);
PROCEDURE TEXT_IO.PUT
(item NUMBER);
PROCEDURE TEXT_IO.PUT
(file file_type,
item PLS_INTEGER);
PROCEDURE TEXT_IO.PUT
(item PLS_INTEGER);
Parameters:
Description:
file
item
See Also:
Example:
Suppose you have a procedure that writes the current date and a
newline character to the file specified by out_file, then outputs a
message to the Interpreter. You could include the following PL/SQL
statements using TEXT_IO.PUT:
TEXT_IO.PUT(out_file, SYSDATE);
TEXT_IO.NEW_LINE(out_file);
TEXT_IO.PUT(Processing ends...);
8 73
TEXT_IO.PUT
Syntax:
PROCEDURE TEXT_IO.PUT
(file file_type,
item VARCHAR2);
PROCEDURE TEXT_IO.PUT
(item VARCHAR2);
PROCEDURE TEXT_IO.PUT
(item DATE);
PROCEDURE TEXT_IO.PUT
(file file_type,
item DATE);
PROCEDURE TEXT_IO.PUT
(file file_type,
item NUMBER);
PROCEDURE TEXT_IO.PUT
(item NUMBER);
PROCEDURE TEXT_IO.PUT
(file file_type,
item PLS_INTEGER);
PROCEDURE TEXT_IO.PUT
(item PLS_INTEGER);
Parameters:
Description:
file
item
See Also:
Example:
Suppose you have a procedure that writes the current date and a
newline character to the file specified by out_file, then outputs a
message to the Interpreter. You could include the following PL/SQL
statements using TEXT_IO.PUT:
TEXT_IO.PUT(out_file, SYSDATE);
TEXT_IO.NEW_LINE(out_file);
TEXT_IO.PUT(Processing ends...);
8 73
TEXT_IO.PUTF
Syntax:
PROCEDURE TEXT_IO.PUTF
(arg
VARCHAR2);
PROCEDURE TEXT_IO.PUTF
(file
file_type,
arg
VARCHAR2);
PROCEDURE TEXT_IO.PUTF
file_type,
(file
format VARCHAR2,
[arg1 [,..., arg5] VARCHAR2]);
PROCEDURE TEXT_IO.PUTF
(format VARCHAR2,
[arg1 [,..., arg5] VARCHAR2]);
Parameters:
Description:
arg
format
file
See Also:
Example:
8 74
TEXT_IO.PUTF
Syntax:
PROCEDURE TEXT_IO.PUTF
(arg
VARCHAR2);
PROCEDURE TEXT_IO.PUTF
(file
file_type,
arg
VARCHAR2);
PROCEDURE TEXT_IO.PUTF
file_type,
(file
format VARCHAR2,
[arg1 [,..., arg5] VARCHAR2]);
PROCEDURE TEXT_IO.PUTF
(format VARCHAR2,
[arg1 [,..., arg5] VARCHAR2]);
Parameters:
Description:
arg
format
file
See Also:
Example:
8 74
TEXT_IO.PUT_LINE
Syntax:
Parameters:
Description:
PROCEDURE TEXT_IO.PUT_LINE
(file file_type,
item VARCHAR2);
file
item
See Also:
Example:
Suppose you have a procedure that writes the current date to the file
specified by out_file, then outputs a message to the Interpreter. You
could include the following PL/SQL statements using
TEXT_IO.PUT_LINE:
TEXT_IO.PUT_LINE(out_file,TO_CHAR(SYSDATE));
TEXT_IO.PUT_LINE(Starting test procedures...);
Using TEXT_IO
Constructs
8 75
TEXT_IO.PUT_LINE
Syntax:
Parameters:
Description:
PROCEDURE TEXT_IO.PUT_LINE
(file file_type,
item VARCHAR2);
file
item
See Also:
Example:
Suppose you have a procedure that writes the current date to the file
specified by out_file, then outputs a message to the Interpreter. You
could include the following PL/SQL statements using
TEXT_IO.PUT_LINE:
TEXT_IO.PUT_LINE(out_file,TO_CHAR(SYSDATE));
TEXT_IO.PUT_LINE(Starting test procedures...);
Using TEXT_IO
Constructs
8 75
TOOL_ENV.GETVAR
Syntax:
Parameters:
Description:
Example:
PROCEDURE TOOL_ENV.GETVAR
(varname VARCHAR2,
varvalue VARCHAR2);
varname
varvalue
8 76
TOOL_ENV.GETVAR
Syntax:
Parameters:
Description:
Example:
PROCEDURE TOOL_ENV.GETVAR
(varname VARCHAR2,
varvalue VARCHAR2);
varname
varvalue
8 76
TOOL_ERR.CLEAR
Syntax:
Description:
See Also:
PROCEDURE TOOL_ERR.CLEAR;
TOOL_ERR.CODE
Syntax:
Parameters:
Returns:
FUNCTION TOOL_ERR.CODE
(i PLS_INTEGER := TOPERROR)
RETURN NUMBER;
Description:
This function returns the error code for the ith error on the error stack
(the default is the top-most error). If there are no errors on the stack,
zero is returned.
See Also:
8 77
TOOL_ERR.CLEAR
Syntax:
Description:
See Also:
PROCEDURE TOOL_ERR.CLEAR;
TOOL_ERR.CODE
Syntax:
Parameters:
Returns:
FUNCTION TOOL_ERR.CODE
(i PLS_INTEGER := TOPERROR)
RETURN NUMBER;
Description:
This function returns the error code for the ith error on the error stack
(the default is the top-most error). If there are no errors on the stack,
zero is returned.
See Also:
8 77
TOOL_ERR.ENCODE
Syntax:
Parameters:
Returns:
Description:
See Also:
FUNCTION TOOL_ERR.ENCODE
(prefix VARCHAR2,
offset PLS_INTEGER)
RETURN NUMBER;
prefix
offset
An error code.
This function constructs an error code given a prefix and an offset.
TOOL_ERR.CLEAR, TOOL_ERR.CODE, TOOL_ERR.MESSAGE,
TOOL_ERR.NERRORS, TOOL_ERR.POP, TOOL_ERR.TOOL_ERROR,
TOOL_ERR.TOP_ERROR
TOOL_ERR.MESSAGE
Syntax:
Parameters:
Returns:
Description:
See Also:
8 78
FUNCTION TOOL_ERR.MESSAGE
(i PLS_INTEGER := TOPERROR)
RETURN VARCHAR2;
An error message.
This function returns the formatted message associated with the ith
error on the error stack (the default is the top-most error).
TOOL_ERR.CLEAR, TOOL_ERR.CODE, TOOL_ERR.ENCODE,
TOOL_ERR.NERRORS, TOOL_ERR.POP, TOOL_ERR.TOOL_ERROR,
TOOL_ERR.TOP_ERROR
TOOL_ERR.ENCODE
Syntax:
Parameters:
Returns:
Description:
See Also:
FUNCTION TOOL_ERR.ENCODE
(prefix VARCHAR2,
offset PLS_INTEGER)
RETURN NUMBER;
prefix
offset
An error code.
This function constructs an error code given a prefix and an offset.
TOOL_ERR.CLEAR, TOOL_ERR.CODE, TOOL_ERR.MESSAGE,
TOOL_ERR.NERRORS, TOOL_ERR.POP, TOOL_ERR.TOOL_ERROR,
TOOL_ERR.TOP_ERROR
TOOL_ERR.MESSAGE
Syntax:
Parameters:
Returns:
Description:
See Also:
8 78
FUNCTION TOOL_ERR.MESSAGE
(i PLS_INTEGER := TOPERROR)
RETURN VARCHAR2;
An error message.
This function returns the formatted message associated with the ith
error on the error stack (the default is the top-most error).
TOOL_ERR.CLEAR, TOOL_ERR.CODE, TOOL_ERR.ENCODE,
TOOL_ERR.NERRORS, TOOL_ERR.POP, TOOL_ERR.TOOL_ERROR,
TOOL_ERR.TOP_ERROR
TOOL_ERR.NERRORS
Syntax:
Returns:
FUNCTION TOOL_ERR.NERRORS
RETURN PLS_INTEGER;
Description:
This function returns the number of errors currently on the error stack.
See Also:
TOOL_ERR.POP
Syntax:
Description:
See Also:
PROCEDURE TOOL_ERR.POP;
TOOL_ERR.TOOL_ERROR
Syntax:
Description:
See Also:
TOOL_ERR.TOOL_ERROR EXCEPTION;
This exception defines a generic error you can raise to indicate that one
or more errors have been pushed onto the error stack.
TOOL_ERR.CLEAR, TOOL_ERR.CODE, TOOL_ERR.ENCODE,
TOOL_ERR.MESSAGE, TOOL_ERR.NERRORS, TOOL_ERR.POP,
TOOL_ERR.TOP_ERROR
8 79
TOOL_ERR.NERRORS
Syntax:
Returns:
FUNCTION TOOL_ERR.NERRORS
RETURN PLS_INTEGER;
Description:
This function returns the number of errors currently on the error stack.
See Also:
TOOL_ERR.POP
Syntax:
Description:
See Also:
PROCEDURE TOOL_ERR.POP;
TOOL_ERR.TOOL_ERROR
Syntax:
Description:
See Also:
TOOL_ERR.TOOL_ERROR EXCEPTION;
This exception defines a generic error you can raise to indicate that one
or more errors have been pushed onto the error stack.
TOOL_ERR.CLEAR, TOOL_ERR.CODE, TOOL_ERR.ENCODE,
TOOL_ERR.MESSAGE, TOOL_ERR.NERRORS, TOOL_ERR.POP,
TOOL_ERR.TOP_ERROR
8 79
TOOL_ERR.TOPERROR
Syntax:
Description:
See Also:
Using TOOL_ERR
Constructs
8 80
TOOL_ERR.TOPERROR
Syntax:
Description:
See Also:
Using TOOL_ERR
Constructs
8 80
Building Resource
Files
RESPR21
Use the following syntax when you create strings for the resource file:
Resource resource_name
Type
string
Content
table
{
string string 1 character_count
content of string
}
where:
resource_name
character_count
content of string
8 81
Building Resource
Files
RESPR21
Use the following syntax when you create strings for the resource file:
Resource resource_name
Type
string
Content
table
{
string string 1 character_count
content of string
}
where:
resource_name
character_count
content of string
8 81
Example
8 82
Example
8 82
TOOL_RES.BAD_FILE_HANDLE
Syntax:
Description:
See Also:
TOOL_RES.BAD_FILE_HANDLE EXCEPTION;
TOOL_RES.BUFFER_OVERFLOW
Syntax:
Description:
See Also:
TOOL_RES.BUFFER_OVERFLOW EXCEPTION;
This exception is raised when you tried to get a resource that was
longer than the supplied buffer.
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.FILE_NOT_FOUND,
TOOL_RES.NO_RESOURCE, TOOL_RES.RFCLOSE,
TOOL_RES.RFHANDLE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
8 83
TOOL_RES.BAD_FILE_HANDLE
Syntax:
Description:
See Also:
TOOL_RES.BAD_FILE_HANDLE EXCEPTION;
TOOL_RES.BUFFER_OVERFLOW
Syntax:
Description:
See Also:
TOOL_RES.BUFFER_OVERFLOW EXCEPTION;
This exception is raised when you tried to get a resource that was
longer than the supplied buffer.
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.FILE_NOT_FOUND,
TOOL_RES.NO_RESOURCE, TOOL_RES.RFCLOSE,
TOOL_RES.RFHANDLE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
8 83
TOOL_RES.FILE_NOT_FOUND
Syntax:
Description:
See Also:
TOOL_RES.FILE_NOT_FOUND EXCEPTION;
This exception is raised when the specified file cannot be opened, most
likely because of one of the following reasons:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.NO_RESOURCE, TOOL_RES.RFCLOSE,
TOOL_RES.RFHANDLE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
TOOL_RES.NO_RESOURCE
Syntax:
8 84
TOOL_RES.NO_RESOURCE EXCEPTION;
Description:
This exception is raised when the named resource could not be found.
If a file was specified, the resource does not exist in that file. If no file
was specified, the resource does not exist in any of the resource files
that are currently open.
See Also:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.RFCLOSE,
TOOL_RES.RFHANDLE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
TOOL_RES.FILE_NOT_FOUND
Syntax:
Description:
See Also:
TOOL_RES.FILE_NOT_FOUND EXCEPTION;
This exception is raised when the specified file cannot be opened, most
likely because of one of the following reasons:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.NO_RESOURCE, TOOL_RES.RFCLOSE,
TOOL_RES.RFHANDLE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
TOOL_RES.NO_RESOURCE
Syntax:
8 84
TOOL_RES.NO_RESOURCE EXCEPTION;
Description:
This exception is raised when the named resource could not be found.
If a file was specified, the resource does not exist in that file. If no file
was specified, the resource does not exist in any of the resource files
that are currently open.
See Also:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.RFCLOSE,
TOOL_RES.RFHANDLE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
TOOL_RES.RFCLOSE
Syntax:
Parameters:
Description:
PROCEDURE TOOL_RES.RFCLOSE
(file rfhandle);
file
Is a file to close.
This procedure closes the specified resource file. All files opened with
TOOL_RES.RFOPEN should be closed using TOOL_RES.RFCLOSE
before quitting the application.
The following exceptions may be raised by RFCLOSE:
BAD_FILE_HANDLE
TOOL_ERR.TOOL_ERROR
See Also:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.NO_RESOURCE,
TOOL_RES.RFHANDLE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
Example:
8 85
TOOL_RES.RFCLOSE
Syntax:
Parameters:
Description:
PROCEDURE TOOL_RES.RFCLOSE
(file rfhandle);
file
Is a file to close.
This procedure closes the specified resource file. All files opened with
TOOL_RES.RFOPEN should be closed using TOOL_RES.RFCLOSE
before quitting the application.
The following exceptions may be raised by RFCLOSE:
BAD_FILE_HANDLE
TOOL_ERR.TOOL_ERROR
See Also:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.NO_RESOURCE,
TOOL_RES.RFHANDLE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
Example:
8 85
TOOL_RES.RFHANDLE
Syntax:
Description:
TYPE TOOL_RES.RFHANDLE;
See Also:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.NO_RESOURCE,
TOOL_RES.RFCLOSE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
Example:
8 86
TOOL_RES.RFHANDLE
Syntax:
Description:
TYPE TOOL_RES.RFHANDLE;
See Also:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.NO_RESOURCE,
TOOL_RES.RFCLOSE, TOOL_RES.RFOPEN, TOOL_RES.RFREAD
Example:
8 86
TOOL_RES.RFOPEN
Syntax:
Parameters:
Returns:
Description:
FUNCTION TOOL_RES.RFOPEN
(spec VARCHAR2)
RETURN rfhandle;
spec
TOOL_ERR.TOOL_ERROR
See Also:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.NO_RESOURCE,
TOOL_RES.RFCLOSE, TOOL_RES.RFHANDLE, TOOL_RES.RFREAD
Example:
8 87
TOOL_RES.RFOPEN
Syntax:
Parameters:
Returns:
Description:
FUNCTION TOOL_RES.RFOPEN
(spec VARCHAR2)
RETURN rfhandle;
spec
TOOL_ERR.TOOL_ERROR
See Also:
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.NO_RESOURCE,
TOOL_RES.RFCLOSE, TOOL_RES.RFHANDLE, TOOL_RES.RFREAD
Example:
8 87
TOOL_RES.RFREAD
Syntax:
FUNCTION TOOL_RES.RFREAD
(rfile
rfhandle,
resid
VARCHAR2,
restype VARCHAR2 := string)
RETURN VARCHAR2;
FUNCTION TOOL_RES.RFREAD
(resid
VARCHAR2,
restype VARCHAR2 := string)
RETURN VARCHAR2;
Parameters:
Returns:
Description:
rfile
Is a file to read.
resid
Is a resource ID.
restype
See Also:
8 88
NO_RESOURCE
BUFFER_OVERFLOW
TOOL_ERR.TOOL_ERROR
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.NO_RESOURCE,
TOOL_RES.RFCLOSE, TOOL_RES.RFHANDLE
TOOL_RES.RFREAD
Syntax:
FUNCTION TOOL_RES.RFREAD
(rfile
rfhandle,
resid
VARCHAR2,
restype VARCHAR2 := string)
RETURN VARCHAR2;
FUNCTION TOOL_RES.RFREAD
(resid
VARCHAR2,
restype VARCHAR2 := string)
RETURN VARCHAR2;
Parameters:
Returns:
Description:
rfile
Is a file to read.
resid
Is a resource ID.
restype
See Also:
8 88
NO_RESOURCE
BUFFER_OVERFLOW
TOOL_ERR.TOOL_ERROR
TOOL_RES.BAD_FILE_HANDLE, TOOL_RES.BUFFER_OVERFLOW,
TOOL_RES.FILE_NOT_FOUND, TOOL_RES.NO_RESOURCE,
TOOL_RES.RFCLOSE, TOOL_RES.RFHANDLE
Example:
8 89
Example:
8 89
8 90
8 90
CHAPTER
Error Messages
T
his chapter first explains how to use error messages and then lists
the errors in numeric sequence.
The following topics are covered in this chapter:
abnormal conditions 9 3
Error Messages
91
CHAPTER
Error Messages
T
his chapter first explains how to use error messages and then lists
the errors in numeric sequence.
The following topics are covered in this chapter:
abnormal conditions 9 3
Error Messages
91
Finding Information
about Errors
Errors that may occur when using Oracle Corporation programs are
documented in a number of manuals:
Procedure Builder These errors are specific to Oracle Procedure
Builder and are documented in this chapter.
errors
Looking Up
Error Messages
Oracle Server
errors
Product-specific
errors
System-specific
errors
The prefix of the error message tells you where to find information
about the error. For example, Oracle Procedure Builder error messages
have the prefix PDE. RDBMS errors have the prefix ORA. If you are
using Oracle Procedure Builder and see an error message without a
prefix, first check this manual, then refer to your Oracle7 Server
Messages and Codes Manual.
After the prefix is the error message code number. To look up an error
message, you first look at the error message prefix to determine which
product/component generated the error. Then you look at the error
message code number to find that specific error message description.
Error messages are listed in order by the error code number.
92
Finding Information
about Errors
Errors that may occur when using Oracle Corporation programs are
documented in a number of manuals:
Procedure Builder These errors are specific to Oracle Procedure
Builder and are documented in this chapter.
errors
Looking Up
Error Messages
Oracle Server
errors
Product-specific
errors
System-specific
errors
The prefix of the error message tells you where to find information
about the error. For example, Oracle Procedure Builder error messages
have the prefix PDE. RDBMS errors have the prefix ORA. If you are
using Oracle Procedure Builder and see an error message without a
prefix, first check this manual, then refer to your Oracle7 Server
Messages and Codes Manual.
After the prefix is the error message code number. To look up an error
message, you first look at the error message prefix to determine which
product/component generated the error. Then you look at the error
message code number to find that specific error message description.
Error messages are listed in order by the error code number.
92
The following table lists the prefixes of errors that you may encounter:
Prefix
Type of Error
OG
ORA
PDE
PLS
PL/SQL message
VGS
Abnormal Conditions
Abnormal conditions are errors for which the exact cause is not clear.
The following sections describe the probable causes of abnormal
conditions and the actions you can take to solve them.
Cause: Abnormal conditions may arise from one of the following
causes:
Error Messages
93
The following table lists the prefixes of errors that you may encounter:
Prefix
Type of Error
OG
ORA
PDE
PLS
PL/SQL message
VGS
Abnormal Conditions
Abnormal conditions are errors for which the exact cause is not clear.
The following sections describe the probable causes of abnormal
conditions and the actions you can take to solve them.
Cause: Abnormal conditions may arise from one of the following
causes:
Error Messages
93
1.
2.
Write down the circumstances that led up to the error. Try to recall
the objects (program units, libraries, debug actions, etc.) involved,
and the exact sequence of actions you performed prior to the error.
3.
Contact Oracle Customer Support. (See the section below for more
information.)
94
1.
2.
3.
4.
5.
6.
7.
name
companys name
1.
2.
Write down the circumstances that led up to the error. Try to recall
the objects (program units, libraries, debug actions, etc.) involved,
and the exact sequence of actions you performed prior to the error.
3.
Contact Oracle Customer Support. (See the section below for more
information.)
94
1.
2.
3.
4.
5.
6.
7.
name
companys name
phone number
Recognizing Embedded
Variables
Each description contains the message number and text as well as the
following:
Cause:
Action:
To help you find and fix errors, Oracle Procedure Builder embeds
object names, numbers, and character strings in some error messages.
In this chapter, these embedded variables are represented by terms
placed in angle brackets (<>).
For example, the error message:
PDECCM002: LIB1 is not an open library.
Oracle Procedure
Builder Error
Messages
PDEACX003
Cause
Action
Remove the call to DEBUG.SUSPEND from the body of the debug trigger.
Error Messages
95
phone number
Recognizing Embedded
Variables
Each description contains the message number and text as well as the
following:
Cause:
Action:
To help you find and fix errors, Oracle Procedure Builder embeds
object names, numbers, and character strings in some error messages.
In this chapter, these embedded variables are represented by terms
placed in angle brackets (<>).
For example, the error message:
PDECCM002: LIB1 is not an open library.
Oracle Procedure
Builder Error
Messages
PDEACX003
Cause
Action
Remove the call to DEBUG.SUSPEND from the body of the debug trigger.
Error Messages
95
PDEAST001
Cause
You attempted to advance PL/SQL execution with the STEP command, but
there was no PL/SQL program unit whose execution was suspended at the
time.
Action
If you wish to use the STEP command, you must execute a PL/SQL program
unit and interrupt its execution using a debug action. For more information,
see Working with Debug Actions on page 5 6.
PDECAT001
Cause
You entered the ATTACH command to attach a library, but did not specify a
library name.
Action
Check the syntax of the ATTACH command. For more information, see
ATTACH on page 7 5. Re-enter the command, specifying the name of the
library you wish to attach.
PDECAT002
Cause
You entered the ATTACH command to attach a library residing in the file
system, but the specified file name could not be found.
Action
Check the spelling of the specified file name and re-enter the command.
PDECAT004
Cause
You entered the ATTACH command with too many location options (BEFORE,
AFTER, START, END).
Action
PDECAT005
Cause
You entered the ATTACH command to attach a library residing in the database,
but the specified name could not be found or there is no current database
connection.
Action
Check the spelling of the specified library name, verify the database connection,
and reenter the command.
PDECAT006
96
Cause
Action
Check the spelling of the specified library name, and reenter the command.
PDEAST001
Cause
You attempted to advance PL/SQL execution with the STEP command, but
there was no PL/SQL program unit whose execution was suspended at the
time.
Action
If you wish to use the STEP command, you must execute a PL/SQL program
unit and interrupt its execution using a debug action. For more information,
see Working with Debug Actions on page 5 6.
PDECAT001
Cause
You entered the ATTACH command to attach a library, but did not specify a
library name.
Action
Check the syntax of the ATTACH command. For more information, see
ATTACH on page 7 5. Re-enter the command, specifying the name of the
library you wish to attach.
PDECAT002
Cause
You entered the ATTACH command to attach a library residing in the file
system, but the specified file name could not be found.
Action
Check the spelling of the specified file name and re-enter the command.
PDECAT004
Cause
You entered the ATTACH command with too many location options (BEFORE,
AFTER, START, END).
Action
PDECAT005
Cause
You entered the ATTACH command to attach a library residing in the database,
but the specified name could not be found or there is no current database
connection.
Action
Check the spelling of the specified library name, verify the database connection,
and reenter the command.
PDECAT006
96
Cause
Action
Check the spelling of the specified library name, and reenter the command.
PDECCL001
Cause
You entered the CLOSE command to close a library, but did not specify a
library name.
Action
Check the syntax of the CLOSE command. For more information, see
CLOSE on page 7 8. Re-enter the command, specifying the name of the
library you wish to close.
PDECCL002
Cause
You entered the CLOSE command to close a library, but did not specify a
library that is currently open.
Action
PDECCM001
Cause
You entered the COMPILE command to compile one or more program units, or
compile all of the program units in one or more libraries. However, you did
not provide any keywords and/or values in the command string.
Action
PDECCM002
Cause
You entered the COMPILE command to compile a library that is not currently
open. You cannot compile libraries that are not open.
Action
If you wish to compile a library that is not open, open the library using OPEN,
then re-enter the COMPILE command to compile the open library. For more
information, see OPEN on page 7 53. Otherwise, re-enter COMPILE,
specifying a library that is already open. For more information, see COMPILE
(Libraries) on page 7 9.
PDECCR001
Cause
You entered the CREATE command to create a new library, but you did not
provide any keywords and/or values in the command string.
Action
Error Messages
97
PDECCL001
Cause
You entered the CLOSE command to close a library, but did not specify a
library name.
Action
Check the syntax of the CLOSE command. For more information, see
CLOSE on page 7 8. Re-enter the command, specifying the name of the
library you wish to close.
PDECCL002
Cause
You entered the CLOSE command to close a library, but did not specify a
library that is currently open.
Action
PDECCM001
Cause
You entered the COMPILE command to compile one or more program units, or
compile all of the program units in one or more libraries. However, you did
not provide any keywords and/or values in the command string.
Action
PDECCM002
Cause
You entered the COMPILE command to compile a library that is not currently
open. You cannot compile libraries that are not open.
Action
If you wish to compile a library that is not open, open the library using OPEN,
then re-enter the COMPILE command to compile the open library. For more
information, see OPEN on page 7 53. Otherwise, re-enter COMPILE,
specifying a library that is already open. For more information, see COMPILE
(Libraries) on page 7 9.
PDECCR001
Cause
You entered the CREATE command to create a new library, but you did not
provide any keywords and/or values in the command string.
Action
Error Messages
97
PDECCR003
Cause
You entered the CREATE command to create a new library, but a library by that
name is currently open or attached.
Action
Close or detach to library or check the spelling of the library name and re-enter
the CREATE command.
PDECCR006
Cause
You entered the CREATE LIBRARY command with the SOURCE keyword to
create a library using the specified file, but did not supply a file name.
Action
Check the syntax of the CREATE LIBRARY command. For more information,
see CREATE (Libraries) on page 7 13. Re-enter the command, specifying a
file name.
PDECDE001
Cause
Action
If you wish to display information about a library that is not attached, attach
the library using ATTACH, then re-enter the previous DESCRIBE command to
view the information. Otherwise, re-enter DESCRIBE, specifying a library that
is already attached.
PDECDE002
Cause
Action
PDECDE003
Cause
Action
98
PDECCR003
Cause
You entered the CREATE command to create a new library, but a library by that
name is currently open or attached.
Action
Close or detach to library or check the spelling of the library name and re-enter
the CREATE command.
PDECCR006
Cause
You entered the CREATE LIBRARY command with the SOURCE keyword to
create a library using the specified file, but did not supply a file name.
Action
Check the syntax of the CREATE LIBRARY command. For more information,
see CREATE (Libraries) on page 7 13. Re-enter the command, specifying a
file name.
PDECDE001
Cause
Action
If you wish to display information about a library that is not attached, attach
the library using ATTACH, then re-enter the previous DESCRIBE command to
view the information. Otherwise, re-enter DESCRIBE, specifying a library that
is already attached.
PDECDE002
Cause
Action
PDECDE003
Cause
Action
98
PDECDE004
DESCRIBE (Libraries) 7 22
DESCRIBE (Locals) 7 24
Cause
Action
PDECDE005
Cause
Action
PDECDE006
Cause
You entered the DESCRIBE command to display information about a table, but
the table you specified does not exist in the database.
Action
PDECDE007
Cause
You entered the DESCRIBE command to display information about a view, but
the view you specified does not exist in the database.
Action
Error Messages
99
PDECDE004
DESCRIBE (Libraries) 7 22
DESCRIBE (Locals) 7 24
Cause
Action
PDECDE005
Cause
Action
PDECDE006
Cause
You entered the DESCRIBE command to display information about a table, but
the table you specified does not exist in the database.
Action
PDECDE007
Cause
You entered the DESCRIBE command to display information about a view, but
the view you specified does not exist in the database.
Action
Error Messages
99
PDECDL001
Cause
Action
Re-enter DELETE, specifying a valid debug action ID. For more information,
see DELETE (Debug Actions) on page 7 16.
PDECDL005
Cause
You attempted to delete one or more program units from a library that is not
currently open. You cannot delete program units from libraries that are not
open.
Action
If you wish to delete one or more program units from a library that is not open,
open the library using OPEN, then re-enter the previous DELETE command to
delete the program unit(s) from the library. Otherwise, re-enter DELETE,
specifying a library that is already open. For more information, see the
following sections:
PDECDL006
OPEN 7 53
Cause
You entered the DELETE command to delete a program unit, but the program
unit you specified is a built-in. Built-ins cannot be deleted from Oracle
Procedure Builder.
Action
You can only delete program units that are created within or loaded into Oracle
Procedure Builder.
PDECDL010
9 10
Cause
You entered the DELETE command to delete one or more libraries, but did not
specify a library name.
Action
Check the syntax of the DELETE command. For more information, see
DELETE (Libraries) on page 7 17. Re-enter the command, specifying the
name(s) of the library or libraries you wish to delete.
PDECDL001
Cause
Action
Re-enter DELETE, specifying a valid debug action ID. For more information,
see DELETE (Debug Actions) on page 7 16.
PDECDL005
Cause
You attempted to delete one or more program units from a library that is not
currently open. You cannot delete program units from libraries that are not
open.
Action
If you wish to delete one or more program units from a library that is not open,
open the library using OPEN, then re-enter the previous DELETE command to
delete the program unit(s) from the library. Otherwise, re-enter DELETE,
specifying a library that is already open. For more information, see the
following sections:
PDECDL006
OPEN 7 53
Cause
You entered the DELETE command to delete a program unit, but the program
unit you specified is a built-in. Built-ins cannot be deleted from Oracle
Procedure Builder.
Action
You can only delete program units that are created within or loaded into Oracle
Procedure Builder.
PDECDL010
9 10
Cause
You entered the DELETE command to delete one or more libraries, but did not
specify a library name.
Action
Check the syntax of the DELETE command. For more information, see
DELETE (Libraries) on page 7 17. Re-enter the command, specifying the
name(s) of the library or libraries you wish to delete.
PDECDL011
Cause
You entered the DELETE command to delete one or more program units, but
did not specify a program unit name.
Action
Check the syntax of the DELETE command. For more information, see
DELETE (Program Units) on page 7 20. Re-enter the command, specifying
the name(s) of the program unit(s) you wish to delete.
PDECDL012
Cause
You entered the DELETE command to delete one or more program units from
an open library, but did not specify a library name.
Action
Check the syntax of the DELETE command. For more information, see
DELETE (Library Program Units) on page 7 18. Re-enter the command,
specifying the name of the library from which you wish to delete one or more
program units.
PDECDL013
Cause
You entered the DELETE command to delete one or more bind variables, but
did not specify a bind variable name.
Action
Check the syntax of the DELETE command. For more information, see
DELETE (Bind Variables) on page 7 15. Re-enter the command, specifying
the name(s) of the bind variable(s) you wish to delete.
PDECDS001
Cause
Action
Re-enter DISABLE, specifying a valid debug action ID. For more information,
see DISABLE (Debug Actions) on page 7 29.
PDECDS002
Cause
You entered the DISABLE command to temporarily remove one or more debug
actions, or suspend logging to the current log file. However, you did not
provide any keywords and/or values in the command string.
Action
DISABLE (Logging) 7 31
Error Messages
9 11
PDECDL011
Cause
You entered the DELETE command to delete one or more program units, but
did not specify a program unit name.
Action
Check the syntax of the DELETE command. For more information, see
DELETE (Program Units) on page 7 20. Re-enter the command, specifying
the name(s) of the program unit(s) you wish to delete.
PDECDL012
Cause
You entered the DELETE command to delete one or more program units from
an open library, but did not specify a library name.
Action
Check the syntax of the DELETE command. For more information, see
DELETE (Library Program Units) on page 7 18. Re-enter the command,
specifying the name of the library from which you wish to delete one or more
program units.
PDECDL013
Cause
You entered the DELETE command to delete one or more bind variables, but
did not specify a bind variable name.
Action
Check the syntax of the DELETE command. For more information, see
DELETE (Bind Variables) on page 7 15. Re-enter the command, specifying
the name(s) of the bind variable(s) you wish to delete.
PDECDS001
Cause
Action
Re-enter DISABLE, specifying a valid debug action ID. For more information,
see DISABLE (Debug Actions) on page 7 29.
PDECDS002
Cause
You entered the DISABLE command to temporarily remove one or more debug
actions, or suspend logging to the current log file. However, you did not
provide any keywords and/or values in the command string.
Action
DISABLE (Logging) 7 31
Error Messages
9 11
PDECDT001
Cause
You entered the DETACH command to detach a library, but did not specify a
library name.
Action
Check the syntax of the DETACH command. For more information, see
DETACH on page 7 28. Re-enter the command, specifying the name of the
library you wish to detach.
PDECDT002
Cause
You entered the DETACH command to detach a library, but the library you
specified is not currently attached. You cannot detach libraries that are not
attached.
Action
Check the spelling of the library name you specified and re-enter the DETACH
command.
PDECEN001
Cause
Action
Re-enter ENABLE, specifying a valid debug action ID. For more information,
see ENABLE (Debug Actions) on page 7 33.
PDECEN002
Cause
You entered the ENABLE command to reactivate one or more disabled debug
actions, or resume logging to the current log file. However, you did not
provide any keywords and/or values in the command string.
Action
PDECET003
9 12
ENABLE (Logging) 7 35
Cause
You attempted to change the current scope location with the SET SCOPE
command, but the scope location could not be set because there was no
PL/SQL program unit whose execution was suspended at the time.
Action
If you wish to use the SET SCOPE command, you must execute a PL/SQL
program unit and interrupt its execution using a debug action. For more
information, see Working with Debug Actions on page 5 6.
PDECDT001
Cause
You entered the DETACH command to detach a library, but did not specify a
library name.
Action
Check the syntax of the DETACH command. For more information, see
DETACH on page 7 28. Re-enter the command, specifying the name of the
library you wish to detach.
PDECDT002
Cause
You entered the DETACH command to detach a library, but the library you
specified is not currently attached. You cannot detach libraries that are not
attached.
Action
Check the spelling of the library name you specified and re-enter the DETACH
command.
PDECEN001
Cause
Action
Re-enter ENABLE, specifying a valid debug action ID. For more information,
see ENABLE (Debug Actions) on page 7 33.
PDECEN002
Cause
You entered the ENABLE command to reactivate one or more disabled debug
actions, or resume logging to the current log file. However, you did not
provide any keywords and/or values in the command string.
Action
PDECET003
9 12
ENABLE (Logging) 7 35
Cause
You attempted to change the current scope location with the SET SCOPE
command, but the scope location could not be set because there was no
PL/SQL program unit whose execution was suspended at the time.
Action
If you wish to use the SET SCOPE command, you must execute a PL/SQL
program unit and interrupt its execution using a debug action. For more
information, see Working with Debug Actions on page 5 6.
PDECET004
Cause
You attempted to change the current scope location with the SET SCOPE
command, but the scope location could not be set because you did not specify a
PL/SQL program unit.
Action
Re-enter the SET SCOPE command, specifying a program unit. For more
information, see SET (Scope) on page 7 60.
PDECEX001
Cause
You entered the EXPORT command to write the source of one or more program
units to a file, but did not specify a file name.
Action
Check the syntax of the EXPORT command. For more information, see
EXPORT on page 7 37. Re-enter the command, specifying the name of the
file in which to write the program unit source.
PDECEX002
Cause
You entered the EXPORT command to write the source of one or more program
units to a file, but did not specify any program unit names.
Action
Check the syntax of the EXPORT command. For more information, see
EXPORT on page 7 37. Re-enter the command, specifying the program
unit(s) whose source you wish to export.
PDECEX003
Cause
You entered the EXPORT command to write the source of one or more program
units to a file, but do not have the necessary privileges to write to the specified
file.
Action
Change your privileges so you can write to the file, or specify another file to
which you can write.
PDECEX004
Cause
You entered the EXPORT command to export the contents of a library that is
not currently attached. You cannot export libraries that are not attached.
Action
If you wish to export a library that is not attached, attach the library using the
ATTACH command, the re-enter the previous EXPORT command. For more
information, see ATTACH on page 7 5. Otherwise, re-enter EXPORT,
specifying a library that is already attached.
Error Messages
9 13
PDECET004
Cause
You attempted to change the current scope location with the SET SCOPE
command, but the scope location could not be set because you did not specify a
PL/SQL program unit.
Action
Re-enter the SET SCOPE command, specifying a program unit. For more
information, see SET (Scope) on page 7 60.
PDECEX001
Cause
You entered the EXPORT command to write the source of one or more program
units to a file, but did not specify a file name.
Action
Check the syntax of the EXPORT command. For more information, see
EXPORT on page 7 37. Re-enter the command, specifying the name of the
file in which to write the program unit source.
PDECEX002
Cause
You entered the EXPORT command to write the source of one or more program
units to a file, but did not specify any program unit names.
Action
Check the syntax of the EXPORT command. For more information, see
EXPORT on page 7 37. Re-enter the command, specifying the program
unit(s) whose source you wish to export.
PDECEX003
Cause
You entered the EXPORT command to write the source of one or more program
units to a file, but do not have the necessary privileges to write to the specified
file.
Action
Change your privileges so you can write to the file, or specify another file to
which you can write.
PDECEX004
Cause
You entered the EXPORT command to export the contents of a library that is
not currently attached. You cannot export libraries that are not attached.
Action
If you wish to export a library that is not attached, attach the library using the
ATTACH command, the re-enter the previous EXPORT command. For more
information, see ATTACH on page 7 5. Otherwise, re-enter EXPORT,
specifying a library that is already attached.
Error Messages
9 13
PDECEX005
Cause
You entered the EXPORT command to export the contents of a library, but did
not specify a library name.
Action
Check the syntax of the EXPORT command. For more information, see
EXPORT on page 7 37. Re-enter the command, specifying the name of the
library whose source you wish to export.
PDECGR001
Cause
You entered the GRANT command to grant a user access to a library stored in
the database, but did not specify a library name.
Action
Check the syntax of the GRANT command. For more information, see
GRANT on page 7 40. Re-enter the command, specifying the library to
which you wish to grant access.
PDECGR002
Cause
You entered the GRANT command to grant a user access to a library stored in
the database, but did not specify a username.
Action
Check the syntax of the GRANT command. For more information, see
GRANT on page 7 40. Re-enter the command, specifying the username to
which you wish to grant access.
PDECHE001
Cause
Action
PDECIN001
9 14
Cause
Action
PDECEX005
Cause
You entered the EXPORT command to export the contents of a library, but did
not specify a library name.
Action
Check the syntax of the EXPORT command. For more information, see
EXPORT on page 7 37. Re-enter the command, specifying the name of the
library whose source you wish to export.
PDECGR001
Cause
You entered the GRANT command to grant a user access to a library stored in
the database, but did not specify a library name.
Action
Check the syntax of the GRANT command. For more information, see
GRANT on page 7 40. Re-enter the command, specifying the library to
which you wish to grant access.
PDECGR002
Cause
You entered the GRANT command to grant a user access to a library stored in
the database, but did not specify a username.
Action
Check the syntax of the GRANT command. For more information, see
GRANT on page 7 40. Re-enter the command, specifying the username to
which you wish to grant access.
PDECHE001
Cause
Action
PDECIN001
9 14
Cause
Action
PDECIN002
Cause
You entered the INTERPRET command to interpret the contents of a file, but
the last PL/SQL block in the file was incomplete.
Action
Check the contents of the file. Fix any errors and re-try the operation.
PDECIS001
Cause
You entered the INSERT command, but did not provide enough arguments in
the command string.
Action
Check the syntax of the INSERT command. For more information, see the
following sections:
PDECIS002
One or more program units must be specified to insert into the library.
Cause
You entered the INSERT command to insert one or more program units into an
open library, but did not list any program units in the command string.
Action
Check the syntax of the INSERT command. For more information, see
INSERT (Library Program Units) on page 7 42. Re-enter the command,
specifying the program unit(s) you wish to add to the library.
PDECIS003
Cause
You entered the INSERT command to insert one or more program units into a
library that is not currently open. You cannot add program units to libraries
that are not open.
Action
If you wish to add one or program units to a library that is not open, open the
library using OPEN, then re-enter the previous INSERT command to add the
program unit(s) to the library. Otherwise, re-enter INSERT, specifying a library
that is already open. For more information, see OPEN on page 7 53.
PDECIS004
One or more directories must be specified to insert into the load path.
Cause
You entered the INSERT command to modify the load path, but did not specify
any keywords or directory path(s) to insert.
Action
Check the syntax of the INSERT command. For more information, see
INSERT (Load Path) on page 7 44. Re-enter the command, specifying the
keywords and/or directory path(s) you wish to insert into the load path.
Error Messages
9 15
PDECIN002
Cause
You entered the INTERPRET command to interpret the contents of a file, but
the last PL/SQL block in the file was incomplete.
Action
Check the contents of the file. Fix any errors and re-try the operation.
PDECIS001
Cause
You entered the INSERT command, but did not provide enough arguments in
the command string.
Action
Check the syntax of the INSERT command. For more information, see the
following sections:
PDECIS002
One or more program units must be specified to insert into the library.
Cause
You entered the INSERT command to insert one or more program units into an
open library, but did not list any program units in the command string.
Action
Check the syntax of the INSERT command. For more information, see
INSERT (Library Program Units) on page 7 42. Re-enter the command,
specifying the program unit(s) you wish to add to the library.
PDECIS003
Cause
You entered the INSERT command to insert one or more program units into a
library that is not currently open. You cannot add program units to libraries
that are not open.
Action
If you wish to add one or program units to a library that is not open, open the
library using OPEN, then re-enter the previous INSERT command to add the
program unit(s) to the library. Otherwise, re-enter INSERT, specifying a library
that is already open. For more information, see OPEN on page 7 53.
PDECIS004
One or more directories must be specified to insert into the load path.
Cause
You entered the INSERT command to modify the load path, but did not specify
any keywords or directory path(s) to insert.
Action
Check the syntax of the INSERT command. For more information, see
INSERT (Load Path) on page 7 44. Re-enter the command, specifying the
keywords and/or directory path(s) you wish to insert into the load path.
Error Messages
9 15
PDECLG001
Cause
You entered the LOG command to begin or end saving Interpreter input and
output in a log file, but you did not provide any keywords and/or values in the
command string.
Action
Re-enter the LOG command, specifying the appropriate keywords and values.
For more information, see LOG on page 7 52.
PDECLG002
Cause
You entered the LOG command to begin saving a transcript of Interpreter input
and output in a log file, but do not have the necessary privileges to write to the
specified file.
Action
Change your privileges so you can write to the file, or specify another file to
which you can write.
PDECLG003
Cause
You entered the LOG command with the FILE keyword, but did not specify a
file name.
Action
Re-enter the LOG command, specifying a file name. For more information, see
LOG on page 7 52.
PDECLO001
Cause
You entered the LOAD command to load one or more program units stored in
a library that is not currently attached. You cannot load program units stored
in a library that is not attached.
Action
If you wish to load program units stored in a library, attach the library using
ATTACH, then enter the LOAD command to load the program units. For more
information, see the following sections:
PDECLO002
ATTACH 7 5
Cause
You entered the LOAD command without providing any keywords and/or
values in the command string.
Action
9 16
PDECLG001
Cause
You entered the LOG command to begin or end saving Interpreter input and
output in a log file, but you did not provide any keywords and/or values in the
command string.
Action
Re-enter the LOG command, specifying the appropriate keywords and values.
For more information, see LOG on page 7 52.
PDECLG002
Cause
You entered the LOG command to begin saving a transcript of Interpreter input
and output in a log file, but do not have the necessary privileges to write to the
specified file.
Action
Change your privileges so you can write to the file, or specify another file to
which you can write.
PDECLG003
Cause
You entered the LOG command with the FILE keyword, but did not specify a
file name.
Action
Re-enter the LOG command, specifying a file name. For more information, see
LOG on page 7 52.
PDECLO001
Cause
You entered the LOAD command to load one or more program units stored in
a library that is not currently attached. You cannot load program units stored
in a library that is not attached.
Action
If you wish to load program units stored in a library, attach the library using
ATTACH, then enter the LOAD command to load the program units. For more
information, see the following sections:
PDECLO002
ATTACH 7 5
Cause
You entered the LOAD command without providing any keywords and/or
values in the command string.
Action
9 16
PDECLO003
Cause
You entered the LOAD command, but did not specify any program units to
load.
Action
Re-enter the LOAD command, specifying the name(s) of the program unit(s)
you wish to load. For more information, see the following sections:
PDECLO004
The specified stored program unit does not exist in the database.
Cause
You entered the LOAD command to load one or more program units stored in
the database, but the stored program unit you specified does not exist.
Action
Re-enter the LOAD command, specifying the name(s) of the stored program
unit(s). For more information, see LOAD (Stored Program Units) on page
7 51.
PDECLO005
Cause
You entered the LOAD command with the STORED keyword to load one or
more program units stored in the database, but you are not currently connected
to a database.
Action
PDECLO008
Cause
You entered the LOAD command with the FILE keyword, but you did not
specify a file from which to load.
Action
Re-enter the LOAD command, specifying the name of the file from which to
load the program unit(s). For more information, see LOAD (Program Units)
on page 7 50.
Error Messages
9 17
PDECLO003
Cause
You entered the LOAD command, but did not specify any program units to
load.
Action
Re-enter the LOAD command, specifying the name(s) of the program unit(s)
you wish to load. For more information, see the following sections:
PDECLO004
The specified stored program unit does not exist in the database.
Cause
You entered the LOAD command to load one or more program units stored in
the database, but the stored program unit you specified does not exist.
Action
Re-enter the LOAD command, specifying the name(s) of the stored program
unit(s). For more information, see LOAD (Stored Program Units) on page
7 51.
PDECLO005
Cause
You entered the LOAD command with the STORED keyword to load one or
more program units stored in the database, but you are not currently connected
to a database.
Action
PDECLO008
Cause
You entered the LOAD command with the FILE keyword, but you did not
specify a file from which to load.
Action
Re-enter the LOAD command, specifying the name of the file from which to
load the program unit(s). For more information, see LOAD (Program Units)
on page 7 50.
Error Messages
9 17
PDECOP001
Cause
You entered the OPEN command to open a library, but did not specify a library
name.
Action
Check the syntax of the OPEN command. For more information, see OPEN
on page 7 53. Re-enter the command, specifying the name of the library you
wish to open.
PDECOP002
Cause
You entered the OPEN command to open a library residing in the file system,
but the specified file name could not be found.
Action
Check the spelling of the specified file name and re-enter the command.
PDECRK001
Cause
You entered the REVOKE command to revoke a users access to a library stored
in the database, but did not specify the library name.
Action
Check the syntax of the REVOKE command. For more information, see
REVOKE on page 7 58. Re-enter the command, specifying the library to
which you wish to revoke access.
PDECRK002
Cause
You entered the REVOKE command to revoke a users access to a library stored
in the database, but did not specify a username.
Action
Check the syntax of the REVOKE command. For more information, see
REVOKE on page 7 58. Re-enter the command, specifying the username
whose access you wish to revoke.
PDECRN001
9 18
Cause
You entered the RENAME command to change the name of a library that
resides in the current database, but did not specify the old name of the library.
Action
Check the syntax of the RENAME command. For more information, see
RENAME (Libraries) on page 7 55. Re-enter the command, specifying the
old name.
PDECOP001
Cause
You entered the OPEN command to open a library, but did not specify a library
name.
Action
Check the syntax of the OPEN command. For more information, see OPEN
on page 7 53. Re-enter the command, specifying the name of the library you
wish to open.
PDECOP002
Cause
You entered the OPEN command to open a library residing in the file system,
but the specified file name could not be found.
Action
Check the spelling of the specified file name and re-enter the command.
PDECRK001
Cause
You entered the REVOKE command to revoke a users access to a library stored
in the database, but did not specify the library name.
Action
Check the syntax of the REVOKE command. For more information, see
REVOKE on page 7 58. Re-enter the command, specifying the library to
which you wish to revoke access.
PDECRK002
Cause
You entered the REVOKE command to revoke a users access to a library stored
in the database, but did not specify a username.
Action
Check the syntax of the REVOKE command. For more information, see
REVOKE on page 7 58. Re-enter the command, specifying the username
whose access you wish to revoke.
PDECRN001
9 18
Cause
You entered the RENAME command to change the name of a library that
resides in the current database, but did not specify the old name of the library.
Action
Check the syntax of the RENAME command. For more information, see
RENAME (Libraries) on page 7 55. Re-enter the command, specifying the
old name.
PDECRN002
Cause
You entered the RENAME command to change the name of a library that
resides in the current database, but did not specify a new name for the library.
Action
Check the syntax of the RENAME command. For more information, see
RENAME (Libraries) on page 7 55. Re-enter the command, specifying a
new name.
PDECRN003
Cause
Action
PDECRN004
2.
2.
Cause
You entered the RENAME command to change the name of a library, but were
not connected to a database.
Action
Connect to the database where the library is stored, and rename the library.
PDECRN007
Cannot rename <old library name> to <new library name> since <new
library name> is currently attached.
Cause
You entered the RENAME command to change the name of a library stored in
the current database, but the library specified by the new name is currently
attached. You cannot rename a library to the name of a library that is currently
attached.
Action
Use the DETACH command to detach the library specified by the new name or
use a different new name, then re-enter the RENAME command. For more
information on DETACH, see DETACH on page 7 28.
Error Messages
9 19
PDECRN002
Cause
You entered the RENAME command to change the name of a library that
resides in the current database, but did not specify a new name for the library.
Action
Check the syntax of the RENAME command. For more information, see
RENAME (Libraries) on page 7 55. Re-enter the command, specifying a
new name.
PDECRN003
Cause
Action
PDECRN004
2.
2.
Cause
You entered the RENAME command to change the name of a library, but were
not connected to a database.
Action
Connect to the database where the library is stored, and rename the library.
PDECRN007
Cannot rename <old library name> to <new library name> since <new
library name> is currently attached.
Cause
You entered the RENAME command to change the name of a library stored in
the current database, but the library specified by the new name is currently
attached. You cannot rename a library to the name of a library that is currently
attached.
Action
Use the DETACH command to detach the library specified by the new name or
use a different new name, then re-enter the RENAME command. For more
information on DETACH, see DETACH on page 7 28.
Error Messages
9 19
PDECRN008
Cause
You entered the RENAME command to change the name of a library stored in
the current database, but the library specified by the new name is currently
open. You cannot rename a library to the name of a library that is currently
open.
Action
Use the CLOSE command to close the library specified by the new name or use
a different new name, then re-enter the RENAME command. For more
information on CLOSE, see CLOSE on page 7 8.
PDECRS001
Cause
You entered the RESET command to reset to an explicitly specified debug level,
but no such debug level exists.
Action
Check the syntax of the LEVEL keyword to the RESET command. For more
information, see RESET on page 7 56. Re-enter the command with a valid
debug level.
PDECRS002
Cause
Action
If you wish to use the RESET command, you must execute a PL/SQL program
unit and interrupt its execution using a debug action. For more information,
see Working with Debug Actions on page 5 6.
PDECRV001
Cause
You entered the REVERT command to revert a library, but did not specify a
library name.
Action
Check the syntax of the REVERT command. For more information, see
REVERT on page 7 57 Re-enter the command, specifying the name of the
library you wish to revert.
PDECRV002
9 20
Cannot rename <old library name> to <new library name> since <new
library name> is currently open.
Cause
You attempted to revert a library that is not currently open. You cannot revert
libraries that are not open.
Action
Make sure you are trying to revert an open library. Check the spelling of the
specified library and re-enter the command.
PDECRN008
Cause
You entered the RENAME command to change the name of a library stored in
the current database, but the library specified by the new name is currently
open. You cannot rename a library to the name of a library that is currently
open.
Action
Use the CLOSE command to close the library specified by the new name or use
a different new name, then re-enter the RENAME command. For more
information on CLOSE, see CLOSE on page 7 8.
PDECRS001
Cause
You entered the RESET command to reset to an explicitly specified debug level,
but no such debug level exists.
Action
Check the syntax of the LEVEL keyword to the RESET command. For more
information, see RESET on page 7 56. Re-enter the command with a valid
debug level.
PDECRS002
Cause
Action
If you wish to use the RESET command, you must execute a PL/SQL program
unit and interrupt its execution using a debug action. For more information,
see Working with Debug Actions on page 5 6.
PDECRV001
Cause
You entered the REVERT command to revert a library, but did not specify a
library name.
Action
Check the syntax of the REVERT command. For more information, see
REVERT on page 7 57 Re-enter the command, specifying the name of the
library you wish to revert.
PDECRV002
9 20
Cannot rename <old library name> to <new library name> since <new
library name> is currently open.
Cause
You attempted to revert a library that is not currently open. You cannot revert
libraries that are not open.
Action
Make sure you are trying to revert an open library. Check the spelling of the
specified library and re-enter the command.
PDECSA001
Cause
You entered the SAVE command to save a library, but did not specify a library
name.
Action
Check the syntax of the SAVE command. For more information, see SAVE on
page 7 59 Re-enter the command, specifying the name of the library you wish
to save.
PDECSA002
Cause
You attempted to save a library that is not currently open. You cannot save a
libraries that are not open.
Action
Make sure you are trying to save an open library. Check the spelling of the
specified library and re-enter the command.
PDECSA003
Cause
You entered the SAVE command with the AS option to save a library in a
specified file, but you did not specify a file name.
Action
Check the syntax of the SAVE command. For more information, see SAVE on
page 7 59 Re-enter the command, specifying the name of the file in which
you wish to save the library.
PDECSE001
Cause
You entered a SQL SELECT statement, but you are not currently connected to a
database.
Action
PDECSH001
Cause
You attempted to list frames on the call stack with the SHOW command, but
there was no call stack because there was no PL/SQL program unit whose
execution was suspended at the time.
Action
If you wish to use the SHOW command to list frames on the call stack, you
must execute a PL/SQL program unit and interrupt its execution using a debug
action. For more information, see Working with Debug Actions on page
5 6.
Error Messages
9 21
PDECSA001
Cause
You entered the SAVE command to save a library, but did not specify a library
name.
Action
Check the syntax of the SAVE command. For more information, see SAVE on
page 7 59 Re-enter the command, specifying the name of the library you wish
to save.
PDECSA002
Cause
You attempted to save a library that is not currently open. You cannot save a
libraries that are not open.
Action
Make sure you are trying to save an open library. Check the spelling of the
specified library and re-enter the command.
PDECSA003
Cause
You entered the SAVE command with the AS option to save a library in a
specified file, but you did not specify a file name.
Action
Check the syntax of the SAVE command. For more information, see SAVE on
page 7 59 Re-enter the command, specifying the name of the file in which
you wish to save the library.
PDECSE001
Cause
You entered a SQL SELECT statement, but you are not currently connected to a
database.
Action
PDECSH001
Cause
You attempted to list frames on the call stack with the SHOW command, but
there was no call stack because there was no PL/SQL program unit whose
execution was suspended at the time.
Action
If you wish to use the SHOW command to list frames on the call stack, you
must execute a PL/SQL program unit and interrupt its execution using a debug
action. For more information, see Working with Debug Actions on page
5 6.
Error Messages
9 21
PDECSR001
Cause
You entered the STORE command, but did not specify any program units to
store.
Action
Re-enter the STORE command, supplying the appropriate keywords and values
to specify which program units to store. For more information, see STORE
on page 7 69
PDECSR002
Cause
You entered the STORE command to store one or more program units in the
database, but the program unit you specified does not exist.
Action
Re-enter the STORE command, specifying the correct name for the program
unit. For more information, see STORE on page 7 69
PDECSR003
Cause
You entered the STORE command to store a program unit in the database, but
you are not currently connected to a database.
Action
PDECSR004
Cause
You entered the STORE command to store a program unit in the database, but
the program unit you specified is a built-in.
Action
You can only store program units that are created within or loaded into Oracle
Procedure Builder.
PDECSR005
Cause
You entered the STORE command to store a program unit in the database, but
the program units source is not a complete PL/SQL construct.
Action
Enter a complete PL/SQL construct as the source of the program unit, then
re-enter the STORE command.
PDECSR006
9 22
Cause
You entered the STORE command with the OWNER keyword, but you did not
specify an owner name.
Action
Re-enter the STORE command, supplying the owner name. For more
information, see STORE on page 7 69
PDECSR001
Cause
You entered the STORE command, but did not specify any program units to
store.
Action
Re-enter the STORE command, supplying the appropriate keywords and values
to specify which program units to store. For more information, see STORE
on page 7 69
PDECSR002
Cause
You entered the STORE command to store one or more program units in the
database, but the program unit you specified does not exist.
Action
Re-enter the STORE command, specifying the correct name for the program
unit. For more information, see STORE on page 7 69
PDECSR003
Cause
You entered the STORE command to store a program unit in the database, but
you are not currently connected to a database.
Action
PDECSR004
Cause
You entered the STORE command to store a program unit in the database, but
the program unit you specified is a built-in.
Action
You can only store program units that are created within or loaded into Oracle
Procedure Builder.
PDECSR005
Cause
You entered the STORE command to store a program unit in the database, but
the program units source is not a complete PL/SQL construct.
Action
Enter a complete PL/SQL construct as the source of the program unit, then
re-enter the STORE command.
PDECSR006
9 22
Cause
You entered the STORE command with the OWNER keyword, but you did not
specify an owner name.
Action
Re-enter the STORE command, supplying the owner name. For more
information, see STORE on page 7 69
PDECSR007
Cause
Action
Make sure there is a body for the function or procedure you are attempting to
store. Re-enter the STORE command without the SPECIFICATION keyword.
For more information, see STORE on page 7 69
PDECTR001
Cause
You entered the TRIGGER command to create a debug trigger,but did not
supply a PL/SQL statement or block as the body of the trigger.
Action
Check the syntax of the TRIGGER command. For more information, see
TRIGGER on page 7 70. Re-enter the command with a valid trigger body.
PDECXC001
Cause
Action
Check the syntax of the EXECUTE command. For more information, see
EXECUTE on page 7 36 Re-enter the command, specifying the name of the
parameterless procedure you wish to execute.
PDECXC002
Cause
Action
Compile the procedure (using the COMPILE command), then re-enter the
EXECUTE command. For more information, see the following sections:
PDEDDB001
EXECUTE 7 36
Cause
Action
Use the SHOW LOCALS command to list the local parameters and variables at
the current scope location. Then change the DEBUG.GETx or DEBUG.SETx
call to pass a valid local name. For more information, see the following
sections:
SHOW (Locals) 7 65
Error Messages
9 23
PDECSR007
Cause
Action
Make sure there is a body for the function or procedure you are attempting to
store. Re-enter the STORE command without the SPECIFICATION keyword.
For more information, see STORE on page 7 69
PDECTR001
Cause
You entered the TRIGGER command to create a debug trigger,but did not
supply a PL/SQL statement or block as the body of the trigger.
Action
Check the syntax of the TRIGGER command. For more information, see
TRIGGER on page 7 70. Re-enter the command with a valid trigger body.
PDECXC001
Cause
Action
Check the syntax of the EXECUTE command. For more information, see
EXECUTE on page 7 36 Re-enter the command, specifying the name of the
parameterless procedure you wish to execute.
PDECXC002
Cause
Action
Compile the procedure (using the COMPILE command), then re-enter the
EXECUTE command. For more information, see the following sections:
PDEDDB001
EXECUTE 7 36
Cause
Action
Use the SHOW LOCALS command to list the local parameters and variables at
the current scope location. Then change the DEBUG.GETx or DEBUG.SETx
call to pass a valid local name. For more information, see the following
sections:
SHOW (Locals) 7 65
Error Messages
9 23
PDEDDB002
Cause
Action
Check the base type of the specified local and call the DEBUG.GETx or
DEBUG.SET x subprogram that is appropriate for that type. For more
information, see The DEBUG Package on page 8 22.
PDEDFF001
Cause
You defined a call to a foreign function using one or more datatypes that are
not supported by the ORA_FFI package.
Action
PDEDFF002
Cause
You defined a call to a foreign function using a return value datatype that is not
supported by the ORA_FFI package.
Action
Use a return value datatype that is supported by the ORA_FFI package. For
more information about supported datatypes, see the Oracle product
documentation for your operating system.
PDEDFF003
Cause
You attempted to call a function in a foreign library, but the library you
specified does not exist or could not be opened.
Action
Check to see if the specified foreign library exists, and make sure you have
permission to read its contents. Also, check the spelling of the library name in
your call.
PDEDFF004
9 24
Cause
You attempted to call a function in a foreign library, but the function you
specified could not be found in the library.
Action
Make sure the function is contained in the specified library. Also, check the
spelling of the function and library names in your call.
PDEDDB002
Cause
Action
Check the base type of the specified local and call the DEBUG.GETx or
DEBUG.SET x subprogram that is appropriate for that type. For more
information, see The DEBUG Package on page 8 22.
PDEDFF001
Cause
You defined a call to a foreign function using one or more datatypes that are
not supported by the ORA_FFI package.
Action
PDEDFF002
Cause
You defined a call to a foreign function using a return value datatype that is not
supported by the ORA_FFI package.
Action
Use a return value datatype that is supported by the ORA_FFI package. For
more information about supported datatypes, see the Oracle product
documentation for your operating system.
PDEDFF003
Cause
You attempted to call a function in a foreign library, but the library you
specified does not exist or could not be opened.
Action
Check to see if the specified foreign library exists, and make sure you have
permission to read its contents. Also, check the spelling of the library name in
your call.
PDEDFF004
9 24
Cause
You attempted to call a function in a foreign library, but the function you
specified could not be found in the library.
Action
Make sure the function is contained in the specified library. Also, check the
spelling of the function and library names in your call.
PDEDFF005
Cause
Action
PDEDFF006
Cause
Action
PDEDIO001
Cause
You called the TEXT_IO.FOPEN function to open a text file, but passed an
invalid file mode specification argument.
Action
Check the syntax of the TEXT_IO.FOPEN function. For more information, see
The TEXT_IO Package on page 8 68. Change the TEXT_IO.FOPEN call to
pass a valid file mode specification argument.
PDEDIO002
Cause
Action
Use the TEXT_IO.FOPEN function to open the file and return a valid file
handle. Then call the TEXT_IO subprogram again, passing the valid file handle
as an argument. For more information, see The TEXT_IO Package on page
8 68.
PDEDST001
Cause
Action
Error Messages
9 25
PDEDFF005
Cause
Action
PDEDFF006
Cause
Action
PDEDIO001
Cause
You called the TEXT_IO.FOPEN function to open a text file, but passed an
invalid file mode specification argument.
Action
Check the syntax of the TEXT_IO.FOPEN function. For more information, see
The TEXT_IO Package on page 8 68. Change the TEXT_IO.FOPEN call to
pass a valid file mode specification argument.
PDEDIO002
Cause
Action
Use the TEXT_IO.FOPEN function to open the file and return a valid file
handle. Then call the TEXT_IO subprogram again, passing the valid file handle
as an argument. For more information, see The TEXT_IO Package on page
8 68.
PDEDST001
Cause
Action
Error Messages
9 25
PDEDST002
Cause
Records have been left in the SYS.PSTUBTBL table in the database by the
previous execution of a program.
Action
Delete all entries in the SYS.PSTUBTBL table and re-try your operation.
PDEDST003
Cause
Records have been left in the SYS.PSTUBTBL table in the database by the
previous execution of a program.
Action
PDEICD003
Cause
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEICD004
Cause
You entered an Oracle Procedure Builder command which has been disabled by
another product.
Action
Check the syntax of the command you just entered within the context of the
product you are running. Re-enter the command correctly, specifying the
appropriate keywords, values, and options for that command.
PDEIIN002
9 26
Cause
Action
PDEDST002
Cause
Records have been left in the SYS.PSTUBTBL table in the database by the
previous execution of a program.
Action
Delete all entries in the SYS.PSTUBTBL table and re-try your operation.
PDEDST003
Cause
Records have been left in the SYS.PSTUBTBL table in the database by the
previous execution of a program.
Action
PDEICD003
Cause
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEICD004
Cause
You entered an Oracle Procedure Builder command which has been disabled by
another product.
Action
Check the syntax of the command you just entered within the context of the
product you are running. Re-enter the command correctly, specifying the
appropriate keywords, values, and options for that command.
PDEIIN002
9 26
Cause
Action
PDEIIN003
Cause
Action
If you wish to perform this operation, you must execute a PL/SQL program
unit and interrupt its execution using a debug action. For more information, see
Working with Debug Actions on page 5 6.
PDEIIN004
Cause
You attempted to execute a program unit, but the execution was aborted
because its execution state was invalidated by the actions of a debug trigger.
For example, you would receive this error if you called a program unit for
which a debug trigger was defined that invoked the RESET command.
Action
Restart execution of the original program unit and avoid the operation that
caused the invalidation.
PDEIIN005
Cause
Action
Type .HELP COMMAND on the Interpreter command line to display a list of valid
commands. For a complete description of Oracle Procedure Builder
commands, see Command Reference on page 7 1.
PDEIKP002
Cause
You entered a command, but supplied too many keywords or supplied extra
keywords that were inappropriate for the context in which the command was
executed. For example, you would receive this error if you entered the
command .SHOW PROCEDURES BREAKPOINTS because you cannot list both
procedures and breakpoints in the same command.
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEIKP004
Cause
You entered a command that accesses the database, but there was no current
connection.
Action
Error Messages
9 27
PDEIIN003
Cause
Action
If you wish to perform this operation, you must execute a PL/SQL program
unit and interrupt its execution using a debug action. For more information, see
Working with Debug Actions on page 5 6.
PDEIIN004
Cause
You attempted to execute a program unit, but the execution was aborted
because its execution state was invalidated by the actions of a debug trigger.
For example, you would receive this error if you called a program unit for
which a debug trigger was defined that invoked the RESET command.
Action
Restart execution of the original program unit and avoid the operation that
caused the invalidation.
PDEIIN005
Cause
Action
Type .HELP COMMAND on the Interpreter command line to display a list of valid
commands. For a complete description of Oracle Procedure Builder
commands, see Command Reference on page 7 1.
PDEIKP002
Cause
You entered a command, but supplied too many keywords or supplied extra
keywords that were inappropriate for the context in which the command was
executed. For example, you would receive this error if you entered the
command .SHOW PROCEDURES BREAKPOINTS because you cannot list both
procedures and breakpoints in the same command.
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEIKP004
Cause
You entered a command that accesses the database, but there was no current
connection.
Action
Error Messages
9 27
PDEIKP005
Cause
You entered a command in which you specified one or more program units
(e.g., LIST, DESCRIBE, BREAK, etc.), but at least one of the program units you
specified was not defined in the environment.
Action
Re-enter the command, specifying only program units that are defined in the
environment.
PDEIKP006
Cause
Action
PDEIKP010
The specified trigger is associated with more than one source line.
Cause
Action
PDEIKP011
Cause
Action
Re-enter the command, supplying the appropriate argument for the keyword.
PDEIKP012
9 28
Cause
You entered a command (e.g., LOAD) and supplied a keyword (e.g., FILE) that
required one or more file name arguments, but did not supply any file names.
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEIKP005
Cause
You entered a command in which you specified one or more program units
(e.g., LIST, DESCRIBE, BREAK, etc.), but at least one of the program units you
specified was not defined in the environment.
Action
Re-enter the command, specifying only program units that are defined in the
environment.
PDEIKP006
Cause
Action
PDEIKP010
The specified trigger is associated with more than one source line.
Cause
Action
PDEIKP011
Cause
Action
Re-enter the command, supplying the appropriate argument for the keyword.
PDEIKP012
9 28
Cause
You entered a command (e.g., LOAD) and supplied a keyword (e.g., FILE) that
required one or more file name arguments, but did not supply any file names.
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEIKP013
Expected a name.
Cause
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEIPR002
Cause
You entered a command with a keyword that expects an integer value (e.g.,
LINE, COUNT), but did not specify a valid integer.
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEIPR003
Cause
You entered a command with a keyword that expects one or more file name
arguments (e.g., FILE), but a file name you supplied exceeded the maximum
supported length of 128 bytes.
Action
Rename or move the file such that its name can be specified using fewer than
the maximum number of bytes, then re-enter the command with the shorter file
name.
PDEIPR004
Cause
You entered a command with a keyword that expects one or more valid SQL or
PL/SQL name arguments (e.g., PROCEDURE), but a name you supplied does
not begin with a letter.
Action
Re-enter the command, specifying the correct SQL or PL/SQL object name(s)
beginning with a letter.
PDEIPR005
Cause
You entered a command and supplied a keyword argument that started with a
double quote, but you did not supply a matching close quote.
Action
Re-enter the command, supplying a matching close quote for the quoted
argument.
Error Messages
9 29
PDEIKP013
Expected a name.
Cause
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEIPR002
Cause
You entered a command with a keyword that expects an integer value (e.g.,
LINE, COUNT), but did not specify a valid integer.
Action
Check the syntax of the command you just entered. For more information, see
Command Reference on page 7 1. Re-enter the command, specifying the
appropriate keywords, values, and options for that command.
PDEIPR003
Cause
You entered a command with a keyword that expects one or more file name
arguments (e.g., FILE), but a file name you supplied exceeded the maximum
supported length of 128 bytes.
Action
Rename or move the file such that its name can be specified using fewer than
the maximum number of bytes, then re-enter the command with the shorter file
name.
PDEIPR004
Cause
You entered a command with a keyword that expects one or more valid SQL or
PL/SQL name arguments (e.g., PROCEDURE), but a name you supplied does
not begin with a letter.
Action
Re-enter the command, specifying the correct SQL or PL/SQL object name(s)
beginning with a letter.
PDEIPR005
Cause
You entered a command and supplied a keyword argument that started with a
double quote, but you did not supply a matching close quote.
Action
Re-enter the command, supplying a matching close quote for the quoted
argument.
Error Messages
9 29
PDEIPR006
Cause
You entered a command with a keyword that expects one or more valid SQL or
PL/SQL name arguments (e.g., PROCEDURE), but a name you supplied
exceeds the maximum allowable identifier length of 30 bytes.
Action
Re-enter the command, specifying SQL or PL/SQL object name(s) that do not
exceed the maximum allowable length.
PDEIPR007
Cause
You entered a command (e.g., TRIGGER) with a keyword (e.g., IS) that
expected a PL/SQL statement or block to follow, but you supplied only a
PL/SQL comment instead.
Action
PDEIPR008
Cause
You entered a command (e.g., CONNECT) and supplied a keyword (e.g., DB)
that required a whitespace delimited argument, but the argument you supplied
exceeded the maximum allowable length of 128 bytes.
Action
PDEIPR009
Cause
You entered a command (e.g., CONNECT) and supplied a string that should
follow the SQL naming conventions, but the string you entered was not valid.
Action
PDEMCL001
Cause
You specified the same argument more than once on the command line.
Action
Specify the argument only once. If you want to specify multiple values, specify
them as a list value.
PDEMCL002
9 30
Cause
Action
PDEIPR006
Cause
You entered a command with a keyword that expects one or more valid SQL or
PL/SQL name arguments (e.g., PROCEDURE), but a name you supplied
exceeds the maximum allowable identifier length of 30 bytes.
Action
Re-enter the command, specifying SQL or PL/SQL object name(s) that do not
exceed the maximum allowable length.
PDEIPR007
Cause
You entered a command (e.g., TRIGGER) with a keyword (e.g., IS) that
expected a PL/SQL statement or block to follow, but you supplied only a
PL/SQL comment instead.
Action
PDEIPR008
Cause
You entered a command (e.g., CONNECT) and supplied a keyword (e.g., DB)
that required a whitespace delimited argument, but the argument you supplied
exceeded the maximum allowable length of 128 bytes.
Action
PDEIPR009
Cause
You entered a command (e.g., CONNECT) and supplied a string that should
follow the SQL naming conventions, but the string you entered was not valid.
Action
PDEMCL001
Cause
You specified the same argument more than once on the command line.
Action
Specify the argument only once. If you want to specify multiple values, specify
them as a list value.
PDEMCL002
9 30
Cause
Action
PDEMCL003
Cause
Action
PDEMCL004
Cause
You specified an invalid value for a keyword argument on the command line.
Action
PDEMCL005
Cause
Action
PDEMCL006
Cause
You specified a list value for a keyword which does not accept list values.
Action
PDEOGN001
Cause
Action
PDEPAL001
Cause
Oracle Procedure Builder cannot obtain enough memory from the system to
complete an attached library operation.
Action
Make more memory available, if you can, or ask your system administrator for
assistance.
PDEPAL005
Cannot attach library <library name>a library by the same name is already
attached.
Cause
Action
Since the library is already attached, there is no need to try to re-attach it.
Error Messages
9 31
PDEMCL003
Cause
Action
PDEMCL004
Cause
You specified an invalid value for a keyword argument on the command line.
Action
PDEMCL005
Cause
Action
PDEMCL006
Cause
You specified a list value for a keyword which does not accept list values.
Action
PDEOGN001
Cause
Action
PDEPAL001
Cause
Oracle Procedure Builder cannot obtain enough memory from the system to
complete an attached library operation.
Action
Make more memory available, if you can, or ask your system administrator for
assistance.
PDEPAL005
Cannot attach library <library name>a library by the same name is already
attached.
Cause
Action
Since the library is already attached, there is no need to try to re-attach it.
Error Messages
9 31
PDEPAL006
Cause
You entered the DELETE command to delete a library from the database, but
the specified library is currently attached or open.
Action
Detach the library using the DETACH command or close the library using the
CLOSE command, then re-enter the previous DELETE command to delete the
library from the database. For more information, see DETACH on page
7 28. For more information, see CLOSE on page 7 8.
PDEPAL007
Cause
Action
PDEPAL008
You entered the DELETE command to delete a library stored in the database,
but this operation failed because of one of the following reasons:
1.
2.
2.
Cause
Action
Re-try the operation, specifying the name of an attached library. For more
information on attaching libraries, see ATTACH on page 7 5.
PDEPCB002
9 32
Cause
You attempted to reference a bind variable in a PL/SQL program unit, but the
specified bind variable is not defined.
Action
Edit the program unit, change the bind variable reference to a valid bind
variable name, and recompile.
PDEPAL006
Cause
You entered the DELETE command to delete a library from the database, but
the specified library is currently attached or open.
Action
Detach the library using the DETACH command or close the library using the
CLOSE command, then re-enter the previous DELETE command to delete the
library from the database. For more information, see DETACH on page
7 28. For more information, see CLOSE on page 7 8.
PDEPAL007
Cause
Action
PDEPAL008
You entered the DELETE command to delete a library stored in the database,
but this operation failed because of one of the following reasons:
1.
2.
2.
Cause
Action
Re-try the operation, specifying the name of an attached library. For more
information on attaching libraries, see ATTACH on page 7 5.
PDEPCB002
9 32
Cause
You attempted to reference a bind variable in a PL/SQL program unit, but the
specified bind variable is not defined.
Action
Edit the program unit, change the bind variable reference to a valid bind
variable name, and recompile.
PDEPCX002
Cause
Action
If you wish to use the GO or STEP commands, you must execute a PL/SQL
program unit and interrupt its execution using a debug action. For more
information, see Working with Debug Actions on page 5 6.
PDEPEP005
Cause
Oracle Procedure Builder attempted to decode a program unit that was created
on a different machine architecture. This process requires recompiling the
program unit, but no source code was found.
Action
Supply a program unit that was created on the current machine architecture, or
provide a copy from the foreign machine that was saved with source code.
PDEPEP006
Cause
Action
PDEPEP011
Cause
You tried to store a program unit in a library, but its stored representation
exceeds the maximum allowable size on this operating system.
Action
Split the offending program unit into smaller program units and re-try the
operation.
PDEPER001
Cause
Action
PDEPLI005
Cause
Action
Detach the library you wish to edit, then re-attach the library read-write. For
more information, see ATTACH on page 7 5.
Error Messages
9 33
PDEPCX002
Cause
Action
If you wish to use the GO or STEP commands, you must execute a PL/SQL
program unit and interrupt its execution using a debug action. For more
information, see Working with Debug Actions on page 5 6.
PDEPEP005
Cause
Oracle Procedure Builder attempted to decode a program unit that was created
on a different machine architecture. This process requires recompiling the
program unit, but no source code was found.
Action
Supply a program unit that was created on the current machine architecture, or
provide a copy from the foreign machine that was saved with source code.
PDEPEP006
Cause
Action
PDEPEP011
Cause
You tried to store a program unit in a library, but its stored representation
exceeds the maximum allowable size on this operating system.
Action
Split the offending program unit into smaller program units and re-try the
operation.
PDEPER001
Cause
Action
PDEPLI005
Cause
Action
Detach the library you wish to edit, then re-attach the library read-write. For
more information, see ATTACH on page 7 5.
Error Messages
9 33
PDEPLI006
Cause
You attempted to create a new library in the current database, but a library by
the same name already exists.
Action
Specify a different, unique name for the library and re-try the create operation.
PDEPLI007
Cause
You attempted to edit a library that was created by Version 1.0.5 or earlier of
Oracle Procedure Builder, but such libraries may only be accessed read-only
from newer versions.
Action
Copy the contents of the old library into a new library for which read-write
access is supported. Copying a library is most easily accomplished using
File>Save As... in the Library editor.
PDEPLI008
Cause
You attempted to rename or delete a library residing in the file system using the
RENAME or DELETE command, respectively, but this operation is only
supported on libraries residing in the database.
Action
Use the appropriate facilities of the native operating system to rename or delete
libraries residing in the file system.
PDEPLI011
Cause
You attempted to create or access a library stored in the database, but the
operation failed because a table was missing from the Oracle Tools Common
Schema.
Action
Contact your DBA and insure that the Oracle Tools Common Schema is
installed properly.
PDEPLI017
The specified library, <library name>, does not exist in the database.
9 34
Cause
You attempted a library operation, but the specified library does not exist in the
database.
Action
Check the spelling of the library name and re-try the operation, specifying an
existing database library.
PDEPLI006
Cause
You attempted to create a new library in the current database, but a library by
the same name already exists.
Action
Specify a different, unique name for the library and re-try the create operation.
PDEPLI007
Cause
You attempted to edit a library that was created by Version 1.0.5 or earlier of
Oracle Procedure Builder, but such libraries may only be accessed read-only
from newer versions.
Action
Copy the contents of the old library into a new library for which read-write
access is supported. Copying a library is most easily accomplished using
File>Save As... in the Library editor.
PDEPLI008
Cause
You attempted to rename or delete a library residing in the file system using the
RENAME or DELETE command, respectively, but this operation is only
supported on libraries residing in the database.
Action
Use the appropriate facilities of the native operating system to rename or delete
libraries residing in the file system.
PDEPLI011
Cause
You attempted to create or access a library stored in the database, but the
operation failed because a table was missing from the Oracle Tools Common
Schema.
Action
Contact your DBA and insure that the Oracle Tools Common Schema is
installed properly.
PDEPLI017
The specified library, <library name>, does not exist in the database.
9 34
Cause
You attempted a library operation, but the specified library does not exist in the
database.
Action
Check the spelling of the library name and re-try the operation, specifying an
existing database library.
PDEPLI018
Cause
You entered a command and specified a library that could not be found or did
not exist in either the file system or the current database.
Action
Re-enter the previous command, specifying the correct location and name of
the library you wish to use.
PDEPLI020
Cause
You attempted a library operation, but the specified library could not be
opened.
Action
This error is issued in conjunction with other errors. Investigate the additional
errors for suggestions on how to handle this error.
PDEPLI021
Couldnt rename <old library name>, the library name <new library name>
is currently in use.
Cause
You entered the RENAME command to rename a library stored in the current
database, but the new name you specified is the same as that of an existing
library.
Action
Re-enter the RENAME command, specifying a different name as the new name.
Otherwise, rename the library that is currently using the new name you
specified in the failed command, then re-enter the failed command.
PDEPLI023
Cause
Action
2.
You specified the name of a library that already exists in a file, but
you do not have the necessary permissions to modify the file.
2.
Error Messages
9 35
PDEPLI018
Cause
You entered a command and specified a library that could not be found or did
not exist in either the file system or the current database.
Action
Re-enter the previous command, specifying the correct location and name of
the library you wish to use.
PDEPLI020
Cause
You attempted a library operation, but the specified library could not be
opened.
Action
This error is issued in conjunction with other errors. Investigate the additional
errors for suggestions on how to handle this error.
PDEPLI021
Couldnt rename <old library name>, the library name <new library name>
is currently in use.
Cause
You entered the RENAME command to rename a library stored in the current
database, but the new name you specified is the same as that of an existing
library.
Action
Re-enter the RENAME command, specifying a different name as the new name.
Otherwise, rename the library that is currently using the new name you
specified in the failed command, then re-enter the failed command.
PDEPLI023
Cause
Action
2.
You specified the name of a library that already exists in a file, but
you do not have the necessary permissions to modify the file.
2.
Error Messages
9 35
PDEPLI031
Cause
Action
Make sure that all of your Oracle Procedure Builder-related tables are correctly
installed. If all of the tables appear to be correct, contact Oracle Customer
Support. For more information, see Calling Oracle Customer Support on
page 9 4.
PDEPLI038
Cause
You attempted to open a file containing a PL/SQL library, but either the file
permissions are incorrect, the specified file does not contain a valid library, or
the file is in use by another application.
Action
Check the spelling of the specified file name, the permissions of the file, and the
contents of the file to ensure you are opening a valid PL/SQL library file. If
these seem correct, check for other applications or users using the file. Then
re-try the operation.
PDEPLI040
The stored representation of the program unit <program unit name> is too
large.
Cause
You attempted to load a program unit from a library, but the stored
representation of the program unit is too large to be read into memory on this
operating system.
Action
Return to the operating system in which this library was originally generated
and split the offending program unit into smaller program units.
PDEPLI041
9 36
Cause
Action
Attach the library READONLY, if possible. Otherwise, locate the user who has
attached the library READ/WRITE and re-try the operation after the user has
detached the library.
PDEPLI031
Cause
Action
Make sure that all of your Oracle Procedure Builder-related tables are correctly
installed. If all of the tables appear to be correct, contact Oracle Customer
Support. For more information, see Calling Oracle Customer Support on
page 9 4.
PDEPLI038
Cause
You attempted to open a file containing a PL/SQL library, but either the file
permissions are incorrect, the specified file does not contain a valid library, or
the file is in use by another application.
Action
Check the spelling of the specified file name, the permissions of the file, and the
contents of the file to ensure you are opening a valid PL/SQL library file. If
these seem correct, check for other applications or users using the file. Then
re-try the operation.
PDEPLI040
The stored representation of the program unit <program unit name> is too
large.
Cause
You attempted to load a program unit from a library, but the stored
representation of the program unit is too large to be read into memory on this
operating system.
Action
Return to the operating system in which this library was originally generated
and split the offending program unit into smaller program units.
PDEPLI041
9 36
Cause
Action
Attach the library READONLY, if possible. Otherwise, locate the user who has
attached the library READ/WRITE and re-try the operation after the user has
detached the library.
PDEPLI043
Cause
Action
PDEPLU005
Cause
Action
PDEPLU008
Cause
Action
Allow Oracle Procedure Builder to resolve the reference by doing one of the
following:
PDEPLU011
1.
2.
3.
Cause
Action
Error Messages
9 37
PDEPLI043
Cause
Action
PDEPLU005
Cause
Action
PDEPLU008
Cause
Action
Allow Oracle Procedure Builder to resolve the reference by doing one of the
following:
PDEPLU011
1.
2.
3.
Cause
Action
Error Messages
9 37
PDEPLU012
Cause
Action
Re-compile the program unit in Oracle Procedure Builder, then re-try the
operation.
PDEPLV001
Cause
You attempted an operation that inspects or changes the value of a local, but
there was no PL/SQL program unit whose execution was suspended at the
time.
Action
If you wish to inspect or change the value of a local within Oracle Procedure
Builder, you must execute a PL/SQL program unit and interrupt its execution
using a debug action. For more information, see Working with Debug
Actions on page 5 6.
PDEPLV003
Cause
You attempted an operation that inspects or changes the value of a local, but
this program unit does not have sufficient debugging information to perform
the operation.
Action
PDEPMS001
Cause
You attempted to move to a frame on the call stack using the SET SCOPE
command, but the specified frame does not exist.
Action
Re-enter the command, specifying a valid frame on the call stack. For more
information, see SET (Scope) on page 7 60.
PDEPMS002
9 38
Cause
You attempted to set the current scope using the SET SCOPE command, but
there is no PL/SQL executing and, therefore, no call stack.
Action
The SET SCOPE command can be used only when there is a PL/SQL call stack.
For more information, see SET (Scope) on page 7 60.
PDEPLU012
Cause
Action
Re-compile the program unit in Oracle Procedure Builder, then re-try the
operation.
PDEPLV001
Cause
You attempted an operation that inspects or changes the value of a local, but
there was no PL/SQL program unit whose execution was suspended at the
time.
Action
If you wish to inspect or change the value of a local within Oracle Procedure
Builder, you must execute a PL/SQL program unit and interrupt its execution
using a debug action. For more information, see Working with Debug
Actions on page 5 6.
PDEPLV003
Cause
You attempted an operation that inspects or changes the value of a local, but
this program unit does not have sufficient debugging information to perform
the operation.
Action
PDEPMS001
Cause
You attempted to move to a frame on the call stack using the SET SCOPE
command, but the specified frame does not exist.
Action
Re-enter the command, specifying a valid frame on the call stack. For more
information, see SET (Scope) on page 7 60.
PDEPMS002
9 38
Cause
You attempted to set the current scope using the SET SCOPE command, but
there is no PL/SQL executing and, therefore, no call stack.
Action
The SET SCOPE command can be used only when there is a PL/SQL call stack.
For more information, see SET (Scope) on page 7 60.
PDEPMS003
Cause
You attempted to move up the call stack to a specific program unit frame using
the SET SCOPE UP PROGRAMUNIT command, but no frame associated with
the specified program unit exists above the current frame.
Action
Re-enter the command, specifying the name of a program unit that is above the
current frame in the call stack. For more information, see SET (Scope) on
page 7 60.
PDEPMS004
Cause
You attempted to move down the call stack to a specific program unit frame
using the SET SCOPE DOWN PROGRAMUNIT command, but no frame
associated with the specified program unit exists below the current frame.
Action
Re-enter the command, specifying the name of a program unit that is below the
current frame in the call stack. For more information, see SET (Scope) on
page 7 60.
PDEPMS005
Cause
You attempted to move up the call stack using the SET SCOPE UP command,
but the specified frame is beyond the top of the stack.
Action
Re-enter the command, specifying a valid frame on the call stack. For more
information, see SET (Scope) on page 7 60.
PDEPMS006
Cause
You attempted to move down the call stack using the SET SCOPE DOWN
command, but the specified frame is below the bottom of the stack.
Action
Re-enter the command, specifying a valid frame on the call stack. For more
information, see SET (Scope) on page 7 60.
PDEPMS007
Cause
You attempted an Oracle Procedure Builder operation that inspects the call
stack or accesses the value of a local, but there was no PL/SQL program unit
whose execution was active or interrupted at the time.
Action
If you wish to inspect the call stack or access the value of a local from Oracle
Procedure Builder, you must execute a PL/SQL program unit and interrupt its
execution using a debug action. For more information, see Working with
Debug Actions on page 5 6.
Error Messages
9 39
PDEPMS003
Cause
You attempted to move up the call stack to a specific program unit frame using
the SET SCOPE UP PROGRAMUNIT command, but no frame associated with
the specified program unit exists above the current frame.
Action
Re-enter the command, specifying the name of a program unit that is above the
current frame in the call stack. For more information, see SET (Scope) on
page 7 60.
PDEPMS004
Cause
You attempted to move down the call stack to a specific program unit frame
using the SET SCOPE DOWN PROGRAMUNIT command, but no frame
associated with the specified program unit exists below the current frame.
Action
Re-enter the command, specifying the name of a program unit that is below the
current frame in the call stack. For more information, see SET (Scope) on
page 7 60.
PDEPMS005
Cause
You attempted to move up the call stack using the SET SCOPE UP command,
but the specified frame is beyond the top of the stack.
Action
Re-enter the command, specifying a valid frame on the call stack. For more
information, see SET (Scope) on page 7 60.
PDEPMS006
Cause
You attempted to move down the call stack using the SET SCOPE DOWN
command, but the specified frame is below the bottom of the stack.
Action
Re-enter the command, specifying a valid frame on the call stack. For more
information, see SET (Scope) on page 7 60.
PDEPMS007
Cause
You attempted an Oracle Procedure Builder operation that inspects the call
stack or accesses the value of a local, but there was no PL/SQL program unit
whose execution was active or interrupted at the time.
Action
If you wish to inspect the call stack or access the value of a local from Oracle
Procedure Builder, you must execute a PL/SQL program unit and interrupt its
execution using a debug action. For more information, see Working with
Debug Actions on page 5 6.
Error Messages
9 39
PDEPNS009
Cause
You entered the name of an attached library that could not be located.
Action
Check the spelling of the library name and re-enter the command.
PDEPOL001
Cause
Oracle Procedure Builder cannot obtain enough memory from the system to
complete an open library operation.
Action
Make more memory available, or ask your system administrator for assistance.
PDEPOL005
Cannot open library <library name>a library by the same name is already
open.
Cause
Action
Since the library is already opened, there is no need to try to re-open it.
PDEPOL007
Cause
Action
If the library has been changed, use the SAVE command to create a new library
with your changes. If the library has not been changed, close the library as
soon as possible and discard the changes to prevent overwriting any changes
made by another user. For more information, see the following sections:
PDEPOL008
SAVE 7 59
CLOSE 7 8
Cause
You entered a SAVE or CLOSE command to save or close a new library that has
no external location.
Action
If you want to save the contents of the library, use the SAVE command with the
AS option to save your changes, or the CLOSE command with the DISCARD
option to discard your changes. If this error occurred during a QUIT operation,
re-try the QUIT after the library has been saved or discarded. For more
information, see the following sections:
9 40
SAVE 7 59
PDEPNS009
Cause
You entered the name of an attached library that could not be located.
Action
Check the spelling of the library name and re-enter the command.
PDEPOL001
Cause
Oracle Procedure Builder cannot obtain enough memory from the system to
complete an open library operation.
Action
Make more memory available, or ask your system administrator for assistance.
PDEPOL005
Cannot open library <library name>a library by the same name is already
open.
Cause
Action
Since the library is already opened, there is no need to try to re-open it.
PDEPOL007
Cause
Action
If the library has been changed, use the SAVE command to create a new library
with your changes. If the library has not been changed, close the library as
soon as possible and discard the changes to prevent overwriting any changes
made by another user. For more information, see the following sections:
PDEPOL008
SAVE 7 59
CLOSE 7 8
Cause
You entered a SAVE or CLOSE command to save or close a new library that has
no external location.
Action
If you want to save the contents of the library, use the SAVE command with the
AS option to save your changes, or the CLOSE command with the DISCARD
option to discard your changes. If this error occurred during a QUIT operation,
re-try the QUIT after the library has been saved or discarded. For more
information, see the following sections:
9 40
SAVE 7 59
PDEPOL009
CLOSE 7 8
Cause
You entered the SAVE command to save attached library information, but you
specified a directory path and filename that exceeds the maximum number of
characters allowed.
Action
Re-try the operation using a shorter name. To do this, use the INSERT
LOADPATH command to insert the directory path into the load path. Then
re-enter the SAVE command, specifying only the base name of the library. For
more information, see the following sections:
PDEPPU003
SAVE 7 59
Cause
You attempted an operation on a program unit source line, but specified a line
number that is out of range.
Action
Re-try the operation, specifying a valid line number for this program unit.
PDEPPU007
Cause
You attempted an operation (most likely from a debug trigger) that invalidates
the compiled state of a program unit, but it was disallowed because the
program unit is currently executing.
Action
Defer the operation until after execution of the program unit has completed.
PDEPPU008
Cause
You attempted to define a breakpoint or a debug trigger for a program unit, but
the specified source line does not correspond to executable code.
Action
Try defining the debug action again, specifying an executable source line. For
more information, see Specifying Executable Source Lines on page 5 3.
PDEPPU009
Cause
Action
Error Messages
9 41
PDEPOL009
CLOSE 7 8
Cause
You entered the SAVE command to save attached library information, but you
specified a directory path and filename that exceeds the maximum number of
characters allowed.
Action
Re-try the operation using a shorter name. To do this, use the INSERT
LOADPATH command to insert the directory path into the load path. Then
re-enter the SAVE command, specifying only the base name of the library. For
more information, see the following sections:
PDEPPU003
SAVE 7 59
Cause
You attempted an operation on a program unit source line, but specified a line
number that is out of range.
Action
Re-try the operation, specifying a valid line number for this program unit.
PDEPPU007
Cause
You attempted an operation (most likely from a debug trigger) that invalidates
the compiled state of a program unit, but it was disallowed because the
program unit is currently executing.
Action
Defer the operation until after execution of the program unit has completed.
PDEPPU008
Cause
You attempted to define a breakpoint or a debug trigger for a program unit, but
the specified source line does not correspond to executable code.
Action
Try defining the debug action again, specifying an executable source line. For
more information, see Specifying Executable Source Lines on page 5 3.
PDEPPU009
Cause
Action
Error Messages
9 41
PDEPPU014
Cause
Action
You can only edit or modify program units that are created within or loaded
into Oracle Procedure Builder.
PDEPPU015
Cause
You attempted an operation that requires the PL/SQL compiler, but you were
in a runtime-only environment.
Action
PDEPPU016
Cause
Action
PDEPPU017
Cause
You attempted to create or modify the source of a program unit, but the source
you supplied does not define a program unit of the required type.
Action
Edit the source of the program unit to define a program unit of the specified
type.
PDEPSD001
Cause
You attempted to load a program unit, but a program unit or database object
that it references could not be resolved.
Action
The unresolved object may reside in a library to which are not attached, or in a
database to which you are not connected. Re-try the operation after attaching
the necessary library or connecting to a different database, as appropriate.
PDEPSP006
9 42
Cause
You attempted to load a program unit from a source file, but the file could not
be opened.
Action
Re-try the load operation, specifying the name of a file that exists and that you
have permission to read.
PDEPPU014
Cause
Action
You can only edit or modify program units that are created within or loaded
into Oracle Procedure Builder.
PDEPPU015
Cause
You attempted an operation that requires the PL/SQL compiler, but you were
in a runtime-only environment.
Action
PDEPPU016
Cause
Action
PDEPPU017
Cause
You attempted to create or modify the source of a program unit, but the source
you supplied does not define a program unit of the required type.
Action
Edit the source of the program unit to define a program unit of the specified
type.
PDEPSD001
Cause
You attempted to load a program unit, but a program unit or database object
that it references could not be resolved.
Action
The unresolved object may reside in a library to which are not attached, or in a
database to which you are not connected. Re-try the operation after attaching
the necessary library or connecting to a different database, as appropriate.
PDEPSP006
9 42
Cause
You attempted to load a program unit from a source file, but the file could not
be opened.
Action
Re-try the load operation, specifying the name of a file that exists and that you
have permission to read.
PDEPSP007
Cause
You specified a PL/SQL identifier (e.g., the name of a program unit) that is too
long. Identifiers can be no more than 30 characters.
Action
PDEPUP001
Cause
Action
For more information about Oracle Server messages, see the Oracle7 Server
Messages and Codes Manual.
PDEPUP002
Cause
Action
PDEPUP004
Cause
You attempted to connect to a database but failed, most likely for one of the
following reasons: you mistyped the connection string; you cannot access the
machine on which the database resides; or the database does not exist.
Action
Re-try the operation, ensuring that you enter the correct connection string.
Also, check your server and network to ensure that the database exists and can
be accessed.
PDEPXC002
Cause
You executed a program unit, but it aborted because an exception was raised
but never handled.
Action
Redefine the program unit to handle the exception, or address the cause of the
exception.
PDEPXC007
Cause
You attempted to move to a frame on the call stack using the SET SCOPE
command, but the specified frame does not exist.
Action
Re-enter the command, specifying a valid frame on the call stack. For more
information, see SET (Scope) on page 7 60.
Error Messages
9 43
PDEPSP007
Cause
You specified a PL/SQL identifier (e.g., the name of a program unit) that is too
long. Identifiers can be no more than 30 characters.
Action
PDEPUP001
Cause
Action
For more information about Oracle Server messages, see the Oracle7 Server
Messages and Codes Manual.
PDEPUP002
Cause
Action
PDEPUP004
Cause
You attempted to connect to a database but failed, most likely for one of the
following reasons: you mistyped the connection string; you cannot access the
machine on which the database resides; or the database does not exist.
Action
Re-try the operation, ensuring that you enter the correct connection string.
Also, check your server and network to ensure that the database exists and can
be accessed.
PDEPXC002
Cause
You executed a program unit, but it aborted because an exception was raised
but never handled.
Action
Redefine the program unit to handle the exception, or address the cause of the
exception.
PDEPXC007
Cause
You attempted to move to a frame on the call stack using the SET SCOPE
command, but the specified frame does not exist.
Action
Re-enter the command, specifying a valid frame on the call stack. For more
information, see SET (Scope) on page 7 60.
Error Messages
9 43
PDEPXC016
Cause
You attempted to resume execution with the GO or STEP commands, but the
suspended PL/SQL execution state was invalidated by a previous operation in
Oracle Procedure Builder. For example, you might receive this error if you
removed a program unit on the current call stack while at a breakpoint, then
tried to resume execution with the GO command.
Action
Restart execution of the original program unit and avoid the operation that
caused the invalidation.
PDEPXC017
Cause
Action
Re-execute the PL/SQL program unit while in runtime simulation mode of the
Oracle product.
PDEPXC018
Cause
Action
Redefine the offending debug trigger or breakpoint, removing the call(s) in the
trigger body that suspend execution, then re-try the operation.
PDEPXC019
Cause
You executed a program unit, but it aborted because an application error was
raised.
Action
PDEUAC003
9 44
Cause
You selected the Add or Remove buttons in the Grant Access List dialog box,
but you did not select or enter a user first.
Action
PDEPXC016
Cause
You attempted to resume execution with the GO or STEP commands, but the
suspended PL/SQL execution state was invalidated by a previous operation in
Oracle Procedure Builder. For example, you might receive this error if you
removed a program unit on the current call stack while at a breakpoint, then
tried to resume execution with the GO command.
Action
Restart execution of the original program unit and avoid the operation that
caused the invalidation.
PDEPXC017
Cause
Action
Re-execute the PL/SQL program unit while in runtime simulation mode of the
Oracle product.
PDEPXC018
Cause
Action
Redefine the offending debug trigger or breakpoint, removing the call(s) in the
trigger body that suspend execution, then re-try the operation.
PDEPXC019
Cause
You executed a program unit, but it aborted because an application error was
raised.
Action
PDEUAC003
9 44
Cause
You selected the Add or Remove buttons in the Grant Access List dialog box,
but you did not select or enter a user first.
Action
PDEUAC004
Cause
You attempted to add a user name in the Grant Access List dialog box that
already exists in the access list.
Action
PDEUAL002
Cause
You selected the Attach button in the Attach Library dialog box, but you did
not specify a library to be attached.
Action
Specify a library to be attached in the Library field before selecting the Attach
button.
PDEUBK002
Cause
You selected the OK button in the Breakpoint dialog box, but you did not
specify a program unit.
Action
Specify a program unit for the breakpoint in the Program Unit field before
selecting the OK button.
PDEUBK003
Cause
You selected the OK button in the Breakpoint dialog box, but you did not
specify a line number.
Action
Specify a line number for the breakpoint in the Line field before selecting the
OK button.
PDEUBK004
Cause
You selected the OK button in the Breakpoint dialog box, but you did not
specify a complete PL/SQL construct in the Trigger field.
Action
Specify a complete PL/SQL construct in the Trigger field before selecting the
OK button.
PDEUCN002
Cause
You selected the Connect button in the Connect dialog box, but you did not
specify a username.
Action
Enter a valid username in the Username field before selecting the Connect
button.
Error Messages
9 45
PDEUAC004
Cause
You attempted to add a user name in the Grant Access List dialog box that
already exists in the access list.
Action
PDEUAL002
Cause
You selected the Attach button in the Attach Library dialog box, but you did
not specify a library to be attached.
Action
Specify a library to be attached in the Library field before selecting the Attach
button.
PDEUBK002
Cause
You selected the OK button in the Breakpoint dialog box, but you did not
specify a program unit.
Action
Specify a program unit for the breakpoint in the Program Unit field before
selecting the OK button.
PDEUBK003
Cause
You selected the OK button in the Breakpoint dialog box, but you did not
specify a line number.
Action
Specify a line number for the breakpoint in the Line field before selecting the
OK button.
PDEUBK004
Cause
You selected the OK button in the Breakpoint dialog box, but you did not
specify a complete PL/SQL construct in the Trigger field.
Action
Specify a complete PL/SQL construct in the Trigger field before selecting the
OK button.
PDEUCN002
Cause
You selected the Connect button in the Connect dialog box, but you did not
specify a username.
Action
Enter a valid username in the Username field before selecting the Connect
button.
Error Messages
9 45
PDEUCX005
Cause
Oracle Procedure Builder attempted to create a window but failed, most likely
for one of the following reasons: you have used up all of your window
resources; you have encountered an internal error.
Action
If you have a large number of windows open (that is, more than 30), close as
many windows as necessary to free up window resources, then re-try the
previous operation. If the problem persists, contact Oracle Customer Support.
For more information about contacting Oracle, see Calling Oracle Customer
Support on page 9 4.
PDEUDD002
No object selected.
Cause
You selected a button to perform an operation on a database object, but you did
not select or enter the name of a database object to be operated on.
Action
PDEUDD003
Cause
You selected the Rename button in the Rename Library dialog box, but you did
not enter the new name for the library.
Action
Enter the new name for the library in the New Name field and try again.
PDEUIN002
Cause
You selected the Interpret button in the Interpret Debug Script dialog box, but
you did not specify a file to interpret.
Action
Enter the name of the desired file in the File field and try again.
PDEULD002
Cause
You selected the Load button in the Load Program Unit dialog box, but you did
not specify a file to load.
Action
Enter the name of the desired file in the File field and try again.
PDEULD003
9 46
Cause
You loaded a program unit stored in a file using the Load Program Unit dialog
box, but the program unit contains one or more compilation errors.
Action
Edit and compile the loaded program unit using the Program Unit editor. For
more information, see Program Unit Editor on page 4 20.
PDEUCX005
Cause
Oracle Procedure Builder attempted to create a window but failed, most likely
for one of the following reasons: you have used up all of your window
resources; you have encountered an internal error.
Action
If you have a large number of windows open (that is, more than 30), close as
many windows as necessary to free up window resources, then re-try the
previous operation. If the problem persists, contact Oracle Customer Support.
For more information about contacting Oracle, see Calling Oracle Customer
Support on page 9 4.
PDEUDD002
No object selected.
Cause
You selected a button to perform an operation on a database object, but you did
not select or enter the name of a database object to be operated on.
Action
PDEUDD003
Cause
You selected the Rename button in the Rename Library dialog box, but you did
not enter the new name for the library.
Action
Enter the new name for the library in the New Name field and try again.
PDEUIN002
Cause
You selected the Interpret button in the Interpret Debug Script dialog box, but
you did not specify a file to interpret.
Action
Enter the name of the desired file in the File field and try again.
PDEULD002
Cause
You selected the Load button in the Load Program Unit dialog box, but you did
not specify a file to load.
Action
Enter the name of the desired file in the File field and try again.
PDEULD003
9 46
Cause
You loaded a program unit stored in a file using the Load Program Unit dialog
box, but the program unit contains one or more compilation errors.
Action
Edit and compile the loaded program unit using the Program Unit editor. For
more information, see Program Unit Editor on page 4 20.
PDEULD004
Cause
You used the Load Program Unit dialog box to load the contents of a file, but
the file you specified does not contain valid PL/SQL source.
Action
Re-try the operation, entering the name of the file containing the PL/SQL
source you wish to load.
PDEULG002
Cause
You selected the Log button in the Log dialog box, but you did not specify a log
file.
Action
Enter the name of the desired file in the File field and try again.
PDEUNP001
Cause
You selected the OK button in the New Program Unit dialog box, but you did
not specify a program unit name.
Action
Specify a program unit name in the Name field before selecting the OK button.
PDEUNP002
Cause
You attempted to create a new stored program unit with the same name as an
existing stored program unit.
Action
Specify a different stored program unit name in the Name field and try again.
PDEUOL002
Cause
You selected the Open button in the Open Library dialog box, but you did not
specify a library name.
Action
Specify a library name in the Library field before selecting the Open button.
PDEUPF006
Cause
You attempted to import from or export to a file while in a PL/SQL field, but
the file could not be opened.
Action
If importing, specify a file that exists. If exporting, specify a file for which you
have write permission. Then try again.
Error Messages
9 47
PDEULD004
Cause
You used the Load Program Unit dialog box to load the contents of a file, but
the file you specified does not contain valid PL/SQL source.
Action
Re-try the operation, entering the name of the file containing the PL/SQL
source you wish to load.
PDEULG002
Cause
You selected the Log button in the Log dialog box, but you did not specify a log
file.
Action
Enter the name of the desired file in the File field and try again.
PDEUNP001
Cause
You selected the OK button in the New Program Unit dialog box, but you did
not specify a program unit name.
Action
Specify a program unit name in the Name field before selecting the OK button.
PDEUNP002
Cause
You attempted to create a new stored program unit with the same name as an
existing stored program unit.
Action
Specify a different stored program unit name in the Name field and try again.
PDEUOL002
Cause
You selected the Open button in the Open Library dialog box, but you did not
specify a library name.
Action
Specify a library name in the Library field before selecting the Open button.
PDEUPF006
Cause
You attempted to import from or export to a file while in a PL/SQL field, but
the file could not be opened.
Action
If importing, specify a file that exists. If exporting, specify a file for which you
have write permission. Then try again.
Error Messages
9 47
PDEUPW004
Cause
You attempted to edit a program unit that is already being edited in another
editor window.
Action
PDEUSR005
Cause
Action
Enter a search string in the Search field and re-try the operation.
PDEUSR006
Cause
Action
Check the Search field for any special wildcard characters (e.g., (, ), ~) that you
attempted to use as literal characters, but did not precede with an escape
character (\).
PDEUSW002
Cause
You tried to compile a stored program unit in the database, but the program
units source is not a complete PL/SQL construct.
Action
Enter a complete PL/SQL construct as the source of the stored program unit,
then recompile.
PDEUTE003
Cause
You attempted to import from or export to a file while in a text edit field, but
the file could not be opened.
Action
If importing, specify a file that exists. If exporting, specify a file for which you
have write permission.
PDEUTG002
9 48
Cause
You selected the Save button in the Database Trigger dialog box, but you did
not specify a trigger name.
Action
Specify a name for the trigger in the Trigger Name field before selecting the
Save button.
PDEUPW004
Cause
You attempted to edit a program unit that is already being edited in another
editor window.
Action
PDEUSR005
Cause
Action
Enter a search string in the Search field and re-try the operation.
PDEUSR006
Cause
Action
Check the Search field for any special wildcard characters (e.g., (, ), ~) that you
attempted to use as literal characters, but did not precede with an escape
character (\).
PDEUSW002
Cause
You tried to compile a stored program unit in the database, but the program
units source is not a complete PL/SQL construct.
Action
Enter a complete PL/SQL construct as the source of the stored program unit,
then recompile.
PDEUTE003
Cause
You attempted to import from or export to a file while in a text edit field, but
the file could not be opened.
Action
If importing, specify a file that exists. If exporting, specify a file for which you
have write permission.
PDEUTG002
9 48
Cause
You selected the Save button in the Database Trigger dialog box, but you did
not specify a trigger name.
Action
Specify a name for the trigger in the Trigger Name field before selecting the
Save button.
PDEUTG003
Cause
You selected the OK button in the Database Trigger dialog box, but you did not
specify a base table.
Action
Specify a base table for the trigger in the Table Name field before selecting the
OK button.
PDEUTG004
Cause
You selected the OK button in the Database Trigger dialog box, but you did not
specify a complete PL/SQL construct for the trigger body.
Action
Specify a complete PL/SQL construct for the trigger body before selecting the
OK button.
PDEUTG005
Cause
You selected the OK button in the Database Trigger dialog box, but you did not
specify a SQL statement that causes the trigger to fire.
Action
Specify at least one SQL statement that causes the trigger to fire. You can
specify as many as three.
PDEUTG006
Cause
Action
PDEUTR002
Cause
You selected the OK button in the Trigger dialog box, but you did not specify a
program unit.
Action
Specify a program unit for the trigger in the Program Unit field before selecting
the OK button.
PDEUTR003
Cause
You selected the OK button in the Trigger dialog box, but you did not specify a
line number.
Action
Specify a line number for the trigger in the Line field before selecting the OK
button.
Error Messages
9 49
PDEUTG003
Cause
You selected the OK button in the Database Trigger dialog box, but you did not
specify a base table.
Action
Specify a base table for the trigger in the Table Name field before selecting the
OK button.
PDEUTG004
Cause
You selected the OK button in the Database Trigger dialog box, but you did not
specify a complete PL/SQL construct for the trigger body.
Action
Specify a complete PL/SQL construct for the trigger body before selecting the
OK button.
PDEUTG005
Cause
You selected the OK button in the Database Trigger dialog box, but you did not
specify a SQL statement that causes the trigger to fire.
Action
Specify at least one SQL statement that causes the trigger to fire. You can
specify as many as three.
PDEUTG006
Cause
Action
PDEUTR002
Cause
You selected the OK button in the Trigger dialog box, but you did not specify a
program unit.
Action
Specify a program unit for the trigger in the Program Unit field before selecting
the OK button.
PDEUTR003
Cause
You selected the OK button in the Trigger dialog box, but you did not specify a
line number.
Action
Specify a line number for the trigger in the Line field before selecting the OK
button.
Error Messages
9 49
PDEUTR004
Cause
You selected the OK button in the Trigger dialog box, but you did not specify a
complete PL/SQL construct in the Trigger Body field.
Action
Specify a complete PL/SQL construct in the Trigger Body field before selecting
the OK button.
PDEXDA001
9 50
Cause
You attempted a date operation in Oracle Procedure Builder, but it failed due to
this Oracle Server error.
Action
Correct the problem indicated by the Oracle Server message and re-try the
operation. For more information about Oracle Server messages, see the Oracle7
Server Messages and Codes Manual.
PDEUTR004
Cause
You selected the OK button in the Trigger dialog box, but you did not specify a
complete PL/SQL construct in the Trigger Body field.
Action
Specify a complete PL/SQL construct in the Trigger Body field before selecting
the OK button.
PDEXDA001
9 50
Cause
You attempted a date operation in Oracle Procedure Builder, but it failed due to
this Oracle Server error.
Action
Correct the problem indicated by the Oracle Server message and re-try the
operation. For more information about Oracle Server messages, see the Oracle7
Server Messages and Codes Manual.
GLOSSARY
Ada A highlevel programming language
developed by the U.S. Department of
Defense for use in embedded computer
systems.
alert An interface element that notifies you of
a condition that occurred because of your
last action. You must respond to an alert.
alias A secondary name used in a SQL
statement to reference a table, a view, or a
column.
anonymous block An unnamed sequence of
actions. Since they are unnamed,
anonymous blocks cannot be referenced by
other program units.
argument An expression within the
parentheses of a function, supplying a value
for the function to operate on. For
example, on the command line,
keyword=value is an argument.
batch compile To translate, at once, several
PL/SQL program units into a machine
executable form.
block The basic program unit in PL/SQL,
defined by the keywords DECLARE,
BEGIN, EXCEPTION, and END.
Glossary 1
GLOSSARY
Ada A highlevel programming language
developed by the U.S. Department of
Defense for use in embedded computer
systems.
alert An interface element that notifies you of
a condition that occurred because of your
last action. You must respond to an alert.
alias A secondary name used in a SQL
statement to reference a table, a view, or a
column.
anonymous block An unnamed sequence of
actions. Since they are unnamed,
anonymous blocks cannot be referenced by
other program units.
argument An expression within the
parentheses of a function, supplying a value
for the function to operate on. For
example, on the command line,
keyword=value is an argument.
batch compile To translate, at once, several
PL/SQL program units into a machine
executable form.
block The basic program unit in PL/SQL,
defined by the keywords DECLARE,
BEGIN, EXCEPTION, and END.
Glossary 1
Glossary 2
Glossary 2
Glossary 3
Glossary 3
Glossary 4
Glossary 4
Glossary 5
Glossary 5
Glossary 6
Glossary 6
Index
Special
. keyword, setting locations, 5 6
\ (backslash), as a continuation character, 7 3
Abnormal conditions, 9 3
ADD_ARG procedure, 8 34
AMERICAN function, 8 53
AMERICAN_DATE function, 8 53
Anonymous blocks, definition of, 2 6
APP_BEGIN function, 8 6
APP_END procedure, 8 8
APP_FOCUS procedure, 8 9
APPENDITEM procedure, 8 27
Arguments, in commands, 7 2
ATTACH command, 7 5
attaching libraries, 4 28
examples, 7 5
Attached libraries
order of, 4 29
program unit name resolution, 4 29
timestamps, 4 26
B
BAD_TIMER exception, 8 62
Batch compilation
libraries, 4 28
program units, 4 14
Index 1
INDEX
Bind variable
creating, 7 12
deleting, 7 15
Body, definition of, 2 7
Bookmarks, in Navigator, 3 4
BREAK command, 7 6
examples, 7 7
BREAK exception, 8 22
Breakpoints
creating, 5 3
definition of, 5 2
disabling, 5 8
in the Interpreter Source pane, 3 8
removing, 5 9
Browsing debug actions,
using the SHOW command, 5 7
Browsing program units
using the DESCRIBE command, 4 15
using the SHOW command, 4 15
Building resource files, 8 81
Builtin constants
ORA_NLS package, 8 58
TOOL_ERR.TOPERROR, 8 80
Builtin exceptions
DDE exceptions, 8 20
DEBUG.BREAK, 8 22
definition of, 8 2
LIST.FAIL, 8 29
ORA_NLS.BAD_ATTRIBUTE, 8 54
ORA_NLS.NO_ITEM, 8 57
ORA_NLS.NOT_FOUND, 8 57
ORA_PROF.BAD_TIMER, 8 62
Index
Special
. keyword, setting locations, 5 6
\ (backslash), as a continuation character, 7 3
Abnormal conditions, 9 3
ADD_ARG procedure, 8 34
AMERICAN function, 8 53
AMERICAN_DATE function, 8 53
Anonymous blocks, definition of, 2 6
APP_BEGIN function, 8 6
APP_END procedure, 8 8
APP_FOCUS procedure, 8 9
APPENDITEM procedure, 8 27
Arguments, in commands, 7 2
ATTACH command, 7 5
attaching libraries, 4 28
examples, 7 5
Attached libraries
order of, 4 29
program unit name resolution, 4 29
timestamps, 4 26
B
BAD_TIMER exception, 8 62
Batch compilation
libraries, 4 28
program units, 4 14
Index 1
INDEX
Bind variable
creating, 7 12
deleting, 7 15
Body, definition of, 2 7
Bookmarks, in Navigator, 3 4
BREAK command, 7 6
examples, 7 7
BREAK exception, 8 22
Breakpoints
creating, 5 3
definition of, 5 2
disabling, 5 8
in the Interpreter Source pane, 3 8
removing, 5 9
Browsing debug actions,
using the SHOW command, 5 7
Browsing program units
using the DESCRIBE command, 4 15
using the SHOW command, 4 15
Building resource files, 8 81
Builtin constants
ORA_NLS package, 8 58
TOOL_ERR.TOPERROR, 8 80
Builtin exceptions
DDE exceptions, 8 20
DEBUG.BREAK, 8 22
definition of, 8 2
LIST.FAIL, 8 29
ORA_NLS.BAD_ATTRIBUTE, 8 54
ORA_NLS.NO_ITEM, 8 57
ORA_NLS.NOT_FOUND, 8 57
ORA_PROF.BAD_TIMER, 8 62
TOOL_ERR.TOOL_ERROR, 8 79
TOOL_RES.BAD_FILE_HANDLE, 8 83
TOOL_RES.BUFFER_OVERFLOW, 8 83
TOOL_RES.FILE_NOT_FOUND, 8 84
TOOL_RES.NO_RESOURCE, 8 84
Builtin functions
DDE.APP_BEGIN, 8 6
DDE.GETFORMATNUM, 8 11
DDE.GETFORMATSTR, 8 12
DDE.INITIATE, 8 13
DEBUG.GETC, 8 23
DEBUG.GETD, 8 23
DEBUG.GETI, 8 23
DEBUG.GETN, 8 23
definition of, 8 2
examples, 8 75, 8 80
LIST.GETITEM, 8 29
LIST.MAKE, 8 31
LIST.NITEMS, 8 31
OLE2.CREATE_ARGLIST, 8 34
OLE2.CREATE_OBJ, 8 35
OLE2.GET_CHAR_PROPERTY, 8 36
OLE2.GET_NUM_PROPERTY, 8 37
ORA_FFI.FIND_FUNCTION, 8 45
ORA_FFI.FIND_LIBRARY, 8 46
ORA_FFI.IS_NULL_PTR, 8 47
ORA_FFI.LOAD_LIBRARY, 8 49
ORA_FFI.REGISTER_FUNCTION, 8 48
ORA_NLS.AMERICAN, 8 53
ORA_NLS.AMERICAN_DA TE, 8 53
ORA_NLS.GET_LANG_SCALAR, 8 54
ORA_NLS.GET_LANG_STR, 8 55
ORA_NLS.LINGUISTIC_COLLA TE, 8 55
ORA_NLS.LINGUISTIC_SPECIALS, 8 56
ORA_NLS.MODIFIED_DATE_FMT, 8 56
ORA_NLS.RIGHT_TO_LEFT, 8 57
ORA_NLS.SIMPLE_CS, 8 58
ORA_NLS.SINGLE_BYTE, 8 58
ORA_PROF.ELAPSED_TIME, 8 64
TEXT_IO.FOPEN, 8 69
TEXT_IO.IS_OPEN, 8 70
TOOL_ERR.CODE, 8 77
TOOL_ERR.ENCODE, 8 78
TOOL_ERR.MESSAGE, 8 78
TOOL_ERR.NERRORS, 8 79
TOOL_RES.RFOPEN, 8 87
TOOL_RES.RFREAD, 8 88
Index 2
Builtin packages
DDE package, 8 4
DEBUG package, 8 22
LIST package, 8 27
OLE2, 8 33
ORA_DE package, 8 3
ORA_FFI package, 8 45
ORA_NLS package, 8 53
ORA_PROF package, 8 62
TEXT_IO package, 8 68
TOOL_ENV package, 8 76
TOOL_ERR package, 8 77
TOOL_RES package, 8 81
Builtin procedures
DDE.APP_END, 8 8
DDE.APP_FOCUS, 8 9
DDE.EXECUTE, 8 10
DDE.POKE, 8 14
DDE.REQUEST, 8 16
DDE.TERMINATE, 8 18
DEBUG.INTERPRET, 8 24
DEBUG.SETC, 8 25
DEBUG.SETD, 8 25
DEBUG.SETI, 8 25
DEBUG.SETN, 8 25
DEBUG.SUSPEND, 8 26
definition of, 8 2
examples, 8 75, 8 80
LIST.APPENDITEM, 8 27
LIST.DELETEITEM, 8 28
LIST.DESTROY, 8 28
LIST.INSERTITEM, 8 30
LIST.PREPENDITEM, 8 32
OLE2.ADD_ARG, 8 34
OLE2.DESTROY_ARGLIST, 8 35
OLE2.GET_OBJ_PROPERTY, 8 38
OLE2.INVOKE, 8 39
OLE2.INVOKE_CHAR, 8 41
OLE2.INVOKE_NUM, 8 40
OLE2.INVOKE_OBJ, 8 42
OLE2.RELEASE_OBJ, 8 43
OLE2.SET_PROPERTY, 8 44
ORA_FFI.GENERATE_FOREIGN, 8 47
ORA_FFI.REGISTER_PARAMETER, 8 50
ORA_FFI.REGISTER_RETURN, 8 51
ORA_FFI.UNLOAD_LIBRAR Y, 8 52
ORA_PROF.CREATE_TIMER, 8 62
TOOL_ERR.TOOL_ERROR, 8 79
TOOL_RES.BAD_FILE_HANDLE, 8 83
TOOL_RES.BUFFER_OVERFLOW, 8 83
TOOL_RES.FILE_NOT_FOUND, 8 84
TOOL_RES.NO_RESOURCE, 8 84
Builtin functions
DDE.APP_BEGIN, 8 6
DDE.GETFORMATNUM, 8 11
DDE.GETFORMATSTR, 8 12
DDE.INITIATE, 8 13
DEBUG.GETC, 8 23
DEBUG.GETD, 8 23
DEBUG.GETI, 8 23
DEBUG.GETN, 8 23
definition of, 8 2
examples, 8 75, 8 80
LIST.GETITEM, 8 29
LIST.MAKE, 8 31
LIST.NITEMS, 8 31
OLE2.CREATE_ARGLIST, 8 34
OLE2.CREATE_OBJ, 8 35
OLE2.GET_CHAR_PROPERTY, 8 36
OLE2.GET_NUM_PROPERTY, 8 37
ORA_FFI.FIND_FUNCTION, 8 45
ORA_FFI.FIND_LIBRARY, 8 46
ORA_FFI.IS_NULL_PTR, 8 47
ORA_FFI.LOAD_LIBRARY, 8 49
ORA_FFI.REGISTER_FUNCTION, 8 48
ORA_NLS.AMERICAN, 8 53
ORA_NLS.AMERICAN_DA TE, 8 53
ORA_NLS.GET_LANG_SCALAR, 8 54
ORA_NLS.GET_LANG_STR, 8 55
ORA_NLS.LINGUISTIC_COLLA TE, 8 55
ORA_NLS.LINGUISTIC_SPECIALS, 8 56
ORA_NLS.MODIFIED_DATE_FMT, 8 56
ORA_NLS.RIGHT_TO_LEFT, 8 57
ORA_NLS.SIMPLE_CS, 8 58
ORA_NLS.SINGLE_BYTE, 8 58
ORA_PROF.ELAPSED_TIME, 8 64
TEXT_IO.FOPEN, 8 69
TEXT_IO.IS_OPEN, 8 70
TOOL_ERR.CODE, 8 77
TOOL_ERR.ENCODE, 8 78
TOOL_ERR.MESSAGE, 8 78
TOOL_ERR.NERRORS, 8 79
TOOL_RES.RFOPEN, 8 87
TOOL_RES.RFREAD, 8 88
Index 2
Builtin packages
DDE package, 8 4
DEBUG package, 8 22
LIST package, 8 27
OLE2, 8 33
ORA_DE package, 8 3
ORA_FFI package, 8 45
ORA_NLS package, 8 53
ORA_PROF package, 8 62
TEXT_IO package, 8 68
TOOL_ENV package, 8 76
TOOL_ERR package, 8 77
TOOL_RES package, 8 81
Builtin procedures
DDE.APP_END, 8 8
DDE.APP_FOCUS, 8 9
DDE.EXECUTE, 8 10
DDE.POKE, 8 14
DDE.REQUEST, 8 16
DDE.TERMINATE, 8 18
DEBUG.INTERPRET, 8 24
DEBUG.SETC, 8 25
DEBUG.SETD, 8 25
DEBUG.SETI, 8 25
DEBUG.SETN, 8 25
DEBUG.SUSPEND, 8 26
definition of, 8 2
examples, 8 75, 8 80
LIST.APPENDITEM, 8 27
LIST.DELETEITEM, 8 28
LIST.DESTROY, 8 28
LIST.INSERTITEM, 8 30
LIST.PREPENDITEM, 8 32
OLE2.ADD_ARG, 8 34
OLE2.DESTROY_ARGLIST, 8 35
OLE2.GET_OBJ_PROPERTY, 8 38
OLE2.INVOKE, 8 39
OLE2.INVOKE_CHAR, 8 41
OLE2.INVOKE_NUM, 8 40
OLE2.INVOKE_OBJ, 8 42
OLE2.RELEASE_OBJ, 8 43
OLE2.SET_PROPERTY, 8 44
ORA_FFI.GENERATE_FOREIGN, 8 47
ORA_FFI.REGISTER_PARAMETER, 8 50
ORA_FFI.REGISTER_RETURN, 8 51
ORA_FFI.UNLOAD_LIBRAR Y, 8 52
ORA_PROF.CREATE_TIMER, 8 62
C
Call stack
definition of, 5 10
examining, 5 10
frames, 5 10
setting the current scope location, 5 14
Calling stored subprograms, 4 32
parameters and return value type
restrictions, 4 34
supplying arguments, 4 33
using synonyms, 4 32
CLEAR procedure, 8 77
CLOSE command, 7 8
closing libraries, 4 27
examples, 7 8
CODE function, 8 77
Collapsing, nodes in Navigator, 3 4
Command line prompt, in the Interpreter, 3 9
Commands
abbreviating options, 7 3
argument quoting, 7 3
arguments, 7 2
general syntax rules, 7 2
keyword positions, 7 3
multivalued arguments, 7 2
option positions, 7 3
spanning multiple lines, 7 3
syntax conventions, 7 4
Compilation Messages pane
in the Program Unit editor, 4 21
in the Stored Program Unit editor, 4 36
COMPILE (Libraries) command, 7 9
examples, 7 9
COMPILE (Program Units) command, 7 10
examples, 7 10
Conditions, abnormal, 9 3
CONNECT command, 7 11
examples, 7 11
Connecting to a database, 7 11
Constants
ORA_NLS package, 8 58
TOOL_ERR.TOPERROR, 8 80
Conventions, command syntax, 7 4
CREATE (Bind Variable) command, 7 12
examples, 7 12
CREATE (Libraries) command, 7 13
examples, 7 14
CREATE command,
creating new libraries, 4 25
CREATE_ARGLIST function, 8 34
CREATE_OBJ function, 8 35
CREATE_TIMER procedure, 8 62
Creating, program units, 4 2
Cross references, displaying, 4 16
Current execution location
definition of, 5 10
displaying, 5 10
in the Interpreter Source pane, 3 7
Current scope location
changing, 5 14
definition of, 5 11
displaying, 5 12
listing variables and parameters, 5 14
Index 3
INDEX
ORA_PROF.DESTROY_TIMER, 8 63
ORA_PROF.RESET_TIMER, 8 65
ORA_PROF.START_TIMER, 8 66
ORA_PROF.STOP_TIMER, 8 67
TEXT_IO.FCLOSE, 8 68
TEXT_IO.GET_LINE, 8 71
TEXT_IO.NEW_LINE, 8 72
TEXT_IO.PUT, 8 73
TEXT_IO.PUT_LINE, 8 75
TEXT_IO.PUTF, 8 74
TOOL_ENV.GETVAR, 8 76
TOOL_ERR.CLEAR, 8 77
TOOL_ERR.POP, 8 79
TOOL_RES.RFCLOSE, 8 85
Builtin program units, 8 2
Builtin types
LIST.LISTOFCHAR, 8 30
OLE2.LIST_TYPE, 8 33
OLE2.OBJ_TYPE, 8 33
ORA_FFI.FUNCHANDLETYPE, 8 46
ORA_FFI.LIBHANDLETYPE, 8 48
ORA_FFI.POINTERTYPE, 8 48
TEXT_IO.FILE_TYPE, 8 69
TOOL_RES.RFHANDLE, 8 86
C
Call stack
definition of, 5 10
examining, 5 10
frames, 5 10
setting the current scope location, 5 14
Calling stored subprograms, 4 32
parameters and return value type
restrictions, 4 34
supplying arguments, 4 33
using synonyms, 4 32
CLEAR procedure, 8 77
CLOSE command, 7 8
closing libraries, 4 27
examples, 7 8
CODE function, 8 77
Collapsing, nodes in Navigator, 3 4
Command line prompt, in the Interpreter, 3 9
Commands
abbreviating options, 7 3
argument quoting, 7 3
arguments, 7 2
general syntax rules, 7 2
keyword positions, 7 3
multivalued arguments, 7 2
option positions, 7 3
spanning multiple lines, 7 3
syntax conventions, 7 4
Compilation Messages pane
in the Program Unit editor, 4 21
in the Stored Program Unit editor, 4 36
COMPILE (Libraries) command, 7 9
examples, 7 9
COMPILE (Program Units) command, 7 10
examples, 7 10
Conditions, abnormal, 9 3
CONNECT command, 7 11
examples, 7 11
Connecting to a database, 7 11
Constants
ORA_NLS package, 8 58
TOOL_ERR.TOPERROR, 8 80
Conventions, command syntax, 7 4
CREATE (Bind Variable) command, 7 12
examples, 7 12
CREATE (Libraries) command, 7 13
examples, 7 14
CREATE command,
creating new libraries, 4 25
CREATE_ARGLIST function, 8 34
CREATE_OBJ function, 8 35
CREATE_TIMER procedure, 8 62
Creating, program units, 4 2
Cross references, displaying, 4 16
Current execution location
definition of, 5 10
displaying, 5 10
in the Interpreter Source pane, 3 7
Current scope location
changing, 5 14
definition of, 5 11
displaying, 5 12
listing variables and parameters, 5 14
Index 3
INDEX
ORA_PROF.DESTROY_TIMER, 8 63
ORA_PROF.RESET_TIMER, 8 65
ORA_PROF.START_TIMER, 8 66
ORA_PROF.STOP_TIMER, 8 67
TEXT_IO.FCLOSE, 8 68
TEXT_IO.GET_LINE, 8 71
TEXT_IO.NEW_LINE, 8 72
TEXT_IO.PUT, 8 73
TEXT_IO.PUT_LINE, 8 75
TEXT_IO.PUTF, 8 74
TOOL_ENV.GETVAR, 8 76
TOOL_ERR.CLEAR, 8 77
TOOL_ERR.POP, 8 79
TOOL_RES.RFCLOSE, 8 85
Builtin program units, 8 2
Builtin types
LIST.LISTOFCHAR, 8 30
OLE2.LIST_TYPE, 8 33
OLE2.OBJ_TYPE, 8 33
ORA_FFI.FUNCHANDLETYPE, 8 46
ORA_FFI.LIBHANDLETYPE, 8 48
ORA_FFI.POINTERTYPE, 8 48
TEXT_IO.FILE_TYPE, 8 69
TOOL_RES.RFHANDLE, 8 86
D
Database
connecting to, 7 11
disconnecting, 7 32
Database Trigger editor
description, 4 39
using, 4 39
DDE exceptions, 8 20
DDE package
APP_BEGIN function, 8 6
APP_END procedure, 8 8
APP_FOCUS procedure, 8 9
exceptions, 8 20
EXECUTE procedure, 8 10
GETFORMATNUM function, 8 11
GETFORMATSTR function, 8 12
INITIATE function, 8 13
POKE procedure, 8 14
REQUEST procedure, 8 16
TERMINATE procedure, 8 18
Debug action IDs
definition of, 5 7
using, 5 7
Debug actions
browsing, 5 7
creating, 5 3
definition of, 2 8
disabling, 5 8
displaying source, 5 8
IDs, 5 7
removing, 5 9
Debug levels
definition of, 5 15
in the Interpreter, 3 9
Interpreter command line, 5 15
nesting of, 5 15
top level, 5 15
DEBUG package
BREAK exception, 8 22
GETC function, 8 23
GETD function, 8 23
GETI function, 8 23
Index 4
GETN function, 8 23
INTERPRET procedure, 8 24
SETC procedure, 8 25
SETD procedure, 8 25
SETI procedure, 8 25
SETN procedure, 8 25
SUSPEND procedure, 8 26
Debug triggers, definition of, 5 2
DEBUG.GETx functions, retrieve variable and
parameter values, 5 13
DEBUG.SETx procedures, setting variable and
parameter values, 5 13
Debugging, stored program units, 4 33
Debugging model, 5 11
Debugging program units, 2 8
Defining, program units, 4 2
DELETE (Bind Variable) command, 7 15
examples, 7 15
DELETE (Debug Actions) command, 7 16
examples, 7 16
DELETE (Libraries) command, 7 17
examples, 7 17
DELETE (Library Program Units)
command, 7 18
examples, 7 18
DELETE (Load Path) command, 7 19
DELETE (Program Units) command, 7 20
examples, 7 20
DELETE command
removing program units
from libraries, 4 26
resetting the load path, 2 9
DELETEITEM procedure, 8 28
Deleting
libraries from database, 4 30
program units, 4 19
DESCRIBE (Debug Actions) command, 7 21
examples, 7 21
DESCRIBE (Libraries) command, 7 22
examples, 7 22
DESCRIBE (Load Path) command, 7 23
DESCRIBE (Locals) command, 7 24
examples, 7 24
D
Database
connecting to, 7 11
disconnecting, 7 32
Database Trigger editor
description, 4 39
using, 4 39
DDE exceptions, 8 20
DDE package
APP_BEGIN function, 8 6
APP_END procedure, 8 8
APP_FOCUS procedure, 8 9
exceptions, 8 20
EXECUTE procedure, 8 10
GETFORMATNUM function, 8 11
GETFORMATSTR function, 8 12
INITIATE function, 8 13
POKE procedure, 8 14
REQUEST procedure, 8 16
TERMINATE procedure, 8 18
Debug action IDs
definition of, 5 7
using, 5 7
Debug actions
browsing, 5 7
creating, 5 3
definition of, 2 8
disabling, 5 8
displaying source, 5 8
IDs, 5 7
removing, 5 9
Debug levels
definition of, 5 15
in the Interpreter, 3 9
Interpreter command line, 5 15
nesting of, 5 15
top level, 5 15
DEBUG package
BREAK exception, 8 22
GETC function, 8 23
GETD function, 8 23
GETI function, 8 23
Index 4
GETN function, 8 23
INTERPRET procedure, 8 24
SETC procedure, 8 25
SETD procedure, 8 25
SETI procedure, 8 25
SETN procedure, 8 25
SUSPEND procedure, 8 26
Debug triggers, definition of, 5 2
DEBUG.GETx functions, retrieve variable and
parameter values, 5 13
DEBUG.SETx procedures, setting variable and
parameter values, 5 13
Debugging, stored program units, 4 33
Debugging model, 5 11
Debugging program units, 2 8
Defining, program units, 4 2
DELETE (Bind Variable) command, 7 15
examples, 7 15
DELETE (Debug Actions) command, 7 16
examples, 7 16
DELETE (Libraries) command, 7 17
examples, 7 17
DELETE (Library Program Units)
command, 7 18
examples, 7 18
DELETE (Load Path) command, 7 19
DELETE (Program Units) command, 7 20
examples, 7 20
DELETE command
removing program units
from libraries, 4 26
resetting the load path, 2 9
DELETEITEM procedure, 8 28
Deleting
libraries from database, 4 30
program units, 4 19
DESCRIBE (Debug Actions) command, 7 21
examples, 7 21
DESCRIBE (Libraries) command, 7 22
examples, 7 22
DESCRIBE (Load Path) command, 7 23
DESCRIBE (Locals) command, 7 24
examples, 7 24
registering functions, 6 3
registering parameters, 6 3
registering return values, 6 4
ORA_FFI package, 8 45
E
Editors
Database Trigger editor, 4 39
Program Unit editor, 4 20
Stored Program Unit editor, 4 35
ELAPSED_TIME function, 8 64
ENABLE (Debug Actions) command, 7 33
examples, 7 33
ENABLE (Logging) command, 7 35
ENABLE command, enabling logging, 2 4
ENABLE(Compile Options) command, 7 34
ENCODE function, 8 78
Environment variables, initializing, 2 8
Errors
abnormal, 9 3
messages, 9 1
Exceptions
DDE package, 8 20
DEBUG.BREAK, 8 22
LIST.FAIL, 8 29
ORA_NLS.BAD_ATTRIBUTE, 8 54
ORA_NLS.NO_ITEM, 8 57
ORA_NLS.NOT_FOUND, 8 57
ORA_PROF.BAD_TIMER, 8 62
TOOL_ERR.TOOL_ERROR, 8 79
TOOL_RES.BAD_FILE_HANDLE, 8 83
TOOL_RES.BUFFER_OVERFLOW, 8 83
TOOL_RES.FILE_NOT_FOUND, 8 84
TOOL_RES.NO_RESOURCE, 8 84
Executable source lines
definition of, 5 3
specifying, 5 3
EXECUTE command, 7 36
examples, 7 36
EXECUTE procedure, 8 10
Executing, program units, 5 10
Executing program units
controlling, 5 14
interrupting, 3 10
Index 5
INDEX
registering functions, 6 3
registering parameters, 6 3
registering return values, 6 4
ORA_FFI package, 8 45
E
Editors
Database Trigger editor, 4 39
Program Unit editor, 4 20
Stored Program Unit editor, 4 35
ELAPSED_TIME function, 8 64
ENABLE (Debug Actions) command, 7 33
examples, 7 33
ENABLE (Logging) command, 7 35
ENABLE command, enabling logging, 2 4
ENABLE(Compile Options) command, 7 34
ENCODE function, 8 78
Environment variables, initializing, 2 8
Errors
abnormal, 9 3
messages, 9 1
Exceptions
DDE package, 8 20
DEBUG.BREAK, 8 22
LIST.FAIL, 8 29
ORA_NLS.BAD_ATTRIBUTE, 8 54
ORA_NLS.NO_ITEM, 8 57
ORA_NLS.NOT_FOUND, 8 57
ORA_PROF.BAD_TIMER, 8 62
TOOL_ERR.TOOL_ERROR, 8 79
TOOL_RES.BAD_FILE_HANDLE, 8 83
TOOL_RES.BUFFER_OVERFLOW, 8 83
TOOL_RES.FILE_NOT_FOUND, 8 84
TOOL_RES.NO_RESOURCE, 8 84
Executable source lines
definition of, 5 3
specifying, 5 3
EXECUTE command, 7 36
examples, 7 36
EXECUTE procedure, 8 10
Executing, program units, 5 10
Executing program units
controlling, 5 14
interrupting, 3 10
Index 5
INDEX
Exitting, 7 54
Expanding, nodes in Navigator, 3 4
EXPORT command, 7 37
examples, 7 38
Exporting, program units to text files, 4 17
F
FCLOSE procedure, 8 68
FILE_TYPE type, 8 69
FIND_FUNCTION function, 8 45
FIND_LIBRARY function, 8 46
FOPEN function, 8 69
Foreign function interface, definition of, 6 2
Foreign functions
creating PL/SQL interface, 6 4
handles, 6 4
registering, 6 3
Frames
definition of, 5 10
setting the current scope location, 5 14
FUNCHANDLETYPE type, 8 46
Functions
DDE.APP_BEGIN, 8 6
DDE.GETFORMATNUM, 8 11
DDE.GETFORMATSTR, 8 12
DDE.INITIATE, 8 13
DEBUG.GETC, 8 23
DEBUG.GETD, 8 23
DEBUG.GETI, 8 23
DEBUG.GETN, 8 23
definition of, 2 6
LIST.GETITEM, 8 29
LIST.MAKE, 8 31
LIST.NITEMS, 8 31
OLE2.CREATE_ARGLIST, 8 34
OLE2.CREATE_OBJ, 8 35
OLE2.GET_CHAR_PROPERTY, 8 36
OLE2.GET_NUM_PROPERTY, 8 37
ORA_FFI.FIND_FUNCTION, 8 45
ORA_FFI.FIND_LIBRARY, 8 46
ORA_FFI.IS_NULL_PTR, 8 47
ORA_FFI.LOAD_LIBRARY, 8 49
ORA_FFI.REGISTER_FUNCTION, 8 48
ORA_NLS.AMERICAN, 8 53
ORA_NLS.AMERICAN_DA TE, 8 53
Index 6
ORA_NLS.GET_LANG_SCALAR, 8 54
ORA_NLS.GET_LANG_STR, 8 55
ORA_NLS.LINGUISTIC_COLLA TE, 8 55
ORA_NLS.LINGUISTIC_SPECIALS, 8 56
ORA_NLS.MODIFIED_DATE_FMT, 8 56
ORA_NLS.RIGHT_TO_LEFT, 8 57
ORA_NLS.SIMPLE_CS, 8 58
ORA_NLS.SINGLE_BYTE, 8 58
ORA_PROF.ELAPSED_TIME, 8 64
TEXT_IO.FOPEN, 8 69
TEXT_IO.IS_OPEN, 8 70
TOOL_ERR.CODE, 8 77
TOOL_ERR.ENCODE, 8 78
TOOL_ERR.MESSAGE, 8 78
TOOL_ERR.NERRORS, 8 79
TOOL_RES.RFOPEN, 8 87
TOOL_RES.RFREAD, 8 88
G
GENERATE_FOREIGN procedure, 8 47
GET_CHAR_PROPERTY function, 8 36
GET_LANG_SCALAR function, 8 54
GET_LANG_STR function, 8 55
GET_LINE procedure, 8 71
GET_NUM_PROPERTY function, 8 37
GET_OBJ_PROPERTY procedure, 8 38
GETC function, 8 23
GETD function, 8 23
GETFORMATNUM function, 8 11
GETFORMATSTR function, 8 12
GETI function, 8 23
GETITEM function, 8 29
GETN function, 8 23
GETVAR procedure, 8 76
Global search and replace, program units, 4 9
GO command, 7 39
controlling program unit execution, 5 16
examples, 7 39
Goto Mark command, using, 3 4
GRANT command, 7 40
examples, 7 40
Granting access, to libraries, 4 31
Exitting, 7 54
Expanding, nodes in Navigator, 3 4
EXPORT command, 7 37
examples, 7 38
Exporting, program units to text files, 4 17
F
FCLOSE procedure, 8 68
FILE_TYPE type, 8 69
FIND_FUNCTION function, 8 45
FIND_LIBRARY function, 8 46
FOPEN function, 8 69
Foreign function interface, definition of, 6 2
Foreign functions
creating PL/SQL interface, 6 4
handles, 6 4
registering, 6 3
Frames
definition of, 5 10
setting the current scope location, 5 14
FUNCHANDLETYPE type, 8 46
Functions
DDE.APP_BEGIN, 8 6
DDE.GETFORMATNUM, 8 11
DDE.GETFORMATSTR, 8 12
DDE.INITIATE, 8 13
DEBUG.GETC, 8 23
DEBUG.GETD, 8 23
DEBUG.GETI, 8 23
DEBUG.GETN, 8 23
definition of, 2 6
LIST.GETITEM, 8 29
LIST.MAKE, 8 31
LIST.NITEMS, 8 31
OLE2.CREATE_ARGLIST, 8 34
OLE2.CREATE_OBJ, 8 35
OLE2.GET_CHAR_PROPERTY, 8 36
OLE2.GET_NUM_PROPERTY, 8 37
ORA_FFI.FIND_FUNCTION, 8 45
ORA_FFI.FIND_LIBRARY, 8 46
ORA_FFI.IS_NULL_PTR, 8 47
ORA_FFI.LOAD_LIBRARY, 8 49
ORA_FFI.REGISTER_FUNCTION, 8 48
ORA_NLS.AMERICAN, 8 53
ORA_NLS.AMERICAN_DA TE, 8 53
Index 6
ORA_NLS.GET_LANG_SCALAR, 8 54
ORA_NLS.GET_LANG_STR, 8 55
ORA_NLS.LINGUISTIC_COLLA TE, 8 55
ORA_NLS.LINGUISTIC_SPECIALS, 8 56
ORA_NLS.MODIFIED_DATE_FMT, 8 56
ORA_NLS.RIGHT_TO_LEFT, 8 57
ORA_NLS.SIMPLE_CS, 8 58
ORA_NLS.SINGLE_BYTE, 8 58
ORA_PROF.ELAPSED_TIME, 8 64
TEXT_IO.FOPEN, 8 69
TEXT_IO.IS_OPEN, 8 70
TOOL_ERR.CODE, 8 77
TOOL_ERR.ENCODE, 8 78
TOOL_ERR.MESSAGE, 8 78
TOOL_ERR.NERRORS, 8 79
TOOL_RES.RFOPEN, 8 87
TOOL_RES.RFREAD, 8 88
G
GENERATE_FOREIGN procedure, 8 47
GET_CHAR_PROPERTY function, 8 36
GET_LANG_SCALAR function, 8 54
GET_LANG_STR function, 8 55
GET_LINE procedure, 8 71
GET_NUM_PROPERTY function, 8 37
GET_OBJ_PROPERTY procedure, 8 38
GETC function, 8 23
GETD function, 8 23
GETFORMATNUM function, 8 11
GETFORMATSTR function, 8 12
GETI function, 8 23
GETITEM function, 8 29
GETN function, 8 23
GETVAR procedure, 8 76
Global search and replace, program units, 4 9
GO command, 7 39
controlling program unit execution, 5 16
examples, 7 39
Goto Mark command, using, 3 4
GRANT command, 7 40
examples, 7 40
Granting access, to libraries, 4 31
HELP command, 7 41
examples, 7 41
Languages, PL/SQL, 8 1
LIBHANDLETYPE type, 8 48
Libraries
attaching, 4 28
compiling, 4 28
creating, 4 25
definition of, 4 24
deleting from database, 4 30
describing, 4 29
detaching, 4 28
granting access to, 4 31
manipulating, 4 30
modifying, 4 25
renaming, 4 30
revoking access from, 4 31
searching and replacing in, 4 10
timestamps of attached, 4 26
viewing information on, 4 29
Library program units
compiling, 4 28
definition of, 4 29
loading, 4 29
Line numbering, in the source pane, 4 8
LINGUISTIC_COLLATE function, 8 55
LINGUISTIC_SPECIALS function, 8 56
LIST (Debug Actions) command, 7 46
examples, 7 46
LIST (Program Units) command, 7 47
examples, 7 48
LIST command
displaying debug action source, 5 8
displaying program units, 5 6
displaying the current
execution location, 5 10
displaying the current scope location, 5 12
LIST exceptions, FAIL, 8 29
LIST package
APPENDITEM procedure, 8 27
DELETEITEM procedure, 8 28
DESTROY procedure, 8 28
Index 7
INDEX
HELP command, 7 41
examples, 7 41
Languages, PL/SQL, 8 1
LIBHANDLETYPE type, 8 48
Libraries
attaching, 4 28
compiling, 4 28
creating, 4 25
definition of, 4 24
deleting from database, 4 30
describing, 4 29
detaching, 4 28
granting access to, 4 31
manipulating, 4 30
modifying, 4 25
renaming, 4 30
revoking access from, 4 31
searching and replacing in, 4 10
timestamps of attached, 4 26
viewing information on, 4 29
Library program units
compiling, 4 28
definition of, 4 29
loading, 4 29
Line numbering, in the source pane, 4 8
LINGUISTIC_COLLATE function, 8 55
LINGUISTIC_SPECIALS function, 8 56
LIST (Debug Actions) command, 7 46
examples, 7 46
LIST (Program Units) command, 7 47
examples, 7 48
LIST command
displaying debug action source, 5 8
displaying program units, 5 6
displaying the current
execution location, 5 10
displaying the current scope location, 5 12
LIST exceptions, FAIL, 8 29
LIST package
APPENDITEM procedure, 8 27
DELETEITEM procedure, 8 28
DESTROY procedure, 8 28
Index 7
INDEX
FAIL exception, 8 29
GETITEM function, 8 29
INSERTITEM procedure, 8 30
LISTOFCHAR type, 8 30
MAKE function, 8 31
NITEMS function, 8 31
PREPENDITEM procedure, 8 32
LIST_TYPE type, 8 33
LISTOFCHAR type, 8 30
LOAD (Library Program Units)
command, 7 49
examples, 7 49
LOAD (Program Units) command, 7 50
examples, 7 50
LOAD (Stored Program Units)
command, 7 51
examples, 7 51
Load path
adding directories, 2 9
definition of, 2 8
displaying, 2 9
initializing, 2 8
removing directories, 2 9
LOAD_LIBRARY function, 8 49
Loading
external program units, 4 3
stored program units, 4 33
Locals, examining and modifying, 5 12
LOG command, 7 52
examples, 7 52
logging Interpreter input and output, 2 4
Logging
disabling, 2 4
Interpreter input and output, 2 4
M
MAKE function, 8 31
Marking, object in Navigator, 3 4
MESSAGE function, 8 78
MODIFIED_DATE_FMT function, 8 56
Multivalued arguments, in commands, 7 2
Index 8
N
Navigator
See also Object Navigator
collapsing an object, 3 4
expanding an object, 3 4
marking an object, 3 4
reordering an object, 3 3
searching in, 3 5
selecting an object, 3 3
Navigator pane, in the modal Interpreter, 3 8
NERRORS function, 8 79
NEW_LINE procedure, 8 72
NITEMS function, 8 31
Nodes
collapsing in Navigator, 3 4
expanding in Navigator, 3 4
O
OBJ_TYPE type, 8 33
Object Navigator
collapsing an object, 3 4
description, 3 2
expanding an object, 3 4
marking an object, 3 4
object parts, 3 3
reordering an object, 3 3
searching in, 3 5
selecting an object, 3 3
Objects
collapsing in Navigator, 3 4
expanding in Navigator, 3 4
marking in Navigator, 3 4
record location of, 3 4
reordering in Navigator, 3 3
searching in Navigator, 3 5
selecting in Navigator, 3 3
OLE2 package
ADD_ARG procedure, 8 34
CREATE_ARGLIST function, 8 34
CREATE_OBJ function, 8 35
DESTROY_ARGLIST procedure, 8 35
FAIL exception, 8 29
GETITEM function, 8 29
INSERTITEM procedure, 8 30
LISTOFCHAR type, 8 30
MAKE function, 8 31
NITEMS function, 8 31
PREPENDITEM procedure, 8 32
LIST_TYPE type, 8 33
LISTOFCHAR type, 8 30
LOAD (Library Program Units)
command, 7 49
examples, 7 49
LOAD (Program Units) command, 7 50
examples, 7 50
LOAD (Stored Program Units)
command, 7 51
examples, 7 51
Load path
adding directories, 2 9
definition of, 2 8
displaying, 2 9
initializing, 2 8
removing directories, 2 9
LOAD_LIBRARY function, 8 49
Loading
external program units, 4 3
stored program units, 4 33
Locals, examining and modifying, 5 12
LOG command, 7 52
examples, 7 52
logging Interpreter input and output, 2 4
Logging
disabling, 2 4
Interpreter input and output, 2 4
M
MAKE function, 8 31
Marking, object in Navigator, 3 4
MESSAGE function, 8 78
MODIFIED_DATE_FMT function, 8 56
Multivalued arguments, in commands, 7 2
Index 8
N
Navigator
See also Object Navigator
collapsing an object, 3 4
expanding an object, 3 4
marking an object, 3 4
reordering an object, 3 3
searching in, 3 5
selecting an object, 3 3
Navigator pane, in the modal Interpreter, 3 8
NERRORS function, 8 79
NEW_LINE procedure, 8 72
NITEMS function, 8 31
Nodes
collapsing in Navigator, 3 4
expanding in Navigator, 3 4
O
OBJ_TYPE type, 8 33
Object Navigator
collapsing an object, 3 4
description, 3 2
expanding an object, 3 4
marking an object, 3 4
object parts, 3 3
reordering an object, 3 3
searching in, 3 5
selecting an object, 3 3
Objects
collapsing in Navigator, 3 4
expanding in Navigator, 3 4
marking in Navigator, 3 4
record location of, 3 4
reordering in Navigator, 3 3
searching in Navigator, 3 5
selecting in Navigator, 3 3
OLE2 package
ADD_ARG procedure, 8 34
CREATE_ARGLIST function, 8 34
CREATE_OBJ function, 8 35
DESTROY_ARGLIST procedure, 8 35
SIMPLE_CS function, 8 58
SINGLE_BYTE function, 8 58
ORA_PROF package
BAD_TIMER exception, 8 62
CREATE_TIMER procedure, 8 62
DESTROY_TIMER procedure, 8 63
ELAPSED_TIME function, 8 64
RESET_TIMER procedure, 8 65
START_TIMER procedure, 8 66
STOP_TIMER procedure, 8 67
ORAPLSQLLOADPATH, initializing, 2 8
P
Packages
body, 2 7
DDE, 8 4
DEBUG, 8 22
definition of, 2 7
LIST, 8 27
OLE2, 8 33
ORA_DE, 8 3
ORA_FFI, 8 45
ORA_NLS, 8 53
ORA_PROF, 8 62
shipped with Procedure Builder, 8 1
specification, 2 7
TEXT_IO, 8 68
TOOL_ENV, 8 76
TOOL_ERR, 8 77
TOOL_RES, 8 81
Panes
Compilation Messages pane, 4 21, 4 36
Interpreter pane, 3 9
Navigator pane, 3 8
Source pane, 3 7
Source Text pane, 4 21, 4 36
Parameters, examining and modifying, 5 12
PC, definition of, 5 10
PL/SQL, 8 1
entering in the Interpreter, 7 4
PL/SQL libraries
See also Libraries
attaching, 4 28
creating, 4 25
definition of, 4 24
Index 9
INDEX
GET_CHAR_PROPERTY function, 8 36
GET_NUM_PROPERTY function, 8 37
GET_OBJ_PROPERTY procedure, 8 38
INVOKE procedure, 8 39
INVOKE_CHAR procedure, 8 41
INVOKE_NUM procedure, 8 40
INVOKE_OBJ procedure, 8 42
LIST_TYPE subtype, 8 33
OBJ_TYPE subtype, 8 33
RELEASE_OBJ procedure, 8 43
SET_PROPERTY procedure, 8 44
OPEN command, 7 53
examples, 7 53
opening libraries, 4 26
Options, position in commands, 7 3
ORA_FFI builtin package, 8 45
ORA_FFI package
FIND_FUNCTION function, 8 45
FIND_LIBRARY function, 8 46
FUNCHANDLETYPE type, 8 46
GENERATE_FOREIGN procedure, 8 47
IS_NULL_PTR function, 8 47
LIBHANDLETYPE type, 8 48
LOAD_LIBRARY function, 8 49
POINTERTYPE type, 8 48
REGISTER_FUNCTION function, 8 48
REGISTER_PARAMETER procedure, 8 50
REGISTER_RETURN procedure, 8 51
UNLOAD_LIBRARAY procedure, 8 52
ORA_NLS constants, 8 58
ORA_NLS exception
BAD_ATTRIBUTE, 8 54
NO_ITEM, 8 57
NOT_FOUND, 8 57
ORA_NLS package
AMERICAN function, 8 53
AMERICAN_DATE function, 8 53
BAD_ATTRIBUTE exception, 8 54
constants, 8 58
GET_LANG_SCALAR function, 8 54
GET_LANG_STR function, 8 55
LINGUISTIC_COLLATE function, 8 55
LINGUISTIC_SPECIALS function, 8 56
MODIFIED_DATE_FMT function, 8 56
NO_ITEM exception, 8 57
NOT_FOUND exception, 8 57
RIGHT_TO_LEFT function, 8 57
SIMPLE_CS function, 8 58
SINGLE_BYTE function, 8 58
ORA_PROF package
BAD_TIMER exception, 8 62
CREATE_TIMER procedure, 8 62
DESTROY_TIMER procedure, 8 63
ELAPSED_TIME function, 8 64
RESET_TIMER procedure, 8 65
START_TIMER procedure, 8 66
STOP_TIMER procedure, 8 67
ORAPLSQLLOADPATH, initializing, 2 8
P
Packages
body, 2 7
DDE, 8 4
DEBUG, 8 22
definition of, 2 7
LIST, 8 27
OLE2, 8 33
ORA_DE, 8 3
ORA_FFI, 8 45
ORA_NLS, 8 53
ORA_PROF, 8 62
shipped with Procedure Builder, 8 1
specification, 2 7
TEXT_IO, 8 68
TOOL_ENV, 8 76
TOOL_ERR, 8 77
TOOL_RES, 8 81
Panes
Compilation Messages pane, 4 21, 4 36
Interpreter pane, 3 9
Navigator pane, 3 8
Source pane, 3 7
Source Text pane, 4 21, 4 36
Parameters, examining and modifying, 5 12
PC, definition of, 5 10
PL/SQL, 8 1
entering in the Interpreter, 7 4
PL/SQL libraries
See also Libraries
attaching, 4 28
creating, 4 25
definition of, 4 24
Index 9
INDEX
GET_CHAR_PROPERTY function, 8 36
GET_NUM_PROPERTY function, 8 37
GET_OBJ_PROPERTY procedure, 8 38
INVOKE procedure, 8 39
INVOKE_CHAR procedure, 8 41
INVOKE_NUM procedure, 8 40
INVOKE_OBJ procedure, 8 42
LIST_TYPE subtype, 8 33
OBJ_TYPE subtype, 8 33
RELEASE_OBJ procedure, 8 43
SET_PROPERTY procedure, 8 44
OPEN command, 7 53
examples, 7 53
opening libraries, 4 26
Options, position in commands, 7 3
ORA_FFI builtin package, 8 45
ORA_FFI package
FIND_FUNCTION function, 8 45
FIND_LIBRARY function, 8 46
FUNCHANDLETYPE type, 8 46
GENERATE_FOREIGN procedure, 8 47
IS_NULL_PTR function, 8 47
LIBHANDLETYPE type, 8 48
LOAD_LIBRARY function, 8 49
POINTERTYPE type, 8 48
REGISTER_FUNCTION function, 8 48
REGISTER_PARAMETER procedure, 8 50
REGISTER_RETURN procedure, 8 51
UNLOAD_LIBRARAY procedure, 8 52
ORA_NLS constants, 8 58
ORA_NLS exception
BAD_ATTRIBUTE, 8 54
NO_ITEM, 8 57
NOT_FOUND, 8 57
ORA_NLS package
AMERICAN function, 8 53
AMERICAN_DATE function, 8 53
BAD_ATTRIBUTE exception, 8 54
constants, 8 58
GET_LANG_SCALAR function, 8 54
GET_LANG_STR function, 8 55
LINGUISTIC_COLLATE function, 8 55
LINGUISTIC_SPECIALS function, 8 56
MODIFIED_DATE_FMT function, 8 56
NO_ITEM exception, 8 57
NOT_FOUND exception, 8 57
RIGHT_TO_LEFT function, 8 57
detaching, 4 28
modifying, 4 25
PL/SQL Program Units
batch compilation of, 4 14
deleting, 4 19
PL/SQL program units
creating, 4 2
defining, 4 2
exporting, 4 17
importing from text files, 4 6
loading external, 4 3
renaming, 4 18
searching and replacing text, 4 9
stored in the database, 4 31
POINTERTYPE type, 8 48
POKE procedure, 8 14
POP procedure, 8 79
PREPENDITEM procedure, 8 32
Privileges,
for calling stored subprograms, 4 35
Procedures
DDE.APP_END, 8 8
DDE.APP_FOCUS, 8 9
DDE.EXECUTE, 8 10
DDE.POKE, 8 14
DDE.REQUEST, 8 16
DDE.TERMINATE, 8 18
DEBUG.INTERPRET, 8 24
DEBUG.SETC, 8 25
DEBUG.SETD, 8 25
DEBUG.SETI, 8 25
DEBUG.SETN, 8 25
DEBUG.SUSPEND, 8 26
definition of, 2 6
LIST.APPENDITEM, 8 27
LIST.DELETEITEM, 8 28
LIST.DESTROY, 8 28
LIST.INSERTITEM, 8 30
LIST.PREPENDITEM, 8 32
OLE2.ADD_ARG, 8 34
OLE2.DESTROY_ARGLIST, 8 35
OLE2.GET_OBJ_PROPERTY, 8 38
OLE2.INVOKE, 8 39
OLE2.INVOKE_CHAR, 8 41
OLE2.INVOKE_NUM, 8 40
OLE2.INVOKE_OBJ, 8 42
OLE2.RELEASE_OBJ, 8 43
Index 10
OLE2.SET_PROPERTY, 8 44
ORA_FFI.GENERATE_FOREIGN, 8 47
ORA_FFI.REGISTER_PARAMETER, 8 50
ORA_FFI.REGISTER_RETURN, 8 51
ORA_FFI.UNLOAD_LIBRAR Y, 8 52
ORA_PROF.CREATE_TIMER, 8 62
ORA_PROF.DESTROY_TIMER, 8 63
ORA_PROF.RESET_TIMER, 8 65
ORA_PROF.START_TIMER, 8 66
ORA_PROF.STOP_TIMER, 8 67
TEXT_IO.FCLOSE, 8 68
TEXT_IO.GET_LINE, 8 71
TEXT_IO.NEW_LINE, 8 72
TEXT_IO.PUT, 8 73
TEXT_IO.PUT_LINE, 8 75
TEXT_IO.PUTF, 8 74
TOOL_ENV.GETVAR, 8 76
TOOL_ERR.CLEAR, 8 77
TOOL_ERR.POP, 8 79
TOOL_RES.RFCLOSE, 8 85
Program Unit editor
Compilation Messages pane, 4 21
description, 4 20
Source Text pane, 4 21
split bar, 4 22, 4 37
status bar, 4 22
using, 4 20
Program unit execution
controlling, 5 10, 5 14
interrupted, 3 10
Program Units
defining, 4 7
deleting, 4 19
renaming, 4 18
Program units
batch compilation of, 4 14
browsing, 4 15
controlling the execution of, 5 14
creating, 4 2, 4 7
debugging, 2 8
defining, 4 2
definition of, 2 5
displaying, 4 7
executing, 5 10, 7 36
exporting to text files, 4 17
importing from text files, 4 6
invalidation, 4 11
detaching, 4 28
modifying, 4 25
PL/SQL Program Units
batch compilation of, 4 14
deleting, 4 19
PL/SQL program units
creating, 4 2
defining, 4 2
exporting, 4 17
importing from text files, 4 6
loading external, 4 3
renaming, 4 18
searching and replacing text, 4 9
stored in the database, 4 31
POINTERTYPE type, 8 48
POKE procedure, 8 14
POP procedure, 8 79
PREPENDITEM procedure, 8 32
Privileges,
for calling stored subprograms, 4 35
Procedures
DDE.APP_END, 8 8
DDE.APP_FOCUS, 8 9
DDE.EXECUTE, 8 10
DDE.POKE, 8 14
DDE.REQUEST, 8 16
DDE.TERMINATE, 8 18
DEBUG.INTERPRET, 8 24
DEBUG.SETC, 8 25
DEBUG.SETD, 8 25
DEBUG.SETI, 8 25
DEBUG.SETN, 8 25
DEBUG.SUSPEND, 8 26
definition of, 2 6
LIST.APPENDITEM, 8 27
LIST.DELETEITEM, 8 28
LIST.DESTROY, 8 28
LIST.INSERTITEM, 8 30
LIST.PREPENDITEM, 8 32
OLE2.ADD_ARG, 8 34
OLE2.DESTROY_ARGLIST, 8 35
OLE2.GET_OBJ_PROPERTY, 8 38
OLE2.INVOKE, 8 39
OLE2.INVOKE_CHAR, 8 41
OLE2.INVOKE_NUM, 8 40
OLE2.INVOKE_OBJ, 8 42
OLE2.RELEASE_OBJ, 8 43
Index 10
OLE2.SET_PROPERTY, 8 44
ORA_FFI.GENERATE_FOREIGN, 8 47
ORA_FFI.REGISTER_PARAMETER, 8 50
ORA_FFI.REGISTER_RETURN, 8 51
ORA_FFI.UNLOAD_LIBRAR Y, 8 52
ORA_PROF.CREATE_TIMER, 8 62
ORA_PROF.DESTROY_TIMER, 8 63
ORA_PROF.RESET_TIMER, 8 65
ORA_PROF.START_TIMER, 8 66
ORA_PROF.STOP_TIMER, 8 67
TEXT_IO.FCLOSE, 8 68
TEXT_IO.GET_LINE, 8 71
TEXT_IO.NEW_LINE, 8 72
TEXT_IO.PUT, 8 73
TEXT_IO.PUT_LINE, 8 75
TEXT_IO.PUTF, 8 74
TOOL_ENV.GETVAR, 8 76
TOOL_ERR.CLEAR, 8 77
TOOL_ERR.POP, 8 79
TOOL_RES.RFCLOSE, 8 85
Program Unit editor
Compilation Messages pane, 4 21
description, 4 20
Source Text pane, 4 21
split bar, 4 22, 4 37
status bar, 4 22
using, 4 20
Program unit execution
controlling, 5 10, 5 14
interrupted, 3 10
Program Units
defining, 4 7
deleting, 4 19
renaming, 4 18
Program units
batch compilation of, 4 14
browsing, 4 15
controlling the execution of, 5 14
creating, 4 2, 4 7
debugging, 2 8
defining, 4 2
definition of, 2 5
displaying, 4 7
executing, 5 10, 7 36
exporting to text files, 4 17
importing from text files, 4 6
invalidation, 4 11
invalidation of dependent, 4 29
loading external, 4 3
redefining, 4 11
removing, 4 18
resolving references, 4 7
searching and replacing text, 4 9
stored in PL/SQL libraries, 4 29
PUT procedure, 8 73
PUT_LINE procedure, 8 75
PUTF procedure, 8 74
Q
QUIT command, 7 54
Quotes,
surrounding command arguments, 7 3
S
SAVE command, 7 59
examples, 7 59
saving libraries, 4 27
Scripts, executing, 4 4
Search order, when resolving references, 4 7
Searching for objects, 3 5
Selecting, object in Navigator, 3 3
SET (Scope) command
changing the current scope location, 5 14
examples, 7 61
SET command, 7 60
examples, 7 60
Set mark command, using, 3 4
SET_PROPERTY procedure, 8 44
SETC procedure, 8 25
SETD procedure, 8 25
SETI procedure, 8 25
SETN procedure, 8 25
Shared libraries. See Dynamic libraries
SHOW (Call Stack) command, 7 62
examples, 7 62
SHOW (Debug Actions) command, 7 63
examples, 7 63
SHOW (Libraries) command, 7 64
SHOW (Locals) command, 7 65
examples, 7 65
Index 11
INDEX
invalidation of dependent, 4 29
loading external, 4 3
redefining, 4 11
removing, 4 18
resolving references, 4 7
searching and replacing text, 4 9
stored in PL/SQL libraries, 4 29
PUT procedure, 8 73
PUT_LINE procedure, 8 75
PUTF procedure, 8 74
Q
QUIT command, 7 54
Quotes,
surrounding command arguments, 7 3
S
SAVE command, 7 59
examples, 7 59
saving libraries, 4 27
Scripts, executing, 4 4
Search order, when resolving references, 4 7
Searching for objects, 3 5
Selecting, object in Navigator, 3 3
SET (Scope) command
changing the current scope location, 5 14
examples, 7 61
SET command, 7 60
examples, 7 60
Set mark command, using, 3 4
SET_PROPERTY procedure, 8 44
SETC procedure, 8 25
SETD procedure, 8 25
SETI procedure, 8 25
SETN procedure, 8 25
Shared libraries. See Dynamic libraries
SHOW (Call Stack) command, 7 62
examples, 7 62
SHOW (Debug Actions) command, 7 63
examples, 7 63
SHOW (Libraries) command, 7 64
SHOW (Locals) command, 7 65
examples, 7 65
Index 11
INDEX
Index 12
T
TERMINATE procedure, 8 18
TEXT_IO package
examples, 8 75
FCLOSE procedure, 8 68
FILE_TYPE type, 8 69
FOPEN function, 8 69
GET_LINE procedure, 8 71
IS_OPEN function, 8 70
NEW_LINE procedure, 8 72
PUT procedure, 8 73
PUT_LINE procedure, 8 75
PUTF procedure, 8 74
TOOL_ENV package,
GETVAR procedure, 8 76
TOOL_ERR package
CLEAR procedure, 8 77
CODE function, 8 77
ENCODE function, 8 78
examples, 8 80
MESSAGE function, 8 78
NERRORS function, 8 79
POP procedure, 8 79
TOOL_ERROR exception, 8 79
TOPERROR constant, 8 80
TOOL_ERROR exception, 8 79
TOOL_RES exception
BAD_FILE_HANDLE, 8 83
BUFFER_OVERFLOW, 8 83
FILE_NOT_FOUND, 8 84
NO_RESOURCE, 8 84
TOOL_RES package
BAD_FILE_HANDLE exception, 8 83
Index 12
T
TERMINATE procedure, 8 18
TEXT_IO package
examples, 8 75
FCLOSE procedure, 8 68
FILE_TYPE type, 8 69
FOPEN function, 8 69
GET_LINE procedure, 8 71
IS_OPEN function, 8 70
NEW_LINE procedure, 8 72
PUT procedure, 8 73
PUT_LINE procedure, 8 75
PUTF procedure, 8 74
TOOL_ENV package,
GETVAR procedure, 8 76
TOOL_ERR package
CLEAR procedure, 8 77
CODE function, 8 77
ENCODE function, 8 78
examples, 8 80
MESSAGE function, 8 78
NERRORS function, 8 79
POP procedure, 8 79
TOOL_ERROR exception, 8 79
TOPERROR constant, 8 80
TOOL_ERROR exception, 8 79
TOOL_RES exception
BAD_FILE_HANDLE, 8 83
BUFFER_OVERFLOW, 8 83
FILE_NOT_FOUND, 8 84
NO_RESOURCE, 8 84
TOOL_RES package
BAD_FILE_HANDLE exception, 8 83
BUFFER_OVERFLOW exception, 8 83
FILE_NOT_FOUND exception, 8 84
NO_RESOURCE exception, 8 84
RFCLOSE procedure, 8 85
RFHANDLE type, 8 86
RFOPEN function, 8 87
RFREAD function, 8 88
Top level, definition of, 5 15
TOPERROR constant, 8 80
TRIGGER command, 7 70
examples, 7 71
Triggers
creating, 5 3
disabling, 5 8
in the Interpreter Source pane, 3 8
removing, 5 9
Types
FILE_TYPE type, 8 69
FUNCHANDLETYPE type, 8 46
LIBHANDLETYPE type, 8 48
LIST_TYPE type, 8 33
LISTOFCHAR type, 8 30
OBJ_TYPE type, 8 33
POINTERTYPE type, 8 48
RFHANDLE type, 8 86
U
UNLOAD_LIBRARY procedure, 8 52
V
Variables
creating, 7 12
deleting, 7 15
examining and modifying, 5 12
INDEX
Index 13
BUFFER_OVERFLOW exception, 8 83
FILE_NOT_FOUND exception, 8 84
NO_RESOURCE exception, 8 84
RFCLOSE procedure, 8 85
RFHANDLE type, 8 86
RFOPEN function, 8 87
RFREAD function, 8 88
Top level, definition of, 5 15
TOPERROR constant, 8 80
TRIGGER command, 7 70
examples, 7 71
Triggers
creating, 5 3
disabling, 5 8
in the Interpreter Source pane, 3 8
removing, 5 9
Types
FILE_TYPE type, 8 69
FUNCHANDLETYPE type, 8 46
LIBHANDLETYPE type, 8 48
LIST_TYPE type, 8 33
LISTOFCHAR type, 8 30
OBJ_TYPE type, 8 33
POINTERTYPE type, 8 48
RFHANDLE type, 8 86
U
UNLOAD_LIBRARY procedure, 8 52
V
Variables
creating, 7 12
deleting, 7 15
examining and modifying, 5 12
INDEX
Index 13
Index 14
Index 14
A324851