Abrimos el ORACLE SQL DEVELOPER, entrar con un usuario de privilegios para para crear tablas y procedimientos. Aqui esta el script:
1. CREACION DE LA TABLA Y DE LOS REGISTROS RESPECTIVOS
CREATE TABLE temp_menu (
codigo number,
descripcion varchar2(100),
orden varchar2(50),
nivel number,
apertura varchar2(20),
objeto varchar2(50));
INSERT INTO temp_menu VALUES (
1,
'ARCHIVO',
'001',
1,
'O',
NULL);
INSERT INTO temp_menu VALUES (
2,
'INICIO',
'002',
1,
'O',
NULL);
INSERT INTO temp_menu VALUES (
3,
'ENVIAR Y RECIBIR',
'003',
1,
'O',
NULL);
INSERT INTO temp_menu VALUES (
4,
'CARPETA',
'004',
1,
'O',
NULL);
INSERT INTO temp_menu VALUES (
5,
'VISTA',
'005',
1,
'O',
NULL);
INSERT INTO temp_menu VALUES (
6,
'GUARDAR',
'001001',
2,
'O',
NULL);
INSERT INTO temp_menu VALUES (
7,
'GUARDAR COMO',
'001002',
2,
'O',
NULL);
INSERT INTO temp_menu VALUES (
8,
'INFORMACION',
'001003',
2,
'O',
NULL);
INSERT INTO temp_menu VALUES (
9,
'CONFIGURACION DE LA CUENTA',
'001003001',
3,
'O',
NULL);
INSERT INTO temp_menu VALUES (
10,
'HERRAMIENTAS DE LIMPIEZA',
'001003002',
3,
'O',
NULL);
INSERT INTO temp_menu VALUES (
11,
'ADMINISTRAR REGLAS Y ALERTAS',
'001003003',
3,
'O',
NULL);
INSERT INTO temp_menu VALUES (
12,
'LIMPIEZA DE BUZON',
'001003002001',
4,
'W',
NULL);
INSERT INTO temp_menu VALUES (
13,
'VACIAR CARPETA ELEMENTO ELIMINADOS',
'001003002002',
4,
'W',
NULL);
INSERT INTO temp_menu VALUES (
14,
'ARCHIVAR',
'001003002003',
4,
'W',
NULL);
commit ;
2. CREACION DE UN PAQUETE
create or replace
PACKAGE TIPO_RETORNO AS
type CURSOR_DINAMICO is REF CURSOR;
END TIPO_RETORNO;
3. CREACION DE UN PROCEDURE
CREATE OR REPLACE PROCEDURE SP_MENU
( VO_CURSOR out TIPO_RETORNO.CURSOR_DINAMICO)
IS
BEGIN
OPEN VO_CURSOR FOR
SELECT orden, descripcion, SUBSTR(orden, 1,3) as origen, nivel,to_number(substr(orden, 1,50))as det1 from temp_menu order by orden asc ;
END ;
4. CREAR APLICATIVO EN POWERBUILDER
En PowerBuilder, creamos una ventana y le adicionamos un Treeview y lo ponemos como nombre tv_dinamico. Para hacer este ejemplo ya se debe tener la conexión establecida con la base de datos.
En el evento OPEN de la ventana que contiene el objeto treeview digitamos lo siguiente:
string ls_orden, ls_descripcion, ls_origen,ls_nivel,det1
Long ll_lev0, ll_lev1, ll_lev2
TreeViewItem ltvi_root, ltvi_node
DECLARE pro_menu PROCEDURE FOR sp_menu USING SQLCA;
EXECUTE pro_menu ;
if SQLCA.SQLcode <> 0 then
messagebox('error', sqlca.SQLErrText)
end if
FETCH pro_menu INTO :ls_orden, :ls_descripcion, :ls_origen,:ls_nivel,:det1 ;
DO WHILE SQLCA.SQLcode = 0
ltvi_root.Label =ls_descripcion
ll_lev1 = tv_dinamico.InsertItemLast( 0, ltvi_root )
FETCH pro_menu INTO :ls_orden, :ls_descripcion, :ls_origen,:ls_nivel,:det1 ;
LOOP;

como sería la conexion puedes citarla el sqlca de conexión a Oracle
ResponderEliminarBet365 online bookmakers free bets 2021 - CasinoFreak.com 카지노 카지노 m88 m88 604Roulette Betway: Best Online Betting and Gambling Site
ResponderEliminar