Following PL/SQL script can be used to register a Custom Table and its columns in Oracle Applications.
-------------------------------------------------------------------------------------
BEGIN
AD_DD.REGISTER_TABLE ('FND','XXCUST_DFF_DEMO','T');
END;
/
BEGIN
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','PERSON_ID', 1, 'NUMBER', 38, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','NAME', 2, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE_CATEGORY', 3, 'VARCHAR2', 100, 'Y', 'N');
-- DFF Columns
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE1', 4, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE2', 5, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE3', 6, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE4', 7, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE5', 8, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE6', 9, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE7', 10, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE8', 11, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE9', 12, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE10', 13, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE11', 14, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE12', 15, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE13', 16, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE14', 17, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE15', 18, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE16', 19, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE17', 20, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE18', 21, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE19', 22, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE20', 23, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE21', 24, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE22', 25, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE23', 26, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE24', 27, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE25', 28, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE26', 29, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE27', 30, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE28', 31, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE29', 32, 'VARCHAR2', 100, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','ATTRIBUTE30', 33, 'VARCHAR2', 100, 'Y', 'N');
-- WHO Columns
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','CREATED_BY', 34, 'NUMBER', 38, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','CREATION_DATE', 35, 'DATE', 9, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','LAST_UPDATED_BY', 36, 'NUMBER', 38, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','LAST_UPDATE_DATE', 37, 'DATE', 9, 'Y', 'N');
AD_DD.REGISTER_COLUMN ('FND', 'XXCUST_DFF_DEMO','LAST_UPDATE_LOGIN', 38, 'NUMBER', 38, 'Y', 'N');
END;
COMMENTS