WBF Implementing B2MML

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Presented at the 900 Fox Valley Drive, Suite 204

World Batch Forum Longwood, FL 32779-2552


+1.407.774.0207
North American Conference Fax: +1.407.774.6751
Chicago, IL E-mail: [email protected]
www.wbf.org
May 16-19, 2004

Implementing B2MML with SAP

David Cornell
Systems Manager
Procter & Gamble
8256 Union Center Blvd.
West Chester, OH 45069
USA
513-634-9521/513-634-9442
[email protected]

KEY WORDS
SAP, B2MML, Business Connector

ABSTRACT
The Procter & Gamble MES organization is implementing B2MML with SAP. When starting, we found
several obstacles including; Lack of examples of B2MML; No desire from the SAP company to pursue a
B2MML interface; Our lack of XML skills; Missing automatic interfaces in SAP.
Several factors in our favor included: Support for B2MML at management level in our Information
Exchange, Material Movement/Warehouse, SAP Production Execution, and MES organizations; we
could use an existing SAP Business Connector infrastructure; our key MES vendor was actively
developing a B2MML interface; The WBF XML working group was willing to exchange information.
MES formed and lead a team, with our SAP and Material/Warehouse groups to define requirements,
design information maps, acquire interface development skills and resources, develop a B2MML
interface for one business’s limited set of SAP transactions, then set the direction for ownership and
long term exploitation of B2MML in P&G to maximize lifecycle cost saving.
The work to date will be described including how we worked with the B2MML authors, WBF members,
MES vendors, and internal SAP and BC resources to build our pilot interface. Technical specifications
for key messages including views of the mapping code will be shown.

Copyright © 2004 World Batch Forum. All rights reserved. Page 1


PAPER

1 Introduction
Tightly integrating our ERP and MES systems has become focus of many projects to create value in our
company. The focus on external information exchange with customers has long been a priority. Now,
to achieve the cost savings and improvement in the Supply Chain, information must be exchanged
accurately and much more quickly among all information systems within our company. This includes
information exchange among ERP and MES system, the focus of the S95 standard.
In the fall of 2003, two of our internal business organizations approached us with the desire to
implement an integration of their MES systems with our ERP system, SAP. One business uses a
commercially available MES system, which also happens to be the primary recommended MES system
for our whole company. The other uses an internally developed MES system. Neither of these systems
had an ERP interface. My global MES organization saw this as an excellent opportunity to introduce
B2MML to our company. Both MES system owners agreed that if they were to build an ERP interface,
it should be built on an existing industry standard message format. B2MML would be that format.
Using B2MML will benefit the commercial MES vendor as they can easily sell this interface to other
customers using B2MML. It also benefits our internal MES system owner as this allows them to easily
migrate to the preferred MES system when their business plan allows. Unfortunately our ERP vendor,
SAP, was not prepared to work with us to develop a B2MML interface. Therefore we chose to develop
one ourselves. We worked with one other SAP user in the World Batch Forum to share B2MML
implementation techniques and hope to work with others to continue this development.

2 Business Justification
The business justification for standard message formats for information exchange has always been easy
to establish, but only when those standards are accepted and used across an industry. Both the internal
and external organizations we work with support following the S95 model for ERP to MES
communication. However, most have been unaware that B2MML is the specific implementation of S95.
I am making it a priority to promote B2MML within my company and with our MES vendors.
2.1 Internal Support
Internal support for a standard XML interface to ERP came from several areas including SAP
Production Execution, Material Movement and Warehouse Management, Manufacturing Execution
Systems, and Enterprise Application Interface groups.
The SAP Production Execution manger supported our effort and joined our team. He brought
understanding of the processing, both standard and company custom processing, within SAP to our
team. He oversees design of any modification to the SAP needed to process the messages exchanged
with MES.
A manager from our Material Movement and Warehouse Management department also joined our team.
He is an expert in communicating the same information with SAP as our MES pilot will, but through
custom flat file interfaces rather than standard XML interfaces. He is teaching our MES team how to
use SAP and work with the transactions we will be translating to B2MML. More important to our long
term goal, he supports replacing the current custom interface between the warehouse system and SAP to

