DECLARE
v_appl_short_name VARCHAR2 (40) := '&appl_short_name';
v_tab_name VARCHAR2 (32) := '&table_name';
v_tab_type VARCHAR2 (50) := 'T';
v_next_extent NUMBER := 512;
v_pct_free NUMBER;
v_pct_used NUMBER;
BEGIN
-- Unregistering the custom table if it exists
ad_dd.delete_table (p_appl_short_name => v_appl_short_name,
p_tab_name => v_tab_name);
-- Registering the custom table
FOR i_tab_details IN (SELECT table_name,
tablespace_name,
pct_free,
pct_used,
ini_trans,
max_trans,
initial_extent,
next_extent
FROM dba_tables
WHERE table_name = v_tab_name)
LOOP
ad_dd.register_table (
p_appl_short_name => v_appl_short_name,
p_tab_name => i_tab_details.table_name,
p_tab_type => v_tab_type,
p_next_extent => NVL (i_tab_details.next_extent, 512),
p_pct_free => NVL (i_tab_details.pct_free, 10),
p_pct_used => NVL (i_tab_details.pct_used, 70));
END LOOP;
-- Registering the columns of our custom table
FOR i_all_tab_cols IN (SELECT column_name,
column_id,
data_type,
data_length,
nullable
FROM all_tab_columns
WHERE table_name = v_tab_name)
LOOP
ad_dd.register_column (
p_appl_short_name => v_appl_short_name,
p_tab_name => v_tab_name,
p_col_name => i_all_tab_cols.column_name,
p_col_seq => i_all_tab_cols.column_id,
p_col_type => i_all_tab_cols.data_type,
p_col_width => i_all_tab_cols.data_length,
p_nullable => i_all_tab_cols.nullable,
p_translate => 'N',
p_precision => NULL,
p_scale => NULL);
END LOOP;
FOR all_keys IN (SELECT constraint_name, table_name, constraint_type
FROM all_constraints
WHERE constraint_type = 'P' AND table_name = v_tab_name)
LOOP
ad_dd.register_primary_key (
p_appl_short_name => v_appl_short_name,
p_key_name => all_keys.constraint_name,
p_tab_name => all_keys.table_name,
p_description => 'Register primary key',
p_key_type => 'S',
p_audit_flag => 'N',
p_enabled_flag => 'Y');
FOR all_columns
IN (SELECT column_name, position
FROM dba_cons_columns
WHERE table_name = all_keys.table_name
AND constraint_name = all_keys.constraint_name)
LOOP
ad_dd.register_primary_key_column (
p_appl_short_name => v_appl_short_name,
p_key_name => all_keys.constraint_name,
p_tab_name => all_keys.table_name,
p_col_name => all_columns.column_name,
p_col_sequence => all_columns.POSITION);
END LOOP;
END LOOP;
COMMIT;
END;
Table registration API in Oracle Apps
Posted by
Hareesh Pothuguntla
| Published on 23 March, 2016
| Categories:
Apps,
SQL Quries for Apps
| Follow us on Facebook | Twitter | Youtube

FA8F347B
ReplyDeleteDüzce
Kırşehir
Isparta
Uşak
Yalova
Erzincan
Antep
Van
Bingöl
ADEFC892
ReplyDeleteEsat
Bafra
Ortaköy
Eşme
Nizip
Gelibolu
Kızıltepe
Cizre
Ayaş
DFAE6F1E
ReplyDeleteMenderes
Cizre
Midyat
Sur
Turgutlu
Ödemiş
Darıca
Karamürsel
Karatay