查看原文
其他

SAP高级供应链计划解决方案介绍 _ SAP APO

陈果George 2023-04-15

Editor's Note

本文介绍了SAP高级供应链计划系统APO的模块功能。在SAP新一代产品中,一部分APO功能包含在ERP——S4 Hana中(主要是计划及ATP,使ERP流程更完整),另外一部分则升级到了新一代产品IBP,原作者的后续文章将介绍IBP相关知识。

The following article is from Edison的SAP实践与修行 Author Edison

在本公众号中,记录了大量的在供应链计划SCPSupply Chain Planning)领域里的SAP的高级计划产品APO的零星排产功能点的业务需求及系统实现技术方案。而众所周知,APO这一产品从诞生到如今的几十年间,随着整个IT技术的不断发展,更随着SAPAPO全系产品的重新定位以及在SCP领域的不断投资,SAP不断地推陈出新,诞生了更多全新的、功能也更强大更合时宜的产品,例如基于云平台的IBPS4HANA等等。


那么,对于“古老”的APO产品,它的各个模块的进化之路是怎样的呢?传统的APO与全新的IBPS4HANA有何关系?产品迭代对产品架构、数据结构、业务模式甚至操作习惯有何改变?


本篇将完全从个人APO领域里对包括APO-DPSNPPPDSGATP的实际应用的角度阐述个人对这些问题的总结与思考。

限于篇幅,本篇将主要聚焦于APOS4HANA的进化之路,而APOIBP的进化之路将于后期再进行总结。

同时,需要说明的是,本篇以及本公众号里的观点与思考,都只是个人的经验总结与个人观点,如有错误或纰漏,还望提醒与见谅。


APO - DP

SAP APO-DPDemand Planning)是APO中聚焦于需求预测与需求管理的技术模块,从业务上而言,它的输入是预测基础数据例如销售历史数据、其他部门输入等,输出则是最终需要达成共识的预测数据。

它的特点主要有:

  • APO-DPBW数据仓库(Data Warehouse)为数据结构技术基础,通过计划区域(PAPlanning Area)及计划对象(POSPlanning Object Structure)来管理基于特征值组合(CVCCharacteristics-Value-Combination)的时间序列数据(Time-Series data),依据历史数据与多种预测算法,支持按产品、产品组、客户、区域等各种预测的业务层级,以及促销、残值、生命周期等多种业务场景的需求管理;

  • APO-DP内嵌多种数学层面的预测算法,包括统计学、线性、非线性的需求预测模型;

  • APO-DP无缝集成APO其他模块例如直接将预测结果释放到APO-SNPPPDS做为其功能的输入,以及SAP ERP例如ECC形成独立需求/预测。

举一个简单的实例来进行简单阐述。

例如如下的初始预测数据,使用统计学预测:


通过不同的算法,比如这里选择的是线性回归算法(Linear Regression ),对历史数据基于季节性及趋势性模型来进行未来预测:


结果可以看到,预测数据将按设定的模式进行更新:


同时在DP里,每一次的需求预测运算都将进行计算本次预测“质量”,例如MAPEMSE等评价指标,供用户知晓本次的预测是否满足个人或组织预期。


当然以上仅仅只是一个非常简单的实例,实际上DP还有非常多的其他实用功能,例如PIPOPhase In Phase Out)、促销(Promotion)、聚合(Aggregate)、分解(Dis-aggregate)等等。


整体上而言,DP是一个功能非常强大的需求预测与需求管理工具,同时其与其他SAP产品在原生性上的一脉相承,所以市场上有很多企业就已先前部署使用,例如宝洁(P&G)很早年前就已使用DP来管理其销售预测数据。


但从上面的实例上也可以看得出来,DP仅仅作为一个需求预测的工具,从技术上的整体架构、数据结构基础到业务上的数据管理、用户操作上来说,DP都是一个“非常重”的软件工具,在日常的应用中不可避免地稍显“笨拙”,主要体现在历史数据及预测数据的管理上的不如如今各种工具例如EXCEL、云等平台上的那么高效及有序,以及功能应用上对终端用户的也不那么友好及便捷。

