lunes, junio 27, 2005

Modificar un Reporte existente mediante VB Script

Se tiene un reporte y se desea agregar una dimensión al reporte:
Tenemos el siguiente scripts (*.vbs):

'Abrimos un reporte vacio y lo sobreescribimos
Dim obj
Set obj = CreateObject("CognosPowerPlay.Report")
'Abrimos el reporte
obj.Open("D:\001Proyectos\MyNewReport.ppr")
'Declaramos modo de uso
obj.ExplorerMode = false
'Declaramos una lista de categorias
dim listCat
set listCat = obj.CategoryList()
'Adicionamos la dimensión a la lista
listCat.Add 1, "Tiempo"
'Adicionamos la lista al reporte
obj.Columns.Add listCat
'Guardamos el reporte
obj.Save
obj.Close
Set obj = Nothing

En el ejemplo tenemos:
CreateObject("Nombre") .- Declaramos que el objeto a crearse es del tipo Reporte ("CognosPowerPlay.Report")
Open(ruta) .- Esta función es propia de un objeto de tipo reporte y abre el reporte que se especifica en la ruta.
ExplorerMode .- Define como se hará uso el reporte. Si es Verdadero, el reporte estará limitado en algunas funciones, si es Falso, el reporte tiene todos los métodos y propiedades habilitados.
CategoryList .- Permite crear un objeto de tipo "Lista de categorias" en la cual se pueden agregar distintas categorias de las dimensiones de un cubo.
listCat.Add 1, "Tiempo".- Agregamos en la lista la dimensión "Tiempo". El número 1 especifíca el nivel donde en que se encuentra el nombre especificado. En este caso tendremos q se adiciona al reporte los años 2003 y 2004 que son las categorias (hijos) en que se abre "Tiempo" (que está en el nivel 1).
Columns.Add listCat .- Con esta función agregamos la lista de categorias, con los cambios respectivos, como columnas al reporte.
obj.Save .- Grabamos el reporte. En este caso sobreescribimos el reporte existente, para cambiar el nombre o ruta existe la función SaveAs.

No hay comentarios.: