Saturday, August 22, 2009

How to enable a DFF?

To enable DFF switch responsibility to Application Developer
Flexfield à Descriptive à Segments

Supply the title and query the form. Uncheck the checkbox called FREEZE FLEXFIELD DEFINISION and click on Segments button.

Describe the fields you want to display in DFF in the below form.

In the above form Value Set button is to create a new value set if you want to create for DFF.
On the right side of the form we have two check boxes Displayed and Enabled. Displayed check box for display or not to display the field and the Enable check box for enable or disable of the field. You can disable it you don’t want to use. Later we can enable it. Or we can delete the field. Now Check the checkbox called FREEZE FLEXFIELD DEFINITION in the previous form
and click on compile button. Then go to Purchasing responsibility and open purchase order form.

Check the PO_VENDOR_ALL table to know whether the Supplier name and item fields in the DFF are stored in the Attribute Column of the table or not.

How to find the DFF Name

Go to Help in Menu Bar -->Diagnostic --> Examine
Enter Oracle Password: APPS
Block Name: $Descriptive Flexfields (Change the field like this)
Field: PPRS FLEX



(OR)

Go to Help in Menu Bar --> Record History




PO_HEADERS_V is the view name and the corresponding table name is PO_HEADERS_ALL

Go to Application Developer
Flex Field --> Descriptive --> Register

Open the form and Query with table name.





To Enable or disable/Disable the DFF Go to Flexfield --> Descriptive --> Segments.




Friday, August 14, 2009

Descriptive Flex Field - DFF

--------------
Flexfield are made up with Attribute columns or Segment columns which are more flexible than the normal fields.
We have two types of flexfields
1) DFF (Descriptive Flex Field)
2) KFF (Key Flex Field)

DFF: DFF are used to capture the additional or extra Business information of the organization. DFF are used to add extra accounts, these are vary from one business to another business. All DFF columns are defined as Attribute Columns. All these columns are defined in the transaction table itself. There are around 5000+ DFF available with the package.

DFF have two different types of Segments
1. Global DFF
2. Context Sensitive DFF

Q: How to know that a form is having DFF?
Ans:
If the Form having the button with square brackets [ ] then we can say that the form is having DFF. A form can have multiple DFF but a Block can have only one DFF. To reference a DFF use Block_Name.DFF_Name.

Multi Organization



The ability to define multiple organizations and the relationships among them within a single installation of Oracle Applications is called multi organization. Multi Organization is the future used to store the data of multiple organizations in a single Database.

The main components of the multi organization are
1) Business Group (BG)
2) Legacy Entity
3) Set Of Books (SOB)
4) Operating Units or Divisions
5) Organizations

Business Group (BG): The business group represents the highest level in the organization structure, such as the consolidated enterprise, a major division, or an Operation Company. A BG is used to secure human resources information like generation of employee numbers, generation of applicants, position flex fields, Job flex fields, Grade Flex field, Fiscal year, etc.

Legacy Entity: It is a legal business, which is going to have its own legislation code or tax registration number. At this level we are going to prepare all our financial statements.

Set Of Books (SOB): A SOB is a collection of Currency, Calendar and Chart of Accounts (COA). Oracle General Ledger is used to secure Journal transactions (such as journal entries and balances) of a company by set of books. For each organization of the Business Group we need to define a set of Book.

Operation Unit: An operating unit is a division or a Business unit of the legal entity. At this level we are going to maintain the information of sub-ledgers. We are going to maintain the ledgers at Legal Entity level. Receivable, Payables, Assets, etc. are comes under Operation Unit level.

Organization: The different types of organizations are Inventory Organization, Asset Organization, Human Resource Organization, etc. These organizations are going to be maintained at operating unit level.

Note: In case if we are working with single organization we can define an entity as a Business Group, Legal Entity, Operating Unit and Organizations.

The individual Accounts (i.e. Application Receivables) of an organization (i.e. Tata Motors) of multi organization (Tata Group) are identified by
First by Module then Responsibility then Profile Option then Set of Books.

In the above example Data will be secured for every organization by using Set Of Books ID.
The following are the tables are going to be effected for all the Organizations of multi organization.

GL_JE_BATCHES
GL_JE_HEADERS
GL_JE_LINES

To record the sales transactions of all the organizations will be stored in the AR_TRANSACTION_ALL table. Extra columns required to identify the individual sales transactions are Set_Of_Books_ID, Org_ID (Operating Unit) and Organization_ID (Business Group)

