使用CognosScript Editor编程和Cognos产品交互
上一篇: 下一篇:

使用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)