With the advent of Oracle Project Management we were introduced to the concept of the User Defined Attribute (UDA) as an alternative to the standard Descriptive FlexField (DFF). However, I’ve had many clients that were unaware of the advantages of using UDA’s rather than DFF’s.
In the past the DFF has been the goto item for storing custom data that is entered by a user to support custom processes and reports. While powerful , one of the major disadvantages is that a developer would have to build their code around reaching to different tables or creating a custom view to make the coding more efficient when writing code for extensions, custom processes, and reports. In addition, there are only a limited number of DFF’s available.
By utilizing the UDA functionality implementers can allow the user community to enter custom information in Oracle Project Management to drive any type of extensions, custom processes or report. Basically the UDA’s can be assigned at a Project or Task level. The UDA can be assigned via a context of Project Classification, Project Type, Task Type, or Project Class Code. A custom page is created automatically during this process with no development required to support data entry. Another key advantage of this functionality is that there is an option to automatically create a custom database view based upon the UDA information. This greatly enhances your abilities to support extended functionality as it potentially reduces the amount of development required by a developer to deliver a solution while providing an unlimited number of UDA’s in which to store data.
In the past we have implemented this functionality to support the following:
- Project Role Based Budgeting
- Composite Rate Budgeting/Forecasting
- Equipment Run Time Hours Reporting
Below is an example of the UDA form that was utilized for Project Role Based Budgeting.
While the DFF is still an option for storing custom data, you can see the UDA functionality offers a solid solution for driving extended functionality within Oracle Projects.
Bruce, thanks for the blog. I would be interested to hear about any experiences or opinions you may have in relation to loading values to multi row UDA’S through the API’s Oracle have provided? I have no direct experience of this, but I am told the API does not deal with multi row UDA’s.
Hi Barry,Oracle Project Public API do deal with Multirow UDA. I have done the implementation and design of same myself.
Moreover UDA has been a concept since quite long and has been quite configurable functionality
Hi Barry,
I personally have not attempted to utilize API’s to update or load Multi-Row UDA information. However, I did speak with one of my tech colleauges here and he took a look at the API. Basically it appears that the UDA’s are updated as part of Project Creation or Project Update via the PA_PROJECTS_PUB API. He goes on to say there is nothing specific that states the API cannot deal with Multi-Row UDA’s. However, I did find a reference from More4Apps in regard to their Project Wizard tool that uploads project info via API’s. It states that the Project Wizard can uplaod UDA information as long as it is a single row UDA. There are issues with the API being able to determine whether or not it is inserting a new row or updating an existing row. So it does sound as if there is a problem. However, I did follow up with my colleague and he stated that if necessary you could probably load the UDA information via a separate custom process regardless of whether it was multi-row or not.
Hope this helps,
Bruce