Quite some years back I wrote a blog series named From Functional to Technical sharing experience of a functional consultant handling custom developments as part of his/her project work. Now I am wondering how and if that is going to change in future with S/4HANA coming in. The S/4HANA Enterprise Management Roadmap lays out the future. However On Premise edition of S/4HANA has traditional ABAP Application Server that we have been so familiar with so far. So developments (both existing and new) can still be done in ABAP but with caution and due consideration of “code push-down” possible in HANA as DB.
Assume there is a requirement to classify materials at plant in volume and variability context for further assignment of MRP Planning parameters like Lot Size, Safety and Target Stock principles. SCM 7 EhP 3 introduced ABC-XYZ Classification used for Statistical Forecasting optimisation and let’s say we plan to use the same principle for classification of products by ABC-XYZ.
So in terms of the Functional Specification for this requirement we start with an approach to select the material set selection (can be by Material Group, MRP Controller etc.), the past data horizon to be considered for analysis and the ABC, XYZ cutoff values (defaulted to something like 70%, 20%, 10% but editable). The past data considered for analysis would typically be Delivery information that would maps to data from LIKP and LIPS. In S/4HANA SD Analytics (page 45 of Simplification List) suggests use of CDS (ABAP managed Core Data Services) instead of LIS. The complete set of SD objects have been delivered in 1511 but expected to be delivered in future release. So even though currently in 1511 one can write SELECT statement on LIKP and LIPS tables, in future this will be a call to CDS and OData service.
Once the source data set is collected the ABC and XYZ classification based on Volume and Variability (calculate Co-variance of each Material) is required. However for ABC Classification one should use existing SAP provided PAL (Predictive Analysis Library) ABC Analysis algorithm. The PAL documentation provides example of how to do API call that can be done surely from ABAP Application layer.
For XYZ Classification there is no standard algorithm so technical team need to write ABAP Managed Database Procedure (AMDP) for code push-down from application to HANA DB layer.
Further this output of ABC and XYZ Classification results need to be aggregated to classify the input material set into different output display option like a 3×3 matrix showing count of materials in each group AX, BX, CX …. CZ and/or list of Materials with the ABC-XYZ classification value. This can be managed in Application Server level using classic ABAP. But if the need is Fiori like app then it would need SAPUI objects maintained in front-end application server and OData services in backend application server to feed the data when invoked from Custom Fiori App. There is whole lot of useful content on this subject here.
This is my personal view based on reading and exploration done so far. Would be interesting to know viewpoint of Technical experts / Architects if this approach makes sense for the design approach of classic extensibility in S/4HANA world.