在 Oracle EBS R12 系統的開發使用中,對於某一些的需求開發,直接使用shell指令碼進行是最為便捷的。這裡整理一下在 Oracle EBS R12 系統中進行主機併發程式開發的內容。
一、檔案命名
需求開發時,所建立的主機併發程式的程式碼檔案,其字尾名為 prog ,例如:CUXSHELLDEMO.prog。
二、程式碼開發
1、內建引數
在 Oracle EBS R12 系統中,系統內部已經佔用了4個引數位置,如果我們需要傳參進去shell指令碼中,需要從 $5 開始傳參。被系統佔用的前四個引數位置分別為:
$1 : ORA_USER_PASS —— APPS/apps
$2 : USERID
$3 : USERNAME
$4 : REQUESTID
- 第一個引數為:資料庫的登入連線賬號及密碼;
- 第二個引數為:應用登入使用者的使用者ID,從 FND_USER 表獲取驗證;
- 第三個引數為:應用登入使用者的使用者名稱,從 FND_USER 表獲取驗證;
- 第四個引數為:當前主機程式執行的併發請求ID。
如需傳入其他的引數值,在shell中按照位置順序進行引數獲取時,需要從 $5 開始獲取輸入的引數值。
2、資料庫連線
在主機程式中需要連線資料庫進行資料查詢驗證時,則是使用 sqlplus 命令進行連線和查詢。需要儲存SQL的查詢結果時,使用引數直接獲取 SQL 的執行返回結果值即可:
eg:
l_req_outfile_name=`sqlplus -S $FCP_LOGIN <<EOF
set heading off;
set feedback off;
set pagesize 0;
set verify off;
set echo off;
set numwidth 4;
set linesize 999;
set serveroutput on;
SELECT to_char(t.OUTFILE_NAME) FROM fnd_concurrent_requests t WHERE t.REQUEST_ID=${4};
EOF`
3、程式碼上傳編譯
在將需求程式碼開發完畢之後,使用sftp工具將程式碼 prog 檔案上傳至 $CUX_TOP/bin/ 目錄下面,並對其設定軟連線:
ln -s $CUX_TOP/bin/CUXSHELLDEMO.prog $CUX_TOP/bin/CUXSHELLDEMO
Tips:在對主機併發程式做二次調整之後,進行重新發布的時候,需要先行將原有的軟連線刪除,然後再進行後續的編譯操作。
之後在併發請求定義的位置對此主機併發程式進行部署定義即可。
+++========================================================+++
以上內容僅為個人學習記錄使用。
如有轉載,請附有原文出處連結。