网站内容管理系统 上传word(SAPCRM使用Attachments如何存储在CRM服务器上的?(图) )
优采云 发布时间: 2021-10-10 12:13网站内容管理系统 上传word(SAPCRM使用Attachments如何存储在CRM服务器上的?(图)
)
SAP CRM 内容管理
SAP CRM 使用附件 UI 为用户提供内容管理功能。您可以通过新建按钮将本地文档上传到 CRM 系统:
内容管理支持简单的版本管理功能。用户可以点击Check Out将文档导出到本地,编辑完成后使用Check In按钮将修改后的版本导入CRM。
每次签出/签入时都会生成一个新版本。
从技术上讲,每个文件上传到 CRM 后,都会自动生成逻辑信息对象 (LOIO) 和物理信息对象 (PHIO)。仅从这对概念的名称就可以猜出它们的用途:LOIO 是描述文件客观存在的逻辑概念。 PHIO 携带文件的特定内容。每次Check In后,用户在UI上看到新版本的生成,后台对应的是新PHIO实例的生成。这也是为什么查看Content Management对应的API CL_CRM_DOCUMENTS,你会发现LOIO/PHIO出现在很多方法的参数中。
CRM 内容管理系统内容存储实现
内容管理系统的一个重要功能是内容存储。我将文本文件上传到 CRM 系统中的产品。
点击文件名“Jerry”的超链接,在浏览器中打开文本文件。
那么这个文本文件是如何存储在 CRM 服务器上的呢?仔细检查这个浏览器链接:
/sap/bc/contentserver/001/jerry?get&pVersion=0045&contRep=BDS_DB22&docId=FA163EE56C3A1EE8908EFBAA20D4FC6C&compId=jerry.txt
在其方法 HANDLE_REQUEST 中设置断点以进行调试。
介绍了如何通过编号BDS_DB22查找对应的后端数据库表名。通过文章中介绍的步骤,找到数据库表BDSCONT22。
将此docId放入表BDS_DB22中,根据PHIO_ID查询,可以在上例的文本文件jerry.txt中找到该表中存储的内容。
因为除了文本文件,内容管理系统还需要支持其他的存储比如PDF或者视频文件,所以数据库表的对应字段使用了特殊的数据类型INDX_CLSTR和INDX_CLUST,所以文件的具体内容不能在事务码SE16中直接传入查表浏览。
并且需要使用功能模块Scms_R3DB_IMPORT。看代码会发现这个函数使用ABAP关键字IMPORT来操作这两个特殊的表字段来读取文件的实际内容。
作为企业级管理软件的一个模块,病毒扫描支持必不可少。 SAP在CRM内容管理系统中实现了病毒扫描框架,具体的病毒扫描引擎由客户配置:
在我的公众号文章SAP S4CRM vs *敏*感*词*C,诸葛亮和周瑜?提到SAP CRM内容管理的一个功能:用户可以点击下图第1步中的“With Template”按钮,在本地开发一个word模板文件,将里面的字段绑定到CRM标准BO模型字段,如第2步所示下图中。运行时渲染出来的word文件会在其下属的业务单据中显示相应的数据,如步骤3所示。
这个runtime word文件渲染实现的技术原理在我的博客Manipulate Docx document with ABAP中有介绍。
更多关于SAP CRM内容管理的介绍,请参考我的博客合集:
关于内容管理的技术细节集合
*敏*感*词*C 内容管理
作为云产品,用户无法像在 SAP CRM 中那样通过浏览器轻松查看服务器端的存储详细信息。在 Chrome 开发者工具中,文件的超链接是一个简单的“#”。
实际情况是每次点击超链接,*敏*感*词*C的ABAP后端都会动态计算文件的url供用户下载或预览:
(cz1TSUQlM2FBTk9OJTNhdmFhaTAza3ZjX0tWQ18wMCUzYXpkMUFiM1FIQ1VfR2pUU2NWbEZBUzk5NWtydVBnaF9GWXNBaXhBWUMtQVRU)/ AP / DS / WD / DOC / 00163E11A66C1ED8909167D838730A19 /剪贴板1. PNG? Sap 客户端 = 331 & Ctxt = QlVTSU5FU1NfUEFSVE5FUl9UTVBMOkFUVEFDSE1FTlRfRk9MREVS & Shm = 00163E11A66C1ED8909167D838730A19
由于*敏*感*词*C的后端对客户和合作伙伴是不可见的,所以不便透露这个url的计算逻辑。
*敏*感*词*C 与 CRM 一样,内置病毒扫描引擎,用于上传文件和发送电子邮件,以确保 *敏*感*词*C 解决方案的安全性。
此外,您还可以通过业务配置工作中心配置允许上传哪些MIME类型文件到*敏*感*词*C系统。
对于Cloud Application Studio中创建的Custom BO,也可以通过简单的步骤来支持文件上传功能。具体步骤请参考我的博客:
逐步启用带有附件上传功能的自定义 BO
如果上传的文件是图片,你甚至可以在Cloud Application Studio中做一些简单的开发,将这些图片和自定义BO数据合并,渲染成PDF文件。
具体步骤参考我的博客:
如何渲染显示自定义 BO 图像附件中图片的 PDF