Calificación del usuario: 0  / 5

Estrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivas

En los datawindows en Grid y columnas es posible hacer aparecer las filas con 2 colores alternos. Es decir se puede hacer que una fila aparezca azul y otra amarilla, una azul una amarilla.. y asi para todas las filas. Para altenar el color de las filas de un datawindow haga lo siguiente. Abra el objeto datawindow y seleccione todos las columnas. Luego abra la expresión (expression) del campo de background color coloque la siguiente sentencia

if ( mod(getrow(),2) = 0, color1, color2 )

Donde color1 y color 2 los puede cambiar por sus colores favoritos asi:

  if ( mod(getrow(),2) = 0, RGB(159,166,213), RGB(232,218,140) )



Traducido de http://www.rgagnon.com/howto.html  Todos los derechos de copia reservados

Calificación del usuario: 5  / 5

Estrellas activasEstrellas activasEstrellas activasEstrellas activasEstrellas activas

Muchas veces necesitamos realizar ordenamiento de arreglos. Aqui una pequeña rutina para ordenar un arreglo desde power builder que no utiliza ciclos o los tipicos ordenamientos de burbuja o Quick sort. ', 'Para ordenar el arreglo se ordena con un pequeño datastore, el datastore lo llamaremos lds_temp

datastore lds_temp
string ls_err
integer i

// change the datastore definition according to the array data type
long ll_array[] = { 2 , 3, 6, 5 }
string ls_dsdef = &
   'release 6; datawindow() table(column=(type=long name=a dbname="a") )'

lds_temp = CREATE datastore
lds_temp.Create(ls_dsdef, ls_err)
// put the array in the datastore
lds_temp.object.a.current = ll_array
lds_temp.SetSort("a ASC")
lds_temp.Sort()
// get back the array
ll_array = lds_temp.object.a.current

FOR i = 1 to Upperbound(ll_array)
  MessageBox("", string(ll_array[i]))
NEXT

DESTROY lds_temp



Traducido de http://www.rgagnon.com/howto.html Todos los derechos de copia reservados

Calificación del usuario: 0  / 5

Estrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivas

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;

Calificación del usuario: 0  / 5

Estrellas inactivasEstrellas inactivasEstrellas 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: 0  / 5

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)