Copyright © 2004 World Batch Forum. All rights reserved. Page 2


the B2MML standard when such change is deemed valuable and cost effective. Also, the standard will
need to mature to include material movement structure. Plus the interface infrastructure with SAP will
need to be established and robust first.
My department, Manufacturing Execution System Center of Expertise, has always promoted standard
interfaces and understood their long term value. We have a long history of building and replacing
custom interfaces with new custom interfaces every 2-3 years. This is often required merely to maintain
functionality as computer technology changes. The lack of a standard interface format and the
technology to easily use it has kept us on this resource consuming path.
All three of the organizations above were recently placed under the same manager in our Supply
Network Execution department. The support of this manager and our organizational synergy has
facilitated our project progress.
2.2 Vendor Support
MES Vendors also support a standard XML format for ERP communication. The vendor of our primary
recommended MES system has committed to provide an XML interface for information exchange with
ERP and other systems. While not exclusive to the B2MML format, this interface will be delivered with
a configuration that supports the B2MML format. Users will be free to configure support for other
XML formats. We are working closely with this vendor on the initial development of the first phase of
this interface, receiving the ProductionSchedule structure containing order header information.
We are also maintaining contact with several of our control system vendors. They are supportive of the
B2MML standard. Several are members of the World Batch Forum. We anticipate approaching them
soon to discuss plans to bring B2MML to the factory floor in our company. The most likely first step
would be the processing of the ProductionSchedule structure from SAP just as we are now prototyping
with our MES systems.

3 Scope of our Pilot


Our pilot project has two phases. These will involve development of a B2MML interface for both MES
systems and SAP
First is the download of orders and bills of materials directly to each MES system. This would
eventually replace a process of manually entering this information in the MES system from a report
generated from the ERP system. This information is sent to both types of MES systems. This is the first
B2MML interface for both using the ProductionSchedule structure.
In the second phase we will send material consumption and production data from MES to ERP using the
ProductionPerformance structure. Only our internally developed MES system will perform this phase.
The goal for this business is to reduce the amount of data handling and touch across the manufacturing
departments. The current amount of data handling limits the speed to react to market and operational
needs, limits the ability to reduce response time to operational issues. If successful we can increase
Supply Chain visibility; enhance planning information from the plants, and speed up the inventory
confirmation cycle. Our once daily back flush operation to recalculate inventory levels will be replaced
by at least hourly transfers of actual material quantity changes from MES to ERP.

Copyright © 2004 World Batch Forum. All rights reserved. Page 3


