Beruflich Dokumente
Kultur Dokumente
Sistemas de Gestin
Manual Instructivo
Setiembre, 2011
Asuncin - Paraguay
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Introduccin
Prog. Orientada a Objetos:
La programacin orientada a objetos (POO) es un modelo
de programacin que utiliza objetos, ligados mediante mensajes, para la solucin de
problemas. Puede considerarse como una extensin natural de la programacin
estructurada en un intento de potenciar los conceptos de modularidad y reutilizacin de
cdigo.
Es una tcnica de programacin que aumenta la velocidad
de desarrollo de los programas y hace que su
mantenimiento sea ms fcil al volver a utilizar objetos
que tienen comportamientos, caractersticas y relaciones
asociadas con el programa. Los objetos son organizados
en grupos que estn disponibles para la creacin y
mantenimiento de aplicaciones.
La programacin orientada a procedimientos clsica
presenta ciertos problemas que han ido hacindose cada
vez ms graves, a medida que se construyan aplicaciones
y sistemas informticos ms complejos.
Es difcil modificar y extender los programas, pues suele
haber datos compartidos por varios subprogramas, que
introducen interacciones ocultas entre ellos.
Es difcil mantener los programas. Casi todos los sistemas
informticos grandes tienen errores ocultos, que surgen a
la luz hasta despus de muchas horas de funcionamiento.
Es difcil reutilizar los programas. Es prcticamente
imposible aprovechar en una aplicacin nueva las
subrutinas que se disearon para otra.
La programacin orientada a objetos (OOP, por las siglas
ingls Object-Oriented Programming) es una nueva forma
de programar que prolifer a partir de los aos ochenta y
trata de encontrar solucin a estos problemas utilizando los
siguientes conceptos:
Objetos.
Entidades complejas provistas de datos (propiedades, atributos) y comportamiento
(funcionalidad, programas, mtodos). Corresponden a los objetos reales del mundo que
nos rodea. Un objeto es una forma de comunicacin con el usuario (por ejemplo, una
ventana o un men). Cada objeto tiene atributos que defne su apariencia y
comportamiento. Por ejemplo, los atributos height y width para un CommandButton definen
su apariencia, donde los atributos; visible y enabled definen su comportamiento.
Clases.
Conjunto de objetos comparten propiedades y comportamientos. Tipo de objetos definido
por el usuario. Ej. Windows, Mens, controles, etc.
Herencia.
Las clases no estn aisladas, sino que se relacionan entre s, formando una jerarqua de
clasificacin. Los objetos heredan las propiedades y el comportamiento de todas las clases
a las que pertenecen.
Encapsulamiento.
Cada objeto est aislado del exterior, es un mdulo natural, y la aplicacin entera se
reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos
asociados a un objeto contra su modificacin por quien no tenga derecho a acceder a ellos,
eliminando efectos secundarios e interacciones.
Polimorfismo.
EL polimorfismo permite que una misma operacin pueda llevarse a cabo de forma
diferente en clases diferentes, dependiendo de la referencia del objeto y el nmero de
argumentos. Por ejemplo la operacin mover, es distinta para una pieza de ajedrez que
para una ficha de damas, pero ambos objetos pueden ser movidos. Una operacin es una
accin o transformacin que realiza o padece un objeto.
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Evento.
Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un
mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje
adecuado al objeto pertinente. Tambin se puede definir como evento, a la reaccin que
puede desencadenar un objeto, es decir la accin que genera.
Cuando el usuario selecciona un objeto o ingresa/modifica informacin en un objeto, ocurre
un evento. Los eventos pueden ocurrir para muchos objetos (aplicaciones, ventanas,
controles, etc.). Un evento ocurre cuando el usuario ejecuta una accin con el ratn o el
teclado. Los eventos tambin pueden ser provocados por declaraciones en PowerScript y
por el sistema mismo. Los eventos comunes incluyen:
Click
DoubleClicked
Modified
Open
Close
GetFocus
LoseFocus
SelectionChanged
Qu es Power Builder?
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Programacin de Eventos:
Workspaces y Targets:
Web Target:
Libreras:
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Power Builder proporciona pintores para ventanas
(windows), mens, DataWindow objetos, objetos visuales y
no visuales definidos por el usuario, funciones, estructuras,
base de datos, data pipelines, y la aplicacin en s. Para
cada uno de estos tipos de objetos, habr tambin un
editor de cdigo en el que se puede modificar el cdigo
directamente.
Para webs, existen editores especializados para HTML y
archivos JSP, frames sets, y hojas de estilo.
Datawindow:
Target Application:
Template Application:
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Se pueden abrir hojas, mostrar la ventana About, y
seleccionar items desde el men. Se puede entonces usar
la aplicacin como un punto de inicio para continuar el
desarrollo de la aplicacin MDI. El To-Do List puede
ayudarte a hacer esto.
Funciones:
Imprimir informes
Funciones Predefinidas:
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Painters de PowerBuilder.
Painters
Uso
Application
Editar el objeto aplicacin. Tambin especificamos aqu la lista de las pbl que van a
componer nuestra aplicacin. Seleccionar el cono de la aplicacin.
Project
Window
Diseo visual de las ventanas y tambin donde incluiremos una parte muy importante
del cdigo de la aplicacin.
User Object
Menu
Structure
Function
Datawindow
Diseo de los formularios asociados a una consulta SQL en sus diversos formatos
(Monoregistro, tabular, hoja de clculo, etc). Punto fuerte de PowerBuilder.
Query
Consultas SQL que guardamos para usar varias veces (generalmente poco utilizado).
Pipeline
Traspaso de datos desde una tabla a otra en la misma base de datos o en dos
diferentes. Muy til, ya que ahorra teclear sentencias SQL muy complejas. Podemos
utilizarlos manualmente para hacer traspasos de datos de una aplicacin antigua a
otra nueva o llamarlo desde un programa PowerBuilder que realice traspasos
automticos.
Database
Library
Crear libreras, mover objetos de una a otra, borrar objetos, recompilar el cdigo
cuando ha habido modificaciones en herencias intermedias son algunas de la
funciones de este painter.
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Datawindow.
Los datawindow son como controles limitados a los datos, incorporan interfaces de usuario
tales como editores de una lnea y campos de texto estticos. Pero a diferencia de stos
los DataWindows son tratados como un solo objeto.
En algunos casos un Datawindow permite toda la sintaxis SQL, en otros casos no toda.
El pintor de datos windows tiene realmente tres vistas principales.
La primera (el SQL Painter), es donde se define el dato fuente para el
datawindows, as como su estilo de presentacin.
La segunda ventana (diseador de DataWindows), es donde se delinea su
formato usando argumentos de informe; hay 4 argumentos en la mayora de los
DataWindows, encabezamiento, detalle, pie y resumen.
La ltima ventana es la de (vista preliminar), donde se puede observar el
DataWindows con los datos recuperados desde el modelo de datos.
Para abrir el Pintor de DataWindows, se realizan los siguientes pasos:
1. Se pulsa el botn New de la powerBar para abrir el cuadro de dilogo general y
en la solapa DataWindows se selecciona el tipo de datawindow.
2. Se puede crear un nuevo DataWindows o modificar uno ya existente
3. En el cuadro de dilogo New DataWindows se seleccciona el DataSource y
presentation Style.
SQL Painter.
Una vez que se ha escogido el tipo de consulta que se desea hacer y el estilo de
presentacin es hora de seleccionar las tablas que se desea que sean parte del control
DataWindows que se est creando.
Despus de seleccionar las tablas de la consulta se deben escoger los campos de esas
tablas que aparecern en el resultado del DataWindows. Se puede adems escoger aqu
el criterio de seleccin de los campos.
Diseador de DataWindows: (es diferente dependiendo del DataSource escogido).
Una vez que sea pulsado OK, se abre el diseador de DataWindows, internamente ya se
tiene el estilo de presentacin que previamente se ha escogido; usando el ratn,
simplemente hay que arrastrar los campos adnde se quiera que aparezcan dentro del
DataWindows.
Una vez que se han hecho los ajustes necesarios dentro del diseador, es tiempo de
guardar el trabajo; para ello se pulsa dos veces en el cuadro de control del men del pintor,
PowerBuilder preguntar si efectivamente se desea guardar el trabajo realizado.
NOTA: para mostrar solo un detalle a la vez, se debe correr hacia abajo las franjas de los
diferentes componentes (detail, summary, etc.).
Se puede, en cualquier momento hacer un preview para ver cmo va quedando el
resultado de la clusula select que se est diseando.
Adems se puede, en el pintor de SQL, mediante el men: Design Convert to syntax,
ver o modificar, el cdigo de la consulta que se tiene hasta el momento. Para volver al
modo grfico se escoge Design convert to graphics.
Columnas para la clusula Select escogida
Si se est en el diseador de DataWindows en el modo grfico, bajo las tablas que se
tengan escogidas, aparecen varias lengetas propias de SQL, que se describen ahora:
Sort: permite hacer que la consulta aparezca en forma ordenada. Para ello, se escoge
la columna por la que se quiere hacer el ordenamiento y se traslada hacia el campo que
aparece a la mano derecha de las mismas; una vez aqu se puede escoger si el
ordenamiento se desea hacer ascendente o descendentemente.
Where: la condicin cul se desea que cumpla la consulta, se pueden usar adems de
los conocidos Like, between, is, etc, operadores de tipo relacional. Varias condiciones
pueden estar unidas mediante operadores lgicos.
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Es aqu donde podemos pasar parmetros trados del programa al DataWindow, los
agregamos mediante el men: Design Retrieval Arguments...; de esta forma
establecemos un vnculo entre el DataWindow y el programa de aplicacin.
Los agregamos a la clusula where como se agregan variables anfitrionas, es decir, se les
antepone :. Para eliminar argumentos se escoge de nuevo Design Retrieval
Arguments... y se elimina el argumento. Se puede eliminar una condicin completa,
escogiendo el botn derecho del mouse y clicando en Clear.
Group: para agrupamientos
Having: condicin del agrupamiento.
Compute: son columnas calculadas para la consulta que se est haciendo.
Sintax: es el cdigo de la consulta segn hasta el momento. (Desde aqu no se puede
modificar)
Filtros
Se definen mediante Rows Filter... Lo que hacen es ocultar las columnas que cumplan
con la condicin del filtro, pero no las elimina del DataWindow, por tanto no reducen el
trfico en la red.
NOTA: una vez que se da por OK, en esta parte se entra al diseo del DataWindows,
Se puede modificar la presentacin de los datos (pero no modificar el estilo de
presentacin, pues ste slo se puede modificar con cdigo en RunTime), o incluso se
puede modificar el select que se haya escogido, mediante el uso del cono SQL de la
PowerBar.
Propiedades de actualizacin de un objeto Datawindows.
Para ingresar a las propiedades de actualizacin de un DataWindows se debe escoger de
la PowerBar: Rows | Update Properties...
Ya una vez aqu, en un Datawindows, slo se puede actualizar una tabla a la vez, debido a
que probablemente se tengan seleccionado datos de diversas tablas, Power Builder no
sabe cul es la que hay que actualizar.
Lo primero es activar Allow Updates para que los usuarios de la aplicacin puedan
actualizar este DataWindow. Luego se selecciona la tabla que se desea actualizar Table
to Update
A continuacin se pulsa sobre las columnas que se quieren actualizar de la tabla
seleccionada.
Tambin se pueden elegir opciones para la clusula Where que el DataWindow utilizar en
la actualizaciones o cancelaciones del mismo. Estas opciones son importantes en el
supuesto de mltiples usuarios, que pueden estar actualizando una misma tabla al mismo
tiempo. Pulsando Key and Updatable columns, o bien Key and modified columns se
ampla la proteccin un usuario no puede escribir sobre una tabla que otro est
actualizando
En el Group de key modification se dispone de opciones de actualizar Delete then Insert
o Update para cambiar el valor de la clave principal. En este grupo si se escoge delete
then insert Power Builder primero eliminar la tupla a la que se refiere y posteriormente
har un insert con los nuevos valores insertados; si bien hay que considerar el efecto de
actualizaciones y cancelaciones en cascada cuando se toma esta opcin. Usar Update
para cambiar la clave puede ser ms rpido para actualizar, pero puede ser ms lento para
el proceso secuencial subsiguiente.
Finalmente
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Data sources.
Quick select: solo permite relacionar tablas que tenga relacin directa; o sea, por
medio de llaves forneas
SQL select: permite cualquier tipo de relacin entre tablas incluso para aquellas en las
que no existe ninguna relacin
Queries: es muy parecido al SQL select, la nica diferencia entre los dos es que se
pueden emplear queries
como una fuente de datos predefinida para distintos
DataWindows en lugar de definir el SQL select en cada DataWindows. Una Query es
como un SQL select reutilizable que se emplea para construir muchos DataWindows. Un
DataWindows se puede incluso guardar como una Query en el pintor SQL dentro del pintor
de DataWindows.
External: cuando se usan fuentes de datosexternas para un Datawindows,
generalmente se le da contenido a ste por medio de PowerScript, toda vez que hay un
SQL select asociado a l. Cuando se empieza la construccin de un Datawindows usando
una fuente de datos externa, se abre el cuadro de dilogo Result Set Description, se
definen ah los campos y los que son su tipo y su longitud, luego se contina la
construccin como si se estuviera un Quick Select o un SQL select como fuente de datos.
Los Datawindows con fuentes de datos externas son tiles cuando se necesita mostrar o
introducir datos que no estn almacenados en una base de datos relacional
Stored procedure: son extremadamente populares para los DataWindows, que
pueden ser usados si el sistema de gestin contiene la base de datos que los soporta.
Algunas bases de datos tienen procedimientos almacenados altamente eficientes. Con
frecuencia se puede mejorar la velocidad de la aplicacin situando algunas de las
sentencias SQL en estos procedimientos almacenados. Se pueden usar Procedimientos
almacenados dentro de DataWindows, y stos lo que devuelven es una consulta Select.
Estilos de presentacin.
Freeform: se usa frecuentemente para las
ventanas de entrada de datos. Normalmente slo se
muestra una fila a la vez y no tiene informacin de
encabezamiento ni de resumen. Es un DataWindows
sin formato (Sin formato = Freeform).
Este tipo de DataWindows se usa para tablas nicas
o entradas de datos de una sola lnea
Tabular: muestra tpicamente varias filas de
informacin a la vez. Es normal que este estilo tenga
un segmento de encabezamiento que contenga los
ttulos de las columnas (en vez de etiquetas en el segmentos de detalle, como en el caso
de los estilo libre) tambin suele tener un pie de pgina y filas de resumen al final del
informe. Una factura es un excelente ejemplo de un DataWindows tabular, ya que muestra
muchas filas a la vez (lneas de la factura) y tiene informacin de encabezamiento
(nombres de clientes, compaas, fecha, etc.) as como una informacin de resumen
(impuestos, descuentos, total.). con este estilo de presentacin los ttulos de columnas
aparecen en el segmento de encabezamiento, mientras que las columnas aparecen en el
detalle. La nica diferencia entre un DataWindows de estilo tablar y otro sin estilo es la
forma de disponer los objetos (=columnas y texto) al crearlos.
Compuesto: no se puede usar para mantenimiento
CrossTab: se puede usar para mantenimiento, la representacin es tipo matriz
Graph: tipo grfico
Group: no se puede usar para mantenimientos y se usa para agrupamientos
Label:
N-Up: si se puede usar para mantenimientos y aprovecha al mximo el papel cuando
se pasa a impresin.
Ole: para incrustados
RTF: para formatos enriquecidos.
10
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
11
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
12
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Lenguaje PowerScript.
En powerBuilder se escriben scripts usando el lenguaje PowerScript, el lenguaje de
PowerBuilder. Los scripts consisten en comandos, funciones y sentencias que forman y
dan una estructura especfica a los procedimientos de cada evento.
Variables.
La mayora de los lenguajes de 4GL soportan el concepto de mbito de las variables. El
mbito describe dnde se puede usar la variable.
Este concepto es importante. El mbito permite a un analista/programador escribir una
funcin o suceso sin escribir sobre las variables en otra zona de la aplicacin, incluso si las
variables tienen el mismo nombre.
Hay 3 niveles de mbito en Power Builder:
1. mbito Local: las variables de mbito local (o simplemente variables
locales), son variables que se declaran en el script. Muchas variables
definidas por el analista/programador que se emplean en el script son
variables locales, que solo existen en el interior del suceso o funcin en
la que estn definidas. El valor que adquiera la variable se pierde una
vez que salga del suceso o funcin.
2. mbito Compartido: con una aplicacin de tipo MDI se puede abrir ms
de una ventana del mismo tipo (en otras palabras, se pueden abrir dos
ventanas w_item al mismo tiempo). Estas versiones mltiples de la
misma ventana se llaman rplicas de esa ventana. Las variables
compartidas son variables cuyas funciones, sucesos controles de cada
rplica de un objeto pueden compartirse.
3. mbito Global: la aplicacin completa puede acceder a las variables
globales. Estas variables nunca se salen de mbito hasta que se cierra
la aplicacin.
4. mbito Instancia: Una variable de instancia puede ser:
Nivel de aplicacin. Utilizado slo en los scripts del objeto aplicacin
Nivel de men. Utilizado slo en los scripts para el men en el cual
fue declarada y sus tems dentro del men
Nivel de ventana. Utilizado slo en los scripts para la ventana en la
fue declarada y los controles de dicha ventana
Nivel de Objeto de Usuario. Utilizado slo en los scripts para el objeto
de usuario en el cual fue declarado.
No se deberan usar variables globales si se emplea otro tipo de variables, usndolas se
viola el principio de encapsulacin; en otras palabras, si se establece una variable global
en un suceso, otro suceso la puede reinicializar sin que el primero se llegue a dar cuenta
de ello.
La forma de declarar variables de tipo local en un determinado evento es el siguiente:
Tipo_de_dato nombre_variable{ [nmero de elementos] }
Cuando se abre la ventana de script sea de una ventana o de un objeto de ventana, aparte
del rea de trabajo, existe, al realizar click derecho con el mouse, un sub-men de pegado
especial, con las cuales se pueden pegar rpidamente variables y objetos de uso frecuente
al codificar los scripts.
Paste instance: ese sub-men despliega todas las declaraciones de variable
de instancia. Con una simple pulsacin sobre una variable de rplica se puede
pegar en el script
Paste global: este sub-men permite pegar en el texto cualquier variable de
mbito global.
Paste object: este sub-men permite pegar objetos que estn relacionados con
el script que se est escribiendo; por ejemplo botones de comando, list boxes,
etc.
Paste Argument.
13
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Comentarios.
En PB existen dos formas de agregar comentarios a una aplicacin.
// para un comentario de una lnea
/* lineas de comentarios */ para comentarios de ms de una lnea
Dentro del Script Painter, existen tres sub-mens que son muy funcionales a la hora de
agregar cdigo a la aplicacin; los describimos a continuacin:
1. Paste function: permite agregar (cada vez) uno de los tres tipos de funciones
que PB soporta.
Built-in: cualquiera de las funciones que tiene predefinidas PB
User-defined: alguna funcin definida por el programador
External: alguna funcin externa a Power Builder y que se ha extrado hasta
aqu por medio de una librera asociada a la aplicacin
2. Paste SQL: para declarar por medio de un ayudante alguna consulta sobre un
modelo de datos
3. Paste statement: para pegar en el script cualquier sentencia ya predefinida de
PB, como un ciclo una sentencia If then o if then else, etc.
Como se puede notar con estas herramientas prcticamente podemos generar cdigo PB
sin conocer la estructura de su sintaxis.
Algunos conos tiles para este momento:
Select all: selecciona todo el texto que se encuentre en el script
Comment: pone como comentario todo lo que se encuentre seleccionado. Si no
hay texto seleccionado pone como comentario el cdigo de la lnea en la que se
encuentre el cursor
UnComment: quita la seleccin hecha anteriormente.
Find: para buscar algn texto.
Find next: busca la siguiente ocurrencia
Replace: reemplaza algn texto seleccionado por otro que se proporcione
Compile: compila la ventana actual
Select object: selecciona un objeto en particular
Browse Object: determina las caractersticas de un objeto que se encuentre
seleccionado.
Return: vuelve al formulario.
14
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
15
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
16
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Nativo
Driver
SQL
DDL
DML
DCL
ODBC
Toda aplicacin en PowerBuilder est respaldada en al menos una o ms libreras (.pbl),
por lo que se podra afirmar que una aplicacin es en realidad un conjunto de una o ms
libreras.
// Ejemplo de script de conexin a los datos
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False // AutoCommit es puesto a false
SQLCA.DBParm =
"ConnectString='DSN=sybhealth;UID=sybhealth;PWD=sybhealth'"
Connect Using SQLCA; // Conectarse a la base de datos
// Inserta una fila en la tabla patient.
INSERT INTO PATIENT (patient_ID,fist_name,last_name)
VALUES ( 1025,Christopher,Columbus );
if SQLCA.sqlcode = 0 then
COMMIT using SQLCA;
Else
ROLLBACK USING SQLCA;
end if
// Commit cambia y desconecta desde la base de datos.
DISCONNECT USING SQLCA;
17
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Variables de Transaccin.
En la introduccin al inicio de este manual, y en la seccin anterior ya se ha abordado el
tema de las variables de transaccin; al menos de la que Power builder trae como Default
(SQLCA). La Structured Query Language Comunication Area rea de Comunicacin del
Lenguaje Estructurado de Consultas-, es suficiente si nuestra aplicacin solo necesita
comunicarse con una sola base de datos.
En la tabla siguiente se presentan las propiedades de los objetos de transaccin
retornados por la base de datos.
ATRIBUTO
TIPO DE DATO DESCRIPCIN
SqlCode
Largo
El xito o fallo del cdigo de la operacin SQL ms
reciente:
0 = xito
100 = no retorna resultado (ms de un registro)
- 1 = Error (se usa SQLDBCode para ver detalles)
SqlNRows
Largo
El nmero de filas afectadas
SQLDBCode
Largo
El cdigo de error del vendedor de la base de datos
SQLErrText
Cadena
El mensaje de error del vendedor de la base de
datos
SQLReturnData Cadena
El dato de retorno especfico de DBMS
Como ya se he dicho, si nuestra aplicacin solo necesita conectarse a una base de datos
con el Transaction que por default trae Power Builder es suficiente (SQLCA); pero en los
casos en que sea necesario que nuestras aplicaciones interacten con ms de una base
de datos. El caso tpico aqu es el ejemplo de los agentes de ventas; quienes portan su
propia base de datos en su PC y al final del da pasan las transacciones al servidor de la
organizacin; aqu se debe (al final del da por ejemplo) estar conectado al mismo tiempo a
la base de datos centralizada y la personal.
Ya aqu estamos en necesidad de definir al menos una variable de transaccin ms aparte
del SQLCA. Incluso podemos definir otra transaction diferente si no queremos usar el
SQLCA, pero en realidad carece de sentido pues SQLCA trae ya implcito lo necesario
para comunicarse con SQL.
Definicin del transaction (mediante cdigo)
Se define la variable de
Transaction MiTransaction
transaccin
MiTransaction = CREATE transaction
MiTransaction.DBMS = 'ODBC' ...
una vez creada hay que definir las variables
de transaccin de igual forma que como se hace con la SQLCA
Eliminacin de la transaction
Una vez que la transaction ha cumplido con su objetivo, se debe destruir la variable
de transaccin para liberar recursos del sistema.
La eliminacin de la variable de transaccin se hace mediante el comando
DESTROY.
Ejemplo:
DESTROY MiTransaction
Orden Lgico:
Para trabajar con una variable de transaccin que no sea la SQLCA, se debe seguir un
orden especfico a fin de no ocasionar problemas al usuario en tiempo de ejecucin:
Pasos:
1. Definir la variable de transaccin
2. Conectarse al sistema de gestin
3. Ejecutar el cdigo necesario
4. Desconectarse del sistema de gestin
5. Destruir el transaction que se haya definido
18
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Aplicacin.
Las aplicaciones son implementadas a travs de objetos Application, los que presentan
propiedades, evento y funciones (mtodos) que sern revisados. Una aplicacin es un
objeto no visual, desde el que se invocan a las interfaces (ventanas) que sern parte de
una aplicacin adems de poder declarar variables globales, usar objetos de usuario, etc.
Propiedades de una Aplicacin.
Las propiedades de una aplicacin son las caractersticas globales de la aplicacin como
por ejemplo las fuentes predeterminadas de las letras para las cajas de texto, etiquetas,
etc. Tambin se puede definir el icono que tendr la aplicacin cuando se haga el archivo
ejecutable de sta.
PROPIEDADES PREDEFINIDAS EN POWER BUILDER
EVENTO
DESCRIPCION
AppName
De slo lectura, es el nombre del objeto aplicacin que se indica al
momento de grabar, luego de crearlo.
DisplayName
De slo lectura, es el nombre de la aplicacin que es mostrada por
otras aplicaciones al utilizar la aplicacin.
DWMessage Title
Es un ttulo para las cajas de mensaje que se apreciar en la barra
de ttulo de las mismas.
PROPIEDADES ADICIONALES.
Son aquellas como fuente de los textos(Text Font),
fuente de las columnas (Column font), Fuente de
etiquetas (Label font), fuente de las cabeceras
(Header Font), Icono (Icon) y tipos de variables
(Variable Types).
Fuente de los textos (Text Font) permite cambiar el
tipo de fuente de windows en cuanto a tipo de letra,
estilo de la letra (Font styles) como Regular
(Normal), Italic (Itlicas)m Bold (negritas) y Bold
Italic (en negrita e Italic), tamao (Size), color de la
letra (Text Color), y color de fondo de letra
(Background).
EVENTOS DE UNA APLICACIN.
Los eventos son todos aquellos sucesos que le
ocurren a la aplicacin y a los que se puede asignar
un script para que se realicen alguna accin cada
vez que ocurra el suceso.
Eventos Pre-Definidos.
EVENTO
Close
ConnectionBegin
ConnectionEnd
Idle
Open
SystemError
DESCRIPCIN
Ocurre cada vez que se termina la ejecucin de una aplicacin.
Obsoleto (usado para conexiones distribuidas con Power
Builder)
Obsoleto (usado para conexiones distribuidas con Power
Builder)
Cuando la funcin Idle ha sido llamada en un script de una
aplicacin y el nmero de segundos que han transcurrido sin
que el teclado o el ratn hayan sido usados.
Ocurre cada vez que se ejecuta una aplicacin.
Cuando un error crtico ocurre en tiempo de ejecucin (como
tratar de abrir una aplicacin no existente). Si no se pone un
script para ste evento Power Builder muestra un mensaje con
el nmero de error y mensaje de error que ha ocurrido. Puede
usarse para personalizar los errores.
19
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Despus aparecer:
20
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Pulsar el
New
sub-men
21
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
22
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
23
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Luego grabaremos la ventana con el icono de Guardar o eligiendo FILE y despus SAVE
en el Power Men.
A partir de este momento agregar los controles que sean necesarios para nuestra primera
aplicacin, as por ejemplo:
24
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Propiedades de la Ventana.
Las propiedades de la ventana estn organizadas en forma de FICHAS, aqu la descripcin
de sus principales caractersticas:
FICHA
General
Scroll
Toolbar
Other
DESCRIPCION
La casilla TITLE, indica el texto de ttulo de la ventana. La casilla men
Name, indica el nombre del objeto men para la ventana. Window Type,
indica el tipo de ventana:
Child!, ventana que permanece inserta dentro de una ventana MDI
Main!, ventana normal (principal) con posibilidad de men.
Mdi!, ventana que posee rea interna para contener otras ventanas.
MdiHelp!, igual que la anterior, y sirve como ayuda.
Popup!, ventana de contexto o emergente.
Response!, necesita cerrar esta ventana para continuar la ejecucin.
Permite definir si la ventana tendr barras de desplazamiento, y la unidad a
utilizarse por ellas.
Permite definir si se utilizar la caja de herramientas definida para el men, su
presentacin y posicin.
Permite indicar la posicin y tamao de la ventana dentro de la pantalla, como
ser presentada.
25
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Configuracin de ODBC.
Power Builder ofrece la posibilidad
de crear la configuracin para
conexiones ODBC (cono Configure
ODBC de la barra de men), pero
desde aqu no es posible determinar
la versin del driver del motor de la
base de datos con el que se est
haciendo la conexin, por tanto no se
puede estar seguro si la misma
proporcionar
los
resultados
esperados, pues si el motor de la
base de datos es de una versin ms
reciente que el driver que se posee
para la conexin ODBC no dar un
resultado adecuado.
Ante esta perspectiva lo adecuado
es hacer la conexin desde un
producto (de cualquier marca,
incluso el que est proporcionado
por el sistema operativo -caso que
est usando windows XP o superior en la parte del Panel de control Control Panel-)
para conexiones ODBC.
Desde un producto para conexiones ODBC, se puede en la gran mayora de los casos
escoger la versin del driver que corresponda con la versin 1 del sistema gestor que se
est usando.
En
ambientes
cliente
servidor, se requiere instalar
en el cliente una versin
mnima del DBMS, que en el
caso
de
Oracle
es
Oracle/client
Ahora bien ya en el producto ODBC, lo que se tiene que definir es el DSN (Data Souse
Name), para lo que se siguen los siguientes pasos:
Buscar el driver que corresponda a la versin del DBMS que se est usando.
Inicialmente, lo que presentan los productos ODBC, es la lengeta con los DSN que ya han
sido previamente definidos, por lo que si se quiere agregar uno nuevo se debe escoger
Agregar... (Add...), que est en la misma lengeta.
Luego escoger la opcin de Finalizar; con lo cual se presenta un cuadro de
dilogo que proporciona la oportunidad de configurar el DSN, segn el driver que se haya
escogido.
Independientemente del driver que se escoja, se debe completar el campo del Data
Source Name, que es el que se refiere a la base de datos que se le est haciendo, la
conexin ODBC. Adicionalmente se pueden completar el usuario y password, pero esto en
un ambiente cliente servidor carecera de sentido
Una vez que se haya completado el Data Source Name, se escoje la opcin de Terminar
para que se cree el User DSN.
Si la versin del driver es mayor a la versin del sistema gestor que se use no tiene perjuicio, lo que
importa es que la versin del driver contenida en el producto ODBC no sea menor a la del DBMS
26
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
El servidor de ULACIT se representa como: @tns.labs TNS = tnsnames, que es una cadena de
configuracin del servidor. Para ms informacin: Oracle NetWork Adm tnsnames.ora.
27
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
Se debe especificar el nombre del ejecutable que se desea obtener, y de ser el caso
tambin se debe especificar el nombre del archivo pbr.
28
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
29
www.nativos.com.py
PowerBuilder
Sistemas de Gestin
30
www.nativos.com.py