P. 1
OAF

OAF

|Views: 207|Likes:
Published by vigneshsp

More info:

Published by: vigneshsp on Mar 14, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/07/2014

pdf

text

original

OAF Personalisation and Extensions – A Case Study Authored by Senthilkumar Shanmugam

OAF Personalisation and Extensions . All rights reserved. White Papers by Contractors Network Ltd This is one of a series of White Papers published by Contractors Network Ltd. If you have found the content of this White Paper interesting and useful.com or the address below. OAF Personalisation and Extensions .A case study © 2009 Page 1 . we can introduce you to independent experts in this field.A case study Authored by Senthilkumar Shanmugam December 2009 © (2009) OracleContractors. All other third party trademarks and registered trademarks are acknowledged. Further copies of this and other White Papers can be obtained free of charge by contacting us at whitepapers@Oraclecontractors.com. and wish to explore the subject matter further. each one focussing on a specific aspect of Oracle.

.............................................................. 9 Step 3: CO Extension .................. 11 Screen shots: .......................A case study © 2009 Page 2 ...................................................................................................CONTENTS ABO U T C ON T RA CT O RS N ET W O RK .......................................... 7 Step 2: OAF Personalisation ...................................... 5 BUSINESS REQUIREMENT ......................................................................................................................................................................................................... 6 ANALYSIS ....................................................................................................................................................... 12 SUMMARY ........................................................................................................................................................................................................................................ 6 Step 1: VO Substitution ..................................................... 5 WHO SHOULD READ THIS ................................................................................................. 6 DESIGN ................................................................................... 4 INTRODUCTION............................ 14 OAF Personalisation and Extensions .............. 3 ABOUT THE AUTHOR ........................................................................................................ 5 PURPOSE ...............

OAF Personalisation and Extensions .  We offer access for training and demonstration of the latest release via an online Vision environment at no cost.000 + Oracle specific roles. with 50 + Regional Authors that produce 20 articles a months. at a discounted rate.A case study © 2009 Page 3 . to clients and Contractors alike.   We are operated by Contractors Network Ltd with 11 offices worldwide.  We are a Publishing House for White Papers authored by Oracle Contractors and distribute these free.  We have an innovative and cost effective model for Implementations & Upgrades .  We offer Oracle Contractors special membership to a network of Oracle User Groups.000 client personnel involved with the Oracle EBusiness Suite. We exhibit & present at all Regional Oracle Conferences worldwide as well as local Special Interest Groups. We offer Contractor Resourcing with access to over 10.our 'Hybrid Team' solution.  We are able to offer access to Global Resolution Groups for adhoc work from as little as 15 minute increments  We provide the only global Oracle specific job search engine with a view of 10.000 pre-qualified Oracle Applications Contractors through our local offices.ABO U T C ON T RA CT O RS N ET W O RK Contractors Network Ltd is a Global Oracle Contractors Network with primary focus on Oracle's E-Business Suite.  We interact with over 15.  We promote a community spirit through an Apps Blog. under our umbrella.

Web Services.shanmugam@oraclecontractors. BPEL.A case study © 2009 Page 4 . He is currently working on building custom applications using ADF and integrates with Oracle Application. If you have any questions of feedback for Senthilkumar please email him on Senthilkumar.ABOUT THE AUTHOR Senthilkumar Shanmugam is a independent Oracle Apps consultant with overall 6+ Years of experience in Oracle Applications. ADF.com OAF Personalisation and Extensions . SOA. Senthil has worked on various R12 projects and has good knowledge on OA Framework. Currently he is a Contractor in UK and has worked on numerous applications within Oracle eBusiness Suite across Europe.

INTRODUCTION OAF Personalisation means personalize the user interface (UI) of Oracle Self-Service Web Applications without modifying any underlying code whereas OA Framework extensibility is geared to enable customers to add new functionality and override or extend existing business logic beyond what can be accomplished via personalisation. Extensions and Customizations can use this article as an real time business requirement to improve thier OAF skills. In short it the programmatic approach for personalisation. PURPOSE In this article I will explain a case study for OAF Personalisation and Extension by analyzing real time requirement and how we have to use OAF Personalisation and OAF Extension to meet the requirement. OAF Personalisation and Extensions . WHO SHOULD READ THIS Oracle Application Technical Consultants who are interested in OAF Personalisation.A case study © 2009 Page 5 .

