日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle EBS数据定义移植工具:FNDLOAD

發(fā)布時間:2023/12/1 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle EBS数据定义移植工具:FNDLOAD 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在實際的EBS二次開發(fā)中,我們經(jīng)常會碰到需要在各個環(huán)境之間移植二次開發(fā)的程序?qū)ο笠约皵?shù)據(jù)定義,如在EBS二次開發(fā)中并發(fā)請求的定義會涉及到:可執(zhí)行、并發(fā)程序、值集、請求組等的定義,定義需要從開發(fā)環(huán)境、測試環(huán)境、UAT環(huán)境一直到正式環(huán)境,開發(fā)人員完成一個并發(fā)請求開發(fā)后,同樣的定義需要在多個環(huán)境中手工完成,勢必導致中間出現(xiàn)錯誤,導致浪費很多時間來進行檢查,無形中增加了工作量;而更多的時候系統(tǒng)管理人員和開發(fā)人員是分離的,開發(fā)人員和系統(tǒng)管理人員之間還需要進行任務的交接,進一步增加了程序移植工作的難度和工作量。

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

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

?

一、FNDLOAD介紹

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

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

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

控制文件由4部分組成:

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

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

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

上載(upload):定義了上載數(shù)據(jù)時所執(zhí)行的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:是生成的數(shù)據(jù)文件

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

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

?

二、FNDLOAD使用步驟

使用FNDLOAD來移植數(shù)據(jù)的步驟如下:

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

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

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

4. 使用ftp工具下載源系統(tǒng)生成的數(shù)據(jù)文件(ldt)

5. 使用ftp工具上傳數(shù)據(jù)文件(ldt)到目標系統(tǒng)

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

三、如何移植多語言定義數(shù)據(jù)

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

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

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

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';

四、開發(fā)員常用FNDLOAD控制文件列表

模塊

文件名

描述

FND

afcpprog.lct

可執(zhí)行、并發(fā)程序、值集、彈性域

FND

afcpexec.lct

可執(zhí)行程序

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目錄下去查找。

轉(zhuǎn)載于:https://www.cnblogs.com/Cqiang/archive/2013/03/31/2992031.html

總結(jié)

以上是生活随笔為你收集整理的Oracle EBS数据定义移植工具:FNDLOAD的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。