4 Practical Problems and Overcoming Obstacles
4.1 Business Connector Infrastructure
A Business Connector Infrastructure is already in place in our company. The EAI organization gave us
the following assessment of their infrastructure. They recommended that we proceed with Business
Connector as our means to implement a B2MML interface for SAP.
The strategic EAI tools are TIBCO BW (Business Works) and SAP Xi (exchange infrastructure).
We are working on architecture plans to introduce these products (and some new capability such
as Business Process Modeling, End-to-end Transaction Monitoring) and sun-set other products
(Business Connector, AI, i3, etc). Both TIBCO BW and SAP Xi are at very early stages of
deployment and they are not yet in production. SAP Business Connector is the primary
technology that fills the EAI (data transformation and transport) gap right now. It is heavily used
by Supplier Connectivity and Supply Network Planning. One of the questions we are going to
look into is how to phase out Business Connector, but I can assure you that actual sunset of BC
will not be before 3 years. A key challenge of this migration is that the mapping functionality on
the current version of BC (flow language) is built on proprietary technology. We know that it is
possible to move to open standards by upgrading BC. Once we are on open standards, we expect
that it will be easier to transport our setup to strategic EAI technologies, however we did not
finalize all the options/implications and plans of such a transition.
However, we learned that there was not enough capacity to add our B2MML interfaces on the existing
infrastructure. The support organizations that existed were owned and run by the specific application
users, like Supplier Connectivity. They would not be able to support our B2MML applications.
We did find one project group that had capacity for our application. We will have to own, develop, and
support our own application. So we will limit our use of this system to just our two pilot applications.
We have begun a formal process to get a fully supported global infrastructure for MES to SAP Business
Connector applications. This infrastructure could be quite large as we have hundreds of MES systems
that would be exchanging information such as orders, materials, inventory, quality, batches,
specification, and recipes via B2MML with SAP.
4.2 Learning B2MML
Learning B2MML required more than just reading the B2MML documentation. The documentation was
clear in its descriptions of the specific structure of the XML. However, there were no examples of how
to use some of the more open and flexible aspects of the standard. Once we had committed to the use of
B2MML in our pilot project, we found it necessary to hire one of the B2MML authors to work with us
to match our SAP transactions to the B2MML fields.
The most unclear concept in B2MML that we needed to use is that of the Process and Product Segments.
Definitions of these are not included in the B2MML documents, but are only available in the ISA S95
documentation. Those documents are unfortunately not freely available. We had to rely on the contract
services we purchased to help us understand and apply these concepts to our requirements.
One requirement was to send two types of information from the MES system using the
ProductionPerformance structure. One is periodic reports of material production and consumption
that contain quantities of material that are to be used to adjust inventory. The other is an order
confirmation that contains quantities of material that are to be compared to inventory and confirm and
close the order. We discussed how we might distinguish the processing of the same

Copyright © 2004 World Batch Forum. All rights reserved. Page 4


MaterialProducedActual information in the ERP system and decided to use different values in the
ProcessSegmentID. A short definition of a Process Segment is a business view of production. So in
our case we had two business views of the same data, making product and confirming orders. We chose
to use “MAKE” and “ORDER CONFIRMATION” as the ProcessSegmentID respectively. Our
Business Connector application processes each SegmentResponce differently based on this value,
generating different messages to SAP.

<?xml version="1.0"
encoding="iso-8859-1"
?>
<ProductionPerformance
>

<ID>1234567890</ID
>
<PublishedDate>1999-
03-
01T00:00:00</Publishe

ProductionPerformance Example for ProcessSegmentID = MAKE


Once we had the understanding of the B2MML structure, our team of SAP, MES, and B2MML experts
created a detailed specification of the mapping of SAP message fields to those structures. We are using
a custom IDOC message for Order and Bill of Materials information from SAP. We are using a
standard SAP IDOC message for Material Consumption and Production information from MES. We are
modifying a custom SAP IDOC message to contain the Order Confirmation information from MES.
4.3 Business Connector Development Resources
As the owner of the B2MML process within my company, I must know the Business Connector code
and tools, even if I am not the primary developer. Plus we needed to find a developer for our code as I
did not have the time or expertise to do it and meet our schedule.
The very small group that owns Business Connector in our company did find time early in our project to
train me on the general structure of the tool. We eventually found a group of Business Connector
developers being used by our Supplier Connectivity organization who could give us some of their time
to develop the first phase of the transformation code between B2MML and the IDOC message structures
in SAP. While we searched for this development team, our design team from our SAP, Material
Movement, and MES organizations had time to finalize the design of the interface between SAP and
B2MML. The detailed design I created from the input of our project team allowed the Business
Connector developers to quickly begin work and deliver our needed code modules.
4.4 B2MML Record Definition in Business Connector
Record definition for B2MML in the Business Connector development tool proved somewhat difficult.
The schemas would not load using the tools that normally loads XML schemas in this tool. For this
problem, we were able to obtain help from another World Batch Forum member and repeated
conference presenter on the topic of B2MML. They directed us to their software contractor who had
coded their B2MML interface in Business Connector using version 1 of B2MML. This contractor
provided us with the actual code package from Business Connector with their record definitions. They
too were unable to read the schema. However, they were able to create the record structure from an