Profiles

Profiles are used to determine the behavior of Oracle Application Forms and Programs. The registration information of all the users will be stored in FND_PROFILES_OPTION table. The dictionary of all the Profile Options is maintained by AOL module. To set the values of the Profile Options, we use System Administrator Module. Profile Options are used to pass the values to the variables declared in our forms and programs, by which we can determine the behavior of Oracle Application Forms.

Note: There are 5316 types of profiles options are going to come with the package.

Each Profile Option has access at 3 levels.
1 User Access Level.
2 Program Access Level.
3 System Administrator Level

USER LEVEL: If the Profile is having access at this level any front end login user can change the values of the Profile Options.


PROGRAM LEVEL: If the Profile is having access at Program Level then we can use them in our Programs.

SYSTEM ADMINISTRATOR LEVEL: If the Profile is having access at this level then we can use Profile Options at the following four sub levels.
1 SITE Level
2 APPLICATION Level
3 RESPONSIBILITY Level
4 USER Level

SITE LEVEL: Site is a collection of Modules. A Module is a collection of Responsibilities. Responsibility is assigned to different users.
If we set the Profile Options at Site level then these Profile Options get affected to all the Forms and Programs of all the Modules, which are accessed from our site.

APPLICATION LEVEL: If we set the Profile Options at this level then the Profile Options get affected to all the forms of a particular module.
RESPONSIBILITY LEVEL: If we set the Profile Options at this level then the Profile Options get affected to all the Forms and Programs, which are assigned to a particular Responsibility.

USER LEVEL: When we set the Profile Options at this level then the Profile Options get affected to all the Forms and Programs of all the Responsibilities, which are assigned to a particular User.

When we set the Profile Options at all the 4 level then
1. User Level will overwrite Responsibility Level
2. Responsibility Level will overwrite the Application Level
3. Application Level will overwrite the Site Level

The Built-In that is used to get the value of the Profile Option is FND_PROFILE.GET, which takes two arguments i.e. Name of the Profile Option and the Output Variable. This Built-In first searches for the value at User Level and it will get the USER_ID, RESPONSIBILITY_ID and APPLICATION_ID of Form where the Form is called.

Sunday, August 9, 2009

Form Development Libraries

To enable the end user to operate the Forms user friendly we need to standardize the Forms. To design or develop the form with Applications Standards, Package provided a Standard Form called APPSTAND.fmb

APPSTAND.fmb: is a collection of the entire standard object Groups used in the Oracle Applications. Form should inherit the following object Group Properties

1. STAND_PC_AND_VA: This consists of Windows, Canvases, Blocks and Items used for Property Classes and Visual Attributes.

2. STAND_TOOLBAR: This consists of Windows, Canvases, Blocks and Items used for Tool Bars.

3. STANDARD_CALENDER: This consists of Windows, Canvases, Blocks and Items used for Calendars.

4. STANDARD_FOLDER: This consists of Windows, Canvases, Blocks and Items used for Data Restriction and Changing the Layout of the Form at run time. And this is not used for Custom Forms).

5. QUERY_FIND: This consists of Windows, Canvases, Blocks and Items used for implementing find windows or Search methods.

6. LIBRARIES:

APPCORE.PLL: is the collection of Procedures, Functions and Packages used to define Menus and Tool Bars.

FNDSQF.PLL: is the collection of Procedures, Functions and Packages used to define Special Objects like KFF, DFF, Form Functions and Non-Form functions.

APPDAYPK.PLL: is the collection of Procedures, Functions and Packages used to define Calendars.

CUSTOM.PLL: is the collection of Procedures, Functions and Packages used to customize the Forms with out modifying the code of Oracle Applications.


Note: The Built-ins of CUSTOM.PLL are internally called by the Built-ins of APPCORE.PLL and the Built-ins of APPCORE.PLL are called by few Triggers like
WHEN-NEW-FORM-INSTANCE,
WHEN-NEW-RECORD-INSTANCE,
WHEN-NEW-ITEM-INSTANCE,
PRE-BLOCK,
PRE-RECORD,
PRE-ITEM

APPCORE2.PLL: is a Duplicate/Replica of APPCORE.PLL. It has the same Built-ins as APPCORE.PLL and this is used in CUSTOME.PLL

GLOBE.PLL: is used to change the regional settings of the Package with out modifying the code of Applications. GLOBE.PLL internally calls the Built-ins of JE.PLL, JL.PLL and JA.PLL Libraries.

