Power Builder - Agregar compute en Datawindow

   
Vista:

Agregar compute en Datawindow

Publicado por Hugo SS hugosvoboda@hotmail.com (11 intervenciones) el 01/06/2011 19:17:19
Hola como estan??

Estoy desesperado porque me encuentro trabado en una situación ya para mi complicada.
Resulta que en mi aplicación estoy generando datawindows dinámicas.

Utilizo:

s_syntax = SQLCA.syntaxfromsql(consulta_sql,dw_tipo, s_error)
dw_informe_avanzado.create(s_syntax, s_error)

para la creación de los dw.
En consulta_sql envío la consulta sql, en dw_tipo le paso el style=Grid.

Luego uso la función modify() para ir modificando las propiedades de los datawindow.

El problema es cuando necesito crear compute dentro de las datawindow dinàmicas para hacer sumas u operaciones. Necesito sumar totales y que me lo muestre en el footer y no logro crear el compute mediante código fuente.

Alguien sabe como lo puedo hacer?

Graciassssssssssss
Saludos!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Agregar compute en Datawindow

Publicado por JeinnerH (638 intervenciones) el 01/06/2011 19:41:14
Estás variando el SQL del DW, pero no sé a qué nivel realizas el cambio de la información que se genera. Porque lo que puedes hacer es tener una consulta base en el DW, el cual tiene sus campos sumados, sobre un campo X.

Cuando cambias la consulta, lo que haces es que los campos que se deben sumar se llamen igual que en la consulta base, así siempre va a sumar X.

Otra opción es crear el campo computado por código, como lo quieres hacer, esto se hace de la siguiente forma:

Exportas un DW en donde hayas creado un campo computado que tenga una sumatoria, este campo estará en el Sumary o donde lo desees ocupar. Abres el archivo exportado y buscas dónde queda la descripción del mismo. Tomas la sintaxis y la utilizas en la función Create.

Create('SINTAXIS_TOMADA', ls_error)

Si mal no recuerdo, esto se hace de esta manera.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Agregar compute en Datawindow

Publicado por Leopoldo Taylhardat (690 intervenciones) el 25/06/2011 22:34:48
Saludos.

// Montamos el computado con la información de las páginas.
ls_create = "create compute(band=header color=~"0~" alignment=~"1~" border=~"0~" " &
+ "x=~"" + string(xxx) + "~" y=~"60~" " &
+ "height=~"60~" width=~"503~" format=~"[GENERAL]~" " &
+ "expression=~"'Pág. ' + page() + ' de ' + pageCount()~" " &
+ "font.face=~"Arial~" font.height=~"-7~" font.weight=~"400~" font.family=~"2~" " &
+ "font.pitch=~"2~" font.charset=~"0~" background.mode=~"1~" background.color=~"553648127~")"

dw_xx.DYNAMIC modify(ls_create)


donde dice..."expression=~"'Pág. ' + page() + ' de ' + pageCount()~" es lo que vas a modificar...
donde dice ... "x=~"" + string(xxx) + "~" xxx es el eje X gráfico
tiene que terminar con... ~ para indicar al PB que tabule campo posicional.
puedes cambiar .... band=header por band=footer para que sea en pie de página...

espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Agregar compute en Datawindow

Publicado por JeinnerH (638 intervenciones) el 01/06/2011 19:45:47
Perdón, pero creo que la creación se hacía igual al siguiente ejemplo:

string modstring

modstring = 'create rectangle(Band=background X="206" Y="6" height="69" width="1363" brush.hatch="6" brush.color="12632256" pen.style="0" pen.width="14" pen.color="268435584" background.mode="2" background.color="-1879048064" name=rect1 )'

dw_cust.Modify(modstring)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar