Global Variable In Form Personalization

  • Uploaded by: Saurabh Sonkusare
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Global Variable In Form Personalization as PDF for free.

More details

  • Words: 2,685
  • Pages: 53
Forms Personalization – New for 11.5.10

Tim Sharpe Susan Behn Solution Beacon, LLC

Ohio Valley OAUG October 21, 2005 Cincinnati, Ohio www.solutionbeacon.com

© 2005 Solution Beacon, LLC. All Rights Reserved.

Introduction

nSolution

Beacon, LLC

Tim Sharpe u Susan Behn u

2 © 2005 Solution Beacon, LLC. All Rights Reserved.

Agenda n Definitions/Overview

Extensions

u

Customizations

u

n CUSTOM.pll n Forms

Personalization – demo

n Additional

Resources

3 © 2005 Solution Beacon, LLC. All Rights Reserved.

Overview – Extensions n Extensions

are defined as additional code or objects added to the E-Business Suite uA new form created from TEMPLATE.FMB uNew reports uInterfaces uOther new objects

n Forms

6i extensions paper/presentation Developing Form Extensions for E-Business Suite Customers www.solutionbeacon.com/industry_presentations.htm

4 © 2005 Solution Beacon, LLC. All Rights Reserved.

Overview – Customizations n Customizations

are changes to forms, reports or any other objects delivered with the E-Business Suite n Methods for customizing applications u CUSTOM.pll – generally protected during patching u Forms Personalization – generally protected during patching u Direct modification of forms, reports, packages, or other objects – Not Supported or protected during patching and not recommended n New terminology for protected customizations is “Personalization”

5 © 2005 Solution Beacon, LLC. All Rights Reserved.

Overview – Customizations WARNING Customizations, whether they are protected or non protected, allow you to fundamentally change the behavior of the application. This could interfere with intended functionality.

Use with caution! TEST! TEST! TEST! TEST! TEST!

6 © 2005 Solution Beacon, LLC. All Rights Reserved.

Overview – Customizations

…THEN TEST IT AGAIN!

7 © 2005 Solution Beacon, LLC. All Rights Reserved.

CUSTOM.pll n Library

available in $AU_TOP/resource is modified to provide customizations to Oracle Application forms n Use forms builder 6i to modify package body n Examples uHide fields, tabs uMake fields required uRestrict update or insert uChange prompts, tab labels uAlter LOVs uCreate zooms and tool bar menu selections uValidate and format uAlmost anything you can do in PL/SQL n Reference: Application Developer Guide – Chapter 28 8 © 2005 Solution Beacon, LLC. All Rights Reserved.

CUSTOM.pll – Methodology n Challenges

Traditional implementation of customizations in CUSTOM.pll only allows one developer at a time to make modifications uSize limitations can be an issue uKeeping code modular is difficult uTesting requirements can be significant for subsequent modifications to CUSTOM.pll u

9 © 2005 Solution Beacon, LLC. All Rights Reserved.

CUSTOM.pll – Methodology Multi-Developer Solution – Supplier Form Example n Create

a separate library (.pll) for each form to be customized

Package Spec PACKAGE XXXXXAPXVDMVX IS Procedure event(event_name VARCHAR2); END;

Package Body PACKAGE BODY XXXXXAPXVDMVX IS PROCEDURE event (event_name VARCHAR2) IS BEGIN IF event_name = ‘WHEN-NEW-FORM-INSTANCE’ THEN

\*Make the vendor type field required*\

APP_ITEM_PROPERTY2.SET_PROPERTY(‘VENDOR_TYPE_DISP’,REQUIRED,PROPERTY_TRUE); END IF; END event; END XXXXXAPXVDMVX;

10 © 2005 Solution Beacon, LLC. All Rights Reserved.

CUSTOM.pll – Methodology Multi-Developer Solution – Supplier Form Example n Attach

your new library to CUSTOM.pll

Navigator view of CUSTOM.pll Your new library

11 © 2005 Solution Beacon, LLC. All Rights Reserved.

CUSTOM.pll – Methodology Multi-Developer Solution – Supplier Form Example n Add

a call to your new library in CUSTOM.pll

Package Body of CUSTOM.pll Form_name varchar2(30) := name_in(‘system.current_form’); Begin If form_name = ‘APXVDMVD’ THEN xxxxxapxvdmvd.event(event_name); Elsif form_name = ‘OEXOEORD’ THEN xxxxxoexoeord.event(event_name); end if; end event;

12 © 2005 Solution Beacon, LLC. All Rights Reserved.

CUSTOM.pll – More Examples \*Force Upper Case for Supplier Name*\ APP_ITEM_PROPERTY2.SET_PROPERTY(‘VNDR.VENDOR_NAME_MIR',CASE_RESTRICTION,UPP ERCASE);

\* Hide the tax payer id*\ APP_ITEM_PROPERTY2.SET_PROPERTY(‘VNDR.NUM_1099_MIR',DISPLAYED,PROPERTY_OFF)

\*Change the prompt*\ APP_ITEM_PROPERTY2.SET_PROPERTY(‘VNDR. END_DATE_ACTIVE_MIR',PROMPT_TEXT,’Inactive Date’)

13 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization n Forms

Personalizations declaratively alter the behavior of Forms n User must understand Forms and PL/SQL n Most changes traditionally done using CUSTOM.pll can be accomplished using Forms Personalization uMust use CUSTOM.pll to alter LOVs uCUSTOM.pll allows all PL/SQL capabilities, builtins and SQL. n Forms Personalizations are effective immediately - no compiling n Forms Personalizations fire prior to CUSTOM.pll for the same event

14 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization Profile Options n Today’s

Demo environment – 11.5.10 with CU1 patch

applied (Forms Personalization in CU1 changed significantly with CU1 patch) n Set Profile Option Hide Diagnostics menu entry to No Yes will hide the diagnostics menu. n Profile Option Utilities: Diagnostics – if set to No, apps password is required

15 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Access n Access

the form or function needing personalization n Help à Diagnostics à Custom Code à Personalize

16 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization

17 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Rules n Personalization

Rule Header

Sequence tRules run in sequence tSequence numbers (1-100) are not unique uDescription – free form entry uLevel – Form or Function (CU1 patch) uDebug mode tOff tStep-by-Step – shows events impacted by rule (CU1 patch) tShow Debug Messages – shows messages with type = debug uEnabled – checked

u

18 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Conditions Tab Trigger Events n Use

generic trigger events available in most forms

n Use

specific events unique to the form (with caution)

n Find

events using Help àDiagnostics àCustom Code àShow Custom Events

n Trigger

Events are not validated from the LOV

19 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Conditions Tab Trigger Events – Generic to almost all forms n WHEN-NEW-FORM-INSTANCE

Security rules uNavigation rules uVisual attributes uAvoid message rules at this level n WHEN-NEW-BLOCK-INSTANCE uSame as WHEN-NEW-FORM-INSTANCE uMessage rules n WHEN-NEW-RECORD-INSTANCE uDefault values u

20 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Conditions Tab Trigger Events – Generic to almost all forms n WHEN-NEW-ITEM-INSTANCE uMessage rules uDefault values dependent on entry of another item n WHEN-VALIDATE-RECORD uPopulate hidden fields uAdditional validations n SPECIALn uPopulate tools menu (MENU1-15) (CU1 patch) uPopulate tools menu (SPECIAL 1-15) uPopulate reports menu (SPECIAL 16-30) uPopulate actions menu (SPECIAL 31-45) 21 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Conditions Tab Trigger Events – Generic to almost all forms n ZOOM

– recommend using MENUn or SPECIALn rather than zoom n KEY-Fn

22 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Conditions Tab Trigger Object n Required

if LOV is available n Requires Block Name uWHEN-NEW-BLOCK-INSTANCE uWHEN-NEW-RECORD-INSTANCE uWHEN-VALIDATE-RECORD n Requires Block.field name uWHEN-NEW-ITEM-INSTANCE n May be required for other events specific to form

23 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Conditions Tab Conditions n Optional SQL code fragment to limit scope of rule n References bind variables (:block.field) n Examples uUse to limit scope based on profile option values uGL Journal Entry – Remind users to change the period name the first 10 days of the fiscal year

24 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Conditions Tab Context – who does this rule apply to? n Multiple scope rows are allowed n Level at which the rule will apply uSite uResponsibility uUser – Use this for testing rules uIndustry (For future use) n Value – choose from LOV

25 © 2005 Solution Beacon, LLC. All Rights Reserved.

Tip: For initial development, set scope to your user id

Forms Personalization – Property Actions n Sequence

Rules will run in sequence uSequence number not unique n Type uProperty uMessage uBuilt-in uMenu n Description n Language – use when changing prompts for a specific language n Enabled – checked u

26 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Property Actions n Property

Type Fields uObject Type tItem , Window, Block, Tab Page, Parameter tRadio Button, View, :GLOBAL Variable, Canvas tLOV, Local Variable (CU1 patch) uTarget Object – LOV will include valid values for most types uProperty Name – LOV available uValue n Use Select by Text button to select the target object by prompt name n Use Get Value button to get the current value 27 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Property Strings n Rules

for fields that accept strings uStart with = tString evaluated at run time tCan use bind variables, operators, etc tCan use server side functions without out variables tPrior to CU1 patch, SQL statements starting with =Select require “A” alias (=Select meaning A from fnd_lookups where…_ uDoes not start with = tString is taken as a literal exactly as you type it

28 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Property Actions Example Force Upper Case for the Vendor Name n Type = Property n Object Type = Item n Target Object = VNDR.VENDOR_NAME_MIR n Property Name = CASE_RESTRICTION n Value = UPPERCASE

29 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Property Actions Example Change the window title n Type = Property n Object Type = Window n Target Object = VENDOR n Property Name = TITLE n Value = Suppliers (Oracle Open World)

30 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Actions Example Prevent Insert in the Bank Accounts Tab (require users to do this in Bank setup) n Type = Property n Object Type = Block n Target Object = VNDR_USES n Property Name = INSERT_ALLOWED n Value = False

31 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Variables Global Variables n Used to pass values between forms n Max length is 255 bytes n Prepend the name of the variable with XX Local variables n Used when you need to refer to a variable multiple times n Specific to local form n Max length is 4000 bytes n Prepend the name of the variable with XX

32 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Property Actions Example Set a global variable to the value of the email address in FND_USERS and display this value in a message n Type

= Property n Object Type = :GLOBAL Variable n Target Object = XX_USER_EMAIL n Property Name = VALUE n Value = =SELECT Nvl(Email_Address,'NO_EMAIL') FROM fnd_user WHERE user_id = fnd_global.user_id

33 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Property Actions Example n :GLOBAL

Variable

n Message

34 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Messages n Message

Type Fields uMessage Type tShow – Informational Message tHint – Appear on status bar tError – Requires user response tDebug – Only displays if debug mode is set to Show Debug Messages tWarn – Informational message with caution symbol uMessage Text n Do not use messages for WHEN-NEW-FORM events

35 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Message Examples n Debug

message

n Training

reminders

36 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Menu Example Create a menu entry to submit payment history report n Type = Menu (Prior to CU1 patch, Type = Special) n Menu Entry = MENU1 – MENU15 or SPECIAL1-45 n Menu Label = Supplier Payment History n Icon = null n Enabled in Blocks = VNDR, SITE uSeparate by comma uUse Add Block Button to choose blocks n Note – this action only displays the menu entry.

37 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Activate the menu entry to execute the concurrent request Supplier Payment History n Trigger Event = MENU1

38 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Activate the menu entry to run Supplier Payment History Report n Type = Builtin n Builtin Type = Launch SRS Form (CU1 patch) n Program Name = Supplier Payment History

n Note:

Parameters are not automatically passed

39 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Supplier Payment History Report – Passing Parameters n Create a new rule with a sequence before menu execute n Trigger event = MENUn or SPECIALn

n Set

:GLOBAL variable to value of parameters for report

40 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins

Supplier Payment History Report – Passing Parameters n Create a new rule for the Requests: Submit form

Different syntax required 41 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Open a url n Trigger Event = WHEN-NEW-FORM-INSTANCE n Establish menu entry

n Trigger

Event = MENU2

CU1 Patch 42 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Launch a function (CU1 patch) to view payment history form n Establish the Menu entry uTrigger Event = WHEN-NEW-FORM-INSTANCE uAction Type = Menu uMENU3 = Payment History

43 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Launch a function to view payment history form n Trigger Event = MENU3 n Set the :GLOBAL Variable n Launch a Function

44 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Launch a function – target function rules n Populate query find variable if the global variable is not null uTrigger Event = WHEN-NEW-ITEM-INSTANCE uTrigger Object = use the first item on the form

45 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Launch a function – target function rules n Populate query find variable if the global variable is not null uTrigger Event = WHEN-NEW-BLOCK-INSTANCE uAction Type = Property

46

CU1 Patch © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Example Launch a function – target function rules n Execute the DO_KEY(‘NEXT_BLOCK’) built in to force query execution uTrigger Event = WHEN-NEW-BLOCK-INSTANCE uAction Type = Builtin

47 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Built-ins Other Builtins n GO_BLOCK n GO_ITEM n RAISE_FORM_TRIGGER_FAILURE n FORMS_DDL n EXECUTE_TRIGGER n SYNCHRONIZE

(CU1 patch)

(CU1 patch)

48 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Tips n If

you disable a tab page, make sure the user cannot still navigate to the items on the tab page n You may need to exit and re-open the form to see personalization changes n Use Help à Diagnostics à Custom à Show Custom Events to determine what events are firing n See MetaLink note 279034.1 for special rules for forms with folders n After upgrades, go to the personalization for each form and choose Tools à Validate All n Use debug message before and after events n Initialize global variables to null in the navigator form using the WHEN-FORM-NAVIGATE trigger event 49 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Tips n Use

the Validate button to validate strings uConditions will return true, false or error uValues will return the resulting string or an error n Use the Apply Now button to apply the action now and see the results (does not always work if dependant on the results of another action) n Use the Insert ‘Get’ Expression button to get any property of an item (CU1 patch) n Turn custom code off to confirm any form problem is due to custom code Help à Diagnostics à Custom Code à Off n Set global values to null in the navigator form using the WHEN-FORM-NAVIGATE trigger 50 © 2005 Solution Beacon, LLC. All Rights Reserved.

Forms Personalization – Moving to another instance Download for a specific form: FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct FND_FORM_CUSTOM_RULES form_name=
n Download all personalizations FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct FND_FORM_CUSTOM_RULES n

Upload FNDLOAD <userid>/<password> 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct n

51 © 2005 Solution Beacon, LLC. All Rights Reserved.

Other Sources of Information n Oracle

Applications User Interface Standards for Forms-Based Products

n Oracle

Applications Developer’s Guide

n Oracle

Applications System Administrator’s Guide

n Oracle

Applications User Guide

n MetaLink

note 279034.1 – Forms Personalization

n www.solutionbeacon.com

– newsletters, free tools, white papers and presentations, Vision access

52 © 2005 Solution Beacon, LLC. All Rights Reserved.

Thank you! If you have any questions or comments please contact: Tim Sharp Susan Behn

[email protected] [email protected]

For free Release 11i Tools and helpful information, please visit our website at: www.solutionbeacon.com

Real Solutions for the Real World. 53 © 2005 Solution Beacon, LLC. All Rights Reserved.

Related Documents


More Documents from "Saurabh Sonkusare"