SAP CRM内容管理
SAP CRM使用Attachments这个UI给用户提供内容管理的功能。通过新建按钮可以上传本地文档到CRM系统:
该内容管理支持简单的版本管理功能,用户可点击Check Out将一个文档导出到本地,编辑结束之后通过Check In按钮将修改版本导入至CRM。
每次Check Out / Check In会生成一个新的版本。
从技术上来说,每一个文件上传到CRM后,会自动生成一个Logical Info Object(LOIO)和Physical Info Object(PHIO)。仅从这对概念的名称就能猜到它们的用途:LOIO是一个逻辑上的概念,描述一个文件的客观存在。PHIO则承载一个文件的具体内容,每次Check In之后,用户在UI上看到一个新版本的生成,而后台则对应一个新的PHIO实例的生成。这也是为什么查看Content Management对应的API CL_CRM_DOCUMENTS, 会发现很多方法的参数里都有LOIO/PHIO出现的原因。
CRM内容管理系统的内容存储实现
内容管理系统要实现的一个重要功能就是内容存储。我给CRM系统里某个product上传了一个文本文件。
点击文件名"Jerry"这个超链接,在浏览器里打开了文本文件。
那么这个文本文件如何存储在CRM服务器上的?仔细查看这个浏览器链接:
/sap/bc/contentserver/001/jerry?get&pVersion=0045&contRep=BDS_DB22&docId=FA163EE56C3A1EE8908EFBAA20D4FC6C&compId=jerry.txt
/sap/bc/contentserver:事务码SICF,Service Name输入contentserver,可以找到这个Service对应的ABAP处理类CL_HTTP_EXT_CSIF。
在其方法HANDLE_REQUEST设置断点即可调试。
contRep=BDS_DB22:我的博客How is attachment physically stored in database table in CM framework
介绍了如何通过BDS_DB22这个编号找到对应的后台数据库表名称。通过文章里介绍的步骤,找到数据库表BDSCONT22。
docId=FA163EE56C3A1EE8908EFBAA20D4FC6C
把这个docId放到BDS_DB22这张表里根据PHIO_ID查询,即可找到上述例子里文本文件jerry.txt在这张表里存储的内容。
因为除了文本文件,内容管理系统还需要支持其他诸如PDF或视频文件的存储,因此数据库表对应字段采用了特殊的数据类型INDX_CLSTR和INDX_CLUST,因此文件的具体内容无法直接通过在事物码SE16查表浏览。
而需要使用function module SCMS_R3DB_IMPORT。如果查看其代码,会发现这个函数正是使用了ABAP关键字IMPORT去操作这两个特殊的表字段从而读取出文件的实际内容。
作为企业级管理软件的一个模块,病毒扫描的支持是必不可少的。SAP在CRM内容管理系统里实现了病毒扫描的框架,而具体执行病毒扫描的引擎由客户自行配置:
在我的公众号文章SAP S4CRM vs C4C, 诸葛亮和周瑜?里提到SAP CRM内容管理的一个特色功能:用户可以点击下图step 1中的"With Template"按钮,在本地开发一个word模板文件,将里面的字段绑定到CRM标准的BO模型字段上,如下图step 2所示。运行时渲染的word文件里就会显示其从属的业务文档里的对应数据,如图step 3所示。
这个运行时word文件的渲染实现,其技术原理在我的博客Manipulate Docx document with ABAP里介绍过。
https://blogs.sap.com/2014/05/28/manipulate-docx-document-with-abap/
关于SAP CRM内容管理的更多介绍,请参考我的博客合集:
A collection of technical details about Content Management
https://blogs.sap.com/2013/11/22/a-collection-of-technical-details-about-content-management/
C4C 内容管理
作为一款云产品,用户从浏览器里无法像在SAP CRM那样,能够轻易地查看其服务器端的存储明细。在Chrome开发者工具里看到文件的超链接是一个简单的"#"。
实际情况是,每次点击超链接,C4C的ABAP后台会动态计算出该文件供用户下载或者预览的url:
因为C4C的后台对客户和Partner不可见,因此这个url的计算逻辑不便透露。
C4C同CRM一样,对于上传的文件和发送的邮件均有内置的病毒扫描引擎以确保C4C解决方案的安全性。
除此之外,您也能通过Business Configuration工作中心里配置允许哪些MIME Type的文件上传到C4C系统。
对于在Cloud Application Studio里自己创建的Custom BO,也可通过简单的步骤即可同样支持文件上传的功能。具体步骤参考我的博客:
Step by step to enable your custom BO with attachment upload functionality
如果上传的文件是图片,您甚至可以在Cloud Application Studio里做些简单的开发,将这些图片和Custom BO的数据合并起来,渲染成一个PDF文件。
具体步骤参考我的博客:
How to render PDF which displays picture from the image attachment of your custom BO
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
CRM(Customer Relationship Management)系统作为企业管理和维护客户关系的核心工具,其云化转型对SaaS市场产生了巨大影响。随着云计算技术的发展,CRM系统不再局限于企业内部部署,而是可以通过互联网随时随地访问...
内容概要:本文详细介绍了基于MATLAB平台的‘风-光-氢’多主体能源系统合作运行方法,利用纳什谈判理论和交替方向乘子法(ADMM)解决了传统集中式优化忽视个体利益的问题。文中首先设置了各能源主体的成本特性函数,并通过双层分解策略将复杂问题拆解为可分布式计算的子问题,确保了收敛性和求解效率。接着,文章展示了ADMM主循环和主体优化求解函数的具体实现,强调了并行计算、自适应步长调整以及全局变量更新的重要性。最后,通过仿真结果表明,合作博弈模式下联盟总效益提升了23.7%,各主体收益均满足个体理性条件。 适合人群:从事能源系统优化、分布式计算、博弈论应用的研究人员和技术人员。 使用场景及目标:适用于需要解决多主体能源系统中利益分配和协同优化问题的场景,旨在提高能源系统的整体效益和个体满意度。 其他说明:代码中引入了机会成本模型、自适应步长调整机制、鲁棒性校验模块等改进措施,使得模型更加贴近实际市场情况。此外,代码采用了面向对象结构,增强了扩展性和实用性。
包含了C语言的重要知识点,常见考点。
【活动】创作者激励数据相关材料
Java项目基于Springboot框架的课程设计,包含LW+ppt
【计算机求职笔试】资源
内容概要:本文详细介绍了利用模糊神经网络进行风光储联合并网系统中123级负荷功率分配的Simulink/Matlab仿真模型。该模型将光伏、风机的最大功率点跟踪(MPPT)与虚拟同步发电机(VSC)并网技术相结合,通过模糊神经网络控制器实现对不同优先级负荷的智能分配。文中具体阐述了负荷分级策略、模糊控制器的设计、MPPT算法优化以及VSC控制策略等内容,并展示了仿真实验结果,表明该方案相比传统方法提高了可再生能源利用率和电网稳定性。 适用人群:从事新能源发电系统研究与开发的技术人员,尤其是关注风光储联合并网系统及其控制策略的研究者。 使用场景及目标:适用于需要提高风光储联合并网系统效率和稳定性的场合,特别是在应对复杂气象条件下确保关键负荷持续供电方面具有显著优势。目标是通过引入先进的控制算法和技术手段,优化能源管理和分配机制。 其他说明:文中提供了大量具体的Matlab/Simulink代码片段,帮助读者更好地理解和复现实验过程。此外,还讨论了一些实际应用中的常见问题及解决方案,如锁相环参数调整、风机MPPT策略优化等。
开发可靠的AI系统以协助人类临床医生进行多模态医学诊断一直是研究人员的主要目标。近年来,多模态大语言模型(MLLMs)受到了广泛关注,并在多个领域取得了成功。凭借强大的推理能力和根据用户指令执行多种任务的能力,它们在提升医学诊断方面具有巨大潜力。然而,直接将MLLMs应用于医学领域仍面临挑战。它们缺乏对视觉输入的详细感知能力,限制了其进行定量图像分析的能力,而这是医学诊断的关键。此外,MLLMs通常表现出幻觉和推理不一致的问题,而临床诊断必须严格遵循既定标准。为解决这些问题,我们提出了MedAgent-Pro,一个基于证据推理的代理系统,旨在实现可靠、可解释且精确的医学诊断。这通过分层工作流实现:在任务级别上,基于检索到的临床标准的知识推理生成针对特定疾病的可靠诊断计划;而在案例级别上,多个工具代理处理多模态输入,根据计划分析不同指标,并结合定量和定性证据提供最终诊断。在2D和3D医学诊断任务上的综合实验展示了MedAgent-Pro的优越性和有效性,而案例研究进一步突显了其可靠性和可解释性。代码可在以下链接获取: https://github.com/jinlab-imvr/MedA
内容概要:本文详细介绍了基于西门子S7-1200 PLC的三轴伺服控制系统的设计与实现。主要内容涵盖使用UDT(用户自定义数据类型)、多重背景数据块、状态机模式切换以及报警处理等方面。通过结构化编程的方法,实现了代码的高复用性和良好的扩展性。文中还分享了一些具体的编程技巧,如脉冲输出、加减速曲线设置、IO映射等,并讨论了调试过程中遇到的问题及其解决方案。 适合人群:具有一定PLC编程经验的自动化工程师和技术人员。 使用场景及目标:适用于需要进行复杂机电一体化系统集成的工业环境,旨在提高生产效率和维护便捷性。具体应用场景包括但不限于流水线改造、机器人控制等领域。 其他说明:作者强调了结构化编程对于减少冗余代码、提升开发效率的重要性,并指出合理的数据库规划有助于快速定位问题并优化性能。此外,文章还提到了一些实用的小技巧,如利用状态机实现模式切换、采用事件队列管理报警信息等。
matlab
Java项目基于Springboot框架的课程设计,包含LW+ppt
内容概要:本文详细介绍了利用三菱PLC(FX5U/FX3U系列)和组态王构建恒压供水系统的全过程。首先阐述了硬件选型与连接方式,包括PLC、变频器、压力传感器等设备的选择与配置。接着深入探讨了PLC内部梯形图编程技巧,特别是PID控制算法的应用,以及如何通过合理的参数整定确保系统的稳定性和响应速度。随后讲解了组态王作为上位机软件的设计要点,强调了动态图形展示、报警机制和历史数据记录等功能的重要性和实现方法。最后分享了一些常见的调试经验和故障排除技巧。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对PLC编程和HMI开发有一定基础的学习者。 使用场景及目标:适用于新建或改造恒压供水项目的规划与实施,旨在帮助技术人员掌握完整的系统集成流程,提高项目成功率并优化运维效率。 其他说明:文中提供了大量实际案例和代码片段供读者参考,有助于加深理解和快速上手实践。
入栈和出栈的基本操作这个文档包含了C++栈操作的基本概念、操作方法、示例代码以及实际应用场景。文档结构清晰,从基础概念到实际应用逐步深入,并提供了练习建议帮助巩固学习
matlab
2023年江苏省高等职业院校技能大赛大数据技术与应用赛项竞赛规程.docx
资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、数据集、部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.dataset.txt文件,仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持
内容概要:本文详细介绍了使用Java SpringBoot搭建一个多用户B2B2C商城系统的技术实现。该系统覆盖PC、H5、小程序和APP四个终端,采用SpringBoot作为后端框架,Vue和Uniapp分别用于PC/H5端和移动端的前端开发。文章重点探讨了用户鉴权、商品管理、支付集成、权限控制等多个关键技术点,并分享了许多实际开发过程中积累的经验教训和技术优化方法。例如,通过自定义AccessDecisionManager实现复杂的权限控制,利用Redisson进行分布式锁管理以应对高并发场景,以及运用策略模式封装多种支付渠道等。 适合人群:具有一定Java开发经验和对前后端分离架构有一定了解的研发人员,尤其是关注电商平台开发的技术爱好者。 使用场景及目标:适用于希望深入了解大型电子商务平台内部运作机制的人群;旨在帮助开发者掌握如何高效地构建稳定可靠的多用户商城系统,提高开发效率并降低维护成本。 其他说明:文中不仅提供了详细的代码片段展示各个功能模块的具体实现方式,还特别强调了一些容易忽视但在实际应用中至关重要的细节问题,如跨端适配、性能优化等方面的内容。
内容概要:本文详细介绍了如何利用COMSOL进行三维离散裂隙注浆模型的构建,特别是针对粘度随扩散距离衰减的特点进行了深入探讨。首先,通过COMSOL自带的裂隙网络生成器或自定义脚本创建随机分布或多组定向裂隙网络。然后,定义了考虑空间和时间因素的粘度衰减模型,确保浆液在裂隙内的流动更加符合实际情况。此外,文中还讨论了边界条件的设置技巧,如采用渐进加载方式避免数值不稳定。最后,强调了结果可视化的多种方法,如切片图、流线图以及粒子追踪等功能的应用,帮助更好地理解和展示模拟结果。 适合人群:从事岩土工程、地质勘探及相关领域的科研人员和技术工程师。 使用场景及目标:适用于研究复杂地质条件下裂隙网络中浆液的流动行为,优化注浆施工方案,提高工程安全性和效率。 其他说明:文中提供了大量具体的代码片段和操作步骤,便于读者动手实践并加深理解。同时,通过实例展示了如何将理论模型应用于实际工程项目中,验证了模型的有效性和实用性。
Java项目基于Springboot框架的课程设计,包含LW+ppt
内容概要:本文详细介绍了欧姆龙机器视觉软件系统FH、FZ、FJ系列的特点及其应用场景。FZ系列作为基础款图像处理工具包,适用于简单的图像处理任务如二维码识别,但不支持深度学习模型。FH系列则在此基础上增加了NNProcessor模块,支持深度学习模型的应用,如PCB板焊点检测,并引入了GPU加速的图像处理能力。FH系列还提供了强大的仿真环境,可以在不接入真实硬件的情况下进行检测流程的模拟,极大提高了调试效率。此外,FH系列优化了图像处理流水线,采用链式语法提高处理效率。文中还展示了如何将仿真数据与真实设备结合使用,以及如何利用仿真环境进行异常情况模拟。最后,文章强调了FH系列在硬件兼容性和实时参数反馈方面的优势。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对机器视觉有需求的研发人员。 使用场景及目标:①帮助工程师快速掌握欧姆龙机器视觉软件系统的使用方法;②提供详细的代码示例,便于理解和实践;③介绍仿真环境的应用,降低试错成本,提高开发效率。 其他说明:文章通过具体案例和代码示例,深入浅出地讲解了各系列软件的特点和优势,为用户提供了一个全面的学习和参考资料。