You are on page 1of 308

1: Introduccin al IDE de PowerBuilder

PowerBuilder Developer v10.0

Mdulo 1: Introduccin al IDE


PowerBuilder

Preguntas
1. Qu es un IDE?
2. PowerBuilder es frecuentemente usado para crear Aplicaciones
Cliente/Servidor. Cules son algunas de las caractersticas de
las aplicaciones Cliente/Servidor?
3. PowerBuilder es frecuentemente usado para crear Aplicaciones
n-Tier. Qu hacen las aplicaciones n-Tier?
4. PowerBuilder es frecuentemente usado para crear Aplicaciones
Web. Que esperara Ud. de un ambiente de desarrollo de
aplicaciones Web?

1-2

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-1
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Crear un Workspace PowerBuilder
z Crear un nuevo PowerScript Target
z Modificar el library search path para incluir otras libreras
PowerBuilder
z Abrir el Objeto Application e identificar los Eventos y Propiedades
del Application
z Navegar en las Libreras de PowerBuilder y manipular los objetos a
travs del Library Painter
z Usar el primer tab en el System Tree para realizar operaciones
z

1-3

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

IDE para la Siguiente Generacin


Extender las Aplicaciones Cliente/Servidor
Tener xito con las Arquitecturas n-Tier y Web
Prepararse para Microsoft .Net y J2EE (el Estndar de la Industria)
Resultados Superiores con la Integracin del Desarrollo y Diseo
PowerBuilder Document Object Model APIs.
El XML DataWindow
RAD Java Server Pages
El Web Services Wizard

1-4

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-2
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

La Arquitectura Cliente/Servidor

El Ambiente Cliente Servidor


Cliente

Cliente

Servidor

Red

Cliente
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-5

Arquitectura n-Tier

Arquitectura n-Tier
Application Server

Cliente

z
z

Interfaz de Usuario
Alguna lgica de
negocio (reducida)

z
z
z

1-6

Servidor de la Base de datos

Lgica de Negocio
Caching
Administracin de
Transacciones
Transparencia de la
ubicacin de los datos
Balanceo de carga

Administracin
de los datos

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-3
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Programacin Orientada a Objetos


Los programas consisten de objetos que interactan
recprocamente y hacen demandas a otros
Un estilo de programacin disciplinada
Incorpora polimorfismo, herencia y encapsulacin

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-7

Objetos

Los conceptos importantes del Objeto son:


z

Herencia la herencia permite la generalizacin de


comportamientos y propiedades de objetos, e incorpora estas
generalizaciones en las definiciones de la clase.
Encapsulacin una tcnica para ligar las propiedades y
mtodos de los objetos. Oculta datos desde los accesos
desautorizados.
Polimorfismo la habilidad para ocultar las implementaciones
diferentes del objeto detrs de una interfaz comn

* Los Objetos y otros conceptos de OO son cubiertos en detalle en los siguientes mdulos
1-8

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-4
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades y Eventos

Propiedades:

Un conjunto de definiciones de caractersticas:


z

Poner propiedades que no cambian


z

1-9

Por ejemplo, define la apariencia de un objeto

Pero los valores de las propiedades cambian

Eventos: una accin en un objeto o control que puede disparar un


script. Un Evento puede ser disparado por una accin de usuario
(como un click a un objeto o control o ingresar datos) o por
ejecucin de una sentencia en un script.
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Workspaces
Workspace es un contenedor que puede almacenar un nmero de
targets (applications)
Las propiedades del Workspace define la forma y el orden de
despligue para los targets
Las propiedades del Workspace definen el source control

1 - 10

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-5
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Nuevo Workspace


Tab WorkSpace
Seleccionado

1 - 11

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Application Target
Un workspace puede contener uno o ms aplicaciones o targets
Existen dos tipos de Targets: PowerScript Target y Web Target
Los desarrolladores pueden trabajar simultneamente objetos en
mltiples Targets
El PowerScript Target puede consistir de uno o ms libreras
(*.pbl)
Un Web Target contiene todos los elementos requeridos para
crear un Web sitearchivos HTML, scripts, imgenes, etc

1 - 12

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-6
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Application Targets y Web Targets


Los PowerScript Targets pueden incluir el objeto application,
EAServer component, COM/MTS/COM+ Component, etc
Los Web targets incluyen Web Site, JSP Target y Source
Controlled Web Target

1 - 13

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un Application Target

1 - 14

Creando un PowerScript Target: New Application Target Wizard

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-7
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Configurando el Library Search Path

Target Properties Especificar un library path

* Las Libreras
sern cubiertas
despus
1 - 15

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Objeto Application
El objeto Application es el punto de entrada a las aplicaciones
El Application es una coleccin de windows PowerBuilder y
objetos que proporcionan funcionalidad para las actividades de los
usuarios
Ejecutando una aplicacin activa el Evento Open y el script inicia
toda la actividad en la aplicacin
Otros Eventos incluidos son close, idle y systemerror
Las propiedades y variables del Application pueden ser puestas en
el Painter del Application

1 - 16

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-8
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Painter del Application


Objeto
Application

1 - 17

Eventos

Propiedades

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Libreras PowerBuilder y Objetos


Una Librera es una coleccin de definicin de objetos compilados
y objetos origen almacenados en la misma ubicacin
Los siguientes objetos son almacenados en una librera:
applications, datawindows, functions, menus, pipelines, projects,
proxies, queries, structures, user objects, y windows

ORDENTRY.PBL
Window
Window
Object
Object
1 - 18

Menu
Menu

Window
Window
Object
Object

Menu
Menu
Window
Window

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-9
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Operaciones en los Objectos

Operaciones posibles en objetos almacenados en libreras


Edit
z Edit source
z Run/preview
z Copy
z Move
z

1 - 19

Delete
z Export
z Regenerate
z Search
z Print
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Operaciones Context-Sensitive

Operacin
Context sensitive

1 - 20

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 10
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con Painters

1 - 21

Es un editor de objetos usado para construir objetos o herramienta


usado para manejar los datos y libreras.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Abriendo un Objeto

Los objetos
PowerBuilder que pueden
ser abiertos en sus
painters

1 - 22

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 11
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Painter del Window

1 - 23

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Painter del Menu

1 - 24

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 12
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Painter del Data Pipeline

1 - 25

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Painter del Database


Database

Tablas
En base de datos
conectada

Estructura de
tabla Customer

Datos de la
tabla customer

1 - 26

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 13
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Painter del Debug

Break Point

Objetos en Memora

1 - 27

Objeto
Concurrente

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Painter del Project

1 - 28

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 14
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Painter del Library

1 - 29

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El System Tree
El System Tree proporciona un recurso activo de informacin de
programacin que ayuda a los procesos de desarrollo
El System Tree proporciona al desarrollador la habilidad para
arrastrar a los objetos a los views del painter.
El System Tree tiene cuatro tabs: Workspace, Page, Language, y
Components

1 - 30

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 15
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tab Workspace - System Tree

1 - 31

Sirve como el centro de control del ambiente de desarrollo

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
PowerBuilder es una herramienta de desarrollo RAD
PowerBuilder workspace maneja el ambiente de desarrollo
PowerScript Target representa una aplicacin
Todos los objetos PowerBuilder son almacenados en la librera
.pbl
Un objeto Application es el punto de entrada para cualquier
aplicacin
El System Tree proporciona un tree view representando a
workspace, targets, y Objetos PowerBuilder

1 - 32

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 16
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 1
Lab 1-1: Crear el Ambiente de Desarrollo de PowerBuilder
Lab 1-2: Creacin de los targets de la Aplicacin
Lab 1-3: Creacin de las Libreras de Desarrollo

1 - 33

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 2: Creando la Interfaz de


Usuario

1 - 17
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Qu es un GUI?
2. Liste algunas estructuras familiares de GUI

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 35

Objetivos
Al finalizar este mdulo, ser capaz de:
Explicar un GUI
z Crear un window
z Adicionar controles a las interfaces de usuario
z Identificar los tipos de Windows y el tipo correcto para usarlo en una
situacin especfica
z Identificar las propiedades de los controles para usarlos con datos
mostrados o la capacidad de actualizacin
z Controlar la navegacin del usuario en un window a travs del tab
order apropiado
z Alinear y Redimencionar los controles
z

1 - 36

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 18
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Modificar el font, colores y backgrounds de los windows y controles
z Listar 3 propiedades y 3 eventos de los windows o cualquier control
por lo menos
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 37

MD1

Qu es un Window
Un objeto visual que es la principal interfaz entre el usuario y una
aplicacin PowerBuilder
Propsito:

Para mostrar informacin


z Para requerir informacin del usuario
z Para responder a una accin del mouse o ingreso por teclado
z

1 - 38

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 19
Derechos Reservados de TechEra e-Learning

Diapositiva 38
MD1

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

Creando un nuevo Window


1. Seleccionar File
New Object
2. Seleccionar New
3. Seleccionar PB Object Tab -> Window
Tab PB Object seleccionado

Objeto
Window
Seleccionado

1 - 39

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Painter del Window


Controles Window

Objeto Window

1 - 40

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 20
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de Windows

Main
Response
MDI frame with MicroHelp
Child
Popup
MDI frame

Window Types

1 - 41

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Window Main

1 - 42

Autnomo: opera independientemente de los otros windows

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 21
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

MD2

Window Response
Muestra mensajes o requiere informacin
Est activo hasta cerrarlo
Application modal window Cuando el window est activo, los
usuarios no pueden navegar por otros windows en la misma
aplicacin
No puede ser minimizado, maximizado o redimensionado

1 - 43

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Window MDI Frame


Opcin
Menu

MDI Frame

MicroHelp

1 - 44

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 22
Derechos Reservados de TechEra e-Learning

Diapositiva 43
MD2

Different Image with similar control

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

Window Child
Siempre subordinado a su window padre
Solo puede existir dentro de su padre; cerrado cuando su padre es
cerrado
Nunca est activo
Se corta cuando un usuario trata de moverlo ms all de su padre
Se mueve con su padre
Minimizado cuando su padre es minimizado (UNIX y Windows)

1 - 45

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Window Child
Parent Window

1 - 46

Child Window

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 23
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Window Popup
Usado como el window en el PowerBuilder online Help
Tiene un padre window
Nunca est oculto detrs de su padre
Puede mostrarse fuera del padre
Cuando es minimizado, aparece como un icono fuera del window
padre
Minimizado con su padre cuando el padre es minimizado

1 - 47

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Window Popup

Popup Window

1 - 48

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 24
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de Control por Funcin


Funcin

Los Controles incluyen

Invocar
acciones
Mostrar o
aceptar datos

CommandButtons, PictureButtons, PictureHyperLinks,


StaticHyperLinks, Tabs, User Objects
ListBoxes, PictureListBoxes, DropDownListBoxes,
DropDownPictureListBoxes, DataWindow controls,
StaticText, ListViews, TreeViews, RichTextEdit, Graphs,
Pictures, ProgressBars, ScrollBars, SingleLineEdits,
MultiLineEdits, EditMasks, Tabs, User Objects, OLE
controls
RadioButtons, CheckBoxes (se puede agrupar estos
controles en un GroupBox), TrackBars
Line, Rectangle, RoundRectangle, Oval

Indicar las
opciones
Decorativa
1 - 49

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Adicionando un Control a un Window

Usando el mouse:
1. Click a la opcin Insert en la Barra de Menu
2. Seleccionar el control
3. Click en la ubicacin deseada en el Area del Painter

1 - 50

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 25
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Adicionando un Control a un Window

CommandButton

Propiedades
1 - 51

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tipos de Control
TreeView

RadioButton

GroupBox

CheckBox

Picture

Command Button

EditMask

SingleLine
Edit

SpinControl
ListBox

MultilineEdit

Graph

DataWindow
1 - 52

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 26
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Actuando en Mltiples Controles


Se puede actuar en todos los mltiples controles como una unidad
Para seleccionar mltiples controles:

En el Layout o Control List view, click al primer control y entonces


presionar la tecla Ctrl y click a los controles adicionales

Para seleccionar los mltiples controles cercanos:


z

1 - 53

En el view Layout, presionar el botn izquierdo del mouse, arrastrar el


mouse sobre los controles que se desea seleccionar, y liberar el
botn del mouse.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Poner Mltiples Propiedades de Control

Poner format
Para mltiples
controles

1 - 54

Poner
propiedades
Para mtiples
controles

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 27
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tab Sequence

1 - 55

El valor tab por defecto es automticamente puesto para cada


control
Click al botn Tab Order
Click en cualquier valor tab
Cambiar el valor del tab
Click al botn Tab Order otra vez y grabar los valores del tab

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Navegacin del Usuario usando el Tab Order

1 - 56

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 28
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Alineando y Dimensionando Controles

Usando el mouse:
1. Click al control
2. Apuntar a un lado o esquina y click
izquierdo del botn del mouse
3. Arrastrar al corner

Usando el Teclado:
1. Seleccionar el control
2. Presionar SHIFT una tecla flecla

1 - 57

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ordenando Mltiples Controles

Align controls
Space controls
Size controls

1 - 58

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 29
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Alineando Controles
1. Seleccionar el control para alinear
2. Presionar y mantener la tecla CTRL y click a los controles que
se desea alinear con el primero.
3. Seleccionar Format>Align desde la barra de men.
o
1. Seleccionar el Layout dropdown toolbar en el PainterBar
2. Seleccionar la dimensin como se desea alinear a los controles.
3. PowerBuilder alinea todos los controles seleccionados con el
primero.

1 - 59

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades del Window


Window Title
Menu Name

Window type
Background
Color
Window Icon
1 - 60

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 30
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

MD3

Eventos Window

1 - 61

Los Eventos a nivel Window

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos a Nivel Control

1 - 62

Lista de Eventos para el Command Button

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 31
Derechos Reservados de TechEra e-Learning

Diapositiva 61
MD3

Notes for these

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

Resumen
Los Windows forman la interfaz entre el usuario y una aplicacin
PowerBuilder
Los Windows consisten de propiedades que definen la apariencia
del windows y su comportamiento
Los Windows tienen eventos como otros objetos PowerBuilder
El Tab Order controla la navegacin en el Window
Los Controles ubicados en el window tienen sus respectivos
eventos y propiedades

1 - 63

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Laboratorio 2

1 - 64

Lab 2-1: Creacin de la clase window para la Aplicacin

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 32
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
Indicar que tipo de window se debera usar para lograr el
comportamiento.
a. Autnomo; opera independientemente de los otros windows
b. Activado hasta ser cerrado; application modal

T/F: se puede modificar las propiedades de solo un control en un


window en un momento.
Qu es el tab order y porque es importante?
Puede el tab order forzar el orden de ingreso de datos?
Qu es un tab order en 0?

1 - 65

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 3: Programando con


PowerScript

1 - 33
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Cuando se usa una sentencia CASE?
2. Qu es una variable local? Una variable global?
3. Qu es una funcin? Cules son las partes de una funcin
(signature)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 67

Objetivos
Al finalizar est mdulo, ser capaz de:
Declarar las variables con el alcance apropiado
z Modificar a travs de programa las propiedades de objetos
z Llamar mtodos del objeto
z Usar pronombres en lugar de las referencias hard-coded a los
objetos
z Usar los argumentos en un script de un evento
z Poner los breakpoints y examinar lo datos en el debugger
z

1 - 68

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 34
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Construyendo los Objetos de Interfaz


[Anterior Mdulo]
Crear
Windows

1 - 69

[Anterior Mdulo]

[Este Mdulo]
Escribir el
comportamiento
del Window

Ubicar Controles
en Windows

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Qu es un Script?

Un Script es un conjunto de instrucciones para un evento


Clicked para cb_close
Close(w_win)
Close(w_win)

1 - 70

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 35
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de Declaraciones en Scripts


Declaracin de Variable
Llamada a funciones
Las declaraciones de asignacin
Sentencias Flow-of-control
Sentencias SQL Embedded

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 71

Comentarios

Comentarios
z

Comentarios Single-line
// declaracin de variable Local
dec {2} ldc_Rate // Rate for salaries

Comentarios Multiline
/* Script para el evento clicked del command button
"Raise" */

1 - 72

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 36
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Continuacin de Lnea
Ampersand (&)
Debe ser el ltimo caracter en la lnea para ser continuado
Ejemplo:
IF Employee_District = "Eastern United States y "&
+" Eastern Canada" THEN ...
No puede dividir el nombre de una variable
No existe caracter de continuacin en sentencias SQL embedded

Sentencias SQL inician con un verbo SQL y finaliza con un punto y


coma (;)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 73

Identificadores PowerScript (Nombres)

