Información

Calificación del usuario: 0  / 5

Estrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivas

Genera una matriz CRUD y visualiza los objetos o programas que Create/Read/Update/Delete tus tablas con Visual Expert.

Calificación del usuario: 0  / 5

Estrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivasEstrellas inactivas

Ya sea que estés migrando a PB 2017, que desees actualizar tu base de datos, que desees pasar a aplicaciones móviles o a 64 bits, re-trabajar una aplicación grande y compleja representa un desafío. Este artículo te presenta herramientas de Visual Expert que te facilitarán la migración.

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: 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: 3  / 5

Estrellas activasEstrellas activasEstrellas activasEstrellas inactivasEstrellas inactivas

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;