ORACLE+EBS+基礎(chǔ)與提高+-+彈性域+(Zhengang[1].Zhu)_第1頁
ORACLE+EBS+基礎(chǔ)與提高+-+彈性域+(Zhengang[1].Zhu)_第2頁
ORACLE+EBS+基礎(chǔ)與提高+-+彈性域+(Zhengang[1].Zhu)_第3頁
ORACLE+EBS+基礎(chǔ)與提高+-+彈性域+(Zhengang[1].Zhu)_第4頁
ORACLE+EBS+基礎(chǔ)與提高+-+彈性域+(Zhengang[1].Zhu)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、ORACLEE-BUSINESS SUITE基礎(chǔ)與提高 彈性域開發(fā)創(chuàng)建日期: 2009-03-29修改日期:目錄值和值集. 3值和值集概覽. 4預(yù)定義值集. 5計劃值和值集. 6選擇值格式. 7值格式. 8格式類型. 8集最大長度. 10最小值和最大值的范圍. 12確定用戶的需要. 13選擇值集的驗(yàn)證類型. 14計劃值以使用范圍功能. 17值集命名慣例. 18獨(dú)立值與從屬值之間的關(guān)系. 19父值、子值和累計組. 21實(shí)施驗(yàn)證表值集概覽. 22使用驗(yàn)證表. 23定義驗(yàn)證表. 25驗(yàn)證表的 WHERE 子句和約束變量. 26約束變量. 28鍵彈性域中默認(rèn)值、快速錄入值和復(fù)制值的優(yōu)先順序. 31值和

2、值集值和值集概覽Oracle Application Object Library 使用值、值集和驗(yàn)證表作為鍵彈性域、說明性彈性域和標(biāo)準(zhǔn)請求提交的重要組成部分。在首次定義彈性域時,您可以選擇段的使用數(shù)量和顯示順序。您也可以選擇驗(yàn)證每個段的方法。選擇的結(jié)果將影響您如何定義值集和值。不管是在定義彈性域段結(jié)構(gòu)之前或在進(jìn)行定義時,您應(yīng)首先定義值集。通常您在完成定義(凍結(jié)和編譯)彈性域之后才定義單個值。根據(jù)使用的值集類型,在使用彈性域之前,您不必預(yù)定義單個值。對于在不同彈性域中的段、相同彈性域的不同結(jié)構(gòu)中的段甚至相同彈性域結(jié)構(gòu)內(nèi)的段,您均可以共享其間的值集。您可以共享鍵彈性域和說明性彈性域間的值集,也可

3、以對使用“標(biāo)準(zhǔn)請求提交”功能的報表使用報表參數(shù)的值集。由于為值集指定的條件確定了可以與之一起使用的值,因此您應(yīng)該同時計劃值和值集。例如,如果要使用值 01,02 而非 1,2,您應(yīng)該在定義值集時將“右對齊填零”設(shè)置為“是”。預(yù)定義值集許多 Oracle Applications 報表使用預(yù)定義值集,您也可以將這些值集用于彈性域段。如果彈性域段使用與“標(biāo)準(zhǔn)請求提交”報表參數(shù)關(guān)聯(lián)的值集,則您對其值集所做的任何更改均會影響使用相同值集的任何報表。此外,您對 Oracle Applications 值集的更改在將來升級時可能會被改寫。Oracle Applications 提供兩個可以選擇用于段的預(yù)定

4、義值集,即 FND_STANDARD_DATE 和 FND_STANDARD_DATETIME。這些特殊值集確保在彈性域段中輸入格式正確的日期,而不是任意字符集。所有這些值集的驗(yàn)證類型均為“無”,因此這些值集接受格式正確的任何日期值。使用此值集的日期值將顯示在用戶會話日期顯示掩碼范圍內(nèi)。如果彈性域段或報表參數(shù)使用 FND_STANDARD_DATE 或FND_STANDARD_DATETIME,則日期值的長度必須正確以符合顯示格式,從而防止日期被截斷。為了向后兼容,Oracle Applications 提供可以選擇用于日期段的某些預(yù)定義值集,如 FND_DATE 和 FND_DATE4。這些

5、特殊值集確保在彈性域段中輸入格式正確的日期,而不是任意字符集。FND_DATE 提供 DD-MON-RR 日期格式,而 FND_DATE4 提供DD-MON-YYYY 日期格式。這兩種值集的驗(yàn)證類型均為“無”,因此這些值集接受格式正確的任何日期值。如果彈性域段或報表參數(shù)使用 FND_DATE 或 FND_DATE4,則字符長度(分別)必須為 9 或 11 以免日期被截斷。但是,我們建議您為新的彈性域段創(chuàng)建自己的日期值集。為了向后兼容,Oracle Applications 提供另一種預(yù)定義值集(NUMBER15,您可以將其用于數(shù)字段。這個特殊值集確保您在彈性域段中輸入正數(shù)或負(fù)數(shù),而不是任意字符

6、集。此值集的驗(yàn)證類型為“無”,因此可以接受任何長達(dá) 15 個字符的正數(shù)或負(fù)數(shù)值(包括負(fù)號)。如果使用此值集,則彈性域會去掉所輸入值的任何前導(dǎo)零,并確保數(shù)字只有一個基數(shù)字符(如 US 格式中的 .)。但是,我們建議您為新的彈性域段創(chuàng)建自己的數(shù)字值集。計劃值和值集要計劃值和值集,請執(zhí)行以下操作:1. 選擇值的格式。2. 確定段是否具有值列表。3. 選擇段的相應(yīng)驗(yàn)證類型。4. 考慮使用歸為一類的值,以便在使用基于該范圍的功能(值安全性、值層次結(jié)構(gòu)等)時會更加容易。5. 計劃相應(yīng)的值和說明。6. 計劃相應(yīng)的值層次結(jié)構(gòu)、交叉驗(yàn)證規(guī)則和值安全性規(guī)則等。選擇值格式由于值集是值的主要“載體”,因此定義值集可以

7、控制值集(預(yù)定義或未驗(yàn)證)所允許包含的值類型。您可以指定以下的值格式:1. 字符2. 數(shù)字3. 時間4. 標(biāo)準(zhǔn)日期5. 標(biāo)準(zhǔn)日期時間6. 日期7. 日期時間您也可以指定值的最大長度,以及值集可以采用的最小值和最大值。值集的最大長度取決于值集所屬的彈性域。值集的長度必須小于或等于彈性域表中基本段列的長度。Oracle Applications 不允許您將彈性域表中不合適的值分配給值集。您需要為適合組織運(yùn)行方法的值指定最大長度。一般來說,如果您使用包含說明的值,則值較短,而說明更長。例如,值為 02,說明則為“新奧爾良地區(qū)”。如果您計劃對 Oracle Applications 的值采取右對齊并填

8、零(因此 7 的三個字符值集中的值自動變?yōu)?007),則值集的最大長度不能太長,以便用戶不需要填充太多零,但是也不能太短,以便于您的組織以后可以在其中添加更多的值。不能更改值,但是可以更改說明。例如,您不能更改部門代碼 340,但是其說明可以從“銷售”更改為“公司帳戶”。您可以禁用值,并且在需要時創(chuàng)建新的值。值格式格式類型在“格式類型”字段中指定的格式類型即為段或參數(shù)值的格式。如果使用此值集的驗(yàn)證表,不管您是否指定隱藏標(biāo)識列,此格式類型對應(yīng)于在“驗(yàn)證表信息”區(qū)域中指定的值列的格式類型。 因?yàn)槟母挠绊懥怂惺褂孟嗤导膹椥杂蚝蛨蟊韰?shù),所以您不能更改現(xiàn)有值集的格式類型。 所有這些格式選項(xiàng)影

