Oracle APPS Coding Standards:
All Oracle module file names are limited to eight characters in length to comply with the Oracle base module standards. However, script file names for creating database objects can be longer than eight characters. Depending on the type of script, the name should be the same as the object being created or a descriptive title that describes the purpose of the script. The following naming standards must be followed to ensure that all custom modules are consistently named.
* NOTE: There is one exception to this rule. A base Oracle report should not be renamed if that program name is hard-coded in another program that calls the report. This occurs when the source code for the calling program is not available, which means the report name cannot be changed. In this case, the vanilla program should be copied to <filename>.old in the same directory.
Custom Form, Report, and Library Names
1. New Forms/Reports/Libraries:
EXXYYZZZ.ext
E: Character that differentiates custom modules from Oracle modules, E comes from <Company name>
XX: Two-character product name (i.e., AR, GL). Keep only the first two characters if the product name is long than two characters.
YY: Two-character abbreviation for the function group
ZZZ: Three-character abbreviation for the description/purpose of the module
ext: Module extension (.fmb for forms, .rdf for reports, .pll for libraries)
For example, EGLCRGEN.fmb:
E: Custom module
GL: General Ledger
CR: Currency Revaluation
GEN: Generation
fmb: Oracle form
2. Modification of existing Forms/Reports/Libraries:
For the modification of an existing module, rename the module with the same naming convention as for the new modules, described above. As far as possible, we should avoid the modification of existing forms/reports/libraries. The implications are extremely serious in terms of code maintenance, upgrades and future releases. Please consult with the Development Manager before any such decision is taken. However, if you absolutely need to, here is an example - to modify the Form module GLXJIRUN.FMB, copy this module to a new module name EGLJIRUN.FMB.
Oracle Report file names should be uppercase, while the file extension should be lower case ( i.e. GLACTANP.rdf ) to comply with the Concurrent Program Naming Standard (see AOL Reference Manual Page 9-24).
Custom Scripts to Create Database Objects
The scripts to create custom database objects should be named the same as the object that will be created. Individual scripts should be created for each custom object. The extension will indicate the type of script that it is. Please refer to the Database Naming Standards section of this document for information on naming custom database objects. These script names are listed below.
Database Table Creation Script: <Custom Table Name>.tab
Database Index Creation Script: <Custom Index Name>.ind
View Creation Script: <Custom Table Name>_V.vw
Sequence Creation Script: <Custom Table Name>_S.seq
SQL Script: <Script Description>.sql
PL/SQL Script: <Script Description>.pls
Custom Procedure/Package install script: <Package Description>.pkg
Custom Database Trigger install script: <Trigger Description>.trg
Synonym Script: <Description>.syn
Customization Types
This section describes the steps involved with the different types of customizations. The customizations that wil be discussed in brief below are:
A. Modification to an Existing Module (Form/Report/Library)
B. Creation of a New Form/Report/Library Module
C. Creation of or Modification to an Existing Menu Module
D. Modification to an Existing Table
E. Creation of a New Table
F. Creation of or Modification to an Existing Stored Procedure/Function/Database Trigger
G. Modification to an Existing View
H. Creation of a New View
A. Modification to an Existing Module (Form/Report/Library)
Use this Customization Type if the GAP warrants the modification of an existing Oracle Form/Report/Library module.
1. This option should be used only if absolutely unavoidable. Please consult with the Development Manager before this decision is taken.
2. In the case of a form, determine if a descriptive flexfield is the solution instead of the modification. If not, go to step 3.
3. Copy the existing Oracle Application source module to the appropriate custom directory and rename the module file according to the specified naming standards.
4. Perform the modifications with the appropriate tools (i.e. Forms 6i/10g, SQL*Navigator, SQL*Plus, etc.)
5. Compile/generate the module on the application server. The $FORMS_PATH environment variable must be set up correctly in order to compile/generate customizations. the setting is:
FORMS_PATH=${XXAU_TOP}/resource:${XXAU_TOP}/form/US:
${AU_TOP}/resource:${AU_TOP}/forms/US:${XXAR_TOP}/forms/US etc.
6. For forms and reports, register the module in AOL to point to the new, custom module rather than the Oracle base module.
7. For forms, create the menu (if it does not exist) and link it to the module through the creation of a function.
8. Remap the responsibilities, if necessary.
B. Creation of a New Form/Report/Library Module
Perform step 4 onwards of the Modification to Existing Module process, described above. The only difference is that the new module will not be copied from an existing Oracle module. It will be created using the appropriate template.
C. Creation of or Modification to an Existing Menu Module
1. Create and register the menu module within the AOL.
2. Assign menu to custom responsibility.
3. Assign custom responsibility to users.
4. If the module is replacing an existing module, review the Oracle responsibilities assigned to the old module.
D. Modification to an Existing Table
Existing Oracle Applications tables should never be directly modified beyond using descriptive flexfields. If utilizing a descriptive flexfield is not the solution, a new custom table must be created. Please proceed to the next process for the steps to create a new table.
E. Creation of a New Table
1. Create the DDL script for the new table with the help of SQL*Navigator. The script should be named the same as the table name with a “.tab” file extension.
2. Execute the DDL script in the appropriate custom schema (i.e. XXAR, XXINT).
3. Create a public synonym for the table in the corresponding custom schema.
4. Determine if any indexes are required and if so, create them.
F. Creation of or Modification to an Existing Stored Procedure/Function/ Database Trigger
1. Create the DDL for the new script using SQL*Navigator, and name it with the correct file name.
2. Execute and test the custom package in the APPS schema.
G. Modification to an Existing View
Existing Oracle Applications views should never be directly modified beyond using descriptive flexfields. If utilizing a descriptive flexfield is not the solution, a new custom view must be created. Please proceed to the next process for the steps to create a new view.
H. Creation of a New View
1. Create the DDL script for the view and ensure that you name the view using the database object naming standards.
2. The script should be named the same as the view name with “.vw” file extension.
3. Execute the DDL script in the APPS schema.
All Oracle module file names are limited to eight characters in length to comply with the Oracle base module standards. However, script file names for creating database objects can be longer than eight characters. Depending on the type of script, the name should be the same as the object being created or a descriptive title that describes the purpose of the script. The following naming standards must be followed to ensure that all custom modules are consistently named.
* NOTE: There is one exception to this rule. A base Oracle report should not be renamed if that program name is hard-coded in another program that calls the report. This occurs when the source code for the calling program is not available, which means the report name cannot be changed. In this case, the vanilla program should be copied to <filename>.old in the same directory.
Custom Form, Report, and Library Names
1. New Forms/Reports/Libraries:
EXXYYZZZ.ext
E: Character that differentiates custom modules from Oracle modules, E comes from <Company name>
XX: Two-character product name (i.e., AR, GL). Keep only the first two characters if the product name is long than two characters.
YY: Two-character abbreviation for the function group
ZZZ: Three-character abbreviation for the description/purpose of the module
ext: Module extension (.fmb for forms, .rdf for reports, .pll for libraries)
For example, EGLCRGEN.fmb:
E: Custom module
GL: General Ledger
CR: Currency Revaluation
GEN: Generation
fmb: Oracle form
2. Modification of existing Forms/Reports/Libraries:
For the modification of an existing module, rename the module with the same naming convention as for the new modules, described above. As far as possible, we should avoid the modification of existing forms/reports/libraries. The implications are extremely serious in terms of code maintenance, upgrades and future releases. Please consult with the Development Manager before any such decision is taken. However, if you absolutely need to, here is an example - to modify the Form module GLXJIRUN.FMB, copy this module to a new module name EGLJIRUN.FMB.
Oracle Report file names should be uppercase, while the file extension should be lower case ( i.e. GLACTANP.rdf ) to comply with the Concurrent Program Naming Standard (see AOL Reference Manual Page 9-24).
Custom Scripts to Create Database Objects
The scripts to create custom database objects should be named the same as the object that will be created. Individual scripts should be created for each custom object. The extension will indicate the type of script that it is. Please refer to the Database Naming Standards section of this document for information on naming custom database objects. These script names are listed below.
Database Table Creation Script: <Custom Table Name>.tab
Database Index Creation Script: <Custom Index Name>.ind
View Creation Script: <Custom Table Name>_V.vw
Sequence Creation Script: <Custom Table Name>_S.seq
SQL Script: <Script Description>.sql
PL/SQL Script: <Script Description>.pls
Custom Procedure/Package install script: <Package Description>.pkg
Custom Database Trigger install script: <Trigger Description>.trg
Synonym Script: <Description>.syn
Customization Types
This section describes the steps involved with the different types of customizations. The customizations that wil be discussed in brief below are:
A. Modification to an Existing Module (Form/Report/Library)
B. Creation of a New Form/Report/Library Module
C. Creation of or Modification to an Existing Menu Module
D. Modification to an Existing Table
E. Creation of a New Table
F. Creation of or Modification to an Existing Stored Procedure/Function/Database Trigger
G. Modification to an Existing View
H. Creation of a New View
A. Modification to an Existing Module (Form/Report/Library)
Use this Customization Type if the GAP warrants the modification of an existing Oracle Form/Report/Library module.
1. This option should be used only if absolutely unavoidable. Please consult with the Development Manager before this decision is taken.
2. In the case of a form, determine if a descriptive flexfield is the solution instead of the modification. If not, go to step 3.
3. Copy the existing Oracle Application source module to the appropriate custom directory and rename the module file according to the specified naming standards.
4. Perform the modifications with the appropriate tools (i.e. Forms 6i/10g, SQL*Navigator, SQL*Plus, etc.)
5. Compile/generate the module on the application server. The $FORMS_PATH environment variable must be set up correctly in order to compile/generate customizations. the setting is:
FORMS_PATH=${XXAU_TOP}/resource:${XXAU_TOP}/form/US:
${AU_TOP}/resource:${AU_TOP}/forms/US:${XXAR_TOP}/forms/US etc.
6. For forms and reports, register the module in AOL to point to the new, custom module rather than the Oracle base module.
7. For forms, create the menu (if it does not exist) and link it to the module through the creation of a function.
8. Remap the responsibilities, if necessary.
B. Creation of a New Form/Report/Library Module
Perform step 4 onwards of the Modification to Existing Module process, described above. The only difference is that the new module will not be copied from an existing Oracle module. It will be created using the appropriate template.
C. Creation of or Modification to an Existing Menu Module
1. Create and register the menu module within the AOL.
2. Assign menu to custom responsibility.
3. Assign custom responsibility to users.
4. If the module is replacing an existing module, review the Oracle responsibilities assigned to the old module.
D. Modification to an Existing Table
Existing Oracle Applications tables should never be directly modified beyond using descriptive flexfields. If utilizing a descriptive flexfield is not the solution, a new custom table must be created. Please proceed to the next process for the steps to create a new table.
E. Creation of a New Table
1. Create the DDL script for the new table with the help of SQL*Navigator. The script should be named the same as the table name with a “.tab” file extension.
2. Execute the DDL script in the appropriate custom schema (i.e. XXAR, XXINT).
3. Create a public synonym for the table in the corresponding custom schema.
4. Determine if any indexes are required and if so, create them.
F. Creation of or Modification to an Existing Stored Procedure/Function/ Database Trigger
1. Create the DDL for the new script using SQL*Navigator, and name it with the correct file name.
2. Execute and test the custom package in the APPS schema.
G. Modification to an Existing View
Existing Oracle Applications views should never be directly modified beyond using descriptive flexfields. If utilizing a descriptive flexfield is not the solution, a new custom view must be created. Please proceed to the next process for the steps to create a new view.
H. Creation of a New View
1. Create the DDL script for the view and ensure that you name the view using the database object naming standards.
2. The script should be named the same as the view name with “.vw” file extension.
3. Execute the DDL script in the APPS schema.