Step by Step guide: Creating a BPM Scenario in SAP Exchange Infrastructure 3. Xi is CRM ECC XI BPM Integration Process DEMO ORDER XI IS 1) MT_ORDER (DT_ORDER) Receiver Determination 2a) ORDERS (ORDERS05) Sales Order Response middleware.
Step by Step guide: Creating a BPM Scenario in SAP Exchange Infrastructure 3. Xi is CRM ECC XI BPM Integration Process DEMO ORDER XI IS 1) MT_ORDER (DT_ORDER) Receiver Determination 2a) ORDERS (ORDERS05) Sales Order Response middleware.
Step by Step guide: Creating a BPM Scenario in SAP Exchange Infrastructure 3. Xi is CRM ECC XI BPM Integration Process DEMO ORDER XI IS 1) MT_ORDER (DT_ORDER) Receiver Determination 2a) ORDERS (ORDERS05) Sales Order Response middleware.
XI IS CRM ECC XI BPM Integration Process DEMO Order XI IS 1) MT_ORDER (DT_ORDER) Receiver Determination 2a) ORDERS (ORDERS05) Sales Order 2b) MI_BPM_TRIGGER MI_BPM_TRIGGER MT_BPM_TRIGGER (DT_BPM_TRIGGER) Sales Order Response Middleware Receiver Determination 3) ORDRSP (ORDERS05) Order Response 4a) MT_ORDERRESPONSE (DT_ORDERRESPONSE) 4b) MI_BPM_TRIGGER_MATCH MI_BPM_TRIGGER_MATCH MT_BPM_TRIGGER (DT_BPM_TRIGGER) DocNum S O A P F T P I D O C I D O C Email Client Order Response Failure M A I L 4c) XI_MAIL Table of Contents Page 2 of 154
Table of Contents INTRODUCTION 6 Background ............................................................................................................................... 6 How to use this book ................................................................................................................ 7 The Scenario .............................................................................................................................. 7 PHASE 1 : SYSTEM CONFIGURATION 9 1.1. Software Component ................................................................................................... 9 1.2. Clear SLD Cache .............................................................................................................. 10 1.3. Import Software Component ........................................................................................... 10 PHASE 2 : INTEGRATION BUILDER DESIGN 12 2.1. External Definitions ......................................................................................................... 12 2.1.1. XI_MAIL ..............................................................................................................................13 2.2. Data Types ........................................................................................................................ 14 2.2.1. DT_ORDERS ........................................................................................................................15 2.2.2. DT_ORDERRESPONSE ......................................................................................................15 2.2.3. DT_BPM_TRIGGER ............................................................................................................16 2.3. Message Types ................................................................................................................. 16 2.3.1. MT_ORDER .........................................................................................................................17 2.3.2. MT_ORDERRESPONSE .....................................................................................................17 2.3.3. MT_BPM_TRIGGER ...........................................................................................................18 2.4. Message Interfaces .......................................................................................................... 19 2.4.1. MI_ORDER ..........................................................................................................................19 2.4.2. MI_ORDERRESPONSE ......................................................................................................20 2.4.3. MI_BPM_TRIGGER ............................................................................................................20 2.4.4. MI_BPM_TRIGGER_MATCH ............................................................................................21 2.4.5. MI_EMAIL ...........................................................................................................................22 2.5. Import IDoc Type .............................................................................................................. 22 2.5.1. ORDERS.ORDERS05 and ORDRSP.ORDERS05 ...............................................................23 2.6. Message Mapping ............................................................................................................ 23 2.6.1. MM_Order_to_ORDERS05 ..................................................................................................24 2.6.2. MM_Order_to_BPM_TRIGGER ..........................................................................................24 Table of Contents Page 3 of 154 2.6.3. MM_ORDERS05_to_OrderResponse ..................................................................................25 2.6.4. MM_ORDRSP_to_BPM_TRIGGER ...................................................................................26 2.6.5. MM_BPM_to_EMAIL ..........................................................................................................27 2.7. Interface Mapping ............................................................................................................ 28 2.7.1. IM_Order_to_ORDERS05 ....................................................................................................29 2.7.2. IM_Order_to_BPM_TRIGGER ............................................................................................29 2.7.3. IM_ORDRSP_to_OrderResponse .........................................................................................30 2.7.4. IM_ORDRSP_to_BPM_TRIGGER_CATCH ......................................................................31 2.7.5. IM_BPM_to_EMAIL ............................................................................................................32 2.8. Integration Scenario ........................................................................................................ 33 2.8.1. Actions ..................................................................................................................................33 2.8.2. Integration Scenario ..............................................................................................................39 2.9. Integration Process .......................................................................................................... 47 2.9.1. IP_Orders ..............................................................................................................................48 2.10. Create Alert Category .................................................................................................... 62 2.10.1. TESTALERT ......................................................................................................................63 2.10.2. TESTALERT1 ....................................................................................................................64 2.10.3. Assign Users / Roles to Alert Categories ............................................................................65 2.10.4. Update Alert Categories ......................................................................................................65 PHASE 3 : INTEGRATION BUILDER CONFIGURATION 67 3.1. Create Configuration Scenario ....................................................................................... 67 3.1.1. Order_OrderResponse_Demo ...............................................................................................67 3.2. Create Integration Process Service ............................................................................... 68 3.2.1. IP_ORDERS .........................................................................................................................68 3.3. Create Services without Party ........................................................................................ 70 3.3.1. Business Service: DEMO ......................................................................................................70 3.3.2. Business Service: MAIL_SERVICE .....................................................................................71 3.3.3. Business System: SAPCRM ..................................................................................................72 3.3.4. Business System: SAPECC ...................................................................................................72 3.4. Create Communication Channels .................................................................................. 72 3.4.1. CC_DEMO_SOAP_SENDER ..............................................................................................72 3.4.2. CC_DEMO_FILE_RECEIVER ............................................................................................73 3.4.3. CC_EMAIL ...........................................................................................................................74 3.4.4. GeneratedReceiverChannel_IDoc .........................................................................................76 3.5. Use Wizard to set up Determination and Agreements ................................................. 76 3.5.1. Orders interface between DEMO and CRM..........................................................................76 3.5.2. Orders interface between DEMO and BPE ...........................................................................82 3.5.3. Order Response interface between ECC and DEMO ............................................................88 3.5.4. Order Response interface between ECC and BPE ................................................................94 Table of Contents Page 4 of 154 3.5.5. Email interface between BPE and Email Service ................................................................100 3.6. Receiver Determination ................................................................................................. 107 3.6.1. DEMO : MI_ORDER..........................................................................................................107 3.6.2. IP_ORDERS : MI_EMAIL .................................................................................................107 3.6.3. SAPECC : ORDRSP.ORDERS05 ......................................................................................108 3.7. Interface Determination ................................................................................................. 108 3.7.1. DEMO : MI_ORDER : SAPCRM ......................................................................................108 3.7.2. DEMO : MI_ORDER : IP_ORDERS .................................................................................109 3.7.3. SAPECC : ORDRSP.ORDERS05 : DEMO ........................................................................109 3.7.4. SAPECC : ORDRSP.ORDERS05 : IP_ORDERS ..............................................................110 3.7.5. IP_ORDERS : MI_EMAIL : MAIL_SERVICE .................................................................110 3.8. Sender Agreements ....................................................................................................... 111 3.8.1. DEMO:MI_ORDER............................................................................................................111 3.9. Receiver Agreements .................................................................................................... 111 3.9.1. DEMO : SAPCRM : ORDERS.ORDERS05 ......................................................................111 3.9.2. SAPECC : DEMO : ORDERRESPONSE ..........................................................................112 3.9.3. IP_ORDERS : MAIL_SERVICE : MI_EMAIL .................................................................112 3.10. Create and Publish Web Service ................................................................................ 112 PHASE 4 : SAP CONFIGURATION 116 4.1. Maintain Port in IDoc adapter ....................................................................................... 116 4.1.1. SAPCRM ............................................................................................................................116 4.2. Maintain Metadata Overview for IDoc adapter ............................................................ 117 4.2.1. ORDERS05 .........................................................................................................................117 PHASE 5 : TESTING 118 5.1. Testing the interface in XI ............................................................................................. 118 5.1.1. Create a sample XML payload ............................................................................................118 5.1.2. Launch the test tool .............................................................................................................119 5.2 Testing the web service using XML SPY ...................................................................... 120 5.3. Runtime workbench ....................................................................................................... 122 5.3.1. View Integration Server ......................................................................................................122 5.3.2. View Integration Engine .....................................................................................................123 5.3.3. View Adapter Engine ..........................................................................................................124 5.3.4. View alert inbox ..................................................................................................................125 5.3.5. Workflow Log .....................................................................................................................125 5.3.6. Verify email ........................................................................................................................126 Table of Contents Page 5 of 154 GLOSSARY 127 APPENDIX A. ABBREVIATIONS USED 132 APPENDIX B. DATA TYPES 133 XSD DT_ORDERS ............................................................................................................... 133 XSD DT_ORDERRESPONSE ............................................................................................. 134 XSD DT_BPM_TRIGGER .................................................................................................... 136 APPENDIX C. WSDL FILES 139 MI_ORDER.WSDL .................................................................................................................. 139 APPENDIX D. EXTERNAL FILES 142 XIMAIL30.XSD File for Mail adapter .................................................................................... 142 APPENDIX E. MESSAGE MAPPINGS 146 MM_Order_to_ORDERS05 .................................................................................................... 146 MM_Order_to_BPM_TRIGGER............................................................................................. 147 MM_ORDERS05_to_OrderResponse .................................................................................. 148 MM_ORDRSP_to_BPM_TRIGGER ....................................................................................... 149 MM_ BPM_to_EMAIL ............................................................................................................. 150 INDEX 151
Creating a BPM Scenario in XI Introduction Page 6 of 154 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 Scheer 1 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 abote authorization: The tasks in the system configuration phase will take a higer 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.
1 IDS Scheer are the developers of the ARIS product Creating a BPM Scenario in XI Author: Kevin Wilson Page 7 of 154 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. Key Italic words Transactions Italic words -> Italic words Menu path to follow Underlined 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! Creating a BPM Scenario in XI Author: Kevin Wilson Page 8 of 154 XI IS CRM ECC XI BPM Integration Process DEMO Order XI IS 1) MT_ORDER (DT_ORDER) Receiver Determination 2a) ORDERS (ORDERS05) Sales Order 2b) MI_BPM_TRIGGER MI_BPM_TRIGGER MT_BPM_TRIGGER (DT_BPM_TRIGGER) Sales Order Response Middleware Receiver Determination 3) ORDRSP (ORDERS05) Order Response 4a) MT_ORDERRESPONSE (DT_ORDERRESPONSE) 4b) MI_BPM_TRIGGER_MATCH MI_BPM_TRIGGER_MATCH MT_BPM_TRIGGER (DT_BPM_TRIGGER) DocNum S O A P F T P I D O C I D O C Email Client Order Response Faliure M A I L 4c) XI_MAIL
Figure 1: BPM Scenario Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 9 of 154 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
Figure 2: Integration Builder 3. Start System Landscape Directory 4. Click on Software Catalog Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 10 of 154 5. Click on New Product 6. Enter a vendor, name and version and Create 7. 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 Cache 2 .
Figure 4: Clear SLD Cache Data 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
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.
Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 11 of 154
Figure 5: Import Software Component Version 3. Select Demo component and click Import 4. Once its been successfully imported click exit 5. Double click your Software Component version DEMOCOMPONENT 6. Create a namespace (http://www.demo.com/xi) and Save
Figure 6: Create Namespace
Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 12 of 154 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 Message Interface (WSDL) Message Type (XSD) Data Type (XSD) Mapping Interface Mapping (Receiver Determination, Interface Determination, Sender agreement, Receiver agreement) Message Mapping
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! Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 13 of 154 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 an important step, if you do not see the messages defined here; there was a problem with the import. Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 14 of 154
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, 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: Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 15 of 154 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 132) 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 134)
Figure 12: Data Type - DT_ORDERRESPONSE Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 16 of 154 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 136)
Figure 13: Data Type - DT_BPM_TRIGGER 4. Save 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: Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 17 of 154 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 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 18 of 154
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
Figure 16: Message Type - MT_BPM_TRIGGER 4. Save Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 19 of 154 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 8 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 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. Right mouse click Message Interfaces -> New 2. Enter Name and Description -> Create 3. Select Outbound and Asynchronous 4. Select the Message type MT_ORDER by clicking 5. Your Message Interface should look like that shown in Figure 17 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 20 of 154
Figure 17: Message Interface - MI_ORDER 6. Save 2.4.2. MI_ORDERRESPONSE 1. Right mouse click Message Interfaces -> New 2. Enter Name and Description -> Create 3. Select Inbound and Asynchronous 4. Select the Message type MT_ORDERRESPONSE by clicking 5. Your Message Interface should look like that shown in Figure 18
Figure 18: Message Interface - MI_ORDERRESPONSE 6. Save 2.4.3. MI_BPM_TRIGGER 1. Right mouse click Message Interfaces -> New 2. Enter Name and Description -> Create Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 21 of 154 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 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 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 22 of 154 2.4.5. MI_EMAIL 1. Right mouse click Message Interfaces -> New 2. Enter Name and Description -> Create 3. Select Abstract and Asynchronous 4. Select the External Definition XI_MAIL - Mail by clicking 5. Expand External Definitions -> XI_MAIL 6. 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
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). Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 23 of 154 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 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 TypeError! Bookmark not defined. 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 24 of 154 2.6.1. MM_Order_to_ORDERS05 1. Open Mapping Objects 2. Right mouse click Message Mappings -> New 3. Enter Name and Description -> Create 4. 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 146 for the detailed mapping 7. Your mapping should look as follows:
Figure 24: Message Mapping - MM_Order_to_ORDERS05 8. Save 2.6.2. MM_Order_to_BPM_TRIGGER 1. Open Mapping Objects 2. Right mouse click Message Mappings -> New 3. Enter Name and Description -> Create 4. 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 147 for the detailed mapping Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 25 of 154 7. Your mapping should look as follows:
Figure 25: Message Mapping - MM_Order_to_BPM_TRIGGER 8. Save 2.6.3. MM_ORDERS05_to_OrderResponse 1. Open Mapping Objects 2. Right mouse click Message Mappings -> New 3. Enter Name and Description -> Create 4. 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 148 for the detailed mapping 7. Your mapping should look as follows: Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 26 of 154
Figure 26: Message Mapping - MM_ORDERS05_to_OrderResponse 8. Save 2.6.4. MM_ORDRSP_to_BPM_TRIGGER 1. Open Mapping Objects 2. Right mouse click Message Mappings -> New 3. Enter Name and Description -> Create 4. 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 149 for the detailed mapping 7. Your mapping should look as follows: Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 27 of 154
Figure 27: Message Mapping - MM_ORDRSP_to_BPM_TRIGGER 8. Save 2.6.5. MM_BPM_to_EMAIL 1. Open Mapping Objects 2. Right mouse click Message Mappings -> New 3. Enter Name and Description -> Create 4. 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 150 for the detailed mapping 7. Your mapping should look as follows: Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 28 of 154
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 o Target interface: MI_EMAIL Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 29 of 154 o Message mapping: MM_BPM_to_EMAIL 2.7.1. IM_Order_to_ORDERS05 1. Open Mapping Objects 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 ORDERS.ORDERS05 (Imported Objects -> IDocs) -> Apply 6. Save 7. The Message Type MT_ORDER and ORDERS.ORDERS05 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_ORDERS05 9. 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 2. Right mouse click Interface Mappings -> New Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 30 of 154 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. Open Mapping Objects 2. Right mouse click Interface Mappings -> New 3. Enter Name and Description -> Create 4. 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 7. The Message Type ORDRSP.ORDERS05 and MT_ORDERRESPONSE are displayed as the source and target message types respectively. Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 31 of 154 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. Open Mapping Objects 2. Right mouse click Interface Mappings -> New 3. Enter Name and Description -> Create 4. 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_BPM_TRIGGER_MATCH -> Apply 6. Save 7. The Message Type ORDRSP.ORDERS05 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_ORDRSP_to_BPM_TRIGGER 9. Your Interface Mapping should look as shown in Figure 32 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 32 of 154
Figure 32: Interface Mapping - IM_ORDRSP_to_BPM_TRIGGER_CATCH 10. Dont forget to Save! 2.7.5. IM_BPM_to_EMAIL 1. Open Mapping Objects 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_BPM_TRIGGER -> Apply 5. Click the button to choose a target interface and enter Message Interface MI_EMAIL -> Apply 6. Save 7. The Message Type MT_BPM_TRIGGER and Mail (From External Definition XI_MAIL) are displayed as the source and target message types respectively. 8. Click the button in the mapping program name to choose Message Map MM_BPM_to_EMAIL 9. Your Interface Mapping should look as shown in Figure 33 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 33 of 154
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 Receive_OrderResponse: Receive the Message Type MT_OrderResponse via Message Interface MI_ORDERRESPONSE Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 34 of 154 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. Open Integration Scenarios & Integration Processes 2. Right mouse click Actions -> New 3. Enter Name Send_Order and Description -> Create 4. 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 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 8. Save Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 35 of 154 2.8.1.2. Receive_Order 1. Open Integration Scenarios & Integration Processes 2. Right mouse click Actions -> New 3. Enter Name Receive_Order and Description -> Create 4. Enter type of Usage: External 5. 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:sap- com: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. Open Integration Scenarios & Integration Processes 2. Right mouse click Actions -> New 3. Enter Name Receive_BPM_TRIGGER and Description -> Create 4. Enter type of Usage: External 5. Since this action represents an inbound interface, click the icon under the Inbound Interfaces tab Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 36 of 154 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. Open Integration Scenarios & Integration Processes 2. Right mouse click Actions -> New 3. Enter Name Send_OrderResponse and Description -> Create 4. 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:sap- com:document:sap:idoc:messages) are entered 7. Your action will look as shown in Figure 37 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 37 of 154
Figure 37: Action - Send_OrderResponse 8. Save 2.8.1.5. Receive_OrderResponse 1. Open Integration Scenarios & Integration Processes 2. Right mouse click Actions -> New 3. Enter Name Receive_OrderResponse and Description -> Create 4. Enter type of Usage: External 5. 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 38 of 154
Figure 38: Action - Receive_OrderResponse 8. Save 2.8.1.6. Receive_BPM_TRIGGER_MATCH 1. Open Integration Scenarios & Integration Processes 2. Right mouse click Actions -> New 3. Enter Name Receive_BPM_TRIGGER_MATCH and Description -> Create 4. Enter type of Usage: External 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_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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 39 of 154
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. Open Integration Scenarios & Integration Processes 2. Right mouse click Actions -> New 3. Enter Name IS_Orders and Description -> Create 4. Right mouse click the first swim lane on the left and Insert Application Component Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 40 of 154
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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 41 of 154
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 16. Click Apply 17. Right mouse click the third swim lane and Insert Application Component Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 42 of 154 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 43 of 154
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 2 nd 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 3 rd 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). Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 44 of 154
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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 45 of 154
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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 46 of 154
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 47, 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 47 of 154
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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 48 of 154 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. Open Integration Scenarios & Integration Processes 2. Right mouse click Integration Processes -> New 3. Enter Name IP_Orders and Description -> Create 4. First thing to do is to add our required container elements Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 49 of 154 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. Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 50 of 154 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 51 of 154
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 and Graphical Definition as shown in Figure 66 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 52 of 154
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. In the Properties window 3. Change the step name to Assign DocNum 4. Click on the Target field and select Radio Button Simple Variable 5. Choose variable DocNum as shown in Figure 70
Figure 70: Integration Process - Select variable from container Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 53 of 154 6. Choose Assign as the operation 7. Click on the Expression field and select Radio Button Interface Variable 8. Select XPath radio button 9. 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 3. In the Properties window Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 54 of 154 4. Give the block a descriptive name Block Receive with Deadline 5. Leave mode as default 6. 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 8. Select Hours as the Unit Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 55 of 154
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 centre of the block created in the step before as shown in Figure 77
Figure 77: Integration Process - Add Control step 2. Select the control step 3. In the Properties window 4. Change the step name to something meaningful like Deadline Reached 5. Select Throw Alert from the dropdown for the Action 6. Type in TESTALERT, as configured in 2.10.1. TESTALERT on page 63 7. 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 52 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 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 56 of 154
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 32 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 53 8. For the source message, from the dropdown ( ), select the Orders Interface Variable as shown in Figure 80
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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 57 of 154
Figure 82: Integration Process - Add Send step 2. Select the send step 3. In the Properties window 4. Change the step name to something meaningful like SendAlertEMail 5. Leave Mode as Asynchronous 6. 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 53 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 2. Select the control step 3. In the Properties window Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 58 of 154 4. Change the step name to something meaningful like TimeOut 5. Select Throw Exception from the dropdown box on field Action 6. Select TimeOut from the dropdown box on field Exception. This exception was defined against the block defined in STEP 4 Create Block on page 53 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. Select the Exception block that was created 3. In the Properties window 4. Select SystemError from the dropdown for field Exception Handler 5. Your exception block and properties should look like Figure 88
Figure 88: Integration Process - System error exception Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 59 of 154 STEP 6a Create System Error alert in exception branch 1. Drag the control step icon to the centre 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. Select the control step 3. In the Properties window 4. Change the step name to something meaningful like Alert System Error 5. Select Throw Alert from the dropdown for the Action 6. Type in TESTALERT1, as configured in 2.10.2. TESTALERT1 on page 64 7. 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 52 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 5. Select CancelProcess from the dropdown for the Action Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 60 of 154 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. Select the Exception block that was created 3. In the Properties window 4. Select TimeOut from the dropdown for field Exception Handler 5. 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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 61 of 154
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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 62 of 154
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
Figure 98: Runtime Workbench Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 63 of 154 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
Figure 101: TESTALERT added Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 64 of 154 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 55 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 2 nd 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
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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 65 of 154 variables to the alert in the BPM process as shown in STEP 6a Create System Error alert in exception branch on page 59. 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. Double click TESTALERT 2. Click the Fixed Recipients Button 3. If you are not in change mode then click the Display / Change button 4. Click the New Entries button 5. Type in your user id and save
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 Creating a BPM Scenario in XI Phase 2 Integration Builder Design Page 66 of 154 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
Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 67 of 154 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 33 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 68 of 154 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 69 of 154
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 70 of 154
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 to add a line to the Inbound Interfaces
4. Click 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 71 of 154
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 to add a line to the Inbound Interfaces
4. Click to choose Message Interface MI_EMAIL-> OK
5. Save Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 72 of 154 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 76. 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 73 of 154
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 74 of 154 f. File Name Scheme: xi_kevin.dat g. File Construction Mode: Add Message ID h. Write Mode: Directly i. File Type: Binary j. 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 75 of 154 b. Transport Protocol: SMTP c. Message Protocol: XIPAYLOAD d. Adapter Engine: Integration Server e. URL: smtp://smtp.<server>.com f. Use Mail Package: Check checkbox g. Content Encoding: base64
Figure 113: Mail Adapter Settings Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 76 of 154 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 77 of 154 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. Enter Service Type: Business Service 2. Service: DEMO 3. Interface: MI_ORDER 4. Namespace: http://www.demo.com/XI 5. Adapter Type: Select SOAP
Figure 115: Inbound Message - Specify Sender Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 78 of 154 6. Click continue STEP 2 Outgoing Message 1. Enter Service Type: Business System 2. Service: SAPCRM 3. Interface: ORDERS.ORDERS05 4. Namespace: urn:sap-com:document:sap:idoc:messages 5. 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 72 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 79 of 154
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 80 of 154 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 81 of 154 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 scenario Order_OrderResponse_Demo
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 82 of 154
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 83 of 154 4. Click Internal Communication radio button and Create STEP 1 Incoming Message 1. Enter Service Type: Business Service 2. Service: DEMO 3. Interface: MI_ORDER 4. Namespace: http://www.demo.com/XI 5. Adapter Type: Select SOAP
Figure 124: Inbound Message - Specify Sender 6. Click continue STEP 2 Outgoing Message 1. Enter Service Type: Integration Process 2. Service: IP_ORDERS 3. Integration Process: IP_Orders 4. Interface: MI_BPM_TRIGGER 5. Namespace: http://www.demo.com/XI 6. Adapter Type: Select XI Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 84 of 154
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 78
Figure 126: Sender Agreement - DEMO : MI_ORDER 2. Continue Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 85 of 154 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 86 of 154 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 scenario Order_OrderResponse_Demo Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 87 of 154
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 88 of 154 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. Enter Service Type: Business System 2. Service: SAPECC 3. Interface: ORDRSP.ORDERS05 4. Namespace: urn:sap-com:document:sap:idoc:messages 5. Adapter Type: Select IDoc Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 89 of 154
Figure 133: Inbound Message - Specify Sender 6. Click continue STEP 2 Outgoing Message 1. Enter Service Type: Business Service 2. Service: DEMO 3. Interface: MI_ORDERRESPONSE 4. Namespace: http://www.demo.com/XI 5. Adapter Type: Select File Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 90 of 154
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 78
Figure 135: Sender Agreement 2. Continue Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 91 of 154 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 92 of 154 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 scenario Order_OrderResponse_Demo Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 93 of 154
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 94 of 154 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. Enter Service Type: Business System 2. Service: SAPECC 3. Interface: ORDRSP.ORDERS05 4. Namespace: urn:sap-com:document:sap:idoc:messages 5. Adapter Type: Select IDoc Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 95 of 154
Figure 142: Inbound Message - Specify Sender 6. Click continue STEP 2 Outgoing Message 1. Enter Service Type: Integration Process 2. Service: IP_ORDERS 3. Integration Process: IP_Orders 4. Interface: MI_BPM_TRIGGER_MATCH 5. Namespace: http://www.demo.com/XI 6. Adapter Type: Select XI Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 96 of 154
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 78
Figure 144: Sender Agreement 3. Continue Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 97 of 154 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 98 of 154
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 99 of 154 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 scenario Order_OrderResponse_Demo
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
Figure 149: Configuration Wizard Log Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 100 of 154 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 STEP 1 Incoming Message 1. Enter Service Type: Integration Process 2. Service: IP_ORDERS 3. Integration Process: IP_Orders 4. Interface: MI_EMAIL 5. Namespace: http://www.demo.com/XI 6. Adapter Type: Select XI Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 101 of 154
Figure 151: Inbound Message - Specify Sender 7. Click continue STEP 2 Outgoing Message 1. Enter Service Type: Business Service 2. Service: MAIL_SERVICE 3. Interface: MI_EMAIL 4. Namespace: http://www.demo.com/XI 5. Adapter Type: Select Mail Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 102 of 154
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 78
Figure 153: Sender Agreement 2. Continue Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 103 of 154 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 104 of 154
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 105 of 154 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 scenario Order_OrderResponse_Demo
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 106 of 154
Figure 158: Configuration Wizard Log Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 107 of 154 3.6. Receiver Determination 3.6.1. DEMO : MI_ORDER
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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 113 of 154
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?channel= <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/MessageServlet? 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 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 114 of 154 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 175: Specify the sender 11. Click Continue 12. The summary of the web service definition is displayed as shown in Figure 176 Creating a BPM Scenario in XI Phase 3 Integration Builder Configuration Page 115 of 154
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!!! Creating a BPM Scenario in XI Phase 4 SAP Configuration Page 116 of 154 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 76. 4. Your port definition should look something like that shown in Figure 178
Figure 178: Maintain port in IDoc adapter - SAPCRM Creating a BPM Scenario in XI Phase 4 SAP Configuration Page 117 of 154 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 IDocError! Bookmark not defined. 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
Creating a BPM Scenario in XI Phase 5 Testing Page 118 of 154 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 29 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 29 3. Click the Test tab 4. Enter values for the elements as shown in Figure 181
Figure 181: Creating a test instance 5. Click the source icon and copy the XML payload (shown below) Creating a BPM Scenario in XI Phase 5 Testing Page 119 of 154 <?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 118, into the payload text area as show in Figure 183 Creating a BPM Scenario in XI Phase 5 Testing Page 120 of 154
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 112 3. Click F8 to validate the file Creating a BPM Scenario in XI Phase 5 Testing Page 121 of 154 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 14. Enter the values we have used to test before as described in 5.1.1. Create a sample XML payload on page 118. See Figure 188 for the entered data Creating a BPM Scenario in XI Phase 5 Testing Page 122 of 154
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 3 rd 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. 5.3.1. View Integration Server View message and details on the Integration Server 1. Start the Runtime Workbench Creating a BPM Scenario in XI Phase 5 Testing Page 123 of 154 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
1. Start the Runtime Workbench 2. Click Message Monitoring 3. Select Integration Server <SYSID> and click the Display button 4. Click Start to view messages in the last hour Creating a BPM Scenario in XI Phase 5 Testing Page 124 of 154
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
Creating a BPM Scenario in XI Glossary Page 125 of 154 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 SWI 1 to view the applicable workflow log
2. And if there was a deadline forced Creating a BPM Scenario in XI Glossary Page 126 of 154
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!
Creating a BPM Scenario in XI Glossary Page 127 of 154 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 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) Creating a BPM Scenario in XI Glossary Page 128 of 154 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 a 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 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 Creating a BPM Scenario in XI Glossary Page 129 of 154 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 enditor 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 **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 Creating a BPM Scenario in XI Glossary Page 130 of 154 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 software components need to 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. Creating a BPM Scenario in XI Glossary Page 131 of 154 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, text-based 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 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. Creating a BPM Scenario in XI Appendix A Data Types Page 132 of 154 APPENDIX A. Abbreviations Used Abbreviation Description BPM Business Process Management BPE Business Process Engine CRM Customer Relationship Management DT Data Type ECC ERP Central Component Part of the ERP solution ERP Enterprise Resource Planning IDoc Intermediate Document IS Integration Server IM Interface Mapping IP Integration Process IS Integration Scenario MI Message Interface MM Message Mapping MT Message Type RWB Runtime Work Bench SLD System Landscape Directory SOAP Simple Object Access Protocol XI Exchange Infrastructure XML Extensible Markup Language
XSD XML Schema Definition. WSDL Web Services Description Language XSLT Extensible Style Language Transformation Creating a BPM Scenario in XI Appendix A Data Types Page 133 of 154 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"> Creating a BPM Scenario in XI Appendix A Data Types Page 134 of 154 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> Creating a BPM Scenario in XI Appendix A Data Types Page 135 of 154 <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> Creating a BPM Scenario in XI Appendix A Data Types Page 136 of 154 </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> Creating a BPM Scenario in XI Appendix A Data Types Page 137 of 154 <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> Creating a BPM Scenario in XI Appendix A Data Types Page 138 of 154 <xsd:documentation xml:lang="EN"> Variable 4 </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:schema> Creating a BPM Scenario in XI Appendix B WSDL Files Page 139 of 154 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> Creating a BPM Scenario in XI Appendix B WSDL Files Page 140 of 154 <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> </wsdl:binding> Creating a BPM Scenario in XI Appendix B WSDL Files Page 141 of 154 <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 &version=3.0&Sender.Service=DEMO&Interface=http%3A%2F%2Fwww.demo.com%2FXI%5EMI_ORDER" /> </wsdl:port> </wsdl:service> </wsdl:definitions> Creating a BPM Scenario in XI Appendix C XIMAIL30.XSD File Page 142 of 154 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> Creating a BPM Scenario in XI Appendix C XIMAIL30.XSD File Page 143 of 154 <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"> Creating a BPM Scenario in XI Appendix C XIMAIL30.XSD File Page 144 of 154 <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> Creating a BPM Scenario in XI Appendix C XIMAIL30.XSD File Page 145 of 154 </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> Creating a BPM Scenario in XI Appendix D Message Mappings Page 146 of 154 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) Creating a BPM Scenario in XI Appendix D Message Mappings Page 147 of 154 /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. Creating a BPM Scenario in XI Appendix D Message Mappings Page 148 of 154 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) Creating a BPM Scenario in XI Appendix D Message Mappings Page 149 of 154 /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=)
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=) Creating a BPM Scenario in XI Appendix D Message Mappings Page 150 of 154
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=)