Monday, September 8, 2008

NEW APPLICATION DEVELOPMENT PROCESS

NEW APPLICATION DEVELOPMENT PROCESS

Designing the new payroll module, which is not a part of Oracle Applications.

Process of new application development:

1) Register the new module or new application – One record will be inserted in to the table FND_APPLICATION table. Owner of this table is Applsys.

DATABASE DESIGN

2) Create Oracle Data base user account and grant privileges Connect and Resource.
3) Create Tables
4) Create Public Synonym
5) Create Views if required
6) Create Public Synonyms for the above views
7) Create database sequences if required
8) Create Public Synonyms for the above sequences
9) Create stored packages in APPS schema
10) Develop Directory Structure – Create TOP directory for the module
- Oracle
- Prodappl
- new directory name
The Application short name specified at the point of application registration should be the top product directory name as well as the oracle database user account name.
11) Modify the Applications Environment file
APPLFULL = SQL, GL, AP, AR, PAY Short name of the customized module
APPLSHAR = HR, INV

- APPLFUL variable is listing of modules which have been fully installed where as APPLSHAR is listing of modules which have shared information
- FND_PRODUCT_INSTALLATIONS is a table name
- Application information is stored in the above table
- Status of the application is stored in the above table – (I means Installed, S means Shared, N means Not Insatlled)
- We need to insert a record into the table called FND_PRODUCT_ INSTALLATIONS
- Script will be provided by the oracle corporation to insert the record.
- PAY_TOP = Oracle\Prodappl\pay\11.5.0

12) Run the environment file.
- Prod.emd - Production Server on windows
- Prod.sh - Production Server on unix

13) Register the Table with Application Object Library.
14) Register Views with Application Object Library
15) Register Sequences with Application Object Library
16) Design Forms
17) Place .fmb file in Oracle/Prodappl/au/11.5.0/forms/us
18) Place .fmx file in Oracle/Prodappl//11.5.0/forms/us
19) Register Forms with Application Object Library
20) Define menus – Assign menus to forms.
21) Design Reports
22) Place .rdf file in Oracle/Prodappl//11.5.0/Reports/us
23) Register Forms with Application Object Library
24) Write SQL and PL/SQL scripts.
25) Place SQL and PL/SQL in Oracle/Prodappl//11.5.0/sql
26) Write/ create java programs.
27) Place java programs in Oracle/Prodappl//11.5.0/java
28) Write Pro *c, Pro * fotran, Pro * cobal, Pro * pascal and SQL loader programs.
29) Place all the above programs in Oracle/Prodappl//11.5.0/lib.
30) Place the executables of the above in Oracle/Prodappl// 11.5.0/ bin.
31) Register Programs in 25,27,30 with Application Object Library.
32) Define Request Group and include programs 23 & 31
33) Define required number of responsibilities.
34) Register Descriptive Flex fields.
35) Register Key Flex fields.
36) Register new profile options with Application Object Library.
37) Define new look up types with Application Object Library.
38) Define Document Sequences with System Administration.
39) Set values for profile options. (System Administration).
40) Define folders if required.
41) Administer folders (System Administration).


STEP 1: Register the application with Application Object Library

REGESTRING NEW APPLICATION WITH APPLICATION OBJECT LIBRARY

Responsibility: Application Developer

Navigation: Application/ Register

Name: Give the Application Name, which will be used in responsibility assignment.
Short Name: Give short name for your application.
Base Path: We need to provide the base path name. Naming convention is add TOP suffix to application short name.
Description: Give required description and save the document.

STEP 2: Creation of User in database.
Logon to SQL* Plus as
User: SYS
Password: MANAGER
Host: give connect string name
1) Create user name with user name as short name of the Application.
2) Grant Connect and Resource to the above created user.
3) Connect with the above user to test.
4) Register the user id with Application Object Library.

REGESTRING NEW APPLICATION USER WITH SYSADMIN


Responsibility: System Administration
Navigation: Security/ Oracle/ Register.
Database User Name: Enter the database user name same as that of the user created above.
Password: Enter two times the password. Password should be same as that of user name for naming convention.
Privilege: Select one of the values from the list. The values in the list are Enabled, Restricted. Meaning of the above Two values are:

