Register table in Apps

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

1 comment:

  1. This comment has been removed by the author.

    ReplyDelete