You are on page 1of 159

A Step by Step Guide

Creating a BPM Scenario in SAP Exchange


Infrastructure 3.0

XI BPM

Email Client
Order Response
Failure

M
A
I
L

Integration Process
4c) XI_MAIL

MI_BPM_TRIGGER_MATCH
MT_BPM_TRIGGER
(DT_BPM_TRIGGER)

DocNum
MI_BPM_TRIGGER
MT_BPM_TRIGGER
(DT_BPM_TRIGGER)

2b) MI_BPM_TRIGGER
4b) MI_BPM_TRIGGER_MATCH
DEMO

XI IS
Order

S
O
A
P

1) MT_ORDER
(DT_ORDER)

CRM
Receiver Determination

2a) ORDERS
(ORDERS05)

I
D
O
C

Sales Order

Middleware
XI IS

ECC
Order Response

F
T
P

4a) MT_ORDERRESPONSE
(DT_ORDERRESPONSE)

Receiver Determination

3) ORDRSP
(ORDERS05)

I
D
O
C

Sales Order
Response

Authored by

Kevin Wilson
With contributions by Alistair Rooney and David Propst

http://www.geniepress.com

Genie Press 2007

Copyright @ 2012 by Genieholdings.com, Inc.


Published 2007 and re-released in 2012 by Genie Press, a division of Genieholdings.com, Inc.
All rights reserved. No part of this publication may be used or reproduced in any manner whatsoever
without either the prior written permission of the publisher or a license permitting restricted copying in the
United States or abroad.
Trademarks:
Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of
a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark
owner, with no intention of trademark infringement.
SAP, SAP Logo, R/3, mySAP, mySAP.com and other SAP products and services mentioned herein are
trademarks or registered trademarks of SAP AG.
All product names are trademarks of their respective companies.
Disclaimer:
This is not a product of SAP AG nor are they the publisher of this book and as such are not responsible for it
under any aspect of the law. This publication is an independent view and is for instructional purposes only.
The publisher does not offer any warranties or representations nor does it accept any liabilities with respect
to the content of this publication. The information in this book is distributed on an as is basis, without
warranty. Although every precaution has been taken in the preparation of this work, neither the author(s),
nor Genie Press of Genieholdings.com Inc. shall have any liability to any person or entity with respect to any
loss or damage caused or alleged to be caused directly or indirectly by the information contained in this
work.

http://www.geniepress.com

Genie Press 2007

A big shout out to my fellow road warriors Dave Propst and Alistair Rooney for
their valuable contributions, not only to this quick guide book, but to the SAP
integration community as a whole.
Dave and I have worked several projects together and hes my number 1 go to
guy for Integration Architecture stuff.
Whereas Alistair literally wrote the book on ABAP and Java! Who knows it better
than him? I challenge you to find someone.
Although this book runs the older release of XI, I still have folks finding it useful in
pulling it together for the new versions of PI. The screens may have changed but
the concept and objects havent changed too much. This book helped several
folks find their legs in XI to such an extent that they became XI and now PI
consultants and make a decent living out of it. If this is too old for you then dont
print it and carry on with life, but if it is then know that I am pleased that it has
helped out a little. Please dont ask me to update it to the latest version, as I have
moved on to more fun topics like SAP Event Management and Sybase ESP ;)
Kevin Wilson

In association with http://www.erpgenie.com

Genie Press 2007

Table of Contents
INTRODUCTION

Background ............................................................................................................................... 8
About the Author ....................................................................................................................... 9
How to use this book ................................................................................................................ 9
The Scenario ............................................................................................................................ 10

PHASE 1 : SYSTEM CONFIGURATION


1.1.

12

Software Component ................................................................................................. 12

1.2. Clear SLD Cache .............................................................................................................. 13


1.3. Import Software Component ........................................................................................... 14

PHASE 2 : INTEGRATION BUILDER DESIGN

15

2.1. External Definitions ......................................................................................................... 15


2.1.1. XI_MAIL .................................................................................................................. 16
2.2. Data Types ........................................................................................................................ 17
2.2.1. DT_ORDERS ......................................................................................................... 18
2.2.2. DT_ORDERRESPONSE ........................................................................................ 18
2.2.3. DT_BPM_TRIGGER ............................................................................................... 19
2.3. Message Types ................................................................................................................. 20
2.3.1. MT_ORDER ........................................................................................................... 20
2.3.2. MT_ORDERRESPONSE ....................................................................................... 21
2.3.3. MT_BPM_TRIGGER .............................................................................................. 21
2.4. Message Interfaces .......................................................................................................... 22
2.4.1. MI_ORDER ............................................................................................................. 23
2.4.2. MI_ORDERRESPONSE......................................................................................... 23
2.4.3. MI_BPM_TRIGGER ............................................................................................... 24
2.4.4. MI_BPM_TRIGGER_MATCH ................................................................................ 24
2.4.5. MI_EMAIL ............................................................................................................... 25
2.5. Import IDoc Type .............................................................................................................. 26
2.5.1. ORDERS.ORDERS05 and ORDRSP.ORDERS05 ................................................ 26
2.6. Message Mapping ............................................................................................................ 27
2.6.1. MM_Order_to_ORDERS05 .................................................................................... 27
2.6.2. MM_Order_to_BPM_TRIGGER ............................................................................. 28
Table of Contents

Genie Press 2007

Page 4 of 159

2.6.3. MM_ORDERS05_to_OrderResponse .................................................................... 29


2.6.4. MM_ORDRSP_to_BPM_TRIGGER ....................................................................... 30
2.6.5. MM_BPM_to_EMAIL .............................................................................................. 31
2.7. Interface Mapping ............................................................................................................ 32
2.7.1. IM_Order_to_ORDERS05 ...................................................................................... 33
2.7.2. IM_Order_to_BPM_TRIGGER ............................................................................... 33
2.7.3. IM_ORDRSP_to_OrderResponse .......................................................................... 34
2.7.4. IM_ORDRSP_to_BPM_TRIGGER_CATCH .......................................................... 35
2.7.5. IM_BPM_to_EMAIL ................................................................................................ 36
2.8. Integration Scenario ........................................................................................................ 37
2.8.1. Actions .................................................................................................................... 37
2.8.2. Integration Scenario ............................................................................................... 43
2.9. Integration Process .......................................................................................................... 51
2.9.1. IP_Orders ............................................................................................................... 52
2.10. Create Alert Category .................................................................................................... 66
2.10.1. TESTALERT ......................................................................................................... 67
2.10.2. TESTALERT1 ....................................................................................................... 68
2.10.3. Assign Users / Roles to Alert Categories ............................................................. 69
2.10.4. Update Alert Categories ....................................................................................... 70

PHASE 3 : INTEGRATION BUILDER CONFIGURATION

71

3.1. Create Configuration Scenario ....................................................................................... 71


3.1.1. Order_OrderResponse_Demo ............................................................................... 71
3.2. Create Integration Process Service ............................................................................... 72
3.2.1. IP_ORDERS ........................................................................................................... 72
3.3. Create Services without Party ........................................................................................ 74
3.3.1. Business Service: DEMO ....................................................................................... 74
3.3.2. Business Service: MAIL_SERVICE ........................................................................ 75
3.3.3. Business System: SAPCRM .................................................................................. 76
3.3.4. Business System: SAPECC ................................................................................... 76
3.4. Create Communication Channels .................................................................................. 76
3.4.1. CC_DEMO_SOAP_SENDER ................................................................................ 76
3.4.2. CC_DEMO_FILE_RECEIVER ............................................................................... 77
3.4.3. CC_EMAIL .............................................................................................................. 78
3.4.4. GeneratedReceiverChannel_IDoc ......................................................................... 80
3.5. Use Wizard to set up Determination and Agreements ................................................. 80
3.5.1. Orders interface between DEMO and CRM ........................................................... 80
3.5.2. Orders interface between DEMO and BPE ............................................................ 86
3.5.3. Order Response interface between ECC and DEMO ............................................ 92
3.5.4. Order Response interface between ECC and BPE ................................................ 98
Table of Contents

Genie Press 2007

Page 5 of 159

3.5.5. Email interface between BPE and Email Service ................................................. 104
3.6. Receiver Determination ................................................................................................. 111
3.6.1. DEMO : MI_ORDER ............................................................................................. 111
3.6.2. IP_ORDERS : MI_EMAIL ..................................................................................... 111
3.6.3. SAPECC : ORDRSP.ORDERS05 ........................................................................ 112
3.7. Interface Determination ................................................................................................. 112
3.7.1. DEMO : MI_ORDER : SAPCRM .......................................................................... 112
3.7.2. DEMO : MI_ORDER : IP_ORDERS ..................................................................... 113
3.7.3. SAPECC : ORDRSP.ORDERS05 : DEMO .......................................................... 113
3.7.4. SAPECC : ORDRSP.ORDERS05 : IP_ORDERS ................................................ 114
3.7.5. IP_ORDERS : MI_EMAIL : MAIL_SERVICE........................................................ 114
3.8. Sender Agreements ....................................................................................................... 115
3.8.1. DEMO:MI_ORDER ............................................................................................... 115
3.9. Receiver Agreements .................................................................................................... 115
3.9.1. DEMO : SAPCRM : ORDERS.ORDERS05 ......................................................... 115
3.9.2. SAPECC : DEMO : ORDERRESPONSE ............................................................. 116
3.9.3. IP_ORDERS : MAIL_SERVICE : MI_EMAIL........................................................ 116
3.10. Create and Publish Web Service ................................................................................ 116

PHASE 4 : SAP CONFIGURATION

120

4.1. Maintain Port in IDoc adapter ....................................................................................... 120


4.1.1. SAPCRM .............................................................................................................. 120
4.2. Maintain Metadata Overview for IDoc adapter ............................................................ 121
4.2.1. ORDERS05 .......................................................................................................... 121

PHASE 5 : TESTING

122

5.1. Testing the interface in XI ............................................................................................. 122


5.1.1. Create a sample XML payload ............................................................................. 122
5.1.2. Launch the test tool .............................................................................................. 123
5.2 Testing the web service using XML SPY ...................................................................... 124
5.3. Runtime workbench ....................................................................................................... 126
5.3.1. View Integration Server ........................................................................................ 127
5.3.2. View Integration Engine........................................................................................ 127
5.3.3. View Adapter Engine ............................................................................................ 128
5.3.4. View alert inbox .................................................................................................... 129
5.3.5. Workflow Log ........................................................................................................ 129
5.3.6. Verify email ........................................................................................................... 130

Table of Contents

Genie Press 2007

Page 6 of 159

GLOSSARY

131

APPENDIX A. ABBREVIATIONS USED

137

APPENDIX B. DATA TYPES

138

XSD DT_ORDERS ............................................................................................................... 138


XSD DT_ORDERRESPONSE ............................................................................................. 139
XSD DT_BPM_TRIGGER .................................................................................................... 141

APPENDIX C. WSDL FILES

144

MI_ORDER.WSDL .................................................................................................................. 144

APPENDIX D. EXTERNAL FILES

147

XIMAIL30.XSD File for Mail adapter .................................................................................... 147

APPENDIX E. MESSAGE MAPPINGS

151

MM_Order_to_ORDERS05 .................................................................................................... 151


MM_Order_to_BPM_TRIGGER............................................................................................. 152
MM_ORDERS05_to_OrderResponse .................................................................................. 153
MM_ORDRSP_to_BPM_TRIGGER ....................................................................................... 154
MM_ BPM_to_EMAIL ............................................................................................................. 155

INDEX TABLE

Table of Contents

156

Genie Press 2007

Page 7 of 159

Creating a BPM Scenario in XI

Introduction
Background
Exchange Infrastructure has grown out of the enormously disparate world of
and I use this in its most general sense Electronic Data Interchange. Exchange
Infrastructure 3.0 brings together a lot of technologies. Some of these
technologies are open standards that have been embraced over the years and
have become the de facto standard. These are XML and its cousins SOAP,
WSDL, XPATH, XSLT and so on. Other technologies are proprietary to SAP AG,
like IDOCS, ALE, ABAP Objects and even certain class libraries used by Java.
One of the most interesting developments in recent years has been the
emergence of graphical mapping to chart out an organizations business
processes. One of the leaders in this has been the ARIS product. SAP and IDS
Scheer1 have teamed up to bring us Business Process Management or BPM. XI
plays an important role in this by linking the business processes together.
This book describes the process to map a BPM scenario in XI. It covers the 5
phases required:
System configuration
Integration Builder Design
Integration Builder Configuration
SAP Configuration
Testing
It does not try to describe all the functionality that you will encounter in XI and the
BPM module. After all BPM is larger than just XI and conversely XI is more than
just BPM! It does not attempt to provide you with a production solution for the
scenario provided. The scenario is made up to incorporate as many aspects of XI
messaging and BPM as is feasible.
A note about authorization: The tasks in the system configuration phase will take
a higher level of authorization then the remaining 4 phases. The tasks in the first
phase will require the role of SAP_XI_ADMINISTRATOR. The remaining for
phases can be performed by a user with the role of SAP_XI_DEVELOPER.

IDS Scheer are the developers of the ARIS product

Introduction

Genie Press 2007

Page 8 of 159

Creating a BPM Scenario in XI

About the Author


Alistair Rooney is a Principal NetWeaver Consultant with SAP. Alistair has been
involved in 11+ SAP projects and has been Development Lead or Technical
Architect on all but two of these. Alistair has a wide range of skills as a result of
his 25+ years in the industry. Alistair started as a junior programmer in the early
80s and progressed to an IT Manager position in London, UK before entering
consulting. Alistair is an accredited member of the Institute of IT Management,
holds a number of Technical Certifications and is an accredited TOGAF
Architect. Alistair is the author of Foundations of Java for ABAP Programmers.
David W Propst was the SAP NetWeaver XI lead for Insight Inc., SAP
NetWeaver PI / Integration architect at Monsanto and now holds a similar
position at HD Supply. He has over 18 years of experience creating innovative
system integration solutions, the past nine years of which have been integrating
SAP systems. David has designed, implemented, and managed large scale B2B,
EDI, and EAI solutions in the transportation, distribution, and retail industries.
David has proven his ability to utilize his vast technical and business knowledge
to produce highly available, scalable, maintainable, and above all profitable solutions.
Kevin Wilson, associate partner at Q Data USA Inc. and founder of
ERPGenie.COM, has over 20 years of large scale integrated information systems
implementation experience, the last 16 of which were dedicated to SAP
implementations. Kevin has designed, configured, developed and implemented
solutions for over 29 projects worldwide. Interfacing technologies such as EDI,
ALE, ITS, XI / PI, SAP Event Management, Workflow and ABAP are skills that he
has expertise in. Kevin typically fulfills the role of team or project lead and often
offers training on these technologies to clients seeking to acquire these rare
skills. Kevin holds a Bachelors Degree in Science majoring in Mathematics and
Computer Science and also holds a diploma in Project Management. He also
regularly talks at conferences around the world on his topics of interest.

How to use this book


The book is written in such a way as to be a step by step quick guide to
implementing the given scenario. It details, as far as possible, every step that is
required in order to deliver the documented scenario. It also assumes, although
you may be able to muddle through, that you have a basic knowledge of XI 3.0
and some XML fundamentals.

Author: Kevin Wilson

Genie Press 2007

Page 9 of 159

Creating a BPM Scenario in XI

Key:
Italic words
Italic words -> Italic words
Underlined

Transactions
Menu path to follow
Indicates a Tab on a
screen
All figures are labeled with a number. If that figure is referenced in the text then it
is reference with this number. For your convenience a table of figures is listed
after the table of contents.

The Scenario
An external system (DEMO) sends an XML representation of an order through to
XI. We want to transform this order in to a small BPM message destined for the
BPM engine and also transform it in to an ORDERS05 IDoc destined for the
CRM system.
This ORDERS05 IDoc creates a sales order in CRM which is then replicated to
the ECC system, via middleware. The sales order in ECC then generates an
ORDRSP IDoc which is then sent to XI. This ORDRSP IDoc is then transformed
in to a small BPM message that is correlated with the ORDERS BPM message
sent earlier. It is also transformed in to an order response XML message which is
sent through the FTP Adapter to a specific file on the Integration server. The
BPM also has timeout and exception handling capabilities using the alert
framework as well as the email adapter.
Dont Panic this all seems rather daunting at this point but the diagram in
Figure 1 will simplify our task considerably!

Author: Kevin Wilson

Genie Press 2007

Page 10 of 159

Creating a BPM Scenario in XI


XI BPM

Email Client
Order Response
Faliure

Integration Process

M
A
I
L

4c) XI_MAIL

MI_BPM_TRIGGER_MATCH
MT_BPM_TRIGGER
(DT_BPM_TRIGGER)

DocNum
MI_BPM_TRIGGER
MT_BPM_TRIGGER
(DT_BPM_TRIGGER)

2b) MI_BPM_TRIGGER
4b) MI_BPM_TRIGGER_MATCH
DEMO

XI IS
Order

S
O
A
P

1) MT_ORDER
(DT_ORDER)

CRM
Receiver Determination

2a) ORDERS
(ORDERS05)

I
D
O
C

Sales Order

Middleware
XI IS

ECC
Order Response

F
T
P

4a) MT_ORDERRESPONSE
(DT_ORDERRESPONSE)

Receiver Determination

3) ORDRSP
(ORDERS05)

I
D
O
C

Sales Order
Response

Figure 1: BPM Scenario

Author: Kevin Wilson

Genie Press 2007

Page 11 of 159

Creating a BPM Scenario in XI

PHASE 1 :

SYSTEM CONFIGURATION

We have 4 systems in our scenario:


The Demo system sending the order in XML format
The CRM system that receives the ORDERS IDoc in order to create a
sales order
The ECC system that sends the ORDRSP IDoc to XI and ultimately to an
email address
The XI system housing the interfaces, the BPM scenario and the adapter
framework
Well go through configuring the Demo system as a Software Component.
Furthermore we will assume that the CRM and ECC business systems have
been set up and imported in to the Integration Directory. Well be covering the
adding of the communication channels (We will use the IDoc adapter) to these
business services.
All our design work will be done under the DEMOCOMPONENT Software
Component.