Copyright © 2004 World Batch Forum. All rights reserved. Page 5


example of the XML file. As we were using version 2 of B2MML, their package could not be used
directly. But, I was very easily able to edit their B2MML example files to conform to version 2. I easily
created the record structures in Business Connector from these example XML files.
To be sure the management of the record structures through changes in the B2MML standard remains
easy, I created separate record structures for each part of B2MML that is used repeatedly or recursively.
For example, Location is referenced in several places, including within itself. The Location record is
defined once under the B2MML.Common folder. It contains only three elements, two String fields and
one Record Reference List that refers to itself, Location, designated by the shortcut arrow on the Record
List icon in the following figure. The recursion within Location is now defined. Location can be used
anywhere and be guaranteed to be defined identically.
In addition to recursive structures, commonly used simple structures can be defined as Record Reference
Lists instead of Record Lists to make future modification to them easy to manage. Doing so is an added
step after the default record structure is created from the example XML file. However, this allows the
record structure to remain flexible while ensuring its consistent definition. I plan to convert all the
commonly used Record Lists to Record Reference Lists as my project schedule permits. Quantity is an
example of this.
Also, during coding it can be necessary to use a part of the B2MML structure as a temporary working
area. To be sure these temporary structures match precisely the B2MML substructure they copy,
defining them as separate records and referring to them in the main structure proves most useful.
MaterialConsumedRequirement is an example of this in my application. The Business Connector tool
allows an easy migration from a Record List to a Record Reference List. If the Record to be referenced
is first copied and saved. Then the record containing it can be modified by adding the reference and
removing the original record structure without saving in between. If changed in this manner, the
resulting record will have the same structure as the original. All uses of the now referenced fields will
remain unchanged in the code.

Copyright © 2004 World Batch Forum. All rights reserved. Page 6


Left: ProductionPerformance Business Connector Record
Upper Right: Business Connector Package Structure
Lower Right: Location Record Reference List Example

Copyright © 2004 World Batch Forum. All rights reserved. Page 7


4.5 Version Management
While the Business Connector tool makes it easy to modify a record structure and propagate that change
to all code modules, known as services, such propagation is usually not desired in a production
environment. If one MES system is using version 1 of B2MML, we cannot send a record structured
after version 2 of B2MML to it until it is ready to process the new structure. The B2MML interfaces
should have no trouble passing over new structures in the XML that they are not prepared to receive.
However, some of the difference between version 1 and 2 changed existing structures, such as quantity
and the any structures.
We separated the services that are called by each system from those that do the mapping. Each MES
system calls a unique service when sending a particular record structure to SAP. SAP uses a different
destination, known as a Partner Profile, for each MES system when sending a message. This allows the
individual routing services for each system to be managed separately from the mapping services.
Routing of messages and selecting the processing method can be changed from the one version of
B2MML to the next, one system at a time. This is also useful when simply changing the code we use to
process B2MML in Business Connector. On the development system, as we change the mapping
service logic and record structures, we want to be sure we have thoroughly tested them before releasing
them. On the production system, even fully tested new code may not be moved into production for all
systems at the same time. Often manufacturing systems have rules that require new software to only be
installed during scheduled production downtime. Perhaps the system has validation requirements
necessitating the execution of a validation protocol for each installation.

5 Key Challenges Ahead


