Oracle Workflow Customization Page 2 Oracle Vorkilow tustomization Lecutive Overview.......................................................................................... Introduction....................................................................................................... Access Protection.............................................................................................. Access Level .................................................................................................. + Protection Level ............................................................................................ + Allow access to everyone ........................................................................ + Limit access to users with access levels equal to your own ............... 3 Limit access to users with access levels equal to your own or higher ......................................................................................................... 3 Limit access to users with access levels equal to your own or lower........................................................................................................... 3 tustomization Level..................................................................................... 3 Allow modiiications to customized objects.............................................. 6 Loading Deiinitions .......................................................................................... 6 Loading Vorkilow Design.......................................................................... 6 Loading 1ranslated Deiinitions.................................................................. Standalone tustomers............................................................................. Oracle Applications tustomers ............................................................. tase Study .......................................................................................................... 8 tustomization Goal ..................................................................................... 8 Original Process........................................................................................ 8 tustomized Process................................................................................. 8 Shipped Vorkilow Design.......................................................................... 8 Item 1ype .................................................................................................. 8 Process ....................................................................................................... 9 lunction Activities................................................................................. 10 tustomized Vorkilow Design ................................................................. 11 tustom lunction Activity..................................................................... 11 tustomized Process............................................................................... 11 Preserve tustomizations....................................................................... 11 tonclusion........................................................................................................ 1
Oracle Workflow Customization Page 3 Oracle Vorkilow tustomization EXECUTIVE OVERVIEW Oracle Vorkilow lets you automate and continuously improve business processes, routing iniormation oi any type according to business rules you can easily change to people both inside and outside your enterprise. One oi the key ieatures oi Oracle Vorkilow is the ability to adapt to the business process oi any enterprise and also be able to adapt to the continuous changes in business processes with ease. 1his technical white paper describes how Oracle Vorkilow supports customizations and provides technical details on the implementation process. INTRODUCTION Oracle Vorkilow lets you easily customize Oracle Applications workilowenabled transactions to reilect your business practices. \ou can create alternative processing paths to accommodate new business processing rules or introduce new procedures. \ou can modiiy message content ior improved decisionmaking. \ou can etend a process to include eternal system processing. Oracle Vorkilow supports your modiiications without changing Applications code. Some workilow products iorce you to stop their workilow engine to make changes or to introduce new process deiinitions to the system. Oracle Vorkilow introduces your modiiications without interrupting active processes while the Vorkilow Lngine continues to eecute. Oracle Vorkilow embedded in Oracle Applications provides ease oi change and ease oi implementation, enabling you to quickly respond in the rapidly changing world oi ebusiness. ACCESS PROTECTION Access protection is a ieature oi Oracle Vorkilow that prevents workilow seed data created by an Applications product team irom being modiiied by Applications customers. In Oracle Vorkilow, seed data reiers to any oi the iollowing. Vorkilow object deiinitions that can and should be modiiied to meet a certain consumer's needs. Vorkilow object deiinitions protected against modiiication because they represent standards that may also be upgraded in the iuture by the Oracle Applications product team. Oracle Workflow Customization Page 4 1ranslated workilow deiinitions ior which only translated iniormation is uploaded, no design time iniormation, such as process activities or process activity transitions, is uploaded. Oracle Vorkilow assigns a protection and customization level to every workilow object deiinition stored in the database and requires every user oi Oracle Vorkilow to operate at a certain access level. 1he combination oi protection, customization, and access levels makes up the access protection ieature and determines whether a user can modiiy a given workilow object. 1he level in all three cases is a numeric value ranging irom 0 to 1000. Access Level Lach user oi Oracle Vorkilow operates the system at a certain access level according to the range oi levels listed above. A "user oi Oracle Vorkilow," in this case, represents someone who is operating the Oracle Vorkilow Builder or the Vorkilow Deiinitions Loader program which loads workilow process deiinitions irom a iile into a database. \ou should always operate Oracle Vorkilow Builder at the same consistent access level because the level you work at aiiects the protection level oi the seed data you create. Oracte .ppticaticv prcavct teav cperate tbe Oracte !crftcr vitaer ava tbe !crftcr Defiviticv Icaaer at av acce te:et cf . Oracte .ppticaticv FXVWRPHUV bcvta atra, cperate tbe Oracte !crftcr vitaer ava tbe !crftcr Defiviticv Icaaer at av acce te:et cf . \ou can view your access level as iollows. In Oracle Vorkilow Builder, select About Vorkilow irom the lelp menu. Ii you are going to run the Vorkilow Deiinitions Loader program to download workilow process deiinitions irom the database to a iile, check the value ior the environment variable Vl_AttLSS_LLVLL on your workilow server. Ii you do not deiine this environment variable, the Vorkilow Deiinitions Loader simply assumes a deiault access level oi 1. Protection Level Vhen a workilow object is created in the Oracle Vorkilow Builder, the object can be protected at a certain access level. An object's protection level controls whether other users can modiiy the object based on their access levels. Allow access to everyone By deiault, all users are allowed access to an object ii both Preserve tustomizations and Lock at this Access Level are unchecked in the Access tab. Oracle Applications product teams should not ship workilow process with this coniiguration ii. 1he workilow process can be customized 1here may be upgraded versions oi the workilow process in the iuture Oracle Workflow Customization Page 5 tustomers customizing objects with this coniiguration can check the Preserve tustomizations and Lock at this Access Level check boes to protect their customizations irom iuture upgrades irom the Oracle Applications product teams. Limit access to users with access levels equal to your own Ii you check both Lock at this Access Level and Preserve tustomizations you ensure that the object cannot be modiiied by anyone other than users operating at your current access level. Oracle Applications product teams should ship workilow processes with the Lock at this Access Level checked to protect any objects that they want to deiine as Standard components. tustomers customizing workilow processes must protect their customizations irom being overwritten by checking both the options. Limit access to users with access levels equal to your own or higher Ii you check Preserve tustomizations in the Options region oi the Access tab, you designate the object as being customizable by anyone with an access level equal to or higher than your current access level. \ou should only mark objects as customizable ii you are sure that you will not be providing upgraded versions oi this object in the iuture that would overwrite other users` customizations to it. Oracle Applications product teams do not ship workilow processes with only Preserve tustomizations checked ii there may be upgraded versions oi the workilow process in the iuture. Limit access to users with access levels equal to your own or lower Ii you check Lock at this Access Level, you protect the object and ensure that only users with an access level equal to or lower than your current access level may modiiy the object. Users operating at a higher access level will see a small lock on the workilow object's icon, indicating that the object can be used but not modiiied. Oracle Applications product teams should not ship workilow processes with the Lock at this Access Level checked unless they are protecting objects that they want to deiine as Standard components that will not change unless they provide a global upgrade. It is important that you always operate at the same consistent access level.
Customization Level Lvery workilow object, in addition to having a protection level, also records a customization level equal to your access level when you modiiy the object and save it to a database or iile. 1he customization level indicates that only someone operating at an access level equal to or higher than the customization level can iurther modiiy the object. Ii you are operating at an access level lower than an object's customization level, you Oracle Workflow Customization Page 6 will see a small lock on that workilow object's icon, indicating that the object can be used but not modiiied. 1his ensures that a customizable object that has been customized never gets overwritten during a seed data upgrade because the upgrade always occurs with the Vorkilow Deiinitions Loader operating at an access level below the customized object's customization level. 1he iollowing range oi access levels are presumed by Oracle Vorkilow. 09 Oracle Vorkilow 1019 Oracle Application Object Library 2099 Oracle Applications development 100999 tustomer organization. \ou can determine how you want this range to be interpreted. lor eample, 100 can represent headquarters, while 101 can represent a regional oiiice, and so on. 1000 Public
.tt Oracte .ppticaticv cvtcver cvtcviaticv vvt cperate ritb av acce te:et cf 1. Allow modifications to customized objects 1his is an option in the lelp About window oi the Vorkilow Builder. thecking or unchecking this check bo dictates the mode in which the Vorkilow Loader operates when called by the Vorkilow Builder. thecking this check bo makes the Vorkilow Builder operate in UPLOAD mode. 1hus the Vorkilow Builder can save your edits, overwriting any protected objects that you have access to modiiy as well as any previously customized objects. Unchecking this check bo makes the Vorkilow Builder operate in UPGRADL mode. 1hus the Vorkilow Builder can save edits only to protected objects that you have access to change, leaving objects that have been previously customized untouched. Oracle Applications users must operate with this check bo unchecked UPGRADL mode,. LOADING DEFINITIONS Vorkilow deiinitions are loaded using two utilities. VlLOAD and lNDLOAD. Loading Workflow Design VlLOAD is used to load the workilow design iniormation. Oracle Applications customers must always load the deiinitions in UPGRADL mode. 1he VlLOAD program will load only the US language version oi workilow deiinitions.
Oracle Workflow Customization Page 7 Loading Translated Definitions lNDLOAD is used to load translated workilow deiinitions. 1his program only uploads the translated portions oi the workilow deiinition iile, not the design itseli. 1his is achieved by running the lNDLOAD utility in NLS mode. As a result, changes made to US deiinitions oi workilows that are uploaded using the Vorkilow Deiinitions Loader VlLOAD, do not need to be applied to translated versions oi the same workilow that are uploaded using lNDLOAD. Standalone Customers Standalone customers can open a translated workilow deiinition in the Vorkilow Builder and save the deiinition in that language. Standalone customers can also use the wfload program to load translated workilow deiinitions. Oracle Applications Customers Oracle Applications customers cannot load translated deiinitions in the Vorkilow Builder and save them to the database. Instead, the deiinitions are loaded using the lNDLOAD utility. Ii customers would like to view upgraded deiinitions and compare them with their eisting deiinitions, they must. Save the current deiinitions to a iile. Load the new upgraded, deiinitions ior the language using lNDLOAD. Open the new deiinitions irom the database using the Vorkilow Builder. Open the previous older deiinitions irom the saved iile in another Vorkilow Builder client.
Oracle Workflow Customization Page 8 CASE STUDY 1o illustrate how the Oracle Vorkilow access protection ieature works, consider the iollowing simple workilow provided by an imaginary Oracle Applications product team. As we already know, the product team would have created this workilow deiinition with the Oracle Vorkilow Builder access level set to 20. 1he screenshots taken below are irom the perspective oi an Oracle Applications customer, with the Oracle Vorkilow Builder access level set to 100. Customization Goal Original Process 1he iollowing is the process that was released by the Oracle Applications product team and must now be customized.
Customized Process 1he goal is to customize the above process to include a new custom iunction activity as part oi the process as iollows.
1he iollowing sections describe how this goal can be achieved. Shipped Workflow Design Item Type 1he internal name oi the shipped item type is AttSS1S1. 1he display name is Access Level 1est Vorkilow. 1o look at the access protection properties oi the item type, rightclick on the item type and click the Access tab. Oracle Workflow Customization Page 9 As you can see, the entire Access tab is grayed out, as the access level currently being used is 100. 1his object can only be modiiied by the Applications product team, who will be operating the Oracle Vorkilow Builder with the access level set to 20. Note that the Lock at this Access Level option alone is checked. Ii you change the access level to 20, you will see that Preserve tustomizations and Lock at this Access Level are both checked.
Process 1he internal name oi the shipped workilow process is NLV_PROtLSS, and the display name is New Vorkilow Process. 1o look at the access protection properties oi the process, rightclick on the process and click the Access tab. Preserve tustomizations and Lock at this Access Level are unchecked. All users are allowed access to this object to make changes. Note that it is possible ior an Applications customer to check the Preserve tustomizations and Lock at this Access Level check boes ior the process, whereas ior the item type above, these iields were display only protected,. Oracle Workflow Customization Page 10
Function Activities 1he internal name oi the iirst shipped iunction is lUNt1ION1, and the display name is lunction 1. 1o look at the access protection properties oi the iunction activity, rightclick on the iunction activity and click the Access tab. Preserve tustomizations and Lock at this Access Level are both checked. 1his ensures that only the Applications product team, who will be operating the Oracle Vorkilow Builder with the access level set to 20, can modiiy this object.
Another iunction activity, lUNt1ION2, is also created. Apart irom the name and display name, this iunction activity is identical to lUNt1ION1. Oracle Workflow Customization Page 11 Customized Workflow Design Custom Function Activity 1he goal is to eecute a custom iunction activity aiter lunction 1. 1his custom iunction activity would then transition to lunction 2. 1he Oracle Applications customer, operating the Oracle Vorkilow Builder at an access level oi 100, would create a new iunction activity called tustom lunction Activity. Customized Process Include the new iunction tustom lunction Activity in the New Vorkilow Process workilow process as iollows.
Preserve Customizations Since the Oracle Applications customer wants this customization to be preserved even aiter new versions oi this workilow are provided by the Oracle Applications product team, the customer would then check only the Preserve tustomizations check bo ior the New Vorkilow Process workilow process, as iollows. Oracle Workflow Customization Page 12
Let`s say that the Oracle Applications product team then provided a patch ior this workilow deiinition in which the New Vorkilow Process workilow process had been modiiied as iollows.
Aiter this patch is applied, what would we epect the workilow deiinition to look like tlose eamination oi the output log iile irom the Vorkilow Deiinitions Loader when this workilow deiinition was applied would show the iollowing statement. ACTIVITY 'ACCSSTST/NLW_PROCLSS' is customized, no changes were saved. 1his means that the eisting customized workilow process was protected irom this upgrade, and the workilow process will still look as iollows. Oracle Workflow Customization Page 13
1his ensures that a customizable object that has been customized never gets overwritten during a seed data upgrade, because the upgrade always occurs with the Vorkilow Deiinitions Loader operating at an access level below the customized object's customization level.
CONCLUSION Access protection lets seed data providers protect certain data as 'readonly', while allowing other data to be customized. Also during a seed data upgrade, access protection lets the seed data provider overwrite any eisting protected seed data with new versions oi that seed data, while preserving any customizations made to customizable seed data. A customizable object that has been customized never gets overwritten during a seed data upgrade because the upgrade always occurs with the Vorkilow Deiinitions Loader operating at an access level below the customized object's customization level. Oracte .ppticaticv prcavct teav cperate tbe Oracte !crftcr vitaer ava tbe !crftcr Defiviticv Icaaer at av acce te:et cf . Oracte .ppticaticv FXVWRPHUV bcvta atra, cperate tbe Oracte !crftcr vitaer ava tbe !crftcr Defiviticv Icaaer at av acce te:et cf . Oracle Application product teams must ship all their Standard components with the Preserve tustomizations and Lock at this Access Level check boes checked. 1his will ensure the workilow object deiinitions are protected irom customizations. Oracle Application product teams should ship workilow deiinitions with Preserve tustomization and Lock at this Access Level unchecked ior those objects which must be customized. Oracle Application customers must always operate at an access level oi 100 and preserve the customized workilows by checking both the Preserve tustomization and Lock at this Access Level check boes.
Oracle Workflow Customization August 2002 Author: Varadarajan Rajaram Contributing Authors: Mark Craig
Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A.
Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners.
Copyright 2002 Oracle Corporation All rights reserved.