1.1. Software Component


So, lets get going with our first task. We need to configure the DEMO system if its
not a part of the business landscape. In our case we need to create
DEMOCOMPONENT as a Software Component in the SLD. Most SAP shops do not
allow just anyone into the SLD. This task is usually performed by a development
lead or basis. You will need the SAP_XI_ADMINISTRATOR or
SAP_XI_CONTENT ORGANIZER role to perform the SLD tasks. You may need
to have basis set this up for you.
1. Log in to the XI server
2. Run transaction SXMB_IFR to start the Integration Builder

Phase 2 Integration Builder Design Genie Press 2007

Page 12 of 159

Creating a BPM Scenario in XI

Figure 2: Integration Builder

3.
4.
5.
6.
7.

Start System Landscape Directory


Click on Software Catalog
Click on New Product
Enter a vendor, name and version and Create
Now you need to add a Software Component. Enter Vendor, name
(Software Component name), version and Create
8. Your Software Component should look like that shown in Figure 3

Figure 3: Software Component Version

1.2. Clear SLD Cache


1. Fire up the Integration Directory (CONFIGURATION)
2. Clear the cache using the menu option as shown in Figure 4: Environment
-> Clear SLD Data Cache2.

Figure 4: Clear SLD Cache Data


2

The Systems Landscape Directory can be viewed as a separate entity to the Integration Builder.
So, if we had to access the SLD from the Integration Builder every time we made a change, it
would slow the whole process down considerably. The obvious solution was to provide a cache
that holds the SLD information within the Integration Builder. Unfortunately this means that when
we make a change to the SLD our changes will not be picked up by the Integration Builder. For
this reason we always clear the SLD cache and reload the SLD Software Components.

Phase 2 Integration Builder Design Genie Press 2007

Page 13 of 159

Creating a BPM Scenario in XI

1.3. Import Software Component


1. Start the Integration Repository
2. Import your Software Component. From the menu choose Tools ->
Transfer from System Landscape Directory -> Import Software
Component Versions

Figure 5: Import Software Component Version

3.
4.
5.
6.

Select Demo component and click Import


