我想请教下 FM 宏的操作 及 session parameter、parameter map 的一些应用
主要是session变量,据说可以取到用户登录的ID,参数映射也应该有不小的用途
有弄过的朋友希望给些帮助。。。。。。。谢谢 ...
yumenhui 发表于 2010-1-19 10:53
首先如果你是对cognos做二次开发,希望将自己的业务系统与cognos整合在一起。 FM和宏及 session parameter 可以一定程序的帮你解决数据权限的问题。(目前这种做法仅限于基于package的report, cube一般不这么做)。
试想一下,当你自己系统的一个用户登录后,自然希望将其所拥有的数据权限一并也传入到cognos中,这样只需要维护一套数据权限,即可解决问题。比如说,你现在有一张用户表:
用户ID 密码 所在机构
leo leo 1001
...
当用户登录系统时,会将上述信息通过cognos的第三方权限集成全部存在 session parameter中。然后,你可以在FM中对你想操作的Query Subject设计时,加入filter。比如现在,你想通过“所在机构”来过滤数据,那么就可以:
user_org = # accout.session.parameter.userorg # (注:要想在session paramter中使用自定义的参数值,需要进行一些简单的设置,cognos甚至支持一个用户属于多机构的宏操作)
这样,刚用户登录成功后,cognos的宏会自动的将上述"filter"替换成实际的值,并追加到 "where " 语句之后。这样比直接通过cognos的权限来控制数据要好的多,至少,不用再频繁的通过发布包来解决权限问题了。
目前我主要是使用Sun one ldap来控制权限的,将来想自己实现一套比较实用的 java customer provider,专门用于cognos集成,那样 session patameter 可能会用的更多。