Basically a schema is collection of objects(tables, views, indexes,sequences) belonging to particular user, here in case of Oracle apps every module is implemented as a user for example Order Management is implemented as a user ONT, so to create a custom schema, we need to create a user and register the user with AOL.
check this link for step by step process to create a custom module(Application) and register with oracle AOL. Source: CoolInterview.com
Stept to Create Custom Applications are required if you are creating new forms, reports, etc.
This allows you to segregate your custom written files from the standard seeded functionality thatOracle Applications provide. Customizations can therefore be preserved when applying patches or upgrades to your environment. 1) Make the directory structure for your custom application files. cd $APPL_TOP mkdir fz mkdir fz/11.5.0 mkdir fz/11.5.0/admin mkdir fz/11.5.0/admin/sql mkdir fz/11.5.0/admin/odf mkdir fz/11.5.0/sql mkdir fz/11.5.0/bin mkdir fz/11.5.0/reports mkdir fz/11.5.0/reports/US mkdir fz/11.5.0/forms mkdir fz/11.5.0/forms/US mkdir fz/11.5.0/$APPLLIB mkdir fz/11.5.0/$APPLOUT mkdir fz/11.5.0/$APPLLOG 2) Add the custom module into the environmentApply ADX.E.1 and add the entry to topfile.txt as a standard product top entry . Customised environment variables can be added to AutoConfig by using the filename specificed by s_custom_file, which is then called from the APPSORA.env file. If using Forms Listener Servlet, you may also need to add $CUSTOM_TOP to formsservlet.ini in$APACHE_TOP/Jserv/etc 3) Create new tablespace for database objects create tablespace FZ datafile '/u01/oracle/visdata/fz.dbf' size 10M default storage(initial 10k next 10k)4) Create schema create user fz identified by fz default tablespace fz temporary tablespace temp quota unlimited on fz quota unlimited on temp; grant connect, resource to fz;5) Register your Oracle Schema. Login to Applications with System Administrator responsibility Navigate to Application-->Register Application = FZ Custom Short Name = FZ Basepath = FZ_TOP Description = FZ Custom Application6) Register Oracle User Naviate to Security-->Oracle-->Register Database User Name = FZ Password = FZ Privilege = Enabled Install Group = 0 Description = FZ Custom Application User7) Add Application to a Data Group Navigate to Security-->Oracle-->DataGroup Data Group = FZGroup Description = FZ Custom Data Group Click on "Copy Applications from" and pick Standard data Group, then add the following entry. Application = FZ Custom Oracle ID = APPS Description = FZ Custom Application Create custom request group This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility Navigate to Security-->responsbility-->Request Group = FZ Request Group Application = FZ Custom Code = FZ Description = FZ Custom Requests We will not define any requests to add to the group at this stage, but you can add some now if required.9) Create custom menu This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility. We will create two menus, one for Core Applications and one for Self Service. Navigate to Application-->Menu Menu = FZ_CUSTOM_MENU User Menu Name = FZ Custom Application Menu Type = <leave blank> Description = FZ Custom Application Menu Seq = 100 Prompt = View Requests Submenu = <leave blank> Function = View All Concurrent Requests Description = View Requests Seq = 110 Prompt = Run Requests Submenu = <leave blank> Function = Requests: Submit Description = Submit Requests Menu = FZ_CUSTOM_MENU_SSWA User Menu Name = FZ Custom Application SSWA Menu Type = <leave blank> Description = FZ Custom Application Menu for SSWA 10) Create new responsibility. One for Core Applications and One for Self Service (SSWA) Navigate to Security-->Responsibility-->Define Responsibility Name = FZ Custom Application = FZ Custom Responsibility Key = FZCUSTOM Description = FZ Custom Responsibility Available From = Oracle Applications Data Group Name = fzGroup Data Group Application = FZ Custom Menu = FZ Custom Application Request Group Name = FZ Request Group Responsibility Name = FZ Custom SSWA Application = FZ Custom Responsibility Key = FZCUSTOMSSWA Description = FZ Custom Responsibility SSWA Available From = Oracle Self Service Web Applications Data Group Name = fzGroup Data Group Application = FZ Custom Menu = FZ Custom Application SSWA Request Group Name = FZ Request Group11) Add responsibility to user Navigate to Security-->User-->Define Add FZ Custom responsibility to users as required.12) Other considerations You are now ready to create your database Objects, custom Reports, Forms, Packages, etcCreate the source code files in the FZ_TOP directory appropriate for the type of object. For example formswould be located in $FZ_TOP/forms/US or package source code in $FZ_TOP/admin/sql for example.Database Objects, such as tables, indexes and sequences should be created in the FZ schema, then you need to a) Grant all privilege from each custom data object to the APPS schema. For example : logged in as FZ user grant all privileges on myTable to apps; b) Create a synonym in APPS for each custom data object For example : logged in as APPS user create synonym myTable for fz.myTable;Other database objects, such as views and packages should be created directly in the APPS schema. Source: CoolInterview.com