Sie sind auf Seite 1von 4

Custom Table Registration API in Oracle

Application
Custom Table Registration API in Oracle Application
This Post (document) provides you with information you need to register tables to be used in
Oracle Alerts and Flex fields with Oracle Applications. We will be learning about Procedures in
the AD_DD Package,

Procedure REGISTER_TABLE,

Procedure REGISTER_COLUMN,

Procedure DELETE_TABLE,

Procedure DELETE_COLUMN

And Example of Using the AD_DD Package.


Introduction
Though Oracle Applications comes with thousands of seeded database tables, there can be
numerous applications in which one might be required to create a custom table to be used. In
most of the applications all you need is to create a table in a schema and use it directly in your
applications. Flex fields and Oracle Alert are the only features or products that require the
custom tables to be registered in Oracle Applications (Application Object Library) before they
can be used.
You register your custom application tables using a PL/SQL procedure in the AD_DD package.
Therefore you only need to register those tables (and all of their columns) that will be used with
flex fields or Oracle Alert.
You can also use the AD_DD API to delete the registrations of tables and columns from Oracle
Application Object Library tables should you later modify your tables. If you alter the table later,
then you may need to include revised or new calls to the table registration routines. To alter a
registration you should first delete the registration, and then re-register the table or column.
Remember, you should delete the column registration first, then the table registration. You should
include calls to the table registration routines in a PL/SQL script. Though you create your tables
in your own application schema, you should run the AD_DD procedures against the APPS
schema. You must commit your changes for them to take effect.
The AD_DD API does not check for the existence of the registered table or column in the
database schema, but only updates the required AOL tables. You must ensure that the tables and

columns registered actually exist and have the same format as that defined using the AD_DD
API. You need not register views.

Procedures in the AD_DD Package


1. Procedure REGISTER_TABLE

procedure register_table ( p_appl_short_name in varchar2,


p_tab_name in varchar2,
p_tab_type in varchar2,
p_next_extent in number default 512,
p_pct_free in number default 10,
p_pct_used in number default 70);
2. Procedure REGISTER_COLUMN

procedure register_column (p_appl_short_name in varchar2,


p_tab_name in varchar2,
p_col_name in varchar2,
p_col_seq in number,
p_col_type in varchar2,
p_col_width in number,
p_nullable in varchar2,
p_translate in varchar2,
p_precision in number default null,
p_scale in number default null);
3. Procedure DELETE_TABLE

procedure delete_table (p_appl_short_name in varchar2,


p_tab_name in varchar2);
4. Procedure DELETE_COLUMN

procedure delete_column (p_appl_short_name in varchar2,


p_tab_name in varchar2,
p_col_name in varchar2);
VARIABLE
NAMES
p_appl_short_nam
e
p_tab_name
p_tab_type
p_pct_free

DESCRIPTION
The application short name of the application that owns the table
(usually your custom application).
The name of the table (in uppercase letters).
Use T if it is a transaction table (almost all application tables), or
S for a seed data table (used only by Oracle Applications
products).
The percentage of space in each of the tables blocks reserved for

p_pct_used
p_col_name
p_col_seq
p_col_type
p_col_width
p_nullable

p_translate

future updates to the table (199). The sum of p_pct_free and


p_pct_used must be less than 100.
Minimum percentage of used space in each data block of the table
(199). The sum of p_pct_free and p_pct_used must be less than
100.
The name of the column (in uppercase letters).
The sequence number of the column in the table (the order in
which the column appears in the table definition).
The column type (NUMBER, VARCHAR2, DATE, etc.).
The column size (a number). Use 9 for DATE columns, 38 for
NUMBER columns (unless it has a specific width).
Use N if the column is mandatory or Y if the column allows null
values.
Use Y if the column values will be translated for an Oracle
Applications product release (used only by Oracle Applications
products) or N if the
Values are not translated (most application columns).

p_next_extent
p_precision
p_scale

The next extent size, in kilobytes. Do not include the K.


The total number of digits in a number.
The number of digits to the right of the decimal point in a number.

Example of Using the AD_DD Package


Here is an example of using the AD_DD package to register a flex field table and its columns:
Though the use of AD_DD package does not require that the table should exist first, it is always
better to create one and proceed further. Use the below mentioned script to create the dummy
table. Use the APPS User ID to run the below mentioned queries from TOAD or SQL*PLUS.
CREATE TABLE TEST_DESC ( RESOURCE_NAME VARCHAR2 (150),
RESOURCE_TYPE VARCHAR2 (100),
ATTRIBUTE_CATEGORY VARCHAR2 (40),
ATTRIBUTE1 VARCHAR2 (150),
ATTRIBUTE2 VARCHAR2 (150),
ATTRIBUTE3 VARCHAR2 (150),
ATTRIBUTE4 VARCHAR2 (150),
ATTRIBUTE5 VARCHAR2 (150),
ATTRIBUTE6 VARCHAR2 (150)
);
BEGIN
AD_DD.REGISTER_TABLE (FND,'TEST_DESC,'T);
END;

BEGIN
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'RESOURCE_NAME, 1, VARCHAR2,
150, Y, N);
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'RESOURCE_TYPE, 2, VARCHAR2,
100, Y, N);
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'ATTRIBUTE_CATEGORY, 3,
VARCHAR2, 40, Y, N);
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'ATTRIBUTE1, 4, VARCHAR2, 150,
Y, N);
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'ATTRIBUTE2, 5, VARCHAR2, 150,
Y, N);
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'ATTRIBUTE3, 6, VARCHAR2, 150,
Y, N);
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'ATTRIBUTE4, 7, VARCHAR2, 150,
Y, N);
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'ATTRIBUTE5, 8, VARCHAR2, 150,
Y, N);
AD_DD.REGISTER_COLUMN (FND, TEST_DESC,'ATTRIBUTE6, 9, VARCHAR2, 150,
Y, N);
END;

Das könnte Ihnen auch gefallen