5.1 Change Management
Change Management will be a key aspect of the S95 infrastructure we put in place. Installing an
automatic interface between ERP and MES, while speeding the exchange of accurate business
knowledge between ERP and MES, can also rapidly transmit an error generated by a design flaw or
oversight causing damage to key business information.
Change will come in many forms including, rollout to new MES sites, hardware infrastructure upgrades,
mapping logic improvements, new messages, message infrastructure change away from Business
Connector flow language, XML technology changes, and B2MML and BatchML standard changes.
The World Batch Forum must help us in the change management challenge by ensuring that the standard
is upwardly compatible and universally understood. Upward compatibility will require that care is taken
to ensure that a structure is placed in the standard correctly from the beginning. The understanding of
the standard can be improved with more documentation, specific examples, test cases, and dynamic
participation of the user community. I look forward to participating with the World Batch Forum XML
Working Group as much as possible on both of these aspects.
5.2 Using All of B2MML and BatchML
Encompassing more of the scope of S95 and S88 information exchange in our future infrastructure is a
requirement of projects at our company in the next fiscal year. The requirements for information
exchange from ERP to MES include Production Schedules, Bills of Materials, Recipes, Material Master
Data, Quality Test Plans, Material Location, among others. The requirements for information exchange

Copyright © 2004 World Batch Forum. All rights reserved. Page 8


from MES to ERP include Material Consumption, Material Production, Material Movement, Quality
Test Results, Electronic Batch Records, Electronic Signatures, plus others. Beyond these requirements,
information will likely need to be exchanged with other systems such as Warehouse Management,
Planning, Maintenance, some of which are not part of our ERP system, SAP.
We are designating roles in our MES department, one to oversee the Business Connector infrastructure
used by MES, the other to own the B2MML interface application with SAP. Both these roles will
require updates on the technology direction of XML and SAP. In such a large company with islands of
project management and system development, both the people in these roles will need to actively
promote the use of B2MML and this Business Connector infrastructure as the primary means of
information exchange.
The owner of the B2MML interface will need to work closing with the World Batch Forum to
understand the proper application of the standard to our business requirements. Sharing methods of
integration and even Business Connector code among a community of SAP B2MML interface users
outside our company will be required to make the development and maintenance of our interface cost
effective and poised for replacement by a vendor supported solution in the future. This community
should encourage SAP to adopt the B2MML and BatchML standard by including interfaces that use
these standards in their base product.
5.3 Promoting B2MML and BatchML
Promoting B2MML as the standard implementation of S95 is very important. We found universal
support for a standard message format for information exchange and widespread knowledge of the S95
and S88 standards. However, our internal and vendor system owners were not aware that B2MML was
the XML implementation of the S95 standard. Before software vendors will build a B2MML or
BatchML interface into their product independent of a specific customer request, these standard schemas
will have to be accepted by the ERP and MES vendor community.
Not only should the system developers at MES and ERP vendors be the target of this promotion, but so
should the developer building a custom interface for use only within his company. If such developers
are aware of B2MML and have easy access to its documentation and the related S95 documentation,
they can build their internal system to use B2MML thus positioning their company to easily migrate to
an off the shelf application that also uses B2MML. Therefore, the ISA standards documents need to be
more freely accessible and reproducible. Plus a comprehensive library of examples of the many uses of
B2MML will be most valuable to expand understanding of the application of B2MML.
A dynamic and productive user community, mentioned under the topic of change management, is key to
this promotion. Not only must we know about the standard, but it must be cost effective to implement.
If each company must build its own interface to a common system, such as our ERP system, SAP, these
solutions will not be cost effective. Without acceptance of B2MML by the MES and ERP community,
custom interfaces, sold by venders to protect their market share or developed by users as a quick and
easy short term solution will continue to propagate.
This user community must work with vendors to encourage and facilitate their development of B2MML
and BatchML interfaces in their products. We must put pressure on those vendors that choose not to
implement this standard by showing them the value achieved by building an interface to a single
industry standard. But most importantly, the user community and the World Batch Forum must work to
ensure that the B2MML and BatchML standard are worth standing up for. They must be the true and
complete implementation of the S95 and S88 standard.

Copyright © 2004 World Batch Forum. All rights reserved. Page 9

You might also like