Decideo - Actualités sur le Big Data, Business Intelligence, Data Science

Abonnez-vous gratuitement à Decideo !


Decideo


 
Forums, dernières contributions
 Zikos Gregoris
Vendredi 10 Septembre 2010

Version imprimable
Voici quelques lignes de codes à copier dans un fichier. vbs qui devraient vous aider, ills suffit de remplacer le Msgbox par une ecriture dans un fichier csv et ca devrait etre un bon debut ;)

testé sur XI3.1 et devrait fonctionner en XI2 aussi
Cordialement,
Gregoris Zikos

Pour les rapports



Dim SessionManager
Dim esession
Dim iStore
Dim FolderName
Const CEuser = 'User' 'This is a BO admin
Const cePassword = 'Password' 'password for User specified above
Const CECMS = '@cms' 'Cms to connect
Const CEAuth= 'secEnterprise' 'Auth Type, usually secEnterprise

CEUserSession CEUser, CEpassword, CECMS, CEAuth
QueryStr = 'select * from CI_INFOOBJECTS where SI_KIND in ('Webi','FullClient') order by SI_NAME'

Set Reports = iStore.Query(QueryStr)

For Each Report in Reports
Set PluginMgr = IStore.PluginManager
Set ObjectPlugin = PluginMgr.PluginInfo('CrystalEnterprise.Webi')
Set ReportObject = Report.PluginInterface('')
ReportID = ReportObject.ID
'Wscript.Echo Reportid
FolderList = ''
If ReportObject.ParentID 49 Then
If ReportObject.Parent.ParentID 4 Then
If ReportID 0 Then
' Wscript.Echo 'Level 1'

Set DocHierParent = ReportObject.Parent
While ReportID 0
If ReportID 4 Then
' Wscript.Echo 'Level 2'
oldfolderlist = FolderList
newfolder = DocHierParent.Title
FolderList = newfolder & '/' & oldfolderlist
ReportID = DocHierParent.ParentID
Set DocHierParent = DocHierParent.Parent
' Wscript.echo FolderList

Else
' Wscript.Echo 'Level 3'
ReportID = ReportObject.ParentID
Set DocHierParent = ReportObject.Parent
End If
Wend
' ' Rng(RowNum, 3) = Left(DocumentItem.Parent.Kind & ':' & FolderList, Len(DocumentItem.Parent.Kind & ':' & FolderList) - 1)
' Wscript.Echo newfolder
'Wscript.Echo Left(FolderList, Len(FolderList) - 1) & ' ' & Pathfile
End If
End If
End If
' End If

ReportsName = Report.Properties('SI_NAME').Value
ReportsDescription = Report.Properties('SI_DESCRIPTION').Value
'GetfolderName(Report.Properties('SI_PARENT_FOLDER').Value)

MsgBox('Universe Name : ' & ReportsName & Chr(10) & 'Description' & ReportsDescription & Chr(10) & 'Universe Folder :' & Left(FolderList, Len(FolderList) - 1))


Next


Function CEUserSession(CEUser, CEpassword, CECMS, CEAuth)
'Create BO Session
set oEnterpriseSessionMgr = CreateObject('CrystalEnterprise.SessionMgr')
set ceSession = oEnterpriseSessionMgr.Logon(CEuser, CEpassword, CECMS, CEAuth)
set iStore = ceSession.Service('','InfoStore')
End Function

Function GetfolderName(ParentId)
QueryFolderStr = 'select * from CI_INFOOBJECTS where SI_ID = ' & ParentId &' order by SI_NAME'

Set Folders = iStore.Query(QueryFolderStr)
If FOLDERS.count > 0 Then
Set Folder = Folders(1)
FolderName = Folder.Properties('SI_NAME').Value
End If
End function


pour les univers




Dim SessionManager
Dim esession
Dim iStore
Dim FolderName
Const CEuser = 'User' 'This is a BO admin
Const cePassword = 'Password' 'password for User specified above
Const CECMS = '@cms' 'Cms to connect
Const CEAuth= 'secEnterprise' 'Auth Type, usually secEnterprise

CEUserSession CEUser, CEpassword, CECMS, CEAuth
QueryStr = 'select * from CI_APPOBJECTS where SI_KIND = 'Universe' order by SI_NAME'

Set Universes = iStore.Query(QueryStr)

For Each UniverseItem In Universes

UniverseName = UniverseItem.Properties('SI_NAME').Value

UniverseDescription = UniverseItem.Properties('SI_DESCRIPTION').Value
GetfolderName(UniverseItem.Properties('SI_PARENT_FOLDER').Value)

MsgBox('Universe Name : ' & UniverseName & Chr(10) & 'Description' & UniverseDescription & Chr(10) & 'Universe Folder :' & FolderName)
Next

Function CEUserSession(CEUser, CEpassword, CECMS, CEAuth)
'Create BO Session
set oEnterpriseSessionMgr = CreateObject('CrystalEnterprise.SessionMgr')
set ceSession = oEnterpriseSessionMgr.Logon(CEuser, CEpassword, CECMS, CEAuth)
set iStore = ceSession.Service('','InfoStore')
End Function

Function GetfolderName(ParentId)
QueryFolderStr = 'select * from CI_APPOBJECTS where SI_ID = ' & ParentId &' order by SI_NAME'

Set Folders = iStore.Query(QueryFolderStr)
If FOLDERS.count > 0 Then
Set Folder = Folders(1)
FolderName = Folder.Properties('SI_NAME').Value
End If
End function


Twitter
Rss
LinkedIn
Facebook
Apple Podcast
App Store
Google Play Store