15 Create Custom Application in Oracle EBS

 

How to Create a Custom Application in Oracle E-Business Suite R12.2 Using AD Splice

Introduction

This guide walks you through the process of creating a custom application in Oracle E-Business Suite Release 12.2 using the AD Splice utility. AD Splice allows you to clone existing application definitions to create new custom applications, saving significant development time and ensuring consistency with Oracle's application structure.


Prerequisites

Before beginning, ensure you have:

  • Access to the application tier with applmgr user privileges

  • The Support Diagnostics (IZU) patch (Patch 3636980) downloaded

  • Appropriate permissions to create database objects

  • Sourced the RUN File System environment for your EBS R12.2 instance


Step 1: Download and Prepare the Patch

1.1 Download the Patch

Download patch 3636980: Support Diagnostics (IZU) patch for AD Splice from Oracle Support. Once downloaded, copy it to a directory in the application tier. In this example, we'll use the non-edition file system:

bash
[applmgr@apps scripts]$ cd /u01/install/APPS/fs_ne/EBSapps/patch
[applmgr@apps patch]$ ls -lrt p3636980_R12_GENERIC.zip
-rw-r--r-- 1 applmgr oinstall 13049 Sep 13  2021 p3636980_R12_GENERIC.zip

1.2 Unzip the Patch

Login as applmgr user and extract the patch contents:

bash
[applmgr@apps patch]$ unzip -q p3636980_R12_GENERIC.zip

Step 2: Prepare Configuration Files

2.1 Locate the Required Files

Navigate to the extracted patch directory:

bash
[applmgr@apps patch]$ cd 3636980/izu/admin
[applmgr@apps admin]$ ls
driver  izuprod.txt  izuterr.txt  newprods.txt

You'll find three critical text files:

  • izuprod.txt - Product definition file

  • izuterr.txt - Territory definition file

  • newprods.txt - AD Splice control file

2.2 Copy Files to Temporary Directory

bash
[applmgr@apps tmp]$ cp /u01/install/APPS/fs_ne/EBSapps/patch/3636980/izu/admin/izuprod.txt /tmp/
[applmgr@apps tmp]$ cp /u01/install/APPS/fs_ne/EBSapps/patch/3636980/izu/admin/izuterr.txt /tmp/
[applmgr@apps tmp]$ cp /u01/install/APPS/fs_ne/EBSapps/patch/3636980/izu/admin/newprods.txt /tmp/

2.3 Rename Files for Your Custom Application

For this example, we're creating a custom application named xxrm:

bash
[applmgr@apps tmp]$ mv izuprod.txt xxrmprod.txt
[applmgr@apps tmp]$ mv izuterr.txt xxrmterr.txt

2.4 Modify the Control File (newprods.txt)

Open newprods.txt with a text editor and replace all references:

  • Replace izu → xxrm (lowercase)

  • Replace IZU → XXRM (uppercase)

Important: This file is case-sensitive, so ensure all replacements are accurate.

The modified file should look similar to:

properties
product=xxrm
base_product_top=*APPL_TOP*
applmgr_schema=xxrm
sizing_factor=100
main_tspace=USER_DATA
index_tspace=USER_IDX
temp_tspace=TEMP
default_tspace=USER_DATA

Note for R12.2: AD Splice ignores the main_tspace and index_tspace parameters and uses the default OATM tablespaces (APPS_TS_TX_DATA and APPS_TS_TX_IX) instead.

2.5 Assign an Application ID

Choose an application ID above 50000 that is not already in use. Verify availability using SQL:

sql
SQL> SELECT &appid "Application ID", 
            DECODE(count, 0, 'Application ID is available', 'Application ID is in use') Status
     FROM (
       SELECT count(*) as count FROM (
         SELECT 'x' FROM apps.fnd_applmgr_userid WHERE applmgr_id = &appid
         UNION
         SELECT 'x' FROM apps.fnd_application WHERE application_id = &appid
       )
     );

For this example, we'll use Application ID 55555:

text
Application ID    STATUS
----------------  ---------------------------
55555             Application ID is available

2.6 Update xxrmprod.txt

Open xxrmprod.txt and:

  1. Replace izu → xxrm

  2. Replace IZU → XXRM

  3. Update the application ID to 55555

Example section after modifications:

properties
# Product specific Product ID's
xxrm     55555
 
END_OF_PRODUCT_ABBREVIATIONS   -999

# ##################################################
# Applmgr Support Diagnostic Tools
# ##################################################

# application id, abbreviation, shortname, prefix
55555 xxrm XXRM APP
# multiple product installations for msob, "controlled release", shared only
#   optional fourth field is "stub product".  default is No
No No No No
# multilingual, has NLADD.sql
Yes Yes
# install applmgr id, default APPLMGR username, default APPLMGR password
55555 XXRM XXRM

2.7 Update xxrmterr.txt

Open xxrmterr.txt and replace:

  • izu → xxrm

  • IZU → XXRM

Example:

properties
# product names in this language
c       xxrm     xxrm_custom_app
END_OF_PRODUCT_NAMES

2.8 Copy Files to APPL_TOP

bash
[applmgr@apps tmp]$ cp newprods.txt $APPL_TOP/admin/
[applmgr@apps tmp]$ cp xxrmprod.txt $APPL_TOP/admin/
[applmgr@apps tmp]$ cp xxrmterr.txt $APPL_TOP/admin/

Step 3: Run AD Splice

3.1 Verify Environment

Confirm you're sourced to the RUN File System:

bash
[applmgr@apps tmp]$ echo $FILE_EDITION

3.2 Navigate and Execute

bash
[applmgr@apps tmp]$ cd $APPL_TOP/admin/
[applmgr@apps appl]$ adsplice

AD Splice Copyright Notice:

text
Copyright (c) 2002, 2012 Oracle Corporation
Redwood Shores, California, USA

AD Splicer
Version 12.2.0

NOTE: You may not use this utility for custom development
      unless you have written permission from Oracle Corporation.

3.3 Follow the Prompts

  1. Confirm APPL_TOP:

    text
    Your default directory is '/u01/install/APPS/fs1/EBSapps/appl'.
    Is this the correct APPL_TOP [Yes] ? [Press Enter]
  2. Control File Location:

    text
    Please enter the directory where your AD Splicer control file is located.
    The default directory is [/u01/install/APPS/fs1/EBSapps/appl/admin] : [Press Enter]
  3. Control File Name:

    text
    Please enter the name of your AD Splicer control file [newprods.txt] : [Press Enter]

AD Splice will now create your custom application. Review the log file once complete to confirm success.


Step 4: Verification

4.1 Database Tier Verification

Connect to SQL*Plus as the APPS user and run these queries:

Verify Application Registration:

sql
SQL> SELECT application_id, application_short_name, basepath 
     FROM fnd_application 
     WHERE application_short_name = 'XXRM';

 APPLICATION_ID    APPLICATION_SHORT_NAME    BASEPATH
---------------    ---------------------     ---------
55555              XXRM                      XXRM_TOP

Verify Product Installation:

sql
SQL> SELECT application_id, oracle_id, product_version, 
            tablespace, index_tablespace, sizing_factor
     FROM fnd_product_installations
     WHERE application_id = 55555;

 APPLICATION_ID    ORACLE_ID    PRODUCT_VERSION    TABLESPACE      INDEX_TABLESPACE    SIZING_FACTOR
---------------    ---------    ---------------    -----------     ----------------    -------------
55555              55555        12.0.0             APPS_TS_TX_DATA APPS_TS_TX_IDX     100

Verify Database User:

sql
SQL> SELECT username, user_id 
     FROM dba_users 
     WHERE username = 'XXRM';

 USERNAME    USER_ID
 ---------   -------
 XXRM        1981

Note for R12.2: The new user will be edition-enabled with Edition-Based Redefinition (EBR) enabled on custom objects.

4.2 Application Tier Verification

Verify environment variables:

bash
[applmgr@apps ~]$ env | grep XXRM
XXRM_TOP=/u01/install/APPS/fs1/EBSapps/appl/xxrm/12.0.0

Verify directory structure:

bash
[applmgr@apps ~]$ ls $XXRM_TOP
admin  log  mesg  out  sql

Conclusion

Your custom application XXRM (Application ID: 55555) has been successfully created in Oracle E-Business Suite R12.2. The application now has:

  • ✅ Registered application definition

  • ✅ Product installation records

  • ✅ Dedicated database schema with EBR support

  • ✅ Complete directory structure on the application tier


References

  • Oracle E-Business Suite Maintenance Guide (Chapter 7: Applications DBA System Maintenance Tasks and Tools)

  • Database Advanced Application Developer's Guide (Chapter 19: Edition-Based Redefinition)

  • Oracle E-Business Suite Developer's Guide

  • Oracle Support Doc ID 1577707.1: Creating a Custom Application in Oracle E-Business Suite Release 12.1.3 and above

No comments:

Post a Comment