Power Builder - ejecutar una cadena en Power Builder

 
Vista:

ejecutar una cadena en Power Builder

Publicado por Sigfredo Franco (1 intervención) el 30/10/2019 15:46:52
Alguien puede indicarme si, en Power Builder se puede ejecutar la siguiente cadena

1
2
3
4
5
6
7
8
9
STRING menu_prin,item_1,subitem_1, vari
BOOLEAN Nivel_1
 
menu_prin = 'm_principal'
item_1 =  'm_areas'
subitem_1 = 'm_comercial'
Nivel_1 = 'False'
 
menu_prin + '.' + item_1 + '.' + subitem_1 + '.' + 'Enabled'  =  string(Nivel_1)

La idea es recuperar de una tabla los datos de las variables men_prin, item_1, subitem_1 y Nivel_1 con un Select

es para habilitar o deshabilitar una opcion de menu en forma dinámica
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
Imágen de perfil de Leonardo Daniel A.
Val: 817
Oro
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

ejecutar una cadena en Power Builder

Publicado por Leonardo Daniel A. (360 intervenciones) el 30/10/2019 22:55:20
Nop, de hecho yo tambien estoy buscando una solucion para deshabilitar u ocultar opciones del menu
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

ejecutar una cadena en Power Builder

Publicado por Jorge (28 intervenciones) el 08/12/2019 22:16:20
Hola,

Tal como lo muestras no es posible crear un objeto menú con variables de tipo cadena.

Pero, por lo que mencionas, se obtiene el mismo resultado de esta manera.

a) Crear una tabla con mínimo dos campos. Uno para guardar el nombre del item y otro para su valor (verdadero/falso). Esto, al parecer, ya lo tienes.

b) Luego, para evitar constantes accesos a Base de Datos, lo recomendable es que, al iniciar sesión en el sistema, se recupere la tabla y se guarde en una variable tipo datastore con alcance global, de modo que se puede leer desde cualquier otro objeto.

c) Crear una función y recorrer el menu item por item; para cada item se evaluará si es el último nivel o es padre de otros items. Si es el último nivel, evaluar si dicho nombre está en el datastore y obtener el valor verdadero/falso y con esto aplicar a la propiedad Enabled.

1
amnu_menu.Item[li_loop].Enabled = valor obtenido

Espero haberte dado la idea, yo controlo los menus de esta manera.

NOTA:
En mi caso he creado una función a la que envío como parámetro el nombre del objeto menú; por ello la variable amu_menu.


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