You are on page 1of 3

Custom Oracle Apps standard document

Oracle APPS Schema


Oracle Apps User

1)

By default with Oracle Apps full installation, the database contains Group A {AR, AP, GL, PO, INV, HR, PAY} and {APPS} users The Group A contains all the standards objects created by oracle {Tables, Triggers}. The User APPS will contain {Synonyms, Views, Grands and Packages} for all the App. Apps users in Group A.
For all above we should :

Example:

Not to update any database object in Group A. 2) Not to Delete/Insert new Objects in Group A. 3) For new updates/Modifications/Adds to create new user (standard name started by XX). 4) To change the Synonym from APPS to use the new Object from XX{USERNAME}. 5) XX{USERNaME}, it contains {Tables, Constraints, Indexes} 6) APPS User, it contains {Packages, Views, Sequences, Synonyms} SEED Data: Required data installed by default to make the application running [delete not allowed].

The APPS schema

Schema {Tables, Triggers, Constraints, Indexes} AR AP

APPS
GL PO INV HR PAY XX

{ Packages, Views, Grands, Synonyms, Sequance }

Database Objects
Objects Name

DB Objects {CLUSTER, CONSUMER GROUP, CONTEXT, DATABASE


LINK, DIRECTORY, EVALUATION CONTEXT, FUNCTION, INDEX, INDEX PARTITION, LIBRARY, LOB, MATERIALIZED VIEW, OPERATOR, PACKAGE, PACKAGE BODY, PROCEDURE, QUEUE, RESOURCE PLAN, SEQUENCE, SYNONYM, TABLE, TABLE PARTITION, TRIGGER, TYPE, TYPE BODY, VIEW}

1) 2) 3) 4) 5)
Example:

Usually we use {Triggers, Sequences, Tables, Views, Packages, Indexes,


constraints, synonyms}.

Always for new object name created by the APPS users it will start with XX{Name}. The standard naming conventions for the objects are: XX{Username}_{IndexName}_Idx XX{Username}_{PackageName}_Pkg XX{Username}_{SequenceName}_S XX{Username}_{PrimaryKey}_Pk XX{Username}_{ViewName}_V

For ORG customization Project, new tables created with name XXORG_{Table_Name} For New View, you will create it on APPS with name XXORG_{ViewName}_V.

Use the Database Packages

No Procedures/ Functions will be created separate alone; all will be created inside the package. For exmple:

CREATE OR REPLACE PACKAGE XxORG_REQ_Pub AS -------------------------------------------------------------------------FUNCTION After_sr_create( p_incident_id IN NUMBER ) RETURN VARCHAR2; -------------------------------------------------------------------------PROCEDURE installbase_process(p_incident_id IN NUMBER, p_sr_int_name IN VARCHAR2, x_return_status OUT VARCHAR2 ); END XxORG_REQ_Pub; Table Structure Changes
To add new fields related to one table (ORACLE APPS Table), we should: 1) Not to alter/Modify the APPS Table.

2) 3)

To create appendix new table to main one [APPS Table] Called XXORG_{TableName}. The Table will have /the Foreign Key to the main table without creating Foreign Key constrain on same table/ the Who Columns*/ the Attribute Columns/ all other new columns. DFF (descriptive flex field) to communicate the APPS table with the new [XXORG_{TableName}] since I found I have to create Attribute columns more than 15. Not to create Foreign key constrain in any, it will add additional steps and make the system slower. Add/Insert/Delete records should be through Database Packages.

Example:

No Foreign Key Constrain Add/Update/Delete Entities Table View Example:

For Each Table There is a view with same Convention name. For forms, we using the views, but while saving we will use the database packages to Add/Update or delete. The table Name XXORG_SCM_SMW_HEADER, the view for the table is

XXORG_SCM_SMW_HEADER_V.

Primary Key
Internal Id Columns:

These Columns contain values that uses internally and the user never sees, you can obtain these values only by looking in the tables. You do not need to enter a value for any of these ID columns and you will use a sequence number to fill it automatically while inserting.
XXORG_[Table_Name] will have columns (Postal Code, Desc), then you have to create new primary key field (Postal_ID) using sequence called XXORG_[Sequance_Name]_S.

Example:

XXORG Tables
Attributes Columns: For any table, it contains the columns 1) Attribute_Category Varchar2(30) 2) Attribute1 Varchar2(150) . . . . . . 15) Attribute15 Varchar2(150) Null Null . . . Null

At least the above columns should be added, and we can add more 16) Attribute16 Varchar2(150) Null 17) Attribute17 Varchar2(150) Null . . . . . . . . . ) Attribute Varchar2(150) Null We can use the columns for any purpose & Type like Date, Character or number assigned from the forms designer. We can use the same column for different values & types according or reference to any field value on same table or on another table.
Attribute_Category Attribute1 Attribute2 Attribute3 > > > > Type Varchar2(20) Postal Code Varchar2(10) County Code Number(5) If Type {Attribute_Category} = A then Attribute3 is Age Number(3) If Type {Attribute_Category} = B then Attribute3 is Birth date Date.

Example:

Who Columns

1) 2) 3) 4) 5)

For any table, it contains the Who Columns


Created_by Created_date Last_update_by Last_update_date Last_update_login Number(10) not null Date not null Number(10) Date Number(10)

You might also like