Enabled – If you select this we can perform Select, Insert, Update, Delete operations.
Restricted – We can only perform Select operation.

Install Group: If you select the value in this field as 0 or not selected then this application will support only one Set of Books. If you select the value is one then this will support Two Set of Books.

- All the tables in the new schema should have one column for Set of Books.
- When an Oracle account is assumed to support multiple Set of Books data the install group value must be greater than 0 and every table under the account must have a Set of Books Id column which tracks the Set of Books for which a transaction has been inserted.
- All Set of Books transactions are populated in the same table with distinction made by Set of Books Id Column.
- If we want to implement one Set of Books then the install group value must be set to Zero.

Table, which captures data for the back end user information is:
FND_ORACLE_USERID

Table, which captures data for the front end user information is:
FND_USER

STEP 3: Creation of Folder for the front end, applications.

In the Server, we need create new folder for application in Prodappl folder.

Navigate to the Prodappl folder and go to main menu and create new folder.
Navigation is File/ New Folder.

With in this we need to create base directory called 11.5.0.
With in the above directory we need to create the following folders.

Forms, Reports, Java, bin, sql, lib, log, ot, html

With in Forms, Reports and html we need to create US folder to place executables.

STEP 4: Modify the Environment file

File Name: VIS.env - database SID.env open this file with notepad to set the following variables.

We need to go to the APPLFUL variable and add the new directory

Set APPLFUL: GL AP AR PAY

We need to go to TOP DIRECTORY and add this line

Set DPA_TOP: D:\oracle\visappl\dpa\11.5.0

Save this file

We need to run vis.cmd file to take the file.

New module should be grouped under data group of the other module.

Navigation: Security/ Oracle/ Data group

Query the existing data group

Add to the application column

Password is APPS

TABLE REGISTRATION

1) Create table in appropriate Schema – Prefix should be application short name
2) Create a Public synonym
3) Register the table and columns with Application Object Library

VIEW REGISTRATION

1) Create view – View name prefix should be table name and Suffix should be V
2) Create Public synonym
3) Register the view with Application Object Library

SEQUENCE REGISTRATION

1) Create a database sequence
2) Create Public synonym
3) Register the sequence with Application Object Library.

List of Useful Unix Commands

List of useful unix commands


Oracle Applications Introduction

To connect the Oracle applications address is:
http://computername.dnssuffix name:portnumber/dev60cgi/ifcgi60
http://computername:oa_html/us/texindex.html

User name is: OPERATIONS
Password is: WELCOME

Responsibility is: System Administration Responsibility

When you click internet explorer and gives the above address then the system will be doing the following activities before getting the log on form:
1) Checks whether the Apache is running or not
2) Checks whether the application server is running or not
3) Checks whether forms server is running or not
4) Checks whether the data base is up and running
5) Establishes a session with applsyspub user
6) Downloads the logon form the client
7) Checks whether the jinitiator is installed or not
8) Enter the user name and password
9) Checks whether the user name and password are correct with the object with applsys schema FND_USER and the table name FND_USER.
10) Checks whether the user has been entrusted with any responsibility with FND_USER_RESP_GROUPS owned by applsys schema and establishes the session.

All the logon users information is tracked through FND_USER public synonym and the table name is FND_USER.

A user can be assigned multiple responsibilities. Any responsibility being accessed in Oracle Applications, the under lined data base user with which the data base operations are performed is Apps Database Account or user.

SCHEMA STRUCTURE OF APPS DATABASE

GL, AR, AP, INV, HR, APPLSYS (System Administration, Application Object Library, Alerts)

APPLICATION SCHEMAS

GL, AR, AP, INV, HR, APPLSYS, APPS, APPLSYSPUB

GENERIC ORACLE DATABASE SCHEMAS

SYS AND SYSTEM


CONCEPT OF DATA GROUP AND CREATION PROCESS:
- While defining a data group the modules and corresponding oracle user accounts can be specified
- The purpose of specifying the oracle user account is to identify the oracle account to connect to when a module responsibility is being accessed. If module specific user accounts have been mapped to the number of user database sessions will be more compare to mapping Apps oracle account to the modules.
- Mapping all Apps to all the modules gives universal access to the entire applications database across all oracle application schemas.
- Data Group is collection of modules, which can integrate with each other through transfer reference and reporting of data.
To define data group

