Есть ли способ в Documentum получить все подпапки в папке? Может кто-то предложить DQL или что-то, где я могу указать родительскую папку, а DQL возвращает мне путь к папке всех подпапок.Documentum - получение списка подпапок
ответ
select distinct r_folder_path from dm_folder where folder('/Folder1/Folder2', descend)
Это вернет все папки и вложенные папки/Folder1/Folder2
Одна вещь, чтобы иметь в виду:
Documentum поддерживает связь объектов в нескольких родительских папок. Это означает, что одна папка может иметь несколько родительских папок.
Если у вас есть структура папок, как этот
Cabinet1
/Test1
/Test3
/Test2/
/Test3
Где Test3
находится к югу папка Test1
, но и (как это может быть связано с) Test2
!
Documentum выполняет это с использованием повторяющихся атрибутов. r_folder_path
является атрибутом repata dm_folder
(фактически dm_sysobject
, который является супер-типом). Таким образом, работает DQL:
select distinct r_folder_path from dm_folder where folder('/Folder1/Folder2', descend)
будет возвращать все пути к папкам папка является частью (связана):
/Cabinet1/Test1/Test3
/Cabinet1/Test2/Test3
Который может не быть то, что вы ищете!
Поскольку DQL не позволяет указать, какое повторяющееся значение атрибута (вы не можете указать индекс повторяющегося атрибута), которое должно быть возвращено, в DQL нет элегантного (и отказоустойчивого) способа сделать это.
Что вы можете сделать, это извлечь все вложенные папки object_name
и прикрепить их к пути папки родительской папки, которую вы использовали в поиске (но это с некоторой кодировкой).
Check Documentum Content Server Reference System Object руководство (оно доступно на EMC developer community или теперь here)