Condicionamiento de datos diseñados en power builder

Saludos, estoy diseñando un reporte utilizando los DW de power builder 7, pues bien realizo ya la consulta y los datos obtenidos son correctos, como puedo hacer para que ciertos datos pueda colocarlos en un campo computado, esto dependiendo de una condición.
Es de suma urgencia, desde ya muchas gracias.
Saludos Klever.

1 Respuesta

Respuesta
1
A ver si te entendí, lo que quieres poner un campo computado en el detalle del dw, que este asociado a un campo de la misma fila, para esto debes entrar a la edición del dw (presionando en el icono SQL), y en la pestaña computed, escribes p ejm:
Precio * 0.18 as impuesto
Y te fijas en la pestaña syntax y te debe estar quedando algo parecido a:
SELECT "producto"."pro_id",
"producto"."pro_desc",
"producto"."precio",
Precio * 20 as computed
FROM "producto"
Ha y si lo que quieres es poner un campo computado que no tenga nada que ver con los campos elegidos en el dw, como por ejemplo un campo(CheckBox), que te permita saber que filas estanm seleccionadas, haces lo siguiente:
Sigues los mismo pasos del ejemploa anterior, y en la pestaña computed pones:
0 has seleccionado
Y ya en las propiedades del campo en la pestaña Edit, eliges en la propiedad
Style Type - CheckBox, y si deseas eliges la propiedad 3D Look, ha no te olvides de poner en las propiedades:
data value for on 1 esto cuando el ckeckBox este seleccionado
data value for off 0 esto cuando el ckeckBox no este seleccionado,
de manera que desde la ventana de donde estas llamando al dw, escribes:
long ll_row
ll_row = dw_1.getrow()
if dw_1.Object.Seleccionado[ll_row] = 1 then
messagebox("Aviso","la fila" + string(ll_row) + " esta seleccionada")
end if
Por ultimo, si por ejemplo necesitas mostrar, en un campo computado una lógica que tenga que ver con un argumento de recuperación del dw, creas arg_1 (argumento), y ademas en el dw con los contorles del dw, creas un computed fields, cuando intentes ponerlo en el lugar que deseas te pedirá la lógica del campo, y eliges p ejm: arg1* campo1- campo2
Otra cosa que se te puede presentar es: que necesites por ejemplo mostrar la fecha del servidor de BD, para esto ceras una función llamada p ej f_fec_server(), con o sin argumentos, y que ten + o - el siguiente código:
datetime ld_fecha
select sysdate
into :ld_fecha from dual ;
return ld_fecha
Y para mostrarlo en el dw creas un computed field como en el ej anterior y cuando te pida la lógica del campo le pones: f_fec_server(), y ya, eso es todo.
Ok.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas