Tuesday, February 24, 2009

How To Use Oracle Personalization Framework to Customize Fields and Messages

You can use Oracle Personalization Framework to customize standard fields and messages in web-based Oracle modules (iProcurement, iExpenses, iStore, etc.). Here is one example of personalizing expense report fields in iExpenses to make them more intuitive to the end users.
Move the Details Image - Update Expense Report: Cash and Other Expenses Page
1. As System Administrator: Set ‘Personalize Self-Service Defn’ to Yes.2. Log out of the system.3. Navigate to Expenses Home page using your iExpenses responsibility4. Create and submit an expense report5. In the Update Expense Report: Cash and Other Expenses page, click the ‘Personalize Business Expenses Table’.
6. In the Choose Personalization Context page, click Apply.7. In the Personalization Structure page, click on Reorder next to the ‘Table: Use this table to’ item.
8. Click on Personalize under the Function section9. Move Details item up right under Line item. Click Apply.
10. In the Personalize Region page, click Return to Application.
Hide the Itemize Image
11. …continued from Step 10 above.12. In the Update Expense Report: Cash and Other Expenses page, click the ‘Personalize Business Expenses Table’.13. In the Choose Personalization Context page, click Apply.14. In the Personalization Structure page, click on Edit next to the Image: Itemize item.15. In the Personalization Properties page, select False for the Rendered row at the Function: OIE Expenses Entry Flow level, then click Apply.16. In the Personalize Region page, click Return to Application.
Hide the Line - Level Attachment Image
17. …continued from Step 16 above.18. In the Update Expense Report: Review page, click the ‘Personalize Other Expenses Table’.19. In the Choose Personalization Context page, click Apply.20. In the Personalization Structure page, click on Edit next to the Column: (AttachmentsColumn) item.21. In the Personalization Properties page, select False for the Rendered row at the Function: OIE Expenses Entry Flow level, then click Apply.22. In the Personalize Region page, click Return to Application.
Move the Details Image - Create Expense Report: Cash and Other Expenses Page, Mileage Tab
23. …continued from Step 22 above, the personalization framework is still enabled.24. Click on Mileage Expenses tab.25. In the Mileage Expenses window, click the ‘Mileage Table’ link.26. In the Choose Personalization Context page, click Apply.27. In the Personalization Structure page, click on Reorder next to the ‘Table: Use this table to’ item.28. Click on Personalize under the Function section29. Move Details item up right under Line item. Click Apply.30. In the Personalize Region page, click Return to Application.31. Continue creating the expense report.
Move the Details Image - Create Expense Report: Review Page, Business Expenses Table
32. …continued from Step 31 above, the personalization framework is still enabled.33. In the Business Expenses table, click the ‘Personalize Other Expenses Table’ link.34. In the Choose Personalization Context page, click Apply.35. In the Personalization Structure page, click on Reorder next to the ‘Table: Use this table to’ item.36. Click on Personalize under the Function section37. Move Details item up right under (DateColumn) item. Click Apply.38. In the Personalize Region page, click Return to Application.39. Continue creating the expense report.
Personalize Submission Instructions
40. …continued from Step 39 above, the personalization framework is still enabled.41. In the Confirmation page, click the Personalize Submission Instructions Header link in the Submission Instructions region.42. In the Choose Personalization Context page, enter Your Business Group name in the Organization field and click Apply.43. In the Personalize Region page, click Personalize for the Raw Text item.44. In the Personalize Raw Text page, select False for the Rendered row at the Site level, then click Apply.45. In the Personalize Region page, click Create Item for the Header: Submission Instructions item.46. In the Create Item page, select the ‘Raw Text ‘ value from the Item Style list.47. Complete the page according to your business requirements:a. ID = YOUR_COMPANY_SUBMISSION_INSTRUCTIONSb. Text: Include your customized message here.c. Click Apply48. In the Personalize Region page, click Personalize for the message you created.49. In the Personalize Raw Text page, enter a message in the Text field for the appropriate level, then click Apply.50. In the Personalize Region page, click Return to Application.
Modifying Requisition LinesUse the Modify Lines window to split an existing requisition line into multiple requisition lines that represent the same or different items. For example, if the requisition line quantity is so large that a single supplier cannot fill the entire order by the need-by date, then you need to fill this order from more than one supplier. On the other hand, if you have a requisition line item that contains parts that you want to order as unique items, you can explode the requisition line into several lines. After you modify a requisition line, you cannot modify the new requisition line(s) again.
Note: You cannot modify requisition lines for outside processing items and when you are using encumbrance accounting or budgetary control.
To modify requisition lines:
1. Navigate to the Modify Lines window by selecting Modify on the Special menu in the AutoCreate Documents window. Purchasing displays the current requisition line in the Lines alternative region.
2. Enter as many new lines as you need to represent the original requisition line. Purchasing automatically creates new distribution lines and prorates quantities for the new distributions from the original requisition line distributions. Except that you cannot update destination information (destination type, organization, location, requestor, and subinventory), the entry of information in the Lines, Source Details, Details, and Currency alternative regions is identical to entry of this information in the Requisitions window. See: Entering Requisition Lines.
To cancel your entries:
Select Cancel to cancel your entries and return to the AutoCreate Documents window.
To save your work:
Select OK to save your work and return to the AutoCreate Documents window, where Purchasing displays the new requisition lines that are now available for placement on a purchase order or RFQ. These lines do not appear, however, if the new requisition lines do not meet your original search criteria. The original requisition line is no longer available for purchase order or RFQ placement, but your requestor can easily review the modification status of a requisition line in the View Requisitions window.

