Oracle EBS數據定義移植工具:FNDLOAD

在實際的EBS二次開發中,我們經常會碰到需要在各個環境之間移植二次開發的程序對象以及數據定義,如在EBS二次開發中并發請求的定義會涉及到:可執行、并發程序、值集、請求組等的定義,定義需要從開發環境、測試環境、UAT環境一直到正式環境,開發人員完成一個并發請求開發后,同樣的定義需要在多個環境中手工完成,勢必導致中間出現錯誤,導致浪費很多時間來進行檢查,無形中增加了工作量;而更多的時候系統管理人員和開發人員是分離的,開發人員和系統管理人員之間還需要進行任務的交接,進一步增加了程序移植工作的難度和工作量。

FNDLOAD則是為了移植EBS數據定義而誕生的工具,它可以移植定義在AOL中的數據定義,如我們常見的并發程序、值集、預置文件等等,嚴格來說它可以實現任意兩個Oracle數據庫之間數據的移植,有了這個工具,我們就無需在多個環境中重復進行手工定義了。

在Oracle EBS環境下,和FNDLOAD工具類似的移植工具隨處可見,并被廣泛應用,如用來移植BI Publisher報表模板定義的XDOLoader工具;工作流定義移植工具WFLOAD;數據庫對象移植工具ODFXDF.

?

一、FNDLOAD介紹

數據移植的目的無非是將一個EBS系統下數據庫中的某個表中的數據按照條件篩選出來后傳到另外EBS系統下數據庫中對應的表中。FNNDLOAD的根本原理就是將數據從源數據庫中下載到數據文件中,然后再通過FNDLOAD將數據文件上傳到目標數據庫中。

由于兩個數據庫系統不能保證是連接的,無法采用Oracle的DBLink技術,因此FNDLOAD采用了數據文件作為兩個系統間傳遞的中介,而為了完成數據的下載和上傳,FNDLOAD引入了控制文件(lct):用來定義移植那張表中的數據列,并分DOWNLOAD和UPLOAD模式定義數據抽取和更新的邏輯,DOWNLOAD用在源數據庫環境下,UPLOAD應用于目標數據庫環境下。

控制文件是FNDLOAD工具的核心,下面我們來分析一下并發請求移植的控制文件($FND_TOP/patch/115/import/afcpprog.lct)的部分內容:

控制文件由4部分組成:

1.?實體(entity):說明控制文件是用來移植什么的,如上面的是 PROGRAM,一個控制文件中可以有多個實體,實體可以實現嵌套,實體和后面的section對應,一般一個實體對應一個數據庫表

2.?段(section):定義實體的數據結構,定義了移植時數據的結構和類型,但不會包含內部的ID,如使用APPLICATION_SHOURT_NAME代替APPLICATION_ID,一般和實體對應的數據庫表的定義一致,如例子中的EXECUTABLE和PROGRAM段,運行FNDLOAD命令時需要指定段名

3.?下載(download):定義了下載數據時所使用的SQL語句,SQL語句中以冒號(:)打頭的變量是FNDLOAD的變量,在運行命令時可傳入參數的值來顯示數據的提取,如:APPLICATION_SHORT_NAME既是限制并發請求所屬的應用

上載(upload):定義了上載數據時所執行的SQL語句或者PLSQL代碼,如fnd_concurrent_programs_pkg.TRANSLATE_ROW和fnd_concurrent_programs_pkg.LOAD_ROW方法?

FNDLOAD命令工具的語法?

1.?Mode:有 DOWNLOAD和UPLOAD

2.?Configfile:就是FNDLOAD用來控制上傳和下載的控制文件(lct)

3.?Datafile:是生成的數據文件

4.?Entity:是要多控制文件中的哪部分數據移植(數據可以嵌套,如并發請求包括了引用的值集)

5.?Param:是用來控制數據移植的參數,可以多個

?

二、FNDLOAD使用步驟