OAF Personalisation and Extensions . OAF Personalisation: Add the DFF field in the Web Screens using OAF Personalisation Framework. Out of 5 segments.BUSINESS REQUIREMENT A customer defined DFF which is defined on the standard Oracle table needs to be enabled in the Self Service Web Screens. Also. There are five segments in the DFF. I found that the attribute columns on the standard Oracle table on which the DFF is defined was not included in the VO(View Object) on which the Self Service Page is built. CO Extension: Handle the mandatory and defaulting values of segments based on the Lookup Value. ANALYSIS On analysis. On certain circumstances (based on a lookup value) these segments are made non mandatory and defaulted with a value.A case study © 2009 Page 6 . All the segments need to shown in the screens. we need to extend the CO (controller) of the page in order to handle the “mandatory” and “defaulting” with the DFF segments. 4 are mandatory. DESIGN This requirement can be easily achieved by following steps: VO Substitution: Add additional columns to the VO. However there is an exception to this rule.

WAYBILL_AIRBILL_NUM.TAR_WEIGHT.VALIDATION_FLAG. PosRcvHdrIntfEO. PosRcvHdrIntfEO.CARRIER_METHOD. PosRcvHdrIntfEO.PAYMENT_TERMS_ID. PosRcvHdrIntfEO.NET_WEIGHT_UOM_CODE.FREIGHT_AMOUNT.EXPECTED_RECEIPT_DATE.CARRIER_EQUIPMENT.PACKING_SLIP.COMMENTS. PosRcvHdrIntfEO. PosRcvHdrIntfEO. NULL FREIGHT_TERMS_DESC FROM RCV_HEADERS_INTERFACE PosRcvHdrIntfEO OAF Personalisation and Extensions .asn. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.SPECIAL_HANDLING_CODE.VENDOR_SITE_ID. PosRcvHdrIntfEO.GROUP_ID.A case study © 2009 Page 7 . PosRcvHdrIntfEO. PosRcvHdrIntfEO.pos. PosRcvHdrIntfEO.PACKAGING_CODE. PosRcvHdrIntfEO. PosRcvHdrIntfEO.VENDOR_ID.NUM_OF_CONTAINERS. PosRcvHdrIntfEO. PosRcvHdrIntfEO.NET_WEIGHT.SHIPPED_DATE. PosRcvHdrIntfEO.PROCESSING_REQUEST_ID. PosRcvHdrIntfEO.SHIPMENT_NUM. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.server. PosRcvHdrIntfEO. PosRcvHdrIntfEO.FREIGHT_CARRIER_CODE.RECEIPT_SOURCE_CODE.ASN_TYPE.INVOICE_NUM.TRANSACTION_TYPE. PosRcvHdrIntfEO.PROCESSING_STATUS_CODE.TAX_NAME. PosRcvHdrIntfEO.CURRENCY_CODE.REMIT_TO_SITE_ID.INVOICE_DATE.TAX_AMOUNT. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.FREIGHT_TERMS.SHIP_TO_ORGANIZATION_ID. PosRcvHdrIntfEO.HEADER_INTERFACE_ID.PAYMENT_TERMS_NAME.BILL_OF_LADING. PosRcvHdrIntfEO.TAR_WEIGHT_UOM_CODE.apps. PosRcvHdrIntfEO. PosRcvHdrIntfEO.PosAsnHdrIntfVO SELECT PosRcvHdrIntfEO. PosRcvHdrIntfEO.IMPLEMENTATION Step 1: VO Substitution Actual VO: oracle. PosRcvHdrIntfEO.TOTAL_INVOICE_AMOUNT.

ASN_TYPE. PosRcvHdrIntfEO. PosRcvHdrIntfEO.ATTRIBUTE_CATEGORY. PosRcvHdrIntfEO.ATTRIBUTE10. PosRcvHdrIntfEO. PosRcvHdrIntfEO.server.Substituted VO: xxx. PosRcvHdrIntfEO. PosRcvHdrIntfEO.COMMENTS. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.PAYMENT_TERMS_ID. PosRcvHdrIntfEO.asn.CARRIER_EQUIPMENT.PROCESSING_REQUEST_ID.HEADER_INTERFACE_ID.ATTRIBUTE14. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.WAYBILL_AIRBILL_NUM.PAYMENT_TERMS_NAME. PosRcvHdrIntfEO. PosRcvHdrIntfEO.PACKING_SLIP. PosRcvHdrIntfEO.EXPECTED_RECEIPT_DATE.TAX_NAME. NULL FREIGHT_TERMS_DESC. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.SHIPPED_DATE.TAR_WEIGHT_UOM_CODE.ATTRIBUTE1.VENDOR_SITE_ID.NET_WEIGHT.GROUP_ID.VALIDATION_FLAG.NET_WEIGHT_UOM_CODE. PosRcvHdrIntfEO. PosRcvHdrIntfEO.FREIGHT_TERMS.ATTRIBUTE4.TAR_WEIGHT. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.ATTRIBUTE2. PosRcvHdrIntfEO.FREIGHT_AMOUNT.VENDOR_ID. PosRcvHdrIntfEO.apps. PosRcvHdrIntfEO. PosRcvHdrIntfEO.ATTRIBUTE13. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.ATTRIBUTE12.SHIP_TO_ORGANIZATION_ID.SHIPMENT_NUM.CARRIER_METHOD. PosRcvHdrIntfEO. PosRcvHdrIntfEO. PosRcvHdrIntfEO.INVOICE_DATE.RECEIPT_SOURCE_CODE. PosRcvHdrIntfEO.ATTRIBUTE5.ATTRIBUTE3.CURRENCY_CODE. PosRcvHdrIntfEO. PosRcvHdrIntfEO.pos.TAX_AMOUNT. PosRcvHdrIntfEO.TRANSACTION_TYPE.ATTRIBUTE11. PosRcvHdrIntfEO. PosRcvHdrIntfEO.ATTRIBUTE7.PROCESSING_STATUS_CODE.oracle. PosRcvHdrIntfEO. PosRcvHdrIntfEO.INVOICE_NUM. PosRcvHdrIntfEO.SPECIAL_HANDLING_CODE.ATTRIBUTE15 FROM RCV_HEADERS_INTERFACE PosRcvHdrIntfEO OAF Personalisation and Extensions . PosRcvHdrIntfEO. PosRcvHdrIntfEO.ATTRIBUTE8. PosRcvHdrIntfEO. PosRcvHdrIntfEO.NUM_OF_CONTAINERS. PosRcvHdrIntfEO.REMIT_TO_SITE_ID.TOTAL_INVOICE_AMOUNT.ATTRIBUTE9.FREIGHT_CARRIER_CODE. PosRcvHdrIntfEO.ATTRIBUTE6.PACKAGING_CODE. PosRcvHdrIntfEO. PosRcvHdrIntfEO. XXPosAsnHdrIntfVO (Added the attribute columns to the query) SELECT PosRcvHdrIntfEO.BILL_OF_LADING.A case study © 2009 Page 8 . PosRcvHdrIntfEO.

8.com/jrad" xmlns:ui="http://xmlns.oracle.A case study © 2009 Page 9 .oracle.Now this substitution information can be downloaded into an xml file which may look like: <?xml version = '1.13_1566" xml:lang="en-US" customizes="/oracle/apps/pos/asn/server/PosAsnHdrIntfVO"> <replace with="/xxx/oracle/apps/pos/asn/server/XXPosAsnHdrIntfVO"/> </customization> Step 2: OAF Personalisation Now we need to add a new item to the Web Screens using the personalisation link which is explained in the screen shot below: OAF Personalisation and Extensions .oracle.0' encoding = 'UTF-8'?> <customization xmlns="http://xmlns.com/uix/ui" xmlns:oa="http://xmlns.3.0.com/oa" xmlns:user="http://xmlns.com/user" version="9.oracle.

