2018年6月28日 星期四

Oracle EBS: 無法使用PDOI轉入from_header_id及from_line_id值

問題: 既有的程式sample、網路上找到的script, 都是可以用PDOI(Purchasing Document Open Interface)轉入from_header_id及from_line_id, 但無論怎麼試, 所產生PO的這兩個欄位都是空的.

原因: 版本造成, R12之前作不到, R12也要到12.1.3有Purchasing Roll Up Patch 18120913:R12.PRC_PF.B才能作到.

所以都作白工了, 看來只能再多一段update, 直接填入po_lines_all.

Orz...


Ref:
1.Reference Documents in Purchase Order interface
https://it.toolbox.com/question/reference-documents-in-purchase-order-interface-103008

2.Should PDOI Columns FROM_LINE_ID And FROM_HEADER_ID Come Across To Purchase Order Tables? (Doc ID 394307.1)

2018年5月25日 星期五

Form 6i client程式以timer排程產生報表檔案, 遇到error ORA-302000

狀況:
1.Form 6i client程式以timer排程產生報表檔案
2.排程異常終止, 有error ORA-302000

原因:
1.依搜尋所得資料, 可能是無法存取檔案造成.  在程式執行時, 的確是有寫入log檔, 或許log檔被lock而造成問題.
2.另一個查到的原因是沒有相符的目錄, 但這項與現有狀況不符.

治標方式: 終止原Form 6i runtime, 另以排程再重新執行

若要治本, 或許可試試改寫log檔的存取方式.


Ref:
Ora 302000 When Using Text_Io.Fopen
http://www.hivmr.com/db/ca78pdd137s38fcsdk1s7dxd99zjzpsp

2018年5月7日 星期一

Oracle EBS: JBO-25013: Too many objects match the primary key oracle.jbo.Key[xxxxxx nnnnnn ]

iSupplier Portal上的客製程式突然有狀況, 所有人都遇到相同error:

oracle.jbo.TooManyObjectsException: JBO-25013: Too many objects match the primary key oracle.jbo.Key [xxxxxx nnnnnn ]

看起來是primary key有問題, 但找了相關table:
1.沒有primary key
2.有primary key, 但沒有相符的id

找了一些文章, 實際的狀況都不符合.

DB中的幾個lock後來證實無關, AP server restart也沒有用.

最後查了有insert資料的table, 發現有兩個ID欄位有相符值, 但這兩個欄位沒有設定primary key, 而且ID重複的兩筆資料, 依creation_date來看, 在2014年就已存在.

刪除重複資料, 再執行客製程式, OK了.

所以是程式有檢查這兩個ID值?

程式最近一次異動大約在兩年前, 剩下的問題是:
1.如果重複值造成問題, 應該2014年或2016年就發生
2.若是系統設定異動造成, 會是什麼設定值

目前無解.

想到的唯一可能是有誤新增資料、但creation_date直接取2014年的日期, 而不是取新增時的日期.

2018年4月15日 星期日

Oracle EBS: ASCP展Planned Order之數量考量歷史分配問題

ASCP展Planned Order之數量考量歷史分配問題

因巿場狀況, user希望planned order依指定比例分配給不同廠商時, 只考慮新需求量.

系統既有行為, 是依歷史累計需求分配量計算.

User's Guide有一段:

  You can allocate planned orders taking into account historical allocations in unconstrained plans.

句子中用的是 can , 不是 must , 這就讓人好奇了.

瘋狂搜尋後, 在Oracle support找到相關文章, 有個profile:

  MSC: Sourcing History Start Date Offset(in months)

預設是null, 代表不限月份. 若指定為0, 就不會搜集舊資料.
 


Oracle自己也備註, 設定較高的值或是設定為null, 都會影響效能, 卻仍兩光把預設值定為null.

另有兩個ODS Load Parameters要調整:

  Recalculate Sourcing History = No
  Purge Sourcing History = Yes



以事後之明來看, 這問題真是簡單到讓人淚流滿面...

但是, 因為ASCP仍會把open的PO和PR列入分配計算, 所以還是不符合user的期望.     Orz...


Ref:

1.Advanced Supply Chain Planning (ASCP) Profile Plan Option Matrix (PDF Rev December-2017) (Doc ID 803583.1)

2.ASCP Plan Output Does Not Respect Allocation Percentage From Sourcing Rule. Need to verify Allocation Percent. (Doc ID 399468.1)

2018年4月13日 星期五

Oracle EBS: Vendor帳號變更密碼後, 用通知信的連結可登入系統, 但Return to Worklist時error

狀況:
1.廠商改密碼後, 可用系統通知信的連結登入
2.點擊Return to Worklist時出現Error Page
3.在User資料中, Last Updated By是GUEST

原因: 應是密碼變更程序未正常完成, 系統中資料不一致

處理方式:
1.user帳號填入停用日期, 存檔
2.清除停用日期, 存檔

完成.