Files
MBS/PROYECTO/ccdir/nuevotree.4gl
T

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