SAP 帮助文档里推荐的 XML 处理准则:
When XML data is saved in strings or internal tables, it is best to use byte strings or byte-like row types and the UTF-8 code page for the representation.
参考 SAP 文档:
- sXML Library supports byte-like data only.
- iXML Library and the statement CALL TRANSFORMATION support text strings and internal tables with character-like data types too.
iXML 库和 CALL TRANSFORMATION 都支持 text 字符串和内表。
当选择 UTF-8 以外的存储格式时,XML 数据必须加上 BOM 的前缀:
When saving to formats other than UTF-8, it should be noted that the XML data must be prefixed with a byte order (BOM), in accordance with the XML standard.
尤其是使用 UCS-2(这正是 ABAP 编程语言使用的) 作为 character representation 的场景。
This applies specifically when saving character-like data in the character representation UCS-2 used by the ABAP programming language. This can render XML data written as character-like data in Unicode systems as non-handleable in non-Unicode systems.
如果在 XML 语法中具有单独含义的字符出现在元素或属性的值中,则需要对其进行转义:
<
: <>
: >&
: &" in attributes delimited by "
: "' in attributes delimited by '
: '
SAP 自己的 Binary XML 使用二进制格式而不是字符串,并且不使用尖括号分隔标签。 得益于 sXML 库,ABAP 支持 XML 1.0 以外的更多格式。
XSL 转换是存储库中用 XSLT 编写的程序(XSLT 程序),用于 XML 数据的转换。 可以使用 CALL TRANSFORMATION 语句来调用存储库中现有的 ST 程序。 XSLT 程序在转换编辑器中进行编辑,可以使用事务 STRANS 直接访问该编辑器,也可以通过选择编辑对象 → 更多 → 转换并选择 XSLT 程序在 ABAP 工作台的对象导航器中调用。
ABAP 的 XSL transformation 是一种在 SAP ABAP 环境中使用 Extensible Stylesheet Language (XSL) 来进行数据转换和格式化的技术。通过 XSL transformation,可以将一个 XML 文档转换成另一个 XML 文档、HTML 页面或者其他格式的文档。这种技术通常用于将系统中的数据进行结构化输出,以便于展示、报表生成或者与外部系统的集成。
在 ABAP 中,XSL transformation 通过使用类 CL_XSLT_PROCESS 来实现。这个类提供了一系列方法,允许开发者加载 XSL 样式表,将 XML 数据应用于样式表进行转换,并输出转换后的结果。XSL 样式表通常定义了从源 XML 文档到目标输出的转换规则,包括数据选择、格式化和样式设定等。
在实际应用中,ABAP 的 XSL transformation 可以用于多种场景。以下是一些常见的示例:
- XML 数据报表生成:假设一个企业需要从 SAP 系统中提取销售数据,并生成一个格式良好的 XML 报表以供进一步分析或者与其他系统共享。开发者可以编写 ABAP 程序来提取所需数据,然后使用 XSL transformation 将数据转换成符合预期格式的 XML 文档。这个 XML 文档可以包含销售额、产品信息、客户数据等,通过定义好的 XSL 样式表,最终生成一个美观的报表页面。
- SAP 数据集成:在企业中,通常会有多个系统之间需要进行数据交换和集成。ABAP 的 XSL transformation 可以用于将 SAP 系统中的数据转换成外部系统所需的格式。例如,一个公司使用 SAP 系统管理其供应链,并且需要将采购订单数据发送给供应商的外部系统。开发者可以编写 ABAP 程序来提取采购订单数据,然后使用 XSL transformation 将数据转换成供应商系统所需的 XML 格式,并通过网络服务或者文件传输等方式将数据发送给供应商。
- 动态 HTML 生成:除了生成 XML 文档外,ABAP 的 XSL transformation 也可以用于生成动态的 HTML 页面。例如,在 SAP 系统中,一个 HR 管理员需要生成一个员工信息报表,以 HTML 格式展示给公司管理层。开发者可以编写 ABAP 程序来提取员工数据,并使用 XSL transformation 将数据转换成 HTML 格式。通过定义好的 XSL 样式表,可以对员工信息进行表格化排版、添加样式和布局等,最终生成一个漂亮的 HTML 页面供管理层查看。
总的来说,ABAP 的 XSL transformation 提供了一个强大的工具,可以实现在 SAP ABAP 环境中对 XML 数据进行灵活转换和格式化的需求。通过合理的应用,可以帮助企业更好地利用和管理其数据资源,提高系统的整体效率和灵活性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。