使用FNDLOAD來移植數據的步驟如下:

1.?找到控制文件,這是非常關鍵的一步,很多網上文章介紹使用FNDLOAD來移植AOL模塊的數據,很少提到其它內容,實際上FNDLOAD可以用來移植數據庫中的任何數據,只是說如果Oracle沒有提供控制文件(lct)的話,需要自己來制作控制文件會得不償失,而隨著FNDLOAD的廣泛應用,很多模塊的都提供了FNDLOAD的功能,控制文件一般都放在各模塊下的patch/115/import/目錄下,如AOL模塊的在$FND_TOP/patch/115/import下,總帳模塊$GL_TOP/patch/115/import下;進入控制文件目錄后具體某個控制文件是用來進行什么數據的移植那就只能打開文件看里面的實體部分、DOWNLOAD和UPLOAD部分了

2.?查看DOWNLOAD部分中SQL語句的參數,通過查看SQL語句得出可以使用哪些參數來限制數據的下載,如afcpprog.lct控制文件中并發程序的限制可以通過APPLICATION_SHORT_NAME來限制,這樣就可以限制只下載某個應用下的并發,同時可以使用多個參數,參數通過key=value的方式提供,參數之間用空格隔開

3.?運行FNDLOAD命令的下載模式從源系統下載數據,如下載并發請求:FNDLOAD apps/apps 0 Y DOWNLOAD afcpprog.lct prog.ldt PROGRAM APPLICATION_SHORT_NAME=XHU CONCURRENT_PROGRAM_NAME=XHUPOR00

4. 使用ftp工具下載源系統生成的數據文件(ldt)

5. 使用ftp工具上傳數據文件(ldt)到目標系統

6.?運行FNDLOAD上載模式將數據從數據文件上載到目標數據庫中,如上傳上面下載的并發請求: FNDLOAD apps/apps 0 Y UPLOAD afcpprog.lct prog.ldt –

三、如何移植多語言定義數據

AOL模塊中很多數據的定義都是多語言的,如并發請求的定義,而通過FNDLOAD來進行數據的移植一次只包括一個語言的信息,因此如果定義存在多語言的情況,需要按照語言環境進行多次移植,即生成多個數據文件(ldt),在控制文件的目錄下,如$FND_TOP/patch/115/import/下存在US和ZHS這樣的語言目錄,控制文件內容的開始指定了語言環境, 如LANGUAGE = “US”,而很多控制文件并未分多語言版本,這個需要在運行FNDLOAD命令的時候指定語言環境,所以使用控制文件的時候無需使用指定語言的版本,只要在運行FNDLOAD命令的時候通過下面的命令來切換語言環境

1
2
3
4
5
6
7
--中文
NLS_LANG= "AMERICAN_AMERICA.AL32UTF8"
export NLS_LANG--英文
NLS_LANG= "SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_LANG

通過上面的環境設置后再執行FNDLOAD,生成的數據文件就是相應語言環境的定義,只要切換不同的語言環境執行下載,多次生成數據文件就實現了多語言數據的生成;然后執行多次上載操作即可.

NLS_LANG可以通過下面的SQL查詢獲得:

1
2
3
4
SELECT '"' || nls_language || '_' || nls_territory || '.' || VALUE || '"'  nls_langFROM fnd_languages, v$nls_parametersWHERE language_code IN ('US', 'ZHS')AND parameter = 'NLS_CHARACTERSET';

四、開發員常用FNDLOAD控制文件列表

模塊

文件名

描述

FND

afcpprog.lct

可執行、并發程序、值集、彈性域

FND

afcpexec.lct

可執行程序

FND

afattach.lct

附件

FND

afcpreqg.lct

請求組

FND

afcprset.lct

請求集

FND

afffload.lct

值集、關鍵性彈性域和描述性彈性域及相關安全性設置

FND

aflvmlu.lct

Lookups

FND

afmdmsg.lct

消息

FND

afscprof.lct

profile options 預制文件