Navigation: Security/ Oracle/ Data Group


Master Information:

Data Group: Give the data Group Name
Description: We can give any description for the above name
Details Information:

Application: We need to select the application name which is going to be part of this data group.

Oracle Id: We need to provide Oracle Id for this data group. Normally APPS

Description: We can give description for each and every line for future reference.

We can press Copy Applications From button to copy Applications from previous defined data groups.

Header Information Stored In: FND_DATA_GROUP
Details Information Stored In: FND_DATA_GROUPS_UNITS.

RESPONSIBILITY

- Responsibility is collection of forms and programs accessible by a specific user.
- Seeded responsibilities are provided when Applications are installed
- Any responsibility with manager or super user suffix provides full access to all the forms and programs of a Module.
- Custom responsibilities can be defined through which the access can be restricted to only specific forms and programs.
- A user can be assigned multiple responsibilities.

TO DEFINE RESPONSIBILITY

Navigation: Security/ Responsibility/ Define

Responsibility Name: Give appropriate responsibility name
Application Name: We need to select Application Name from list of values
Responsibility key: To identify responsibility we can use Responsibility key it is unique.
Description: We need to enter the description.

Effective Dates:

From: We need to give this date from when this responsibility is accessible. This field is mandatory.

To: This is expiry date. This field is optional.

Once an inactive date ha been mentioned for a responsibility all the users accessing that responsibility can not view or access it further.
Data Group:

Name: Select the data group from the list of values.
Application: List will be displayed for applications which are the part of the above data group. We need to select the application.

Available from:
- Oracle Applications or
- Oracle Self Service Web Applications

We need to choose one from where we are accessing the forms.

Request Group:

Name: We need to select from the request group list.
Application: List will be displayed for applications, which are the part of the above data group. We need to select the application.
Menu Name: We need to select menu name from the list of menus.
Web host Name: We need to provide web host name
Web Agent Name: We need to give web agent name.
MENU EXCULSION TAB:
Type: We have to choose this type either menu or function. We can select from list.
Name: Name of the functions to be excluded from this responsibility.
Description: We need to provide description.
EXCLUDED ITEM TAB:
Name:
Application:
SECURING OBJECTS:
Name:
Application:
Table Name: FND_RESPONSIBILITES

REQUEST GROUP

Request group is a group having multiple programs.
MASTER INFORMATION:

Group Name: Give Name of the group
Application: We need to select Application Name from list of values
Code: code which is useful to select at responsibility creation time
Description: We need to enter the description.


REQUESTS DETAILS INFROMATION:

Type: we need to specify the type. List will have the following contents:
- Program
- Application
- Set
- Stage Function

Name: We need to select name of the Program, Application, Set or Stage Function depending up on the value selected in the type column.

Application: This will be automatically appeared when we select the name of the program.

Description: It will be showing automatically once you select name column.
USERS

To define users
Navigation: Security/ User/ Define

User Name: Enter unique user name
Description: Give some description if necessary
Password: We have enter password two times for confirmation

Person: Give person name if he is an employee of the company. We can select from the list of employee values.
Customer: Give the customer name if he is customer of the company. We can select from the list of Customer values.
Supplier: Give the supplier name if he is a supplier of the company. We can select from the list of Supplier values.
Email: Give email id of the above persons
Fax: Give fax number of the above persons.

PASSWORD EXPIRATION:
Days – If you select this you need to provide that in how many days the password expires.
Access – If you select this you need to give that the number of access for that user.
None – If you select this password will not expire till the user is dropped.

Effective Dates:

From: This is mandatory. We need to give from when the user can use the applications.
To: If you gives this date user can not access the oracle after this date.

Responsibilities Tab:

Responsibility: We need to select the responsibility from the list of responsibilities.
Application: This will be populated once the above responsibility is selected.
Security Group: This will be populated once the above responsibility is selected.
Effective Date From: From the date when this user will access this responsibility
Effective Date To: To what date the user can use this responsibility.

Securing Attributes Tab:

Attribute:
Application:
Value:
USER MONITOR:

To see the users activities information

Navigation: Security/ User/ Monitor