Calificación del usuario: 2  / 5

Estrellas activasEstrellas activasEstrellas inactivasEstrellas inactivasEstrellas inactivas

Este articulo describe como al hacer click en la cabecera de un datawindow, permite que se ordene el datawindow por esa columna. El nombre de la cabecera de la columna tiene que tener el mismo nombre que en la base de datos y acabado en _t 
Por ejemplo:
Nombre de la columna: emp_id
Nombre de la cabecera: emp_id_t

Sólo se puede ordenar por una columna cada vez.

String ls_old_sort, ls_column 

Char lc_sort 

/* Chequea cuando el usuario hace click en la cabecera */ 

IF Right(dwo.Name,2) = "_t" THEN 

   ls_column = LEFT(dwo.Name, LEN(String(dwo.Name)) - 2) 

   /* Guarda la última ordenación, si hubiera alguna*/ 

   ls_old_sort = dw_1.Describe("Datawindow.Table.sort") 

   /* Chequea cuando préviamente se ordenó una columna y en la que se hace click actualmente es la misma o no. Si es la misma, entonces se chequea el orden de ordenación del ordenamiento anterior (A - Ascendente, D - Descendente) y lo cambia. Si las columnas odenadas no son las mismas, las ordena en orden ascendente. */ 

 

   IF ls_column = LEFT(ls_old_sort, LEN(ls_old_sort) - 2) THEN 

      lc_sort = RIGHT(ls_old_sort, 1) 

      IF lc_sort = 'A' THEN 

         lc_sort = 'D' 

      ELSE 

         lc_sort = 'A' 

      END IF 

      dw_1.SetSort(ls_column+" "+lc_sort) 

   ELSE 

      dw_1.SetSort(ls_column+" A") 

   END IF 

   dw_1.Sort() 

END IF 


Autor : E.Bala muthaiya - Esta dirección de correo electrónico está protegida contra spambots. Necesita activar JavaScript para visualizarla.

Calificación del usuario: 5  / 5

Estrellas activasEstrellas activasEstrellas activasEstrellas activasEstrellas activas

Como crear una tabla o modificar una tabla desde el power script. Usa la sentencia EXECUTE IMMEDIATE. Coloca el AutoCommit a TRUE porque el DDL SQL tiene que ejecutarse fuera de la transacción.

String ls_sql
SQLCA.AutoCommit = True
ls_sql = "create table #tmp (abc varchar(255))"
EXECUTE IMMEDIATE :ls_sql USING SQLCA;

Para modificar una tabla se usa la misma idea:
ls_sql = 'ALTER TABLE dba.tbl_name ADD col_name'
EXECUTE IMMEDIATE :ls_sql USING SQLCA;

Estrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivas

Esta rutina permite al desarollador buscar un item del menu. Se coloca en un string el nombre del item del menu que desea buscar
- Cree una nueva funcion (Window function, object function o simplemente una function)
- Defina una variable de return de tipo integer
- Defina los argumentos:

    1. Tipo Menu para am_menu (by value)
    2. Tipo String para as_opcao (by value)
    3. Tipo Menu para am_retmenu (by reference)

Estrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivas

El AutoScript es una herramienta diseñada para ayudar a escribir el PowerScript mas fácilmente. Con esto usted puede desde el teclado ir colocando propiedades, eventos, funciones o nombres de variables automaticamente.


Para activar el autoscript debe ir al menu Design>Options y en el tab de AutoScript seleccionar Automatic PopUp. Si selecciona la opción de AutoScript only with dot notation solo se abre el autoscript despues de que escribe un objeto y oprime el punto.

Estrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivas

Llamados a las API de Windows desde Power Builder

Power Builder al igual que otros lenguajes de programación, provee la capacidad de extender las posibilidades del lenguaje tomando funcionalidades que pertenecen al sistema operativo o controles de terceras partes. Este proceso es lo que se llama API (Application Programming Interface). Algunas personas incluyen DLLs que han realizado en C o C++, para usarlos en Power Builder. Pero los mas comunes llamados son los que se hacen a las API del sistema operativo, para que el programador acceda directamente a funciones que desde power builder tocaría desarrollarlas, y el sistema operativo ya las tiene implementadas.

COMO SE HACE EL LLAMADO

Los llamados a los API se realizan a través de la declaración de funciones externas (External Function), que pueden ser globales o locales. Las Global external function, pueden ser utilizadas en cualquier lugar de la aplicación y son guardadas con otras variables globales. las Local external function hacen parte de la definición de una ventana, un menú, o un objeto de usuario.

Ahora en el bloque de código de la external function, definimos la función que deseamos incluir, la cual tiene esta sintaxis:

Calificación del usuario: 3  / 5

Estrellas activasEstrellas activasEstrellas activasEstrellas inactivasEstrellas inactivas

Estos son los estándares de nomenclatura para las variables estándar declaradas dentro del entorno Powerscript. Esto incluye variables declaradas en ventanas de diálogo tales como variables globales y de instancia. El nombre del objeto debe escribirse usando Camel Case. Camel case es un estándar utilizado para ayudar a la legibilidad en los scripts, la primera letra de cada nueva palabra en el nombre de la variable debe estar en mayúsculas. El alcance y el prefijo deben estar siempre en minúsculas. Vea los ejemplos a continuación:

Convención de sintaxis 

   [scope][prefix]_[name]

Calificador de Alcance

 
Alcance Prefijo Ejemplo
Argument a al_NameId
Global g gs_Name
Instance i ii_Count
Local l ls_Foo
Shared s si_Number