FND

afscursp.lct

Application users,User Responsibilities,Security groups,Applications,Application Responsibilities and Exclusion Functions

FND

afsload.lct

FORM, FUNCTION, MENU, ENTRY, OBJECT, OBJECT_INSTANCE_SET, GRANT

FNDaffrmcus.lctForm個性化定義

?

更多控制文件請到各模塊的patch/115/import目錄下去查找。

轉載于:https://www.cnblogs.com/Cqiang/archive/2013/03/31/2992031.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378664.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378664.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378664.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

21-特征匹配方法(Brute-Force蠻力匹配)

Brute-Force蠻力匹配 cv2.BFMatcher(crossCheck True) crossCheck表示兩個特征點相互匹配 例如A中的第i個特征點與B中的第j個特征點最近,并且B中的第j個特征點到A中的第i個特征點也是 NORM_L2:歸一化數組的(歐幾里得距離),如果其他特征計算…

weakhashmap_Java WeakHashMap values()方法與示例

weakhashmapWeakHashMap類values()方法 (WeakHashMap Class values() method) values() method is available in java.util package. values()方法在java.util包中可用。 values() method is used to get the values that exist in this map to be viewed in a collection. val…

Opencv——幾何空間變換(仿射變換和投影變換)

幾何空間變換【1】幾何變換(空間變換)簡述【2】變換矩陣知識簡述齊次坐標的概念幾何運算矩陣【3】圖像的仿射變換1、平移變換2、比例縮放3、旋轉4、對稱變換(不做展示)1、關于X軸變換2、關于Y軸變換3、關于直線YX變換4、關于直線Y…

用于主題檢測的臨時日志(e1784e6f-037e-45de-bad1-8bbc239818ee - 3bfe001a-32de-4114-a6b4-4005b770f6d7)...

這是一個未刪除的臨時日志。請手動刪除它。(578392f7-2207-4b01-b36d-c483f0699988 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)轉載于:https://www.cnblogs.com/Fly-sky/archive/2011/03/03/1969850.html

probuffer java_Protocol Buffer的使用

Probotbuf簡介在網絡通信和通用數據交換等應用場景中經常使用的技術是 JSON 或 XML,這兩種技術常被用于數據的結構化呈現和序列化。我們可以從兩個方面來看JSON 和 XML與protobuf的異同:一個是數據結構化,一個是數據序列化。這里的數據結構化…

