если конкретнее:
rsrrepdir - каталог запросов, в поле compid - технические имена запросов
rszeltxref - таблица со связями технических id, важны поля seltuid и teltuid
rszrange - собственно ограничения строки запроса
rszcalc - формулы
rszeltdir - каталог компонент репорта (интересно поле mapname)
rszelttxt - тексты компонент репорта
необходимо учитывать, что данные в таблице rszeltxref хранятся рекурсивно, то есть елемент из поля teltuid используется рекурсивно в поле eltuid 
Для получения данных первого уровня рекурсии можно использовать подобный запрос
SELECT DISTINCT a~compid b~laytp d~eltuid x~txtlg d~iobjnm d~low e~mapname f~txtlg g~eltuid
     INTO TABLE lt_query
     FROM rsrrepdir AS a INNER JOIN rszeltxref     AS b ON b~seltuid = a~compuid AND b~objvers = a~objvers
                         INNER JOIN rszeltxref     AS c ON c~seltuid = b~teltuid AND c~objvers = b~objvers
                         INNER JOIN rszrange       AS d ON d~eltuid = c~teltuid AND d~objvers = c~objvers
                         LEFT OUTER JOIN rszeltdir AS e ON e~eltuid = d~low AND e~objvers = d~objvers
                         LEFT OUTER JOIN rszelttxt AS f ON f~eltuid = d~low AND f~objvers = d~objvers AND f~langu = 'E'
                         LEFT OUTER JOIN rszcalc   AS g ON d~eltuid = g~eltuid AND d~objvers = g~objvers AND g~stepnr = '001'
                         LEFT OUTER JOIN rszelttxt AS x ON x~eltuid = d~eltuid AND x~objvers = d~objvers AND x~langu = 'E'
WHERE
 a~compid  LIKE p_compid AND
 b~laytp <> 'NIL'        AND
 b~laytp <> 'SHT'        AND
 b~laytp <> 'FLT'        AND
 a~objvers = 'A'         AND
 b~objvers = 'A'         AND
 c~objvers = 'A'         AND
 d~objvers = 'A'.
Второй уровень рекурсии:
SELECT DISTINCT a~compid c~laytp d~eltuid x~txtlg d~iobjnm d~low e~mapname f~txtlg g~eltuid
     APPENDING TABLE lt_query
     FROM rsrrepdir AS a INNER JOIN rszeltxref     AS b ON b~seltuid = a~compuid AND b~objvers = a~objvers
                         INNER JOIN rszeltxref     AS c ON c~seltuid = b~teltuid AND c~objvers = b~objvers
                         INNER JOIN rszeltxref     AS c2 ON c2~seltuid = c~teltuid AND c2~objvers = c~objvers
                         INNER JOIN rszrange       AS d ON d~eltuid = c2~teltuid AND d~objvers = c2~objvers
                         LEFT OUTER JOIN rszeltdir AS e ON e~eltuid = d~low AND e~objvers = d~objvers
                         LEFT OUTER JOIN rszelttxt AS f ON f~eltuid = d~low AND f~objvers = d~objvers AND f~langu = 'Е'
                         LEFT OUTER JOIN rszcalc   AS g ON d~eltuid = g~eltuid AND d~objvers = g~objvers AND g~stepnr = '001'
                         LEFT OUTER JOIN rszelttxt AS x ON x~eltuid = d~eltuid AND x~objvers = d~objvers AND x~langu = 'Е'
WHERE
 a~compid  LIKE p_compid AND
 c~laytp <> 'NIL'        AND
 c~laytp <> 'SHT'        AND
 c~laytp <> 'FLT'        AND
 a~objvers = 'A'         AND
 b~objvers = 'A'         AND
 c~objvers = 'A'         AND
 c2~objvers = 'A'        AND
 d~objvers = 'A'.
и так далее ...
Можно конечно красивее решить итерацией, но как-то руки до сих пор не дошли 
