ISA-95 and B2MML:
ISA-95 is the international standard for the integration of enterprise and control systems. ISA-95 consists of models and terminology. The ISA-95 standard can be used for several purposes, for example as a guide for the definition of user requirements, for the selection of MES suppliers and as a basis for the development of MES systems and databases.
The ISA-95 standard was developed with the objective to reduce the cost, risk and errors associated with implementing interfaces between enterprise and production control systems.
B2MML (Business To Manufacturing Markup Language) consists of a set of XML schemas written using the World Wide Web Consortium’s XML Schema language (XSD) that implement the data models in the ISA-95 standard.
Integrating SAP and MES :
There are many way to integrate SAP ERP and Shop floor MES systems. According to the best practice it is good to use ISA-95 standards to integrate ERP and Shop floor systems. Most of the so called standard MES provides some webservices which supports ISA95 interfaces. The MES systems not having ISA95 supported interfaces, need to provide such webservices to fit with integration scenario following ISA-95 standards. SAP does not provides ISA-95 standards interfaces.So a middleware is required for SAP and MES integration using ISA-95 standard i.e. interface mapping and guaranteed delivery. We can integrate via XI, MII, or it is technically possible to use other middleware also.
In the design describe below MII will act as a middleware by reading data from SAP and map those data with ISA-95 interface by calling the webservice provided by MES system.
Sending Production Schedule B2MML from SAP ERP to MES:
We can use production schedule B2MML message to send the manufacturing planning data from SAP ERP to MES. Production Schedule interface usually have most of the elements which are required for production. Its better to send ProcessProductionSchedule B2MML to MES system which contains ProductionSchedule Information as well as some other header level elements.
Steps to send data from SAP ECC to MES are:
- SAP ERP sends messages to SAP MII via its native interfaces such as RFC/IDoc/Enterprise Services to the SAP MII Message Services
- SAP MII transforms the messages from SAP interface format to ProcessProductionSchedule ISA95 B2MML format.
- SAP MII sends the B2MML messages to MES via webservice provided by MES.
SAP Interface to B2MML transformation:
MII will create B2MML message by parsing the control recipes which are in MII Message Buffer as categorized status.
All the process order details in control recipe should be mapped under ProductionRequest of ProductionSchedule B2MML. For each order one ProductionRequest in B2MML should be created. ProductionRequest can be 1 to n.
Each order can have 1 to n number of control recipe which should be mapped under 1st level SegmentRequest which is a child of ProductionRequest. Under one ProductionRequest there can be 1 to n number of SegmentRequest depending on how many control recipe ids are there under one order in control recipe.
Each control recipe may have 1 to n operations which should be mapped under 2nd level SegmentRequest which is a child of 1st level SegmentRequest.
All Phases of an operation should be mapped under 3rd level SegmentRequest which is a child of 2nd level SegmentRequest as shown in the picture below.
High level B2MML Structure for Production Schedule:
Sending Production Performance B2MML from MES to SAP ERP
To send the real time planning data from MES to SAP ERP production performance B2MML message usually used.
Steps to send data from MES to SAP ERP are:
- MES sends ProcessProductionPerformance B2MML message to the SAP MII Message Services via HTTP Post
- SAP MII transforms the B2MML message into RFC interface and updates the data in ERP
Production Performance B2MML details:
All the process order details are stored under ProductionResponse of ProductionPerformance B2MML. For each order there will be one ProductionResponse in the B2MML.
Control recipes under each order mapped under 1st level SegmentResponse of ProductionPerformance B2MML.
Each control recipe may have 1 to n operations which should be mapped under 2nd level SegmentResponse which is a child of 1st level SegmentResponse.
All Phases of an operation should be mapped under 3rd level SegmentResponse which is a child of 2nd level SegmentResponse as shown in the picture below.
MII can parse this ProductionPerformance B2MML and using those data call some process message or BAPI or RFC to update data in SAP ERP.
To update data in SAP ERP, MII will parse the B2MML sent by MES system and call some process message by passing required input data.
Example: For goods receipt MII will call process message PI_PROD and map the PI_PROD input fields with required B2MML data.
High level B2MML Structure for Production Performance