Oracle Apps Table Registration API


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 
DESCRIPTION 
p_appl_short_name 
The application short name of the application that owns the table (usually your custom application). 
p_tab_name 
The name of the table (in uppercase letters). 
p_tab_type 
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). 
p_pct_free 
The percentage of space in each of the table’s blocks reserved for future updates to the table (1–99). The sum of p_pct_free and p_pct_used must be less than 100. 
p_pct_used 
Minimum percentage of used space in each data block of the table (1–99). The sum of p_pct_free and p_pct_used must be less than 100. 
p_col_name 
The name of the column (in uppercase letters). 
p_col_seq 
The sequence number of the column in the table (the order in which the column appears in the table definition). 
p_col_type 
The column type (’NUMBER’, ’VARCHAR2’, ’DATE’, etc.). 
p_col_width 
The column size (a number). Use 9 for DATE columns, 38 for NUMBER columns (unless it has a specific width). 
p_nullable 
Use ’N’ if the column is mandatory or ’Y’ if the column allows null values. 
p_translate 
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 
The next extent size, in kilobytes. Do not include the ’K’. 
p_precision 
The total number of digits in a number. 
p_scale 
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 flexfield 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;
/





No comments:

Post a Comment

How to find all cancel Requisitions

SELECT prha . *   FROM po_Requisition_headers_all prha , po_action_history pah   WHERE      1 = 1        AND pah . object_id ...