Register a custom table in Oracle Apps
1. Create the table in the database.
create table XX_USER_TABLE(user_id NUMBER PRIMARY KEY,user_name VARCHAR2(40),description VARCHAR2(100));
2.Execute the table registration API.DECLARE v_appl_short_name VARCHAR2 (40) := 'XXCUST'; v_tab_name VARCHAR2 (32) := 'XX_USER_TABLE'; -- Change the table name if you require v_tab_type VARCHAR2 (50) := 'T'; v_next_extent NUMBER := 512; v_pct_free NUMBER; v_pct_used NUMBER;BEGIN -- Unregister the custom table if it exists ad_dd.delete_table (p_appl_short_name => 'XXCUST', p_tab_name => v_tab_name); -- Register the custom table FOR 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 => tab_details.table_name, p_tab_type => v_tab_type, p_next_extent => NVL (tab_details.next_extent, 512), p_pct_free => NVL (tab_details.pct_free, 10), p_pct_used => NVL (tab_details.pct_used, 70) ); END LOOP;
-- Register the columns of custom table
FOR 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 => all_tab_cols.column_name,
p_col_seq => all_tab_cols.column_id,
p_col_type => all_tab_cols.data_type,
p_col_width => all_tab_cols.data_length,
p_nullable => 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;
Once the table registration API completes successfully, log in to Oracle Apps.
Responsibility: Application Developer
Navigation: Application > Database > Table
Query for the custom table, XX_USER_TABLE
This comment has been removed by the author.
ReplyDelete