使用CognosScript Editor编程和Cognos产品交互
NinGoo's blog

使用CognosScript Editor编程和Cognos产品交互

CognosScript Editor是一个脚本编辑器,可以通过编写脚本和Cognos的一些产品进行交互。CognosScript实际上应该就是vbscript,语法基本一样,只是提供了Cognos特有的对象接口调用。

下面是使用CognosScript Editor编写的一段查询Access Manager(使用LDAP做为安全源)中所有用户数并且打印所有用户名的脚本,很久不写代码,一个小小的递归函数就折腾了一个上午,汗-_-!

CognosScript Editor这个工具在很多Cognos产品中都没有提供,我是在Impromptu中找到的。


Option Explicit
dim usercnt as integer

sub Get_User_Count(objFolder as Object)
if objFolder.folders.count = 0 then
exit sub
end if

dim i as integer
for i=1 to objFolder.folders.count
usercnt = usercnt + objFolder.folders.Item(i).users.count

dim j as integer
for j=1 to objFolder.folders.Item(i).users.count
Print #1,objFolder.folders.Item(i).users.item(j)
next j

Get_User_Count objFolder.folders.Item(i)
next i
end sub

sub main
dim objAuthApp as object
dim objAuthDoc as Object
dim objFolder as Object

Const NameSpace = “default”
Const AdminUser = “Administrator”
Const AdminSignon = “”

Const LogFileName = “c:\CFUsers.Txt”
Open LogFileName For Output As #1

set objAuthApp = CreateObject(“Authenticator2.Application”)
set objAuthDoc = objAuthApp.Documents.OpenWithBasicSignon(NameSpace,AdminUser ,AdminSignon,0)

usercnt = objAuthDoc.UserFolder.users.count

dim i as integer
for i=1 to objAuthDoc.UserFolder.users.count
Print #1,objAuthDoc.UserFolder.users.item(i)
next i

Get_User_Count objAuthDoc.UserFolder

Print #1, “==============================”
Print #1, “There are ” & usercnt & ” users”

msgbox “There are ” & usercnt & ” users. Please check ” & logFileName & ” to get the details”

objAuthapp.quit
set objFolder = Nothing
set objAuthDoc = Nothing
set objAuthApp = Nothing

Close #1
end sub

本文网址:http://www.ningoo.net/html/2007/using_cognos_script_editor_interactive_with_cognos_products.html

订阅到Google | 收藏到Del.icio.us | 推荐到鲜果

上一篇: 下一篇:
相关文章 随机文章

本文Tags: , ,

评论暂缺


(Required)
(Required, will not be published)