# 输入、输出概念
# 1. 输入数据结构设计原则
# 1.1 避免的两种方式
| 方式 | 问题 | 替代方案 |
|---|---|---|
| 接口原生结构 | 专业术语多,业务难理解 | 自定义业务化结构 |
| 表引用结构 | 冗余字段多,耦合数据库 | 人工定义精简结构 |
# 1.2 推荐设计方法
业务导向命名:
- 原生字段:
PO_HEADER→ 业务字段:订单主信息 - 原生字段:
MATNR→ 业务字段:物料编码
- 原生字段:
结构精简:
// 不良示例(表引用) "Payload": { "id": "", "create_time": "", "creator": "", "order_no": "" // 实际需要字段 } // 良好示例 "订单数据": { "订单编号": "", "明细列表": [{ "行号": "", "物料编码": "" }] }
# 2. 输出数据结构设计
# 2.1 返回数据规划要点
必要业务信息:
- 系统处理结果(成功/失败)
- 关键业务标识(如SAP订单号)
- 错误详情(如BAPI返回消息)
标准化结构示例:
{ "处理结果": "SUCCESS", "返回代码": "0000", "业务数据": { "系统单号": "4500000123", "凭证日期": "2023-08-01" }, "错误信息": null }
# 3. 完整配置示例
# 3.1 输入结构定义
// ESB输入结构(人工编制)
{
"订单主信息": {
"公司代码": "1000",
"采购组织": "2000",
"供应商编码": "V10086"
},
"订单明细": [
{
"物料编码": "M-1001",
"数量": 10,
"工厂": "W100"
}
]
}
# 3.2 输出结构定义
// ESB输出结构
{
"处理状态": {
"code": "string", // 返回码
"message": "string" // 返回信息
},
"业务返回": {
"SAP订单号": "string",
"凭证类型": "string"
}
}
# 4. 实施建议
# 4.1 结构设计流程
需求分析:
- 明确业务场景和使用者
- 识别关键数据要素
结构设计:
- 绘制数据映射关系图
- 确定字段命名规范
版本控制:
- 初始版本:v1.0
- 变更记录:
版本 变更内容 日期 1.1 增加税率字段 2023-08-01
# 4.2 维护建议
文档配套:
- 维护字段说明词典
- 提供示例数据
变更管理:
- 向后兼容至少3个版本
- 重大变更提前通知
# 5. 注意事项
数据类型:
- 明确区分字符串/数字类型
- 特殊格式要求(如日期格式)
安全规范:
- 敏感字段脱敏处理
- 避免返回系统内部信息