9、響您在“段值”窗口和彈性域段及報表參數(shù)中輸入的值。字符字符類型使您可以輸入任意字符值,包括字母、數(shù)字和特殊字符,如 # $?% ( . / , & 和 *。如果您選擇此格式類型,但輸入的值顯示為數(shù)字,如 100 或 20,則您應(yīng)該知道這些值在行為方面仍然作為字符值。例如,值 20 將“大于”值 100。如果要這樣的值在行為和分類方面更象數(shù)值,則應(yīng)該選定“僅限于數(shù)字”復(fù)選框或“右對齊和填零數(shù)字”復(fù)選框。如果選擇此格式類型,但是輸入值顯示為日期,如 DD-MON-RR 或 DD-MON-YYYY ,則您應(yīng)該知道這些值在行為方面仍然象字符值。例如,值 01-SEP-2002 將“大于”值 01-DE

10、C-2002。如果要這樣的值在行為和分類方面更象日期值,您應(yīng)該使用“標(biāo)準(zhǔn)日期”格式類型。 數(shù)字“數(shù)字”類型使您可以確保用戶輸入數(shù)值。數(shù)字格式允許您輸入基數(shù)字符(D 或小數(shù)點(diǎn)分隔符)和正號或負(fù)號(盡管正號不顯示在段中)。所有前導(dǎo)零和正號均被隱藏,并且輸入的數(shù)據(jù)在 Oracle 表單中作為“數(shù)字”字段,或者在數(shù)據(jù)庫中作為“數(shù)字”列。請注意,此格式與“僅限于數(shù)字”格式的行為不同,“僅限于數(shù)字”格式實(shí)際上是字符格式。 系統(tǒng)在存儲實(shí)數(shù)時會在其內(nèi)部存儲 .,并使用當(dāng)前基數(shù)分隔符來顯示實(shí)數(shù)。彈性域不使用組分隔符。對于字符格式和“僅限于數(shù)字”值集,這也是正確的。一旦選擇了“數(shù)字”格式,您可以在“精確度”字段中

11、輸入值。“精確度”表示應(yīng)在數(shù)字值小數(shù)點(diǎn)后出現(xiàn)的位數(shù)。例如,要顯示 18.758,您應(yīng)選擇精確度為 3。同樣,要顯示 1098.5,您應(yīng)選擇精確度為 1。要顯示整數(shù),如 7,您應(yīng)選擇精確度為 0。時間“時間”類型強(qiáng)制使用時間格式,如 HH24:MI,這取決于此值集的最大長度。以下是支持的時間格式和您可以使用的值集最大長度: 最大長度 時間格式5 HH24:MI8 HH24:MI:SS對于其值集使用以上長度之一的段,您可以使用相應(yīng)的默認(rèn)值。在定義段或報表參數(shù)時,您可以定義這些默認(rèn)值。您可以將這些值作為時間值進(jìn)行處理和分類。標(biāo)準(zhǔn)日期“標(biāo)準(zhǔn)日期”類型強(qiáng)制使用用戶的首選日期格式。在輸入數(shù)據(jù)、查詢數(shù)據(jù)和使

12、用“值列表”時,用戶可以查看在“日期”字段中以首選格式顯示的日期。對于彈性域段使用帶此格式類型的值集,如果存儲值的列為VARCHAR2 類型,則此日期值會以格式 YYYY/MM/DD HH24:MI:SS 存儲在應(yīng)用表中。對于使用這些值集的報表參數(shù),并發(fā)管理器將此格式的日期傳送到報表。因?yàn)椤皹?biāo)準(zhǔn)日期”類型值集值沒有時間分量,所以時間分量是 00:00:00。注:基礎(chǔ)列長度至少為 20。在第 11i 版中,值集的格式如果為“標(biāo)準(zhǔn)日期”和“標(biāo)準(zhǔn)日期時間”,則驗(yàn)證類型可能為“無”、“表”、“獨(dú)立”、“從屬”、“特殊”或“成對”。 在定義值集時,您可以為這些采用當(dāng)前 NLS 日期格式的值集指定上限和下