Monday, February 23, 2009


Alert Manager

Overview: You can use alerts simply to notify one person/multiple persons about an event or some data change. There are two type of alerts
Event based Alerts
Periodic Alerts

Event based Alerts: These Alerts are fired/triggered based on some change in data in the database. Ex: If you want to notify your manager when you create an item in the inventory you can use Event based alerts. When you create an item in the inventory it will create a new record in mtl_system_items_b, here inserting a record in the table is an event so when ever a new record is inserted it will send the alert. In same alert you can also send the information related to that particular item.

Periodic Alerts: These Alerts are triggered hourly, daily, weekly, monthly or yearly based on your input. Ex: If you want to know list of all items created on that day at the end of day you can use periodic alerts repeating periodically by single day. This alert is not based on any changes to database. This alert will notify you everyday regardless of data exists or not that means even if no items are created you will get a blank notification.


What can be done with Alerts?

You can send notifications
You can send log files as attachments to notifications
You can call PL/SQL stored procedures.
You can send approval emails and get the results.
Print some content dynamically

How to create an Alert?

Study your Business requirement and decide what type of alert you need either periodic alert or event based alert.
If you are going for periodic alert decide the frequency
If you have chosen event based alert then find out on what event (insert, update, delete) you want to fire the alert.
Decide what data need to be included in the alert
Based on the data you want in the alert write a SELECT SQL Statement to pull the data.
Create a distribution list grouping all the people to whom you want to send the alert.

Navigation to define an alert:
Go to “Alert Manager” Responsibility
Alert >> Define
Transfer Alert from one instance/database to other:
Go to “Alert Manager” Responsibility
Alert >> Define
Go to "Tools" Menu on top
Click on "Transfer Alert"
Enter source and destination fields and click Transfer.
Screenshots:

Oracle Apps 11i Free Training : Table Registration API

This chapter provides you with information you need to register tables to be used in Oracle Alerts and Flexfields with Oracle Applications. We will be learning about Procedures in the AD_DD Package, Procedure REGISTER_TABLE, Procedure REGISTER_COLUMN, Procedure DELETE_TABLE, Procedure DELETE_COLUMN and Example of Using the AD_DD Package.
Sponsored Links
Introduction
Though Oracle Applications comes with thousands of seeded database tables, there can be numerous applications in which one might be required to create a custom table to be used. In most of the applications all you need is to create a table in a schema and use it directly in your applications. Flexfields and Oracle Alert are the only features or products that require the custom tables to be registered in Oracle Applications (Application Object Library) before they can be used.
You register your custom application tables using a PL/SQL procedure in the AD_DD package. Therefore you only need to register those tables (and all of their columns) that will be used with flexfields or Oracle Alert.
You can also use the AD_DD API to delete the registrations of tables and columns from Oracle Application Object Library tables should you later modify your tables. If you alter the table later, then you may need to include revised or new calls to the table registration routines. To alter a registration you should first delete the registration, and then re-register the table or column. Remember, you should delete the column registration first, then the table registration. You should include calls to the table registration routines in a PL/SQL script. Though you create your tables in your own application schema, you should run the AD_DD procedures against the APPS schema. You must commit your changes for them to take effect.
The AD_DD API does not check for the existence of the registered table or column in the database schema, but only updates the required AOL tables. You must ensure that the tables and columns registered actually exist and have the same format as that defined using the AD_DD API. You need not register views.
Procedures in the AD_DD Package
1. Procedure REGISTER_TABLE
procedure register_table ( p_appl_short_name in varchar2, p_tab_name in varchar2, p_tab_type in varchar2, p_next_extent in number default 512, p_pct_free in number default 10, p_pct_used in number default 70);
2. Procedure REGISTER_COLUMN
procedure register_column (p_appl_short_name in varchar2, p_tab_name in varchar2, p_col_name in varchar2, p_col_seq in number, p_col_type in varchar2, p_col_width in number, p_nullable in varchar2, p_translate in varchar2, p_precision in number default null, p_scale in number default null);
3. Procedure DELETE_TABLE
procedure delete_table (p_appl_short_name in varchar2, p_tab_name in varchar2);
4. Procedure DELETE_COLUMN
procedure delete_column (p_appl_short_name in varchar2, p_tab_name in varchar2, p_col_name in varchar2);