Un identificador:
Debe iniciar con una letra, underscore (_), signo de dlar ($), signo
de porcentaje (%), o signo de nmero (#)
z Puede contener de 1 a 40 caracteres
z No puede contener espacios
z No puede ser una palabra clave en PowerScript
z No es case sensitive
z

Identificadores Vlidos

1 - 74

ABC_Code

Identificadores
Invlidos
2nd-quantity

pay-before%deductions$
response35

ABC Code
Child'sId

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 37
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejemplos de Key Words de PowerBuilder


AND
NOT
UNTIL
THEN
LOOP

1 - 75

IF
ELSE
DO
OR
WHILE

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tipos de datos Standard


Blob
Boolean
Char
Date
DateTime
Double
Decimal

Integer
Long
Real
String
Time
Unsigned integer
Unsigned long

1 - 76

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 38
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de datos Enumerated


Tiene un conjunto fijos de valores definidos por PowerBuilder
Usos:

Como argumentos en funciones


z Para especificar los valores de propiedades de un objeto
z

Siempre es finalizado con signo de exclamacin (!)


Nunca es cerrado en comillas
No son case-sensitive

1 - 77

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejemplo de Tipos Enumerated

1 - 78

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 39
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejemplo de Tipos Enumerated

Propiedades
Enumerated
Tipos
Enumerated
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 79

Variables
Una ubicacin de almacenamiento nombrado que puede contener
datos que son modificados durante la ejecucin de un programa
Los valores pueden ser:

Ingresados por el usuario


z Calculados por la aplicacin
z Recuperados desde la base de datos
z

1 - 80

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 40
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Declarando Variables
Setencia de Declaracin
Asignando un nombre y un tipo de dato
Se puede declarar:

Una sola variable: integer li_return_code


Mltiples variables: long ll_x,ll_y,ll_z
Una variable decimal: decimal {2} ldc_balance

1 - 81

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El alcance de las Variables


Local
Instance

Shared

Global

1 - 82

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 41
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Variables Locales
Integer
Integer li_count
li_count
Alcance
de una
variable
local

1 - 83

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Variables de Instancia

ii_patient_id=10014
ii_patient_id=10014

ii_patient_id=10012
ii_patient_id=10012

1 - 84

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 42
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Variables Shared
Evento Open: si_open++
Evento Open: si_open++

si_open
si_open == 22
1 - 85

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Variable Global
MD4

Global variable (X)

Script
Script 11

1 - 86

Script
Script 22

Script
Script 33

Script
Script 44 Script
Script 55

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 43
Derechos Reservados de TechEra e-Learning

Diapositiva 86
MD4

Example of variable

Mahesh Dixit, 06/05/2003

1: Introduccin al IDE de PowerBuilder

Programando las Estructuras


Expresiones
Flujo de Control
Las asignaciones

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 87

Expresiones
Una expresin es cualquier combinacin de variables, valores
literales o llamada de funciones
Los componentes son separados por operadores que son
evaluados en tiempo de ejecucin
Use las expresiones:

En sentencias de asignamiento
z En sentencias de flujo de control
z Como argumentos en llamadas de la funcin
z

1 - 88

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 44
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Flujo de Control

Condicin
evaluada

If li_Pos > 1 Then


sentencia
End if

false

true

sentencia

Proceso de
Sistema
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 89

Asignamientos
Asigna valores a las variables o propiedades de objetos o
referencias de objetos de variables
Sintaxis

variablename = expresin

Para asignar un valor a una variable en cualquier parte de un


script, use el signo igual (=)
z

Ejemplo :

1 - 90

Nombrecompania = Blue Cross"


taxRate = .08

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 45
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de Datos Modelo


date ld_my_date
IF IsDate(sle_start_date.Text) THEN
ld_my_date = Date(sle_start_date.Text)
Convierte el Dato
ELSE
a Tipo Date
MessageBox("Error", Esta fecha es invalida: " &
+ sle_start_date.Text)
END IF

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 91

Sentencias CHOOSE CASE


La ejecucin de programa directo basado en el valor de una
expresin de prueba
Tipos de expresiones

Un solo valor
z Rango de valores
z Lista de valores
z Relacional
z Combinacin de esos
z

1 - 92

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 46
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sentencias CHOOSE CASE


int li_referral_count
CHOOSE CASE li_referral_count
CASE IS <=3 . . .
CASE 4 . . .
CASE 5 . . .
CASE 6 TO 10 . . .
CASE 11, 12, 13, 14 . . .
CASE ELSE
END CHOOSE

1 - 93

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Looping Constructs
For .. Next
For .. Next .. Step
Do Until
Do While
Do Loop Until
Do Loop While

1 - 94

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 47
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sintaxis de Sentencias Pasting


1.
2.
3.
4.

1 - 95

Posicione el cursor
Click al botn Paste Statement
Click a la sentencia
Click OK

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Trabajando con Objetos

Qu es un Objeto?

Window

Menu
DataWindow

Button

1 - 96

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 48
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con Objetos


Notacin de punto para acceder a las Propiedades
Object_Name.Property=value
Notacin de punto para acceder a los Mtodos del Objeto

Object_name.function_name(argument1, ..)
W_window.Title=My Window
cb_print.Text=Print
cb_close.text=Close

1 - 97

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objeto Browser
Muestra informacin sobre los objetos de sistema y objetos en su
aplicacin, como propiedades, eventos, funciones y variables
globales.
Te permite abrir el objeto en el painter, obtener ayuda contextsensitive, copiar, exportar, o imprimir informacin.

1 - 98

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 49
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objeto Browser

1 - 99

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedad Pasting y Sintaxis de Funcin


1.
2.

3.
4.

5.

1 - 100

Active el Browser
Click a un tab para
seleccionar el tipo de
objeto
Click a un objeto para
mostrar su contenido
Click derecho a un
objeto y seleccionar
Copy
Click en el cdigo y
pegar

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 50
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Pronombres
Los pronombres PowerScript permiten referencias generales a un
objeto o control
Las referencias Objeto son correctas siempre si el nombre del
objeto o control cambia
Los pronombres PowerBuilder :

this
z Parent
z Super
z

1 - 101

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Pronombre this

this.x
this.x==this.x
this.x++ 500
500

1 - 102

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 51
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Pronombre Parent

Close(Parent)
Close(Parent)

1 - 103

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Pronombre Super

Super::EVENT
Super::EVENTClicked()
Clicked()

Click
Clickscript
script

1 - 104

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 52
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones Globales
No son asociados con cualquier objeto en particular y son pblicos
Pueden ser llamados desde cualquier parte dentro de la
aplicacin.
Puede ser cdigo PowerScript o cdigo C

1 - 105

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Funciones PowerScript Predefinidas


Open( )
MessageBox( )
Timer( )
Integer( )
String( )

1 - 106

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 53
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funcin PowerScript MessageBox


Muestra un Messagebox de sistema, con el ttulo, texto, icono, y
botones que se especifique.
Sintaxis

MessageBox ( title, text {, icon {, button {, default } } } )

1 - 107

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Declarando Funciones Globales


Function Name

Return Type

Arguments
Script

1 - 108

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 54
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones de Objeto y el Alcance

La funcin a nivel Objeto puede ser definido para un window,


menu y user object. Son diferentes a funciones globales, Las
funciones a nivel objeto pueden ser definidos con niveles de
acceso public, private, o protected

1 - 109

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Funciones de Objeto y Alcance


Funciones Public: pueden ser llamadas desde cualquier parte
dentro de la aplicacin
Funciones Private: pueden solo ser llamadas desde los eventos
definidos en el mismo objeto como la funcin. Las funciones
Private no pueden ser llamados desde descendientes del objeto
Funciones Protected: trabaja de modo similar como las funciones
private, con la excepcin de que ellos pueden ser llamados desde
los descendientes del objeto para la funcin que fue definida

1 - 110

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 55
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Declarando Funciones a Nivel Objeto

1 - 111

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Declarando Funciones a Nivel Objeto

1 - 112

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 56
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos y Argumentos Predefinidos


PowerBuilder opera dentro de un modelo manejado por eventos.
Eventos de sistema predefinidos son creado en todos los objetos
Cada Objeto PowerBuilder tiene sus propios eventos de sistema
predefinidos

1 - 113

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos y Argumentos Predefinidos

Eventos de Sistema
Predefinidos del List Box
constructor
deconstructor
rbuttondown
Etc.

1 - 114

Eventos de Sistema Predefinidos


del Radio Button
constructor
deconstructor
clicked
Etc.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 57
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos y Argumentos Predefinidos

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 115

Creando Eventos User-Defined

Los eventos User-defined tienen un ID


Argumentos predefinidos
z No puede ser cambiado
z

Eventos User-defined que no tienen un ID


z

Tienen que definir argumentos y valores de retorno

Sintaxis de valor de Retorno:


RC=SLE_1.EVENT UE_TESTEVENT(<arg1,<arg2>,.>)

1 - 116

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 58
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos direccionados a un ID

Ejemplo:
z

1 - 117

No hay un evento
predefinido para detectar
la tecla enter. Sin
embargo, hay un event-id
asociado con la tecla
enter:
pbm-dwnprocessenter

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos Unmapped
Deja el Event ID en (none)
Uno o ms argumentos pueden ser especificados
El retorno de tipo de dato puede ser escogido
Puede activar exceptions
Throw Exception

Event ID left (None)

1 - 118

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 59
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Llamando Eventos de Usuario


Use la funcin TriggerEvent()
z

Sncrono

Use la funcin PostEvent()


z Asncrono
El TriggerEvent y PostEvent toman el argumento string.
Se debe tener cuidado al evaluar el string para validar el evento. Si
un nombre de evento es mal deletreado, por ejemplo, no existe
error de compilacin
z Se puede pasar una variable de tipo string a estas funciones o
hardcode al nombre del evento
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 119

TriggerEvent
Dispara un evento asociado con el objeto especificado
Sintaxis:

Rc=objectname.TriggerEvent(event)

Valores de Retorno:
1 El Evento existe y existe un script para l
z -1 Evento no vlido para ObjectName o no hay script para el evento
en el ObjectName
z

1 - 120

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 60
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PostEvent
Adiciona un evento al final de la cola del evento para el objeto
Sintaxis:

Rc=Objectname.PostEvent(event)

Valores de Retorno:
TRUE Existe un evento con un script
z FALSE Evento no vlido para el objeto, o no hay un script para el
evento
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 121

Opciones de Programa

Durante el desarrollo, un window puede probarse sin ejecutar la


aplicacin completa.
Algunas de las funciones que pueden realizar durante este modo:
z
z
z

1 - 122

Disparar eventos
Abrir otros windows
Conectarse a la base de datos

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 61
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Opciones de Programa

Para Ejecutar un Window Preview


z

Seleccionar File -> Run/Preview

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 123

Compilando un Script

Haga cualquiera de lo siguiente


para compilar un script:
Click al botn Compile
z Presionar CTRL+L
z Seleccionar Edit | Compile
Script
z

1 - 124

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 62
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Corrigiendo Errores de Codificacin


Mostrar errores
Encontrar la lnea de error
Tipos de mensajes:

Errors
z Warnings
z Obsolete
z Information
z

1 - 125

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Solucionando Problemas con el Debugger


1. Abrir el debugger
2. Poner los breakpoints en el lugar de la aplicacin donde se tiene
el problema
3. Ejecutar la aplicacin en el modo debug
4. Cuando la ejecucin es suspendida en el breakpoint, mirar los
valores de las variables, examinar las propiedades de los
objetos en memoria y llame al stack, o cambie los valores de las
variables

1 - 126

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 63
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Solucionando Problemas con el Debugger


5. Camine a travs de la lnea de cdigo por lnea
6. Como sea necesario, adicionar o modificar breakpoints cuando
ejecute la aplicacin
7. Cuando se descubre un problema, solucione el cdigo y ejecute
el depurador otra vez

1 - 127

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Debugger

Solucionando Problemas
Debug

Objetos y
funciones

Start
Debug

Break
Point

1 - 128

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 64
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen

Un script define el proceso que toma el lugar cuando ocurre un evento


Los Scripts son escritos en el lenguaje PowerScript
Las Variables son identificadores para almacenar ubicaciones y alojar valores
Las Variables deben ser declaradas antes de que sean referenciadas
Se puede especificar un valor inicial para una variable
Las variables Locales son definidas dentro de un script en particular
Las variables a menudo son combinadas con operadores para expresiones
de formularios
Una expresin es evaluada en tiempo de ejecucin

1 - 129

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Una sentencia de asignamiento ubica un valor en una ubicacin de
almacenamiento en particular.
Use estructuras IF...THEN...ELSE y CHOOSE CASE para
procesos condicionales
Las funciones son llamadas especificando sus nombres y lista de
argumentos.
Use el painter PowerScript para codificar y compilar scripts

1 - 130

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 65
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 3

Lab 3-1: Creacin de la ventana de Operacin, para realizar


clculos

1 - 131

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 4: Usando Menus

1 - 66
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Crear un men con cascading menuitems, accelerator keys y
toolbar items
Crear mens descendientes que implementan correctamente los
estndares GUI
Asociar un men con un window
Abrir y cerrar windows desde un men
Reconozca el pronombre apropiado para usar cuando se
comunican un men y un window
Llamar eventos o funciones en un window desde un script
menuitem

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 133

Los Elementos Bsicos de un Men


Los mens son usados como interfaz estndar entre el usuario y
la aplicacin
Items de Menu

Proporciona acceso a ciertas tareas


z Tiene propiedades y eventos
z

Dropdown menu
Barra de Men
Painter del Menu
La definicin es almacenada en una PBL

1 - 134

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 67
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Elementos Bsicos de un Men

Las propiedades del Men determinan:


Mostrar el Style del men
z Shortcut keys, accelerator keys, lneas separadoras etc.
z

Objetos de Men

Items de Menu

1 - 135

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mostrar el Men

Pop Up
Menu

Cascading
Menu
Drop
Down Menu

1 - 136

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 68
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Men Dropdown

1 - 137

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Men Cascading

1 - 138

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 69
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Men Popup

1 - 139

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Estilos de Men
Shortcuts y accelerator keys
Lneas Separadoras
Ellipses
Checkmarks
Toolbars

1 - 140

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 70
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Estilos de Men

Tecla Shortcut
Una sola tecla o
combinacin de teclas
z El item de Men no
tiene que ser visible
z

Accelerator
Key

Tecla Accelerator
Caracter Underlined en
el nombre del item de
men
z El item de men debe
ser visible en el desktop
z

Shortcut Key
1 - 141

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un Nuevo Objeto Men

Click en File
Click en New
Seleccionar PB Object
Seleccionar Menu

PB Object
Seleccionado

Menu Object
Seleccionado

1 - 142

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 71
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Familiarizndose con el Painter del Men

Preview
View
Properties
View
Script
View

1 - 143

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Poblando un Men

Seleccionar esta opcin


para insertar un menuitem

Click en Insert

Seleccionar esta opcin


Para insertar un menuitem al final
Seleccionar esta opcin
Para insertar un Submenu
menuitem

1 - 144

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 72
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades de Men
Propiedad
Name

Datatype
String

Text
MicroHelp

String
String

Tag

String

1 - 145

Descripcin
Este es el nombre del objeto usado en el script
para referenciar al objeto.
Este es el texto mostrado durante el runtime.
Este es el mismo como el tool tip. Esto es
mostrado siempre que el mouse est sobre el
objeto y es mostrado durante runtime.
Este puede almacenar cualquier texto que se
desea asociar con el objeto.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades de Men
Propiedad
Datatype
Visible
Boolean

Descripcin
Esta propiedad es usado para hacer visible al
men. Esto puede ser puesto durante el diseo y
puede ser modificado en tiempo de ejecucin.

Enabled

Boolean

Checked

Boolean

Esta propiedad se usa para hacer enabled al


men. Esto puede ser durante el tiempo de diseo
y puede ser modificado durante el tiempo de
ejecucin.
Esta propiedad especifica si el objeto es
seleccionado. El estado de la propiedad checked
es reflejado en el botn del toolbar.

1 - 146

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 73
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades de Men
Propiedad
Default

Datatype
Boolean

ShiftToRight

Boolean

ShortcutKey

Integer

1 - 147

Descripcin
Esta propiedad se usa para ser un objeto men
predefinido.
Esta propiedad le permite a uno insertar un
menuitem entre el menuitem heredado.
Esta propiedad puede ser puesta solo en
tiempo de diseo y no es disponible en tiempo
de ejecucin. Esto le permite al usuario
acceder a cualquier item del men con el Altkey.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades Toolbar de Men


Propiedad
ToolbarItemText

Datatype
String

ToolbarItemName

String

ToolbarItemDownName

String

1 - 148

Uso
El texto asociado con el item del
toolbar.
Nombre de los bitmap del item
del toolbar o pictures por defecto.
Nombre del bitmap del toolbar
referenciado cuando el toolbar es
down.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 74
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades del Toolbar de Men


Propiedad
ToolbarItemDown

Datatype
Boolean

Uso
Crea indentacin 3-D para mostrar el
item que es presionado.

ToolbarItemVisible

Boolean

ToolbarItemSpace

Integer

ToolbarItemOrder

Integer

Pone el item del toolbar a visible o


invisible.
Un integer de la cantidad de espacio
delante del item del toolbar (en PB
units).
El nmero de item dentro del toolbar
(0 99).

1 - 149

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades del Toolbar de Men


Propiedad
ToolbarItemBarIndex

Datatype
Integer

Columns

Integer

1 - 150

Uso
Especifica el nmero del toolbar en
donde se desea que el botn del
toolbar aparezca.
Indica el nmero de columnas que
se desea mostrar en el toolbar
cascading

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 75
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones de Men
Function
Check

Return
Datatype
Integer

Uncheck

Integer

Disable

Integer

Enable

Integer

Descripcin
Muestra una marca check al lado del objeto Men
y hace la propiedad Checked TRUE.
Remueve la marca ckeck al lado del objeto Men
y hace la propiedad Checked FALSE.
Desactiva el objeto Men y hace la propiedad
Enabled FALSE.
Activa el objeto Men y hace la propiedad
Enabled TRUE.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 151

Funciones de Men
Function
GetParent

Return
Datatype
PowerObject

Hide

Integer

Show
PopMenu

Integer
Integer

Muestra el objeto men.


Muestra el objeto men en la ubicacin
especificada.

TriggerEvent

Integer

Dispara una evento especificado en el


objeto Men y ejecuta el script para el
evento.

1 - 152

Descripcin
Retorna una referencia al nombre del
objeto padre.
Oculta el objeto men.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 76
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos de Men
Evento
Clicked
Selected

Help

1 - 153

Descripcin
Este evento es disparado cuando el usuario hace click en el
objeto men
Este evento es disparado al seleccionar el objeto men (un
objeto men es seleccionado cuando el usuario mueve el foco al
objeto men usando el keyboard o un mouse)
Este evento es disparado presionando la tecla F1 arrastrando
el botn de ayuda (question mark) desde la barra de ttulo a un
item de men.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando MenuItem Cascading

Click Add a menuitem


Ir a Property View y seleccionar
Object Type como MenuCascade
Seleccionar el image para el
menuitem en ToolbaritemName
Seleccionar el image para el
menuitem en
ToolbaritemdownName
Ingresar el texto para el menuitem
en ToolbaritemText

Imagen para
El Men

Men
Cascade
1 - 154

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 77
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Men Descendiente


Click en File
Click en Inherit
Seleccionar el objeto men ancestro desde donde se desea
heredar

1 - 155

Cuando se usa herencia para construir un men, todo el men


ancestro es heredado en todos sus descendientes

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Manipulaciones Vlidas en el Men Descendiente


Los items de Men pueden ser adicionados al final del men
Inserte los items de men en un men ancestro (con algunas
restricciones)
Modificar items de men ancestro
Construir scripts para items de men que no tienen scripts en el
men ancestro
Extender o sustituir scripts heredados
Declarar funciones, estructuras, y variables para el men

1 - 156

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 78
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Restricciones en el Men Descendiente


El orden de los items del men ancestro no pueden cambiarse
Un item de men ancestro no puede ser borrado.
Insertando items de men entre items de men ancestro que no
tienen la propiedad ShiftToRight puesta en TRUE no es permitido
El nombre del item de men ancestro no puede ser cambiado
El tipo de item de men ancestro no puede ser cambiado

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 157

Scripting

El Script para el men debe ser escrito en el view script. El view


script puede ser abierto haciendo:
Doble click en el item de men
z Click derecho en el item de men y entonces seleccionar la opcin
de script
z

El Script adiciona funcionalidad al men


El Script define un grupo de acciones para realizar cuando el
usuario selecciona un item de men

1 - 158

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 79
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejemplo de codificacin de Men

Ejemplo 1: Abriendo un window a travs del Men:


open(w_window_name)

Ejemplo 2: Cerrando un window a travs del Men:


close(ParentWindow)

Ejemplo 3: disparando un evento de window:


ParentWindow.TriggerEvent(ue_userevent_name)

1 - 159

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Asociando el Men a un Window usando el


Painter Window

Accesar al painter del window


Abrir el window
Mostrar las propiedades de sheet
del Window
Ingresar o buscar el nombre del
men

Esto asocia un men a un window

1 - 160

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 80
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Asociando un Men a un Window a travs de


PowerScript

Un men puede ser asociado a un window en tiempo de ejecucin


usando la funcin PowerScript ChangeMenu()
z

Sintaxis: windowname.ChangeMenu ( menuname {,position } )

Ejemplo:
w_cliente.ChangeMenu(m_main)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 161

Refirindose al Window
Un men puede ser asociado con uno o ms windows
Tres maneras para referenciar un window:

Referenciar al nombre del window directamente


z Referenciar al window usando la propiedad ParentWindow
z Referenciar al window usando una funcin PowerScript
z

Mientras hay muchas ms maneras para referenciar a un window desde un


men, ellos no son iguales! El uso de una tcnica inapropiada puede
afectar la reusabilidad!

1 - 162

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 81
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Referenciando al Window Directamente

Control y/o su propiedad debe calificarse totalmente


window_reference.control_name.Property = Value

El men solo til para ese window


<ref_to_w_custdata_instance>.of_insert( )

Este mtodo, mientras tcnicamente es correcto, puede llevar a los problemas


en la reusabilidad! Este mtodo no es recomendado y es solo incluido aqui
para la integridad

1 - 163

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Referenciando al Window con la Propiedad


ParentWindow
Close(ParentWindow)

Close(ParentWindow)

ParentWindow.ArrangeSheets(Tile!)

1 - 164

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 82
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Restricciones ParentWindow
w_custdata.of_print( )

Directamente referenciar al window afecta la reusabilidad de este men. Esto no


es recomendado.
ParentWindow.of_print( )
z

Esto no trabajar. Por qu? Qu es el tipo de dato ParentWindow? : Use el


browser.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 165

Men de Contexto

Los men de contexto no son nada ms que los men Popup. Los
Mens Popup pueden ser invocados desde un item de men en
una barra de men o si un usuario selecciona objetos o texto
dentro del rea de trabajo y hace click al botn derecho del
mouse.
z

Ejemplo : esto muestra el men popup m_file cuando el usuario


hace click dentro de un single line edit usando el botn derecho del
mouse:
m_stdmnu.m_file.PopMenu(xpos, ypos)

1 - 166

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 83
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Men de Control

El Men Control o men de sistema es un ejemplo de men Popup


Los comandos por defecto dentro de un men de control incluyen:
z
z
z
z
z
z

Restore
Move
Size
Minimize
Maximize
Close

Todos los tipos de window PowerBuilder pueden ser asociados con el men
de Control excepto los window tipo Response

1 - 167

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Los mens son usados como interfaz estndar entre el usuario y la
aplicacin
La definicin es almacenada en una PBL
El Script para el men debe ser escrito en el view script
Un men puede ser asociado a un window en tiempo de ejecucin
usando la funcin PowerScript ChangeMenu()

1 - 168

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 84
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 4
4-1: Creacin del Objeto Men Base de la Aplicacin
4-2: Creacin de las Subclases del Objeto Men
m_ancestro

Heredar!
m_main

Heredar!

m_preliminar

m_sheet
1 - 169

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 5: Programacin Orientada a


Objetos en PowerBuilder

1 - 85
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Cules son las caractersticas de un lenguaje orientado a
Objetos?
2. En qu Lenguajes ha programado previamente?
3. Qu es una clase?

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 171

Objetivos

Al finalizar este mdulo, ser capaz de:


Crear una jerarqua de clases window
z Crear una jerarqua de clases visuales (i.e. command button,
multiline-edit, etc)
z Dar un ejemplo de polimorfismo usando una jerarqua de clase
window
z Mostrar una jerarqua en el Objeto Browser
z

1 - 172

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 86
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Orientacin a Objeto
Cules son las caractersticas de un lenguaje orientado a Objetos?
Un lenguaje OO tiene herencia, polimorfismo y capacidades de
encapsulacin

1 - 173

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Herencia
Los objetos pueden ser derivados de los objetos existentes, con
acceso a sus componentes visuales, datos y cdigo
La herencia ahorra tiempo de codificacin, maximiza el reuso de
cdigo, y refuerza la consistencia

1 - 174

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 87
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Herencia Bsica
A
B
C

1 - 175

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Herencia en Objetos
Reusa la funcionalidad
La funcionalidad puede ser definida para objetos ancestros y ser
heredado por sus descendientes

1 - 176

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 88
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Heredando un Window

1 - 177

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Heredando un Window

Window Ancestro

Window Title
Employee Data

of_getfile()
(List Employee
files)
Drop_down
List

1 - 178

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 89
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Heredando un Window

Window Descendiente
Drop-down list

Title Customer Data


(Overridden property)
of_getfile()
(List customer files)
(Overridden
method)
Delete Button
(Overridden
Control)
1 - 179

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Variables de Instancia en Descendientes

Variable de
Instancia

1 - 180

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 90
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Qu puede heredarse en PowerBuilder?

Visual
Windows
z Controls - Custom Visual
z Menus
z

Non-Visual
System Objects - Standard Class
z User-defined objects - Custom Class
z

1 - 181

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Que no puede ser heredado en PowerBuilder


Applications
Objetos Datawindow
Funciones Global
Structures

1 - 182

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 91
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Crear un Descendiente

Objeto Ancestro

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 183

Heredando el Objeto Menu


Menu Ancestro

Menu Descendiente

Menu
Items

Overridden
Sub Menu
Items

Sub
Menu
Items

1 - 184

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 92
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ventajas de Usar Herencia


Reusabilidad de Cdigo
Compartir Cdigo
La consistencia de la interfaz
Mantenimiento de Cdigo

1 - 185

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Qu es una clase Base?

Contiene un conjunto de atributos y comportamientos reusables


por los objetos descendientes
Clase Base

1 - 186

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 93
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Clase Base

Window Ancestro (w_anc_policy)


Drop
Down List Box for Policy
Type
Command Buttons

1 - 187

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Heredando Windows

1 - 188

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 94
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Heredando Windows

Window Descendiente (w_policy_hospital )

1 - 189

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Heredando Windows

w_policy_vision

1 - 190

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 95
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Viendo la Jerarqua de Clases

1 - 191

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Las Clases de lo Abstracto


Los Objetos que son usados solo como ancestros
Nunca es fsicamente instanciado
Son usados puramente como repositorios para almacenar los
mtodos y propiedades comunes de sus clases descendientes
Previene la duplicacin de las propiedades y mtodos entre los
mltiples objetos

1 - 192

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 96
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

La Clase Concreto
Son clases de objetos que son fsicamente instanciados
Heredarn todas las propiedades y mtodos comunes de una
clase ancestro
Enve su propia funcionalidad y propiedades adicionales encima
de lo que recibe de su ancestro

1 - 193

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Standard Visual User Object

1 - 194

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 97
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Seleccionando el Tipo de Objeto Visual

Seleccione un Tipo
Standard para subclase

1 - 195

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Subclase de un DataWindow

1 - 196

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 98
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Heredando un Objeto Visual

1 - 197

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades en el Descendiente

El nuevo objeto heredado contiene todos los atributos del objeto


padre u_anc_dw.

1 - 198

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 99
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos en el Descendiente

El usuario define el evento ue_delete() que tambin es heredado


desde el ancestro

1 - 199

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Sustituir los Atributos Heredados

1 - 200

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 100
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Polimorfismo
Funciones con el mismo nombre tienen diferente comportamiento
dependiendo del objeto referenciado
Tipos de Polimorfismo:

Polimorfismo Operacional
z Polimorfismo de Inclusin
z

1 - 201

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Polimorfismo Operacional
Objetos no relacionados definen funciones con el mismo nombre
Cada funcin realiza los procesos apropiados para su tipo de
objeto:

Los dos objetos contienen una funcin of_GetParentWindow

u_em
of_GetParentWindow()

1 - 202

u_mle
of_GetParentWindow()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 101
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Polimorfismo Inclusional
Varios objetos en una cadena de herencia definen funciones con
el mismo nombre pero diferentes argumentos
PowerBuilder determina que versin de una funcin para ejecutar,
basado en donde el objeto concurrente encaja en la jerarqua de
herencia

u_sort()
of_sort()

Esta funcin Sustituye


u_sort.of_sort()

u_sort_dw
of_sort()
1 - 203

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Function Overloading

En funcin overloading, la funcin descendiente (o una funcin identicamente


nombrada en el mismo objeto) tiene diferentes argumentos o tipos de datos.
PowerBuilder determina que versin de una funcin ejecutar, basado en los
argumentos y tipos de datos de argumentos especificados en la funcin
llamada:

U_sort
of_sort
u_sort_dw
of_sort()
of_sort(integer)
of_soft(string)
1 - 204

PowerBuilder
Ejecuta la funcin apropiada
Basado en el nmero de parmetros
pasados y sus tipos de datos

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 102
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Function Overriding

Una funcin en un objeto descendiente que reemplaza a una


funcin del mismo nombre en su objeto ancestro. Las dos
funciones tienen la misma lista de argumentos
u_sort_dw
of_sort(integer)

Esta funcin sustituye


el mismo u_sort.of_sort con
la misma lista de argumentos

u_descendent_sort_dw
of_sort(integer)

1 - 205

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Encapsulacin
Un objeto contiene sus propios datos y cdigo, permitiendo el
acceso apropiado; este principio tambin es llamado ocultacin de
informacin
La Encapsulacin permite aislar los datos del objeto, mientras
restringe el acceso declarando variables de instancia como
privadas o protegidas

1 - 206

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 103
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Encapsulacin

Un acercamiento al proceso de encapsulacin es como sigue:

Define variables de instancia como pblicas, privadas o protegidas,

dependiendo del grado deseado de acceso externo. Para asegurar


la encapsulacin completa, definir variables de instancias como
privadas o protegidas
Definir las funciones de objetos para realizar los procesos y proveer
acceso a los datos del objeto

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 207

Encapsulacin

Otro acercamiento al proceso de encapsulacin y datos es para


proporcionar un solo punto de entrada, donde el desarrollador
especifica la accin para ser realizada:
Define variables de instancia como privadas o protegidas,
dependiendo del grado deseado para el acceso externo
z Define funciones de objetos privada o protegidas para realizar los
procesos
z Define una sola funcin pblica cuyos argumentos indican el tipo de
procesamiento a realizar
z

1 - 208

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 104
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Alcance de Variables

Global
z

Shared
z

Pertenece a una definicin de un objeto y existe entre todas las instancias de


objetos. Las variables Shared retienen su valor cuando un objeto es cerrado y
abierto otra vez

Instance
z

Accesible en cualquier parte de la Aplicacin. Es independiente de cualquier


definicin del objeto

Pertene a un objeto y es asociado con una instancia del objeto, las variables de
instancia tienen acceso a nivel del objeto por todos los eventos. Pueden
pertener a un objeto application, un window, o un user object o un men

Local
z

1 - 209

Es accesibe solo en el script donde se define, cuando el script finaliza, la


variable constante deja de existir
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Nivel de Acceso
Public: Variables de Instancia y funciones pueden ser llamadas y
referenciadas por objetos y funciones externas de este objeto
Private: Variables de Instancia y funciones pueden solo ser
llamadas y referenciadas por los procesos dentro de este objeto
Protected: Objetos y procesos externos no pueden usar variables
y funciones protegidas, pero descendientes de esta clase tendrn
acceso a estos y ser disponibles para ser llamados y referenciados
cuando sean requeridos

1 - 210

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 105
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejecutando Funciones

1 - 211

Al llamar a una funcin, PowerBuilder busca hasta encontrar


una funcin y lo ejecuta al final de esto

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejecutando Funciones

Los nombres de la funcin inhbiles: si no se tiene calificado el


nombre de una funcin con un objeto, PowerBuilder busca para
la funcin y ejecuta el primero que es encontrado que encaja
con el nombre y argumentos. Busca para emparejar en el
siguiente orden:
1. Una funcin externa global
2. Una funcin global
3. Una funcin objeto y funcin externa local. Si el objeto es un
descendiente, PowerBuilder busca hacia arriba a travs de la
jerarqua para encontrar una pareja para la funcin prototipo
4. Una funcin de sistema

1 - 212

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 106
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Calificando Nombres de Funciones

Se puede calificar una funcin del objeto que usa una notacin
de punto para asegurarse que la funcin del objeto correcto es
encontrado dentro de la jerarqua
w_employee.of_process_list()
versus
this.of_process_list()

1 - 213

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Similitudes: Funciones y Eventos

Las funciones y eventos tienen argumentos y retornan valores


Se puede llamar a funciones de objetos y eventos
dinmicamente o estticamente
Se puede anunciar o disparar una funcin o llamar a un evento

1 - 214

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 107
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Diferencias: Funciones y Eventos


Las Funciones pueden ser globales o parte de una definicin de
objeto. Los Eventos son asociados solo con objetos
PowerBuilder usa rdenes de bsqueda diferentes cuando busca
evento y funciones
Una llamada a una funcin no definida envia un error. Una llamada
a un evento no definido no enva error
Las funciones a nivel Objeto puede ser recargadas. Los Eventos (y
funciones globales) no pueden cargarse excesivamente
Una funcin puede tener niveles de accesos restringidos mientras
que los eventos siempre son pblicos
1 - 215

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Encapsulacin es el concepto de empaquetar un conjunto de
atributos y comportamientos en un objeto
Polimorfismo es la habilidad de una funcin para comportarse
diferentemente, dependiendo del contexto donde es llamado
Herencia es el mecanismo que permite a un objeto obtener sus
atribustos desde otros objetos
Ejecutar Eventos y Funciones en PowerBuilder es basado en un
Search Order
Las Funciones pueden ser globales o parte de una definicin de
objeto
Los Eventos son asociados solo con objetos

1 - 216

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 108
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 5
5-1: Creacin de SubClases Windows
w_ancestro
(main)

Heredar!

w_mto
(main)

1 - 217

w_cab_det
(main)

w_buscar
(response)

w_preview
(main)

w_login
(response)

w_mdi
(mdi)

w_sheet
(main)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 6: Custom Classes User Object


Non-Visual

1 - 109
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Describe la herencia en PowerBuilder (se puede usar un window
como ejemplo)
2. Usando el ejemplo anterior, dar un ejemplo de polimorfismo
3. Describe la ocultacin de informacin

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 219

Objetivos
Al finalizar este mdulo, ser capaz de:
Crear una jerarqua custom class
z Demostrar el polimorfismo dentro de la jerarqua
z Crear una instancia del custom class
z

1 - 220

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 110
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de User Object PowerBuilder

Las categoras de User Object PowerBuilder:


Standard Class
(Nonvisual)

Custom Class
(Visual)

Standard Class
(Visual)

Custom Class
(Nonvisual)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 221

Custom Class User Object (CCUO)

Qu es un Custom Class User Object?


Una clase PowerBuilder
z Tambin conocido como non-visual object (NVO)
z Permite que definas y encapsules propiedades y mtodos
personalizados (funciones y eventos)
z

1 - 222

Ejemplo:
patient_object

Class Name

patient_ID
patient_fname

Related Properties
(Variables de Instancia)

of_CheckStatus
ue_Retrieve

Methods
(Funciones y Eventos)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 111
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Custom Class User Object(CCUO)


1.
2.
3.
4.

Click al botn New


Seleccionar Object
Custom Class
Especificar cualquier variable de instancia
Declarar y escribir cualquier funcin o evento
(Custom class user objects tienen eventos constructor y
destructor)
5. Click al botn Save

1 - 223

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un CCUO en el Painter del User


Object

1 - 224

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 112
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Atributos y Mtodos en un CCUO


Mostrar las
Functions / Declare
New Functions
Declarar
variables

1 - 225

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Atributos en un CCUO
Variables de Instancia Public
Variables de Instancia Protected
Variables de Instancia Private

1 - 226

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 113
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Mtodos en un CCUO

Object Methods Inherited


Object Methods Overriden

Object Methods

1 - 227

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando una Jerarqua


1.
2.
3.
4.
5.
6.
7.

1 - 228

Click al botn Inherit en el PowerBar, o seleccionar File>Inherit desde la


barra de men
Seleccionar User Objects desde el Objects Type drop-down list
Seleccionar el target como la librera o libreras que se desea observar
Seleccionar el user object que se desea usar para crear el descendiente, y
click OK
El objeto seleccionado mostrado en el painter del User Object y el ttulo de
la barra indican que el objeto es un descendiente
Hacer cualquier cambio que se desea al user object
Grabar el user object con un nuevo nombre

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 114
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando una Jerarqua Continua


Seleccionar
Library
Para usar
User
Objects
Heredar desde
este Object

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 229

Polimorfismo: CCUO

Funciones:
z

Cuando las funciones son heredadas, se puede escoger,


sobrecargar o anular la definicin de la funcin.

Eventos:
z

1 - 230

Cuando los eventos son heredados, los scripts para estos eventos
son extendidos por defecto. Se puede escoger, extender o anular el
script.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 115
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Polimorfismo: CCUO ...Continuado


n_anc_coverage
n_anc_coverage
ld_amount
ld_amount == 00

of_getCoverage
of_getCoverage

n_premium_coverage
n_premium_coverage
ld_amount
ld_amount == adc_amount
adc_amount *.9
*.9

n_basic_coverage
n_basic_coverage
ld_amount
ld_amount == adc_amount
adc_amount *.7
*.7

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 231

Operaciones Vlidas: Objeto Descendiente

Se puede hacer lo siguiente en un user objet descendiente:


Cambiar los valores de las propiedades
z Crear scripts para eventos que no tienen scripts en el ancestro
z Extender o anular los scripts heredados
z Referenciar a las funciones y eventos del ancestro
z Referenciar a los structures del ancestro si el ancestro contiene
variables de intancia del tipo de dato structure
z Acceder a las propiedades del ancestro, como una variable de
instancia, si el alcance de la propiedad es pblica o protegida
z

1 - 232

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 116
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Instanciacin
La Instanciacin es el proceso de crear una instancia en tiempo de
ejecucin
Usa la sentencia PowerScript CREATE
La sentencia CREATE retorna una instancia de objeto que puede
ser almacenada en una variable del mismo tipo.

1 - 233

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando una Instancia en Tiempo de Ejecucin


Declare una variable del tipo CCUO
n_cst_patient inv_patient
Instancie al Objeto
inv_patient = CREATE n_cst_patient
Use el Objeto (llamar a mtodos, etc)
Destruir el objeto
n_cst_patient
DESTROY inv_patient

long il_patientid
string is_insurance_name
boolean ib_newros

inv_patient

1 - 234

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 117
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Autoinstantiation

Create y Destroy automticamente

1 - 235

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Accediendo a Mtodos y Atributos


inv_patient.is_insurance_name=Blue Cross
inv_patient.il_patientid = ll_id

Advertencia:
La manipulacin Directa de propiedades desde el cliente al custom class
Viola la encapsulacin.
En la Programacin OO, la manipulacin de propiedades debe ser realizada
Desde dentro del objeto

1 - 236

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 118
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Asignacin Objeto a Objeto Variables de Referencia


n_cst_patient lnv_temppatient
inv_patient = CREATE n_cst_patient
lnv_temppatient = inv_patient // both point to same instance
inv_patient.il_patientid = 201
// lnv_temppatient tambin cambia el valor patient id a 201
Pointer

lnv_temppatient

1 - 237

inv_patient
long il_patientid 201
201
string is_insurance_name
boolean ib_newrow

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Asignacin Propiedad a Propiedad

Valor copiado (este no es un indicador)


n_cst_patient inv_temppatient
inv_temppatient = CREATE n_cst_patient
inv_patient.il_patientid=201
inv_temppatient.il_patientid=inv_patient.il_patientid
inv_temppatient
201
long il_patientid 201
string is_insurance_name
boolean ib_newrow

1 - 238

inv_patient
201
long il_patientid 201
string is_insurance_name
boolean ib_newrow

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 119
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades Encapsuladas

La propiedad es declarada private o protected:


private long il_patient_id

Rutinas Get y Set son provedas para manipular las propiedades


of_getPatient_id( ) returns long
of_setPatient_id(al_id) returns long // retorna estatus

1 - 239

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Porqu Usar Rutinas Get / Set?


Puede controlar los efectos laterales
Puede validar la configuracin
Puede hacer al Get o Set private, protected o public para permitir
el acceso a las propiedades
Puede pensar en otras cosas?

1 - 240

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 120
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
Un custom class user object (CCUO) consiste de propiedades y
mtodos personalizados
Los CCUOs proporcionan una manera conveniente para referirse
a mltiples valores usando una sola referencia de variable
Los CCUOs son definidos usando el painter User Object
Las propiedades del CCUO no son referenciados con notacin
Un CCUO puede ser usado para pasar mltiples valores a
funciones con un solo argumento
Las propiedades en el custom class debe ser encapsulados para
prevenir la manipulacin de los clientes

1 - 241

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Preguntas

1 - 242

Qu es instanciacin?
Como debe instanciar un custom class nombrado n_invoice

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 121
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 6
Lab 6-1: creacin de Objetos User Object de la aplicacin

1 - 243

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 7: Trabajando con


Aplicaciones MDI

1 - 122
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Qu es un SDI (single document interface)? Dar algunos
ejemplos
2. Qu es un MDI (multiple document interface)? Dar algunos
ejemplos

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 245

Objetivos
Al finalizar este mdulo, ser capaz de:
Diferenciar entre frames y sheets
z Abrir un window sheet dentro de un frame
z Redimensionar un control DataWindow en un Sheet que es
realizado por el usuario
z

1 - 246

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 123
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Application MDI

Hay dos categoras bsicas de MDI para considerar:


Single Task
z Multiple Task
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 247

MDI Single Task

Los MDIs Single Task consisten de un window frame con mltiples


sheets
z

Ejemplo:

MS Excel
Document 1
Document 2
Document 3

1 - 248

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 124
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Multiple Task application


Multiple Task MDI applications consiste de un frame window
Muchas instancias diferentes de windows abiertas para realizar
diferentes tareas

1 - 249

Ejemplo:
PowerBuilder IDE

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Multiple Task application

1 - 250

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 125
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Componentes de un MDI
Title Bar
Menu bar
Toolbar

Client area
Status bar

1 - 251

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Toolbars
Toolbars con botones proporciona shortcut para escoger los items
del men
Un toolbar puede ser asociado con el MDI frame y con el sheet
activo

1 - 252

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 126
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Area del cliente


Ocupa todo el espacio libre desde el bottom de la barra de men o
toolbar al top del estado de la barra
Es donde los sheets abiertos aparecen
Tiene nombres por defecto para el rea del cliente: mdi_1, mdi_2,
mdi_n

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 253

Frame
El MDI frame es el area externa del window MDI que contiene el
rea del cliente
Hay dos tipos de MDI frames:

Standard

Custom

1 - 254

El rea del cliente contiene solo sheets abiertos


El rea del cliente contiene solo sheets abiertos como otros objetos,
como botones y StaticText

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 127
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sheets
Son windows abiertos dentro del frame
Representa mdulos o sub aplicaciones dentro de la aplicacin
Puede tener menu propio
Puede ser llamado usando cada funcin OpenSheet o
OpenSheetWithParm

1 - 255

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tipos de Window para MDI Applications


MDI frame
MDI frame with MicroHelp

1 - 256

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 128
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Construyendo un MDI frame window


PowerBuilder tiene un window por defecto de tipo Main
Select mdi! o mdihelp! En la propiedad General para cambiar el
window a un window MDI frame

1 - 257

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MDI Frame Windows


Habilita mltiples sheets para ser abiertos dentro del frame
Puede contener mltiples instancias del mismo tipo de window o
diferente
Permite al usuario hacer cualquier sheet activo

1 - 258

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 129
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

MDI Frame with MicroHelp


Muestra mensaje de ayuda en el estado de barra en el bottom del
frame
Puede mostrar el MicroHelp para un feedback con los usuarios

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 259

Abriendo Sheets

Los Sheets pueden ser abiertos usando cada funcin OpenSheet


o OpenSheetWithParm
z

Abre un sheet dentro de un MDI (multiple document interface) frame


window y crea un item de men para seleccionar el sheet en el
men especificado

1 - 260

Sintaxis
OpenSheet ( sheetrefvar {, windowtype }, mdiframe {, position
{, arrangeopen } } )

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 130
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Abriendo Sheets

OpenSheetWithParm:
Abre un sheet dentro de un MDI (multiple document interface) frame
window y crea un item de men para seleccionar el sheet en el
men especificado
z Tambin almacena un parmetro en el objeto de sistema Message
para que sea accesible al sheet abierto
z

1 - 261

Sintaxis
OpenSheetWithParm ( sheetrefvar, parameter {, windowtype },
mdiframe {, position {, arrangeopen } } )

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Activacin del Objeto


Todos los ingresos desde el teclado o mouse es direccionado
hacia una aplicacin en particular o window dentro de una
aplicacin
Solo una aplicacin puede ser activada en un tiempo en el desktop
El window activo es el window concurrente que recibe la entrada

1 - 262

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 131
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resizing Controles en un Sheet

Este trmino se refiere a darle tamao a los controles en el


Window
La mayora de los controles ubicados en un Window pueden ser
modificados en tamao.
z Procedimiento:
z

Arrastrando a travs de las reas permitidas


Resizing es permitido en ocho lugares en un control

1 - 263

Diagonal Stretching
(At four corners)
Horizontal Stretching
(On horizontal lines)
Vertical Stretching
(On vertical lines)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resizing Controles
Antes del
Resizing

Despus del Resizing

1 - 264

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 132
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Menus en un MDI Application


Un men es asociado con un frame y puede ser usado por todos
los sheets dentro del frame
Los sheets que aparecen dentro de un frame pueden tener su
propio men
Los sheets sin un men asociado usa el men del frame

1 - 265

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Menu en MDI Applications


Frame window
Men del Frame

Sheet window
Men del Sheet

1 - 266

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 133
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Asociando un Men con un window


1.
2.
3.
4.

Acceder al painter del Window


Abrir el window
Mostrar las propiedades del sheet window
Ingrese o busque el nombre del men

Menu Name

1 - 267

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
El MDI es un estilo de aplicacin usado para manejar mltiples
windows mains dentro de un solo window
Los componentes MDI incluyen el frame, barra de ttulo, barra de
men, rea del cliente, y barra de estado
El MDI frame windows puede ser definido con o sin MicroHelp
Los MDI frames siempre tienen asociado un menu
Los Sheets sin un men usan el men del frame

1 - 268

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 134
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 7

Lab 7-1: Creacin de la Aplicacin MDI

1 - 269

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 8: Comunicacin entre


Windows

1 - 135
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Abrir una hoja y pasar datos al nuevo sheet abierto
z El estado de la propiedad del Message es usado para especificar el
tipo de dato a ser pasado
z Acceder a los datos pasados desde el sheet receptor
z

1 - 271

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetos Message
Son objetos globales PowerBuilder predefinidos (similar a los
objetos Transaction SQLCA y Error)
Son usados en scripts para procesos de eventos Microsoft
Windows que no son eventos definidos en PowerBuilder

1 - 272

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 136
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetos Message : Funcionalidad

Los Objetos Message son usados para:


Comunicar los parmetros entre windows cuando son abiertos y
cerrados
z Pasar informacin a un evento si los parmetros opcionales son
usados en TriggerEvent o PostEvent
z

1 - 273

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetos Message
Puede personalizar el objeto global Message usado en una
aplicacin definiendo un standard class user object heredado
desde el objeto Message
En el user object, adicionar propiedades (variables de instancia) y
funciones
Las propiedades y funciones definidas por usuario puede ser
publicadas y pueden ser llamadas como sean requeridas en una
aplicacin

1 - 274

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 137
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades del Objeto Message


Propiedad
Handle

Datatype
Integer

Descripcin
Para manejar el window o control

Number

Integer

El nmero que identifica el evento

WordParm

UnsignedInt

El parmetro word para el evento

LongParm

Long

El parmetro long para el evento

1 - 275

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades del Objeto Message


Propiedad
DoubleParm
StringParm
PowerObjectParm

Datatype
Double
String
PowerObject

Processed

Boolean

1 - 276

Descripcin
Una variable numrica
Una variable string
Cualquier tipo de objeto
PowerBuilder
Un valor boolean puesto en el
script para el evento userdefined

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 138
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades del Objeto Message


Propiedad
ReturnValue

Datatype
Long

Descripcin
Cuando Message.Processed es
TRUE, especifica el valor que se
desea retornar a los Windows
Esta propiedad es ignorada cuando
Message.Processed es FALSE

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 277

Comunicando a los Sheets

Los Objetos Message pueden ser usados para comunicar


parmetros entre windows usando las siguientes funciones
PowerScript.
z
z
z

1 - 278

OpenWithParm
OpenSheetWithParm
CloseWithReturn

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 139
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

OpenSheetWithParm
Abre un Window y almacena el parmetro en el objeto Message
del sistema.
Ejemplo:

OpenSheetWithParm(w_patient, 10001") .
En el script del Evento Open de w_ patient se puede acceder a la
propiedad del objeto Message como se muestra abajo
String li_ patientid
li_ patientid = Message.StringParm

1 - 279

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Comunicando a los Sheets


CloseWithReturn
Sintaxis: CloseWithReturn ( windowname, returnvalue )

Ejemplo:
CloseWithReturn(Parent, li_status)

1 - 280

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 140
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Abriendo los Detalles del Paciente

OpenSheetWithParm(lw_patient, ii_patientid, w_frame)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 281

Abiendo los Detalles del Paciente los detalles


El usuario resalta el paciente seleccionado (Usando SelectRow)
El evento doubleclick es usado para abrir los detalles del paciente
seleccionado.

Evento Doubleclick tiene un argumento para la fila (Nota: si este


hubiera sido un evento de usuario: Use una funcin para obtener la
fila)
z Obtener la columna patient id usando las funciones DataWindow
GetItemxxx o usando la notacin objeto y pasando la informacin de
la fila
z Llamar a la funcin OpenSheet pasando la informacin del patient
id en la ubicacin del parmetro
z

OpenSheetWithParm(lw_patient, ll_patientid, w_frame)


1 - 282

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 141
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Window Detalle de Paciente


El Script del Evento Open (o el constructor del DataWindow)
Declare una variable para almacenar el patient id
Recuperar el DataWindow pasando la variable

integer ii_patient_id // variables de instancia


ii_patient_id = Message.DoubleParm
dw_data.SetTransObject (SQLCA)
dw_data.Retrieve(ii_patient_id)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 283

Usando un Custom Class para Pasar Datos

Porqu?
Los datos pueden ser encapsulados con todas las ventajas que este
ofrece
z La estructura del custom class puede ser cambiado para reunir los
nuevos requisitos sin que el cliente tenga que modificar el cdigo
z

Cmo? (detalles en los siguientes slides)


Enviar y recibir ambos debe ser en una instancia del custom class
z El Enviador debe instanciar en orden para publicar esto
z El Receptor recoger la referencia desde el
Message.PowerObjectParm
z

1 - 284

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 142
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Usando CCUOs para Comunicar Windows

Enviador:
z

OpenSheetWithParm ( sheetrefvar, parameter {, windowtype },


mdiframe {, position {, arrangeopen } } )

Receptor:
Message.DoubleParm
z Message.PowerObjectParm
z Message.StringParm
z

1 - 285

Numeric
PowerObject
String

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Pasando un CCUO a otro window


n_emp in_emp
determine el tipo
in_emp = create &
n_salaried_emp
hacer algo
opensheetWithParm
(w_report, in_emp, &
. Etc)

Salaried
Employee
pasado

n_emp in_passed_emp
in_passed_emp = &
message.PowerObjectParm

in_passed_emp.of_calc_vac()
in_passed_emp.of_calc_vac()

Salaried
Vacation Rules
1 - 286

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 143
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
Los Objetos Message son objetos globales PowerBuilder
predefinidos y usados para procesar eventos Microsoft window
Los Objetos Message son usados para comunicar sheets y objetos
en una aplicacin PowerBuilder

1 - 287

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 9: Creando Mltiples


Instancias de Window

1 - 144
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1.
2.
3.
4.

Qu es una clase?
Cules son algunas clases que se han creado en este curso?
Qu son atributos?
Qu son mtodos?

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 289

Objetivos
Al finalizar este mdulo, ser capaz de:
z

1 - 290

Abrir mltiples instancias de algunas clases window

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 145
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Instancias Mltiples del Window

Ejemplo:
Se tiene creado la clase w_paciente
z Se desea mostrar ms que un solo paciente simultneamente
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 291

Almacenando la Definicin del Window

Cuando un window es grabado, PowerBuilder genera dos


entidades en la librera:
z

Un nuevo tipo de dato

Una nueva variable global del nuevo tipo de dato

1 - 292

El nombre del tipo de dato es el mismo como el nombre del window


El nombre de la variable global es el mismo como el nombre del
window

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 146
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Abriendo un Window

Para abrir un window, se usa la funcin Open, como:


z

Open(w_paciente)

Cuando se abre un window que ya est abierto, PowerBuilder


simplemente activa el window existente
z

Ejemplo:
//Considere este script para el evento Clicked del CommandButton
Open(w_paciente)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 293

Declarando Instancias de Window

Window es un tipo de dato


z

Variables de este tipo de dato pueden ser declarados

Variables de tipo window pueden ser referenciados en un script


z

Ejemplos:
//Declare nombre de variable lw_ paciente de tipo w_ paciente.
w_ paciente lw_ paciente
/* Declare un arreglo nombrado lwa_ paciente, que contiene cinco
instancias del tipo window w_ paciente*/.
w_paciente lwa_ paciente[5]

1 - 294

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 147
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Abriendo Instancias de Window

Para abrir una Instancia de un window, pasar la variable de


instancia a la funcin Open()
z

Ejemplo:
//Considere este script para un evento Clicked del CommandButton

w_ paciente lw_paciente
Open(lw_ patient)

1 - 295

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Abriendo Instancias de Window

1 - 296

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 148
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Cerrando una Instancia

Para cerrar una instancia de un window, se usa la funcin Close()


de PowerScript
z

Ejemplo:
/*Considere este script para un evento Clicked del CommandButton*/
//es el window w_paciente
Close(Parent)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 297

Abriendo un arreglo de Instancias Window

Para abrir una instancia de un window en un arreglo, use la


funcin Open() y pase el indice del array
z

Ejemplo:
//Declare un arreglo que contiene cinco indices
w_paciente lwa_ paciente[5]
// Abrir la primera instancia.
Open(lwa_ paciente[1])
// Abrir la segunda instancia
Open(lwa_ paciente[2])

1 - 298

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 149
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Arreglo Window

Las Instancias particulares pueden ser manipuladas usando el


indice del arreglo
z

Ejemplos:
//Poner el ttulo de la primera instancia de w_paciente
lwa_ paciente[1].Title = Paciente - 1
/*llamar a la funcin window de la segunda instancia de w_paciente*/
lwa_ paciente[1].wf_myfunction()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 299

Abriendo Mltiples Windows

Para abrir o cerrar un nmero largo de instancias de Window, use


cualquier estructura de loop (For...Next, DoWhile, etc.)
z

Ejemplo:
//Este script abre cinco instancias del window w_paciente
w_ paciente lwa_ paciente[5]
Integer i
For i = 1 to 5
Open(lwa_ paciente[i])
Next

1 - 300

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 150
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando el Arreglo Mixto de Windows

Pueden crear arreglos de tipo mixto de Windows


Una variable de tipo window puede referenciar cualquier tipo de
window
z Ejemplo:
z

window lwa_win[3]
string win_name[3]
Integer I
win _name[1] = "w_paciente
win _name[2] = "w_paciente_report
win _name[3] = "w_paciente_master_detail
For i = 1 to 3
Open(lwa_win[i], win _name[i])
Next
1 - 301

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Arreglo vs Variables de Referencia


Item
Arreglo

Ventajas
Se puede referir a
instancias
particulares.

Variables de Fcil de usar


Referencia

1 - 302

Desventajas
Los arreglos son ms
dificultosos para usar porque
se tiene que rastrear a todas
las instancias
No se pue puede manipular
una instancia particular de un
window creado usando
variables de referencia

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 151
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accesando a Entidades Window Descendientes

Una variable de tipo Window puede referenciar cualquier entidad


definida en el Window, pero no en uno de sus descendientes
z

Ejemplo 1:
w_paciente lw_paciente
Open(lw_paciente)
// la siguiente sentencia es vlida si w_paciente tiene una
// funcin window nombrado of_checkStatus()
lw_paciente.off_checkStatus()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 303

Accediendo a Entidades Window Descendientes


z

Ejemplo 2:
Window my_window
Open(my_window, w_paciente)
//la siguiente sentencia es invlida como el tipo de objeto window
//no tiene una funcin window para el nombre of_checkStatus()
my_window.of_checkStatus( )

1 - 304

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 152
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accediendo a Entidades Window Descendientes


z

Ejemplo 3:
Window my_window
w_paciente lw_paciente
String ls_win_name = " w_paciente
Open(my_window, ls_win_name )
lw_paciente = my_window
//la siguiente sentencia es vlida como el tipo de objeto w_paciente
// tiene una funcin window para el nombre of_checkStatus()
lw_paciente.of_checkStatus()

1 - 305

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Las instancias Window son usados para mostrar windows de
estructura identica conteniendo diferentes datos
Las instancias Window pueden ser manejados usando Arreglos
Una instancia Window puede ser abierta usando la funcin Open()
Una instancia Window puede ser cerrada usando la funcin close()

1 - 306

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 153
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PowerBuilder Developer v10.0

Mdulo 10: Usando el Painter


Database

Preguntas
1. Que es la validacin del lado del cliente? Porqu es importante?
2. Qu tipos de ingresos deben ser puestos a los radio buttons?
3. Que tipos de ingresos debe ser puestos en un checkbox?

1 - 308

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 154
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Crear un PowerBuilder Database Profile
z Explicar la conveniencia de Atributos Extendidos
z Crear Atributos Extendidos
z

Mostrar Atributos
Edit Masks
Validation

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 309

Drivers de Conexin

Drivers Native:
Use la interfaz del driver del Vendedor
z Ejemplos: SYC-Sybase ASE, O84 - Oracle 8.4
z

Open Database Connectivity(ODBC):


Usa la interfaz de base de datos Estndar de Microsoft
z Vendor & 3rd Party Drivers para conectarse a varios orgenes de
datos
z Windows ODBC Administrator crea los perfiles
z

1 - 310

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 155
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Open Database Connectivity (ODBC)

PowerBuilder
ODBC Interface

Microsoft
ODBC
Manager

1 - 311

Sybase
ODBC

Sybase

Oracle
ODBC

Oracle

dBASE
ODBC

dBASE

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ventajas / Desventajas de ODBC


ODBC le permite a tu aplicacin conectarse a muchas base de
datos a travs de una interfaz estndar
Cualquier base de datos que tiene un driver ODBC puede ser
accesado a travs de una aplicacin PowerBuilder
No todas las caractersticas de las bases de datos son
implementadas
La performance de acceso a los datos puede degradarse

1 - 312

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 156
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Database Profile


1. Click al botn Database Profile en el PowerBar
2. Resaltar un nombre de interface y click a New
3. En el tab page Connection, ingresar el nombre del profile e
ingresar los valores para cualquier otro parmetro bsico que la
interfaz requiere para conectarse

1 - 313

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ventana de Dilogo del Database Profiles

Click al botn Database Profile en el PowerBar

Botn Database
Profile

1 - 314

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 157
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Database Profile

1 - 315

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un Database Profile Continua

Puede
copiar al clipboar
para despus
pegarlo en
cdigo
1 - 316

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 158
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Overview del Database Painter

Acciones posibles a realizar en el Database Painter:


Crear nuevas tablas y vistas de la base de datos
z Modificar o borrar tablas existentes
z Adicionar o borrar indeces
z Adicionar o borrar llaves primarias o forneas
z Ejecutar sentencias SQL
z Definir los atributos de columna extendida
z

1 - 317

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Trabajando con Tablas


Viendo las tablas en el Object layout View
Trabajando con los Datos

1 - 318

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 159
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Viendo Tablas

1 - 319

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Object Layout View


Index

Primary Key

Foreign Key

1 - 320

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 160
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con los Datos

Los datos pueden ser mostrados en formato Grid, Tabular o Freeform

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 321

Operaciones en el Data Display


Retrieve
Save
Insert Row
Delete Row
Navigation
Print

1 - 322

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 161
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Atributos Extendidos
Estandariza la apariencia de las etiquetas de los datos y las
cabeceras del objeto DataWindow
Elimina la necesidad de especificar las caractersticas cada vez
que se crea el objeto DataWindow
Proporciona una manera fcil para estandarizar la validacin,
formateo, etc en las aplicaciones DataWindow ad-hoc

1 - 323

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Niveles de Atributos Extendidos


Propiedades a nivel Tabla
Caractersticas a nivel Columna

1 - 324

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 162
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades a Nivel Tabla

Acciones posibles en propiedades a nivel Tabla:


Hacer comentarios sobre la tabla
z Definir Fonts para los datos, headings y labels
z Definir Indexs, primary keys, y foreign keys
z

Para acceder a las propiedades a nivel Tabla, seleccionar la tabla


y click al botn properties

1 - 325

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades de Columna

1 - 326

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 163
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Atributos de la Columna Extendida


Elimina la necesidad de repetir la configuracin de propiedades de
las columnas en un DataWindow
til en aplicaciones ad-hoc cuando un DataWindow es creado
dinmicamente basado en criterios en tiempo de ejecucin
Consiste de:

Display Formats
z Edit Styles
z Validation rules
z

1 - 327

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Display Format
Es una mascara que determina como los datos en una base de
datos sern formateados para mostrarlos.
Puede ser usado por cualquier columna del tipo de dato apropiado
en la base de datos.
Puede ser definido por el desarrollador

1 - 328

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 164
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Formatos String
Sintaxis: Formato String; Formato Null
Ejemplo un nmero de telfono puede ser formateado

(@@@) @@@-@@@@ ; [RED]unlisted number

1 - 329

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Formatos Date
Sintaxis: Formato Date; Formato Null
Ejemplos: para Sept 5 , 2004

Formato
mmm-d-yyyy
dddd dd-mmmm-yyyy
ddd mmm dd, yy

1 - 330

Resultado
Sep-5-2004
Wednesday 05-September-2004
Wed Sep 05, 04

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 165
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Formatos Predefinidos
Algunos formatos usados comnmente son predefinidos
El desarrollador lo puede personalizar si es necesario

1 - 331

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un User-Defined Display Format


@@@-@@@-@@@@; Unlisted

1 - 332

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 166
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Aplicando Display Formats a Columnas


Un Display Format puede ser asignado a una columna en
cualquier tabla donde el formato es apropiado
Por ejemplo, el display PhoneNumber sera apropiado para los
celulares, beepers, telfonos, etc donde quiera que ellos
aparezcan en una tabla

1 - 333

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Aplicando Display Formats a Columnas


1. Seleccionar la columna a aplicar el formato (double-click)
2. Especificar Format en el tabpage Display de las propiedades
2

1 - 334

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 167
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Edit Styles
Especificar como el dato de la columna es presentado en un
objeto DataWindow
Suministra un GUI
Afecta a ambos a la muestra y a la manera como el usuario
interacta con el dato

1 - 335

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tipos de Edit Styles


Edit
Checkbox
Radio button
Edit mask
Dropdown list box
Dropdown DataWindow

1 - 336

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 168
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Radio Button Edit Styles


Usado para nmeros pequeo de posibles valores de los datos
Ejemplo: Estado de la Poliza de Seguro puede ser:

1 - Activo
2 - Inactivo

1 - 337

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Definiendo un Style Radio Button

1 - 338

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 169
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Aplicando el Edit Style a una Columna

1 - 339

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Nuevo Style Mostrado

1 - 340

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 170
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Style Drop-Down List Box

Tiene ms opciones que un Style Radio Button

1 - 341

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Usando el Style Drop Down List Box

1 - 342

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 171
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Validation Rules
Validation Rules son expresiones que PowerBuilder usa para
verificar los datos ingresados por el usuario
PowerBuilder automticamente verifica los datos ingresados en las
columnas cuando las reglas de validacin son aplicadas
Los Atributos Extendidos para validation rules proporcionan
validacin client-side

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 343

Validacin Server-Side
Requiere un Application Server
A menudo usa los mtodos server-specific proprietario
Puede invocar otros componentes server-side: EJB, CORBA, etc
Adiciona un nivel adicional de seguridad desde que el cdigo no
es cdigo de origen y no puede ser visto desde el cliente
Requiere un round-trip al servidor

El Feedback no es inmediato
z Requiere un recarga de pgina despus del round-trip
z

1 - 344

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 172
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Validacin Client-Side
Escrito en JavaScript, JScript, etc
Posibles validaciones limitadas

No puede invocar componentes server-side


z No puede realizar verificaciones cross-table
z No puede realizar validacin compleja
z

No requiere un round-trip al servidor


El usuario obtiene inmediatamente un feekback en problemas con
el ingreso de datos
z El feedback es rpidamente
z

1 - 345

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un Validation Rule

@col retorna el dato ingresado como un string


El desarrollador debe lanzar la cadena al tipo de dato apropiado
La expresin debe retornar un boolean; True = passes validation
Ejemplo:

Date (@col) <= Today()

1 - 346

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 173
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Validation Rule

1 - 347

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Asociando una Columna con el Rule

1 - 348

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 174
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
ODBC le permite a tu aplicacin conectarse con muchas base de
datos a travs de una interfaz estndar
En el painter del Database, se puede:

Grficamente mostrar objetos de la base de datos


z Crear, Modificar, y Borrar objetos de la base de datos sin sentencias
de codificacin
z Crear, Modificar y Borrar atributos extendidos para columnas y
tablas
z Poner atributos extendidos a columnas
z

1 - 349

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen

Usar el Data Output View para mostrar datos, adicionar o


borrar filas, y cambiar valores existentes
Usar el ISQL View para codificar y ejecutar comandos SQL

1 - 350

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 175
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 10
Lab 10-1: Creacin de la Base de datos
Lab 10-2: Creacin de las Tablas de la Aplicacin

1 - 351

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 11: Programando la Conexin


a la Base de datos

1 - 176
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Describir para que un Objeto Transaction es usado
z Listar 3 maneras para asignar valores a las propiedades del objeto
Transaction
z Codificar la conexin y desconexin en PowerScript
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 353

Definicin:
z

1 - 354

Un objeto especial no visual usado en PowerScript que sirve para


comunicarse entre una aplicacin PowerBuilder y una base de
datos

Es usado para:
z

Objeto Transaction

Conectarse a la base de datos desde una aplicacin


PowerBuilder
Identificar el nombre de la base de datos y otros parmetros
relevantes
Almacenar estados de informacin para actividades recientes de
la base de datos

Nota: Cada conexin necesita un nico objeto Transaction


TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 177
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetos Transaction
Application
SQLCA
SQLCA

Access
Accessinfo
info
Status
Statusinfo
info

Sybase

Mytrans
Mytrans

Access
Accessinfo
info
Status
Statusinfo
info

1 - 355

Oracle

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Estableciendo Conexiones a la Base de datos


Comunicaciones de la Base de datos
Application

Vendor
database interface

Transaction Object

PowerBuilder
database interface

1 - 356

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 178
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades Principales de un Objeto Transaction


Propiedad

DataType

Descripcin

SQLCode

Long

El cdigo de satisfactorio o falla de la operacin ms


reciente. Cdigo de Retorno: 0 Success,
100 - Not found, -1 - Error (use SQLDBCode o
SQLErrText para obtenerel detalle)

SQLErrText

String

Mensaje de Error de la base de datos

DBParm

String

Database Specific Parameters


Ex: SQLCA.DBParm = "ConnectString='DSN =EAS
Demo DB V9;UID=mtek;PWD=sql'"

Database

String

Nombre de la Base de datos

DBMS

String

PowerBuilder vendor identifier.ODBC/OLEDB

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 357

Propiedades del Objeto Transaction

Existen muchas maneras de llenar las propiedades de un objeto


transaction :
Desde el prompt de un usuario
z Un archivo ini
z Un script
z

1 - 358

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 179
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetos Globales por Defecto


PowerBuilder proporciona cinco objetos globales que son
predefinidos en todas las aplicaciones, SQLCA es uno de ellos

Objeto Global

Descripcin

SQLCA

Objeto Transaction, usado para comunicarse con la base de


datos (Area de comunicacin)

SQLDA

DynamicDescriptionArea, usado en SQL dynamic

SQLSA

DynamicStagingArea, usado en SQL dynamic

Error

Usado para reportar errores durante la ejecucin

Message

Usado para procesar mensajes que son definidos en Eventos


para pasar parmetros entre windows

1 - 359

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Conectndose a una Base de datos

Application

1 - 360

Objeto Transaction

Database

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 180
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades de Conexin de la base de datos


DBMS
Database
UserID
DBPass
Lock
LogID
LogPass
ServerName
AutoCommit
DBParm

1 - 361

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Return Status
SQLCode
SQLNRows
SQLDBCode
SQLErrText
SQLReturnData

1 - 362

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 181
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Conectndose a una Base de datos


La conexin a una base de datos es requerida en las fases de
desarrollo y despliegue
En desarrollo, la conexin a la base de datos es una base de
datos especfica
Para propsitos de despliegue, PowerBuilder puede conectarse a
una base de datos usando uno de los siguientes:

Database Interfaces
z OLEDB
z Native Database Driver
z

1 - 363

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Conectndose a travs de ODBC

En la pantalla de PowerBuilder mostrada abajo, Click en Database Profile


ODB ODBCNew
DB Profile

Click on New

Seleccionar la interfaz
database
1 - 364

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 182
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Configurando el Database Profile

1 - 365

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Database Profiles

Newly Created Profile

1 - 366

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 183
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sentencia Connect

Cuando PowerBuilder encuentra la sentencia Connect, este


automticamente usa los valores del objeto SQLCA
Sintaxis: Connect <using TransactionObjectName>
z Para conectarse a la base de datos usando un objeto transaction
diferente, simplemente especifique el objeto transaction en la
sentencia Connect
z

1 - 367

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Conectndose a una Base de datos (Script)


// Poner las propiedades del objeto Transaction por defecto.
SQLCA.DBMS="ODBC"
SQLCA.DBParm="ConnectString='DSN=SybHealth'"
// Conectarse a la base de datos.
CONNECT USING SQLCA;
IF SQLCA.SQLCode < 0 THEN &
MessageBox(Error de Conexin", SQLCA.SQLErrText,&
Database
Exclamation!)

1 - 368

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 184
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Pasos para Conectarse a una Base de Datos


Inicializar
Inicializar el
el objeto
objeto
Transaction
Transaction
Connect
Connect using
using
transaction
transaction object
object

Verificar
Verificar el
el cdigo
cdigo de
de retorno
retorno

1 - 369

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Desconectndose de una Base de datos

DISCONNECT USING <<transaction object>>;

Database

1 - 370

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 185
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Mltiples Conexiones a la Base de datos


PowerBuilder permite mltiples conexiones a la base de datos
simultneamente dentro de una aplicacin
Mltiples objetos transaction pueden ser creados y conectados a
diferentes base de datos o cada DataWindow
Esto se realiza usando los objetos Transaction Definidos por el
Usuario

1 - 371

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetos Transaction Definidos por Usuario


User ID TJM
Password TJMPASS
Database Customer

Base de datos
Cliente

Base de datos
Marketing

User ID TJM
Password TJMPASS
Database Marketing
1 - 372

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 186
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetos Transaction Definidos por Usuario Ejemplo

Define una variable de tipo transaction


transaction

dbcon_1

Crea el objeto transaction


dbcon_1 = CREATE transaction

Asignar valores a las propiedades del objeto transaction


Emite la sentencia SQL connect
CONNECT USING dbcon_1;

Verificar el resultado del requerimiento


Limpiar valores:
DISCONNECT USING dbcon_1;
DESTROY dbcon_1;

1 - 373

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
El objeto Transaction es un objeto no visual especial usado en
PowerScript que sirve para comunicarse entre una aplicacin
PowerBuilder y una base de datos
Use la sentencia SQL connect para establecer la conexin
PowerBuilder proporciona un objeto transaction por defecto de
nombre SQLCA

1 - 374

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 187
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 11

Lab 11-1: Conexin a la base de datos desde la Aplicacin

1 - 375

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 12: Construyendo el


Result Set

1 - 188
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
Qu es una sentencia SQL Select? Qu debe contener?
Como se debe delimitar la seleccin en una sentencia select para
especificar criterios?
Asume que se desea recuperar las columnas id, fname y lname
desde la tabla customer y se desea ordenar el sorteo por lname.
Cmo sera la sentencia SQL resultante?

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 377

Objetivos
Al finalizar este mdulo, sers capaz de:
Explicar las diferencias entre un quick select source y un SQL
Select Source
z Join tables
z Especificar sorting, grouping y clusulas where en un SQL Source
z Definir y usar retrieval arguments
z Listar las diferencias entre Computed Fields y Computed Columns
z

1 - 378

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 189
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objeto DataWindow

Un objeto DataWindow es un objeto que se usa para recuperar,


presentar, y manipular datos desde una base de datos relacional u
otros orgenes de datos (como un Excel worksheet o archivo
dBASE)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 379

Objeto DataWindow

Ventajas de un Datawindow:
z

Data Validation

Display Formats

Se puede usar cualquier display formats existente para presentar los


datos, o crear uno propio

Edit Styles

1 - 380

Se tiene full acceso a las reglas de validacin para los datos

Se puede usar cualquier edit styles existente, como un radio buttons


y edit masks, para presentar los datos, o crear uno propio

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 190
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objeto DataWindow Display Formats

Date format
Drop down
Zip Code

Phone format

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 381

Data Sources

Relational
Select from tables
z Select from view
z Store procedure
z

Non-relational
Importado desde un archivo (por ejemplo, archivos sencuenciales)
z User input
z

1 - 382

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 191
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Objeto DataWindow


Tab DataWindow Seleccionado

1 - 383

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow Tabular
Los datos de las columnas van en la pgina y las cabeceras van
sobre cada columna
El layout por defecto puede ser reorganizado por cualquier manera
de personalizacin moviendo las columnas y el texto

1 - 384

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 192
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Freeform
Los datos de las columnas van debajo de la pgina y las etiquetas
van al lado de cada columna
Usado a menudo para los formularios de ingreso de datos

1 - 385

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow Grid
Los datos mostrados en un formato row-and-column con lneas
grid separando las filas y columnas
Las lneas grid crean una estructura rgida de celdas

1 - 386

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 193
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Label

Muestra los datos como etiquetas

1 - 387

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow N-Up

Presenta dos o ms filas de datos uno despus de la otra

1 - 388

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 194
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Group
Proporciona
una manera
fcil para crear
objetos
DataWindow
agrupados
Las filas son
divididas en
grupos, cada
uno de los
cuales puede
tener clculos
estadsticos

1 - 389

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow Cross-tab
Es una tcnica til para analizar datos
Cuando el dato es recuperado en un objeto DataWindow, el
crosstab procesa todos los datos y presenta una informacin de
resumen que ha sido definido para esto

1 - 390

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 195
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Graph

1 - 391

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Graphs

PowerBuilder proporciona muchos tipos de grficos para escoger

1 - 392

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 196
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Data Sources

Si el dato est en la base de datos


Quick Select
z SQL Select
z Query
z Stored Procedure
z

Si el dato no est en la base de datos


z

1 - 393

External

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Data Sources Continuacin

1 - 394

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 197
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Quick Select Data Source


El dato es de una sola tabla (o desde tablas que estn
relacionadas a travs de foreign keys) y solo se necesita escoger
las columnas, criterios de seleccin y sort
Cuando se escoge Quick Select como data source, no se puede:

Especificar la agrupacin antes de que las filas sean recuperadas


z Incluir columnas computadas
z Especificar retrieval arguments para la sentencia SELECT que se
proporciona durante la ejecucin
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 395

SQL Select Data Source

El SQL Select data source es generalmente usado para queries


ms complejos, incluyendo aquellos conteniendo
Ms que una tabla
z Criterios de seleccin (clusula WHERE)
z Criterio Sorting (clusula ORDER BY)
z Criterio Grouping (clusulas GROUP BY y HAVING)
z Columnas Computed
z Uno o ms argumentos para ser proporcionados durante la
ejecucin
z

1 - 396

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 198
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

External Data Source

External data source representa los datos que no son recuperados


desde una base de datos.

1 - 397

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Stored Procedure Data Source

Se puede especificar un stored procedure como el data source


para un objeto DataWindow si su DBMS soporta stored
procedures

1 - 398

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 199
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tablas Relacionadas Joining

Si se tiene seleccionado ms de una tabla, PowerBuilder une las


columnas de acuerdo a la relacin de sus llaves:
Las Columnas con una llave primary/foreign relacionada son unidas
automticamente.
z Las Columnas con una llave relacionada son unidas, si es posible,
basado en nombres de columna comunes y tipos.
z

1 - 399

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Borrando un Join

Click al operador join que conecta a las tablas.


1. El dialog box Join es mostrado
2. Click Delete

1 - 400

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 200
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Nuevo Join


Para crear un Nuevo Join

1. Click al botn Join


2. Click a los nombres de las columnas
3. Click al botn Join en un segundo momento (salir del modo Join)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 401

SQL Toolbox

Los Tabs en el SQL Toolbox:


Sort
z Where
z Group
z Having
z Compute
z Syntax
z

1 - 402

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 201
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sorteando el Result Set


Se puede sortear las filas que son recuperadas en el objeto
DataWindow especificando las columnas que corresponden en
la clusula ORDER BY en la sentencia SELECT.
El SORT en el SQL es realizado en el servidor por el DBMS para
recuperar los datos

1 - 403

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Limitando el Result Set

Se puede limitar las filas que son recuperadas en el objeto


DataWindow especificando los criterios de seleccin que
corresponden a la clusula WHERE en la sentencia SELECT

1 - 404

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 202
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Como Operador para Emparejar los Modelos

Estos son:
_
Cualquier carcter solo
z %
Cualquier cadena de cero o ms caracteres
z [ ]
Cualquier caracter solo en un rango separado o
conjunto
z [^]
Cualquier carcter solo no en un rango especificado
o conjunto
z

Ejemplo:

Retorna:

1 - 405

SELECT emp_lname, emp_fname


FROM employee
WHERE emp_lname LIKE 'br%'

emp_lname______ emp_fname
Breault
Robert
TechEra e-Learning
2005

Derechos
Reservados,
este
producto
solo puede ser usado para uso personal y no para otros fines
Braun
Jane

Limitando el Result Set


SELECT "claims"."claim_code", "claims"."claim_id",
"claims"."patient_id", "patient"."first_name",
"patient"."last_name", "patient"."date_of_birth",
"claims"."date_of_claim", "claims"."dr_charges",
"claims"."amount_paid"
FROM "claims",
"patient"
WHERE ( "patient"."patient_id" = "claims"."patient_id" ) and
( ( "claims"."date_of_claim" = '2003-02-01 00:00:00.000000' ))
ORDER BY "patient"."first_name" ASC,
"patient"."date_of_birth" DESC
1 - 406

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 203
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Agrupando el Result Set

1 - 407

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Agrupando el Result Set


Puede recuperar solo informacin estadsticas de las columnas
agrupadas
El cmputo es realizado en el servidor, solo los clculos
resultantes son enviados sobre la red
Mejora la performance en vez de traer el resultado entero y
realizando el clculo en el cliente

1 - 408

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 204
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Agrupando el Result Set


SELECT "claim_reasons"."type", avg(dr_charges),
avg(amount_paid), max(dr_charges),
max(amount_paid)
FROM "claims", "claim_reasons"
WHERE ( "claims"."claim_code" = "claim_reasons"."claim_code" )
GROUP BY "claim_reasons"."type"

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 409

Clusulas Where Dinmicas

Existe una necesidad a menudo de:


Pedir al usuario
z Responder mediante programa las condiciones en tiempo de
ejecucin dinmicas
z

Hardcoding la clusula Where donde esta no es necesaria


Para muchas posibilidades
z Tedioso, an cuando es posible
z

Los Retrieval Arguments son usados en este caso

1 - 410

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 205
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Retrieval Argument
Pasa datos desde la aplicacin hasta la clusula Where
Ejemplo de sintaxis SQL:

SELECT "patient"."patient_id", "patient"."first_name",


"patient"."last_name FROM "patient"
where "patient"."patient_id" = :p_id

1 - 411

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Especificando Retrieval Arguments

El tipo de dato debe


ser igual a de la columa

1 - 412

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 206
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Poniendo el Retrieval Argument en SQL

Argumento

1 - 413

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Recuperando Datos en un DataWindow

Botn
Preview

1 - 414

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 207
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Columnas Computed

Son columnas adicionales que pueden ser adicionadas a un


DataWindow como parte de la sentencia SQL Select usado para
recuperar los datos del DataWindow
z

Las columnas Computed pueden consistir de

Columnas
Funciones DBMS (no funciones PowerScript)
Operators
Retrieval arguments

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 415

Columnas Computed

Escenario:
z

Compute el dr_charges y amount_paid en el cdigo de demanda

1 - 416

Ingrese la expresin en el Tab compute


Aggregate Function(Table.Column)Right Click

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 208
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Columnas Computed
Return

1 - 417

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Columnas Computed
DATAWINDOW
PREVIEW
SQL
QUERY
SELECT "claims"."claim_code",
sum("claims"."dr_charges") as Doctor_Charges,
sum("claims"."amount_paid") as Amount_Paid
FROM "claims"
GROUP BY "claims"."claim_code"
ORDER BY "claims"."claim_code" ASC
1 - 418

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 209
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Campos Computed
Campos Computed son campos creados dinmicamente por
PowerBuilder despus que la funcin Retrieve() del DataWindow
que ha sido ejecutado
Los campos Computed pueden ser usados dentro de todas las
bandas del DataWindow y pueden ser cambiadas basados en el
contenido del objeto DataWindow

1 - 419

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Defina - Campos Computed

Defina un campo computed en el painter DataWindow Design


view:

1 - 420

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 210
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Columnas Computed
Son definidas como una columna computed en el painter Select
Los valores son calculados por el DBMS cuando el dato es
recuperado
Los valores no cambian hasta que el dato ha sido recuperado o
actualizado otra vez
Todas las funciones aggregate pueden ser usados con Columnas
Computed

1 - 421

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Columnas Computed vs Campos Computed


El valor de la columna Computed es calculado por el DBMS
cuando el dato es recuperado. El valor de la columna computed no
cambia hasta que el dato ha sido actualizado y recuperado otra
vez
Valor del campo Computed de la columna es calculado en el
objeto DataWindow despus que el dato ha sido recuperado. El
valor cambia dinmicamente como el dato del objeto DataWindow
cambia

1 - 422

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 211
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Campo Computed vs Columnas Computed

Casos donde Columnas Computed deben ser usados:


Si los clculos tienen que ser realizados en un servidor de base de
datos
z Si el valor aparecer en la banda de detalle de un Objeto
DataWindow
z

Casos donde Campos Computed deben ser usados:


Si el valor aparecer en cualquier otra banda, de otra manera que
en la banda detalle del DataWindow.
z Si el valor no puede ser computado usando el lenguaje RDBMS
z

1 - 423

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Performance de Campos Computed vs


Columnas Computed
Columna
Computed
DB

Clculo hecho a
nivel de la base de
datos

Campos
Computed
Presentation
PresentationLayer
Layer Clculo hecho a
//Front
nivel de la
FrontEnd
End
Presentacin

1 - 424

El proceso ms rpido
Recomendado
Menos tiempo para la Recuperacin
Proceso dinmico
Recomendado si la Funcin de la Base
de datos no est disponible
Ms tiempo para el Retrieval
Proceso despes de la operacin de la
base de datos
Clculo del lado del Cliente

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 212
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

SQL Generado - Sort / Group / Where

1 - 425

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Un Objeto DataWindow es un objeto que se usa para recuperar,
presentar, y manipular datos desde una base de datos relacional u
otro origen de datos (como un Excel worksheet o archivo dBASE)
El painter Select provee un GUI y facilita el texto para definir
retrieval arguments, clusulas, y mostrar la sentencia select
Los DataWindows pueden reforzarse con el uso de columnas y
campos computed
Los Retrieval arguments son argumentos en las que se basa
PowerBuilder para recuperar y presentar los datos en el Control
DataWindow.

1 - 426

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 213
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 12
Lab 12-1: Programacin del Objeto Mantenimiento
Lab 12-2: Creacin de Objetos DataWindows
Lab 12-3: Habilitar la opcin de Bsqueda de datos

1 - 427

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 13: Mejorando el Objeto


DataWindow

1 - 214
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Alinear los objetos del reporte
z Crear bandas de reporte con headers y footers para el reporte, la
pginas y los grupos
z Crear visualmente la apariencia de los reportes y entrada de datos
a los forms usando radio buttons, checkboxes, drop down lists y
otros formatos display
z Poner el Tab Order
z Adicionar validacin client-side a los forms
z Adicionar columnas computed a un reporte
z Sort o Filter en el cliente
z Adicionar un drop-down DataWindow a un form
z

1 - 429

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Reportando en un Objeto DataWindow


Design
View

Preview
View

Specify
Validations, Initial
values, etc

Export
Template
View
1 - 430

Properties
View

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 215
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Options

1 - 431

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ordenando Mltiples Objetos

Align objects
Space objects
Size objects

1 - 432

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 216
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Alineando Mltiples Objetos

Figure 1

Figure 2

Figure 3
1 - 433

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Redimencionando Mltiples Objetos

Figure 1

Figure 2

Figure 3
1 - 434

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 217
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con Headers y Footers

Un DataWindow consiste de cuatro bandas:


Header: es usado para mostrar informacin en el top de cada
pantalla o pgina, como el nombre del reporte o fecha actual
z Detail: es usado para mostrar datos desde la base de datos u otros
orgenes de datos
z Summary: muestra la informacin resumen como totales,
cantidades y grupos de datos
z Footer: est en el bottom de cada pgina o pantalla. Muestra
informacin como el nmero de pgina y cantidad de pgina
z

1 - 435

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Layout DataWindow
Header
Detail
Summary
Footer

1 - 436

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 218
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Columnas Computed - Server Computation


Son definidas como una columna computed en el painter Select
Los valores son calculados por el DBMS en el servidor cuando el
conjunto de datos es recuperado
Los valores no cambian hasta que los datos han sido actualizados
y recuperados otra vez
Todas las funciones aggregate pueden ser usados con las
Columnas Computed

1 - 437

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejemplo de Columna Computed


SELECT "claims"."claim_code",
sum("claims"."amount_paid") as amount_paid,
sum("claims"."dr_charges") as charges
FROM "claims"
Columna Computed
group by "claims"."claim_code"

1 - 438

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 219
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Campo Computed Computado en el Cliente


Campo Computed

1 - 439

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejemplos de Expresiones de Campos Computed


Para mostrar

expresin

Banda

Fecha Current en el top de cada pgina

Today()

Header

Time Current al top de cada pgina

Now()

Header

Page Current al bottom de cada pgina

Page()

Footer

Total de pginas al bottom de cada pgina

PageCount()

Footer

Concatenacin de columnas Fname y Lname


para cada fila

Fname + " " + Lname

Detail

Cuatro asteriscos si el valor de la columna


Amount_paid es mayor que $50,000

IF(amount_paid>
50000, "****", "")

Detail

Promedio de todas las filas recuperadas

Avg(amount_paid)

Summary

Cantidad de filas recuperadas, asumiendo que Count(claim_code)


cada fila contiene un valor para claim_code

Summary

1 - 440

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 220
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Display Formats

1 - 441

Son usados para personalizar el display de los datos de


columna en un objeto DataWindow
Tiene mascara en ciertos carateres que tienen un significado
especial
No significa para la entrada de datos

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Display Formats
Muestra los valores de dinero precedidos por un signo de dlar,
muestra las fechas con el nombre del mes, y usa un color especial
para nmeros negativos
Display
Format

1 - 442

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 221
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Edit Styles
Los Edit styles especifican como los datos en la columna sern
presentados en los objetos DataWindow
Los Edit styles afectan como los usuarios interactan con lo datos
en tiempo de ejecucin

1 - 443

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tabla de Edit Styles Disponibles


EDIT STYLE

FUNCION

Edit box (default)

Muestra un valor en el box. Para entrada de datos,


tipee un valor

Dropdown List
Box

Muestra un valor del drop-down list. Para entrada


de datos, seleccionar o entrar un valor

Check Box

Muestra un check box seleccionado o limpiado.


Para entrada de datos, seleccionar o limpiar el
check box

Radio Buttons

Muestra radio buttons, uno de los cuales es


seleccionado. Para entrada de datos, seleccionar
uno de los radio buttons

Edit Mask

Muestra datos formateados.


Para entrada de datos, tipee un valor

DropDown Data
Window

Muestra un valor desde un drop-down


DataWindow. Para entrada de datos, seleccionar
un valor.

1 - 444

Ejemplo

Pacientes

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 222
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tabla de Cdigo - DropDown ListBox

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 445

Drop Down DataWindow


Un DropDown DataWindow es un drop-down de una lista de
seleccin donde el dato es proporcionado por los datos
recuperados desde otro DataWindow existente
Porque se debe usar esto?

Simplifica la entrada de datos.


z Limita la entrada de datos para validar valores de la base de datos
z

1 - 446

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 223
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Adicionando un Drop Down DataWindow a un Form

1 - 447

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Adicionando un Style Drop Down DataWindow


Abrir el DataWindow donde se desea ubicar el dropdown
Seleccionar el column/field del DataWindow para ser asociado con
el drop down
En Properties Edit Tab Page Select Style Type as Drop
Down Data Window
Seleccionar un Data Window para un Drop Down
Set Data Value
Set Display Value

1 - 448

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 224
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Validacin de Datos
Los Rules son criterios que el objeto DataWindow usa para validar
el ingreso de datos a una columna
Es especificado en PowerBuilder y por lo tanto no fuerza a la base
de datos
Los Rules asignados en el painter Database son usados por
defecto cuando las columnas son ubicadas en el objeto
DataWindow
Los Rules son expresiones que evalan para cada TRUE o FALSE

1 - 449

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Validacin de DatosContinua
Si la expresin emite un TRUE para una entrada en una columna,
PowerBuilder acepta la entrada
Si la expresin emite un FALSE, la entrada no es aceptada y el
evento ItemError es disparado
Por defecto, PowerBuilder muestra un mensaje para el usuario
SetValidate es usado para cambiar las reglas de validacin para
un item

1 - 450

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 225
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con Validation Rules

El validation Rule: Date(GetText( )) <= Today( ) previene una


fecha futura a ser ingresado para esta columna

1 - 451

MD5

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mecanismos de Filtracin

1 - 452

Los Filters pueden limitar las filas que se muestra en tiempo de ejecucin
Los Filters pueden usar funciones de expresin del DataWindow (la
funcin PowerScript no a nivel de objeto) o funciones definidas por usuario
Los Filters no afectan el contenido de las filas recuperadas
Los operadores filter con los datos recuperados, no vuelven a ejecutar la
sentencia SELECT
Los Filters pueden ser aplicados a travs de una sentencia SQL (clusula
Where/ Having) o a travs del painter
Las funciones SetFilter y Filter pueden ser usados en un script para
modificar dinmicamente un filter, poner en el painter del DataWindow

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 226
Derechos Reservados de TechEra e-Learning

Diapositiva 452
MD5

Notes for these

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

Filtrando Datos a travs del Painter

1 - 453

MD6

Definiendo un Filter

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mecanismos de Sorteo
Una clsula ORDER BY en la sentencia SQL SELECT es usado
para el objeto DataWindow para sortear los datos recuperados
El DBMS no sortea los datos, estos son realizados por
PowerBuilder
Pueden ordenarse la filas explcitamente despus del proceso
offloading de la base de datos a travs del painter de
PowerBuilder.

1 - 454

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 227
Derechos Reservados de TechEra e-Learning

Diapositiva 454
MD6

Notes for these

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

Sorteando Datos a travs del Painter

1 - 455

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Suprimiendo Valores Repetidos

1 - 456

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 228
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Configurando el Tab Order

El Tab Order especifica el orden en que el control recibir el foco


cuando el usuario se mueva a travs del tab dentro de un window

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 457

Agrupando Filas
Cada grupo es definido por uno o ms columnas del objeto
DataWindow
Cada momento el valor en una columna del grupo cambia, un
break ocurre y una nueva seccin se inicia
Para cada grupo se puede:

Mostrar las filas en cada seccin


z Especificar la informacion que se desea mostrar al inicio y final de
cada seccin
z Especificar los breaks de pginas despus de cada break en los
datos
z Reestablecer el nmero de pginas despus de cada break
z

1 - 458

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 229
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Crear una Presentacin Group

Para crear un grupo bsico para el DataWindow se usa el estilo


Group

1 - 459

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Agrupando Filas - Definicin

1 - 460

Ms de un item de expresin de grupo puede ser especificado


para un grupo
Un break ocurre siempre que el valor concatenado de cada
columna/expresin cambia
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 230
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Agrupando Filas - Ejemplo

1 - 461

Ejemplo de un estilo
Group

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Un objeto reporte es un Objeto DataWindow
Varios estilos de presencin de DataWindow estn disponibles en
PowerBuilder
Los valores de la Columna Computed son calculados por el DBMS
cuando el dato es recuperado
El Data Validation es especificado por PowerBuilder y no es
forzado por la base de datos
Los Filters limitan el nmero de filas desde la base de datos
El Result set puede ser sorteado usando la clusula ORDER BY
El Tab Order especifica el orden en que los controles recibirn el
foco

1 - 462

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 231
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 13
Lab 13-1: Asociar el objeto w_preliminar al objeto
w_mantenimiento
Lab 13-2: Creacin de los otros mantenimientos de la Aplicacin
de Ventas

1 - 463

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 14: Usando el Control


DataWindow

1 - 232
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Asociar el objeto DataWindow a un control DataWindow por
propiedad
z Asociar el objeto DataWindow a un Control DataWindow a travs de
programa
z Asociar el control DataWindow al Objeto Transaction
z Recuperar datos con o sin retrieval arguments
z

1 - 465

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Pasos para Mostrar Datos


Crear un objeto DataWindow usando el painter
Ubicar un control DataWindow en un Window
Asociar el objeto DataWindow al control DataWindow
Poner el Objeto Transaction al control DataWindow
Recuperar datos desde la base de datos

1 - 466

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 233
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Object (DWO)

Definicin del Objeto DataWindow:


Los objetos DataWindow permiten a los usuarios mostrar,
manipular, y actualizar datos
z Los objetos DataWindow definen el origen de datos y el estilo de
presentacin para los datos asociados
z Los objetos DataWindow tienen informacin pertinente de los datos
que estn recuperando
z

Propiedades del Objeto DataWindow:


z

1 - 467

MD7

Formatos de despliegue, estilos de presentacin y todas las


propiedades de datos necesarias para ser especificados
apropiadamente
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow Control (DWC)

Los Controles DataWindow son ubicados en Windows o Custom


Visual User Objects

Control
DataWindow

1 - 468

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 234
Derechos Reservados de TechEra e-Learning

Diapositiva 468
MD7

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

MD8

Asignando el DWO al DWC

Mtodo 1: Usando las propiedades en el Painter

Especificar el
Objeto
DataWindow
Listar los objetos
DataWindow para
escogerlos
1 - 469

MD9

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Asignando el DWO al DWC

Mtodo: Asignando un Objeto DataWindow por programa


// dw_results es el nombre del control DataWindow
// d_patient_list es el nombre del Objeto DataWindow
dw_results.dataobject = d_patient_list

1 - 470

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 235
Derechos Reservados de TechEra e-Learning

Diapositiva 469
MD8

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

Diapositiva 470
MD9

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

MD10

SetTransObject

Configurando el Transaction usando el SetTransObject


// dw_results es el nombre del Control DataWindow
// SQLCA es el Objeto Transaction por defecto
int li_returnValue = dw_results.SetTransObject (SQLCA)
Valor de Retorno es 1 si fue satisfactorio y -1 si ocurri un error

1 - 471

MD11

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Recuperando Datos

El mtodo Retrieve recupera filas desde la base de datos para un


control DataWindow o DataStore. Si argumentos son incluidos, los
valores de los argumentos son usados para la sentencia SELECT
asociados al objeto DataWindow.
// Sintaxis:
// long dwcontrol.Retrieve ( {argument1, argument2, . . } )
// dw_results es el nombre del Control DataWindow
// SQLCA es el Objeto Transaction por defecto
long ll_rows = dw_patient.Retrieve ()
ll_rows :
Valor de retorno es el nmero de filas mostradas si es
satisfactorio y -1 si ocurre un error

1 - 472

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 236
Derechos Reservados de TechEra e-Learning

Diapositiva 471
MD10

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

Diapositiva 472
MD11

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

Recuperando datos con Argumentos

Ejemplo:
Long ll_patient_id
ll_patient_id = 10001
dw_patient_info.retrieve(ll_patient_id)
Esto recuperar la informacin del paciente con el patient_id
10001

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 473

SelectRow

Propiedades:
Resalta o remueve el resultado de las filas en un control
DataWindow o un DataStore
z Permite a los usuarios seleccionar uno o ms filas0
z No cambia la fila actual del control DataWindow
z No selecciona las filas en la base de datos
z

Sintaxis:
integer dwcontrol.SelectRow ( long row, boolean select )
Retorna 1 si fue satisfactorio y -1 si ocurri un error

Ejemplo: seleccionar las quince filas en dw_patient:


dw_patient.SelectRow(15,True)

1 - 474

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 237
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

SetRow

Propiedades:
Es usado para poner la final actual en un control DataWindow o
DataStore
z Este mtodo mueve el cursor a la fila actual pero no lo desplaza en
el control DataWindow o DataStore
z Este mtodo puede disparar los eventos ItemChanged, ItemError,
ItemFocusChanged o RowFocusChanged
z

Sintaxis:
z

integer dwcontrol.SetRow ( long row )

Ejemplo: poner la final actual en dw_patient a 15

dw_patient.SetRow(15)
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 475

SetRowFocusIndicator

Propiedades:
Especifica el indicador visual que identifica la fila actual en el control
DataWindow
z La ubicacin del FocusIndicator puede ser especificado usando coordinates (xlocation, ylocation)
z

Sintaxis:

integer dwcontrol.SetRowFocusIndicator &


( RowFocusInd focusindicator {, integer xlocation &
{, integer ylocation } } )
Ejemplo:
dw_patient.SetRowFocusIndicator(Hand!)
1 - 476

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 238
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

GetRow

Propiedades:
GetRow retorna el nmero de fila del control DataWindow o
DataStore
z La fila actual no es siempre una fila mostra en la pantalla
z

Sintaxis
long dwcontrol.GetRow ( )
Retorna 0 si no hay fila actual y -1 si ha ocurrido un error.

Ejemplo: retorna el nmero de la fila actual a ll_row


ll_row = dw_patient.GetRow()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 477

DeletedCount

Propiedades:
Retorna el nmero de filas que han sido marcados para borrar
z Puede ser usado para encontrar cualquier fila en el buffer delete
z

Sintaxis:
long dwcontrol.DeletedCount ( )

Ejemplo: asumir que dos filas en dw_patient han sido borrados


pero no han sido actualizados en la tabla asociada, esta
sentencias pone ll_Del a 2:
Long ll_Del
ll_Del = dw_patient.DeletedCount( )

1 - 478

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 239
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DeleteRow

Propiedades:
Usado para borrar una fila de un control DataWindow, DataStore o
un DataWindow child
z Borra las filas del buffer primary del DataWindow
z

Sintaxis:
integer dwcontrol.DeleteRow ( long row )

Retorna 1 si la fila es borrada satisfactoriamente y -1 si hay error


Ejemplo: esta sentencia borra la fila actual de dw_patient:
ll_status = dw_patient.DeleteRow(0)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 479

InsertRow
Propiedades:

Usado para insertar una fila en un DataWindow o DataStore


z Una fila es inicializada con valores por defecto antes de ser
mostrado, si valores iniciales no son especificados
z

Sintaxis:
long dwcontrol.InsertRow ( long row )

Ejemplo: Inserta una fila antes de la fila 7


dw_ patient.InsertRow(7)

Ejemplo: inserta una fila despus de la ltima fila


ll_newrow = dw_ patient.InsertRow(0)

1 - 480

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 240
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

RowCount

Propiedades:
z

Retorna el nmero de filas disponbles actualmente en el buffer


primary

Sintaxis:
long RowCount ( )
Retorna el nmero de filas actualmente disponibles. Retorna 0 si no
hay filas disponibles, y -1 si ha ocurrido un error.

Ejemplo: esta expresin en un campo computado retorna el


nmero de filas o un warning si no existen datos:
If(RowCount() = 0, "No Data", String(RowCount()))

1 - 481

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataStores
Un control DataWindow no visual
Se comparta exactamente como un control DataWindow excepto
que no tiene caractersticas visuales asociados
Tiene un objeto DataWindow asociado
Usado cuando se necesita acceder a datos pero no se necesita la
presentacin de un control DataWindow

1 - 482

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 241
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades del DataStores


Manipula filas de tablas sin usar sentencias SQL embedidas
Realizar procesos internos de la base de datos sin tener que
ocultar los controles DataWindow en un window
Almacena datos para ser mostrados en mltiples vistas
Realiza el acceso a base de datos en un Application Server

En una aplicacin multi-tier, los objetos en un servidor remoto


pueden usar el DataStores para interactuar con la base de datos
z Los DataStores permiten realizar el proceso del lado del servidor sin
tener que realizar las operaciones de la base de datos en cada
cliente
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 483

Mtodos DataStore

Mtodos Soportados por


DataStore:

Retrieve
z Update
z InsertRow
z DeleteRow
z RowsCopy / RowsMove
z SetSort
z SetFilter

GetClickedRow
z SetRowFocusIndicator

1 - 484

Mtodos no Soportados por


DataStore:
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 242
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accesando a un DataStore

Si el DataStore es de una base de datos


z

Si los datos para el DataStore vienen de una base de datos, se necesita la


comunicacin con la base de datos para obtener los datos
Los pasos para realizar la comunicacin con la base de datos es igual como se
hace con el control DataWindow

Si el DataStore no es de una base de datos


z

Si el origen de datos fue definido como External en el painter del DataWindow,


se puede usar los siguientes mtodos para importar datos al DataStore:

1 - 485

ImportClipboard
ImportFile
ImportString

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Trabajando con un DataStore


Cdigo Ejemplo
datastore lds_datastore
lds_datastore = CREATE datastore
lds_datastore.DataObject = "d_all_claims
lds_datastore.SetTransObject (SQLCA)
lds_datastore.Retrieve()

1 - 486

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 243
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Manipulando un DataStore

Borrando una fila:


z

DeleteRow : borra la fila indicada desde el DataStore

Cancelando una recuperacin de la base de datos:


z

1 - 487

DbCancel : ids_datastore.DBCancel()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
El control DataWindow permite al usuario mostrar, manipular y
actualizar los datos
El objeto DataWindow define el origen de datos y estilos de
presentacin asociados con los datos
El mtodo Retrieve recupera filas desde la base de datos para un
control DataWindow o DataStore
Un DataStore se comparta exactamente como un control
DataWindow excepto que no tiene cualquier caracterstica visual
asociado con el control DataWindow

1 - 488

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 244
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PowerBuilder Developer v10.0

Mdulo 15: DataWindow Internals

Objetivos
Al finalizar este mdulo, ser capaz de:
Responder a los cdigos de Retorno de los eventos del
DataWindow
z Obtener y poner informacin en columnas y filas especficas de un
control DataWindow
z Listar los buffers del DataWindow y el propsito de cada uno
z

1 - 490

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 245
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Buffers del DataWindow


Cuando la funcin Retrieve( ) es llamado, PowerBuilder recupera
datos desde la base de datos y almacena esto en el buffer de la
memora
Los datos son ledos desde el buffer y mostrados en el control
DataWindow
Internamente PowerBuilder mantiene un Edit Control y cuatro
buffers para cada control DataWindow

Original!
z Primary!
z Deleted!
z Filter!
z

1 - 491

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mecanismo del Buffer

Siempre que los datos se recuperen desde la base de datos,


usando la funcin Retrieve(), esto es recuperado en el buffer
Primary
Buffer Primary

Patient
10001
10003
10005
10007

1 - 492

Patient Name
John
Emily
Susannah
Martin

Database

Buffer Original

Buffer Filtered
Buffer Deleted

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 246
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

MD12

Mecanismo del Buffer Adicionando Filas

Funciones InsertRow(), ImportFile(), ImportString(),


ImportClipboard(), todas adicionan filas al Buffer Primary, pero no
tienen efectos en otros buffers
Buffer Primary

Patient
10001
10003
10005
10007
1009

Database

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 493

MD13

Patient Name
John
Emily
Susannah
Martin
William

Mecanismos del Buffer Borrando Filas

Cuando se borra una fila con la funcin DeleteRow(), la fila es


transferida desde el buffer Primary al buffer Deleted
Buffer Primary

Paciente
10001
10003
10005
10007

1 - 494

Database

Nombre Paciente
John
Emily
Susannah
Martin

Buffer Deleted

Paciente
1009

Nombre Paciente
William

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 247
Derechos Reservados de TechEra e-Learning

Diapositiva 493
MD12

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

Diapositiva 494
MD13

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

MD14

Mecanismo del Buffer Filtrando Filas

Cuando las filas son filtradas usando la funcin SetFilter(), las filas
filtradas que residen en el buffer primary son movidas al buffer
filter
Ejemplo: Filter Criteria : Patient_id <= 10003
Buffer Deleted
Database

1 - 495

Buffer Primary
Paciente

Nombre Paciente

10001
10003

John
Emily

Paciente

Nombre Paciente

1009

William
Buffer Filtered

Paciente

Nombre Paciente

10005
10007

Susannah
Martin

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mecanismos del Buffer Modificando Filas

Si se modifica una fila en el DataWindow, la fila en el Buffer


Primary es modificada y el valor original es copiado en el Buffer
Original
Buffer Primary
Database

Paciente

Nombre Paciente

Paciente

Nombre Paciente

10001
10003

John
Boswell

1009

William
Buffer Filtered

Buffer Original

1 - 496

Paciente

Nombre Paciente

10003

Emily

Paciente

Nombre Paciente

10005
10007

Susannah
Martin

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 248
Derechos Reservados de TechEra e-Learning

Diapositiva 495
MD14

Insert a Window Snap Shot

Mahesh Dixit, 29/04/2003

1: Introduccin al IDE de PowerBuilder

Buffer del Edit Control

Propiedades:
El Edit Control contiene los datos de la columna actual
z Cada control DataWindow tiene un Edit Control
z Los datos en el Edit Control no implican los actuales datos en el
buffer Primary de un control DataWindow
z Los datos ingresados son llevados al buffer necesario de acuerdo a
la validacin en el nivel del edit control
z

1 - 497

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Buffers Row Status SQL


BUFFER
Deleted Buffer

1 - 498

ROW STATUS

SQL
DELETE

Filter Buffer
Primary Buffer
(New Record with some data in it)
Primary Buffer (Changed Rows)

NewModified!

-NONEINSERT

New!

-NONE-

Primary Buffer (Changed Rows)


Primary Buffer (Not Changed)

DataModified!
NotModified!

UPDATE
-NONE-

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 249
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones y Eventos del Control DataWindow


El control DataWindow tiene funciones asociadas
Las funciones realizan las tareas, como recuperacin de datos o
resaltar filas para llevar la informacin
Los controles DataWindow responden a eventos
Cuando un evento se ejecuta, se asignan los argumentos de lo
eventos con datos pertinentes

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 499

Eventos RetrieveStart y RetrieveRow

Evento RetrieveStart
z

Este evento es disparado tan pronto como PowerBuilder obtiene la


notificacin de la base de datos que dice Query is done and this is
the result set you are waiting for

Ejemplo: // Evento RetreiveStart


w_mdi_frame.SetMicroHelp ( Starting Retrieval)

Evento RetrieveRow
z

Este evento es disparado despus recuperar cada fila y antes de


ser mostrado en la pantalla

1 - 500

Ejemplo: // Evento RetrieveRow


w_mdi_frame.SetMicroHelp (Recuperando Filas + &String(row))

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 250
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Evento RetrieveEnd

Evento RetrieveEnd
z

Este evento es disparado cuando la recuperacin para el


DataWindow es completada

Example: // Event RetrieveEnd


w_mdi_frame.SetMicroHelp ( Rows Retrieved : + &
String(RowCount) + & Query Executed)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 501

Eventos Print del DataWindow

Evento PrintStart
z

Este evento es disparado tan pronto como la impresin se iniciado por


PowerBuilder

Evento PrintPage
z

Este evento es disparado cuando la impresin de un DataWindow o DataStore


finaliza

Ejemplo: // Evento PrintStart


w_mdi_frame.SetMicroHelp (Inicializando Impresin..)

Ejemplo: // Evento RetreiveEnd


w_mdi_frame.SetMicroHelp(Imprimiendo Pgina# +&String(PageNumber))

Evento PrintEnd
z

1 - 502

Este evento es disparado tan pronto como la ltima pgina es impresa

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 251
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Evento ItemChanged del DataWindow

Evento ItemChanged
Este evento es disparado cuando el dato es cambiado y el campo
actual pierde el foco (clicking en otro campo o en otro control,
presionando tab etc.)
z Este evento debe ser usado para validar datos y disparar el evento
ItemError, siempre que exista un error en los datos. Esto es uno de
los eventos ms usados en el control DataWindow
z Este evento d el acceso a los datos anteriores (que se recupera de
la base de datos), as como los nuevos datos (datos cambiados por
el usuario)
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 503

Evento ItemError DataWindow

Evento ItemError
Este evento es disparado cuando la regla de validacin falla. Si los
datos no pasan las reglas de validacin o cuando este evento no
retorna un cero
z Si no hay cdigo en este evento, por defecto, PowerBuilder muestra
un mensaje de error en formato predeterminado
z

Cdigo de
Retorno

1 - 504

Accin

(default) Rechaza los valores de los datos y muestra el error

Rechaza el valor del dato sin el message box

Acepta el valor del dato

Rechaza el valor del dato, pero permite el cambio de foco

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 252
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Evento ItemFocusChanged

Evento ItemFocusChanged
z

Este evento se activa siempre y cuando el campo actual pierda el


foco, independiente si el dato fue cambiado o no.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 505

Eventos Error y SQL Preview

Evento Error
z

Este evento es disparado cuando:

El Objeto OLE DataWindow es usado y un error ocurre en el objeto


OLE
La mala expresin es usado mientras se accesa al DataWindow en
notacin punto

Evento SQL Preview


Este evento es disparado inmediatamente antes de que una
sentencia SQL es enviada a la base de datos
z Las funciones que disparan la actividad de la Base de datos son
Retrieve, Update, y ReselectRow
z

1 - 506

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 253
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

AcceptText( )
Aplica el contenido de los edit control del DataWindow al item
actual en el buffer de un control DataWindow o DataStore
Valida el dato en el edit control antes de almacenarlo en la base
de datos.
Retorna 1 si es satisfactorio y -1 si falla

Sintaxis: integer dwcontrol.AcceptText ( )

Ejemplo :
IF dw_patient.AcceptText() = 1 THEN
dw_patient.Retrieve(dw_patient.GetItemNumber &
(dw_patient.GetRow(), dw_patient.GetColumn()))
END IF
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 507

Filter( )
Las filas mostradas en un DataWindow que pasa el criterio filter
especificado
Retorna 1 si es satisfactorio y -1 si ocurre un error
El Filter causa que todas las filas sean recuperadas y se aplica el
criterio de filter

sintaxis: integer dwcontrol.Filter ( )

1 - 508

Ejemplo:
dw_ patient.Filter( )
dw_patient.Retrieve( )

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 254
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

FilteredCount( )
Reporta el nmero de filas que no son mostradas en el
DataWindow por el criterio de filter actual.
Retorna 0 si todas las filas son mostradas y -1 si hay un error

Sintaxis: long dwcontrol.FilteredCount ( )

Ejemplo:
dw_patient.SetFilter("Left(patient_name, 1)=J)
dw_patient.Filter( )

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 509

Reset( )

Limpia todos los datos de un control DataWindow o DataStore.


z

Sintaxis:
integer dwcontrol.Reset ( )

1 - 510

Ejemplo:
dw_patient.Reset()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 255
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Retrieve( )
Recupera filas de la base de datos para un control DataWindow o
DataStore.
Si argumentos son incluidos, los valores del argumento son
usados para el retrieval arguments en la sentencia SQL SELECT
para el objeto DataWindow o child DataWindow.

Sintaxis:
long dwcontrol.Retrieve ( { any argument, any argument . . . } )

Ejemplo:
dw_patient.Retrieve()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 511

Scroll ( )

Desplaza el edit control de un DataWindow a un nmero


especificado de lneas arriba o abajo
z

Sintaxis: long dwcontrol.Scroll ( long number )

Funciones asociados con Scroll:


z

ScrollNextPage:

ScrollNextRow :

1 - 512

Desplaza hacia la siguiente pgina del documento en un control


DataWindow
Desplaza el control DataWindow a la siguiente fila.
Esto cambia la fila actual y no la columna actual

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 256
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones Asociados con Scroll

ScrollPriorPage:
z

Desplaza a la pgina anterior del documento en un control


DataWindow

ScrollPriorRow:
Desplaza a la fila anterior
z Cambia la fila actual del control DataWindow pero no cambia la fila
actual.
z

ScrollToRow:
Permite desplazar a una fila especificada.
z Cambia la fila actual en un control DataWindow pero no cambia la
columna actual
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 513

Sort( )
Sortea las filas en un control DataWindow o DataStore usando el
criterio de sorte del DataWindow
Retorna 1 si es satisfactorio y -1 si ocurri un error

Sintaxis:
integer dwcontrol.Sort ( )

1 - 514

Ejemplo:
dw_patient.Sort( )

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 257
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accediendo a los Valores de los Datos

Use funciones que manipulan los valores


SetItem( ) funcin que pone un valor en el buffer
z Una funcin GetItemx( ) sirve para recuperar un valor
z

Use las expresiones de los datos del DataWindow


z

Referido a items, columnas enteras, block de datos, datos


seleccionados, o a un buffer del DataWindow

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 515

GetItemDate( )
Obtiene el dato desde el tipo de dato Date desde el buffer
especificado de un control DataWindow o DataStore.
Retorna el valor del dato de la fila y columna especificada

Sintaxis: date dwcontrol.GetItemDate ( long row, string column {,


DWBuffer dwbuffer , boolean originalvalue } )

1 - 516

Ejemplo:
esta sentencia obtiene el valor de la tercera fila del buffer primary
desde la columna start_day de dw_insurance: Date ld_date
ld_date = dw_insurance.GetItemDate(3, start_date")

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 258
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

GetItemDateTime( )
Obtiene el dato del tipo DateTime desde el buffer especificado de
un control DataWindow o DataStore.
Retorna el valor DateTime o Timestamp de la fila y columna
especificada

Sintaxis:
DateTime dwcontrol.GetItemDateTime ( long row, string column {,
DWBuffer dwbuffer, boolean originalvalue } )

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 517

GetItemDecimal( )

Obtiene el dato del tipo decimal desde el buffer especificado de un


control DataWindow o DataStore
z

Sintaxis :
decimal dwcontrol.GetItemDecimal ( long row, integer column {,
DWBuffer dwbuffer, boolean originalvalue } )

1 - 518

Ejemplo :
decimal dr_chgs
dr_chgs = dw_claims.dr_charges(4, dr_charges", Primary!, TRUE)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 259
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

GetItemNumber( )

Obtiene el dato numrico desde el buffer especificado de un


control DataWindow o DataStore.
z

Sintaxis :
numeric dwcontrol.GetItemNumber ( long row, string column {,
DWBuffer dwbuffer, boolean originalvalue } )

Ejemplo :
integer p_id
p_id = dw_patient.GetItemNumber(4, patient_id")

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 519

GetItemString( )

Obtiene el dato String desde el buffer especificado de un control


DataWindow o DataStore.
z

Sintaxis : string dwcontrol.GetItemString ( long row, integer column


{, DWBuffer dwbuffer, boolean originalvalue } )

1 - 520

Ejemplo :
String fName
fName = dw_patient.GetItemString(3, first_name")

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 260
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

GetRow ( )
Reporta el nmero de la fila actual en un control DataWindow o
DataStore.
Retorna 0 si no hay filas y -1 si ocurri un error.

Sintaxis : long dwcontrol.GetRow ( )

Ejemplo :
dw_patient.GetRow()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 521

SetItem( )

Pone el valor en una fila y columna en un control DataWindow o


DataStore
z

Sintaxis :

1 - 522

integer dwcontrol.SetItem( long row, integer column, any value)


integer dwcontrol.SetItem ( long row, string column, any value)
Ejemplo :
dw_patient.SetItem(3, first_name",Robil)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 261
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

SetText( )

Reemplaza el texto en el edit control de la fila y columna actual en


un control DataWindow o DataStore
z

Sintaxis :
integer dwcontrol.SetText ( string text )

Ejemplo :
dw_patient.SetText(Sebastian")

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 523

DataWindow Data Expression


Es una expresin en el cdigo que obtiene o pone datos en el
DataWindow
La propiedad Object del control DataWindow permite especificar
expresiones que referencian directamente a los datos del objeto
DataWindow en el control
Sintaxis de expresin de datos, dividido en tres grupos

z
z
z

1 - 524

Datos en columnas o campos computados cuando el nombre se conoce


Datos en columnas numeradas
Filas enteras

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 262
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accediendo a Datos usando el Nombre de la Columna

Accediendo a datos en columnas o campos computados:


z Uno o todos los items (si rownum es ausente, incluir cada buffer o
datasource):

dwcontrol.Object.columnname {.buffer } {.datasource } { [ rownum ] }


Retorna un solo valor (para un nmero de fila especifico) o cualquiera
de los valores (cuando rownum es omitido) de la columna

dw_1.Object.patientname.Primary // All rows


dw_1.Object.patientname[5] Array
dw_1.Object.avg_cf[1] Computed Field

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 525

Accediendo a Datos Usando el Nmero de Columna

Datos en columnas numeradas


z

Solo items
1) dwcontrol.Object.Data {.buffer } {.datasource } [ rownum, colnum ]

Retorna uno solo del tipo de dato de la columna

2) dwcontrol.Object.Data {.buffer } {.datasource } [ startrownum,


startcolnum, endrownum, endcolnum ]

1 - 526

Retorna un arreglo de estructura u objetos de usuario

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 263
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
PowerBuilder mantiene un Edit Control y cuatro buffers para cada
control DataWindow
Los datos cuando son mostrados por primera vez en el control
DataWindow estn en el buffer Primary
Los datos de otros buffers no son visibles al usuario. Puede ser
solo accedido a travs de cdigo de programa
El DataWindow expression es una expresin en el cdigo para
obtener o poner datos en el DataWindow

1 - 527

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 16: Modificando, Insertando y


Borrando Datos

1 - 264
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Usar funciones y eventos del control DataWindow para adicionar,
actualizar y borrar datos en los buffers del DataWindow
Usar las funciones y Eventos del control DataWindow para
responder a modificaciones de usuario de datos
Listar los buffers del DataWindow e identificar el propsito de cada
uno
Describir el propsito y uso de los cdigos de retorno de los
eventos del control DataWindow

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 529

Revisando los Buffers del DataWindow

Internamente PowerBuilder mantiene un Edit control y cuatro


buffers para cada control DataWindow
Original!
z Primary!
z Deleted!
z Filter!
z

1 - 530

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 265
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Mecanismo del Buffer

Retrieve( )
z

Adicionando Filas
z

Siempre que el dato es recuperado desde la base de datos, usando


la funcin Retrieve(), esto es recuperado en el buffer Primary
Las funciones InsertRow( ), ImportFile( ), ImportString( ),
ImportClipboard( ) adicionan fila(s) al Buffer Primary, pero no tiene
efectos en otros buffers

Borrando Filas
z

Cuando se borra una fila con la funcin DeleteRow(), la fila es


transferida desde el buffer Primary al buffer Deleted

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 531

Mecanismo del Buffer

Filtrando Filas
z

Cuando las filas son filtradas usando la funcin SetFilter(), las filas
filtradas residen en el primary buffer y las otras filas son movidas al
buffer filter

Modificando Filas
z

1 - 532

Si se modific una fila en el DataWindow, la fila en el Buffer Primary


es modificada y el valor original es copiado al Buffer Original

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 266
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Rol del Edit Control


El Edit Control contiene los datos de las columnas concurrentes
Cada control DataWindow tiene un Edit Control
Los datos en el Edit Control no implican los datos reales en el
buffer Primary de un control DataWindow

1 - 533

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Procesos de Validacin

Data
Type

Any
Changes?

Validation
Rules

ItemChanged
Event

Edit Control

1 - 534

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 267
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

AcceptText( )
Evento Clicked para
cb_print:

dw_control.AcceptText( )

Print

Dr ID
1
2

1 - 535

Dr

Name

IF dw_dr.AcceptText( )=1 THEN


// if all is well
dw_dr.Print( )
END IF

Salary

Rubin Mentary $30,000


Jack Shaw
$30,000

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Comprendiendo el Proceso de Validacin


Datos ingresados por el Usuario
Tipo de Dato
OK?

No

Yes
Reglas de Validacin
True?

No

Evento ItemError
disparado

Yes
Evento ItemChanged
Pasado?

No

Yes
Copiar desde el Edit
Control al DW Buffer
1 - 536

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 268
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos Relacionados al Edit Control


Evento
EditChanged
ItemChanged
ItemError
ItemFocusChanged

Ocurre
Para cada pulsacin que el usuario tipea en
el edit control
Cuando una celda ha sido modificada y
pierde el foco
Cuando al nuevo dato le falta las reglas de
validacin para la columna
Cuando el item actual en el control cambia

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 537

Ingresando y Modificando Datos en Columnas

Los datos pueden ser ingresados en columnas de la siguiente


manera:
Haciendo visible a las Columnas y el tab order mayor que cero
z Usando la funcin del Control DataWindow:
z

SetItem()
Sintaxis:
integer dwcontrol.SetItem ( long row, integer column, any value )
Ejemplo:
dw_patient.SetItem(1, "gender", F)

1 - 538

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 269
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Insertando Filas

Para insertar filas en un DataWindow se usa


z

La funcin InsertRow()
Sintaxis:
long dwcontrol.InsertRow ( long row )
Ejemplo:
long ll_newrow
Ll_nerow = dw_pateint.InsertRow(0)
dw_pateint.ScrollToRow(ll_newrow)

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 539

Borrando Filas

Para borrar filas en un DataWindow se usa


z

La funcin DeleteRow()

Sintaxis:
integer dwcontrol.DeleteRow ( long row )

Retorna:

1 Si es satisfactorio
-1 Si ocurri un error

Ejemplo:
Integer li_stat
li_stat = dw_patient.DeleteRow(0)
If li_stat = -1 then
..
1 - 540

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 270
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DeleteRow( )

1 - 541

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Los Update Properties del DataWindow afecta la habilidad de
actualizar el objeto DataWindow
El control DataWindow es usado para adicionar, actualizar y borrar
datos en los buffers del DataWindow
El Edit Control proporciona el rea de trabajo al usuario para
ingresar datos en el control DataWindow
PowerBuilder tiene funciones para insertar o borrar filas
PowerBuilder usa el cdigo de retorno para disparar eventos
apropiados

1 - 542

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 271
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 16

Lab 16-1: Creacin y programacin del objeto Cabecera Detalle

1 - 543

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 17: Grabando datos en la Base


de datos

1 - 272
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Modificar las caractersticas Update del DataWindow para reflejar la
habilidad deseada para actualizar
z Describir el Rol que el Tab Order tiene en la Interfaz de Usuario
z Codificar la actualizacin de un DataWindow
z Explicar el rol del rollback
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 545

Objeto DataWindow: Update Properties

El DataWindow update properties nos permite especificar:


La Tabla que puede actualizarse o no
z El Nombre de la tabla para ser actualizada
z Clusula Where para el updates y deletes
z Key modification
z Updateable columns
z Unique key columns
z

1 - 546

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 273
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Update Property

DataWindow update property puede ser puesta a travs del painter


de la siguiente manera:
z

En el Design Mode, Rows Update Properties

1 - 547

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Detalles del Update Properties


Especificar la Tabla para actualizar (si ms de uno es
especificada)
El Updates puede ser controlado para columnas especficas en
PowerBuilder que incluye en la clusula WHERE en la sentencia
UPDATE o DELETE usado para actualizar la base de datos

1 - 548

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 274
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Key Modification

Use Delete then Insert


z

Borra las filas con el modified key e inserta una nueva fila con el
nuevo valor key

Use Update
z

1 - 549

Actualiza la fila con el modified key reemplazando el valor dentro de


la columna key con el nuevo valor key

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Key Columns Caso 1


Crea la clusula Where consistente de solo las tablas
seleccionadas de los valores key
Ejemplo:
Key Column (Originally 10001)

Clsula Where: patient_id = 10001

UPDATE patient SET city=Irvine WHERE patient_id=1001


1 - 550

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 275
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Key and Updatable Columns Caso 2


Crea la clusula Where consistente de los valores key y los valores
originales de cualquier columna identificada como updatable para la
tabla seleccionada.
z Ejemplo:
Key Column
z

Updatable
Column
UPDATE patient SET address1 = 550 Anne Street
WHERE patient_id = 10001 AND address1 = 111 Address1
AND address2 = Address2 AND
1 - 551

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Key and Modified Columns Caso 3


Crea la clsula Where consistente de valores key y valores
originales para cualquier columna que es modificada para la tabla
seleccionada.
Columna modificada
Ejemplo:
Key Column
Originalmente111 Address 1

UPDATE patient SET address1 = 550 Anne Street


WHERE patient_id = 10001 AND address1 = 111 Address1
1 - 552

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 276
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Update Properties Caso 1


UPDATE patient SET city=Irvine WHERE patient_id=1001

La sentencia update tendr xito sin tener en cuenta si otros


usuarios han modificado la fila desde que su aplicacin recuper la
fila.

1 - 553

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Update Properties Caso 2


UPDATE patient SET address1 = 550 Anne Street
WHERE patient_id = 10001 AND address1 = 111 Address1
AND address2 = Address2 AND

La sentencia UPDATE verificara el valor original de la columna


modificada en la clusula Where.

1 - 554

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 277
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Update Properties Caso 3


UPDATE patient SET address1 = 550 Anne Street
WHERE patient_id = 10001 AND address1 = 111 Address1

La sentencia UPDATE esta verificando todas las columnas


updatable en la clusula WHERE.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 555

Detalles de Update Properties

Updatable Columns:
z

Especifica las columnas updatable para la Tabla seleccionada

Unique Key Columns:


z

1 - 556

Especifica que columnas son incluidas como parte de la llave para


la Tabla seleccionada

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 278
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Codificando el Update Property


Sintaxis: dw_control.Object.columnname.Update
Ejemplos:

dw_patient.Object.First_name.Update = "no"

dw_patient.Modify(first_name.Update=no")

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 557

Actualizando la Base de datos con los Cambios de Datos

Los datos en el Edit Control de una base de datos son


actualizados hasta que un UPDATE es disparado a la base de
datos
z

1 - 558

Siempre que una nueva entrada es adicionada o los cambios son


hechos en un control DataWindow, una actualizacin es necesaria
para disparar los cambios hechos en la base de datos.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 279
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Actualizando la Base de datos con Cambios de Datos

Una vez que el dato ha sido actualizado con la funcin Update(), las nuevas
recuperaciones de la base de datos mostrarn el nuevo valor.

1 - 559

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Actualizando el DataWindow
La funcin Update( ) envia los cambios a la base de datos
Sintaxis:

Integer dwcontrol.Update ( { boolean accept {, boolean resetflag } } )

Ejemplo:
li_stat = dw_patient.Update()

1 - 560

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 280
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Script para Grabar Datos

Ejemplo:
integer li_return
CONNECT USING SQLCA;
dw_patient.SetTransObject(SQLCA)
li_return = dw_patient.Update()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 561

Evento DBError para Update

Existen muchos tipos de errores que pueden ocurrir cuando se


procesa un Datawindow:
Items de datos que son invlidos
z Fallas cuando recupera o actualiza datos
z Los esfuerzos para acceder invlidos o propiedades no existentes
de datos
Cdigo de Retorno para el mtodo Update:
z

Cdigo de Retorno

1 - 562

Significado

Actualizacin satisfactoria.

-1

Falla la Actualizacin; evento DBError es


disparado

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 281
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Evento DBError
Ejemplo: si se prueba insertar una fila que no tiene valores para
todas las columnas que han sido definidos como no permitor
NULL, el DBMS desecha y el evento DBError es disparado.
Por defecto, el control DataWindow muestra un message box
describiendo el mensaje de error desde el DBMS:

1 - 563

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

SQLDBCode y SQLErrtext
Esto es generado por el sistema y la base de datos especifica
Estos cdigos de error son generados por la base de datos y
pueden ser capturados en el script

Mensaje
SQLDBCode
Mensaje
SQLErrText
1 - 564

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 282
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sentencias de Administracin de Transaccin

Estas sentencias son usados con los objetos Transaction para


manejar las conexiones y las transacciones.
z

Lista de Sentencias Transaction Management :

CONNECT {using transaction_object};


COMMIT {using transaction_object};
DISCONNECT {using transaction_object};
ROLLBACK {using transaction_object};

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 565

Commit using {Transaction};


Todos los cambios hechos a la base de datos desde la ltima
actualizacin emitido en la transaccin de la base de datos son
hechos permanente
Condicin: Si AutoCommit es FALSE

Un COMMIT TRANSACTION es emitido a la base de datos


despus de que cada actualizacin se dispar.
z Explcito COMMIT es intil como todos los cambios a la base de
datos previo estn ya automticamente guardados.
z

1 - 566

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 283
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Rollback using {transaction};


Deshace todos los cambios hechos a la base de datos antes del
ltimo UPDATE emitido
Condicin:

Si AutoCommit es TRUE

ROLLBACK no tiene efecto porque ya todos los cambios previos a la


base de datos son guardados.

Si AutoCommit es FALSE

Cuando un ROLLBACK es emitido, este ejecuta un BEGIN


TRANSACTION para iniciar una nueva sesin o trabajar en la base
de datos.

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 567

Consideraciones de Diseo de Aplicacin

COMMIT previene las Conexiones por mucho tiempo

1 - 568

Admisible para tener COMMIT en intervalos regulares para seguridad


y almacenar los datos procesados
Debe ser emitido para liberar cualquier bloqueo que ha sido ubicado
en las entidades de la base de datos

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 284
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejemplo de Script
// Poner las propiedades de conexin al SQLCA.
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False // AutoCommit es pueto 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;

1 - 569

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen

1 - 570

Datawindow update property es usado para indentificar las


columnas updatable
El control DataWindow genera las sentencias SQL INSERT y
UPDATE para las filas en el buffer Primary y/o Filter basado en el
estado de la fila
Rollback termina todos los cambios hechos a la base de datos
antes del ltimo UPDATE emitido, si la propiedad AutoCommit es
false

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 285
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PowerBuilder Developer v10.0

Mdulo 18: Liberando la Aplicacin

Objetivos
Al finalizar este mdulo, ser capaz de:
Crear un Project Application
Listar las condiciones en que un archivo de recurso es necesario
Diferenciar entre el uso PBDs en conjuncin con un EXE versus
simplemente desplegar un EXE.
Listar archivos auxiliares necesarios para desplegar a un cliente.

1 - 572

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 286
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Deployment
Determinar los
Requerimiento de
Distribucin

Agregue los
Materiales
Externos

Crear Ejecutables
y DLLs/PBDs

EXE
.BMP

PBD
DLL

DataWindow

1 - 573

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Componentes de Aplicaciones PowerBuilder


Componentes de Aplicacin
Bitmaps
Bitmaps

Grficos

Icons
Icons
Help
HelpFiles
Files

Otros

1 - 574

Application
Application
INI
INIFiles
Files

Application
Application
Object
Object
Menus
Menus

Queries
Queries

DataWindow
DataWindow
Objects
Objects

Windows
Windows
Structures
Structures
Global
Global
Functions
Functions

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 287
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Project Application

1 - 575

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Painter del Project


Archivos de
Recursos
Options Build
Generacin de
Cdigo
Dynamic Libraries

1 - 576

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 288
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PowerBuilder Dynamic Libraries


(PBDs)

MYAPP.EXE

MYAPP
PBL

1 - 577

YOURAPP.EXE

YOURAPP
PBL

COMMON
PBD

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un PBD
1.
2.
3.
4.

Crear un nuevo (vaco) PBL


Mover objetos a la nueva PBL
Adicionar nuevas PBLs al library search path
Genere un PBD desde el PBL
1

2
Original
PBL

New PBL

4
New PDB
1 - 578

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 289
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Runtime Library (PBD)


Acceder desde el men de contexto en el System Tree
Seleccionar Build Runtime Library

1 - 579

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Agrupando Option 1 (Archivos PBD)


foldergr.ico
SybHealth.EXE

SybHealth1.gif
SybHealth.PBL

SybHealth.PBD

Orders.PBL

Orders.PBD

Products.PBL

1 - 580

Products.PBD

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 290
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un PBR

1 - 581

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Resource Files (PBRs)


healthcare1.jpg
healthcare2.jpg
ambulance.jpg
doctors.jpg
medicine.jpg
sybHealth.pbl(d_claims)
sybHealth.pbl(d_patient_form)
sybHealth.pbl(d_policy_info)
sybHealth_report.pbl(d_rpt_claims)
sybHealth_report.pbl(d_rpt_patient)
sybHealth_screens.pbl(d_all_claims)
1 - 582

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 291
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Cuando usar un PBR

Siempre que los recursos externos sean asignados


dinmicamente
z

Bitmaps
picture_control.PictureName = "bmp_or_rle_filename"

Icons
dw_control.Icon = "ico_filename"

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 583

Cuando usar un PBR

Siempre que los recursos internos sean asignados


dinmicamente, y se est compilando un EXE en lugar de PBD o
DLL
z

DataWindows
dw_control.DataObject = "d_object_name"

Archivos de recursos no son necesarios para objetos DataWindow


en PBD o DLL
z

1 - 584

Todos los objetos PowerBuilder en el source PBL son incluidos en


el PBD o DLL resultante

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 292
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Opciones de Generacin de Cdigo: Machine Code


Machine Code compila DLLs
Ventajas

Rpido para exprexiones matemticas complejas y looping


constructs
z Ningn efecto en la velocidad de instanciacin de objetos, acceso a
base de datos, o llamada de funciones DataWindow
z

Desventajas
Toma ms tiempo compilar
z Plataforma especfica
z El archivo ejecutable significativamente ms grande puede bajar
lentamente la performance
z

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 585

Opciones de Generacin de Cdigo: Pcode


Pcode compila PBDs
Ventajas

Compila ms rpido bueno para propsitos de prueba


z Produce ejecutables ms pequeos
z Interpretado ejecuta en todas las plataformas soportadas por
PowerBuilder
z

Desventajas
z

1 - 586

Interpretado Puede ejecutarse ms lentamente

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 293
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Machine Code o Pcode?

Se recomienda que pruebas de performance se realicen dentro de


las condiciones actuales del usuario final para determinar el uso
de machine code

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 587

Runtime DLLs Necesarias

Para Ejecutar la Aplicacin Standalone, las siguientes DLLs son


requeridas para estar en el mismo flder de la aplicacin o en el
flder de Sistema para el Sistema Operativo
libjcc.dll
z pbvm90.dll
z pbodb90.dll
z ppdwe90.dll
z

1 - 588

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 294
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Desplegando a otros Ambientes


Lgica de Negocio encapsulada en objetos no visuales
PowerBuilder puede ser necesaria para otras aplicaciones
Desplegar lgica de negocio a un application server para permitir
el acceso a mltiples frontends
Reglas de negocio son fcilmente reusadas
Alguna lgica de DataWindow puede ser necesario reescribirse si
mltiples mquinas son involucradas

1 - 589

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

EAServer Component Support


PowerBuilder
Java
EJB
C++
XML
Web Services
etc

1 - 590

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 295
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Arquitectura EAServer
Java

COM

Web
Server

Browser

EAServer

HTTP

IIOP

PowerBuilder
1 - 591

CORBA

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Los componentes de una aplicacin PowerBuilder incluyen objetos
PowerBulider o items no PowerBuilder.
Se puede incluir todos los objetos en el archivo Ejecutable (EXE).
Se puede incluir algunos objetos en archivos ejecutables, y otros
en PowerBuilder dynamic libraries (PBDs) o DLLs.
Los PBDs contienen objetos PowerBuilder compilados.

1 - 592

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 296
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
Los PowerBuilder resource files (PBRs) listan los nombres de
archivos de recursos dinmicamente asignados para propiedades
de objetos.
Los Objetos DataWindow dinmicamente asignados deben ser
listados en un archivo PBR solo si ellos no estn compilados en
PBDs o DLLs.
El Application Project wizard configura un nuevo PowerBuilder
application project.
Se puede abrir un project en el painter Project.
Use el painter Project para generar el EXE, PBDs, y DLLs.

1 - 593

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Laboratorio 18

Lab 18-1: Creacin de Ejecutable de la Aplicacin

1 - 594

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 297
Derechos Reservados de TechEra e-Learning