根據DbSchema生成代碼2

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Threading; using System.IO; using Rocky;namespace Rocky.CodeBuilder {public class DbBuilder : Disposable{#region 字段public even…

22-隨機抽樣一致算法RANSAC

隨機抽樣一致算法(Random sample consensus,RANSAC) 看似復雜,其基本思想就是:隨機選取倆點,然后連接,給定一個容忍范圍,在這個范圍內的點越多越好,然后不斷的迭代進行找兩點之間容忍范圍內點最…

treeset比較器_Java TreeSet比較器()方法與示例

treeset比較器TreeSet類的compare()方法 (TreeSet Class comparator() method) comparator() method is available in java.util package. 比較器()方法在java.util包中可用。 comparator() method is used to get the Comparator object based on customizing order the eleme…

智能車復工日記【1】——菜單索引回顧

博主聯系方式: QQ:1540984562 QQ交流群:892023501 群里會有往屆的smarters和電賽選手,群里也會不時分享一些有用的資料,有問題可以在群里多問問。 菜單回顧 1、系列文章解析結構元素菜單圖示菜單缺點:1、系列文章 【智能車Code review】—曲率計算、最小二乘法擬合 【智能…

[轉載]Oracle 11g R1下的自動內存經管(2)

AMM調整 除現有的用于內存經管的V$視圖外,Oracle 11g還新添加了下面4個視圖用于自動內存經管: ? ◆V$MEMORY_CURRENT_RESIZE_OPS ? ◆V$MEMORY_DYNAMIC_COMPONENTS ? ◆V$MEMORY_RESIZE_OPS ? ◆V$MEMORY_TARGET_ADVICE 轉載于:https://www.cnblogs.…

23-背景建模

幀差法 由于場景中的目標在運動,目標的影像在不同圖像幀中的位置不同。該類算法對時間上連續的兩幀圖像進行差分運算,不同幀對應的像素點相減,判斷灰度差的絕對值,當絕對值超過一定閾值時,即可判斷為運動目標&#xf…

DB2 9 運用開辟(733 考試)認證指南,第 3 部門: XML 數據獨霸(4)

議決運用順序存儲和檢索 XMLXML 編碼字符編碼在汗青上,術語 字符集、字符編碼 和 碼頁 都有雷同的意義:一個字符集和一個二進制碼集,其中每個碼示意一個字符。(碼頁是來自 IBM 的一個術語,示意一個大型主機或 IBM PC 上…

system.setin_Java System類setIn()方法及示例

system.setin系統類setIn()方法 (System class setIn() method) setIn() method is available in java.lang package. setIn()方法在java.lang包中可用。 setIn() method is used to assign again the standard input stream. setIn()方法用于再次分配標準輸入流。 setIn() met…

Opencv——霍夫變換以及遇到的一些問題

目錄問題1 :顏色空間轉換函數參數問題:CV_BGR2GRAY vs CV_GRAY2BGR問題2:cvRound()、cvFloor()、cvCeil()函數用法霍夫變換的含義標準霍夫直線變換霍夫線變換函數參數講解累計概率霍夫變換霍夫變換圓變換原理和算法步驟:霍夫圓變換…

java ssm如何上傳圖片_ssm整合-圖片上傳功能(轉)

本文介紹 ssm (SpringSpringMVCMybatis)實現上傳功能。以一個添加用戶的案例介紹(主要是將上傳文件)。一、需求介紹我們要實現添加用戶的時候上傳圖片(其實任何文件都可以)。文件名:以 博客名日期的年月日時分秒毫秒形式命名如 言曌博客2017082516403213.png路徑&am…

宏定義和內聯函數區別

內聯函數是代碼被插入到調用者代碼處的函數。如同 #define 宏,內聯函數通過避免被調用的開銷來提高執行效率,尤其是它能夠通過調用(“過程化集成”)被編譯器優化。 宏定義不檢查函數參數,返回值什么的,只是…

24-光流估計

光流是空間運動物體在觀測成像平面上的像素運動的“瞬間速度”,根據各個像素點的速度矢量特征,可以對圖像進行動態分析,例如目標跟蹤 亮度恒定:同一點隨著時間的變化,其亮度不會發生改變 小運動:隨著時間的…

java公平索非公平鎖_java中的非公平鎖不怕有的線程一直得不到執行嗎

首先來看公平鎖和非公平鎖,我們默認使用的鎖是非公平鎖,只有當我們顯示設置為公平鎖的情況下,才會使用公平鎖,下面我們簡單看一下公平鎖的源碼,如果等待隊列中沒有節點在等待,則占有鎖,如果已經…

mybatis.net - 5 嵌入資源與引用資源

在SqlMap.config文件中可以有兩種方式引入外部的文件。 一種是通過資源的方式&#xff0c;在文件中表現為 resource&#xff0c;就是引用外部的文件&#xff0c;這里需要保證文件的路徑正確。 <sqlMaps><sqlMap resource"Maps/ProductMap.xml"/><sqlM…

智能車復工日記【3】:圖像處理——基本掃線和基本特征提取和十字補線

博主聯系方式: QQ:1540984562 QQ交流群:892023501 群里會有往屆的smarters和電賽選手,群里也會不時分享一些有用的資料,有問題可以在群里多問問。 目錄 1、系列文章2、前言3、基本掃線(除了進入環島狀態或者坡道或者十字路口的普通掃線)1.基本數據和初步特征4、進一步特征…