Do We Need Import Page Again if There Is Change in Controller in Oaf Oracle

Abstract

OA F  Personalization means  personalize the  user interface (UI) of Oracle Self-Service Spider web Applications withou t 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 achieved via personalization . In short information technology the programmatic arroyo for personalization.

I n this article I will explicate a example study for OAF Personalization and Extension by analyzing real time requirement and how we accept to use OAF Personalization and OAF Extension to run into the requirement.

Business Requirement

A client defined DFF which is divers on the sta ndard Oracle t able needs to be enabled in the Self Service Spider web Screens.

There are five segments in the DFF. All the segments need to shown in the screens. Out of 5 segments, 4 are mandatory. However there is an exception to this rule. On certain circumstances (based on a lookup value) these segments are made non mandatory and defaulted with a value.

Analysis

On analysis, I constitute that the attribute columns on the standard Oracle t able on which the DFF is defined was not included in the VO(View Object) on which the Self Service Page is congenital.

Too, we need to extend the CO (controller) of the page in order to handle the "mandatory" and "defaulting" with the DFF segments.

Design

This requirement tin can exist easily achieved past following steps:

VO Substitution : Add additional columns to the VO .

OAF Personalization : Add the DFF field in the Spider web Screens using OAF Personalization  Framework.

CO Extension : Handle the mandatory and defaulting values of segments based on the Lookup Value.

Implementation:

Step one: VO Substitution

Bodily VO:  oracle.apps.pos.asn.server.PosAsnHdrIntfVO

SELECT PosRcvHdrIntfEO.HEADER_INTERFACE_ID,

       PosRcvHdrIntfEO.GROUP_ID,

       PosRcvHdrIntfEO.PROCESSING_STATUS_CODE,

       PosRcvHdrIntfEO.PROCESSING_REQUEST_ID,

       PosRcvHdrIntfEO.RECEIPT_SOURCE_CODE,

       PosRcvHdrIntfEO.TRANSACTION_TYPE,

       PosRcvHdrIntfEO.SHIP_TO_ORGANIZATION_ID,

       PosRcvHdrIntfEO.VENDOR_ID,

       PosRcvHdrIntfEO.VENDOR_SITE_ID,

       PosRcvHdrIntfEO.SHIPPED_DATE,

       PosRcvHdrIntfEO.ASN_TYPE,

       PosRcvHdrIntfEO.SHIPMENT_NUM,

       PosRcvHdrIntfEO.EXPECTED_RECEIPT_DATE,

       PosRcvHdrIntfEO.PACKING_SLIP,

       PosRcvHdrIntfEO.WAYBILL_AIRBILL_NUM,

       PosRcvHdrIntfEO.BILL_OF_LADING,

       PosRcvHdrIntfEO.FREIGHT_CARRIER_CODE,

       PosRcvHdrIntfEO.FREIGHT_TERMS,

       PosRcvHdrIntfEO.NUM_OF_CONTAINERS,

       PosRcvHdrIntfEO.COMMENTS,

       PosRcvHdrIntfEO.CARRIER_METHOD,

       PosRcvHdrIntfEO.CARRIER_EQUIPMENT,

       PosRcvHdrIntfEO.PACKAGING_CODE,

       PosRcvHdrIntfEO.SPECIAL_HANDLING_CODE,

       PosRcvHdrIntfEO.INVOICE_NUM,

       PosRcvHdrIntfEO.INVOICE_DATE,

       PosRcvHdrIntfEO.TOTAL_INVOICE_AMOUNT,

       PosRcvHdrIntfEO.FREIGHT_AMOUNT,

       PosRcvHdrIntfEO.TAX_NAME,

       PosRcvHdrIntfEO.TAX_AMOUNT,

       PosRcvHdrIntfEO.CURRENCY_CODE,

       PosRcvHdrIntfEO.PAYMENT_TERMS_ID,

       PosRcvHdrIntfEO.PAYMENT_TERMS_NAME,

       PosRcvHdrIntfEO.VALIDATION_FLAG,

       PosRcvHdrIntfEO.TAR_WEIGHT,

       PosRcvHdrIntfEO.TAR_WEIGHT_UOM_CODE,

       PosRcvHdrIntfEO.NET_WEIGHT,

       PosRcvHdrIntfEO.NET_WEIGHT_UOM_CODE,

       PosRcvHdrIntfEO.REMIT_TO_SITE_ID,

       Goose egg FREIGHT_TERMS_DESC

