2015-09-09 11 views

ответ

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

Это вернет все папки и вложенные папки/Folder1/Folder2

1

Одна вещь, чтобы иметь в виду:

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)