Oracle Version : 12.1.3
首先,我們會需要設定Java component,一般來說是想使用相依性的下拉式選單,版主這邊使用的情境需求是
User 在Excel template上選擇了AP vendor供應商後,我們要帶出該供應商在該OU下的Active vendor site
[Interface Column] 定義如下
所以使用者會在Excel input 欄位是P_VENDOR_ID, 我期望帶出的選單呈現在 P_VENDOR_SITE_ID 欄位上
1) 找出你的Java Web ADI component要放置的路徑
1.1 Connect to your Oracle AP OS.
1.2 Run below commands
- cd $ JAVA_TOP : 找出你的Java root path
- pwd : show 出完整路徑
/ora/test6/apps/apps_st/comn/java/classes 這個就是Java root path
如果你是第一次要build java component,請先確認你未來要將java class 放在哪個路徑。
因為我的web ADI是放在客製的module "xx",所以我的java class路徑會放在 $JAVA_TOP/oracle/apps/xx/webadi
(完整路徑如: /ora/test6/apps/apps_st/comn/java/classes/oracle/apps/xx/webadi)
2) Create Java code
Java LOV component需要有三個classes (Component,sql,validators),以下連結到程式範例
2.1 sql (SQL查詢主體) : SQL 中有兩個 ? 為傳入值
BneOAVendorCodeSQL.java : http://pastie.org/p/3p0eOlFbZHqXhH8eDgjK0R
2.2 validators (傳入值定義) , P_ORG_ID & P_VENDOR_ID
BneOAVendorCodeValidator.java : http://pastie.org/p/5C2pFASvF9lHCgk1ptkw2M
2.3 Component ( LOV Window選單回傳值定義) : 回傳 P_VENDOR_SITE_CODE
BneOAVendorCodeComponent.java : http://pastie.org/p/4EhnaQNOw2axtoaB0rR3Uy
3) 將以上上述*.java 依照類別上傳到$JAVA_TOP/oracle/apps/xx/webadi/ 對應的元件目錄下
Compile .java to .class
[Command] Javac BneOAVendorCodeSQL.java
[Command] Javac BneOAVendorCodeValidator.java
4) Config Validation Entity
進到Interface column 找到 P_VENDOR_SITE_CODE , validation entity 設定上你的java entity ex. oracle.apps.xx.webadi.validators.BneOAVendorCodeValidator
5) Config LOV component entity
Component Entity : oracle.apps.xx.webadi.component.BneOAVendorCodeComponent
table-column : 要跟你的interface column name一樣唷
敢緊Try try 看唷,希望對你有幫助 ~~
# Web ADI : Java Dependent LOV