Documentum - получение списка подпапок

Есть ли способ в Documentum получить все подпапки папки? Может ли кто-нибудь предложить DQL или что-то еще, где я могу указать родительскую папку, и DQL возвращает мне путь к папке всех подпапок.


person Albert Pinto    schedule 09.09.2015    source источник


Ответы (2)


select distinct r_folder_path from dm_folder where folder('/Folder1/Folder2', descend)

Это вернет все папки и подпапки в папке /Folder1/Folder2.

person Albert Pinto    schedule 09.09.2015

Следует помнить одну вещь:

Documentum поддерживает связывание объектов с несколькими родительскими папками. Это означает, что у одной папки может быть несколько родительских папок.

Если у вас есть такая структура папок

Cabinet1 
  /Test1 
    /Test3 
  /Test2/
    /Test3

Где Test3 — это подпапка Test1 но также (поскольку она может быть связана с) Test2!

Documentum достигает этого с помощью повторяющихся атрибутов. r_folder_path — это повторяющийся атрибут 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 подпапок и добавить к ним префикс пути к родительской папке, которую вы использовали при поиске (но это с некоторым кодированием).

Ознакомьтесь с справочным руководством по системным объектам Documentum Content Server (оно доступно в сообществе разработчиков EMC или пока также здесь)

person Milan    schedule 14.09.2015