之前有寫過一篇 Defaulting Rule 與 Package (http://aloz0101.pixnet.net/blog/post/17066963), 不過裡面沒有提到 Defaulting Rule 的設定方式, 就用這篇來說吧

畫面路徑 : OM > Setup > Rules > Defaulting

範例功能 : 如何設定自動給 Subinventory

步驟 :

1. 在畫面最上部份, 選擇 Application = "Order Management", Entity = "Order Line"

(可以使用 F11 查詢, 也可以點選 Tool Bar 的 Find)

2010091701 

2. 按 "Defaulting condition Templates", 這邊是用來自行設定在此 Entity 下的條件式. Oracle 標準如果就已經有一個條件式是符合我們需求, 當然就可以直接套用, 如果你的條件不是只有這樣, 還是可以自己定義

Condition Name / Description : 自已定義, 看得懂就可以

Validation Rules : 條件式.

  - Group# : 相同的 Group# 簡就是 AND, 不同的 Group# 間就是 OR

  - Attribute : 裡面都是 Order Line 欄位

  - Validation Operation : 有 >, <, >=, <=, =, !=

  - Value String : 值

2010091702 

3. 條件設定完之後, 就可以去設定 Attributes 的 Defaulting Rule 了. 按下 "Defaulting Rules..." 開啟 Attributes 的 Defaulting Rule 畫面

4. 選擇條件式

  - Precedence : 執行順序

5. 設定 "Default Sourcing Rules

  - Sequence : 抓取順序, 如果第一順位沒值, 就會去抓第二順位的設定, 依此類推

  - Source Type : 抓取方式. 比較常用的有 : Constant Value (固定值), Related Record (參考特定欄位值), Same Record (等同於同 Entity 的欄位), 

  - Default Source / Value : 依 Source Type 再設定 Source Field 或值

2010091703 

6. 都設定完之後, 要記得按下 Tools > Generate Defaulting Handler Package 才會生效

2010091704 

創作者介紹
創作者 Aloz 的頭像
Aloz

Aloz 的 Oracle ERP 天地

Aloz 發表在 痞客邦 留言(3) 人氣()


留言列表 (3)

發表留言
  • IOLO
  • 感謝你的分享!!!
  • 希望對你有幫助

    Aloz 於 2010/09/28 09:33 回覆

  • 牛角
  • hi,又是年度資料要設定的時候了,冒昧請問您,關於訂單的sequence number(setup/documents/define)不知道你們有沒有細分到很detail的情況?是人工打還是用智障軟體dataload(笑~)還是自己insert into table?

  • 你好, Sequence Number 我們訂的還蠻細的, 約略有 20 來種 Type, Sequence Rule 又有分到月份, 所以用人工打是會死人的, 所以我目前是使用智障軟體 DataLoad (哈)
    Insert Table 之前有聽過, 但是我不考慮嘗試使用, 畢竟 Oracle 的東西, 是不是能夠很單純的用 Inset Table 的方式就可以解決, 是需要很仔細的測試過.
    目前使用 DataLoad 除了要等上好一陣子外, 沒有遇過痛苦的事, 反正先用 Excel 拉好動作, 換個年份就整片貼上, 等它跑完就收工了 :D

    Aloz 於 2010/12/20 13:08 回覆

  • 牛角
  • 呵,看來我們是使用相同的方式,不過小小不同是我的部份是fin module,之前的excel公式已經優化到只要改變年份cell,start date & end date都能自動改變,連閏年都沒問題O.O
    dataload也不知道是怎樣,即使TAB我放大到2秒有時候還是會miss,不過主要還是我忍受不了智障軟體在那邊給我慢慢丟,今年改了一個模擬人工輸入的方式也許您可以參考看看..
    1.create一個temp table,定義使用者會輸入的columns
    2.將excel的資料insert到temp table
    3.在官方的form偷加一個button,將temp table的資料copy到目前的block,該觸發的trigger就想辦法讓它觸發(其實只有lov validate)
    4.delete from temp table
    5.save收工
    這樣管他Oracle backend是怎麼執行的,我還是透過正常的form commit,其實分析官方的form應該沒連動到啥table,但基於oracle官威甚大,目前還是先用這種保守法做=.=
  • 你好,
    厲害, 這種方式我還真的沒想過, 不過看起來, 掛成 Personalize 應該也是可以, 這樣更不用擔心 oracle 的 update.
    其實也是懶惰啦, 因為一年才用一次, Dataload 我都放3秒以上, 除了 Tab 的 Delay 調整之外, 連 After Delay 都有調整, 慢慢跑就不太會有問題~
    謝謝你分享 ^_^

    Aloz 於 2010/12/20 14:16 回覆

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