13、限值。使用“標(biāo)準(zhǔn)日期”或“標(biāo)準(zhǔn)日期時間”格式的驗(yàn)證表值集不能使用標(biāo)識列?!爸怠绷袘?yīng)為“日期”列或 VARCHAR2 列(列中的日期值應(yīng)采用規(guī)范格式 YYYY/MM/DD HH24:MI:SS)。如果表中現(xiàn)有的值沒有采用規(guī)范格式,您應(yīng)該創(chuàng)建一個視圖,將其轉(zhuǎn)換為規(guī)范格式或日期列,而值集應(yīng)在此視圖中定義。由于您可以將這些值作為日期值進(jìn)行處理和分類,因此01-DEC-2002“大于”01-SEP-2002。標(biāo)準(zhǔn)日期時間“標(biāo)準(zhǔn)日期時間”類型強(qiáng)制使用用戶的日期/時間格式。在輸入數(shù)據(jù)、查詢數(shù)據(jù)和使用“值列表”時,用戶可以查看在“日期”字段中以首選格式顯示的日期。對于彈性域段使用帶此格式類型的值集,如果存儲值

14、的列為VARCHAR2 類型,則此日期值會以格式 YYYY/MM/DD HH24:MI:SS 存儲在應(yīng)用表中。對于使用這些值集的報表參數(shù),并發(fā)管理器將此格式的日期傳送到報表。注:基礎(chǔ)列長度至少為 20。在第 11i 版中,值集的格式如果為“標(biāo)準(zhǔn)日期”和“標(biāo)準(zhǔn)日期時間”,則驗(yàn)證類型可能為“無”、“表”、“獨(dú)立”、“從屬”、“特殊”或“成對”。 在定義值集時,您可以為這些采用當(dāng)前會話日期格式的值集指定上限和下限值。使用“標(biāo)準(zhǔn)日期”或“標(biāo)準(zhǔn)日期時間”格式的驗(yàn)證表值集不能使用標(biāo)識列?!爸怠绷袘?yīng)為“日期”列或 VARCHAR2 列(列中的日期值應(yīng)采用規(guī)范格式 YYYY/MM/DD HH24:MI:SS)

15、。如果表中現(xiàn)有的值沒有采用規(guī)集最大長度范格式,您應(yīng)該創(chuàng)建一個視圖,將其轉(zhuǎn)換為規(guī)范格式或日期列,而值集應(yīng)在此視圖中定義。 由于您可以將這些值作為日期-時間值來處理和分類,因此 01-DEC-2002 00:00:00“大于”01-SEP-2002 00:00:00。 日期 “日期”類型強(qiáng)制使用日期格式,如 DD-MON-RR 或 DD-MON-YYYY ,取決于此值集允許使用的最大長度。以下是支持的日期格式和您可以使用的值集最大長度: 最大長度 日期格式 9 DD-MON-RR 11 DD-MON-YYYY 對于其值集使用以上長度之一的段,您可以使用相應(yīng)的默認(rèn)值。在定義段或報表參數(shù)時,您可以定義

16、這些默認(rèn)值。 由于您可以將這些值作為日期值進(jìn)行處理和分類,因此 01-DEC-2002“大于”01-SEP-2002。 日期時間 “日期時間”強(qiáng)制使用日期格式,如 DD-MON-RR HH24:MI,這取決于此值集的最大長度。以下是支持的日期-時間格式和您可以用于“日期時間”的值集最大長度: 最大 日期 長度 格式 15 DD-MON-RR HH24:MI 17 DD-MON-YYYY HH24:MI 18 DD-MON-RR HH24:MI:SS 20 DD-MON-YYYY HH24:MI:SS 對于其值集使用以上長度之一的段,您可以使用相應(yīng)的默認(rèn)值。在定義段或報表參數(shù)時,您可以定義這些默

17、認(rèn)值。 由于您可以將這些值作為日期時間值來處理和分類,因此 01-DEC-2002 “大于”01-SEP-2002。此長度表示您可以在使用此值集的段中輸入的最長值,以及在定義彈性域段或報表參數(shù)時可以指定的最長“顯示大小”。注:大小是指字節(jié)數(shù),而指不是字符數(shù)。在多數(shù)情況下,對于使用此值集的彈性域,最大長度不能超過基礎(chǔ)表中段列的長度。如果設(shè)置的最大長度大于該列的長度,則在定義彈性域段或報表參數(shù)時,您不能選擇此值集。如果使用小于此最大長度的“顯示大小”來定義段或報表參數(shù),則彈出式窗口將顯示此段中值最左邊的字符。用戶可以滾動段來查看任何剩余字符。對于報表參數(shù),您可以使用的最大長度是 240。如果“格式