FROM RCV_HEADERS_INTERFACE PosRcvHdrIntfEO

Substituted VO: xxx .oracle.apps.pos.asn.server. XXPosAsnHdrIntfVO

(Added the attribute columns to the query)

SELECT PosRcvHdrIntfEO.HEADER_INTERFACE_ID,

       PosRcvHdrIntfEO.GROUP_ID,

       PosRcvHdrIntfEO.PROCESSING_STATUS_CODE,

       PosRcvHdrIntfEO.PROCESSING_REQUEST_ID,

       PosRcvHdrIntfEO.RECEIPT_SOURCE_CODE,

       PosRcvHdrIntfEO.TRANSACTION_TYPE,

       PosRcvHdrIntfEO.SHIP_TO_ORGANIZATION_ID,

       PosRcvHdrIntfEO.VENDOR_ID,

       PosRcvHdrIntfEO.VENDOR_SITE_ID,

       PosRcvHdrIntfEO.SHIPPED_DATE,

       PosRcvHdrIntfEO.ASN_TYPE,

       PosRcvHdrIntfEO.SHIPMENT_NUM,

       PosRcvHdrIntfEO.EXPECTED_RECEIPT_DATE,

       PosRcvHdrIntfEO.PACKING_SLIP,

       PosRcvHdrIntfEO.WAYBILL_AIRBILL_NUM,

       PosRcvHdrIntfEO.BILL_OF_LADING,

       PosRcvHdrIntfEO.FREIGHT_CARRIER_CODE,

       PosRcvHdrIntfEO.FREIGHT_TERMS,

       PosRcvHdrIntfEO.NUM_OF_CONTAINERS,

       PosRcvHdrIntfEO.COMMENTS,

       PosRcvHdrIntfEO.CARRIER_METHOD,

       PosRcvHdrIntfEO.CARRIER_EQUIPMENT,

       PosRcvHdrIntfEO.PACKAGING_CODE,

       PosRcvHdrIntfEO.SPECIAL_HANDLING_CODE,

       PosRcvHdrIntfEO.INVOICE_NUM,

       PosRcvHdrIntfEO.INVOICE_DATE,

       PosRcvHdrIntfEO.TOTAL_INVOICE_AMOUNT,

       PosRcvHdrIntfEO.FREIGHT_AMOUNT,

       PosRcvHdrIntfEO.TAX_NAME,

       PosRcvHdrIntfEO.TAX_AMOUNT,

       PosRcvHdrIntfEO.CURRENCY_CODE,

       PosRcvHdrIntfEO.PAYMENT_TERMS_ID,

       PosRcvHdrIntfEO.PAYMENT_TERMS_NAME,

       PosRcvHdrIntfEO.VALIDATION_FLAG,

       PosRcvHdrIntfEO.TAR_WEIGHT,

       PosRcvHdrIntfEO.TAR_WEIGHT_UOM_CODE,

       PosRcvHdrIntfEO.NET_WEIGHT,

       PosRcvHdrIntfEO.NET_WEIGHT_UOM_CODE,

       PosRcvHdrIntfEO.REMIT_TO_SITE_ID,

       Cypher FREIGHT_TERMS_DESC,

       PosRcvHdrIntfEO.ATTRIBUTE_CATEGORY,

       PosRcvHdrIntfEO.ATTRIBUTE1,

       PosRcvHdrIntfEO.ATTRIBUTE2,

       PosRcvHdrIntfEO.ATTRIBUTE3,

       PosRcvHdrIntfEO.ATTRIBUTE4,

       PosRcvHdrIntfEO.ATTRIBUTE5,

       PosRcvHdrIntfEO.ATTRIBUTE6,

       PosRcvHdrIntfEO.ATTRIBUTE7,

       PosRcvHdrIntfEO.ATTRIBUTE8,

       PosRcvHdrIntfEO.ATTRIBUTE9,

       PosRcvHdrIntfEO.ATTRIBUTE10,

       PosRcvHdrIntfEO.ATTRIBUTE11,

       PosRcvHdrIntfEO.ATTRIBUTE12,

       PosRcvHdrIntfEO.ATTRIBUTE13,

       PosRcvHdrIntfEO.ATTRIBUTE14,

       PosRcvHdrIntfEO.ATTRIBUTE15