JE.PLL: is used to change the regional settings of Middle East Countries.

JA.PLL: is used to change the regional settings of Asia Pacific Countries.

JL.PLL: is used to change the regional settings of Latin America.

Display the Message Boxes in the Forms

1)Create the Message in Application Developer


2)Run the Concurrent Program called "Generate Messages" by passing language code and as well as application name


3)Call the message from form triggers by using FND_MESSAGE API's.
begin
FND_MESSAGE.SET_NAME ('PO', 'NEW MESSAGE');
fnd_message.show();
end;

Attach the Request group to the SRS Function


1)Create the Request group in System administrator by specifying the request group code Copy the Request group name application short name request group code

2)Goto the Appllication developer create the fucntion for the user form name called " Run Reports"


3)Pass the follwoing Parameters while creation of the function.REQUEST_GROUP_CODE="CUSTOMERCODE1" REQUEST_GROUP_APPL_SHORT_NAME="AR" TITLE="23CUSTOMERS"


4)Attch the function to the Menu , Menu to Responsibility , Responsibility to user


5)when we open the form we can get the programs which are there in the request group.
note: We will follow this prcocedure to attach the multiple request groups to the single Responsibility.

Calling SRS Window from Menu


1)Create the Function for the User form name called "Run Reports"

2)Attach the Function to the menu.

3)Attach the menu to the responsibility so that user can call the form from the menu.

Hiding the forms and Menus at Responsibility level

1)Open the Responsibility Form attach the menu

2)By default we will get all the forms and as well we menus will be displayed.

3)Select the Tab called Menu Exclusions Tab Select the type = Function to hide the funtion. select the type = Menu name to hide the menu.

SubMenu Creations

1)Copy the Functions whatever we would like to define as submenu delete from the main menu.

2)Create new menu and attach the functions whatever we have copied.


3)Copy the menu whatever we have created attach to the main menu by selecting the field called submenu.

Passing Parameters at the time of creating Functions

1)Develop the form

2)Register the form

3)Create Two functions for the same form. first function without parameters second function is with parameter called 'QUERY_0NLY="YES" 'enter the paraneter in the field called Parameter field.

Implementation of WHO Columns in forms

1)Select All the WHO Columns in the Datablock

2)define following Two Triggers at DataBlock level
1)Pre-Insert 2)Pre-Update

3)Call the following API from both the Triggers FND_STANDARD.SET_WHO():


Standard Libraries Contains all these API's.we can download all these Libraries from Resource folder in AU_TOP.

APPDAYPK : It will Support for All CAlendar and Date time Functions
FNDSQF : It Will support for al the Flexfield,profile,WHO Columns functionality.

Attach the LOV to the form

1)Define the Record Group Either Static Values or By using the Query

2)Create LOV and attach the Record Group

3)Attach the LOV to field in the property called list of Values.

Attach Calendar in forms

1)Select the Field properties and select the property called List of Values : ENABLE_LIST_LAMP

2)Goto the Item level Trigger called KEY-LIST-VAL trigger call the following API CAlendar.Show();

Master Detaild Form Development

)Develop the from by using TEMPLETE.fmb

2)Develop the Master Block and create the fields.

3)Attach the Property classes and other customization steps.

4)Create Detail Datablock by selecting the Detail columns after selecting the columns select the next button

5)Uncheck the check box called Auto join Datablocks select the button called Create Relationship button and select the Master Level primary key column and Detail level reference column system will automatically join condition.

6)Select the Tabular style when we are going to attach to the Layout so that we can display either single record or multiple records.

7)select next button enter no of records to be displayed and check the check box called Display Scroll bar .

Implement Radio Buttons

1)Define the Radio Buttons

2)Under Same Group

3)Attach following Properties
1)SubClass Information = Radio Button
2)Label =Whatever the Name we would like to display

3)Radio Button Value =whatever value we want to insert into Column

4)Goto Object Navigator Select Radio Group Proiperties

5)Attach following Properties
1)SubClass Information = Radio Group
2)Initial Value = Default Value
3)Column Name = Database Column Name

Implement Check Boxes

1)Define the check Box in the Canvas

2)Attach following Property Classes
1)SubClass Information = CheckBox
2)Enter Value when Checked = whatever value we want to insert into Column

3)Enter Value when UnChecked = whatever value we want to insert into Column

4)Initial Value = Default Value

5)Label =Whatever the Name we would like to display

6)Column Name = Database Column Name

Manual form Development

1)Open the TEMPLETE.fmb

2)Delete Canvas,Window,Datablock

3)Create New Canvas,Window attach Property classes

4)Create New Datablock select Manuval Development

5)Goto Properties of Datablcok

1)SubClass Information = Block

2)Query Data SourceName = TableName

3)Query Data SourceColumns = Select Colunmns and Datatypes

6)Goto Canvas Define the Frame attach Properties

1)SubClass Information = FRAME_RECT

2)Layout Datablock = Select the Datablock Whatever we have created

7)Define Boiler Plate Text and Texst Items for Text Items attach folowing Property Classes

1)SubClass Information = TEXT_ITEM

2)Coluimn Name = Database Column Name8)Save the form

9)Change the Property called first Navigation Datablock

10)Customize Pre-Form WHEN-NW-FORM-INSTANCE Triggers APP_CUSTOM package

11)Save the .fmb AND generate the .fmx

12)Register the Form in Application Developer

Form Development Process

1)We Will download the TEMPLETE.fmb from AU_TOP\Resource Folder Application Utilities

2)Open with Forms6i builder and delete the existing window(BLOCKNAME) create a new window(Say Sample_Window). Open the property palette of window(Sample_Window) and set Subclass information=WINDOW(property class).

Delete the existing canvas(BLOCK NAME). create a new canvas(say Sample_Canvas). Open the Sample_Canvas property palette and set subclass information=CANVAS(Property Class)

Delete the existing block. create a new block(Say Sample_Block),open the property palette of Sample_Block and set Subclass information=BLOCK(Property Class).

3)Develop the form as per client requirement Note:We will change the Property called "First Navigation Data Block" as Sample_Block Name in the Module Properties.

II)Customize folloiwng two triggers
1) Pre-Form - New Window Name(Sample_Window)

2) WHEN-NEW-FORM-INSTANCE -New form Name

3) APP_Custom package -New Window Name(Sample_window)

4) Save the form we will get (.fmb)

5)compile the form we will get(.fmx) (File => Administration => Compile File)

6)Move the .fmb into au_top\11.5.0\Forms\US\ .fmb

7)Move the .fmx into Custom_top\11.5.0\Forms\US\ .fmx

8.A)Form Creation: Goto Applicaton Developer and Open form (Navigation: Application > Form)
Give the following fields
Form : .FMX name(Which you have created)
Application: pplication name where .fmx is located ( Say Purchasing.)
User Form Name : Give any name (Say Sample_User_Form_Name) and copy the user formname.

8.B) Function Creation: Open the Function Form ( Navigation: Application > Function)
In the description Tab:
Function = Give any name
User Function Name = Give any name(Say Sample_User_Function_Name)
In the Property Tab: Type = Form
In the Form Tab: Form = Sample_User_Form_Name Save the forma and close it.

8.c) Menu Creation: Open the menu form ( Navigation: Application > Menu)
Menu = Give any name (say Sample_Menu)
User Menu Name = Give Any Name ( Say Sample_User_Menu_Name)
Enter the Seqno : Unique Number
Prompt : Any Text
Function : Attach the User Function NAme whatever we have created

9)Attach Menu to the responsibility , Responsibility will be attached to the user so that user can open the form and enter/Query the Data.

TEMPLETE.fmb : It is pre-defined .fmb contains the existing functionality which willsuport for all the Menu,Toolbar, and Other Oracle Applciations features.that is the Reason we have to start form development with TEMPLETE.fmb

Form Development - Setups

We should do a setup before starting development of FORMS in EBS-11i
1) Goto Start menu = Run option=> Enter "RegEdit" Press Ok
2) Select HKEY_LOCAL_MECHINE =>SOFTWARE=>ORACLE
3) Select FORMS60_PATH =>Right click=>modify
4) Existing path will be there enter Semocolon
5) Give the following Path => Ok
D:\oracle\prodappl\au\11.5.0\resource (Indirectley where the TEMPLETE.fmb is located)
Sometime TEMPLETE.fmb will not be available in the resource folder then copy following both the forms from AU\11.5.0\Forms\US

TEMPLETE.fmb
APPSTAND.fmb

**Copy the TEMPLETE.fmb and APPSTAND.fmb Files to D:\oracle\prodappl\au\11.5.0\resource from AU\11.5.10\FROMS\US

Friday, August 7, 2009

PO Setup Supplier Creation

PO Setup Buyer Creation

PO Setups - Item Creation











Report Registration With Parameters