This content has been marked as final. Show 4 replies
The item attributes are like global variables they can be referred in all the activities. where as the activity attributes can be used only within the activity.
say for example you have a message activity having the activity attribute 'order_number'.
In the message body if you want to include the value of 'order_number' you can only refer to message attributes, but not item attributes.
The value for activity attribute 'order_number' can be as some constant value or it can refer to a item attribute if you want to set the value at run time.
At runtime you can set values for item attributes only but not for activity attributes, that is the reason we usually create activity attributes that refer to item attributes.
I hope it clears your doubt.
Thanks for your reply
Actually I understand that logic of having activity attributes in case of messages , as you mentioned order number in this case.Because if we need to refer a particular value in message body , then we need it as activity attribute.That is fine.
Actually I am trying to know, whats the need of activity attributes in case of functions and notifications.
In the case of functions the logic is the same as explained by Saroja. The PLSQL program associated to the function only makes use of the activity attributes, not the item attributes. Take for instance the standard function Execute Concurrent Program (EXECUTECONCPROG). See that it has the parameters pertinent to submit a program via concurrent managers: application short name, program short name, arguments, and so forth. When the associated plsql program is called (which by the way follows the same standard PLSQL structure of itemtype in varchar2, itemkey in varchar2, actid in number,
funcmode in varchar2, resultout in out nocopy varchar2) it uses all the ACTIVITY's attributes to get what it needs to finally call the FND routines to submit a program, it does not have to cherry pick them.
It would not be possible to scan all the item attributes to tell which ones need to be used for this particular function because attributes at item type level can be used by other processes, activities, messages, etc.
Thanks for your reply
I understood your point .But basically you have taken a standard activity which calls a standard activity
As far as I understand, activity attributes for standard activity have predefined meaning and they are used in that particular way only
and hence the plsql program that is called uses they ACTIVITY attributes e.g If I may take an example of
Wait for Flow Activity which uses standard procedure WF_STANDARD.WAITFORFLOW and has predefined ACTIVITY attributes Continuation Flow and Continuation Activity attributes .So till here I am fine that for standard activities , attributes are standardd and they are used accordingly.
But I want to know in case user defined activities (read functions and notification),which make call to user defined plsql program ,what is point of having ACTIVITY attributes which refer to ITEM TYPE ATTRIBUTES
Because as per definition of ITEM TYPE ATTRIBUTE
An item type attribute is a property associated with a given item type.It acts as a global variable that can be referenced or updated by any activity within a process.
I hope I m not sounding confused