18、類型”是“標(biāo)準(zhǔn)日期”,則最大長度是 11。如果“格式類型”是“標(biāo)準(zhǔn)日期時間”,則最大長度是 20。如果您要定義使用驗(yàn)證表值集,最大長度應(yīng)該反映指定為值列的列大小。最大長度也必須等于或小于目標(biāo)段列的寬度。因此,在選擇值列大小之后,您可能會獲得一則消息,指示您修改值集最大長度以便與值列寬度相匹配。但是,如果您還指定了值集的隱藏標(biāo)識列,則彈性域會確定隱藏標(biāo)識值是否更適合于基礎(chǔ)列,而不是值列。例如,如果您指定的最大長度為 60(它也是值列的大?。?,但是還指定了大小為 15 的隱藏標(biāo)識列,則應(yīng)仍使用彈性域的值集,而它的基礎(chǔ)段列的大小僅為 20。在定義彈性域段或報表參數(shù)時,這樣的值集一定會出現(xiàn)在您所看到由

19、值組成的值集列表中。精確度對于包含數(shù)值的值集(數(shù)字格式或字符格式,并且選定了“僅限于數(shù)字”),此屬性表示基數(shù)字符后面的位數(shù)。系統(tǒng)存儲數(shù)值時會在基數(shù)字符后面保留此位數(shù),并且根據(jù)需要添加零或進(jìn)行四舍五入。如果將此字段留空(“空精確度”),則只要滿足其它大小和數(shù)值約束條件,基數(shù)字符可以出現(xiàn)在值中的任何位置。僅限于數(shù)字 (0-9使用“僅限于數(shù)字”選項(xiàng),您不可以在使用此值集的段中輸入字符 A-Z, a-z 或特定字符如 ! , 或者 #。在使用此值集的任意段或參數(shù)中,您只能輸入值 0-9、負(fù)號、正號、基數(shù)分隔符 (D 以及組分隔符 (G。此外,另請注意,“字符”格式類型的值集即使沒有字母字符仍保留為“字

20、符”,則值的行為和分類將作為字符值處理。右對齊和填零數(shù)字表示您在為此值集輸入值時,彈性域是否應(yīng)該自動右對齊并填零數(shù)字。此選項(xiàng)影響僅包含字符 0-9 的值,而不管您是否選擇“僅限于數(shù)字”選項(xiàng)。此選項(xiàng)不影響包含字母字符或特殊字符的值,如句點(diǎn)或連字符。 例如,如果存在 5 個字符的值集,并且定義的值為 7,則彈性域?qū)⒅底鳛?00007 來存儲和顯示。如果您定義彈性域段以使顯示長度小于最大長度,并要右對齊和填零數(shù)字,則彈性域段通常可能只顯示零(彈性域段僅顯示由顯示長度指定的字符數(shù))。在這些情況下,用戶需要滾動彈性域段來查看有含義的值,這樣就降低了數(shù)據(jù)錄入或查詢速度。通常您可以使用此選項(xiàng),以便確保顯示為

21、數(shù)字的字符值如同真正的數(shù)字值(例如,用于交叉驗(yàn)證規(guī)則、值安全性規(guī)則以及報告功能的數(shù)字值)一樣進(jìn)行分類并按順序顯示。您也可以使用此選項(xiàng)來確保所有看上去象數(shù)字的值具有相同的字符數(shù),以便在報表中排列時美觀又整齊。 如果將“右對齊和填零數(shù)字”設(shè)置為“是”,則應(yīng)當(dāng)確保此值集中的數(shù)值使用“右對齊”和“填零”。最小值和最大值的范圍最小值輸入用戶可以在使用此值集的段中輸入的最小值。最小值不可以違背格式選項(xiàng),如您為此值集指定的最大值的長度。您可以使用“最小值”和“最大值”字段來定義值集的有效值范圍。一旦指定了值的范圍,您就無法定義此范圍以外的新的有效值。因此,“最小值”和“最大值”字段可以允許您創(chuàng)建驗(yàn)證類型為“

22、無”(非驗(yàn)證,任何值均有效)的值集,用戶不能在其中輸入指定范圍以外的值。例如,您可能創(chuàng)建了格式類型為“數(shù)字”的值集,用戶只能在其中輸入介于 0 與 100 之間的值。或者,您可能創(chuàng)建了格式類型為“標(biāo)準(zhǔn)日期”的值集,用戶只能在其中輸入特定年份的日期(例如,在01-JAN-2002 至 31-DEC-2002 的范圍內(nèi))。既然最小和最大值強(qiáng)制使用這些限定,則不需要定義包含各個獨(dú)立數(shù)字或日期的值集。對于已包含值的值集,您可以定義其值的范圍。使用有效范圍以外的現(xiàn)有組合或現(xiàn)有數(shù)據(jù)將象包含過期段值一樣處理。最小值或最大值可能隨格式類型的不同而不同。例如,如果格式類型為“字符”,則 1000 小于 110;

23、但如果格式類型為“數(shù)字”,則 110 小于 1000。此外,在您將“字符”格式類型用于多數(shù)平臺(ASCII 平臺)時,數(shù)字字符“小于”字母字符(即 9 小于 A ),但是對于某些平臺(EBCDIC 平臺),數(shù)字字符則“大于”字母字符(也就是說,Z 小于 0 )。如果您指定的最小值大于平臺的最大值,則此窗口會顯示錯誤消息。最大值輸入用戶可以在使用此值集的段中輸入的最大值。最大值不可以長于為此值集指定的最大長度。如果將此字段留空,則此值集的最大值可能自動成為您的值集的最大值。最小值和最大值實(shí)例如果值集使用字符格式,而且僅限于數(shù)字,最大長度為 3,則最小值為 -99 最大值為 999。如果值集使用數(shù)

24、字格式,最大長度為 5,精確度為 2,則最小值為 -9.99 ,最大值為 99.99(使用 US 基數(shù)字符 .)。確定用戶的需要首先,您應(yīng)該確定用戶是否需要可供選擇的預(yù)定義值列表,或確定用戶是否可以輸入符合此值集格式條件的任意值。如果要提供值列表,則可以從獨(dú)立、從屬、可轉(zhuǎn)換獨(dú)立、可轉(zhuǎn)換從屬或表值集中進(jìn)行選擇。如果不需要列表,請使用非驗(yàn)證(無)值集。一旦選擇提供段值列表,則可以選擇是使用獨(dú)立驗(yàn)證、從屬驗(yàn)證、可轉(zhuǎn)換獨(dú)立驗(yàn)證、可轉(zhuǎn)換從屬驗(yàn)證,還是使用表驗(yàn)證。如果要段值從屬于在前一個獨(dú)立段(使用獨(dú)立值集的段)中選擇的值,則您只能使用從屬集。如果要段值從屬于在前一個可轉(zhuǎn)換獨(dú)立段(該段使用可轉(zhuǎn)換獨(dú)立值集)

25、中選擇的值,則您只能使用可轉(zhuǎn)換從屬集。是使用獨(dú)立值集還是使用表集,這取決于您要從何處獲取值。如果現(xiàn)有表中已存在適合的值,則應(yīng)該選擇表集。如果您要使用獨(dú)立集并已在應(yīng)用表中維護(hù)這些值,則需要對您的值執(zhí)行雙重維護(hù)。例如,如果需要禁用無效值,則需要在“段值”窗口(用于值集)和維護(hù)現(xiàn)有表的應(yīng)用表單(由應(yīng)用產(chǎn)品使用)中將其禁用。如果您尚無適合的表,則可能要使用獨(dú)立集并使用“段值”窗口來維護(hù)值。選擇值集的驗(yàn)證類型以下是影響用戶輸入以及使用段或參數(shù)值方式的幾種驗(yàn)證類型: 無(根本無需驗(yàn)證)獨(dú)立從屬表特殊(高級)成對(高級)可轉(zhuǎn)換獨(dú)立可轉(zhuǎn)換從屬注意:會計科目彈性域僅支持獨(dú)立驗(yàn)證、從屬驗(yàn)證和表驗(yàn)證(表驗(yàn)證不能具有

26、任何附加 WHERE 子句)。由于您的更改會影響所有使用相同值集的彈性域和報表參數(shù),因此不能更改現(xiàn)有值集的驗(yàn)證類型。 無在允許用戶輸入任意值時,只要該值符合值集格式規(guī)則,您就可以使用“無”類型值集。也就是說,此值不能超過您為值集定義的最大長度,以及它必須符合該值集的任何格式要求。例如,如果值集不允許使用字母字符,則用戶無法輸入值 ABC,但是可以輸入值 456(對于最大長度為 3 的值集而言)。否則,將不驗(yàn)證使用此值集的段值,并且這些段值也不會有說明。由于不驗(yàn)證“無”值集,因此使用此值集的段不為用戶提供值列表。使用此值集的段(即,非驗(yàn)證的段)不能使用彈性域值安全性規(guī)則來限制用戶輸入的值。獨(dú)立“

27、獨(dú)立”值集提供了預(yù)定義的段值列表。這些值可能有關(guān)聯(lián)的說明。例如,值 01 的說明可能為“公司 01”。此值集中值的含義與其它任何段的值無關(guān)。獨(dú)立值存儲在 Oracle Application Object Library 表中。您可以通過 Oracle Applications 窗口中的“段值”定義獨(dú)立值。 表驗(yàn)證表值集提供了類似于獨(dú)立集的預(yù)定義值列表,但是其值存儲在應(yīng)用表中。您可以定義使用哪些表,并定義 WHERE 子句來限制值集要使用的值。一般來說,如果您在應(yīng)用表中維護(hù)了表值(例如,由“定義供應(yīng)商”表單維護(hù)的供應(yīng)商名稱表),則可以使用驗(yàn)證表值集。表驗(yàn)證還提供了某些高級功能,如允許段從屬于相

28、同結(jié)構(gòu)中多個前面的段。 從屬從屬值集類似于獨(dú)立值集,只是列表中的可用值和給定值的含義從屬于在彈性域結(jié)構(gòu)的前面段中選定的獨(dú)立值。您可以將從屬值集視為小值集的組合,每個小值集適用于相應(yīng)的獨(dú)立值集中每個獨(dú)立值。在定義獨(dú)立值集的從屬值集之前,您必須定義獨(dú)立值集。您可以在“段值”窗口中定義從屬值,您的值將存儲在 Oracle Application Object Library 表中。 特殊值集和成對值集特殊值集和成對值集提供了一種允許“在彈性域中嵌彈性域”的機(jī)制。這些值集主要用于“標(biāo)準(zhǔn)請求提交”參數(shù)。對于正常的彈性域段,您通常不使用這些值集。特殊值集和成對值集使用您定義的特殊驗(yàn)證例行程序。例如,您可以

29、定義驗(yàn)證例行程序,以便提供另一個彈性域作為單個段的值集,或提供一個范圍彈性域作為段對的值集??赊D(zhuǎn)換獨(dú)立和可轉(zhuǎn)換從屬可轉(zhuǎn)換獨(dú)立值集類似于提供預(yù)定義的段值列表的獨(dú)立值集。但是,您可以使用轉(zhuǎn)換的值。可轉(zhuǎn)換從屬值集類似于某些從屬值集,這些從屬值集中列表內(nèi)的可用值和給定值的含義從屬于彈性域結(jié)構(gòu)前面的段中選定的獨(dú)立值。但是,您可以使用轉(zhuǎn)換的值。彈性域值安全性不能與可轉(zhuǎn)換獨(dú)立值集或可轉(zhuǎn)換從屬值集一起使用。對于格式驗(yàn)證,可轉(zhuǎn)換值集必須使用格式類型字符。最大長度不大于 150。“僅限于數(shù)字”選項(xiàng)和“右對齊和填零數(shù)字”選項(xiàng)不能與可轉(zhuǎn)換值集一起使用。范圍彈性域不能使用可轉(zhuǎn)換獨(dú)立值集或可轉(zhuǎn)換從屬值集。您不能創(chuàng)建具有可

30、轉(zhuǎn)換獨(dú)立值集或可轉(zhuǎn)換從屬值集的層次結(jié)構(gòu)或累計組。注:“會計科目彈性域”不支持可轉(zhuǎn)換獨(dú)立值集和可轉(zhuǎn)換從屬值集計劃值以使用范圍功能通過對相關(guān)值進(jìn)行組合,您可以使用值的彈性范圍來簡化執(zhí)行功能,如交叉驗(yàn)證和安全性規(guī)則。在記住交叉驗(yàn)證、安全性和報告范圍(“范圍功能”)時,最好是計劃您的實(shí)際值(以及如處于給定范圍一端的父值或匯總值)。例如,您可以將安全性建立在排除的基礎(chǔ)上,比方說,排除從 1000 至 1999 的所有值。請記住,如果您使用值集的“字符”格式,則值和范圍將按字符分類。因此,001 099 1 100 1000 12 120 1200,如果這些是真正意義上的數(shù)字(使用“數(shù)字”格式值集),則與

31、您的期望值有所不同。值集命名慣例如果計劃引用驗(yàn)證表值集 WHERE 子句中的值集名稱,您應(yīng)該只使用值集名稱中的字母、數(shù)字和下劃線 (_。值集名稱中不應(yīng)該包括任何空格、引號或其它特殊字符。切勿使用字符串 $FLEX$ 作為值集名稱的一部分。請注意,對于驗(yàn)證表 WHERE 子句中的值集名稱,驗(yàn)證表會區(qū)分名稱中的字母大小寫。Oracle Applications 包括許多預(yù)定義的值集。這些值集主要用于“標(biāo)準(zhǔn)請求提交”的參數(shù)。在升級期間,Oracle Applications 將改寫與 Oracle Applications 值集具有相同名稱的值集。Oracle Applications 在升級前提供

32、了一列保留值集名稱,這樣您應(yīng)重命名值集名稱以防被改寫,同時命名值集時應(yīng)仔細(xì),從而使升級變得更為簡單。Oracle Applications 保留某些命名模式。Oracle Applications 保留兩個或三個字符用下劃線或連字符連接的命名模式,如 AP_VALUE_SET 或 PER-Value Set 。獨(dú)立值與從屬值之間的關(guān)系獨(dú)立值集與從屬值集之間具有特殊關(guān)系。對于任意獨(dú)立值具有相同的從屬值時,該從屬值的含義(或說明)以及任何段限定詞值、啟用/激活信息和說明性彈性域數(shù)據(jù)取決于您在前面獨(dú)立段中選擇的獨(dú)立值。例如,您可以具有包含以下這些值(從屬默認(rèn)值為 0)的值集: 獨(dú)立值集(帳戶段)從屬

33、值集(子帳戶段)值 說明01 現(xiàn)金帳戶02 設(shè)備帳戶值 說明 0 1 2 3 0 1 2 3 默認(rèn)值 加利福尼亞銀行 丹佛銀行 第一聯(lián)邦銀行 其它設(shè)備 計算機(jī) 打印機(jī) 運(yùn)輸車輛默認(rèn)值 03 其它資產(chǎn)帳戶 0您必須按下列順序仔細(xì)設(shè)置獨(dú)立 - 從屬值集: 首先創(chuàng)建獨(dú)立值集 創(chuàng)建從屬值集并指定默認(rèn)值 定義獨(dú)立值 定義從屬值在您定義每個獨(dú)立值時,Oracle Applications 將自動隨獨(dú)立值創(chuàng)建默認(rèn)從屬值。例如,上圖表顯示的默認(rèn)值為零 (0。如果因某些原因,在獨(dú)立值集具備值之后創(chuàng)建了從屬值集,您必須在從屬值集中為每個獨(dú)立值人工創(chuàng)建一個默認(rèn)值,因?yàn)槊總€獨(dú)立值必須具備一個默認(rèn)從屬值。如果需要,請使

34、用“段值”表單(您也可以使用此表單創(chuàng)建除默認(rèn)值之外的所有從屬值)人工創(chuàng)建默認(rèn)從屬值。您至少必須為每個獨(dú)立值創(chuàng)建一個從屬值,否則用戶將不能在彈性域中輸入段值組合。但是,建議您嚴(yán)格遵循上述創(chuàng)建值集的順序,這樣您就不必人工創(chuàng)建默認(rèn)從屬值,因?yàn)槿斯?chuàng)建默認(rèn)從屬值既耗時乏味又容易出錯。表驗(yàn)證中的“從屬”值彈性域使用特殊機(jī)制來支持其值從屬于前面段值的驗(yàn)證表段(獨(dú)立值集與從屬值集所使用的機(jī)制有所不同)。您可以使用具有特殊 WHERE 子句(和 $FLEX$ 變元)的彈性域驗(yàn)證表來創(chuàng)建值集,其中您的段從屬于前面幾個段。您可以使段從屬于一個以上的段(級聯(lián)從屬)。但是,您不能使用具有這些值集的父值/子值功能,也不

35、能使用具有“會計科目彈性域”的該機(jī)制。父值、子值和累計組只有 Oracle General Ledger 和 Oracle Public Sector General Ledger 使用這些功能,并且僅限于與會計科目彈性域一同使用。父值集和子值集具有的關(guān)系不同于獨(dú)立值和從屬值之間的關(guān)系。實(shí)施驗(yàn)證表值集概覽驗(yàn)證表值集使您可以使用自己的應(yīng)用表作為彈性域段和報表參數(shù)的值集,而不是 Oracle Applications 提供的特殊值表。您不必使用“段值”窗口人工輸入每個值。基于驗(yàn)證表的值集類似于“獨(dú)立”值集,其中“表”類型值集中的值獨(dú)立于其它所有段中的值?;蛘撸鶕?jù)您如何定義驗(yàn)證表的 WHERE 子

36、句,這些值從屬于彈性域中前面的一個或多個段。 一般來說,如果因其它應(yīng)用用途想要鍵彈性域段、說明性彈性域段或報表參數(shù)使用驗(yàn)證表已經(jīng)要求或維護(hù)的值,應(yīng)使用驗(yàn)證表。如果使用驗(yàn)證表,您可以避免維護(hù)兩份相同的值(一份在應(yīng)用表中,另一份在 Oracle Application Object Library 表中)。您可以使用許多驗(yàn)證表值集的高級功能。您可以將驗(yàn)證表用于彈性域段或報表參數(shù),其值從屬于前面段中的值。也可以使用具有特殊 WHERE 子句(和 $FLEX$ 變元)的彈性域驗(yàn)證表來創(chuàng)建您的段從屬于前面段的值集。在創(chuàng)建級聯(lián)從屬時,您可以使段從屬于一個以上的段。您也可以使用具有其它特殊變元的驗(yàn)證表,以使

