viernes, 30 de octubre de 2009

Datos y Notación por punto en Power Builder


En un post anterior vimos las diferencia entre Culumnas computadas vs Campos computados en Power Builder. Es importante entender estos conceptos para facilitar la implementación sobre los datawindows.

Ahora si queremos por ejemplo acceder al valor de un campo computado, de un datawindow que esta en el header, footer o summary se especifica el número de fila como 1 a través de la notación por puntos, ejemplo:


dw_1.Object.avg_cf[1]

He encontrado referencia sobre este tema en PowerBuilder Technique - Data and Dot Notation. Espero que les sirva de aclaración o ayuda.

miércoles, 28 de octubre de 2009

Power Builder 10.5 ShellExecute


Para abrir cualquier tipo de documentos desde Power Builder versión 10.5 debemos hacer lo siguiente:

  • Declaramos la función local externa:
FUNCTION long ShellExecute(ulong ihwnd,string lpszOp,string lpszFile,string lpszParams, string lpszDir,int wShowCmd ) LIBRARY "shell32.dll" ALIAS FOR "ShellExecuteW"

Para la versión 10.5 utilizamos ShellExecuteW en vez de ShellExecuteA porque PB en la version 10.5 usa Unicode en vez de ASCII.

Este problema se le da respuesta en la siguiente hilo de la lista del grupo de Google comp.soft-sys.powerbuilder.

  • Luego podemos utilizar la función externa de la siguiente forma:
ShellExecute( 0 , "open" , ls_full_path , ls_parm , ls_path , 1 )

Espero que les sea de utilidad.

Referencias:



martes, 13 de octubre de 2009

Solucionando error Mondrian y PostgreSQL 8.3.8


Para solucionar el error:

Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: com.tonbeller.jpivot.olap.model.OlapException: ERROR: no existe la función upper(smallint)

de las versiones antiguas de Mondrian y la visualizacion de Cubos OLAP sobre el gestor de base de datos PostgreSQL 8.3.8, tenemos que especifiar en el esquema del cubo el tipo de dato de cada colmna en la etiqueta Level atributo type . Les dejo un fragmento del esquema de un cubo y su definición en XML.



<!-- Producto -->
<Dimension name="Producto">
<Hierarchy name="Tipo" hasAll="true" primaryKey="id_dim" caption="Producto/Tipo" allMemberName="Todas" allMemberCaption="(Todas)">
<Table name="dim_producto"/>
<Level name="Tipo" column="tipo_codigo" nameColumn="tipo_desc" hideMemberIf="IfBlankName" type="String"/>
<Level name="Producto" column="id_producto" nameColumn="nombre_producto" hideMemberIf="IfBlankName" type="Numeric">
<Property name="Precio_mn" column="precios" type="Numeric"/>
<Property name="Precio_usd" column="precio_usd" type="Numeric"/>
<Property name="Unidad_medida" column="unidad_medida" type="String"/>
</Level>
</Hierarchy>
<Hierarchy name="Grupo" hasAll="true" primaryKey="id_dim" caption="Producto/Grupo" allMemberName="Todas" allMemberCaption="(Todas)">
<Table name="dim_producto"/>
<Level name="Grupo" column="grupo_codigo" nameColumn="grupo_desc" hideMemberIf="IfBlankName" type="String"/>
<Level name="Producto" column="id_producto" nameColumn="nombre_producto" hideMemberIf="IfBlankName" type="Numeric">
<Property name="Precio_mn" column="precios" type="Numeric"/>
<Property name="Precio_usd" column="precio_usd" type="Numeric"/>
<Property name="Unidad_medida" column="unidad_medida" type="String"/>
</Level>
</Hierarchy>
</Dimension>



{"String", "Numeric", "Integer", "Boolean", "Date", "Time", "Timestamp"}

por defecto es
String. Seguido les dejo algnas referenias que me ayudaron a reslver el problema.


Referencias:
http://forums.pentaho.org/showthread.php?t=26453&highlight=upper
http://forums.pentaho.org/showthread.php?t=51166
http://docs.huihoo.com/javadoc/mondrian/3.0.4/src-html/mondrian/olap/MondrianDef.Level.html#line.1193

lunes, 12 de octubre de 2009

Asistente para la publicación de datos en MSSQL 2005


Una herramienta útil para exportar y generar secuencias de comandos para bases de datos y objetos es Database Publishing Wizard, esta nos permite conectarnos a un servidor local o remoto de base de datos Microsoft SQL Server 2005 y realizar estas tareas con gran facilidad y rapidez. Para más información visite los enlaces de referencia. Espero que les sea de utilidad.

Referencias:

sábado, 10 de octubre de 2009

Crear un Esquema de Base Datos en SQL Server Management Studio


Para crear un esquema de base de datos mediante SQL Server Management Studio

1. En SQL Server Management Studio, abrir el Explorador de Objetos y expandir la carpeta Base de datos.

2. Expandir la base de datos en la cual se quiere crear el nuevo esquema.

3. Click derecho en la carpeta Seguridad, Nuevo y click en Esquema.

4. En la página General, entre un nombre para el nuevo esquema en la caja Nombre del esquema.

5. En la caja Propietario del esquema, entre el nombre del usuario de la base de datos o el rol de propietario (dbo) para el esquema.

6. Click OK

Para crear un esquema usando Transact-SQL

1. En el editor de consulta. conectar a la base de datos en la cual se creara el nuevo esquema para ejecutar el siguiente comando Transact-SQL

USE
GO

2. Crear el usuario para ejecutar el siguiente comando Transact-SQL

CREATE SCHEMA AUTHORIZATION [new schema owner] ;
GO


Referencia: