# 输入、输出概念
# 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. 注意事项
数据类型:
- 明确区分字符串/数字类型
 - 特殊格式要求(如日期格式)
 
安全规范:
- 敏感字段脱敏处理
 - 避免返回系统内部信息