【问题标题】:How to retrieve all versions of a document using SQL queries in Filenet P8?如何在 Filenet P8 中使用 SQL 查询检索文档的所有版本?
【发布时间】:2021-01-14 14:29:26
【问题描述】:

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

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

  • 对 Document 类执行 SELECT 请求
  • 使用 version_series 键在文档版本 (Document AS doc) 和其他版本 (Document AS doc2) 之间添加 LEFT JOIN
  • 过滤以仅从其他版本中获取当前版本 (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

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

【问题讨论】:

    标签: sql filenet-p8 filenet filenet-content-engine


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      相关资源
      最近更新 更多