那么,APO-DP的进化呢?

步于新时代,SAP推出了基于云平台的全新IBP-DemandIntegrated Business Planning, for Demand)已经可以全面取代并超越APO-DP本文聚焦S4HANA,不进行过多的IBP的阐述,后续再集中阐述IBP

所以,APO-DP的进化,以此图做结:


APO - SNP

SAP APO SNPSupply Network Planning)是APO中聚焦于供应网络的中长期做供应计划的技术模块,功能上它主要包括计划Planning及分配Deployment ,从业务上而言,它的输入是在供应网络上的各级节点上的需求元素例如终端CustomerRetailer等的预测数据、真实销售订单以及DC或工厂里的备库、销售等各类需求,它的输出则是在整个供应网络上对需求元素的补货元素例如不同DC间的调拨请求(Stock-Transfer-Requisition)、从外部供应商或委外供应商的购买请求(Purchasing Requisition),以及生产工厂里的体现为粗产能RCCPRough Cut Capacity Planning)或者真实产能RCPResource Capacity Planning)的排产订单(Planned Order)。

它的特点主要有:

  • APO-SNP主要完成中长期的供应计划即Planning,跨工厂、跨BOM层级,产生采购(主要是调拨)计划与Bucket最小到天的产能计划下的生产计划;

  • APO-SNP还可以完成调拨分配即Deployment,完成对计划结果即供应的分配与调拨;

  • APO-SNP提供Heuristics启发式、Optimizer优化器、CTM能力匹配等多种算法及模型来完成基于供应网络的供应计划;

  • APO-SNP无缝集成APO其他模块例如将APO-SNP的计划结果释放转变为APO-PPDS供进一步调度,以及SAP ERP例如ECC形成调拨、采购等申请订单;


从技术上来说, APO标准的SNPDP一样,也是以BW数据仓库(Data Warehouse)为数据结构的技术基础,通过计划区域(PAPlanning Area)及计划对象(POSPlanning Object Structure)来管理数据,不过与DP不一样的地方在于,SNP还可以直接访问并处理系统中的订单数据而不仅仅是在时间序列上的数据,同时除了常规的SNP功能之外,还包括CTMCapable-to-Match能力匹配)模块,更是可以在订单层级的计划应用,所以在SNP里,除了管理时间序列(Time-series)更还有订单层级(Order-based)的数据。

以下将分3部分来阐述APO-SNP的进化之路,分别为SNP-HeuristicsSNP-Optimizer以及SNP-CTM


(1)APO-SNP-Heuristics进化


举一个简单的实例来进行简单阐述SNP Heuristics

例如如下的SNP初始数据:

经过SNP Heuristics

或者从计划薄中执行,得到最终的供应计划结果:

可以看出,SNP-Heuristics作为最“直接”也是最“简单”的供应工具,也即最常所言的“MRP-Based”的供应计划工具,它的特点在于其通过“启发式”的数学算法对“需求元素”(Demand),“启发性质”地在整个供应网络(Supply Network)及BOM层级上逐级、逐层地寻找及产生“供应元素”(Supply/Receipt),要么调拨、要么外购(含委外)、要么自制,同时对于自制,还可以再进一步结合粗能力做能力平衡(Capacity Leveling),最终确保Heuristics的计划结果是合理的。

以上仅仅只是一个非常简单的实例,SNP-Heuristics作为APO中供应网络级别的MRP,其整体上提供了非常方便也非常直观的计划过程,在实际应用中,具有非常多的应用案例,例如其作为需求传递的工具,将需求或供给沿导运输路径进行传导也即常说的Demand/Supply Propagation,在实际客户上,同样例如宝洁(P&G)很早年前即使用SNP-Heuristics来完成其DRPDistribution Requirement Planning)中的计划Planning过程。

那么,APO-SNP-Heuristics的进化呢?

但是同DP一样,随着SAPAPO全系产品的定位,以及新产品新技术的推陈出新,SNP-Heuristics也已全面进化,基于云平台的全新IBP-Supply and ResponseIntegrated Business Planning, for Supply and Response)中的Heuristics也已经可以全面取代并超越SNP-Heuristics同上面阐述DP进化一样,后续再对IBP进行详细的阐述。

所以,APO-SNP-Heuristics的进化,以此图做结:


(2)APO-SNP-Optimizer进化


举一个简单的实例来进行简单阐述SNP Optimizer

例如如下的SNP初始数据:

经过SNP Optimizer

或者从计划薄中执行Optimizer,得到最终的供应计划结果:


当然以上是一个很简单的标准的SNP Optimizer的过程,实际上SNP Optimizer作为使用线性规划LP/MILP算法(Linear/Mixed-integer Linear algorism )来求解当今数学王冠上其中一种最复杂也是最经典的计划领域的最优解,其功能和复杂性也是SAP各类计划工具中的典型,从而从“产能+物料”两方面都能满足的情况下去满足需求。同时,正如在前一篇文章(生产计划:运筹学线性规划与SAP Optimizer)所记录,在实际项目上我们可能会依据客户需求的不同,对SNP标准的Optimizer进行大量的修正与增强,以使其功能更加强大。所以,包括诸如晶科能源等在内的很多优秀企业都在使用SNP Optimizer

那么,APO-SNP-Optimizer的进化呢?

SNP-Heuristics一样,由于APO的定位,独立的SNP-Optimizer将会进化到新产品、新技术,但是与DPSNP-Heuristics不同,SNP-Optimizer将会有2条路进行进化:一条依然是走向云平台的IBP,一条是走向S4HANA(无论是On P还是On Cloud)。IBP中主要是Response and Supply中的Optimizer,后续在IBP中再细说阐述;

S4中,则是新一代的生产计划优化PPOProduction Planning Optimizer)。

S4 HANA中通过运行PPO,可以看到,PPO几乎就是SNP-Optimizer的“翻版”:

虽然Optimizer的引擎以及Log等都几乎一致,但是,也可以看到由于PPO大大简化了SNP-Optimizer的类似于time-series的数据结构(比如计划薄Planning book),即直接使用S4APO LiveCache数据,所以从数据抓取、数据准备,以及最终计划结果创建的过程均有很大的技术差异。

但是作为业务用户,从前台操作以及计划结果解析,PPO完美地继承并改进原先独立的SNP-Optimizer

所以,APO-SNP-Optimizer的进化,以此图做结:


(3)APO-SNP-CTM进化


举一个简单的实例来进行简单阐述CTM例如如下的CTM初始数据:


经过CTM的运行,

计划结果:


当然以上是一个很简单的标准的SNP-CTM的过程,CTM是真正的以“单个需求”为“导向”的深度N型搜索策略(当然也可通过配置或多次Run实现Z型),

所以CTM对于像在Hi-Tech此类行业里以具体的订单的需求在“产能+物料”两方面都同时满足为首要目的的排产应用是非常适合的,包括联想、浪潮等在内的众多优秀企业均在使用CTM作为其主计划的首选工具。


那么,APO-SNP-CTM的进化呢?

同前面几个产品一样,由于APO的定位,独立的SNP-CTM将会进化到新产品、新技术,但是与SNP-Optimizer具有2条路的进化不同,在新的S4HANACTM是没有进行内嵌或部署,SNP-CTM从本质上来说,其目前的进化之路同DP是一样的,即走向云平台的IBP Response and Supply中的Priority-based Heuristics,但是二者之间依然存在非常多的差异,所以可以用“部分进化”。IBP的内容,后续在IBP中再细说阐述。

 所以,APO-SNP-CTM的进化,以此图做结:


APO - PPDS

SAP APO PPDSProduction Planning and Detailed Scheduling)是APO中聚焦于单工厂下的基于产能、工艺要求的详细排程与调度的技术模块,从功能上主要包括计划PP与调度DS,从业务上而言,PP类似于前面SNP一样,它的输入是在特定制造工厂上的需求元素(例如销售订单、预测、调拨需求等),它的输出则是考虑或不考虑各类约束条件的MRP计划结果(例如计划订单);而DS它的输入则是计划端例如前面的PPDS-PPSNPERP中的PP所产生的计划结果(例如计划订单,生产订单等),输出则是考虑了调度约束条件(Schedule Constraint)的调过序的计划结果。

它的特点主要有:

  • APO-PPDS,支持离散制造、重复制造、流程制造等各业务形态下的生产计划排产,提供到工厂级、车间级、线体级甚至工位级以及时间上分秒级的生产计划与排序;

  • APO-PPDS提供Heuristics启发式、PPDS Optimizer优先器遗传算法等多种优秀的算法及模型,支持订单排序、订单调度、有限无限产能、订单关系、工序关系、换模切换、线体布局网络等多种生产排产限制因素;

APO-PPDS无缝集成APO其他模块例如GATPCTPCapable-to-promise),以及SAP ERP例如ECC形成生产订单开始生产执行。


从技术上来说, PPDSDPSNP在技术架构上不再一样,它脱离了基于CVC的时间序列(Time-series)数据,而是直接使用LiveCacheorder-based的订单数据。

举一个简单的实例来进行简单阐述PPDS在运行PPDS前的初始数据,

运行PPDSPP-Heuristics

产生生产计划MRP结果:

但是可以看出此种初始的生产计划还是很“混乱”,比如没有考虑产能约束:

PPDS-DS的调度Heuristics

最终生产计划结果调度为:

此时便不再有超产能。


当然以上是一个非常简单的介绍PPDS的例子,实际上PPDS在详细排程与计划调度上具有相当多的功能,在本公众号中,记录了大量的APO-PPDS的应用场景、技术实现等,可以知晓PPDS作为在PC领域中最精细的高级排产工具,在包括Auto汽车、IMC装配制造、Chemical化工等各行业中具有广泛的客户及应用。


那么,APO-PPDS的进化呢?

同前面几个产品一样,由于APO的定位,独立的PPDS将会进化到新产品、新技术,但是与SNP-Optimizer具有2条路的进化不同,PPDS其进化之路目前主要体现在S4HANA中的内嵌PPDSembedded-PPDS)。

S4HANA中,ePPDS的功能几乎就是PPDS的完整COPY版本,甚至包括PPDS的一些行业解决方案包,例如Auto行业的IS-AUTO解决方案,除了一些细微的技术点、以及S4HANA对功能的调整的差异外,从技术架构、数据结构、前台操作,甚至可以认为在S4HANA一套系统中就是以ERP-COREAPO-CORE这两套“系统”来构架,所以此处的“APO-CORE”里的ePPDS就几乎是StandaloneAPO-PPDS 当然在S4HANA下,ePPDS提供了更多的访问或处理工具,例如Fiori端的PPDS相关App


所以,APO-PPDS的进化,以此图做结:

APO - GATP

SAP-APO-GATPGlobal Availability-to-promise)是APO中聚焦于可以产生需求的订单元素(例如成品层级的销售订单、交货单、调拨单,半成品或原材料层级的其上层计划订单、生产订单等)的物料可用量及可承诺量的检查并对相应的订单进行承诺的技术模块,从业务上而言,GATP类似于前面SNPPPDS一样,它的输入是在各类需求元素(不仅限于成,它的输出则是考虑了各种可用性检查规则后的物料可用量对需求订单的承诺(例如对销售订单的交货行Schedule Line的处理)。

它的特点主要有:

  • APO-GATP提供最全面的物料可用性检查,可跨工厂、跨物料地对订单需求进行检查、可用性满足;

  • APO-GATP提供包括物料可用性检查、物料分配、依据规则Rule-based的可用性检查、对生产能力的响应CTP、全BOM层级Multi-level  ATP的多层物料检查与确认,并可直接集成生产模块,产生生产计划;

  • APO-GATP提供可以按各业务需求灵活改变的BOPBack-order processing)操作,从而对订单承诺进行灵活的重计划、重确认;

  • APO-GATP无缝集成APO其他模块例如APO-PPDS,以及SAP ERP例如ECC-SDPP模块的订单承诺。


