不自生,故长生,老子之道在 SAP ABAP 开发里的长期主义
在 SAP ABAP 项目里,最容易让系统变老的东西,往往不是业务需求本身,而是开发者想把一切都抓在自己手里。一个采购审批增强,最初只是加一个字段,加一段校验,加一个自定义表;几年后,它变成十几个隐式增强,三套复制出来的标准程序,若干个没有人敢动的Z函数模块。系统还在运行,但每次升级、每次 Support Package、每次 S/4HANA 转型评估,它都像一块湿布,贴在标准代码上,撕不开,也洗不净。老子说「天地所以能长且久者,以其不自生,故能长生」。放到 ABAP 开发里,这句话不是劝开发者什么都不做,而是提醒我们,真正能长久的 ABAP 设计,不应把自己设计成系统的中心,不应把业务、数据、界面、权限、流程、集成全部吞进一段自定义代码里。天地之所以长久,是因为它不把万物当作自己的私产。一个好的 ABAP 扩展也类似,它应当让标准能力继续是标准,让业务语义继续来自业务对象,让数据库继续做集合计算,让发布接口承担边界,让测试和治理承担长期记忆。开发者做的是成就系统,而不是取代系统。SAP 近几年反复强调 Clean Core,核心取向正是把扩展与标准解耦。SAP Learning 对 Clean Core extensibility 的概括很直接,目标是让 extension 与 standard decouple,这样可以降低升级过程中的阻力,减少技术债,并提高透明度和灵活性。SAP 同时强调 clean extension 的关键支柱是使用 released APIs,并遵循 SAP S/4HANA Cloud extensibility model。这个方向与「不自生」非常贴近,扩展不再靠侵入标准代码来证明自己有用,而是靠遵守边界、尊重发布契约来获得生命力。(