拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从剑二十一看 ABAP 的功夫,规则越严密,越要留意对手怎么出招

从剑二十一看 ABAP 的功夫,规则越严密,越要留意对手怎么出招 总部和海外子公司共用一套 SAP S/4HANA Cloud Private Edition 时,一个订单在总部能顺利提交,到了海外公司却被拦下。开发人员打开程序,看到二十多段校验,每段都写得有道理,权限、工厂、数量、库存、状态,样样齐全。问题恰恰出在这些招式之间,有一段检查读的是旧状态,另一段检查又默认前一段已经完成更新。单看每一剑都锋利,连起来却露出了空门。这个场景很适合借《风云》中剑圣的剑二十一谈 ABAP。剑二十一属于圣灵剑法的既有招式体系,讨论它时需要和后来领悟的剑二十二、剑二十三分开。它给人的启发不是把程序写成二十一条规则,更不是寻找一个叫作剑二十一的 ABAP 功能,而是思考一套经过长期打磨、招式紧密衔接的规则,怎样在真实对抗中发挥作用,又会怎样被意料之外的变化破解。我们在企业系统里经常遇到这样的程序。它能识别大量异常输入,能够按顺序作出精确判断,甚至可以把错误定位到某个订单行。这样的设计很像练熟了剑招。可业务不是站着不动的木桩。库存会变化,用户会同时操作,外部系统会重试,主数据也可能在两次读取之间被修改。ABAP 中与剑二十一最接近的,不是某一条语句,而是由数据建模、规则校验、状态控制、事务处理和性能分析组成的一整套方法。剑法类比终究有边界。漫画里的招式可以用一个人的功力来衡量,企业程序却要面对多人协作、数据库隔离、权限边界和版本升级。把这条边界交代清楚,类比才有用。剑招练得密,先要知道每一剑判断什么我们拿订单放行作贯穿案例。订单行进入系统后,程序可能要检查公司代码是否允许销售,工厂是否有效,物料能否在该销售区域使用,请求数量是否大于零,交货日期是否合理,当前状态是否允许变更,操作人是否获准放行,库存是否足够。到这里,规则已接近十
返回列表