从技术上来说, GATP从基础数据来说,其同PPDS一样是直接使用LiveCache里的Order-based订单数据,但是GATP中的部分功能,例如可用性检查的聚合及数据保存、PAL功能等依然也会使用基于时间序列Time-series的数据。

由于GATP提供了很多的可用性检查工具,如PACProduct-Availability-Check)、PALProduct-Allocation)、RBARule-Based-Availability)、CTPCapable-to-promise)、MATPMulti-level ATP Tree)等,每一项都有很多的应用场景。


限于篇幅,本篇就只举在实际项目中应用的最多的PALProduction Allocation)为例。

GATP-PAL主数据:

比如是30的需求数量,做可用性检查:

-          那么确认数量即为30

如果是80的需求数量,做可用性检查:

-          那么确认数量将以上面PAL分配的数量为基准


以上是一个很简单的APO-GATP的过程,正如上面所说,实际上GATP内具有相当多的功能强大的可用性检查功能,合理地组合应用,以及在实际项目中经常所做的各类增强调整后,GATP在可用性检查方面能够很好地满足各类业务场景应用。所以,包括诸如宝洁(P&G)等在内的很多优秀企业也都在使用GATP

那么,APO-GATP的进化呢?

同上述APO其他产品一样,由于APO的定位,独立的APO-GATP将会进化到新产品、新技术,其进化之路同“APO-SNP-OPTMIZER”一样,也走向了2条路::一条是走向云平台的IBP,一条是走向S4HANAIBP中主要是Response and Supply中的Response,后续在IBP中再细说阐述;

而在S4中,其与PPDS一样,SAPS4HANA中也内嵌了功能更丰富的ATP称之为aATP(Advance-ATP)。但是无论是从技术上还是功能上,其并不同于PPDSePPDS那样几乎是翻版的在S4中存在,在当前,aATPGATP几乎可以视为独立的产品而存在,或者说二者之间的关系更像是一种“借鉴”,即aATP大量借鉴了GATP中的功能来形成新的功能。

比如,上面举了GATP中的PAL,在S4HANA中的aATP中,PAL的技术架构、数据结构、操作模式简化了非常多,通过几个Fiori App就完成全部的PAL

例如PAL计划数据如下:

那么在对应的Planning object下的订单可用性检查就体现为:

从而完成订单可用性检查:


PAL之外,aATP下的ABCAlternative-Based Confirmation)借鉴GATPRBARule-based-availability check):

但目前还缺少一些功能,例如GATP-RBA还可按规则的对物料替代、对特定工厂的替代等等;

同时, aATP也不具有GATP下的CTPMATP的部分功能。但反过来,aATP也引入了一些新功能,例如供应预留(Supply Protection)可以在其他Available Check的基础之上再考虑其被其他场景所预留的可用数量:

同时对于BOP操作,也是更加直接便捷:

所以,APO-GATP的进化,以此图做结:


结语

在云的时代,特别是随着兄弟产品IBPS4HANA的不断推陈出新,独立部署的APO的应用越来越少,无论是上述介绍的DPSNP还是PPDSGATP,越来越多的客户都选择了SAPIBPS4HANA,我们完全有理由相信,作为全新一代的SCPSupply Chain Planning)工具,无论是IBP还是S4HANA,都势必将会以更多全新的功能、全新的体验给我们的用户、企业带来更多的实用价值,以及更大的经济价值。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存