轉自:http://blog.csdn.net/pan_tian/article/details/11257993
1.創建Product Family
Product Family用於管理幾個功能相近的Product(也可以立即爲模塊),統一管理客戶化的Webservice接口
BEGIN
-- Call the procedure
AD_PA_INSERT_PACKAGE.INSERT_AD_PM_PRODUCT_INFO(X_PRODUCT_ABBREVIATION => 'pc_pf',
X_PSEUDO_PRODUCT_FLAG => 'N',
X_PRODUCT_FAMILY_FLAG => 'Y',
X_APPLICATION_SHORT_NAME => NULL,
X_PRODUCT_NAME => 'Paul Custom Application Product Family',
X_PRODUCT_FAMILY_ABBREVIATION => NULL,
X_PRODUCT_FAMILY_NAME => NULL,
X_ARU_UPDATE_DATE => to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),
X_CURRDATE => to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),
X_LAST_UPDATED_BY => -1,
X_CREATED_BY => -1);
COMMIT;
END;
2.註冊Product
BEGIN
-- Call the procedure
AD_PA_INSERT_PACKAGE.INSERT_AD_PM_PRODUCT_INFO(X_PRODUCT_ABBREVIATION => 'cux',
X_PSEUDO_PRODUCT_FLAG => 'N',
X_PRODUCT_FAMILY_FLAG => 'N',
X_APPLICATION_SHORT_NAME => 'CUX',
X_PRODUCT_NAME => 'My Custom Application',
X_PRODUCT_FAMILY_ABBREVIATION => NULL,
X_PRODUCT_FAMILY_NAME => NULL,
X_ARU_UPDATE_DATE => TO_CHAR(SYSDATE,
'yyyy-mm-dd hh24:mi:ss'),
X_CURRDATE => TO_CHAR(SYSDATE,
'yyyy-mm-dd hh24:mi:ss'),
X_LAST_UPDATED_BY => -1,
X_CREATED_BY => -1);
COMMIT;
END;
3.關聯Product:cux到Product Family:pc_pf
BEGIN
-- Call the procedure
AD_PA_INSERT_PACKAGE.INSERT_AD_PM_PROD_FAMILY_MAP(X_PRODUCT_ABBREVIATION => 'cux',
X_PRODUCT_FAMILY_ABBREVIATION => 'pc_pf',
X_ARU_UPDATE_DATE => TO_CHAR(SYSDATE,
'yyyy-mm-dd hh24:mi:ss'),
X_CURRDATE => TO_CHAR(SYSDATE,
'yyyy-mm-dd hh24:mi:ss'),
X_LAST_UPDATED_BY => -1,
X_CREATED_BY => -1);
COMMIT;
END;
4.增加一個BUSINESS_ENTITY的lookup code(應用開發員職責->應用產品 -> 代碼->Oracle Application Object),這個Lookup會用在下一步的API中的@rep:category BUSINESS_ENTITY
5.編寫PL/SQL API Specification,這裏以一個物料服務爲例
CREATE OR REPLACE PACKAGE PAUL_ITEM_PKG AS
/* $Header: $ */
/*#
* This package using create the item information
* @rep:scope public
* @rep:product CUX
* @rep:lifecycle active
* @rep:displayname Paul Item Maintainance Service
* @rep:compatibility S
* @rep:category BUSINESS_ENTITY PAUL_BUSINESS_ENTITY
*/
/*#
* Create an Item
* @param p_itemno Item Number
* @param p_itemdesc Item Descripiton
* @param p_itemqty Item Quantity
* @rep:scope public
* @rep:lifecycle active
* @rep:displayname Create Item Webservice
*/
PROCEDURE CREATE_ITEM(P_ITEMNO VARCHAR2,
P_ITEMDESC VARCHAR2,
P_ITEMQTY VARCHAR2);
END PAUL_ITEM_PKG;
需要注意Package中的註釋並不是隨便填寫的,每一個註釋都會對應到Oracle Integration Repositoy接口的說明上去,對於要註冊成Webservice的PL/SQL API必須按照要求來填寫。註釋標籤具體的含義需要參考《Oracle
E-Business Suite Integrated SOA Gateway Developer's Guide》
Required Class-level Annotations
-
must begin with description sentence(s)
-
Use BUSINESS_ENTITY at the class level only if all underlying methods have the same business entity. In those cases, you do not need to repeat the annotation at the method level.
-
rep:businessevent (if an event is raised)
Optional Class-level Annotations
Required Method-level Annotations
-
must begin with description sentence(s)
-
Use only when applicable and when other tags such as @see and @rep:metalink do not provide parameter explanations.
-
return (if applicable)
-
rep:businessevent (if an event is raised)
Optional Method-level Annotations
-
Use BUSINESS_ENTITY at the method level only when a class methods have heterogeneous business entities.
6.驗證PLSQL接口文件,並生成ildt文件
將編寫好的PLSQL聲明定義保存爲.pls文件(PAUL_ITEM_PKG.pls),並將其上傳到服務器應用$CUX_TOP/patch/115/sql目錄下,然後執行下邊的命令生成ildt文件
- perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin cux:patch/115/sql:PAUL_ITEM_PKG.pls:12.0=PAUL_ITEM_PKG.pls
- # Interface Repository Annotation Processor, 12.0.0
- #
- # Generating annotation output.
- # Processing file 'PAUL_ITEM_PKG.pls'.
- # Using YAPP-based parser.
- # Found a package-level annotation for 'PAUL_ITEM_PKG'.
- # Found a detail-level annotation...
- # Found a procedure named 'CREATE_ITEM'.
- # Done all files.
7.將iLDT文件上傳到Oracle Integration Repositoy
- FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct PAUL_ITEM_PKG_pls.ildt
- Log filename : L5750778.log
- Report filename : O5750778.out
8.在對應的Product Family和Product下就能看到你的接口
接下來如果和其他系統集成的話,可以參見另外一篇文章
Reference:http://docs.oracle.com/cd/E18727_01/doc.121/e12065/T511473T545912.htm#5466320