FROM RCV_HEADERS_INTERFACE PosRcvHdrIntfEO

At present this substitution information can exist downloaded into an  xml file which may look like :

/oracle/apps/pos/asn/server/XXPosAsnHdrIntfVO"/>

Step ii: OAF Personalization

Now we need to add together a new particular to the Web Screens using the personalization link which is explained in the screen shot below:

height=434

After doing this we tin can download this personalization data into a XML file which will look like

PO " flexName="RCV_SHIPMENT_HEADERS" flexStyle="descriptive" readOnly="faux" rendered="true" scope="." userCustomizable="simulated" viewName="PosAsnHdrIntfVO" xmlns:oa="http://xmlns.oracle.com/oa"/>

thirty .oracle.apps.pos.asn.webui.XXPosAsnLineEntryCO"/>

xxx .oracle.apps.pos.asn.webui.XXPosAsnCreateCO"/>

xxx /oracle/apps/pos/asn/server/XXPosAsnHdrIntfVO"/>

In social club to take this VO Substitution and OAF Personalization to other environments, we can employ the ' XMLImporter ' Utility provided by Oracle.

Step 3: CO Extension

In the extended controller nosotros take to get the handle to the DFF and so make the individual segments mandatory or default the values based on the boolean flag 'mandatory' .

public form XXPosAsnCreateCO extends PosAsnCreateCO

{

public void processRequest (OAPageContext pageContext, OAWebBean webBean) {

//Become Handle to DFF

OADescriptiveFlexBean dffBean = (OADescriptiveFlexBean)webBean.findIndexedChildRecursive("DescFF");

dffBean.processFlex(pageContext);

//Brand the segments mandatory

  if(mandatory)

  {

  OAMessageLovInputBean  segment2 = (OAMessageLovInputBean)dffBean.findChildRecursive("DescFF1");

   if(segment2 != null)

   {

     segment2.setRequired("yes");

    }

  ....

}

//Default the segment with the values from lookup

else

{

OAMessageLovInputBean  segment2 = (OAMessageLovInputBean)dffBean.findChildRecursive("DescFF1");

if(segment2 != null)

{

  segment2.setText(pageContext,attr2);

}

...

   super.processRequest(pageContext, webBean);

}

This Java file needs to be deployed into the custom directory of the Oracle Apps i n stance ($XXX_TOP for example)

Screen shots:

Fig ane: Standard Oracle Apps Screen  (No DFF)

height=376

Fig ii : Standard Oracle Apps Screen  afterward OAF Personalization

(Segments are mandatory)

height=434

 F ig 3 : Standard Oracle Apps Screen  after OAF Personalization

(Segments defaulted with values)

height=434

Hope this article was helpful in understanding the OAF Personalization and Extension.

For OAF customizations/extensions please contact This electronic mail address is beingness protected from spambots. Yous demand JavaScript enabled to view it.

haworthbace1959.blogspot.com

Source: https://apps2fusion.com/old/at/ss/453-oaf-extension-case-study

0 Response to "Do We Need Import Page Again if There Is Change in Controller in Oaf Oracle"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel