在很多 SAP CRM 项目里,业务用户对预览 PDF的需求几乎是必选项:报价单、服务报告、回访记录、质检单、培训证书……用户点一下链接,希望在当前页面弹出一个窗口,立刻看到排版精美的 PDF,并且能保存或打印。问题在于,CRM WebClient UI 的技术栈并不等同于UI5 + PDFViewer那种现成体验,很多团队一上来就走向了重开发:自己建 ICF 节点、自己拼 HTTP Response、自己把表单输出的二进制流写出去,最后再在 UI 里嵌进去。
这种做法能跑通,但维护成本往往比想象中高:要处理缓存与权限、Content-Type 与 inline 下载行为、异常时的用户体验、以及不同浏览器的兼容细节。CRM WebClient UI 本身基于 SAP Web AS 的 BSP 技术栈分层实现,页面与业务层的拼装也有自己的规则与限制。(www.slideshare.net)
更省心的思路是:把 PDF 的生成与渲染交给 ABAP Web Dynpro 框架,CRM WebClient UI 只负责弹窗 + 传参。核心武器就是 Web Dynpro ABAP 里的标准控件Adobe Interactive Form:你不需要自己实现 ICF handler,不需要自己手工生成 P