如何使用Documentum中的DFC代码检查具有新更新文件的文件

时间:2013-10-22 20:02:10

标签: java documentum documentum6.5 dfc

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

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

3 个答案:

答案 0 :(得分:5)

新版(需要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 - label(s)(除了内置的其他地方配置)

相同版本(需要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");

答案 1 :(得分: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”);
    }
}

答案 2 :(得分:1)

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