Once its been successfully imported click exit
Double click your Software Component version DEMOCOMPONENT
Create a namespace (http://www.demo.com/xi) and Save

Figure 6: Create Namespace

Phase 2 Integration Builder Design Genie Press 2007

Page 14 of 159

Creating a BPM Scenario in XI

PHASE 2 :

INTEGRATION BUILDER DESIGN

In order to map an interface we need certain elements to be defined. We define


these elements in the integration repository. These elements include:
Data Type
Message Type
Message interface
Message Mapping
Mapping Interface
Interface

Mapping

Message Interface
(WSDL)

(Receiver Determination,
Interface Determination,
Sender agreement,
Receiver agreement)

Interface Mapping

Message Type
(XSD)

Message Mapping

Data Type
(XSD)

Figure 7: XI Interface Process

These elements will then be used in the XI configuration phase to assemble the
required interface.

2.1. External Definitions


The email XSD provided by SAP needs to be uploaded as an external definition.
This will save us a huge amount of work since we now have a preformatted
structure to use in our interface. This is just one of the cool new features with XI
3.0!
Phase 2 Integration Builder Design Genie Press 2007

Page 15 of 159

Creating a BPM Scenario in XI

2.1.1. XI_MAIL
1. Open up your applicable namespace under the DEMCOMPONENT
software component
2. Open Interface Objects
3. Right click External Definitions -> New
4. Enter Name (XI_MAIL) and Description -> Create
5. Change category to XSD

Figure 8: External Definition Category

6. Click
to Import External Definitions
7. Browse to the XIMAIL30.XSD file -> Open (See definition at APPENDIX
C)
8. Your External definition should look like that shown in Figure 9

Figure 9: External Definition - Mail Message Definition

9. Check that your External Definition has 3 messages associated with it as


shown in Figure 10. We do this by clicking on the Messages tab. This is

Phase 2 Integration Builder Design Genie Press 2007

Page 16 of 159

Creating a BPM Scenario in XI

an important step, if you do not see the messages defined here; there was
a problem with the import.

Figure 10: External Definition - Mail Messages

Naming Conventions
At this point Id like a quick word, if you dont mind. Its important that we emphasize the
importance of Naming Conventions here. As you have probably noticed, Data Types have a
prefix of DT, Message Types have a prefix of MT and Message Interfaces have MI and so on.
This is not the whole picture, however. You may want to qualify the interfaces further by using a
suffix of OUT for outbound (Remember this is outbound from the server never from XI) and IN
for inbound. Trust us, (Were professionals), defining your standards up front will take away hours
of frustration later.

2.2. Data Types


Now that we have our mail structure, we need to create 3 new data types (It may
be a good idea to read the sidebar on Naming Conventions first):
DT_ORDER: The XML definition of the order message being sent in from
the demo vendor using the SOAP protocol
DT_ORDERRESPONSE: The XML definition of the order response
message being save to an FTP drive
DT_BPM_TRIGGER: A small XML message that we will use to send
through the BPM process. Whenever possible, its best not to send large
files through the BPM process. Both the ORDERS and
ORDERRESPONSE messages will create a message of this type which
will be correlated with each other
Lets have a look at each of these Data Types in more detail:

Phase 2 Integration Builder Design Genie Press 2007

Page 17 of 159

Creating a BPM Scenario in XI

2.2.1. DT_ORDERS
1. Right click data types -> New
2. Enter Name and Description -> Create
3. Complete the definition as shown in Figure 11 (See the XSD definition in
APPENDIX A on page 137) and yes, if youre feeling lazy, you could just
import this but keying it in will give you a better understanding of the
whole process!

Figure 11: Data Type - DT_ORDERS

4. Save

2.2.2. DT_ORDERRESPONSE
1. Right click data types -> New
2. Enter Name and Description -> Create
3. Complete the definition as shown in Figure 12 (See the XSD definition in
APPENDIX A on page 139)

Phase 2 Integration Builder Design Genie Press 2007

Page 18 of 159

Creating a BPM Scenario in XI

Figure 12: Data Type - DT_ORDERRESPONSE

4. Save

2.2.3. DT_BPM_TRIGGER
1. Right click data types -> New
2. Enter Name and Description -> Create
3. Complete the definition as shown in Figure 13 (See the XSD definition in
APPENDIX A on page 141)

Figure 13: Data Type - DT_BPM_TRIGGER

4. Save

Phase 2 Integration Builder Design Genie Press 2007

Page 19 of 159

Creating a BPM Scenario in XI

2.3. Message Types


Now that we have the data types we need to build the next layer up by creating
3 message types:
MT_ORDER: Linked to Data type DT_ORDER and used in Message
Interface MI_ORDER
MT_ORDERRESPONSE: Linked to Data type DT_ORDERRESPONSE
and used in Message Interface MI_ORDERRESPONSE
MT_BPM_TRIGGER: Linked to Data type DT_BPM_TRIGGER and used
in
Message
Interfaces
MI_BPM_TRIGGER
(Orders)
and
MI_BPM_TRIGGER_MATCH (Order Response)
Lets have a look at each of these in more detail:

2.3.1. MT_ORDER
1. Right mouse click Message Types -> New
2. Enter Name and Description -> Create
3. Select the data type DT_ORDER by clicking

Figure 14: Message Type - MT_ORDER

4. Save

Phase 2 Integration Builder Design Genie Press 2007

Page 20 of 159

Creating a BPM Scenario in XI

2.3.2. MT_ORDERRESPONSE
1. Right mouse click Message Types -> New
2. Enter Name and Description -> Create
3. Select the data type DT_ORDERRESPONSE by clicking

Figure 15: Message Type - MT_ORDERRESPONSE

4. Save

2.3.3. MT_BPM_TRIGGER
1. Right mouse click Message Types -> New
2. Enter Name and Description -> Create
3. Select the data type DT_BPM_TRIGGER by clicking

Phase 2 Integration Builder Design Genie Press 2007

Page 21 of 159

Creating a BPM Scenario in XI

Figure 16: Message Type - MT_BPM_TRIGGER

4. Save

2.4. Message Interfaces


Right! Take a coffee break here if you need one. The next layer is the Message
Interface layer. We need to create 5 Message Interfaces. Go back to the
diagram in Figure 1 on page 11 to refresh your memory:
MI_ORDER: Outbound asynchronous interface of type MT_ORDER. This
interface will be configured with 2 receivers. 1 being the CRM system
receiving the ORDERS IDoc using the IDoc adapter and the second being
the Integration process for the message interface MI_BPM_TRIGGER.
Well also configure a Sender Agreement for this message interface for
the SOAP call using the SOAP adapter
MI_ORDERRESPONSE: Inbound asynchronous interface of type
MT_ORDERRESPONSE. This will be configured between the ECC and
DEMO system. The DEMO system will receive the Order Response via
the FILE adapter
MI_EMAIL: Abstract asynchronous interface of External Definition type
XI_MAIL (Configured in 2.1.1. XI_MAIL)
MI_BPM_TRIGGER: Abstract asynchronous interface of type
MT_BPM_TRIGGER. This will serve as the interface for the ORDER
message getting to the BPM engine. It will be correlated with the
MI_BPM_TRIGGER_MATCH using the DocNum field
MI_BPM_TRIGGER_MATCH: Abstract asynchronous interface of type
MT_BPM_TRIGGER. This will serve as the interface for the

Phase 2 Integration Builder Design Genie Press 2007

Page 22 of 159

Creating a BPM Scenario in XI

ORDERRESPONSE message getting to the BPM engine. It will be


correlated with the MI_BPM_TRIGGER using the DocNum field. This is
the terminating portion of the BPM process

2.4.1. MI_ORDER
1.
2.
3.
4.
5.

Right mouse click Message Interfaces -> New


Enter Name and Description -> Create
Select Outbound and Asynchronous
Select the Message type MT_ORDER by clicking
Your Message Interface should look like that shown in Figure 17

Figure 17: Message Interface - MI_ORDER

6. Save

2.4.2. MI_ORDERRESPONSE
1.
2.
3.
4.
5.

Right mouse click Message Interfaces -> New


Enter Name and Description -> Create
Select Inbound and Asynchronous
Select the Message type MT_ORDERRESPONSE by clicking
Your Message Interface should look like that shown in Figure 18

Phase 2 Integration Builder Design Genie Press 2007

Page 23 of 159

Creating a BPM Scenario in XI

Figure 18: Message Interface - MI_ORDERRESPONSE

6. Save

2.4.3. MI_BPM_TRIGGER
1.
2.
3.
4.
5.

Right mouse click Message Interfaces -> New


Enter Name and Description -> Create
Select Abstract and Asynchronous
Select the Message type MT_BPM_TRIGGER by clicking
Your Message Interface should look like that shown in Figure 19

Figure 19: Message Interface - MI_BPM_TRIGGER

6. Save

2.4.4. MI_BPM_TRIGGER_MATCH
1. Right mouse click Message Interfaces -> New
2. Enter Name and Description -> Create

Phase 2 Integration Builder Design Genie Press 2007

Page 24 of 159

Creating a BPM Scenario in XI

3. Select Abstract and Asynchronous


4. Select the Message type MT_BPM_TRIGGER by clicking
5. Your Message Interface should look like that shown in Figure 20

Figure 20: Message Interface - MI_BPM_TRIGGER_MATCH

6. Save

2.4.5. MI_EMAIL
1.
2.
3.
4.
5.
6.

Right mouse click Message Interfaces -> New


Enter Name and Description -> Create
Select Abstract and Asynchronous
Select the External Definition XI_MAIL - Mail by clicking
Expand External Definitions -> XI_MAIL
Select Mail as shown in Figure 21

Figure 21: Message Interface - Select Mail Message

7. Your Message Interface should look like that shown in Figure 22

Phase 2 Integration Builder Design Genie Press 2007

Page 25 of 159

Creating a BPM Scenario in XI

Figure 22: Message Interface - MI_EMAIL

8. Save

2.5. Import IDoc Type


Only perform this step if you do not already have access to the applicable IDoc
message type in one of the Software Components. You should see it there if you
do! We will import the IDoc types to the DEMO component. (Have a look at
Figure 23).

2.5.1. ORDERS.ORDERS05 and ORDRSP.ORDERS05


1. Under the DEMO component - right mouse click on imported objects ->
New
2. Enter system and login details -> Continue
3. When the results come back expand the IDoc tree
4. Select
the
applicable
IDocs
(ORDERS.ORDERS05
and
ORDRSP.ORDERS05) -> Finish

Figure 23: Importing IDoc Types

Phase 2 Integration Builder Design Genie Press 2007

Page 26 of 159

Creating a BPM Scenario in XI

2.6. Message Mapping


OK now we need to bring these all together with Message Mappings! We will
need to create the 5 Message Mappings that we need as follows:
MM_Order_to_ORDERS05: The MT_ORDER Message Type will be
mapped to the ORDERS (ORDERS05) IDoc
MM_Order_to_BPM_TRIGGER: The MT_ORDER Message Type will
also be mapped to the small MT_BPM_TRIGGER message type which
will be used to kick off the BPM scenario
MM_ORDERS05_to_OrderResponse: The ORDRSP (ORDERS05) IDoc
will be sent from the ECC system and mapped to the
MT_ORDERRESPONSE XML Message Type
MM_ORDRSP_to_BPM_TRIGGER: The ORDRSP (ORDERS05) IDoc
will also be mapped to our MT_BPM_TRIGGER message type which will
correlate to the ORDERS BPM message and effectively end the BPM
process
MM_BPM_to_EMAIL: This is a mapping between the message type
MT_BPM_TRIGGER and the XI_MAIL -> Mail External Definition Type
which will form an email message. This will be used in the BPM process to
send out an email message when the Order Response message is not
received in a specified period of time

2.6.1. MM_Order_to_ORDERS05
1.
2.
3.
4.

Open Mapping Objects


Right mouse click Message Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source message and enter MT_ORDER
message type
5. Click the
button to choose a target message and enter
ORDERS.ORDERS05 message type
6. Perform the mappings. See APPENDIX E on page 151 for the detailed
mapping
7. Your mapping should look as follows:

Phase 2 Integration Builder Design Genie Press 2007

Page 27 of 159

Creating a BPM Scenario in XI

Figure 24: Message Mapping - MM_Order_to_ORDERS05

8. Save

2.6.2. MM_Order_to_BPM_TRIGGER
1.
2.
3.
4.

Open Mapping Objects


Right mouse click Message Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source message and enter MT_ORDER
message type
5. Click the
button to choose a target message and enter
MT_BPM_TRIGGER message type
6. Perform the mappings. See APPENDIX E on page 152 for the detailed
mapping
7. Your mapping should look as follows:

Phase 2 Integration Builder Design Genie Press 2007

Page 28 of 159

Creating a BPM Scenario in XI

Figure 25: Message Mapping - MM_Order_to_BPM_TRIGGER

8. Save

2.6.3. MM_ORDERS05_to_OrderResponse
1.
2.
3.
4.

Open Mapping Objects


Right mouse click Message Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source message and enter
ORDRSP.ORDERS05 message type
5. Click the
button to choose a target message and enter
MT_ORDERRESPONSE message type
6. Perform the mappings. See APPENDIX E on page 153 for the detailed
mapping
7. Your mapping should look as follows:

Phase 2 Integration Builder Design Genie Press 2007

Page 29 of 159

Creating a BPM Scenario in XI

Figure 26: Message Mapping - MM_ORDERS05_to_OrderResponse

8. Save

2.6.4. MM_ORDRSP_to_BPM_TRIGGER
1.
2.
3.
4.

Open Mapping Objects


Right mouse click Message Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source message and enter
ORDRSP.ORDERS05 message type
5. Click the
button to choose a target message and enter
MT_BPM_TRIGGER message type
6. Perform the mappings. See APPENDIX E on page 154 for the detailed
mapping
7. Your mapping should look as follows:

Phase 2 Integration Builder Design Genie Press 2007

Page 30 of 159

Creating a BPM Scenario in XI

Figure 27: Message Mapping - MM_ORDRSP_to_BPM_TRIGGER

8. Save

2.6.5. MM_BPM_to_EMAIL
1.
2.
3.
4.

Open Mapping Objects


Right mouse click Message Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source message and enter
MT_BPM_TRIGGER message type
5. Click the
button to choose a target message and enter XI_MAIL->Mail
message type
6. Perform the mappings. See APPENDIX E on page 155 for the detailed
mapping
7. Your mapping should look as follows:

Phase 2 Integration Builder Design Genie Press 2007

Page 31 of 159

Creating a BPM Scenario in XI

Figure 28: Message Mapping - MM_BPM_to_EMAIL

8. Save

2.7. Interface Mapping


This is a good point to review what weve done so far. Weve created the
necessary data types, XSD imports, message types, Message Interfaces,
imported IDocs and created Message Mappings. Whew! A lot of work I know, but
were nearly there! We now need to bring this all together by creating 5 interface
mappings as follows:

IM_Order_to_ORDERS05:
o Source interface: MI_ORDER
o Target interface: ORDERS.ORDERS05
o Message mapping: MM_Order_to_ORDERS05Error! Bookmark not defined.

IM_Order_to_BPM_TRIGGER:
o Source interface: MI_ORDER
o Target interface: MI_BPM_TRIGGER
o Message mapping: MM_Order_to_BPM_TRIGGER

IM_ORDRSP_to_OrderResponse:
o Source interface: ORDRSP.ORDERS05
o Target interface: MI_ORDERRESPONSE
o Message mapping MM_ORDERS05_to_OrderResponse

IM_ORDRSP_to_BPM_TRIGGER_CATCH:
o Source interface: ORDRSP.ORDERS05
o Target interface: MI_BPM_TRIGGER_MATCH
o Message mapping MM_ORDRSP_to_BPM_TRIGGER

IM_BPM_to_EMAIL:
o Source interface: MI_BPM_TRIGGER

Phase 2 Integration Builder Design Genie Press 2007

Page 32 of 159

Creating a BPM Scenario in XI


o
o

Target interface: MI_EMAIL


Message mapping: MM_BPM_to_EMAIL

2.7.1. IM_Order_to_ORDERS05
1.
2.
3.
4.
5.
6.
7.
8.
9.

Open Mapping Objects


Right mouse click Interface Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source interface and enter Message
Interface MI_ORDER -> Apply
Click the
button to choose a target interface and enter
ORDERS.ORDERS05 (Imported Objects -> IDocs) -> Apply
Save
The Message Type MT_ORDER and ORDERS.ORDERS05 are displayed
as the source and target message types respectively.
Click the
button in the mapping program name to choose Message Map
MM_Order_to_ORDERS05
Your Interface Mapping should look as shown in Figure 29

Figure 29: Interface Mapping - IM_Order_to_ORDERS05

10. Save

2.7.2. IM_Order_to_BPM_TRIGGER
1. Open Mapping Objects
Phase 2 Integration Builder Design Genie Press 2007

Page 33 of 159

Creating a BPM Scenario in XI

2. Right mouse click Interface Mappings -> New


3. Enter Name and Description -> Create
4. Click the
button to choose a source interface and enter Message
Interface MI_ORDER -> Apply
5. Click the
button to choose a target interface and enter Message
Interface MI_BPM_TRIGGER -> Apply
6. Save
7. The Message Type MT_ORDER and MT_BPM_TRIGGER are displayed
as the source and target message types respectively.
8. Click the
button in the mapping program name to choose Message Map
MM_Order_to_BPM_TRIGGER
9. Your Interface Mapping should look as shown in Figure 30

Figure 30: Interface Mapping - IM_Order_to_BPM_TRIGGER

10. Save

2.7.3. IM_ORDRSP_to_OrderResponse
1.
2.
3.
4.

Open Mapping Objects


Right mouse click Interface Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source interface and enter
ORDRSP.ORDERS05 (Imported Objects -> IDocs) -> Apply
5. Click the
button to choose a target interface and enter Message
Interface MI_ORDERRESPONSE -> Apply
6. Save

Phase 2 Integration Builder Design Genie Press 2007

Page 34 of 159

Creating a BPM Scenario in XI

7. The Message Type ORDRSP.ORDERS05 and MT_ORDERRESPONSE


are displayed as the source and target message types respectively.
8. Click the
button in the mapping program name to choose Message Map
MM_ORDERS05_to_OrderResponse
9. Your Interface Mapping should look as shown in Figure 31

Figure 31: Interface Mapping - IM_ORDRSP_to_OrderResponse

10. Save

2.7.4. IM_ORDRSP_to_BPM_TRIGGER_CATCH
1.
2.
3.
4.
5.
6.
7.
8.
9.

Open Mapping Objects


Right mouse click Interface Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source interface and enter
ORDRSP.ORDERS05 (Imported Objects -> IDocs) -> Apply
Click the
button to choose a target interface and enter Message
Interface MI_BPM_TRIGGER_MATCH -> Apply
Save
The Message Type ORDRSP.ORDERS05 and MT_BPM_TRIGGER are
displayed as the source and target message types respectively.
Click the
button in the mapping program name to choose Message Map
MM_ORDRSP_to_BPM_TRIGGER
Your Interface Mapping should look as shown in Figure 32

Phase 2 Integration Builder Design Genie Press 2007

Page 35 of 159

Creating a BPM Scenario in XI

Figure 32: Interface Mapping - IM_ORDRSP_to_BPM_TRIGGER_CATCH

10. Dont forget to Save!

2.7.5. IM_BPM_to_EMAIL
1.
2.
3.
4.
5.
6.
7.

8.
9.

Open Mapping Objects


Right mouse click Interface Mappings -> New
Enter Name and Description -> Create
Click the
button to choose a source interface and enter Message
Interface MI_BPM_TRIGGER -> Apply
Click the
button to choose a target interface and enter Message
Interface MI_EMAIL -> Apply
Save
The Message Type MT_BPM_TRIGGER and Mail (From External
Definition XI_MAIL) are displayed as the source and target message types
respectively.
Click the
button in the mapping program name to choose Message Map
MM_BPM_to_EMAIL
Your Interface Mapping should look as shown in Figure 33

Phase 2 Integration Builder Design Genie Press 2007

Page 36 of 159

Creating a BPM Scenario in XI

Figure 33: Interface Mapping - IM_BPM_to_EMAIL

10. Save

2.8. Integration Scenario


The Integration Scenario is a great way to document (Yes we know, its
sometimes seen as a bad word) your BPM process. This is the fun part as a
reward for all your hard work so far. We need to first create our actions before we
can put together our integration scenario. Again, notice the descriptive names we
use for these actions.

2.8.1. Actions
6 Actions need to be created as follows:
Send_Order: Demo system sends order using Message Interface
MI_ORDER. It has 2 receivers, being the Integration Process
(IP_ORDER) and the CRM system
Receive_Order: Receive the ORDERS IDoc in to the CRM system
Receive_BPM_TRIGGER:
Receive
the
Message
Type
MT_BPM_TRIGGER
via
the
Message
Interface
MI_BPM_TRIGGER. This will be correlated (through field DocNum)
to the MI_BPM_TRIGGER_MATCH Message Interface
Send_OrderResponse: Send the ORDRSP IDoc from the ECC
system. This IDoc will then have 2 receivers, being the Integration
Process (IP_ORDER) and the DEMO system

Phase 2 Integration Builder Design Genie Press 2007

Page 37 of 159

Creating a BPM Scenario in XI

Receive_OrderResponse:
Receive
the
Message
Type
MT_OrderResponse
via
Message
Interface
MI_ORDERRESPONSE
Receive_BPM_TRIGGER_MATCH: Receive the Message Type
MT_BPM_TRIGGER
via
the
Message
Interface
MI_BPM_TRIGGER_MATCH. This then correlates (through field
DocNum) to the MI_BPM_TRIGGER Message Interface of the
Send_Order action

2.8.1.1. Send_Order
1.
2.
3.
4.
5.

Open Integration Scenarios & Integration Processes


Right mouse click Actions -> New
Enter Name Send_Order and Description -> Create
Enter type of Usage: External
Since this action represents an outbound interface, click the
icon under
the Outbound Interfaces tab
6. Drag and Drop your Message Interface MI_ORDER in to the new line of
Outbound Interfaces. Ensure the full Object Type (Message Interface),
Name (MI_ORDER) and Namespace (http://www.demo.com/XI) are
entered
7. Your action will look as shown in Figure 34

Figure 34: Action - Send_Order

Phase 2 Integration Builder Design Genie Press 2007

Page 38 of 159

Creating a BPM Scenario in XI

8. Save
2.8.1.2. Receive_Order
1.
2.
3.
4.
5.

Open Integration Scenarios & Integration Processes


Right mouse click Actions -> New
Enter Name Receive_Order and Description -> Create
Enter type of Usage: External
Since this action represents an inbound interface, click the
icon under
the Inbound Interfaces tab
6. Drag and Drop your Imported Object IDoc ORDERS.ORDERS05 in to the
new line of Inbound Interfaces. Ensure the full Object Type (IDoc), Name
(ORDERS.ORDERS05)
and
Namespace
(urn:sapcom:document:sap:idoc:messages) are entered
7. Your action will look as shown in Figure 35

Figure 35: Action - Receive_Order

8. Save
2.8.1.3. Receive_BPM_TRIGGER
1.
2.
3.
4.

Open Integration Scenarios & Integration Processes


Right mouse click Actions -> New
Enter Name Receive_BPM_TRIGGER and Description -> Create
Enter type of Usage: External

Phase 2 Integration Builder Design Genie Press 2007

Page 39 of 159

Creating a BPM Scenario in XI

5. Since this action represents an inbound interface, click the


icon under
the Inbound Interfaces tab
6. Drag and Drop your Message Interface MI_BPM_TRIGGER in to the new
line of Inbound Interfaces. Ensure the full Object Type (Message
Interface),
Name
(MI_BPM_TRIGGER)
and
Namespace
(http://www.demo.com/XI) are entered
7. Your action will look as shown in Figure 36

Figure 36: Action - Receive_BPM_TRIGGER

8. Save
2.8.1.4. Send_OrderResponse
1.
2.
3.
4.

Open Integration Scenarios & Integration Processes


Right mouse click Actions -> New
Enter Name Send_OrderResponse and Description -> Create
Enter type of Usage: External

5. Since this action represents an outbound interface, click the


icon under
the Outbound Interfaces tab
6. Drag and Drop your Imported Object IDoc ORDRSP.ORDERS05 in to the
new line of Outbound Interfaces. Ensure the full Object Type (IDoc), Name
(ORDRSP.ORDERS05)
and
Namespace
(urn:sapcom:document:sap:idoc:messages) are entered
7. Your action will look as shown in Figure 37

Phase 2 Integration Builder Design Genie Press 2007

Page 40 of 159

Creating a BPM Scenario in XI

Figure 37: Action - Send_OrderResponse

8. Save
2.8.1.5. Receive_OrderResponse
1.
2.
3.
4.
5.

Open Integration Scenarios & Integration Processes


Right mouse click Actions -> New
Enter Name Receive_OrderResponse and Description -> Create
Enter type of Usage: External
Since this action represents an inbound interface, click the
icon under
the Inbound Interfaces tab
6. Drag and Drop your Message Interface MI_ORDERRESPONSE in to the
new line of Inbound Interfaces. Ensure the full Object Type (Message
Interface),
Name
(MI_ORDERRESPONSE)
and
Namespace
(http://www.demo.com/XI) are entered
7. Your action will look as shown in Figure 38

Phase 2 Integration Builder Design Genie Press 2007

Page 41 of 159

Creating a BPM Scenario in XI

Figure 38: Action - Receive_OrderResponse

8. Save
2.8.1.6. Receive_BPM_TRIGGER_MATCH
1.
2.
3.
4.
5.

Open Integration Scenarios & Integration Processes


Right mouse click Actions -> New
Enter Name Receive_BPM_TRIGGER_MATCH and Description -> Create
Enter type of Usage: External
Since this action represents an inbound interface, click the
icon under
the Inbound Interfaces tab
6. Drag and Drop your Message Interface MI_BPM_TRIGGER_MATCH in to
the new line of Inbound Interfaces. Ensure the full Object Type (Message
Interface), Name (MI_BPM_TRIGGER_MATCH) and Namespace
(http://www.demo.com/XI) are entered
7. Your action will look as shown in Figure 39

Phase 2 Integration Builder Design Genie Press 2007

Page 42 of 159

Creating a BPM Scenario in XI

Figure 39: Action - Receive_BPM_TRIGGER_MATCH

8. Save

2.8.2. Integration Scenario


The integration scenario is where things start to get exciting! It brings your
actions together with the system components, showing the interfacing between
the systems.
2.8.2.1. IS_Orders
1.
2.
3.
4.

Open Integration Scenarios & Integration Processes


Right mouse click Actions -> New
Enter Name IS_Orders and Description -> Create
Right mouse click the first swim lane on the left and Insert Application
Component

Phase 2 Integration Builder Design Genie Press 2007

Page 43 of 159

Creating a BPM Scenario in XI

Figure 40: Integration Scenario - Insert Software Component

5. Choose the DEMO system -> OK

Figure 41: Integration Scenario - Choose Product Version

6. Enter Name PurchaseOrderCreation under the Role tab


7. Click the Further Attributes tab and enter extended name Order
8. Your application component should look as described in Figure 42

Phase 2 Integration Builder Design Genie Press 2007

Page 44 of 159

Creating a BPM Scenario in XI

Figure 42: Integration Scenario - Application Component

9. Click Apply
10. Your Integration Scenario should now look as described in Figure 43. Note
that these vertical columns that we are building up are termed Swim
Lanes. If youve done any swimming youll know why, if not, dont worry
about it.

Figure 43: Integration Scenario - Component Added

11. Similarly - now we need to add 3 more systems:


a. Integration Process (Template Type)
b. CRM (Business System)
c. ECC (Business System)
12. Right mouse click the second swim lane and Insert Application
Component
13. Select Template -> Enter role name IntegrationProcess
14. Select Further Attributes tab
15. Enter XI BPM in the Extended Name field

Phase 2 Integration Builder Design Genie Press 2007

Page 45 of 159

Creating a BPM Scenario in XI

16. Click Apply


17. Right mouse click the third swim lane and Insert Application Component
18. Select your business System for CRM entering the Role name and
Extended name attributes -> Apply
19. Right mouse click the forth swim lane and Insert Application Component
20. Select your business System for ECC entering the Role name and
Extended name attributes -> Apply
21. Your Integration Scenario should now have 4 swim lanes and look as
shown in Figure 44

Figure 44: Integration Scenario - Swim lanes

22. Now we need to add our actions that we created earlier to the Integration
Scenario are you getting excited yet?
23. Right mouse click the Order swim lane at the top -> Insert Action

Figure 45: Integration Scenario - Insert Action

24. Expand your Software Component for the Demo system and select the
Action Send_Order -> Apply as shown in Figure 46

Phase 2 Integration Builder Design Genie Press 2007

Page 46 of 159

Creating a BPM Scenario in XI

Figure 46: Integration Scenario - Insert Send_Order

25. Your Integration Scenario now looks as described in Figure 47

Figure 47: Integration Scenario - Send_Order added

26. We now will add the 2 receive actions. One in the integration process and
1 in the CRM system
27. Another way of adding actions is to drag and drop them on to the right
swim lane at the right position. This is pretty cool so well use this
technique to add all the actions!
28. Drag the Receive_BPM_TRIGGER to the 2nd swim lane below the level of
the send order action (this ensures that its not treated as a parallel action
to the send order. We need this in order to link them together).
29. Similarly Drag the Receive_Order to the 3rd swim lane (CRM) below the
level
of
the
send
order
action
and
adjacent
to
the
Receive_BPM_TRIGGER action (again this tells XI not to treat these as
parallel or synchronous actions).

Phase 2 Integration Builder Design Genie Press 2007

Page 47 of 159

Creating a BPM Scenario in XI

Figure 48: Integration Scenario - Added Receive Order

30. Now add the last 3 actions (to end up with a view as shown in Figure 49)
as follows:
a. Send_OrderResponse in ECC system down and to the right of Receive_Order
b. Receive_OrderResponse in Demo system down and to the left of
Send_OrderResponse
c. Receive_BPM_TRIGGER_MATCH in Integration Process template down and to
the left of Send_OrderResponse and adjacent to Receive_OrderResponse

Figure 49: Integration Scenario - All actions added

31. This is great! We have all the actions, but now we need to focus on
linking the actions together
32. Single click the Send_Order action -> Hold down the Shift Key and single
click the Receive_BPM_TRIGGER action to select both
33. Right mouse click one of the selected actions -> Create Connection
Between Selected Actions as shown in Figure 50

Phase 2 Integration Builder Design Genie Press 2007

Page 48 of 159

Creating a BPM Scenario in XI

Figure 50: Integration Scenario - Create connection between actions

34. The screen displaying the connection between outbound interface


MI_ORDER and inbound interface MI_BPM_TRIGGER should be
displayed
35. Click the Assign Mapping tab
36. Click the
button in the Assign Interface Mapping Name field to choose
Interface Map IM_Order_to_BPM_TRIGGER
37. Click Apply
38. An arrow is now drawn from Send_Order to Receive_BPM_TRIGGER as
shown in Figure 51

Figure 51: Integration Scenario - Connection added

39. Similarly connect the following actions together and add the respective
interface mappings shown in parentheses:
a. Send_Order -> Receiver_Order (IM_Order_to_ORDERS05)
b. Send_OrderResponse -> Receive_OrderResponse
(IM_ORDRSP_to_OrderResponse)
c. Send_OrderResponse -> Receive_BPM_TRIGGER_MATCH
(IM_ORDRSP_to_BPM_TRIGGER_CATCH)

40. Your integration scenario should now look as shown in Figure 52

Phase 2 Integration Builder Design Genie Press 2007

Page 49 of 159

Creating a BPM Scenario in XI

Figure 52: Integration Scenario - Completed Connections

41. We can now define our action start and end points
42. The Send_Order is our start action so Right mouse click Send_Order
43. Click Define Action as Start Action as shown in Figure 53

Figure 53: Integration Scenario - Define start action

44. Similarly
we
will
define
the
Receive_OrderResponse
and
Receive_BPM_TRIGGER_MATCH actions as end actions
45. Right mouse click Receive_OrderResponse and select Define Action as
End Action
46. Right mouse click Receive_BPM_TRIGGER_MATCH and select Define
Action as End Action
47. After completion of the definition of the Integration Process described in
2.9. Integration Process starting on page 51, you need to add the
Integration Process to the Integration Process Component
a. Double click the Integration Process component and select the
Integration Process tab
b. Select IP_ORDERS as the name from the dropdown list
c. Your definition should now look as shown in Figure 54

Phase 2 Integration Builder Design Genie Press 2007

Page 50 of 159

Creating a BPM Scenario in XI

Figure 54: Integration Scenario - Link Integration Process

48. Your overall Integration Scenario IS_Orders should look as shown in


Figure 55

Figure 55: Integration scenario IS_Orders

2.9. Integration Process


The integration process handles the workflow within the BPM engine. It is based
on SAPs webflow (workflow) engine.
The integration process that we need will contain the following functionality:
Receive the order message (Abstract interface MI_BPM_TRIGGER).
Activate correlation on field DocNum
Assign DocNum to a container element called DocNum
Wait for the receipt of the order response message (Abstract interface
MI_BPM_TRIGGER_MATCH). Use correlation on DocNum
Phase 2 Integration Builder Design Genie Press 2007

Page 51 of 159

Creating a BPM Scenario in XI

If the order response message does not come in 5 minutes, then fire off
an alert and send an email
If the order response message is received in time then end the process
gracefully
If the entire integration process does not end in 30 minutes then fire off an
alert and cancel the process. This prevents an orphan process from
hanging around in the BPM engine forever, which will use unnecessary
resources.
For the completed view of what we will develop see Figure 56. We will be
working in the Container, Properties and Graphical Definition windows. We will
also switch to the Correlation Editor to perform the correlation mapping there.

Figure 56: Integration Process - Completed

2.9.1. IP_Orders
1.
2.
3.
4.

Open Integration Scenarios & Integration Processes


Right mouse click Integration Processes -> New
Enter Name IP_Orders and Description -> Create
First thing to do is to add our required container elements

Phase 2 Integration Builder Design Genie Press 2007

Page 52 of 159

Creating a BPM Scenario in XI

STEP 1 - Create Container Elements


1. In the container window, type DocNum in the name field and enter. The
defaults are good for this variable so well use them
2. To add the Orders message, type Orders in the name field and choose
Abstract interface in the Category field see figure 57 below

Figure 57: Integration Process - Add message to container

3. Click the
button in the Type field to choose Message Interface
MI_BPM_TRIGGER
4. To add the Order Response message, type OrderResponse in the name
field and choose Abstract interface in the Category field
5. Click the
button in the Type field to choose Message Interface
MI_BPM_TRIGGER_MATCH
6. The container should look as shown in Figure 58

Figure 58: Integration Process Container

STEP 2 Add Receiver Orders Step and set up correlation


1. We now need to add the first step in the process, the receive orders step
2. Click, drag and drop the receiver step
from the side bar on the
Graphical Definition window to between the start and stop circles as
shown in Figure 59 (Orange lines will denote where the step will be
inserted if you were to let the mouse button go at that point)

Figure 59: Integration Process - Add receiver step

3. In the Properties window you will notice that the Receive step is displayed
there.
Phase 2 Integration Builder Design Genie Press 2007

Page 53 of 159

Creating a BPM Scenario in XI

4. Change the step name from Receive1 to ReceiveOrders


5. Click the
button in the Message field to choose the Interface Variable ->
Orders (as shown in Figure 60) -> OK

Figure 60: Integration Process - Interface Variable

6. We now need to create a correlation field called DocNum


7. In the Container window click
and select Correlation List as shown in
Figure 61

Figure 61: Integration Process - Correlation List

8. Enter DocNum in the Correlation Name field and Enter


9. In the Graphical Definition window click
to fire up the Correlation Editor
as shown in Figure 62

Figure 62: Integration Process - Fire up Correlation Editor

10. Ensure that your Correlation Name is DocNum as shown in Figure 63


11. Enter DocNum in the Correlation Container -> Name with type xsd:string
12. We now need to add our 2 Message Interfaces involved in the correlation,
namely
MI_BPM_TRIGGER
and
MI_BPM_TRIGGER_MATCH
(Remember them?)
13. Drag the Message Interface MI_BPM_TRIGGER to the Involved
Messages window (to the blank line). Your screen should look as shown in
Figure 63

Phase 2 Integration Builder Design Genie Press 2007

Page 54 of 159

Creating a BPM Scenario in XI

Figure 63: Integration Process - Adding involved messages

14. Click the


button in the Value field
15. Select radio button Interface Variable -> XPath
16. Choose the DocNum field from the MT_BPM_TRIGGER message -> OK
as shown in Figure 64

Figure 64: Integration Process - Expression Editor

17. Drag the Message Interface MI_BPM_TRIGGER_MATCH to the Involved


Messages window (to the blank line).
18. Click the
button in the Value field to choose the DocNum field from the
MT_BPM_TRIGGER_MATCH message (similarly as done for the
MT_BPM_TRIGGER message interface above) -> OK
19. Your correlation should now look as shown in Figure 65

Figure 65: Integration Process - Correlation

20. Go back to the Properties window by selecting


as shown in Figure 66

Phase 2 Integration Builder Design Genie Press 2007

and Graphical Definition

Page 55 of 159

Creating a BPM Scenario in XI

Figure 66: Integration Process - Graphical Definition

21. With the receive orders step highlighted, click the Value field next to the
Activate Correlation name and choose DocNum as shown in Figure 67

Figure 67: Integration Process - Activate Correlation

22. The ReceiverOrders step properties should look as shown in Figure 68

Figure 68: Integration Process - Activate Correlation

STEP 3 Create Container Operation step to assign DocNum


1. Drag the container operation step icon
to between the Receive Orders
step and the Stop marker as shown in Figure 69

Figure 69: Integration Process - Add Container operation

2.
3.
4.
5.

In the Properties window


Change the step name to Assign DocNum
Click
on the Target field and select Radio Button Simple Variable
Choose variable DocNum as shown in Figure 70

Figure 70: Integration Process - Select variable from container

Phase 2 Integration Builder Design Genie Press 2007

Page 56 of 159

Creating a BPM Scenario in XI

6.
7.
8.
9.

Choose Assign as the operation


Click
on the Expression field and select Radio Button Interface Variable
Select XPath radio button
Select the DocNum field from the MT_BPM_TRIGGER message as
shown in Figure 71

Figure 71: Integration Process - Select DocNum from Message

10. Your scenario and Container Operation step should look as shown in
Figure 72

Figure 72: Integration Process - Container Operation step added

STEP 4 Create Block


1. Drag the block step icon
to between the Container Operation Step and
the Stop marker as shown in Figure 73

Figure 73: Integration Process - Add Block

2. Select the block


Phase 2 Integration Builder Design Genie Press 2007

Page 57 of 159

Creating a BPM Scenario in XI

3.
4.
5.
6.

In the Properties window


Give the block a descriptive name Block Receive with Deadline
Leave mode as default
Enter 2 exceptions:
a. TimeOut
b. SystemError
7. Your block definition should now look as shown in

Figure 74: Integration Process - Block definition

STEP 5 Create deadline branch for the block


1. Right mouse click on the block -> Insert -> Deadline Branch as shown in
Figure 75

Figure 75: Integration Process - Insert Deadline Branch

2. A new branch is created inside the block for the deadline


3. Select the deadline branch to complete the properties
4. We are going to set the deadline to 24 hours from the time the step was
created
5. In the Properties window
6. Choose Creating the Step for Reference Date / Time
7. Enter 24 for Duration

Phase 2 Integration Builder Design Genie Press 2007

Page 58 of 159

Creating a BPM Scenario in XI

8. Select Hours as the Unit

Figure 76: Integration Process - Deadline branch

STEP 5a Create process control step to throw alert in deadline branch


1. Drag the control step icon
to the center of the block created in the step
before as shown in Figure 77

Figure 77: Integration Process - Add Control step

2.
3.
4.
5.
6.
7.

Select the control step


In the Properties window
Change the step name to something meaningful like Deadline Reached
Select Throw Alert from the dropdown for the Action
Type in TESTALERT, as configured in 2.10.1. TESTALERT on page 67
Type in an informative alert message such as Order Response has yet to
be received for &DocNum&. &DocNum& refers to the variable in the BPM
container called DocNum that was populated by the Container Operation step
defined in STEP 3 Create Container Operation step to assign DocNum on page
56

STEP 5b Create transformation step to generate email message in deadline


branch
1. In the Container Window create a variable as follows:
a. Name: BPM_EMAIL
b. Category: Abstract Interface
c. Type: From the dropdown select message interface MI_EMAIL
d. Container: Block Receive with Deadline
The container element should now look as shown in Figure 78

Figure 78: Integration Process - Add container element

Phase 2 Integration Builder Design Genie Press 2007

Page 59 of 159

Creating a BPM Scenario in XI

2. Drag the transformation step icon


to between the control step created
in the step before and the end of the block as shown in Figure 79

Figure 79: Integration Process - Add Transformation step

3. Select the transformation step


4. In the Properties window
5. Change
the
step
name
to
something
meaningful
like
TransformationAlertEmail
6. Click the
icon next to the Interface Mapping to select your interface
map IM_BPM_to_EMAIL that you defined in 2.7.5. IM_BPM_to_EMAIL on
page 36
7. Select SystemError from the dropdown for field Exception. This system
error exception was defined against the block defined in STEP 4 Create Block on
page 57

8. For the source message, from the dropdown (


Interface Variable as shown in Figure 80

), select the Orders

Figure 80: Integration Process - Enter Orders Variable

9. For the target message, from the dropdown ( ), select the BPM_EMAIL
Interface Variable created in item 1 of this step.
10. Your transformation step should now look as shown in Figure 81

Figure 81: Integration Process - Transformation step properties

STEP 5c Create send step to send email in deadline branch


1. In the Graphical Definition window drag the send step icon
to between
the transformation step created in the step before and the end of the block
as shown in Figure 82

Phase 2 Integration Builder Design Genie Press 2007

Page 60 of 159

Creating a BPM Scenario in XI

Figure 82: Integration Process - Add Send step

2.
3.
4.
5.
6.

Select the send step


In the Properties window
Change the step name to something meaningful like SendAlertEMail
Leave Mode as Asynchronous
For the message, from the dropdown ( ), select the BPM_EMAIL
Interface Variable as shown in Figure 83

Figure 83: Integration Process - Enter BPM_EMAIL Variable

7. Select SystemError from the dropdown for field Exception. This system
error exception was defined against the block defined in STEP 4 Create Block on
page 57

8. Leave the other fields as defaulted. Your completed send step properties
should look as shown in Figure 84

Figure 84: Integration Process - Send step properties

STEP 5d Create control step to throw timeout exception in deadline branch


1. In the Graphical Definition window drag the control step icon
to
between the send step created in the step before and the end of the block
as shown in Figure 85

Figure 85: Integration Process - Add control step to throw exception

Phase 2 Integration Builder Design Genie Press 2007

Page 61 of 159

Creating a BPM Scenario in XI

2.
3.
4.
5.
6.

Select the control step


In the Properties window
Change the step name to something meaningful like TimeOut
Select Throw Exception from the dropdown box on field Action
Select TimeOut from the dropdown box on field Exception. This exception
was defined against the block defined in STEP 4 Create Block on page 57

7. Your completed send step properties should look as shown in Figure 86

Figure 86: Integration Process - Exception control step properties

STEP 6 Create exception branch for system errors


1. Right mouse click on the block -> Insert -> Exception Branch as shown in
Figure 87

Figure 87: Integration Process - Insert Exception Branch

2.
3.
4.
5.

Select the Exception block that was created


In the Properties window
Select SystemError from the dropdown for field Exception Handler
Your exception block and properties should look like Figure 88

Figure 88: Integration Process - System error exception

Phase 2 Integration Builder Design Genie Press 2007

Page 62 of 159

Creating a BPM Scenario in XI

STEP 6a Create System Error alert in exception branch


1. Drag the control step icon
to the center of the SystemError exception
block created in the step before as shown in Figure 89

Figure 89: Integration Process - Add Alert Control step to Exception SystemError

2.
3.
4.
5.
6.
7.

Select the control step


In the Properties window
Change the step name to something meaningful like Alert System Error
Select Throw Alert from the dropdown for the Action
Type in TESTALERT1, as configured in 2.10.2. TESTALERT1 on page 68
Type in an informative alert message such as System Error Encountered
for &DocNum&. &DocNum& refers to the variable in the BPM container called
DocNum that was populated by the Container Operation step defined in STEP 3
Create Container Operation step to assign DocNum on page 56

STEP 6b Create cancel process step in exception branch


1. Drag the control step icon
to after the control step, created in the step
before, and the end of the exception block as shown in Figure 90

Figure 90: Integration Process - Add Cancel Process Control step to Exception
SystemError

2. Select the control step


3. In the Properties window
4. Change the step name to something meaningful like CancelProcess

Phase 2 Integration Builder Design Genie Press 2007

Page 63 of 159

Creating a BPM Scenario in XI

5. Select CancelProcess from the dropdown for the Action


STEP 7 Create exception branch for timeout processing
Similarly to the previous step we need to create a timeout exception branch
1. Right mouse click on the block -> Insert -> Exception Branch as shown in
Figure 91

Figure 91: Integration Process - Insert Exception Branch for TimeOut

2.
3.
4.
5.

Select the Exception block that was created


In the Properties window
Select TimeOut from the dropdown for field Exception Handler
Your exception block and properties should look as shown in Figure 92

Figure 92: Integration Process Time out exception

STEP 7a Create cancel process step in the TimeOut exception branch


1. Drag the control step icon
to after the TimeOut control step, created in
the step before, and the end of the exception block as shown in Figure 93

Phase 2 Integration Builder Design Genie Press 2007

Page 64 of 159

Creating a BPM Scenario in XI

Figure 93: Integration Process - Add Cancel Process Control step to Exception TimeOut

2. Select the control step


3. In the Properties window
4. Change the step name to something meaningful like Cancel Process due
to Time Out
5. Select CancelProcess from the dropdown for the Action
STEP 8 Create Receive Order Response Step with correlation
We now need to add the receive order response step
1. Click, drag and drop the receiver step
from the side bar on the
Graphical Definition window to bottom line under the deadline branch as
shown in Figure 94

Figure 94: Integration Process - Add receiver step for order response

2. In the Properties window change the step name from Receive1 to Receive
Order Response
3. Click the
button in the Message field to choose the Interface Variable ->
OrderResponse as shown in Figure 95

Phase 2 Integration Builder Design Genie Press 2007

Page 65 of 159

Creating a BPM Scenario in XI

Figure 95: Integration Process - Interface Variable OrderResponse

4. Select DocNum from the dropdown menu for variable Use Correlations
5. Save
6. Select DocNum from the dropdown menu for variable Activate
Correlations
7. Save
8. Your Send Order Response step properties should now look as shown in
Figure 96

Figure 96: Integration Process - Receiver order response step properties

2.10. Create Alert Category


We need to configure an alert category for the alerts we are going to issue in the
BPM Integration Process. Heres how we go about doing that.
1. Fire up the Runtime Workbench from the Integration Builder by clicking
Runtime Workbench

Figure 97: Launch Runtime Workbench

2. Click Alert Configuration as shown in Figure 98

Phase 2 Integration Builder Design Genie Press 2007

Page 66 of 159

Creating a BPM Scenario in XI

Figure 98: Runtime Workbench

3. Click the Create Alert Category button


. Click OK on the
warning message shown in Figure 99 (Also Transaction ALRTCATDEF)

Figure 99: Creating an Alert Category warning message

4. On the screen showing the Alert Categories Display, click the


Display/Change button
5. Click the Webflow Alerts in the Classification window. This will display the
related Webflow alerts in the ALV grid on the right of the classification as
shown in Figure 100

Figure 100: Select Webflow Alert Classification

2.10.1. TESTALERT
1. Click the create alert category icon
2. This adds a line to the ALV grid. Fill in the Alert Category name
TESTALERT and a description BPM Alert
3. Hit Enter to see the alert as shown in Figure 101

Phase 2 Integration Builder Design Genie Press 2007

Page 67 of 159

Creating a BPM Scenario in XI

Figure 101: TESTALERT added

4. Click the Dynamic Text checkbox on. The 2 tabs Long and Short Text
and Optional Subseq. Activities disappear. Clicking this checkbox
allows you to pass variables to the alert in the BPM process as
shown in STEP 5a Create process control step to throw alert in
deadline branch on page 59
5. Leave the other fields with their defaults
6. Save. Your alert now looks as shown in Figure 102

Figure 102: TESTALERT set to dynamic text

2.10.2. TESTALERT1
Adding the 2nd Alert Category called TESTALERT1.
1. Click the create alert category icon
2. This adds a line to the ALV grid. Fill in the Alert Category name
TESTALERT1 and a description BPM Exception Alert
3. Hit Enter to see the alert as shown in Figure 103

Phase 2 Integration Builder Design Genie Press 2007

Page 68 of 159

Creating a BPM Scenario in XI

Figure 103: TESTALERT1 added

4. Click the Dynamic Text checkbox on. The 2 tabs Long and Short Text
and Optional Subseq. Activities disappear. Clicking this checkbox
allows you to pass variables to the alert in the BPM process as
shown in STEP 6a Create System Error alert in exception branch on
page 63. This is very useful to us!
5. Leave the other fields with their defaults
6. Save. Your alert now looks as shown in Figure 104

Figure 104: TESTALERT1 set to dynamic text

2.10.3. Assign Users / Roles to Alert Categories


1.
2.
3.
4.
5.

Double click TESTALERT


Click the Fixed Recipients Button
If you are not in change mode then click the Display / Change button
Click the New Entries button
Type in your user id and save

Phase 2 Integration Builder Design Genie Press 2007

Page 69 of 159

Creating a BPM Scenario in XI

6. Click Back -> Back


7. Repeat the above process (Steps 1-6) for TESTALERT1
Note that you should probably use the Role functionality to be able to send
alerts based on roles in a users profile. For simplicity sake we have hard coded
the user receiving this alert using the Fixed Recipients functionality.

2.10.4. Update Alert Categories


1. Close the webgui session and go back to your browser showing the
Runtime Workbench
2. Click the button Update Table
3. Your newly created Alert categories are now viewable as shown in Figure
105

Figure 105: Display of Alert Categories

Phase 2 Integration Builder Design Genie Press 2007

Page 70 of 159

Creating a BPM Scenario in XI

PHASE 3 :

INTEGRATION BUILDER CONFIGURATION

The system landscape and interface repository steps need to have been
completed prior to starting this phase.
1. Start the Integration Directory of the Integration Builder

3.1. Create Configuration Scenario

3.1.1. Order_OrderResponse_Demo
1. Select the Scenarios tab
2. Right mouse click in the window and choose New
3. Enter Description as Order and Order Response Scenario
4. Click
to select the Integration scenario IS_Orders we configured in 2.8.
Integration Scenario on page 37
5. Youll notice that the configuration scenario is changed to IS_Orders which
is our Integration Scenario name. If you want to change it change it before
creating the configuration scenario. Once youve changed the name
(Order_OrderResponse_Demo) is should now look as shown in Figure
106

Figure 106: Create Integration Scenario

6. Click create
7. Save

Phase 3 Integration Builder Configuration Genie Press 2007

Page 71 of 159

Creating a BPM Scenario in XI

3.2. Create Integration Process Service

3.2.1. IP_ORDERS
1. Right mouse click on Integration Party (Under Service without a party in
your newly created scenario)
2. Click New
3. Click continue on the screen shown in Figure 107

Figure 107: Install Integration Process

4. Select the IP_Orders Repository Process and click continue as shown in


Figure 108

Figure 108: Select Repository Integration Process

5. Enter Name IP_Orders and click Finish as shown in Figure 109

Phase 3 Integration Builder Configuration Genie Press 2007

Page 72 of 159

Creating a BPM Scenario in XI

Figure 109: Give Integration Process a name

6. You then see the screen as shown in Figure 110

Figure 110: Integration Process installed

7. Edit the Integration Process


8. Click the menu option Service -> Adapter Specific Identifiers

9. Enter IP_ORDERS as the Logical System. (If you dont do this step then
you will get an error that the Logical System could not be determined for
IP_ORDERS

Phase 3 Integration Builder Configuration Genie Press 2007

Page 73 of 159

Creating a BPM Scenario in XI

10. Click Apply

3.3. Create Services without Party

3.3.1. Business Service: DEMO


1. Right click Business Service

2. Click Create
3. On the Receiver tab click

4. Click

to add a line to the Inbound Interfaces

to choose Message Interface MI_ORDERRESPONSE -> OK

5. Click the Sender tab


6. On the Sender tab click

to add a line to the Outbound Interfaces

Phase 3 Integration Builder Configuration Genie Press 2007

Page 74 of 159

Creating a BPM Scenario in XI

7. Click

to choose Message Interface MI_ORDERS -> OK

8. Save

3.3.2. Business Service: MAIL_SERVICE


1. Right click Business Service

2. Click Create
3. On the Receiver tab click

4. Click

to add a line to the Inbound Interfaces

to choose Message Interface MI_EMAIL-> OK

5. Save

Phase 3 Integration Builder Configuration Genie Press 2007

Page 75 of 159

Creating a BPM Scenario in XI

3.3.3. Business System: SAPCRM


1. Import your CRM system and link an IDoc communication channel to it as
shown in 3.4.4. GeneratedReceiverChannel_IDoc on page 80.

3.3.4. Business System: SAPECC


1. Import your ECC system. No communication channels are required as it
will receive no message from XI. It will receive the order from the CRM
system via middleware.

3.4. Create Communication Channels

3.4.1. CC_DEMO_SOAP_SENDER
1. Expand the Business Service DEMO
2. Right mouse click on Communication Channel -> New
3. Enter Communication Channel name CC_DEMO_SOAP_SENDER

4. Click Create
5. Click
for the Adapter Type field to choose the SOAP adapter
6. Enter the following entries:
a. Select the Sender radio button
b. Transport Protocol: HTTP
c. Message Protocol: SOAP 1.1.
d. Adapter Engine: Integration Server
e. Default Interface Namespace: http://www.demo.com/XI
f. Default Interface Name: MI_ORDER (NB: This is required for the
web service to work properly)
g. Quality of Service: Exactly Once = Asynchronous call

Phase 3 Integration Builder Configuration Genie Press 2007

Page 76 of 159

Creating a BPM Scenario in XI

Figure 111: SOAP Adapter Settings

7. Save

3.4.2. CC_DEMO_FILE_RECEIVER
1. Expand the Business Service DEMO
2. Right mouse click on Communication Channel -> New
3. Enter Communication Channel name CC_DEMO_FILE_RECEIVER

4. Click Create
5. Click
for the Adapter Type field to choose the File adapter
6. Enter the following entries:
a. Select the Receiver radio button
b. Transport Protocol: File System (NFS)
c. Message Protocol: File
d. Adapter Engine: Integration Server
e. Target Directory: /var/xiftp

Phase 3 Integration Builder Configuration Genie Press 2007

Page 77 of 159

Creating a BPM Scenario in XI

f.
g.
h.
i.
j.

File Name Scheme: xi_kevin.dat


File Construction Mode: Add Message ID
Write Mode: Directly
File Type: Binary
Default the rest

Figure 112: File Adapter Settings

7. Save

3.4.3. CC_EMAIL
1. Expand the Business Service MAIL_SERVICE
2. Right mouse click on Communication Channel -> New
3. Enter Communication Channel name CC_EMAL

4. Click Create
5. Click
for the Adapter Type field to choose the Mail adapter
6. Enter the following entries:
a. Select the Receiver radio button

Phase 3 Integration Builder Configuration Genie Press 2007

Page 78 of 159

Creating a BPM Scenario in XI

b.
c.
d.
e.
f.
g.

Transport Protocol: SMTP


Message Protocol: XIPAYLOAD
Adapter Engine: Integration Server
URL: smtp://smtp.<server>.com
Use Mail Package: Check checkbox
Content Encoding: base64

Figure 113: Mail Adapter Settings

Phase 3 Integration Builder Configuration Genie Press 2007

Page 79 of 159

Creating a BPM Scenario in XI

7. Save

3.4.4. GeneratedReceiverChannel_IDoc

3.5. Use Wizard to set up Determination and Agreements


We have performed the previous steps to set up your communication channels,
business system and services so that we can use the wizard to easily create our
message interface components comprising the receiver and Interface
Determination together with the sender and receiver agreements.
Using the wizard
You do not have to use the wizard and could choose to create these manually. Using the wizard,
however, is not only an efficient way to define your interfaces, but it is more intuitive to work with
when you have several interfaces to define in a short period of time. For example, our scenario
comprises of 5 interfaces and its really handy to be able to define each in its entirety (through the
wizard) before continuing with the next one.

3.5.1. Orders interface between DEMO and CRM


1. Select the Scenarios tab
2. Right mouse click in the window and choose New

Phase 3 Integration Builder Configuration Genie Press 2007

Page 80 of 159

Creating a BPM Scenario in XI

3. Click Configuration Wizard on the left as shown in Figure 114

Figure 114: Start Configuration Wizard

4. Click Internal Communication radio button and Create


STEP 1 Incoming Message
1.
2.
3.
4.
5.

Enter Service Type: Business Service


Service: DEMO
Interface: MI_ORDER
Namespace: http://www.demo.com/XI
Adapter Type: Select SOAP

Figure 115: Inbound Message - Specify Sender

Phase 3 Integration Builder Configuration Genie Press 2007

Page 81 of 159

Creating a BPM Scenario in XI

6. Click continue
STEP 2 Outgoing Message
1.
2.
3.
4.
5.

Enter Service Type: Business System


Service: SAPCRM
Interface: ORDERS.ORDERS05
Namespace: urn:sap-com:document:sap:idoc:messages
Adapter Type: Select IDoc

Figure 116: Outbound Message - Specify Receiver

6. Continue
STEP 3 Sender Agreement
1. The system should default in the SOAP Communication Channel you
created in 3.4.1. CC_DEMO_SOAP_SENDER on page 76

Phase 3 Integration Builder Configuration Genie Press 2007

Page 82 of 159

Creating a BPM Scenario in XI

Figure 117: Sender Agreement - DEMO : MI_ORDER

2. Continue
STEP 4 Receiver Determination
1. The system should display the screen as shown in Figure 118

Figure 118: Receiver Determination DEMO : MI_ORDER

2. Click Continue

Phase 3 Integration Builder Configuration Genie Press 2007

Page 83 of 159

Creating a BPM Scenario in XI

STEP 5 Interface Determination


1. The system should display the screen as shown in Figure 119

Figure 119: Interface Determination DEMO : MI_ORDER : SAPCRM

2. Click Continue
STEP 6 Receiver Agreement
1. The system should display the screen as shown in Figure 120

Figure 120: Receiver Agreement DEMO : SAPCRM : ORDERS.ORDERS05

Phase 3 Integration Builder Configuration Genie Press 2007

Page 84 of 159

Creating a BPM Scenario in XI

2. Click Continue
STEP 7 Assign object to a Configuration Scenario
1. The system should display the screen as shown in Figure 121
2. From
the
dropdown
list
select
your
Order_OrderResponse_Demo

scenario

Figure 121: Assign generated object to a Scenario

3. Click Finish
4. You should get the Configuration Wizard log that shows you all the objects
that were generated as shown in Figure 122

Phase 3 Integration Builder Configuration Genie Press 2007

Page 85 of 159

Creating a BPM Scenario in XI

Figure 122: Configuration Wizard Log

3.5.2. Orders interface between DEMO and BPE


1. Select the Scenarios tab
2. Right mouse click in the window and choose New
3. Click Configuration Wizard on the left as shown in Figure 123

Figure 123: Start Configuration Wizard

Phase 3 Integration Builder Configuration Genie Press 2007

Page 86 of 159

Creating a BPM Scenario in XI

4. Click Internal Communication radio button and Create


STEP 1 Incoming Message
1.
2.
3.
4.
5.

Enter Service Type: Business Service


Service: DEMO
Interface: MI_ORDER
Namespace: http://www.demo.com/XI
Adapter Type: Select SOAP

Figure 124: Inbound Message - Specify Sender

6. Click continue
STEP 2 Outgoing Message
1.
2.
3.
4.
5.
6.

Enter Service Type: Integration Process


Service: IP_ORDERS
Integration Process: IP_Orders
Interface: MI_BPM_TRIGGER
Namespace: http://www.demo.com/XI
Adapter Type: Select XI

Phase 3 Integration Builder Configuration Genie Press 2007

Page 87 of 159

Creating a BPM Scenario in XI

Figure 125: Outbound Message - Specify Receiver

7. Continue
STEP 3 Sender Agreement
1. The system should default in the Sender agreement that you created in
STEP 3 Sender Agreement on page 82

Figure 126: Sender Agreement - DEMO : MI_ORDER

2. Continue

Phase 3 Integration Builder Configuration Genie Press 2007

Page 88 of 159

Creating a BPM Scenario in XI

STEP 4 Receiver Determination


1. The system should display the screen as shown in Figure 127

Figure 127: Receiver Determination DEMO : MI_ORDER

2. Click Continue
STEP 5 Interface Determination
1. The system should display the screen as shown in Figure 128

Figure 128: Interface Determination DEMO : MI_ORDER :IP_ORDERS

Phase 3 Integration Builder Configuration Genie Press 2007

Page 89 of 159

Creating a BPM Scenario in XI

2. Click Continue
STEP 6 Receiver Agreement
1. The system should display the screen as shown in Figure 129

Figure 129: Receiver Agreement

2. Click Continue
STEP 7 Assign object to a Configuration Scenario
1. The system should display the screen as shown in Figure 130
2. From
the
dropdown
list
select
your
Order_OrderResponse_Demo

Phase 3 Integration Builder Configuration Genie Press 2007

scenario

Page 90 of 159

Creating a BPM Scenario in XI

Figure 130: Assign generated object to a Scenario

3. Click Finish
4. You should get the Configuration Wizard log that shows you all the objects
that were generated as shown in Figure 131

Figure 131: Configuration Wizard Log

Phase 3 Integration Builder Configuration Genie Press 2007

Page 91 of 159

Creating a BPM Scenario in XI

3.5.3. Order Response interface between ECC and DEMO


1. Select the Scenarios tab
2. Right mouse click in the window and choose New
3. Click Configuration Wizard on the left as shown in Figure 132

Figure 132: Start Configuration Wizard

4. Click Internal Communication radio button and Create


STEP 1 Incoming Message
1.
2.
3.
4.
5.

Enter Service Type: Business System


Service: SAPECC
Interface: ORDRSP.ORDERS05
Namespace: urn:sap-com:document:sap:idoc:messages
Adapter Type: Select IDoc

Phase 3 Integration Builder Configuration Genie Press 2007

Page 92 of 159

Creating a BPM Scenario in XI

Figure 133: Inbound Message - Specify Sender

6. Click continue
STEP 2 Outgoing Message
1.
2.
3.
4.
5.

Enter Service Type: Business Service


Service: DEMO
Interface: MI_ORDERRESPONSE
Namespace: http://www.demo.com/XI
Adapter Type: Select File

Phase 3 Integration Builder Configuration Genie Press 2007

Page 93 of 159

Creating a BPM Scenario in XI

Figure 134: Outbound Message - Specify Receiver

6. Continue
STEP 3 Sender Agreement
1. The system should default in the Sender agreement that you created in
STEP 3 Sender Agreement on page 82

Figure 135: Sender Agreement

2. Continue

Phase 3 Integration Builder Configuration Genie Press 2007

Page 94 of 159

Creating a BPM Scenario in XI

STEP 4 Receiver Determination


3. The system should display the screen as shown in Figure 136

Figure 136: Receiver Determination SAPECC : ORDRSP.ORDERS05

4. Click Continue
STEP 5 Interface Determination
1. The system should display the screen as shown in Figure 137

Figure 137: Interface Determination SAPECC : ORDRSP.ORDERS05 : DEMO

Phase 3 Integration Builder Configuration Genie Press 2007

Page 95 of 159

Creating a BPM Scenario in XI

2. Click Continue
STEP 6 Receiver Agreement
1. The system should display the screen as shown in Figure 138

Figure 138: Receiver Agreement SAPECC : DEMO : MI_ORDERRESPONSE

3. Click Continue
STEP 7 Assign object to a Configuration Scenario
1. The system should display the screen as shown in Figure 139
2. From
the
dropdown
list
select
your
Order_OrderResponse_Demo

Phase 3 Integration Builder Configuration Genie Press 2007

scenario

Page 96 of 159

Creating a BPM Scenario in XI

Figure 139: Assign generated object to a Scenario

3. Click Finish
4. You should get the Configuration Wizard log that shows you all the objects
that were generated as shown in Figure 140

Figure 140: Configuration Wizard Log

Phase 3 Integration Builder Configuration Genie Press 2007

Page 97 of 159

Creating a BPM Scenario in XI

3.5.4. Order Response interface between ECC and BPE


1. Select the Scenarios tab
2. Right mouse click in the window and choose New
3. Click Configuration Wizard on the left as shown in Figure 141

Figure 141: Start Configuration Wizard

4. Click Internal Communication radio button and Create


STEP 1 Incoming Message
1.
2.
3.
4.
5.

Enter Service Type: Business System


Service: SAPECC
Interface: ORDRSP.ORDERS05
Namespace: urn:sap-com:document:sap:idoc:messages
Adapter Type: Select IDoc

Phase 3 Integration Builder Configuration Genie Press 2007

Page 98 of 159

Creating a BPM Scenario in XI

Figure 142: Inbound Message - Specify Sender

6. Click continue
STEP 2 Outgoing Message
1.
2.
3.
4.
5.
6.

Enter Service Type: Integration Process


Service: IP_ORDERS
Integration Process: IP_Orders
Interface: MI_BPM_TRIGGER_MATCH
Namespace: http://www.demo.com/XI
Adapter Type: Select XI

Phase 3 Integration Builder Configuration Genie Press 2007

Page 99 of 159

Creating a BPM Scenario in XI

Figure 143: Outbound Message - Specify Receiver

7. Continue
STEP 3 Sender Agreement
1. The system should default in the Sender agreement that you created in
STEP 3 Sender Agreement on page 82

Figure 144: Sender Agreement

3. Continue

Phase 3 Integration Builder Configuration Genie Press 2007

Page 100 of 159

Creating a BPM Scenario in XI

STEP 4 Receiver Determination


1. The system should display the screen as shown in Figure 145

Figure 145: Receiver Determination SAPECC : ORDRSP.ORDERS05

5. Click Add Receiver radio button


6. Click Continue
STEP 5 Interface Determination
1. The system should display the screen as shown in Figure 146

Phase 3 Integration Builder Configuration Genie Press 2007

Page 101 of 159

Creating a BPM Scenario in XI

Figure 146: Interface Determination DEMO : MI_ORDER :IP_ORDERS

3. Click Continue
STEP 6 Receiver Agreement
1. The system should display the screen as shown in Figure 147

Figure 147: Receiver Agreement

4. Click Continue

Phase 3 Integration Builder Configuration Genie Press 2007

Page 102 of 159

Creating a BPM Scenario in XI

STEP 7 Assign object to a Configuration Scenario


1. The system should display the screen as shown in Figure 148
2. From
the
dropdown
list
select
your
Order_OrderResponse_Demo

scenario

Figure 148: Assign generated object to a Scenario

3. Click Finish
4. You should get the Configuration Wizard log that shows you all the objects
that were generated as shown in Figure 149

Phase 3 Integration Builder Configuration Genie Press 2007

Page 103 of 159

Creating a BPM Scenario in XI

Figure 149: Configuration Wizard Log

3.5.5. Email interface between BPE and Email Service


1. Select the Scenarios tab
2. Right mouse click in the window and choose New
3. Click Configuration Wizard on the left as shown in Figure 150

Figure 150: Start Configuration Wizard

4. Click Internal Communication radio button and Create

Phase 3 Integration Builder Configuration Genie Press 2007

Page 104 of 159

Creating a BPM Scenario in XI

STEP 1 Incoming Message


1.
2.
3.
4.
5.
6.

Enter Service Type: Integration Process


Service: IP_ORDERS
Integration Process: IP_Orders
Interface: MI_EMAIL
Namespace: http://www.demo.com/XI
Adapter Type: Select XI

Figure 151: Inbound Message - Specify Sender

7. Click continue
STEP 2 Outgoing Message
1.
2.
3.
4.
5.

Enter Service Type: Business Service


Service: MAIL_SERVICE
Interface: MI_EMAIL
Namespace: http://www.demo.com/XI
Adapter Type: Select Mail

Phase 3 Integration Builder Configuration Genie Press 2007

Page 105 of 159

Creating a BPM Scenario in XI

Figure 152: Outbound Message - Specify Receiver

6. Continue
STEP 3 Sender Agreement
1. The system should default in the Sender agreement that you created in
STEP 3 Sender Agreement on page 82

Figure 153: Sender Agreement

2. Continue

Phase 3 Integration Builder Configuration Genie Press 2007

Page 106 of 159

Creating a BPM Scenario in XI

STEP 4 Receiver Determination


1. The system should display the screen as shown in Figure 154

Figure 154: Receiver Determination IP_ORDERS : MI_EMAIL

2. Click Add Receiver radio button


3. Click Continue
STEP 5 Interface Determination
1. The system should display the screen as shown in Figure 155

Phase 3 Integration Builder Configuration Genie Press 2007

Page 107 of 159

Creating a BPM Scenario in XI

Figure 155: Interface Determination IP_ORDERS : MI_EMAIL

2. Click Continue
STEP 6 Receiver Agreement
1. The system should display the screen as shown in Figure 156

Figure 156: Receiver Agreement CC_EMAIL

2. Click Continue

Phase 3 Integration Builder Configuration Genie Press 2007

Page 108 of 159

Creating a BPM Scenario in XI

STEP 7 Assign object to a Configuration Scenario


1. The system should display the screen as shown in Figure 157
2. From
the
dropdown
list
select
your
Order_OrderResponse_Demo

scenario

Figure 157: Assign generated object to a Scenario

3. Click Finish
4. You should get the Configuration Wizard log that shows you all the objects
that were generated as shown in Figure 158

Phase 3 Integration Builder Configuration Genie Press 2007

Page 109 of 159

Creating a BPM Scenario in XI

Figure 158: Configuration Wizard Log

Phase 3 Integration Builder Configuration Genie Press 2007

Page 110 of 159

Creating a BPM Scenario in XI

3.6. Receiver Determination

3.6.1. DEMO : MI_ORDER

Figure 159: Receiver Determination - DEMO : MI_ORDER

3.6.2. IP_ORDERS : MI_EMAIL

Figure 160: Receiver Determination - IP_ORDERS : MI_EMAIL

Phase 3 Integration Builder Configuration Genie Press 2007

Page 111 of 159

Creating a BPM Scenario in XI

3.6.3. SAPECC : ORDRSP.ORDERS05

Figure 161: Receiver Determination - SAPECC : ORDRSP.ORDERS05

3.7. Interface Determination

3.7.1. DEMO : MI_ORDER : SAPCRM

Figure 162: Interface Determination - DEMO : MI_ORDER : SAPCRM

Phase 3 Integration Builder Configuration Genie Press 2007

Page 112 of 159

Creating a BPM Scenario in XI

3.7.2. DEMO : MI_ORDER : IP_ORDERS

Figure 163: Interface Determination - DEMO : MI_ORDER : IP_ORDERS

3.7.3. SAPECC : ORDRSP.ORDERS05 : DEMO

Figure 164: Interface Determination - SAPECC : ORDRSP.ORDERS05 : DEMO

Phase 3 Integration Builder Configuration Genie Press 2007

Page 113 of 159

Creating a BPM Scenario in XI

3.7.4. SAPECC : ORDRSP.ORDERS05 : IP_ORDERS

Figure 165: Interface Determination -SAPECC : ORDRSP.ORDERS05 : IP_ORDERS

3.7.5. IP_ORDERS : MI_EMAIL : MAIL_SERVICE

Figure 166: Interface Determination - MI_EMAIL : MAIL_SERVICE

Phase 3 Integration Builder Configuration Genie Press 2007

Page 114 of 159

Creating a BPM Scenario in XI

3.8. Sender Agreements

3.8.1. DEMO:MI_ORDER

Figure 167: Sender Agreement - DEMO : MI_ORDER

3.9. Receiver Agreements

3.9.1. DEMO : SAPCRM : ORDERS.ORDERS05

Figure 168: Receiver Agreement - DEMO : SAPCRM : ORDERS.ORDERS05

Phase 3 Integration Builder Configuration Genie Press 2007

Page 115 of 159

Creating a BPM Scenario in XI

3.9.2. SAPECC : DEMO : ORDERRESPONSE

Figure 169 : Receiver Agreement SAPECC : DEMO : ORDERRESPONSE

3.9.3. IP_ORDERS : MAIL_SERVICE : MI_EMAIL

Figure 170: Receiver Agreement - IP_ORDERS : MAIL_SERVICE : MI_EMAIL

3.10. Create and Publish Web Service


1. From the main menu of the Integration Builder choose Tools -> Define
Web Service

Phase 3 Integration Builder Configuration Genie Press 2007

Page 116 of 159

Creating a BPM Scenario in XI

2. The wizard pops up as shown in Figure 171

Figure 171: Define web service wizard

3. Click Continue
4. Click propose URL -> Change as follows:
a. http://<srv>:<adapter_port>/XISOAPAdapter/MessageServlet?chan
nel=<party>:<service/system>:<cchannel>) -> Continue
i. <srv> = Server running XI
ii. <adapter_port> = Adapter engine port = 8000
iii. <party> = If communicating outside of your landscape this is
the party you have identified
iv. <service/system> = Sending system or service
v. <cchannel> = Communication channel
b. Our value is:
http://mysapapps02.sapgenie.com:8000/XISOAPAdapter/Message
Servlet?channel=:DEMO:CC_DEMO_SOAP_SENDER
5. On entering the required URL the screen look as shown in Figure 172

Figure 172: Enter URL for web service

Phase 3 Integration Builder Configuration Genie Press 2007

Page 117 of 159

Creating a BPM Scenario in XI

6. Click Continue
7. Click
on the name field to select the message interface MI_ORDER as
shown in Figure 173

Figure 173: Select message interface

8. The screen should now look as shown in Figure 174

Figure 174: Message Interface MI_ORDERS

9. Click Continue
10. Specify sender as shown in Figure 175:
- Service: DEMO
- Interface Name: MI_ORDER
- Interface Namespace: http://www.demo.com/XI

Figure 175: Specify the sender

11. Click Continue


12. The summary of the web service definition is displayed as shown in Figure
176

Phase 3 Integration Builder Configuration Genie Press 2007

Page 118 of 159

Creating a BPM Scenario in XI

Figure 176: Web service summary

13. Click Finish


14. The web service file is displayed as shown in Figure 177

Figure 177: Web service file WSDL

15. Click Save and choose file name MI_ORDER.wsdl


16. Your WSDL is now complete!!!

Phase 3 Integration Builder Configuration Genie Press 2007

Page 119 of 159

Creating a BPM Scenario in XI

PHASE 4 :

SAP CONFIGURATION

Since we are using IDocs and the IDoc adapter we need to configure the IDoc
adapter and port.

4.1. Maintain Port in IDoc adapter

4.1.1. SAPCRM
1. On the XI server use Transaction IDX1
2. Create a new port SAPCRS and complete the Port, client and RFC
destination (Ensure the RFC destination to the CRM system exists and is
operational. Use SM59 to set up and test)
3. This Port relates to the port listed in the communication channel (for the
IDoc adapter) for the business system SAPCRM described in 3.4.4.
GeneratedReceiverChannel_IDoc on page 80.
4. Your port definition should look something like that shown in Figure 178

Figure 178: Maintain port in IDoc adapter - SAPCRM

Phase 4 SAP Configuration

Genie Press 2007

Page 120 of 159

Creating a BPM Scenario in XI

4.2. Maintain Metadata Overview for IDoc adapter

4.2.1. ORDERS05
This is where you register the allowable IDoc types metadata for the IDoc
adapter. i.e. If you dont put an entry here for the IDoc type that you wish you will
get a metadata error in XI when it tries to read the IDoc metadata from the
system.
1. On the XI server use Transaction IDX2
2. Click new
3. Enter IDoc type ORDERS05 and applicable port SAPCRM as shown in
Figure 179

Figure 179: Enter IDoc Type and Port

4. Click Continue
5. The message should come back that the structure was loaded
successfully
6. The client list under the port comes from the RFC destination setting that
you have loaded using IDX1. Your screen should look similar to that
shown in Figure 180

Figure 180: IDoc metadata

Phase 4 SAP Configuration

Genie Press 2007

Page 121 of 159

Creating a BPM Scenario in XI

PHASE 5 :

TESTING

5.1. Testing the interface in XI


Well done, if youve reached this point you are now ready to see if all your hard
work fits together properly. Read the sidebar on XMLSpy to make sure you have
all the right tools to test properly.
Third Party Testing Tools - XMLSpy
XMLSpy is a wonderful tool for examining, editing and generating SOAP
messages. At the end of the day the SOAP message is just a formatted XML file.
XMLSpy is a product from Altova ( www.altova.com ) and at the time of writing
the latest release is 2007, but we have used 4.4 for our testing in section 5.2.
The testing is possible without a tool like XMLSpy, but it is very time consuming
and open to errors.

5.1.1. Create a sample XML payload


1. Launch or go back to the Integration Repository
2. In step 2.7.1. IM_Order_to_ORDERS05 on page 33 we created the
interface map IM_Order_to_ORDERS05. Load up this map in the
integration repository as shown in Figure 29: Interface Mapping IM_Order_to_ORDERS05 on page 33
3. Click the Test tab
4. Enter values for the elements as shown in Figure 181

Figure 181: Creating a test instance

Phase 5 Testing

Genie Press 2007

Page 122 of 159

Creating a BPM Scenario in XI

5. Click the source icon

and copy the XML payload (shown below)

<?xml version="1.0" encoding="UTF-8"?>


<ns0:MT_ORDER xmlns:ns0="http://www.demo.com/XI">
<Order_Num>KEVINSPONUMBER</Order_Num>
<Customer_Num>0001000785</Customer_Num>
<Delivery_Date>20060630</Delivery_Date>
<Order_Line>
<Line_num>000010</Line_num>
<Material>1000001</Material>
<Quantity>1</Quantity>
<Price>1.50</Price>
</Order_Line>
</ns0:MT_ORDER>

5.1.2. Launch the test tool


1. Launch or go back to the Integration Directory
2. On the menu choose Tools -> Test configuration as shown in Figure 182

Figure 182: Launch Test Configuration

3. Enter the required Service / Interface / Namespace


4. Enter the required details as follows:
a. Sender Service: DEMO
b. Interface: MI_ORDER
c. Namespace: http://www.demo.com/XI
d. Receiver Service: SAPCRM
5. Paste the XML payload, created in 5.1.1. Create a sample XML payload
on page 122, into the payload text area as show in Figure 183

Phase 5 Testing

Genie Press 2007

Page 123 of 159

Creating a BPM Scenario in XI

Figure 183: Running the test configuration

6. Click the Run icon


7. Your resultant XML should appear in the payload text area

8. Click log tab to explore messages passed during the process

5.2 Testing the web service using XML SPY


1. Launch XMLSpy (Tested on Version 4.4)
2. Load the WSDL created in step 3.10. Create and Publish Web Service on
page 116

Phase 5 Testing

Genie Press 2007

Page 124 of 159

Creating a BPM Scenario in XI

3. Click F8 to validate the file


4. From the menu click Soap -> Create new SOAP request as shown in
Figure 184

Figure 184: Create new SOAP request

5. Click Window button as shown on Figure 185

Figure 185: Selecting your request

6. Click OK
7. Ensure MI_ORDER.wsdl is selected as shown in Figure 186

Figure 186: Selecting window

8. Click OK
9. This ensures that you have the right WSDL for going forward
10. Click OK
11. This brings you to the Window to select soap operation name as shown in
Figure 187

Figure 187: Select SOAP operation name

12. Select MI_ORDER and OK


13. This launches a new tab that allows you to enter the XML Payload
manually

Phase 5 Testing

Genie Press 2007

Page 125 of 159

Creating a BPM Scenario in XI

14. Enter the values we have used to test before as described in 5.1.1. Create
a sample XML payload on page 122. See Figure 188 for the entered data

Figure 188: Entering XML payload

15. From the menu select Soap -> Send request to server as shown in Figure
189

Figure 189: Sending SOAP request to server

16. Enter your XI application user XIAPPLUSER and password whatever it


is.
17. A 3rd tab pops up with a SOAP envelope. Hopefully no errors occurred!!!
18. Check the Runtime Workbench for your resulting messages

5.3. Runtime workbench


The Integration Server, Integration Engine and Adapter Engine all display a more
detailed view. The Integration Server will provide a high level overview of
messages that are processed by the Integration Server.

Phase 5 Testing

Genie Press 2007

Page 126 of 159

Creating a BPM Scenario in XI

5.3.1. View Integration Server


View message and details on the Integration Server
1. Start the Runtime Workbench
2. Click Message Monitoring
3. Select Integration Server and click the Display button
4. Click Start to view messages in the last hour

5. And if there was a deadline forced

5.3.2. View Integration Engine


View details and message details on the Integration Engine

Phase 5 Testing

Genie Press 2007

Page 127 of 159

Creating a BPM Scenario in XI

1.
2.
3.
4.

Start the Runtime Workbench


Click Message Monitoring
Select Integration Server <SYSID> and click the Display button
Click Start to view messages in the last hour

5. And if there was a deadline forced

5.3.3. View Adapter Engine


View the audit log and message details on the Adapter Engine
1. Start the Runtime Workbench
2. Click Message Monitoring
3. Select Adapter Engine <servername> and click the Display button
4. Click Start to view messages in the last hour

Phase 5 Testing

Genie Press 2007

Page 128 of 159

Creating a BPM Scenario in XI

5. And if there was a deadline forced

5.3.4. View alert inbox


1. Start the Runtime Workbench
2. Click Alert Inbox
3. You will see your alert displayed as follows

5.3.5. Workflow Log


1. Start the transaction SWI1 to view the applicable workflow log

2. And if there was a deadline forced

Glossary

Genie Press 2007

Page 129 of 159

Creating a BPM Scenario in XI

3. And after the deadline is reached

5.3.6. Verify email


1. Start your email client to verify receipt of the email and then get a coffee
youre done!

Glossary

Genie Press 2007

Page 130 of 159

Creating a BPM Scenario in XI

Glossary
ABAP
ABAP is a powerful programming language provided by SAP that can be used to
extend the functionality of SAP.
Abstract Interface
An abstract interface is an interface that can be used both inbound and
outbound.
Adapter Engine
The adapter engine is used to connect the integration engine to external systems
via various adapters.. Adapters are used to convert the messages into specific
protocols and formats for the external systems that they were designed for. For
example: the JDBC adapter is used to convert messages into database queries
and execute them against external database systems.
ALE
Application Link Enabling (ALE) is a middleware tool provided by SAP to link
SAP applications with both other SAP applications and non-SAP applications.
Alert
An Alert is a message that is sent when a pre-configured condition is reached
and typically used to monitor for exception conditions in computer systems and
business processes. Alerts can be delivered via e-mail, fax, or SMS. SAP has
extensive functionality for defining, monitoring, and routing Alerts.
Asynchronous Message
The message is "non-blocking". The sending application does not wait for a
response message from the receiving service and continues processing. A
response to the message will come in a separate "call-back" message if required.
See also synchronous.
BPM
Business process Management (BPM) commonly refers to the design and
processing of Integration Processes.
Business Service
A Business Service is used to represent a system that sends and receives
messages. Business Services are similar to Business Systems except that they
are not stored in the System Landscape Directory (SLD). You would typically
use Business Services to represent systems of your business partners because
there systems are not in your landscape.
Business System

Glossary

Genie Press 2007

Page 131 of 159

Creating a BPM Scenario in XI

Business systems are defined in the System Landscape Directory (SLD) and
represent the logical systems that are the senders and receivers of messages.
Communication Channel (CC)
A communication channel defines the adapter (protocol) that will be used to
communicate messages to a business system or service.
Correlation
A correlation is used to match XML messages that are participating in an
instance of an Integrating Process. In a correlation you define XML elements that
are used to join one or more XML messages. You must specify a correlation in a
receive step of an Integration process so that XI will know what inbound
message to match with the run-time instance of the Integration Process.
Data Types
A Data Type is an XML Schema Definition (XSD) and is used to define the
structure of a message type. A data type can be used to validate payloads of
messages.
IDOC
An IDOC is an electronic document that is in a SAP proprietary format for
exchanging data between systems. There are IDOC formats for exchanging
almost any business document, transaction, or master data object.
IDOC Meta Data
IDOC Meta Data is used to validate and process IDOCs. This Meta Data is
managed by transaction IDX2 and can be loaded from the external SAP system
via RFC.
Integration Builder
This is the central tool for the design and configuration of XI objects. The
integration builder is divided into two areas: Design and Configuration. These two
areas are referred to as: Design Integration Repository and Configuration
Integration Directory.
Integration Directory
The Integration Directory is where all XI configuration objects are stored. The
Integration builder is used to manipulate objects in the integration repository. The
Integration Server accesses the Integration Directory to determine how to
process messages based on these configuration objects.
Integration Engine
This is the central run-time component of the integration server. It is responsible
for receiving, processing, mapping, and sending of XML messages.
Integration Process

Glossary

Genie Press 2007

Page 132 of 159

Creating a BPM Scenario in XI

An integration process is where you define a cross system business workflow for
processing messages that span multiple business systems.
Integration Repository
The integration Repository is where all XI design objects are stored. The
Integration builder is used to manipulate objects in the integration repository.
Integration Scenario
An Integration Scenario is used to document the integration between business
systems. It can contain links to all of the objects that involved in the exchange of
messages between systems.
Integration Server
The Integration server is the central engine for processing messages in
Exchange Infrastructure. The Integration Server uses setting in the Integration
Directory to determine what business systems to send inbound messages to and
what mappings are required in the process.
Interface Determination
An Interface Determination is used to define which inbound interface and
interface mapping a message will be processed by. Interface Determination
entries are selected based on the sender, outbound interface, and receiver.
Interface Mapping
Interface Mappings are used to register a message mapping program to an
inbound and outbound interface in the integrating repository. XI uses the
Interface Mapping to select the message mapping programs associated with
request and response messages for the specified interfaces.
Message Interfaces
A Message Interface defines an interface between application systems that is
both programming language and platform independent. In a Message Interface
you define the message type and communication parameters of the interface.
Communication parameters define a message as inbound or outbound and
asynchronous or synchronous.
Message Mapping
A Message Mapping is used to transform one XML message into another.
Message mappings are defined by using the XI graphical mapping editor that is
accessed in the design side of the Integration Builder.
Message Types
A Message Type references the data type that it used to define the structure of a
message.
Namespace

Glossary

Genie Press 2007

Page 133 of 159

Creating a BPM Scenario in XI

**TEMP**.
Receiver Agreement
A receiver agreement is used to determine how to transform a message so that it
can be processed by a receiver. This occurs during outbound processing.
Receiver Determination
A receiver determination is used to define the services that a message will be
sent to. XI uses the sending service, party, and message type to select a receiver
determination entry.
RFC
RFC (Remote Function Call) is the name for the standard SAP interface for
communicating between SAP systems. RFC can be used to call a function
remotely on another SAP system or a non-SAP system that has implemented a
RFC interface using the SAP RFC SDK.
Runtime Workbench
The Runtime Workbench (RWB) is the central tool for monitoring the processing
and performance of messages and for the monitoring and testing the individual
components of Exchange Infrastructure.
Sender Agreement
A Sender Agreement is used to determine how to transform a message so that it
can be processed by the Integration Engine. This occurs during inbound
processing.
SLD
The System Landscape Directory is a server application that stores information
on the hardware and components in your SAP landscape. XI uses the SLD to
store information on business systems, technical systems, products and software
components.
SOAP
SOAP (Simple Object Access Protocol) is an XML-based protocol for accessing
Web services allowing disparate applications to exchange information over
networks using XML syntax. SOAP acts as an envelope to package the XML
messages sent between client applications and Web services. WSDL and SOAP
work together with WSDL providing detailed descriptions of a Web service and
SOAP providing the actual data transport between the Web service and the
requesting client application (usually over HTTP).
Software Catalog
The software catalog is part of the SLD and is used to store information on the
products and software components in the SAP landscape. This is where new

Glossary

Genie Press 2007

Page 134 of 159

Creating a BPM Scenario in XI

software components need to have been created before they can be used for
new development.
Software Component Version
Software component versions are the packages that are used in XI to organize
development objects in XI and are defined in the software catalog.
Synchronous Message
The message will block. The sending application will wait for a response from the
receiving service before continuing processing. See also asynchronous.
System Landscape Directory (SLD)
The System Landscape Directory is a server application that stores information
on the hardware and components in your SAP landscape. XI uses the SLD to
store information on business systems, technical systems, products and software
components.
WSDL
WSDL (Web Services Description Language) is an XML-based language used to
describe and locate Web services. It is the language used by UDDI (Universal
Description, Discovery, and Integration), which is an XML-based registry where
businesses list information about themselves and their available Web services.
WSDL works hand-in-hand with SOAP, where WSDL describes a Web service
and the functionality it provides, and SOAP is used by the client application to
actually call the functions listed in the WSDL description.
XML
The eXtensible Markup Language (XML) is a specification from the World Wide
Web Consortium (W3C) that defines a meta language for describing data. In
XML applications, data is described by surrounding it with customizable, textbased tags that give information about the data itself as well as its hierarchical
structure.
XPATH
XPATH is a language for addressing parts of an XML document.
XSD
An XML Schema Definition (XSD) is an instance of an XML schema written in the
XML Schema language. An XSD defines a type of XML document in terms of
constraints upon what elements and attributes may appear, their relationship to
each other, what types of data may be in them, and other things. It can be used
with validation software in order to ascertain whether a particular XML document
is of that type, and to produce a Post-Schema Validation Infoset.
XSLT

Glossary

Genie Press 2007

Page 135 of 159

Creating a BPM Scenario in XI

XSLT (Extensible Style Language Transformation) style sheets transform an


XML document into either, another XML document, an HTML/XHTML Web page,
or a simple text file. The XSLT style sheet specifies how an XSLT processor
should create the desired output from an associated XML input document.

Glossary

Genie Press 2007

Page 136 of 159

Creating a BPM Scenario in XI

APPENDIX A.

Abbreviations Used

Abbreviation
BPM
BPE
CRM
DT
ECC
ERP
IDoc
IS
IM
IP
IS
MI
MM
MT
RWB
SLD
SOAP
XI
XML

Description
Business Process Management
Business Process Engine
Customer Relationship Management
Data Type
ERP Central Component Part of the ERP solution
Enterprise Resource Planning
Intermediate Document
Integration Server
Interface Mapping
Integration Process
Integration Scenario
Message Interface
Message Mapping
Message Type
Runtime Work Bench
System Landscape Directory
Simple Object Access Protocol
Exchange Infrastructure
Extensible Markup Language

XSD
WSDL
XSLT

XML Schema Definition.


Web Services Description Language
Extensible Style Language Transformation

Appendix A Data Types

Genie Press 2007

Page 137 of 159

Creating a BPM Scenario in XI

APPENDIX B.

Data Types

XSD DT_ORDERS
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.demo.com/XI"
targetNamespace="http://www.demo.com/XI">
<xsd:complexType name="DT_ORDER">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
bc376cb0725011da8f80001321b36514
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Order_Num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3506c0811dabc3ec49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
PO Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Customer_Num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3516c0811da8d10c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Customer Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Delivery_Date" type="xsd:dateTime">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3526c0811dab62ec49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Expected Delivery Date
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Order_Line" maxOccurs="unbounded">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3536c0811daa027c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Line Item Detail
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Line_num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">

Appendix A Data Types

Genie Press 2007

Page 138 of 159

Creating a BPM Scenario in XI


2b77a3546c0811dac1bbc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
PO Line Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Material" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3556c0811daa843c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Material / SKU Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Quantity" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3566c0811da8019c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Quantity Ordered
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Price" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3576c0811da8d4bc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Line Item Price
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

XSD DT_ORDERRESPONSE
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.demo.com/XI"
targetNamespace="http://www.demo.com/XI">
<xsd:complexType name="DT_ORDERRESPONSE">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
a80801c0725311dacdc4001321b36514
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Order_Num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3506c0811dabc3ec49fac172862
</xsd:appinfo>

Appendix A Data Types

Genie Press 2007

Page 139 of 159

Creating a BPM Scenario in XI


<xsd:documentation xml:lang="EN">
PO Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Status" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
4789afd06c2011dab0ebc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Order Status
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Customer_Num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3516c0811da8d10c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Customer Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Delivery_Date" type="xsd:dateTime">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3526c0811dab62ec49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Expected Delivery Date
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Order_Line" maxOccurs="unbounded">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3536c0811daa027c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Line Item Detail
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Line_num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3546c0811dac1bbc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
PO Line Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Line_Status" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
4789afd16c2011dab67dc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Line Status
</xsd:documentation>
</xsd:annotation>

Appendix A Data Types

Genie Press 2007

Page 140 of 159

Creating a BPM Scenario in XI


</xsd:element>
<xsd:element name="Material" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3556c0811daa843c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Material / SKU Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Quantity" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3566c0811da8019c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Quantity Ordered
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Price" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3576c0811da8d4bc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Line Item Price
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

XSD DT_BPM_TRIGGER
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.demo.com/XI"
targetNamespace="http://www.demo.com/XI">
<xsd:complexType name="DT_BPM_TRIGGER">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
c73bad80725311da9e18001321b36514
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="DocNum" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
bb38f2506c1711da9677c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
IDoc Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>

Appendix A Data Types

Genie Press 2007

Page 141 of 159

Creating a BPM Scenario in XI


<xsd:element name="DocName" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
6c48dba06c1811da874ec49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Document Name
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Key1" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
bb38f2516c1711daa162c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Key field 1
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Key2" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
bb38f2526c1711da83dec49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Key field 2
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Var1" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
6c48dba16c1811da9924c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Variable 1
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Var2" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
6c48dba26c1811da9bd1c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Variable 2
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Var3" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
6c48dba36c1811daa05cc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Variable 3
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Var4" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
6c48dba46c1811da8b82c49fac172862
</xsd:appinfo>

Appendix A Data Types

Genie Press 2007

Page 142 of 159

Creating a BPM Scenario in XI


<xsd:documentation xml:lang="EN">
Variable 4
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

Appendix A Data Types

Genie Press 2007

Page 143 of 159

Creating a BPM Scenario in XI

APPENDIX C.

WSDL FILES

MI_ORDER.WSDL
<?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:p1="http://www.demo.com/XI"
name="MI_ORDER" targetNamespace="http://www.demo.com/XI">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.demo.com/XI"
targetNamespace="http://www.demo.com/XI">
<xsd:element name="MT_ORDER" type="DT_ORDER" />
<xsd:complexType name="DT_ORDER">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
532bab806c0811da8cbdc49fac172862
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Order_Num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3506c0811dabc3ec49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
PO Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Customer_Num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3516c0811da8d10c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Customer Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Delivery_Date" type="xsd:dateTime">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3526c0811dab62ec49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Expected Delivery Date
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Order_Line" maxOccurs="unbounded">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3536c0811daa027c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Line Item Detail
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>

Appendix B WSDL Files

Genie Press 2007

Page 144 of 159

Creating a BPM Scenario in XI


<xsd:element name="Line_num" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3546c0811dac1bbc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
PO Line Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Material" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3556c0811daa843c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Material / SKU Number
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Quantity" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3566c0811da8019c49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Quantity Ordered
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Price" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
2b77a3576c0811da8d4bc49fac172862
</xsd:appinfo>
<xsd:documentation xml:lang="EN">
Line Item Price
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="MT_ORDER">
<wsdl:part name="MT_ORDER" element="p1:MT_ORDER" />
</wsdl:message>
<wsdl:portType name="MI_ORDER">
<wsdl:operation name="MI_ORDER">
<wsdl:input message="p1:MT_ORDER" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MI_ORDERBinding" type="p1:MI_ORDER">
<soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="MI_ORDER">
<soap:operation xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
soapAction="http://sap.com/xi/WebService/soap1.1" />
<wsdl:input>
<soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" use="literal" />
</wsdl:input>
</wsdl:operation>

Appendix B WSDL Files

Genie Press 2007

Page 145 of 159

Creating a BPM Scenario in XI


</wsdl:binding>
<wsdl:service name="MI_ORDERService">
<wsdl:port name="MI_ORDERPort" binding="p1:MI_ORDERBinding">
<soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
location="http://mysapapps02.sapgenie.com:8000/XISOAPAdapter/MessageServlet?channel=:DEMO:CC_DEMO_SOAP
_SENDER&amp;version=3.0&amp;Sender.Service=DEMO&amp;Interface=http%3A%2F%2Fwww.demo.com%2FXI%5E
MI_ORDER" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Appendix B WSDL Files

Genie Press 2007

Page 146 of 159

Creating a BPM Scenario in XI

APPENDIX D.

EXTERNAL FILES

XIMAIL30.XSD File for Mail adapter


<?xml version="1.0" encoding="utf-8"?>
<!-SAP takes no position regarding the validity or scope of any intellectual property or
other rights that might be claimed to pertain to the implementation or use of the
technology described in this document or the extent to which any license under such
rights might or might not be available; neither does it represent that it has made any
effort to identify any such rights.
Copyright SAP 2003-2004. All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative
works that comment on or otherwise explain it or assist in its implementation may be
prepared, copied, published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this paragraph are included on all
such copies and derivative works. However, this document itself does not be modified in
any way, such as by removing the copyright notice or references to SAP.
This document and the information contained herein is provided on an AS IS
basis and SAP DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-->
<xs:schema targetNamespace="http://sap.com/xi/XI/Mail/30" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xi="http://sap.com/xi/XI/Mail/30">
<!-* Mail
-->
<xs:element name="Mail">
<xs:annotation>
<xs:documentation>Mail package for XI - Mail Adapter</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Subject" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional subject line</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="From" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional sender email address (required for SMTP)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="To" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional one or more receiver email addresses (required for
SMTP)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Reply_To" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional reply-to email addresses</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Content_Type" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional content type (default is text/plain)</xs:documentation>
</xs:annotation>
</xs:element>

Appendix C XIMAIL30.XSD File

Genie Press 2007

Page 147 of 159

Creating a BPM Scenario in XI


<xs:element name="Content_Description" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional content description</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Content_Disposition" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional content disposition</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Date" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>optional date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Message_ID" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional message id</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="X_Mailer" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>optional mail program name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Content" minOccurs="0">
<xs:annotation>
<xs:documentation>any mixed content type</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="encoding" type="xs:string">
<xs:annotation>
<xs:documentation>optional encoding name (base64, quoted-printable)</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="MailReceipt">
<xs:annotation>
<xs:documentation>Mail Receipt for XI - Mail Adaper</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Server" type="xs:string">
<xs:annotation>
<xs:documentation>Server URL</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Greeting" type="xs:string">
<xs:annotation>
<xs:documentation>Server Greeting Message</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Format" type="xs:string">
<xs:annotation>
<xs:documentation>Message Format XIALL or XIPAYLOAD</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UseMailPackage" type="xs:boolean">
<xs:annotation>
<xs:documentation>Mail Package Flag</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Encoding" type="xs:string">

Appendix D XIMAIL30.XSD File

Genie Press 2007

Page 148 of 159

Creating a BPM Scenario in XI


<xs:annotation>
<xs:documentation>Encoding name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Subject" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Mail Subject</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="From" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Mail From</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="To" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Mail To</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Date" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Mail date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MailID" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Mail ID</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FetchReport">
<xs:annotation>
<xs:documentation>Fetch Report for XI - Mail Adaper</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Server" type="xs:string">
<xs:annotation>
<xs:documentation>Server URL</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Greeting" type="xs:string">
<xs:annotation>
<xs:documentation>Server Greeting Message</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="User" type="xs:string">
<xs:annotation>
<xs:documentation>User Name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Date" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Mail Date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Messages" type="xi:FetchedMessages">
<xs:annotation>
<xs:documentation>Mail Messages</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>

Appendix D XIMAIL30.XSD File

Genie Press 2007

Page 149 of 159

Creating a BPM Scenario in XI


</xs:element>
<xs:complexType name="FetchedMessages">
<xs:sequence>
<xs:element name="item" type="xi:FetchedMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="new" type="xs:int">
<xs:annotation>
<xs:documentation>the number of new messages found</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="total" type="xs:int">
<xs:annotation>
<xs:documentation>the number of total messages found</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="FetchedMessage">
<xs:sequence>
<xs:element name="Subject" type="xs:string">
<xs:annotation>
<xs:documentation>Mail Subject</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="From" type="xs:string">
<xs:annotation>
<xs:documentation>Mail From</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="To" type="xs:string">
<xs:annotation>
<xs:documentation>Mail To</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Message_ID" type="xs:string">
<xs:annotation>
<xs:documentation>Mail ID</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="status" type="xs:string">
<xs:annotation>
<xs:documentation>the status of XI processing</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id" type="xs:string">
<xs:annotation>
<xs:documentation>the XI message ID associated with the mail message</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:schema>

Appendix D XIMAIL30.XSD File

Genie Press 2007

Page 150 of 159

Creating a BPM Scenario in XI

APPENDIX E.

Message Mappings

MM_Order_to_ORDERS05

Figure 190: Message Mapping - MM_Order_to_ORDERS05

The following is a text view of the message mapping. All constants have been
added between the parentheses.
E.g. setting field DIRECT of Segment EDI_DC40 to constant 2 is depicted:
/ORDERS05/IDOC/EDI_DC40/DIRECT=const(2)

And this corresponds to the mapping:

Text View of Message Mapping:


/ORDERS05/IDOC/@BEGIN=const()
/ORDERS05/IDOC/EDI_DC40=/ns0:MT_ORDER=
/ORDERS05/IDOC/EDI_DC40/@SEGMENT=const(EDI_DC40)
/ORDERS05/IDOC/EDI_DC40/TABNAM=const()
/ORDERS05/IDOC/EDI_DC40/DIRECT=const(2)
/ORDERS05/IDOC/EDI_DC40/IDOCTYP=const(ORDERS05)
/ORDERS05/IDOC/EDI_DC40/MESTYP=const(ORDERS)
/ORDERS05/IDOC/EDI_DC40/SNDPOR=const(SAPNWS)
/ORDERS05/IDOC/EDI_DC40/SNDPRT=const(LS)
/ORDERS05/IDOC/EDI_DC40/SNDPRN=const(NWSCLNT020)
/ORDERS05/IDOC/EDI_DC40/RCVPOR=const(SAPCRS)

Appendix E Message Mappings

Genie Press 2007

Page 151 of 159

Creating a BPM Scenario in XI


/ORDERS05/IDOC/EDI_DC40/RCVPRT=const(LS)
/ORDERS05/IDOC/EDI_DC40/RCVPRN=const(CRSCLNT555)
/ORDERS05/IDOC/E1EDK01=const(E1EDK01)
/ORDERS05/IDOC/E1EDK01/@SEGMENT=const(E1EDK01)
/ORDERS05/IDOC/E1EDK01/ACTION=const(000)
/ORDERS05/IDOC/E1EDK01/CURCY=const(USD)
/ORDERS05/IDOC/E1EDK01/ZTERM=const(0002)
/ORDERS05/IDOC/E1EDK01/BSART=const(NB)
/ORDERS05/IDOC/E1EDK03=const(E1EDK03)
/ORDERS05/IDOC/E1EDK03/@SEGMENT=const(E1EDK03)
/ORDERS05/IDOC/E1EDK03/IDDAT=const(002)
/ORDERS05/IDOC/E1EDK03/DATUM=/ns0:MT_ORDER/Delivery_Date=
/ORDERS05/IDOC/E1EDKA1=const(E1EDKA1)
/ORDERS05/IDOC/E1EDKA1/@SEGMENT=const(E1EDKA1)
/ORDERS05/IDOC/E1EDKA1/PARVW=const(AG)
/ORDERS05/IDOC/E1EDKA1/PARTN=/ns0:MT_ORDER/Customer_Num=
/ORDERS05/IDOC/E1EDK02=const(E1EDK02)
/ORDERS05/IDOC/E1EDK02/@SEGMENT=const(E1EDK02)
/ORDERS05/IDOC/E1EDK02/QUALF=const(001)
/ORDERS05/IDOC/E1EDK02/BELNR=/ns0:MT_ORDER/Order_Num=
/ORDERS05/IDOC/E1EDK02/DATUM=currentDate()
/ORDERS05/IDOC/E1EDP01=/ns0:MT_ORDER/Order_Line=
/ORDERS05/IDOC/E1EDP01/@SEGMENT=const(E1EDP01)
/ORDERS05/IDOC/E1EDP01/POSEX=formatNumber(/ns0:MT_ORDER/Order_Line/Line_num=)
/ORDERS05/IDOC/E1EDP01/ACTION=const(001)
/ORDERS05/IDOC/E1EDP01/MENGE=/ns0:MT_ORDER/Order_Line/Quantity=
/ORDERS05/IDOC/E1EDP01/MENEE=const(EA)
/ORDERS05/IDOC/E1EDP01/PMENE=const(EA)
/ORDERS05/IDOC/E1EDP01/VPREI=/ns0:MT_ORDER/Order_Line/Price=
/ORDERS05/IDOC/E1EDP01/PEINH=const(1)
/ORDERS05/IDOC/E1EDP01/E1EDP20=const(E1EDP20)
/ORDERS05/IDOC/E1EDP01/E1EDP20/@SEGMENT=const(E1EDP20)
/ORDERS05/IDOC/E1EDP01/E1EDP20/WMENG=/ns0:MT_ORDER/Order_Line/Quantity=
/ORDERS05/IDOC/E1EDP01/E1EDP20/AMENG=/ns0:MT_ORDER/Order_Line/Quantity=
/ORDERS05/IDOC/E1EDP01/E1EDP19=const(E1EDP19)
/ORDERS05/IDOC/E1EDP01/E1EDP19/@SEGMENT=const(E1EDP19)
/ORDERS05/IDOC/E1EDP01/E1EDP19/QUALF=const(002)
/ORDERS05/IDOC/E1EDP01/E1EDP19/IDTNR=/ns0:MT_ORDER/Order_Line/Material=

MM_Order_to_BPM_TRIGGER

Figure 191: Message Mapping - MM_Order_to_ORDERS05

The following is a text view of the message mapping. All constants have been
added between the parentheses.

Appendix E Message Mappings

Genie Press 2007

Page 152 of 159

Creating a BPM Scenario in XI

E.g. setting field DIRECT of Segment EDI_DC40 to constant 2 is depicted:


/ORDERS05/IDOC/EDI_DC40/DIRECT=const(2)

And this corresponds to the mapping:

Text View of Message Mapping:


/ns0:MT_BPM_TRIGGER=/ns0:MT_ORDER=
/ns0:MT_BPM_TRIGGER/DocNum=/ns0:MT_ORDER/Order_Num=
/ns0:MT_BPM_TRIGGER/DocName=const(ORDER)
/ns0:MT_BPM_TRIGGER/Key1=/ns0:MT_ORDER/Customer_Num=

MM_ORDERS05_to_OrderResponse

Figure 192: Message Mapping - MM_Order_to_ORDERS05

The following is a text view of the message mapping. All constants have been
added between the parentheses.
E.g. setting field DIRECT of Segment EDI_DC40 to constant 2 is depicted:
/ORDERS05/IDOC/EDI_DC40/DIRECT=const(2)

And this corresponds to the mapping:


Text View of Message Mapping:
/ns0:MT_ORDERRESPONSE=/ORDERS05=
/ns0:MT_ORDERRESPONSE/Order_Num=ifWithoutElse(stringEquals(/ORDERS05/IDOC/E1EDK02/QUALF=,
const(001)), /ORDERS05/IDOC/E1EDK02/BELNR=)

/ns0:MT_ORDERRESPONSE/Status=const(01)

Appendix E Message Mappings

Genie Press 2007

Page 153 of 159

Creating a BPM Scenario in XI


/ns0:MT_ORDERRESPONSE/Customer_Num=/ORDERS05/IDOC/E1EDK01/RECIPNT_NO=
/ns0:MT_ORDERRESPONSE/Delivery_Date=ifWithoutElse(stringEquals(/ORDERS05/IDOC/E1EDK03/IDDAT=,
const(002)), /ORDERS05/IDOC/E1EDK03/DATUM=)

/ns0:MT_ORDERRESPONSE/Order_Line=/ORDERS05/IDOC/E1EDP01=
/ns0:MT_ORDERRESPONSE/Order_Line/Line_num=/ORDERS05/IDOC/E1EDP01/POSEX=
/ns0:MT_ORDERRESPONSE/Order_Line/Line_Status=const(01)
/ns0:MT_ORDERRESPONSE/Order_Line/Material=ifWithoutElse(stringEquals(/ORDERS05/IDOC/E1EDP01/E1EDP1
9/QUALF=, const(002)), /ORDERS05/IDOC/E1EDP01/E1EDP19/IDTNR=)

/ns0:MT_ORDERRESPONSE/Order_Line/Quantity=/ORDERS05/IDOC/E1EDP01/MENGE=
/ns0:MT_ORDERRESPONSE/Order_Line/Price=/ORDERS05/IDOC/E1EDP01/VPREI=

MM_ORDRSP_to_BPM_TRIGGER

Figure 193: Message Mapping - MM_ORDRSP_to_BPM_TRIGGER

The following is a text view of the message mapping. All constants have been
added between the parentheses.
E.g. setting field DIRECT of Segment EDI_DC40 to constant 2 is depicted:
/ORDERS05/IDOC/EDI_DC40/DIRECT=const(2)

And this corresponds to the mapping:


Text View of Message Mapping:
/ns0:MT_BPM_TRIGGER/DocNum=ifWithoutElse(stringEquals(/ORDERS05/IDOC/E1EDK02/QUALF=, const(001)),
/ORDERS05/IDOC/E1EDK02/BELNR=)

Appendix E Message Mappings

Genie Press 2007

Page 154 of 159

Creating a BPM Scenario in XI

/ns0:MT_BPM_TRIGGER/DocName=const(ORDRSP)

MM_ BPM_to_EMAIL

Figure 194: Message Mapping - MM_BPM_to_EMAIL

The following is a text view of the message mapping. All constants have been
added between the parentheses.
E.g. setting field DIRECT of Segment EDI_DC40 to constant 2 is depicted:
/ORDERS05/IDOC/EDI_DC40/DIRECT=const(2)

And this corresponds to the mapping:


Text View of Message Mapping:
/ns1:Mail/Subject=concat(const(Order response not received for PO :), /ns0:MT_BPM_TRIGGER/DocNum=)

/ns1:Mail/From=const(webmaster@sapgenie.com)
/ns1:Mail/To=const(Kevin@sapgenie.com)
/ns1:Mail/Content_Type=const(text/html)
/ns1:Mail/Content=concat(const(<b>Key field</b> :), /ns0:MT_BPM_TRIGGER/Key1=)

Appendix E Message Mappings

Genie Press 2007

Page 155 of 159

Creating a BPM Scenario in XI

Index Table

A
ABAP Objects 6
Abstract asynchronous 19
Abstract interface 47, 49
Actions 33, 34, 35, 36, 37, 38, 39, 42, 43, 44,
45, 46
Receive_BPM_TRIGGER 33, 35, 36, 43, 44,
45
Receive_BPM_TRIGGER_MATCH 34, 38,
39, 44, 46
Receive_Order 33, 35, 43, 44
Receive_OrderResponse 33, 37, 38, 44, 45,
46
Send_Order 33, 34, 42, 43, 44, 45, 46
Send_OrderResponse 33, 36, 37, 44, 45
Adapter
EMail 7
File 19, 73, 89
FTP 7
IDoc 7, 9, 19, 22, 23, 33, 35, 36, 72, 78, 88,
94, 116, 117, 136
Mail 74, 101, 142
SOAP 19, 72, 73, 77, 83
XI 83, 95, 100
Adapter Engine 72, 73, 75, 122, 124
adapter framework 9
Adapter Specific Identifiers 69
Adapter Type 72, 73, 74
ALE 6
alert 7, 48, 55, 59, 63, 64, 65, 125
alert category 62, 63, 64, 66
fixed recipients 65
role 40, 42, 65
Alert Configuration 62
alert framework 7
Alert Inbox 125
ARIS 6
Assign 45, 47, 52, 53, 65, 81, 87, 92, 93, 99,
105
Asynchronous 19, 20, 21, 22, 57, 72

B
Binary 74
BPM See Business Process Management
Correlation Editor 48, 50
Graphical Definition 48, 49, 50, 51, 52, 56,
57, 61
BPM engine 7, 19, 47, 48
BPM process 14, 19, 23, 33, 64, 65
BPM scenario 6, 9, 23

Index

business landscape 9
Business Process Management 6, 132
Business Service 70, 71, 72, 73, 74, 77, 83, 89,
101
Business services 9
Business System 41, 72, 78, 88, 94
business systems 9

C
cache 10
communication channel
IDoc 72
Communication Channel 72, 73, 74, 78
Content Encoding 75
File Construction Mode 74
File Type 74
Message Protocol 72, 73, 75
SOAP 78
Transport Protocol 72, 73, 75
Write Mode 74
communication channels 9, 72, 76
configuration scenario 67
Configuration Scenario 67, 81, 86, 92, 99, 105
container 47, 48, 49, 52, 55, 59
Container 48, 49, 50, 52, 55, 59
container element 55
Container Elements 49
Container Operation step 52, 53
Container Operation step 53
Container Operation step 53
Container Operation step 55
correlated 7, 14, 19, 33
correlation 47, 49, 50, 51, 61
Correlation Container 50
correlation mapping 48
CRM 7, 9, 19, 33, 41, 42, 43, 72, 76, 116, 132
Customer Relationship Management See CRM

D
data type 14, 15, 16, 28, 132, 133
Data Type 12, 15, 16, 132
DT_BPM_TRIGGER 18
DT_ORDER 14, 16, 17, 133, 139
MT_BPM_TRIGGER 18

E
ECC 7, 9, 19, 23, 33, 41, 42, 44, 72, 88, 94, 132
Electronic Data Interchange 6

Genie Press 2007

Page 156 of 159

Creating a BPM Scenario in XI


ERP Central Component See ECC
Exactly Once 72
exception handling 7
Extensible Markup Language See XML
Extensible Style Language Transformation See
XSLT
External Definition 12, 13, 14, 19, 22, 23, 32
Import 13

F
FTP 7, 14

G
GeneratedReceiverChannel_IDoc 76

H
HTTP 72

I
Idoc
ORDRSP 7, 9, 23, 25, 26, 28, 30, 31, 33, 36,
45, 91, 97, 108, 109, 110, 150
IDoc 132
ORDERS 7, 9, 14, 15, 19, 23, 24, 29, 33, 35,
46, 80, 98, 103, 107, 109, 110, 111, 112,
114, 146
ORDERS05 7, 24, 29, 117, 146, 147, 148,
149
IDOCS 6
IDS Scheer 6
imported IDocs 28
Inbound asynchronous 19
Inbound Interfaces 35, 37, 38
Incoming Message 77, 83, 88, 94, 100
Integration Builder 9, 62, 112
Integration Directory 9, 10, 67, 119
Integration Engine 122, 123
Integration Process 19, 41, 43, 44, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 68, 69, 83, 95, 100, 132
Abstract Interface 55
Activate Correlation 52
Activate Correlations 62
block 53, 54, 55, 56, 57, 58, 59, 60
control step 55, 57, 58, 59, 60, 61, 64
Correlation List 50
Correlation Name 50
deadline branch 54, 55, 56, 57, 61

Index

Exception 56, 57, 58, 59, 60, 61


exceptions 54
Message field 50, 61
mode 54
Mode 57
Receive step 49
send step 56, 57, 58
source message 56
Stop marker 52, 53
target message 56
transformation step 55, 56
Use Correlations 62
Integration Process Service 68
Integration Repository 10, 118
Integration Scenario 33, 39, 40, 41, 42, 43, 44,
45, 46, 47, 67, 132
Insert Application Component 39, 41, 42
IS_Orders 39, 47, 67
system components 39
Integration server 7
Integration Server 72, 73, 75, 122, 123, 132
Interface Determination 76, 80, 85, 91, 97, 98,
103, 104, 108, 109, 110
Interface Mapping 28, 29, 30, 31, 32, 33, 45, 56,
118, 132
IM_BPM_to_EMAIL 28, 32, 33, 56
IM_Order_to_BPM_TRIGGER 28, 29, 30, 45
IM_Order_to_ORDERS05 28, 29
IM_ORDRSP_to_BPM_TRIGGER_CATCH
28, 31, 45
IM_ORDRSP_to_OrderResponse 28, 30
source interface 29, 30, 31, 32
target interface 29, 30, 31, 32
Interface Namespace 72, 114
Interface Objects 13
Interface Variable 50, 51, 53, 56, 57, 61, 62
Intermediate Document See IDoc
Internal Communication 77, 83, 88, 94, 100
Involved Messages 50, 51
IP_ORDER 33
IP_ORDERs 48, 68

L
Logical System 69

M
Mapping Interface 12
Mapping Objects 24, 25, 26, 27, 29, 30, 31, 32
Message Type
ORDERRESPONSE 17
Message Interface 12, 16, 19, 20, 21, 22, 29,
30, 31, 32, 33, 34, 36, 37, 38, 49, 50, 51, 55,
71, 76, 114, 132

Genie Press 2007

Page 157 of 159

Creating a BPM Scenario in XI


MI_BPM_TRIGGER 16, 19, 20, 21, 28, 30,
32, 33, 34, 36, 45, 47, 49, 50
MI_BPM_TRIGGER_MATCH 16, 19, 21, 28,
31, 33, 38, 50, 51
MI_EMAIL 19, 22, 28, 32, 55, 71, 103, 104,
107, 110, 112
MI_ORDER 16, 19, 20, 28, 29, 30, 33, 34,
45, 72, 79, 80, 84, 85, 98, 107, 108, 109,
111, 114, 115, 119, 121, 139, 140
ORDERRESPONSE 19, 20, 28, 33, 37
Message Interface layer 19
Message Interfaces 14, 16, 19, 20, 21, 22, 28,
50
Message Mapping 12, 23, 24, 25, 26, 27, 28,
132, 146, 147, 148, 149, 150
MM_BPM_to_EMAIL 23, 27, 28, 29, 32
MM_Order_to_BPM_TRIGGER 23, 24, 25,
28, 30
MM_Order_to_ORDERS05 23, 24, 28, 29
MM_ORDERS05_to_OrderResponse 23, 25,
26, 28, 31
MM_ORDRSP_to_BPM_TRIGGER 23, 26,
27, 28, 31
Message Mappings 23, 24, 25, 26, 27, 28, 146
source message 24, 25, 26, 27
target message 24, 25, 26, 27, 29, 30, 31, 32
Message Monitoring 123, 124
Message Type 12, 17, 18, 29, 30, 31, 32, 33,
34, 132
MT_ORDER 16, 17, 19, 23, 24, 29, 30, 119,
139, 140, 146, 147, 148
MT_ORDERRESPONSE 16
ORDERRESPONSE 17, 18, 19, 20, 23, 30
message types 16, 28
metadata 117
middleware 7, 72
MT_BPM_TRIGGER 16, 18, 19, 21, 23, 24, 26,
27, 30, 31, 32, 33, 34, 51, 53, 148, 149, 150
MT_BPM_TRIGGER_MATCH 51

P
port 113, 116, 117, 141

Q
Quality of Service 72

R
Receiver Agreement 80, 86, 92, 98, 104, 111,
112
receiver agreements 76
Receiver Determination 79, 85, 91, 97, 103,
107, 108
Receiver radio button 73, 74, 97, 103
Receiver tab 70, 71
RFC destination 116, 117
Runtime Workbench 62, 65, 122, 123, 124, 125

Scenarios tab 67, 76, 82, 88, 94, 100


Sender Agreement 19, 78, 79, 84, 90, 96, 102,
111
Sender tab 70
Simple Object Access Protocol See SOAP
Simple Variable 52
SLD 9, 10, 132
smtp 75
SOAP 6, 14, 19, 72, 78, 113, 118, 121, 122,
132, 141
Software Catalog 9
Software Component 9, 10, 11, 40, 42
Swim Lanes 41
System Landscape Directory See SLD, See
SLD, See SLD

namespace 11, 13
NFS 73

O
Outbound asynchronous 19
outbound interface 34, 36
Outbound Interfaces 34, 36, 70
Outgoing Message 78, 83, 89, 95, 101

Index

Target Field 52
Test configuration 119
Testing 6, 118, 120
timeout 7, 57, 60
Transaction
ALRTCATDEF 63
IDX1 116, 117
IDX2 117
SM59 116
SWI1 125
SXMB_IFR 9

Genie Press 2007

Page 158 of 159

Creating a BPM Scenario in XI

W
web service 72, 113, 114, 115, 120
Web Services Description Language See
WSDL
Wizard 76, 77, 82, 88, 93, 94, 99, 100, 106, 113
Configuration 77, 82, 88, 94, 100
Configuration log 81, 87, 99, 105
workflow 47
workflow log 125
WSDL 6, 115, 120, 121, 132, 139

DT_ORDERS 15
ORDERRESPONSE 14, 15, 16, 25, 30, 37,
70, 92, 112, 148, 149
XI_MAIL 13, 19, 22, 23, 27, 32
XIAPPLUSER 122
XML 6, 7, 9, 14, 23, 118, 119, 120, 121, 122,
132
XML payload 118, 119
XML Schema Definition See XSD
XMLSpy 118, 120
XPath 51, 53
XPATH 6
XSD 12, 13, 15, 16, 28, 132, 133, 134, 136, 142
XSLT 6, 132

XI Message
DT_BPM_TRIGGER 14, 16, 136

Index

Genie Press 2007

Page 159 of 159