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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

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

?

一、FNDLOAD介紹

數(shù)據(jù)移植的目的無(wú)非是將一個(gè)EBS系統(tǒng)下數(shù)據(jù)庫(kù)中的某個(gè)表中的數(shù)據(jù)按照條件篩選出來(lái)后傳到另外EBS系統(tǒng)下數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表中。FNNDLOAD的根本原理就是將數(shù)據(jù)從源數(shù)據(jù)庫(kù)中下載到數(shù)據(jù)文件中,然后再通過(guò)FNDLOAD將數(shù)據(jù)文件上傳到目標(biāo)數(shù)據(jù)庫(kù)中。

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

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

控制文件由4部分組成:

1.?實(shí)體(entity):說(shuō)明控制文件是用來(lái)移植什么的,如上面的是 PROGRAM,一個(gè)控制文件中可以有多個(gè)實(shí)體,實(shí)體可以實(shí)現(xiàn)嵌套,實(shí)體和后面的section對(duì)應(yīng),一般一個(gè)實(shí)體對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)表

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

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

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

FNDLOAD命令工具的語(yǔ)法?

1.?Mode:有 DOWNLOAD和UPLOAD

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

3.?Datafile:是生成的數(shù)據(jù)文件

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

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

?

二、FNDLOAD使用步驟

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

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

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

3.?運(yùn)行FNDLOAD命令的下載模式從源系統(tǒng)下載數(shù)據(jù),如下載并發(fā)請(qǐng)求: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)到目標(biāo)系統(tǒng)

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

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

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

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

NLS_LANG可以通過(guò)下面的SQL查詢(xún)獲得:

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

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

模塊

文件名

描述

FND

afcpprog.lct

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

FND

afcpexec.lct

可執(zhí)行程序

FND

afattach.lct

附件

FND

afcpreqg.lct

請(qǐng)求組

FND

afcprset.lct

請(qǐng)求集

FND

afffload.lct

值集、關(guān)鍵性彈性域和描述性彈性域及相關(guān)安全性設(shè)置

FND

aflvmlu.lct

Lookups

FND

afmdmsg.lct

消息

FND

afscprof.lct

profile options 預(yù)制文件

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個(gè)性化定義

?

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

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

總結(jié)

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

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