天天看點

Form_Form與OAF頁面互相調用(案例)

2014-12-27 Created By BaoXinjian

一、摘要

OAF架構和Oracle EBS都提供了Oracle基于Forms的Oracle EBSforms和基于OAF頁面的內建。

你可以從OAF頁面運作一個Oracle EBS form,也可以從Oracle EBS form調用一個OAF HTML頁面。

1. Form調用OAF頁面

通過FND_FUNCTION進行跳轉

2. OAF調用Form頁面

(1). 設定Item URL為form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName

(2). 通過webbean中方法OAPageContext.forwardImmediatelyToForm(Stringurl)進行跳轉

二、案例 - Form調用OAF頁面

1. 如果你想從Oracle Applications Form直接調用OAF頁面Function,你必須使用下面的Oracle API

2. 參數的傳遞

你也可以使用URL格式通過other_params傳遞額外的參數,比如name1=value1&name2=value2…

注意:在第一個參數的名/值對之前沒有(&)符号,但是在後面的參數名/值對的前面都有(&)符号。

注意:open_flag和session_flag參數不顯示在上面的示例中,因為對于HTML function來說,那是無效的。

3. 參數傳遞例子

二、案例 - 通過Item URL:OAF調用Form

1. 為Item設定ID屬性,符合OA Framework File Standards,并設定Item類型屬性為button,image或者連結

form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName

2. 如果你想傳參數給form,那麼就設定Destination URI屬性為使用下面格式的值(注意參數清單在每個”parameter=value”對之間使用空格隔開).

form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName:param1=value1param2=value2 param3=value3

3. 參數的特殊字元 -空格

注意:如果你想傳遞varchar2參數值并且其中包含空格,使用”\”把字元串值包括起來。比如,要傳遞給form的值如下面:

TXN_NUMBER=LT INVOICE 1  =>> TXN_NUMBER=\”LT INVOICE 1\” 

4. 案例,建立一個button item,設定Destination URI

三、案例 - 通過OAPageContext:OAF調用Form

1. 運作時控制通過OAPageContext控制

從OAF頁面的一個按鈕,圖檔或者連結來運作一個Oracle Form是不必需要特殊的編碼步驟的。

OAButtonBean, OALinkBean和OAImageBean支援上面關于DestinationURI屬性的特殊form function的URL格式。

當OAF遇到這種特殊值,它會生成合适的URL并添加一個隐藏的IFrame(内置 frame)到OAF頁面。隐藏的IFrame用于Oracle EBS提供的FormsLauncher applet.

提供送出按鈕來運作Oracle Form

如果你在OAF頁面想通過送出按鈕來運作Oracle Form,

你必須使用oracle.apps.fnd.framework.webui.OAPageContext中的OAPageContext.forwardImmediatelyToForm(Stringurl)方法

2. 簡單例子

Thanks and Regards

<b>ERP技術讨論群: 288307890</b>

<b>技術交流,技術讨論,歡迎加入</b>

<b>Technology Blog Created By Oracle ERP - 鮑建立</b>