Входные параметры
Параметр | Тип | Описание |
---|---|---|
PARENTOBJID |
INTEGER |
|
Выходные параметры
Параметр | Тип | Описание |
---|---|---|
OBJID |
INTEGER |
|
OBJPARENTID |
INTEGER |
|
OBJNAME |
VARCHAR(31) |
|
CAPTION |
VARCHAR(51) |
|
OBJCLASSID |
INTEGER |
|
OBJPARAMS |
VARCHAR(255) |
|
Описание
Развращает список обэктов принадлещащих данному
Определение
CREATE PROCEDURE OBJECTS_GET_CHILD(
PARENTOBJID INTEGER)
RETURNS (
OBJID INTEGER,
OBJPARENTID INTEGER,
OBJNAME VARCHAR(31),
CAPTION VARCHAR(51),
OBJCLASSID INTEGER,
OBJPARAMS VARCHAR(255))
AS
begin
for
select OBJECTS.OBJID, OBJECTS.OBJCLASSID, OBJECTS.OBJNAME,
OBJECTS.CAPTION, OBJECTS.OBJPARAMS
from OBJRELATIONS
left join OBJECTS on (OBJECTS.OBJID = OBJRELATIONS.OBJID)
where (OBJRELATIONS.PARENTOBJID = :PARENTOBJID)
order by OBJRELATIONS.OBJRELATIONID
into :OBJID, :OBJCLASSID, :OBJNAME, :CAPTION, :OBJPARAMS
do begin
OBJPARENTID = :PARENTOBJID;
suspend;
if (:OBJCLASSID = 2) then begin
OBJPARENTID = :OBJID;
for
select OBJECTS_GET_CHILD.OBJID, OBJECTS_GET_CHILD.OBJCLASSID,
OBJECTS_GET_CHILD.OBJNAME, OBJECTS_GET_CHILD.CAPTION,
OBJECTS_GET_CHILD.OBJPARAMS
from OBJECTS_GET_CHILD(:OBJID)
into :OBJID, :OBJCLASSID, :OBJNAME, :CAPTION, :OBJPARAMS
do
if (not(:OBJID is null)) then
suspend;
end
end
end