点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
伙计,
让我们说,我想将我所有的SAP CLM合同附件都拍摄到SharePoint中,就像迁移方法一样,将旧合同引入SAP CLM中。
是否可以从Blob文件中将指向不同业务对象RFX,合同,项目等的所有附件提取到FTP文件夹中。
T 他的用例如下
1)我的SAP CLM/采购附件数据今天以 Oracle数据库中的Blob文件的形式保存
2)我想使用 SharePoint作为集中式文档管理系统,即使CLM具有此功能,因为SharePoint是我公司的文档生命周期管理系统。
3)我需要提取所有附件并将其放入指向我的SharePoint系统的FTP位置
4)我真的不知道,"导出到OMA"选项是否可以帮助我进一步将OMA绑定到单个附件中?
...我将从那里拿走????
我需要的所有专家建议是,如何将附件从Oracle Blob中提取为真实的附件到FTP或网络或本地文件夹中
这有可能吗?
...上师响应的时间????
欢呼
Tridip
您好Tridip,
我正在使用AttachmentIfc-> setFileData()方法将文件设置为MA/SA的附件。 但是在此类中未找到getFileData()或任何其他方法来获取附件。 SAP似乎没有为此功能提供任何API。
以下是一个选项,但尚未测试。
编写一个jar文件。 通过下面的查询
使用Java类IapiDbHandleIfc和方法executeQuery()从FCI_CONTRACT/FCI_AGREEMENT T1中选择T1.UNIQUE_DO_NAME,T3.FILE_DATA在(t2.PARENT_OBJECT_ID = T1.ObjectId)上加入FCI_ATTACHMENT_SUB T2在(t3.PARENT_OBJECT_ID)= T2>上加入FCI_ATTACHMENT_BLOB T3
解析结果集并将BLOB值存储到FileOutputStream中,在文件输出流中将其提供给它的路径中创建文件。
希望这对您有所帮助。
感谢
Sai
嗨Bindhu和Amit,
我有相同的问题,并发布在下面的主题中。 请检查并尽快帮助我
提取clm文档
https://answer.sap.com/questions/12674711/extract-clm-contract-documents-pdf-from-sap-clm.html
2014年7月22日:问题:有人 实际是从"合同"选项卡之外的任何地方获得这项工作的?
我不从选项卡调用脚本,而是通过KDOCS集合访问附件。
我可以看到最初附加的实际文件名以及集合中的其他详细信息。
但是,我无法调用find方法进入附件对象进行下载。
我尝试通过SCN中引用的方法使用DocumentVersionIBeanIfc接口。
我的脚本将允许我导入它,但是我可以调用或使用这些线程中引用的任何方法。 我已经尝试过((导入,使用homelocater,投射)
理想的方法是该线程中描述的方法。
AttachmentIfc附件= docVersionBean.getDoc(); 。 。
文件=附件.getFileData(会话);
但是我在任何地方都找不到" getFileData()方法,我确实看到了setFileData方法,我们用它来导入附件,并将其添加到KDOCS集合中。
我尝试了几种方法,这对我来说效果最好。
但是目前,我在"如何在I/O附件中获取我的收集引用"方面受阻。
有什么建议吗?
代码是这样的:
。 。
madoc.getExtensionCollection(" COLLN_KDOCS"); //masterAgreement
。 。 。
currentKD = newKD.getExtensionField(" KDOC_FILE")。get(); //在collecton上进行交互
我知道上面的代码片段返回了我期望的结果,我可以通过sql和日志记录进行验证。
但是,对我来说,将这个blob连接到附件非常困难。
我也尝试了一些类似的项目:
AttachmentIfc kdAttach; //currentKD
kdAttach = TypeFactory.createAttachment();
kdAttach = madoc.getAttachments(); //madoc是我用来获取上述kdcod集合的句柄的参考
错误返回:"非法转换。无法将com.sap.eso.api.contracts.ContractIBeanImpl $ 1转换为com.sap.odp.api.common.types.AttachmentIfc"
按行业我不是Java开发人员,只是开发人员。
所以我再问一次,是否有人真的不是从"合同"选项卡中下载了Blob?
非常感谢您的周到反应和时间,贝丝(beth)
感谢Bindu的回复。 我很荣幸收到您的答复。
对我来说,我无法使用DocumentVersionIBeanIfc接口获得有效的参考。 我的脚本不是从"合同"标签运行的,因此,当我尝试生成文档时,由于指针始终为空,因此调用成功。
我可以使用我的Mastergreement界面来获得收藏,并且我有有效的收藏。
从您的答复中,我能够看到我没有故意导入类型pacage。 **再次感谢**
现在我的脚本中明确地包含了这些导入:
导入com.sap.odp.api.common.types.AttachmentIfc;
导入com.sap.odp.common.types.Attachment;
导入com.sap.eso.api.doccommon.doc.contract.DocumentVersionIBeanIfc;
在我看来,我已经成功地"连接"了所需文档的附件(即kd-doc attachemnet)。
这时脚本管理器将无法构建,并出现此错误:
文档生命周期事件(已验证userdefined.md5)脚本异常:
源文件:内联评估:"类型化变量声明:尝试解析方法:未定义变量或类名的getFileData():附件"
我已经发布了相关的代码,可以看到我正在获取正确类型的附件对象,并且通过我的IDE,我可以看到方法.getFileData(),但是在我的环境中,安装或安装了? 似乎阻止了我在脚本调用时使用该方法。
再次,最好的方法,步骤1 doc.getDocVersions(); 在我的情况下无法正常工作,因为我没有最新文档。我必须使用下面的方法来获取docs/ibeans。
kddoc = maDocVerHome.findForEditByUniqueDocName((String)maUDN); //返回空指针
//第1步doc.getDocVersions();
kddoc.getDocVersions(); //通话成功但结果
///第2步DocumentVersionIBeanIfc docVersionBean = doc.getDocVersions()。get(0);
我的第1步和第2步与您的方法不同,但从日志结果来看,我认为第3步正在运行。 但是,我不明白.getFileData()的内容,显然代码在jar中。 有建议吗?
再次感谢您的时间和有益的答复,贝丝
您好,专家
我可以使用Bindu提供的步骤从Blob文件中检索附件文档。
一旦我有了带有getFileData方法的文件,您知道如何在FTP位置设置该文件吗?
我尝试使用标准Java方法将文件上传到FTP,但是执行以下方法时出现错误:
FTPClient ftpClient =新的FTPClient();
提前谢谢!
最好的问候
Fran。
嗨Bindhu和Amit,
我有相同的问题,并发布在下面的主题中。 请检查并尽快帮助我
提取clm文档
https://answer.sap.com/questions/12674711/extract-clm-contract-documents-pdf-from-sap-clm.html
一周热门 更多>