微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Filenet P8 中使用 SQL 查询检索文档的所有版本?

如何解决如何在 Filenet P8 中使用 SQL 查询检索文档的所有版本?

我正在寻找一种重试方法,并在需要时删除位于给定文件夹根目录树中的所有文档及其所有版本,而不仅仅是当前版本。

最简单的方法可能是批量删除sql 查询。由于以前版本的文档未归档在文件夹中,因此我继续这样做:

  • 对 Document 类执行 SELECT 请求
  • 使用 version_series 键在文档版本 (LEFT JOIN) 和其他版本 (Document AS doc) 之间添加 Document AS doc2
  • 过滤以仅从其他版本 (doc2.IsCurrentVersion = true) 中获取当前版本
  • 获取当前版本在给定文件夹树 (INSUBFOLDER clause) 中归档的文档

附加步骤:

  • 左连接 referentialContainmentRelationShipFolder 类以获取文档当前版本所在文件夹的路径名

最终请求如下所示:

SELECT doc.this,doc.majorversionnumber AS "MAJV",doc.minorversionnumber AS "MINV",doc.IsCurrentVersion AS "Is Current",doc2.This AS "Current version",f.pathname AS "Current version folder"
FROM ((Document doc
       LEFT JOIN Document doc2 ON
                 doc2.VersionSeries = doc.VersionSeries)
       LEFT JOIN referentialContainmentRelationShip rcr ON
                 doc2.VersionSeries = rcr.VersionSeries)
LEFT JOIN Folder f ON f.This = rcr.tail
WHERE doc2.IsCurrentVersion = true AND
      doc2.this INSUBFOLDER '/path/to/a/folder'
ORDER BY doc2.This

这是实现目标的好方法而不是矫枉过正吗?

解决方法

删除文档将删除所有版本。您必须执行降级才能删除当前版本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。