有鑑於本身在開發Discoverer常遇到要By ORGANIZATION_ID控制存取權限之問題。故分享本人的做法。
條件說明:
1. Discoverer Viewer/Plus登入權限是結合Oracle ERP EBS認證(即不是用DB Account來認證)
2. 開發之報表只能是assign給Inventory level的RESPONSIBILITY(即有做assign org的)
3. 資料來源(Folder)必需是Customer SQL.(不能是From database...)
做法及原理:
1. 因為登入時是同EBS結合,故其會要求是用那一RESPONSIBILITY的角色登入。此時Oracle便會在DB 的Global變數內戴入Profile的設定及紀錄現行的RESPONSIBILITY。
2. 因為該RESPONSIBILITY有做assign org,故只要在資料來源的SQL加入限制即可。
範例如下:
沒有留言:
張貼留言