37、段從屬于配置文件選項(xiàng)值或字段值。注:具有 WHERE 子句的驗(yàn)證表值集不能與會計科目彈性域一起使用。如果要利用鍵彈性域功能,如累計組和父 - 子關(guān)系,您可以在驗(yàn)證表中存儲子值,但是應(yīng)該使用 Oracle Applications 提供的“段值”窗口來添加或定義父值和累計組。使用驗(yàn)證表您可以使用“驗(yàn)證表信息”窗口來定義用于驗(yàn)證段或報表參數(shù)的表特性。要實(shí)施驗(yàn)證表,請執(zhí)行以下操作:1. 創(chuàng)建或選擇數(shù)據(jù)庫中的驗(yàn)證表。您可以使用任何現(xiàn)有的應(yīng)用表、視圖或同義詞作為驗(yàn)證表2. 向 Oracle Application Object Library 注冊表(以表的形式)。但是,您可以對值集使用未注冊的表。如果

38、表未注冊過,則必須在此區(qū)域輸入所有驗(yàn)證表信息,而不使用默認(rèn)值。3. 創(chuàng)建必要的表權(quán)限和同義詞。4. 定義使用驗(yàn)證表的值集。5. 定義彈性域結(jié)構(gòu),以便將該值集用于段。通過使用不同的 SQL WHERE 子句來限制用于驗(yàn)證彈性域和報表參數(shù)的值,您可以對多個值集使用同一個表。例如,如果要按照同一個表的不同行驗(yàn)證不同段,則需要使用同一個表兩次,但通過使用不同的 SQL WHERE 子句為每個值集選擇表的不同行。注:對于給定的值或標(biāo)識,表中的值列和定義標(biāo)識列必須返回唯一行。警告:對于要用于“會計科目彈性域”的值集,完全不應(yīng)使用任何 WHERE 子句和(或)ORDER BY 子句。一般來說,對于要用于鍵彈

