Sunday, May 24, 2009





Thursday, May 21, 2009

Oracle Workflows Access Protection Concepts

Here is some thing one should make a note of before customizing any standard workflows.

Oracle Workflows Access Protection Concepts

Launching Workflow from a Trigger

Check the below link

Launching Workflow from a Trigger

Bulk updating workflow users

Such requirement comes in case when set of users needs their notification preference to be changed. Check out the below link for the solution

Bulk updating workflow users

Simple Query to generate XML output

1. SELECT SYS_XMLAGG (SYS_XMLGEN (order_number), SYS.xmlgenformattype.createformat ('OE_ORDER_HEADERS_ALL')).getstringval () AS xml_row
FROM oe_order_headers_all
WHERE ROWNUM < 6

2. SELECT SYS_XMLAgg(
SYS_XMLGen(
TABLE(OE_ORDER_HEADERS_ALL, APPS_TS_TX_DATA),
sys.xmlgenformatType.createFormat('TABLE')
),
sys.xmlgenformatType.createFormat('USER_TABLES')
).getStringVal() AS xml_row
FROM user_tables
WHERE rownum < 6;

3. select sys_XMLAgg(xmlforest(header_id, order_number),sys.xmlgenformatType.createFormat('order')).getStringVal() AS xml_row from oe_order_headers_all
WHERE rownum < 6

4. SELECT XMLAgg(
XMLELEMENT
(header_id , order_number
)
).getStringVal() AS xml_row
FROM oe_order_headers_all
WHERE rownum < 6

How to make parameters conditionally mandatory or non mandatory from Concurrent Program Application

1. Create first value set with None Validation
Ex : Start Date (Parameter)
Create Second value set( End Date) with Special Validation
Click on Edit Information
Select event type as validate.
Paste the following code.

FND PLSQL "BEGIN
if ':$FLEX$.XXDB_START_DATE_VS' is null then
NULL;
end if;
END;"

The above code returns false if parameter 1 is null .
If parameter 1 is not null then second parameter get enable.
Attach this two value sets to start date and end date parameters

How to trace back Workflow notification history?

1 CREATE OR REPLACE FUNCTION get_hist ( p_nid IN PLS_INTEGER
2 , p_disp_type IN VARCHAR2 DEFAULT WF_NOTIFICATION.doc_text ) RETURN VARCHAR2 AS
3 v_hist VARCHAR2(32767);
4 BEGIN
5 Wf_Notification.GetComments2 ( p_nid => p_nid
6 , p_display_type => NVL(p_disp_type,WF_NOTIFICATION.doc_text)
7 , p_hide_reassign => 'Y'
8 , p_hide_requestinfo => 'Y'
9 , p_action_history => v_hist );
10
11 RETURN v_hist;
12
13 END get_hist;
14*

APPS@SOLDEV2 on 18-SEP-2008 10:43:34> select get_hist(1574024) from dual;

GET_HIST(1574024)
————————————————————————————————————————
Action History
Num : Action Date : Action : From : To : Details
1 : 17-JUL-2008 12:03:45 : Submit : SYSADMIN : Searle, Matthew :
2 : 18-SEP-2008 10:21:00 : Request Information : Searle, Matthew : SEARLEM4B : Hello


--------------------------------------------------------------------------------

Looking for a ground to play with Oracle Application?

Solution Beacon have a few 11i and R12 eBusiness Suite systems running, that you can play about in - they refresh them periodically, and there’s no database login, but for finding your way around Oracle Apps, it’s a good starting point - plus you don’t need to install your own sandpit area to play in!

The links to the 11i environments can be found here.

Metalink Notes on Oracle Workflow

  • Doc ID 47711.1 : WF 2.x: How To Create A New Workflow In Versions 2.0.3, 2.5 & 2.6
  • Doc ID 214089.1 : How to Format Workflow Messages for Email Notifications received as HTML and Web Based Notifications
  • Doc ID 48666.1 : Workflow FAQ
  • Doc ID 115322.1 : ORACLE FIXED ASSETS Account Generator and Workflow White Paper


http://workflowsig.oaug.org/

Which version of JDeveloper to be used for OAF

How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12.x
Solution
To determine which patch to use, you can check the framework version in your instance by using http://host:port/OA_HTML/OAInfo.jsp, then choose the matched JDeveloper patch

To know the corresponding patch for a given framework version refer to the metalink Doc ID 416708.1

My learnings in Oracle

This blog would mostly refer to my finding and learning in Oracle Application and its underlying technologies. I proposed to start this blog so as to help me as a quick reference in time of need. I hope I can make this a fruitfull blog to myself and to any one by chance bumps into this blog.