跳到主要内容
← 返回博客

本文涉及的模块: iFlow Docs

SAP CPI Message Mapping 文档:一键生成 Excel 映射表

如何把 SAP CPI 的 Message Mapping 写成映射表:哪些列最重要、如何描述函数和上下文,以及如何把映射表导出到 Excel。

SAP CPI Message Mapping 文档:一键生成 Excel 映射表

映射规范通常是一个接口的第一份文档,也是第一份过时的文档。SAP Cloud Integration(SAP CPI)中的 Message Mapping 会在构建和测试期间不断变化,而描述它的电子表格却停留在原地。

本文介绍映射表需要哪些列、如何描述函数、上下文和 Value Mapping 以便读者能够理解,以及如何直接从映射导出这份表格。

为什么映射规范会偏离实际

映射规范是在映射存在之前,由熟悉业务字段的人编写的。随后开发人员发现,某个字段需要更改上下文,某个日期需要换一种格式,某个代码需要 Value Mapping。这些决定都存在于映射编辑器的图形视图中,很少有被写回表格的。

映射表需要的列

列内容
目标字段目标消息中该字段的完整路径
出现次数它可以出现的次数,例如 0..1 或 1..unbounded
源字段值来源的源路径
规则用平实语言描述的逻辑
函数使用的标准函数,例如 concat、if 或 formatByExample
常量写入映射的固定值
UDF用户自定义函数及其作用
Value Mapping通过 Value Mapping 转换的代码
备注上下文变更,以及测试人员应该知道的任何事项

描述函数、上下文和 Value Mapping

  • 把规则写成一句话:「用空格连接 FirstName 和 LastName」比一串函数名更容易核对。
  • 上下文发生变化时要写明。每个项目填一次的字段与每个文档填一次的字段行为不同,大多数映射错误就藏在这里。
  • 对于 Value Mapping,写明 agency 和 identifier,让测试人员知道该查哪张表。
  • 对于用户自定义函数,说明它返回什么、在什么时候返回,而不是它是怎么写的。

从映射导出表格

  1. 在设计器中打开 iFlow,点击「Kitegra 工具」按钮并选择「为此 iFlow 生成文档」。
  2. 在「iFlow 文档」页面上打开「映射表」。它列出 iFlow 中的 Message Mapping,每个目标字段一行,包含上述各列。
  3. 将其下载为 Excel 工作簿,每个映射一个工作表。
  4. 如果不使用设计器,请改为选择「上传映射(.mmap 或 ZIP)」。上传的文件不计入您套餐的 iFlow 数。

映射表根据映射文件生成,因此反映的是映射当前的实际行为。请与根据同一个 iFlow 生成的技术设计文档对照阅读。

交接之前检查映射表

  1. 用一条测试消息核对几行:源值、规则、目标值。
  2. 以 TRACE 运行 iFlow,查看映射步骤前后的消息体,方法见逐步跟踪消息。
  3. 在读者需要的不只是规则时填写「备注」列:例如某个字段为什么是常量、哪个系统负责某个代码列表。

Kitegra 如何帮您

映射表属于 Kitegra 的 iFlow Docs 领域。它在您的浏览器中生成;映射从不发送给 Kitegra。

Helper、Message Monitor、iFlow Inspector 和 iFlow Docs 各自统计您使用它们的 iFlow 数:没有 Kitegra 账户时每个模块 5 个,Free 套餐 50 个,Starter 100 个,Pro 300 个;Business 不限。Toolbox 和工作区附加功能免费。比较各套餐。

在下一个 iFlow 中试试

了解 Kitegra 为 SAP Integration Suite 设计器增加了哪些功能,或在 Kitegra 的其他 Chrome 扩展旁查看它。

常见问题

如何为 SAP CPI 的 Message Mapping 编写文档?

写成映射表,每个目标字段一行:目标路径、出现次数、源字段、用文字描述的规则、函数、常量、UDF、Value Mapping 和备注。

可以把 Message Mapping 导出到 Excel 吗?

可以。在「iFlow 文档」页面上,「映射表」可以下载为 Excel 工作簿,每个映射一个工作表。

不用设计器可以为映射编写文档吗?

可以。上传一个 .mmap 文件或包含映射的 ZIP;上传的文件不计入您套餐的 iFlow 数。

映射表会解释用户自定义函数吗?

它会列出每个字段使用的 UDF。至于 UDF 在业务上做什么,值得在「备注」列中写上一行。

我的映射会发送给 Kitegra 吗?

不会。映射表在您的浏览器中生成,映射从不发送。

无需离开设计器即可处理 iFlow

将 Kitegra 添加到 Chrome 或 Microsoft Edge。免费开始,无需账户。