SAP SD实施笔记-销售订单接口

对于销售公司来说,很少订单是直接在SAP里手动创建,更多是通过外围销售系统接口订单信息传入SAP,然后创建销售订单。本章主要介绍销售订单接口FS的编写

在这次的项目中,销售R + o d _ n 订单传入的接口,不是用IDOC,而是用web serQ q u V yvice.
: H C _ o张销售订单的最重要的信息有:销售区域、售达方、物料、数量以及价格。围绕这几点,在与外围系统谈接口字段的时候,需要注意以下v $ ` 2几点:

  1. 销售区域。销售区域sales ar0 - t 9 `ea=销售组织+分销渠道+产品组。这个是SAP概念,外围系统不清楚这个是G 7 a @什么,因此需要 简单跟他们解释一下,并告知在SAP里,每个销售组织分别代表哪个销售主体,约定传输规则。
  2. 售达方。即买方,需注意外围系统的& L y 6 8 5 f H客户号码是否与SAP的客户号码一致,如果F i N C - ( )不一致需要如何转换找到对应的SAP客户号码。
  3. 物料K n *。通常来说,一个集团里不同系统的物料主数据应该都来源一同一个系统,那么物料号码应该是一致的,但是仍然需要互相核对一下双方系统的物料主$ F P 9数据是否是同一个源头。
  4. 数量。销售数量,此外,物料的销售单位也是需要格外注意的,比如,有的物料在S^ v ! @ AP里基本存储单位、C P W / g销售单位是瓶,但是外围系统在不同业务p R z b 7 m pU T B B下销售的物料单位不一样,有时候是瓶,有时候是箱。针对这种情况,接口必须要有“物料单位”的字段,并确定双方系统的物g ; {料单位转{ t p I 4换关系是相同的。
  5. 价格。价格是否由外围系统在订单接口中传给SAP?SAP是以外围订单传入的价格为准,还是SAP系统内维护的价格为准?单位是人民币还是外币?价格是否最多到小数点后两位?这些都是需要确认的。
  6. 日期。一般来说,SO的的凭证日期、定价日期都默认与订单创建日期相同。如果有额外需求,也可以在接口字段中指定z { U , $ K

接下来讲一下FS的编写
1) 外围系统系统推送订单到8 E P ySAP系统。
2) SAP系统对接口进行完整性和字段, ` T逻辑性校验,检查通过才进行下一步。否则返回报错信息。u Z # )
3) 将校验完成的数据存储到日志表ZTSD_ORDER/ A A e表。
4) SAP根据接口信息创建销售订单,创建成功则返回订单号,创建失败返回报错消息。
5) 支持重处理

接口字段
以下是接口字段模板作为参考。
SAP SD实施笔记-销售订单接口

SAP SD实施笔记-销售订单接口

接口返回字段,检查不通过或落地成功反馈的消息如下
SAP SD实施笔记-销售订单接口

对传入的业务字段进行检查

  • 完整性检查:如果单据状态Z_STATUS=01 则对接口传入的业务字段有注明“必填”项检查,如果有空值,反馈错误信息+ N $ K = ;给外围系统, 并且整单不保存, @ N M | L针对s ; g该字段返回“错误:完整性”,并退出该接口。

-逻辑性检查:只K x e [有完整性检查通过后,进行逻辑性检查,如果逻辑性检查不通过,则针对该字段返回信息“错误:逻辑性检查失败”并退出该接口。

  • 唯一性检查:以外围系统单号字段到ZTSD_ORDER表查询,如果存在记录则返回信息给外围系统(外围系统单号XXX已经生成了交易单据,不可重发),数据不保存,退出接口。

  • 如果完整性检查、逻辑性检查和唯一性检查都通过,则立即保存到自定义表ZTSD_ORDER,保存成功后反馈消息给外围系统系统,以便后续执行SAP单据A . I T S T创建;

  • 如果单据状态Z_STATUS=02 则只需对外围系统单号该栏位做必填h 7 d项检查,对其他必填项无需进行完整性检查,如果检查不通过,整单不保存,退出该接口,检查通过后,只更新单据状态栏位字段的值Z_STATUS=02,更新成功后反馈消息给外围系u A Y R统系统,以便后续执行单据作废;

数据落地存储日志表
创建自定义表ZTSD_ORDERL h ~ ? ( O -销售订单日志表
SAP SD实施笔记-销售订单接口

单据创建
创建函数ZSDIFORDER,用于处理该接口相关业务,同时需考虑重处理调用;
对检查通过并落地后的数据创建相应SAP单据 =>根据传入的单据状态 Z_STATUS=01的条件按以下逻辑执行业务相应步骤:
调用BAPI根据接口字段创建销售订单。
另附上SD常见BAPI
SAP SD实施笔记-销售订单接口

重处理逻辑
1) 外围系统系统推送了订单信息之后,系统接收接口的数据自动按《2.3.2程序{ L , - 2 : M l实现逻辑》的规则执行相关动作。无需业务人员人工操作。
2) SAP系r , k 2统会设定重处理机制,将待修复的数据再次通过该接口后台或人工来创建对应的单据:创建一K / q 8 q &个重处理^ N t q + 5 ]功能程序-ZSDORDER对接口表里面的错误数据做ALV展现和重处理。
3) 重处理逻辑:根据重处理程序的屏幕条件从表ZH D YTSD_ORDER获取所有数据,一同传入接口函数执行重处理
SAP SD实施笔记-销售订单接口
4) 如果B w : ] - | [表里面的错误数据未进行修复,虽然重2 8 K x b N - 4 6处理机制会继续处理,但是错误依然存4 @ 8 `在,则需要IT进行监控和排查。

销售订单接口FS模板下载
点击下载9 6 # # A ^ t Y I