有没有一种方法可以将附件从Blob文件提取到FTP位置

2020-09-09 13:23发布

         点击此处--->   EasySAP.com群内免费提供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

         点击此处--->   EasySAP.com群内免费提供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

付费偷看设置
发送
6条回答
一只江湖小虾
1楼 · 2020-09-09 14:07.采纳回答

您好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

落灬小鱼
2楼-- · 2020-09-09 14:08

嗨Bindhu和Amit,

我有相同的问题,并发布在下面的主题中。 请检查并尽快帮助我

提取clm文档

https://answer.sap.com/questions/12674711/extract-clm-contract-documents-pdf-from-sap-clm.html

骆驼绵羊
3楼-- · 2020-09-09 14:18

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)

SKY徐
4楼-- · 2020-09-09 14:16

感谢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);

 Capture.PNG

我的第1步和第2步与您的方法不同,但从日志结果来看,我认为第3步正在运行。 但是,我不明白.getFileData()的内容,显然代码在jar中。 有建议吗?

再次感谢您的时间和有益的答复,贝丝

shere_lin
5楼-- · 2020-09-09 14:04

您好,专家

我可以使用Bindu提供的步骤从Blob文件中检索附件文档。

一旦我有了带有getFileData方法的文件,您知道如何在FTP位置设置该文件吗?

我尝试使用标准Java方法将文件上传到FTP,但是执行以下方法时出现错误:

FTPClient ftpClient =新的FTPClient();

提前谢谢!

最好的问候

Fran。

Bunny_CDM
6楼-- · 2020-09-09 14:16

嗨Bindhu和Amit,

我有相同的问题,并发布在下面的主题中。 请检查并尽快帮助我

提取clm文档

https://answer.sap.com/questions/12674711/extract-clm-contract-documents-pdf-from-sap-clm.html

一周热门 更多>