39、性域而不是“會計科目彈性域”的驗(yàn)證表,您可以使用 WHERE 子句和(或)ORDER BY 子句。注意:如果需要使用復(fù)雜的 SQL 子句來從表中選擇值,您應(yīng)該首先定義表的視圖(可以通過該視圖選擇所需行),然后定義該視圖的值集。對值集使用隱藏標(biāo)識列如果除指定了值列之外還指定了隱藏標(biāo)識列,則彈性域?qū)⒈4娴氖请[藏標(biāo)識值,而不是基本彈性域表中值列、段列(在 ATTRIBUTEn 列或 SEGMENTn 列中)的值。一般來說,使用具有隱藏標(biāo)識列的值集僅適用于報表參數(shù)。對于大多數(shù)鍵彈性域,您通常不會使用這樣的值集。實(shí)際上,大多數(shù)鍵彈性域通過不在值列表(用于將值集分配給段)中顯示這些值集,來防止您使用具有隱

40、藏標(biāo)識列的值集。注意:對于用于“會計科目彈性域”或多數(shù)其它鍵彈性域的值集,您不應(yīng)指定隱藏標(biāo)識列。如果除值列之外,您還指定了隱藏標(biāo)識列,則報表參數(shù)窗口會將隱藏標(biāo)識值(而非值列中的值)傳送給報表。使用“標(biāo)準(zhǔn)日期”或“標(biāo)準(zhǔn)日期時間”格式的驗(yàn)證表值集不能使用標(biāo)識列。在單個值集中使用多個表對于使用多個表的值集,您應(yīng)始終將表別名和所有列名包括在一起。您必須直接輸入列名,因?yàn)閷τ诓皇且炎缘膯蝹€表的“表名”,值列表不能檢索任何列名。例如,您可以輸入:對于使用多個表的值集,您可以并應(yīng)該將“表應(yīng)用”字段留空,因?yàn)樵谶@種情況下該字段實(shí)際上被忽略。您可以在“表名”字段中輸入所需的表名和表別名。然后,直接輸入“值列”

41、和“說明列”列名(加上表別名),因?yàn)閷τ诓皇且炎缘膯蝹€表的“表名”,值列表不能檢索任何列名。 顯示值列表中的附加列您可以將值集用于顯示段值或報表參數(shù)值值列表中的幾個列,這些列可能在不同的表中。如果所有列均存在于同一個表中,您只需在“附加列”字段中列出附加列。如果列存在于不同的表中,您必須在“表名”字段中指定多個表名。對于“附加列”和 WHERE 子句,您應(yīng)始終使用具有列名的表名或表別名。最后,您可以在“附加列”字段中輸入所需的額外列的名稱(加上表別名),并可以指定要顯示的列寬。在某些情況下,您可能想要使用 SQL 表達(dá)式,而非指定單個列名。例如,您可能要使用 DECODE 語句來代替簡單列名

