88 lines
2.5 KiB
Plaintext
88 lines
2.5 KiB
Plaintext
|
|
|
|
DEFINE tree_t DYNAMIC ARRAY OF RECORD
|
|
nombre VARCHAR(70),
|
|
imagen VARCHAR(30),
|
|
valor SMALLINT,
|
|
nodo VARCHAR(10),
|
|
hijos VARCHAR(10)
|
|
|
|
END RECORD,
|
|
k,p SMALLINT
|
|
|
|
|
|
MAIN
|
|
CONNECT TO "smarmotech" USER 'JSOTO' USING 'lmmjvsd2014'
|
|
OPEN WINDOW w WITH FORM "nuevotree"
|
|
|
|
CALL condatos()
|
|
#CALL fetch_tree()
|
|
CLOSE WINDOW w
|
|
|
|
END MAIN
|
|
|
|
FUNCTION condatos()
|
|
DEFINE pdescrip VARCHAR(100),
|
|
pcodigo,i,x INT
|
|
DECLARE busca CURSOR FOR SELECT a.descripcion,a.codigo_Grupo FROM vetb00054 a WHERE a.status_t IS NULL
|
|
ORDER BY a.descripcion
|
|
|
|
LET i = 1
|
|
FOREACH busca INTO pdescrip,pcodigo
|
|
LET tree_t[i].nombre = pdescrip," PAPA ",i USING "<<"
|
|
LET tree_t[i].valor=pcodigo
|
|
LET tree_t[i].nodo = ' '
|
|
LET tree_t[i].hijos = i
|
|
LET tree_t[i].imagen='about.png'
|
|
CALL llenahijos(tree_t[i].hijos,pcodigo) RETURNING x
|
|
|
|
LET i = x + 1
|
|
END FOREACH
|
|
FOR i = 1 TO tree_t.getLength()
|
|
DISPLAY "DATA ",tree_t[i].nombre," nodo ",tree_t[i].nodo," hijo ",tree_t[i].hijos
|
|
END FOR
|
|
DISPLAY ARRAY tree_t TO record1.*
|
|
END FUNCTION
|
|
FUNCTION llenahijos(j,kcodigo)
|
|
DEFINE j,
|
|
kcodigo INT,
|
|
pnombre VARCHAR(100)
|
|
|
|
DECLARE busca_h CURSOR FOR SELECT a.nombre FROM vetb00004 a,vetb00052 b
|
|
WHERE b.codigo_grupo = kcodigo AND a.tipo_cliente = b.tipo_cliente AND
|
|
a.sec_cliente = b.sec_cliente
|
|
LET k = j + 1
|
|
|
|
# IF p IS NULL OR p = 0 THEN
|
|
LET p = j+1
|
|
# END IF
|
|
FOREACH busca_h INTO pnombre
|
|
LET tree_t[p].hijos = j USING "<<",".",k USING "<<"
|
|
LET tree_t[p].nombre = pnombre
|
|
LET tree_t[p].nodo = j USING "<<"
|
|
LET p = p+1
|
|
END FOREACH
|
|
RETURN p -1
|
|
END FUNCTION
|
|
|
|
FUNCTION fetch_tree()
|
|
DEFINE pid, i, j, n INTEGER
|
|
|
|
FOR i = 1 TO 1
|
|
LET tree_t[i].nombre = "DATO"
|
|
LET tree_t[i].valor=1
|
|
LET tree_t[i].nodo = ' '
|
|
LET tree_t[i].hijos = '1'
|
|
END FOR
|
|
FOR j = 2 TO 4
|
|
LET tree_t[j].nombre = "HIJO DEL DATO ",i-1 USING "<<"
|
|
LET tree_t[j].valor=1
|
|
LET tree_t[j].nodo = i -1#i USING "<<"
|
|
LET tree_t[j].hijos = '1',".",i
|
|
|
|
END FOR
|
|
DISPLAY ARRAY tree_t TO record1.*
|
|
FOR i = 1 TO tree_t.getLength()
|
|
DISPLAY "DATA ",tree_t[i].nombre," nodo ",tree_t[i].nodo," hijo ",tree_t[i].hijos
|
|
END FOR
|
|
END FUNCTION |