VARIABLE NAMES


DESCRIPTION


p_appl_short_name


The application short name of the application that owns the table (usually your custom application).


p_tab_name


The name of the table (in uppercase letters).


p_tab_type


Use ’T’ if it is a transaction table (almost all application tables), or ’S’ for a ”seed data” table (used only by Oracle Applications products).


p_pct_free


The percentage of space in each of the table’s blocks reserved for future updates to the table (1–99). The sum of p_pct_free and p_pct_used must be less than 100.


p_pct_used


Minimum percentage of used space in each data block of the table (1–99). The sum of p_pct_free and p_pct_used must be less than 100.


p_col_name


The name of the column (in uppercase letters).


p_col_seq


The sequence number of the column in the table (the order in which the column appears in the table definition).


p_col_type


The column type (’NUMBER’, ’VARCHAR2’, ’DATE’, etc.).


p_col_width


The column size (a number). Use 9 for DATE columns, 38 for NUMBER columns (unless it has a specific width).


p_nullable


Use ’N’ if the column is mandatory or ’Y’ if the column allows null values.


p_translate


Use ’Y’ if the column values will be translated for an Oracle Applications product release (used only by Oracle Applications products) or ’N’ if the


values are not translated (most application columns).


p_next_extent


The next extent size, in kilobytes. Do not include the ’K’.


p_precision


The total number of digits in a number.


p_scale


The number of digits to the right of the decimal point in a number.


Example of Using the AD_DD Package
Here is an example of using the AD_DD package to register a flexfield table and its columns: Though the use of AD_DD package does not require that the table should exist first, it is always better to create one and proceed further. Use the below mentioned script to create the dummy table. Use the APPS User ID to run the below mentioned queries from TOAD or SQL*PLUS.
CREATE TABLE TEST_DESC ( RESOURCE_NAME VARCHAR2 (150), RESOURCE_TYPE VARCHAR2 (100), ATTRIBUTE_CATEGORY VARCHAR2 (40), ATTRIBUTE1 VARCHAR2 (150), ATTRIBUTE2 VARCHAR2 (150), ATTRIBUTE3 VARCHAR2 (150), ATTRIBUTE4 VARCHAR2 (150), ATTRIBUTE5 VARCHAR2 (150), ATTRIBUTE6 VARCHAR2 (150) ); BEGIN AD_DD.REGISTER_TABLE ('FND','TEST_DESC','T'); END; BEGIN AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','RESOURCE_NAME', 1, 'VARCHAR2', 150, 'Y', 'N'); AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','RESOURCE_TYPE', 2, 'VARCHAR2', 100, 'Y', 'N'); AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','ATTRIBUTE_CATEGORY', 3, 'VARCHAR2', 40, 'Y', 'N'); AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','ATTRIBUTE1', 4, 'VARCHAR2', 150, 'Y', 'N'); AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','ATTRIBUTE2', 5, 'VARCHAR2', 150, 'Y', 'N'); AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','ATTRIBUTE3', 6, 'VARCHAR2', 150, 'Y', 'N'); AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','ATTRIBUTE4', 7, 'VARCHAR2', 150, 'Y', 'N'); AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','ATTRIBUTE5', 8, 'VARCHAR2', 150, 'Y', 'N'); AD_DD.REGISTER_COLUMN ('FND', 'TEST_DESC','ATTRIBUTE6', 9, 'VARCHAR2', 150, 'Y', 'N'); END;

Do not forget to COMMIT after running the above steps. The table is now ready to be used in Oracle Alerts or Flexfields.
Frequently asked questions
1. What is the use of AD_DD package? 2. Why do we need to register the table with oracle applications? 3. Will my table get deleted if I use Delete table procedure of AD_DD package? 4. Do I need to register all the columns of a table? 5. How can I see the code of AD_DD Package?