42、,如: DECODE(FORM.FORM_NAME, OEDEOR, Enter Orders, Not available或DECODE(FORM.FORM_ID, 1234, 1234, NULL您還可以使用消息名稱作為別名; 此功能便于轉(zhuǎn)換列標(biāo)題。將消息名稱用作別名的語法為:E_FLAG APPL=;NAME=(寬度定義驗(yàn)證表您可以創(chuàng)建新的彈性域驗(yàn)證表,也可以使用現(xiàn)有的應(yīng)用表,其中包括以下列:保存段值的列,類型為 VARCHAR2,DATE 或 NUMBER保存段值說明的列,類型為 VARCHAR2,DATE 或 NUMBER 表還可以包括以下可選列:ENABLED_FLAG,類型為 V

43、ARCHAR2,length 1,NOT NULL START_DATE_ACTIVE 和 END_DATE_ACTIVE,類型為 DATE ,NULL ALLOWED如果使用這些可選列,則必須使用列出的特性對其進(jìn)行定義。在注冊驗(yàn)證表時,Oracle Application Object Library 會檢查該表,以查看這些列是否存在。如果存在,Oracle Application Object Library 會將其用作彈性域驗(yàn)證信息的一部分。如果將 ENABLED_FLAG 列添加至現(xiàn)有表,您必須填寫所有行的列(使用 Y 或 N )。通常,您應(yīng)使用 Oracle Application

44、Object Library 提供的值表單“定義段值”,來包含父值、累計組信息以及前面章節(jié)所述驗(yàn)證表中包含的子值。如果存在某些特殊列,如注冊表中的 SUMMARY_FLAG,START_DATE_ACTIVE,END_DATE_ACTIVE,STRUCTURED_HIERARCHY_LEVEL,COMPILED_VALUE_ATTRIBUTES 或 ENABLED_FLAG,則一旦將表設(shè)置為驗(yàn)證表,值集就會自動使用那些列。如果不要值集自動使用那些列,您應(yīng)在“表名”字段中使用具有表名的別名。注意:如果表需要使用 SQL 函數(shù)或非常復(fù)雜的 WHERE 子句,則應(yīng)先在表上方定義一個視圖,然后使用該視

45、圖。驗(yàn)證表的 WHERE 子句和約束變量您可以使用具有 WHERE 子句的驗(yàn)證表來設(shè)置值集,值集中的某個段從屬于前面段,而該段自身也從屬于它前面的段(“級聯(lián)從屬”)。 在 WHERE/ORDER BY 子句中使用約束變量您可以在 WHERE/ORDER BY 子句中使用特殊約束變量,如 :block.field,:$PROFILES$.Option_name或 :$FLEX$.Value_set_name。但是,即使是指定了一個 SQL 片段,而不是指定了單一列名,您仍不能在“值列”或“隱藏標(biāo)識列”字段中使用它們(您通常在這些字段中指定列名)。但可以在“說明列”和“附加列”字段中使用約束變量。

46、注意:如果您要使用彈性域服務(wù)器端驗(yàn)證,則不能使用表單字段引用 ( :block.field。您必須刪除字段參考,或使用配置文件選項(xiàng)“彈性域:在服務(wù)器端驗(yàn)證”來關(guān)閉彈性域服務(wù)器端驗(yàn)證。注意:您不可以在任何列字段或 WHERE/ORDER BY 子句中使用 DISTINCT 子句(您應(yīng)使用包含 GROUP BY 子句的視圖來代替實(shí)際的表)。如果對值集使用具有特殊變元(如 :$FLEX$.Value_Set_Name)的驗(yàn)證表,您應(yīng)在“啟用安全保護(hù)”字段中指定“否”,因?yàn)橹导娜魏伟踩砸?guī)則均會忽略這些特殊變元的值,并且規(guī)則所產(chǎn)生的影響與您期望的不同。約束變量您可以將特殊變元(約束變量)置入 WHE

47、RE 子句中,以便可以使值集用于其它值。這些約束變量包括 :block.field,:$PROFILES$.Option_name或 :$FLEX$.Value_set_name。您不能在“值列”或“隱藏標(biāo)識列”字段(通常您會在這些字段中指定列名)中使用約束變量。但可以在“說明列”和“附加列”字段中使用約束變量。請注意,在默認(rèn)情況下,需要為約束變量賦值;也就是說,對于使用約束變量以產(chǎn)生某種含義的語句、表達(dá)式或用戶出口,其中的約束變量必須有值。通過使用 :NULL suffix 可使約束變量成為可選項(xiàng)。因此,如果約束變量為 NULL,則會禁用使用此變量的段/參數(shù),并且會忽略約束變量的必需屬性(如

48、果啟用)。有關(guān) :NULL 后綴的詳情將在本節(jié)的末尾部分討論。:$FLEX$.Value_ Set_NameValue_Set_Name 是前面段的值集名,或者是同一彈性域或參數(shù)窗口中,使基于驗(yàn)證表的值從屬于前面段的段名。在定義彈性域結(jié)構(gòu)或報表參數(shù)窗口時,您應(yīng)定義使用值集 Value_Set_Name 的段或參數(shù),使其比使用基于驗(yàn)證表的值集的段具有更低的序號。$FLEX$ 結(jié)構(gòu)使用具有匹配值集名或段名的“最近”前面段(它首先查找值集名,如果無匹配的值集名,則使用段名)。Value_Set_Name 區(qū)分大小寫,因此您必須確保此處指定的名稱與在“定義值集”表單中定義的值集名完全匹配。注意,如果要

49、將值集名用于 :$FLEX$. Value_Set_Name 子句,則在值集名中只能使用字母、數(shù)字和下劃線 (_。您不能在這些值集名中使用引號、空格或其它特殊字符,因此您應(yīng)仔細(xì)地定義值集名,不要包含空格、引號或其它特殊字符。 您可以在單個 WHERE 子句中指定多個 :$FLEX$.Value_Set_Name,從而創(chuàng)建一個段,其可能值列表從屬于前面多個段。在指定 :$FLEX$.Value_Set_Name 時,彈性域段或報表參數(shù)會默認(rèn)為始終使用上一個值集的隱藏標(biāo)識列來比較 WHERE 子句。但是,最終用戶決不會看到隱藏標(biāo)識值。如果未指定隱藏標(biāo)識列,則段會默認(rèn)為使用值列中的值。在指定 :$F

50、LEX$.Value_Set_Name 時,您還可以明確地選擇要 :$FLEX$.Value_Set_Name 為哪個列返回值。您可以通過指定 :$FLEX$. Value_Set_Name.OUTPUT 來執(zhí)行此操作,其中OUTPUT 可以是“標(biāo)識”、“值”或“含義”(用于返回說明列的值)。 在指定驗(yàn)證表值集時,您也可以在“附加列”字段中使用 INTO 子句(在整個列和別名列表之后)將值置入您用于 :$FLEX$.segment_name.OUTPUT 的變量中,其中 OUTPUT 是選定的名稱。然后,您可以使用 :$FLEX$.segment_name.OUTPUT(其中 OUTPUT 為相同名稱)從另一個段的值集 WHERE 子句中檢索該值。您不能使用 OUTPUT 將值直接置入字段中,但是,一旦關(guān)閉彈出式窗口,彈性域段檢索到的值就會置入與段對應(yīng)的隱藏表單字段中。如果沒有在“附加列”字段中指定 INTO 子句,則值除了在值列表中顯示之外,就不會在其它任何地方顯示(值將成為 INTO NULL )。:block.field 是說明性彈性域所在表單上某字段的S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論