oracle.oracle.apps.oracle. we can use the ‘XMLImporter’ Utility provided by Oracle." userCustomizable="false" viewName="PosAsnHdrIntfVO" xmlns:oa="http://xmlns.8.oracle.0' encoding = 'UTF-8'?> <customization xmlns="http://xmlns.com/jrad" xmlns:ui="http://xmlns.XXPosAsnCreateCO"/> </modifications> </customization><?xml version = '1.0.0.webui.13_1566" xml:lang="en-US" customizes="/oracle/apps/pos/asn/server/PosAsnHdrIntfVO"> <replace with="/xxx/oracle/apps/pos/asn/server/XXPosAsnHdrIntfVO"/> </customization> In order to take this VO Substitution and OAF Personalisation to other environments.oracle.com/oa"/> </insert> <modify element="AsnLineEntryRN" controllerClass="xxx.0' encoding = 'UTF-8'?> <customization xmlns="http://xmlns.oracle.After doing this we can download this personalisation information into a XML file which will look like <?xml version = '1.pos. OAF Personalisation and Extensions .com/uix/ui" xmlns:oa="http://xmlns.3.XXPosAsnLineEntryCO"/ > <modify element="ApplyAllBtn" rendered="false"/> <modify element="AsnCreatePG" controllerClass="xxx.webui.A case study © 2009 Page 10 .com/oa" xmlns:user="http://xmlns.4.asn.oracle.com/jrad" version="9.pos.oracle.apps.5.com/user" version="9.oracle.89_560" xml:lang="en-US" customizes="/oracle/apps/pos/asn/webui/PosAsnCreatePG" xmlns:oa="http://xmlns.asn.com/oa"> <modifications> <modify element="ShipNumEntry" maximumLength="15"/> <modify element="BillOfLadingEntry" required="yes"/> <modify element="TruckNoDef" required="yes"/> <move element="ShipInfoInstrTbl" after="SpacerSI1"/> <move element="SpacerSI2" after="ShipInfoInstrTbl"/> <move element="ShipDateEntry" after="ShipNumEntry"/> <move element="ExpRcptDateEntry" after="ShipDateEntry"/> <move element="ShipDateText2" after="ExpRcptDateEntry"/> <move element="ExpRcptDateText1" after="ShipDateText2"/> <insert after="ExpRcptDateText1"> <oa:flex id="DescFF" adminCustomizable="true" displayContextField="true" flexFieldAppShortName="PO" flexName="RCV_SHIPMENT_HEADERS" flexStyle="descriptive" readOnly="false" rendered="true" scope=".

.Step 3: CO Extension In the extended controller we have to get the handle to the DFF and then make the individual segments mandatory or default the values based on the boolean flag ‘mandatory’..findChildRecursive("DescFF1").findChildRecursive("DescFF1"). } This Java file needs to be deployed into the custom directory of the Oracle Apps instance ($XXX_TOP for example) OAF Personalisation and Extensions .setRequired("yes").processFlex(pageContext).. OAWebBean webBean) { //Get Handle to DFF OADescriptiveFlexBean dffBean = (OADescriptiveFlexBean)webBean. } //Default the segment with the values from lookup else { OAMessageLovInputBean segment2 = (OAMessageLovInputBean)dffBean. dffBean. if(segment2 != null) { segment2. if(segment2 != null) { segment2.findIndexedChildRecursive("DescFF"). super. } .setText(pageContext.. //Make the segments mandatory if(mandatory) { OAMessageLovInputBean segment2 = (OAMessageLovInputBean)dffBean.processRequest(pageContext.attr2).A case study © 2009 Page 11 . webBean).. public class XXPosAsnCreateCO extends PosAsnCreateCO { public void processRequest(OAPageContext pageContext. } .

A case study © 2009 Page 12 .Screen shots: Fig 1: Standard Oracle Apps Screen (No DFF) OAF Personalisation and Extensions .

A case study © 2009 Page 13 .Fig 2: Standard Oracle Apps Screen after OAF Personalisation (Segments are mandatory) OAF Personalisation and Extensions .

Fig 3: Standard Oracle Apps Screen after OAF Personalisation (Segments defaulted with values) SUMMARY Hope this article was helpful in understanding the OAF Personalisation and Extension. OAF Personalisation and Extensions .A case study © 2009 Page 14 .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->