Oracle HRMS FORMS Personalization

March 24, 2018 | Author: ImtiazALi | Category: Computing, Technology, Computer Programming, Software, Software Engineering


Comments



Description

Forms PersonalizationOracle Applications Release 11.5.10 Objectives of this session 1. Forms Personalization: Need and benefits. 2. Understand Rules, Condition, Context and Actions. 3. Build rules that fire conditionally. 4. Understand Sequencing. 5. Use string evaluation. 6. Use Validate feature to confirm Conditions & Strings. 7. Understand Multilingual Issues. 8. Know the most commonly used Actions. 9. Debugging features available in Personalization. 10. Form Personalization v/s Form Customization. 11. Personalization Database Tables Version 1.0 2 What is Forms Personalization ? » The Form Personalization feature allows you to declaratively alter the behavior of Forms-based screens, including… • • • • Changing properties Executing built-ins Displaying messages Adding menu entries. ». Form Personalization is independent to each form. This means the personalization done on one form will not reflect on other form. ». The form mainly contains four sections. They are… • Rules, Conditions • Context • Actions The Need Most of the customers wish to modify the way the forms look and behave. They want to change the labels on the form fields, hide fields, hide buttons, amend custom logic etc. The motives could be Managing un-necessary fields. To match the customer specific business requirements. To match the language (lingo) used by the customer. Version 1.0 3 Warning Form  Personalizations  allows  you  to  fundamentally  alter  the  behavior of the product that Oracle ships, and access ANY and ALL  data. Therefore, this feature should only be made available to trusted  users. 2. Avoid  building  Personalizations  on  a  production  system  directly.  Form Personalizations should first be entered and thoroughly tested on  a Test System before they are actually loaded to a production system. Important: By default the “Personalize” menu is visible to all the users; this can be controlled with help of profile options. By setting up the below profile options, the access to the Personalize menu can be limited for the authorized users. This will prevent unauthorized users from changing the look and behavior of the forms. The profile options are • Utilities: Diagnostics = Yes/No • Hide Diagnostics = Yes/No Version 1.0 4 W A R N I N G 1. 0 5 .How to Invoke Forms Personalization Menu Navigation: Help  Diagnostics   Custom Code   Personalize Version 1.  Hide Customer field. 4. Each rule contains a sequence number and the description.      2. For example:        1. 2. Defining  rules  doesn’t  identify  when  the  rule  should  get  evaluated  or  applied. Rules administer the personalization needs to be implemented on the form. 3.  The rule can be activated or de­activated using the “Enabled” checkbox. Version 1.  For  each  rule. 5.  there  should  be  conditions  attached  which  power  the execution of the rule. The rule can be deleted when no longer needed. A Rule can be “Change the Order Number prompt to Claim Number”.0 6 .Rules 1. 0 7 .Condition Trigger Object Trigger Event Condition Processing Mode Validate Version 1. » Trigger Object: Trigger Object is the object on the form to determine at what level the rule should be executed. ‘<Block Name>” or “<Item Name>” » Condition: Condition is any SQL statement to control the execution of rule when the mentioned criterion is met. Version 1. » Each condition mainly contains three sections. They are… » Trigger Event: Trigger Event specifies the occurrence where the rule should be executed. The values can be “<Form Name>”.0 8 .Condition Condition decide the event the rule to be executed. 0 9 .Condition : Trigger Event & Trigger Object Version 1. 0 WHEN-NEW-FORM-INSTANCE: Once. Trigger Object must contain the blockname of interest. WHEN-NEW-RECORD-INSTANCE: Each time the cursor moves to a new record.Condition : Trigger Event & Trigger Object • All E-Business Suite forms send the following events: – – – – Version 1. Trigger Object must contain the blockname of interest. Trigger Object must contain the blockname. WHEN-NEW-BLOCK-INSTANCE: Each time the cursor moves to a new block. when the form starts up. Trigger Object does not apply. 10 .itemname of interest. WHEN-NEW-ITEM-INSTANCE: Each time the cursor moves to a new item. Note: To Know what events a form sends : Version 1.Condition : Trigger Event & Trigger Object • Many forms send the following event: – • WHEN-VALIDATE-RECORD: each time the current record has any change that needed to be validated.0 1. Trigger Object must contain the blockname of interest. We seed the Trigger Event item with the standard events. Menu Navigation: Help Diagnostics  Custom Code Show Events 2. a form may send a message like ‘REPRICE-ITEM’ at a specific event within it’s processing. but you can type other events into the field too. Run the form of interest and a dialog will appear each time an event is sent 3. Some forms send custom events – – For example. Turn this mode off by selecting Help > Diagnostics > CustomCode > Normal 11 . Condition: Condition / Process Mode / Validate Version 1.0 12 . description is null TRUE if the User Name has a value & the Description doesn’t have value 2. 2. TO_CHAR( ). Version 1. then the Actions are skipped. – The Condition is re-evaluated EACH time the rule is processed. The Condition field lets you create an expression in SQL.user_name is not null and :users.Condition: Condition I. and NVL( ) – Server-side functions that do not have OUT parameters. such as || (Concatenation). – If it is empty or evaluates to TRUE at runtime. The Condition expression can refer to: – Bind variables. Condition : 1. like :block. – If it evaluates to FALSE at runtime. then the Actions are performed. DECODE( ) Examples: 1. sysdate >= to_date(‘1-1-2005’. 2005.field – SQL operators. :users.0 13 . ‘DD-MM-RRRR’) TRUE if today’s date is equal to or greater than January 1. or an Error. When you press the Validate button.Condition: Processing Mode & Validate II. Both: The Rule will be executed in both the Enter & Execute query modes. Errors are in standard ORACLE error format. False. 3. the Condition will process immediately and return either True. Version 1. Only in Enter Query Mode: The Rule will be executed in Enter Query Mode only. with an ORA error number. III. 2. 2. Processing Mode: 1. Validate : 1.0 14 . Not in Enter Query Mode: The Rule will not be executed in Enter Query Mode. 0 15 .Context Version 1. We will see this in next slide. • Usage of context is very vital in implementing the personalization to prevent the inappropriate users accessing these personalization of the form. the values provided in the context are evaluated and personalization rules will be applied. • This is similar to the concept of using profile options in Oracle Applications with a slight difference. Version 1. Example : Context = Responsibility Value = Customer Support • The scope of 'Industry' is reserved for future. Responsibility.0 16 . • During runtime. Industry and User.Context Context manages to whom the personalization should apply. • The various levels are Site. 17 . 4. the rule with the higher sequence number will be performed last. thus it will ‘WIN’. it will be applied for everyone. 3. If a Rule has a context of ‘Site’. A rule with a context of Responsibility does not ‘override’ Site. and Actions that change the same property.0 1. 2. A rule with a context of User does not ‘override’ Site or Responsibility. If 2 rules have the same Trigger Event.Context is not a hierarchy Version 1. 0 18 .Actions Version 1. • Based on the action type selected.Actions Actions decide the exact operation to be performed when the conditions and context return TRUE during the runtime. • Actions can be enabled.0 19 . the fields on the right sector of the actions tab will be refreshed where the action parameters are entered. • Usually each rule should be associated with at least one action. disabled or deleted. • The types of actions available are… • Property • Message • Builtin • Special • Each Action contains a Sequence number. Description and Language. Version 1. The sequence does not have to be unique. For an Action. the Sequence is very important in various situations. With Properties. if you are moving an item you might first  have to make the canvas a different size.0 When using Builtins. then issue a query in that block. you might first move the cursor to a  particular block. It is there in case you need things to be processed in a specific  order.  for example: – – Version 1.Actions: Sequence 1. 20 . 2. Both Rules and Actions have a Sequence that must be entered. 3. 4.            Target Object = “:ORDER. and Block etc”.ORDER_NUMBER”         Property Name = “PROMPT_TEXT”          Value = “Claim Number” • The value can be interpreted at runtime. • Any value start with “=” operator will be interpreted at runtime. Example:  Object Type = “Item”. • The current value of the property will be displayed when clicked  on the “Get Value” button. • The various objects include “Item. • Value is the new desired value for the property.       Example: Value => =’Welcome to the Sales Order Entry Mr. Window. • Actual object name defined in the form should be entered after  selecting the object type. ‘||user.Actions Type: Property The action type “Property” is used to set the properties of the objects. so you can use SQL  functions and operators.0 21 . • Property Name is the Property to be changed. Version 1.  • otherwise the value is treated as is entered in the value field. 0 22 . checkbox or radio button • REQUIRED: If True. the user must enter a value. X and Y_POS: The location on the canvas. Version 1. in inches. the item is hidden • INITIAL_VALUE: The value to default on a new record. in inches. VALUE: Copy a value into the item. typically next to or above the item • DISPLAYED: If False. • TOOLTIP_TEXT: The bubble tip on the item. • WIDTH: The width.Common Actions of type Property For Items (Fields): • PROMPT_TEXT: The prompt of the item. as if the user typed it. This can only be set in the WHEN-NEW-RECORD-INSTANCE event • LABEL: The label of a button. the tab page is hidden. in inchesFor Blocks: • DEFAULT_WHERE: the WHERE clause of the SQL statement controlling queried records • ORDER_BY: the ORDER_BY clause of the SQL statement of the queried records • INSERT_ALLOWED: if False.Common Actions of type Property For Tab Pages: • DISPLAYED: If False. For Windows: • TITLE: the title of the window • X and Y_POS: the location within the MDI window. prevents the user from updating any item in a queried record • DELETE_ALLOWED: if False. Note that keyboard navigation may need to be changed to prevent access to items on the page • LABEL: the title of the tab For Canvasses: • TOPMOST_TAB_PAGE: Determines the currently selected Tab Page. prevents the user from creating new records • UPDATE_ALLOWED: if False. prevents the user from deleting queried records Version 1.0 23 . Actions Type: Message • The action type “Message” is used to display custom messages during runtime.0 24 . the appropriate message type should be selected. Example: Message Type = “Hint” Message Text = “Please Follow the Date format DD-MON-YYYY” Version 1. • The available message types are Show Hint Error Debug Warn • Depending on the response expected from the user. • Message Type and Description should be entered after selecting the action type as “Message”. with an OK button.Common Actions of type Message Show: Displays a message of type Note. processing is aborted. If the user selects Cancel. 25 . with OK and Cancel buttons. Processing is aborted afterwards. Only displays when ‘Display Debug messages’ is checked. with an OK button. Hint: Displays text on the message line Error: Displays a message of type Error. Warn: Version 1. Debug: Displays a message of type Note. with an OK button.0 Displays a message of type Question.  the parameters should be entered. Example: Builtin Type = FND_UTILITIES.OPEN_URL Argument     =  http://dms.com Version 1.Actions Type: Builtin The action type “Builtin” is used to execute the form and AOL API’s.  Depending on the API type selected.dell.0 26 . • Common Arguments: • ENTER_QUERY: invoke QBE mode • EXECUTE_QUERY: execute the query • NEXT and PREVIOUS_BLOCK: move to another block • NEXT and PREVIOUS_ITEM: move to another item • FND_UTILITIES.Common Actions of type Builtin • GO_ITEM and GO_BLOCK: Move the cursor to a specific item or the first item in a block • DO_KEY: Acts like a macro. Can be as simple as ‘www. simulating user actions.yahoo. Version 1.OPEN_URL: Launch a URL. applying security rules.0 27 . Parameters can be passed if the target accepts them.com’. or as complex as a Discoverer page • FND_FUNCTION.EXECUTE: Open a function. 0 28 .Actions Type: Special Version 1. • Oracle Applications provide 45 special menus under Tools menu which  can be used by customers based on their requirements.  Menu label is the prompt which appears to the users when Tools menu is  invoked.0 29 .ico file name.Actions Type: Special The action type “Special” is used to activate the available special menus on the Tools menu. • • A separator can be created above the activated special menu by selecting  the “Render line before menu” checkbox. block specifies the blocks for which the special menu should be  activated  Icon name is the . Example: Menu Entry = SPECIAL4 Menu Label = Additional Customer Information Enabled in Blocks(s) = Customer Icon Name = Flower.ico Version 1. • • Select the SPECIAL menu which is not used by the form. we look for all enabled rules that match that Trigger Event and Trigger Object.Triggers » Conditions » Sequences » Actions In short here’s how it all works: » When an event occurs in the form. » » Version 1. 30 . Then we look for the next-highest sequenced Rule and process it. in the order of the Action Sequence. » Starting with the Rule that has the lowest sequence.0 if the Condition is empty or evaluates to TRUE. until there are no more Rules for that Event. we process each enabled Action. and NVL() – Server-side functions that do not have OUT parameters.Working with Strings in Value Field Every property that takes a string can work one of two ways • If the string you type does not start with ‘=’.user_name is null} =The field value is: :items. • If the string you type starts with ‘=’. DECODE(). You can refer to: – Bind variables.passwd_length||' characters. then it will be evaluated at runtime.part_number {an ORACLE error because the syntax is incorrect.field etc – SQL operators.part_number} 31 .0 Result at Runtime ='Your password will expire on '|| (sysdate+7) Your password will expire on 31-DEC-2004 {if sysdate is currently 24-DEC-2004} ='Your password must have at least '||:context.user_name. TO_CHAR(). String Typed In Version 1. then it will be used exactly as you typed it. like :block. {if passwd_length has a value of 8} =‘User: ‘||NVL(:user. such as ||. It should be: =‘The field value is: ‘|| :items.' Your password must have at least 8 characters.user_name is ‘SYSADMIN’} User: New {if :user. ‘New’) User: SYSADMIN {if :user. create one Action per language • Pick the appropriate language. such as Properties (PROMPT_TEXT.0 • Some Actions are insensitive to language. not displayed values 32 . such as setting the Required property for a field. TOOLTIP…). LABEL. • For these. and Special (Menu Label) • For these. set the Language to ‘All’ • But many Actions have text. Messages (Message Text).Multilingual Issues Version 1. and enter the proper text for that language • Don’t create Conditions that are language sensitive • Refer to internal values of fields.  enter all numeric  values in english format Examples: • Setting the WIDTH property: 2.  which  require  that  numbers  always  be  in  ‘english’  format (1234.0 33 .56 • However.5 • Creating  a  Condition  based  on  the  value  of  a  numeric  field: :block.Multilingual Issues • You can count on numbers to be confusing! • Depending  on  your  profiles.5  Version 1. • So. regardless of what your current settings are.56).  you  may  see  numbers  in  fields  as  1234.  much  of  Forms  Personalization  involves  SQL  fragments.field >= 2.56 or 1234. Multilingual Issues Let’s Check for Date Version 1.0 • WRONG: • sysdate >= to_date(‘1-JAN-05’) • ‘JAN’ will not mean ‘January’ in all languages • Always specify an exact mask when converting a string to a date • Avoid Y2K issues – enter years with all 4 digits • RIGHT: • sysdate >= to_date(‘1-1-2005’. ‘DD-MM-RRRR’) 34 . That will abort all further processing for that event. if not ‘All’. and none is true for the current context An action is executing the Builtin 'RAISE FORM_TRIGGER_FAILURE' . Industry and/or User. The Language of the Action. The Trigger Event and/or Trigger Object were not what you expected The scope of the rule only consists of Responsibility. Rules are created for a Function. is different than what you are currently running You have set Custom Code to ‘Off’ or ‘Core code only’ in the pulldown menu.Debugging: Why isn’t it running ? A rule or action may not run for a variety of reasons: • • • • • • • • Version 1.0 The Rule or Action is not enabled . 35 . The Condition has evaluated to FALSE . but as a different function. You might be running the same form. 36 . To resolve that: Version 1. • You should see your message pop up when the proper event occurs.Debugging: Is it really running ? It may not be obvious that your change was applied in some cases. • Save your changes.0 • Create a Message of Type ‘Debug’ after the Action of interest. Add some useful text. • Re-run the form. • Check the ‘Display Debug messages’ checkbox. What can you do? • Try performing the action at a ‘lower’ event. but by the time control returns to the user the property you set has been overridden. and they may yield a misleading UI (for example. 37 . • • • Version 1. If a property is ‘off’ at item level. it cannot be turned on at iteminstance level. • • • • Be aware of ‘item’ vs.Debugging: Why isn’t is sticking ? Often an Action may execute.0 Properties that affect all records of a block: set at WHEN-NEWBLOCK-INSTANCE or WHEN-NEW-RECORD-INSTANCE Properties that affect a specific item in a block: set at WHEN-NEWITEM-INSTANCE The downside of the ‘lower’ events is that they fire more frequently. ‘item-instance’ affects only the current row of that item. a field may look to be updateable until you navigate into it) ‘item’ level affects all instances of that item. ‘item-instance’ properties.  Run the form of interest  It should run now. 38 .  Invoke the Personalization screen and correct the problem . choose  Help > Diagnostics > Custom Code > Off This will disable all callouts to Forms Personalization. choose Help > Diagnostics > Custom Code > Normal to re-enable processing of Personalizations.0  On the pulldown menu. because your changes were skipped.Debugging: How to stop personalization ? It is possible that a change you make completely breaks a form. to the point that it will not even run! Here’s how to recover : Version 1.  On the pulldown menu. Form Personalization v/s Form Customization Personalization Customization Not Require CUSTOM library Mainly use CUSTOM library For a limited functionality like hiding columns. Doesn’t violate the support from Oracle and these rules also conceded with the future upgrades without any additional effort. Version 1. (Look & Feel) To Implement the complex business logic Easy. Depends on the complexity of business logic and require considerable development effort. faster and requires minimum development effort. changing labels and showing custom messages etc.0 39 . Form Personalization: Database Tables Some of the Important Database tables for personalization FND_FORM_CUSTOM_RULES FND_FORM_CUSTOM_ACTIONS FND_FORM_CUSTOM_PARAMS FND_FORM_CUSTOM_PROP_LIST FND_FORM_CUSTOM_PROP_VALUES FND_FORM_CUSTOM_SCOPES Version 1.0 40 . Builtins and Messages • Use debugging features 41 .0 • Forms Personalization • Build rules associated with the proper Trigger Event • Build rules that fire conditionally • Use Sequencing • Use the Validate feature to confirm Conditions and Strings • Use string evaluation • Handle multilingual situations • Use the most commonly used Properties.Summary In this session we have seen : Version 1. Thank You Version 1.0 42 . Documents Similar To Oracle HRMS FORMS PersonalizationSkip carouselcarousel previouscarousel nextPayroll Fundamental Hrms Oracle Apps Payroll Setups of Oracle HRMS R12Oracle HRMS Learning Management R12Payroll Costing Screen ShotsHRMS Payroll ProcessingBalances in Oracle HRMS PayrollOracle Fusion HCM Bootcamp_Student Guide 1Oracle HRMSImplementing Oracle HRMSUsing Oracle FastFormula for Payroll CalculationsOracle HRMS Learning Management 11iOracle HRMS Setup ChecklistsPayroll Costing in OracleOracle Payroll Cycler12 Hrms CoreOracle HRMS Self service FundamentalOra_HRMS Functional Documents APIs of Oracle HRMShrms queriesOracle HRMS Payroll Setup PptOracle Hrms API Details Oracle HRMS - R12 EnhancementsOracle Form PersonalizationHRMS FunctionalOracle Absence Management SetupOracle Applications R12 - Payroll Elements Setup Oracle Learning ManagementOracle Payroll India User ManualOrg Setup Oracle AppsOracle SSHRMore From ImtiazALiSkip carouselcarousel previouscarousel nextAccrual PlanProration FormullaAccrual PlanHow to Setup Leave Accrual Plan Set Up 2Oracle Fusion HCM Overview1SOE SetupRetro Pay Enhanced SetupHow to Display the Payment Method and Bank Details in SOEHRMS Demo MaterialMusanada Case Study HRMS UpgradeRohit SQL NoteCar Allowance Formulla.Third Party Payment SetupOracle Instance LoginHrms All Tables 2.XlsPAyroll Assignment Process Issue.docxCustome Security ProfileEBS Short KeysHOW TO GET DFF NAMEOracle HRMS Absence Management Opening Balance Loading DocumentAME_Setup[1]Conncurrent ProgramFujcci Crp Oraclepayroll-Muhammad WaqasOracle HRMS Functional DocumentFooter MenuBack To TopAboutAbout ScribdPressOur blogJoin our team!Contact UsJoin todayInvite FriendsGiftsLegalTermsPrivacyCopyrightSupportHelp / FAQAccessibilityPurchase helpAdChoicesPublishersSocial MediaCopyright © 2018 Scribd Inc. .Browse Books.Site Directory.Site Language: English中文EspañolالعربيةPortuguês日本語DeutschFrançaisTurkceРусский языкTiếng việtJęzyk polskiBahasa indonesiaSign up to vote on this titleUsefulNot usefulYou're Reading a Free PreviewDownloadClose DialogAre you sure?This action might not be possible to undo. Are you sure you want to continue?CANCELOK
Copyright © 2024 DOKUMEN.SITE Inc.