【问题标题】:How to checkin a file with a new updated file by DFC code in Documentum如何通过 Documentum 中的 DFC 代码使用新的更新文件签入文件
【发布时间】:2013-10-31 20:59:49
【问题描述】:

我是 Documentum DFC 的新手,我使用 DFC API 编写了一个代码来签出一个文档并且它工作正常。但现在我想用我本地电脑驱动器中存在的新文件签入同一个文件。我试图搜索它,但没有找到任何好的和简单的答案。

如果有人在这里为我提供指导,我将不胜感激。

【问题讨论】:

  • 有没有你试过但没有用的代码?

标签: java documentum documentum6.5 dfc


【解决方案1】:

新版本(需要 VERSION 权限):

boolean keepLock = false;
String versionLabels = "";
IDfSysObject doc = (IDfSysObject) session.getObject(new DfId("0900000000000000"));
doc.checkout();
doc.setFile("C:\\temp\\temp.jpg"); // assuming you're using windows
doc.checkin(keepLock, versionLabels);
  • keepLo​​ck - 签入操作后是否保持文档签出
  • versionLabels - 标签(除了在别处配置的内置标签)

相同版本(需要 WRITE 权限):

IDfSysObject doc = (IDfSysObject) session.getObject(new DfId("0900000000000000"));
doc.fetch(null);
doc.setFile("C:\\temp\\temp.jpg"); // again, assuming the worst ;)
doc.save();

请注意,需要 fetch(null) 以确保您手头有最新版本的文档。

对于上面的两个示例,内容文件被替换而没有任何进一步的魔法。请务必根据需要重命名文档,并在必要时设置正确的格式,例如:

doc.setObjectName("new_name");
doc.setContentType("new_format");

【讨论】:

    【解决方案2】:
    public void checkinDoc(String objectId) throws Exception 
    {
        sysObject = (IDfSysObject) idfSession.getObjectByID(objectId);
        //sysObject = (IDfSysObject) idfSession.getObjectByPath("/Cabinet/Folder/Document");
        if (sysObject.isCheckedOut() ) { // if it is checked out
            sysObject.checkin(false,”CURRENT”);
        }
    }
    

    【讨论】:

      【解决方案3】:

      在签出的文档上使用 setFile,然后签入。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多