• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A Step by Step Guide Creating a BPM Scenario in SAP Exchange Infrastructure 3.0
 

A Step by Step Guide Creating a BPM Scenario in SAP Exchange Infrastructure 3.0

on

  • 1,724 views

An oldie but a goodie... A complete step by step guide on how to create an end-to-end BPM process in XI

An oldie but a goodie... A complete step by step guide on how to create an end-to-end BPM process in XI

Statistics

Views

Total Views
1,724
Views on SlideShare
1,724
Embed Views
0

Actions

Likes
0
Downloads
68
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A Step by Step Guide Creating a BPM Scenario in SAP Exchange Infrastructure 3.0 A Step by Step Guide Creating a BPM Scenario in SAP Exchange Infrastructure 3.0 Document Transcript

    • Table of Contents Page 1 of 154A Step by Step guide: Creating a BPM Scenarioin SAP Exchange Infrastructure 3.0Kevin WilsonAlistair RooneyXI ISCRMECCXI BPMIntegration ProcessDEMOOrderXI IS1) MT_ORDER(DT_ORDER)Receiver Determination2a) ORDERS(ORDERS05)Sales Order2b) MI_BPM_TRIGGERMI_BPM_TRIGGERMT_BPM_TRIGGER(DT_BPM_TRIGGER)Sales OrderResponseMiddlewareReceiver Determination3) ORDRSP(ORDERS05)Order Response4a) MT_ORDERRESPONSE(DT_ORDERRESPONSE)4b) MI_BPM_TRIGGER_MATCHMI_BPM_TRIGGER_MATCHMT_BPM_TRIGGER(DT_BPM_TRIGGER)DocNumSOAPFTPIDOCIDOCEmail ClientOrder ResponseFailureMAIL4c) XI_MAIL
    • Table of Contents Page 2 of 154Table of ContentsINTRODUCTION 6Background ............................................................................................................................... 6How to use this book ................................................................................................................ 7The Scenario.............................................................................................................................. 7PHASE 1 : SYSTEM CONFIGURATION 91.1. Software Component ................................................................................................... 91.2. Clear SLD Cache .............................................................................................................. 101.3. Import Software Component........................................................................................... 10PHASE 2 : INTEGRATION BUILDER DESIGN 122.1. External Definitions ......................................................................................................... 122.1.1. XI_MAIL ..............................................................................................................................132.2. Data Types ........................................................................................................................ 142.2.1. DT_ORDERS........................................................................................................................152.2.2. DT_ORDERRESPONSE ......................................................................................................152.2.3. DT_BPM_TRIGGER............................................................................................................162.3. Message Types................................................................................................................. 162.3.1. MT_ORDER .........................................................................................................................172.3.2. MT_ORDERRESPONSE .....................................................................................................172.3.3. MT_BPM_TRIGGER ...........................................................................................................182.4. Message Interfaces .......................................................................................................... 192.4.1. MI_ORDER ..........................................................................................................................192.4.2. MI_ORDERRESPONSE ......................................................................................................202.4.3. MI_BPM_TRIGGER ............................................................................................................202.4.4. MI_BPM_TRIGGER_MATCH............................................................................................212.4.5. MI_EMAIL ...........................................................................................................................222.5. Import IDoc Type.............................................................................................................. 222.5.1. ORDERS.ORDERS05 and ORDRSP.ORDERS05...............................................................232.6. Message Mapping ............................................................................................................ 232.6.1. MM_Order_to_ORDERS05..................................................................................................242.6.2. MM_Order_to_BPM_TRIGGER..........................................................................................24
    • Table of Contents Page 3 of 1542.6.3. MM_ORDERS05_to_OrderResponse ..................................................................................252.6.4. MM_ORDRSP_to_BPM_TRIGGER ...................................................................................262.6.5. MM_BPM_to_EMAIL..........................................................................................................272.7. Interface Mapping ............................................................................................................ 282.7.1. IM_Order_to_ORDERS05....................................................................................................292.7.2. IM_Order_to_BPM_TRIGGER............................................................................................292.7.3. IM_ORDRSP_to_OrderResponse.........................................................................................302.7.4. IM_ORDRSP_to_BPM_TRIGGER_CATCH ......................................................................312.7.5. IM_BPM_to_EMAIL............................................................................................................322.8. Integration Scenario ........................................................................................................ 332.8.1. Actions ..................................................................................................................................332.8.2. Integration Scenario ..............................................................................................................392.9. Integration Process.......................................................................................................... 472.9.1. IP_Orders ..............................................................................................................................482.10. Create Alert Category .................................................................................................... 622.10.1. TESTALERT ......................................................................................................................632.10.2. TESTALERT1 ....................................................................................................................642.10.3. Assign Users / Roles to Alert Categories ............................................................................652.10.4. Update Alert Categories......................................................................................................65PHASE 3 : INTEGRATION BUILDER CONFIGURATION 673.1. Create Configuration Scenario ....................................................................................... 673.1.1. Order_OrderResponse_Demo ...............................................................................................673.2. Create Integration Process Service ............................................................................... 683.2.1. IP_ORDERS .........................................................................................................................683.3. Create Services without Party ........................................................................................ 703.3.1. Business Service: DEMO......................................................................................................703.3.2. Business Service: MAIL_SERVICE.....................................................................................713.3.3. Business System: SAPCRM..................................................................................................723.3.4. Business System: SAPECC...................................................................................................723.4. Create Communication Channels .................................................................................. 723.4.1. CC_DEMO_SOAP_SENDER ..............................................................................................723.4.2. CC_DEMO_FILE_RECEIVER............................................................................................733.4.3. CC_EMAIL...........................................................................................................................743.4.4. GeneratedReceiverChannel_IDoc .........................................................................................763.5. Use Wizard to set up Determination and Agreements ................................................. 763.5.1. Orders interface between DEMO and CRM..........................................................................763.5.2. Orders interface between DEMO and BPE ...........................................................................823.5.3. Order Response interface between ECC and DEMO ............................................................883.5.4. Order Response interface between ECC and BPE ................................................................94
    • Table of Contents Page 4 of 1543.5.5. Email interface between BPE and Email Service................................................................1003.6. Receiver Determination................................................................................................. 1073.6.1. DEMO : MI_ORDER..........................................................................................................1073.6.2. IP_ORDERS : MI_EMAIL.................................................................................................1073.6.3. SAPECC : ORDRSP.ORDERS05 ......................................................................................1083.7. Interface Determination................................................................................................. 1083.7.1. DEMO : MI_ORDER : SAPCRM ......................................................................................1083.7.2. DEMO : MI_ORDER : IP_ORDERS .................................................................................1093.7.3. SAPECC : ORDRSP.ORDERS05 : DEMO........................................................................1093.7.4. SAPECC : ORDRSP.ORDERS05 : IP_ORDERS ..............................................................1103.7.5. IP_ORDERS : MI_EMAIL : MAIL_SERVICE .................................................................1103.8. Sender Agreements ....................................................................................................... 1113.8.1. DEMO:MI_ORDER............................................................................................................1113.9. Receiver Agreements .................................................................................................... 1113.9.1. DEMO : SAPCRM : ORDERS.ORDERS05 ......................................................................1113.9.2. SAPECC : DEMO : ORDERRESPONSE ..........................................................................1123.9.3. IP_ORDERS : MAIL_SERVICE : MI_EMAIL .................................................................1123.10. Create and Publish Web Service ................................................................................ 112PHASE 4 : SAP CONFIGURATION 1164.1. Maintain Port in IDoc adapter ....................................................................................... 1164.1.1. SAPCRM ............................................................................................................................1164.2. Maintain Metadata Overview for IDoc adapter ............................................................ 1174.2.1. ORDERS05.........................................................................................................................117PHASE 5 : TESTING 1185.1. Testing the interface in XI ............................................................................................. 1185.1.1. Create a sample XML payload............................................................................................1185.1.2. Launch the test tool .............................................................................................................1195.2 Testing the web service using XML SPY...................................................................... 1205.3. Runtime workbench....................................................................................................... 1225.3.1. View Integration Server ......................................................................................................1225.3.2. View Integration Engine .....................................................................................................1235.3.3. View Adapter Engine ..........................................................................................................1245.3.4. View alert inbox..................................................................................................................1255.3.5. Workflow Log.....................................................................................................................1255.3.6. Verify email ........................................................................................................................126
    • Table of Contents Page 5 of 154GLOSSARY 127APPENDIX A. ABBREVIATIONS USED 132APPENDIX B. DATA TYPES 133XSD – DT_ORDERS............................................................................................................... 133XSD – DT_ORDERRESPONSE............................................................................................. 134XSD – DT_BPM_TRIGGER.................................................................................................... 136APPENDIX C. WSDL FILES 139MI_ORDER.WSDL.................................................................................................................. 139APPENDIX D. EXTERNAL FILES 142XIMAIL30.XSD File for Mail adapter .................................................................................... 142APPENDIX E. MESSAGE MAPPINGS 146MM_Order_to_ORDERS05.................................................................................................... 146MM_Order_to_BPM_TRIGGER............................................................................................. 147MM_ORDERS05_to_OrderResponse .................................................................................. 148MM_ORDRSP_to_BPM_TRIGGER....................................................................................... 149MM_ BPM_to_EMAIL............................................................................................................. 150INDEX 151
    • Creating a BPM Scenario in XIIntroduction Page 6 of 154IntroductionBackgroundExchange Infrastructure has grown out of the enormously disparate world of – and I usethis in its most general sense – Electronic Data Interchange. Exchange Infrastructure 3.0brings together a lot of technologies. Some of these technologies are open standards thathave been embraced over the years and have become the de facto standard. These areXML and its cousins SOAP, WSDL, XPATH, XSLT and so on. Other technologies areproprietary to SAP AG, like IDOCS, ALE, ABAP Objects and even certain class librariesused by Java.One of the most interesting developments in recent years has been the emergence ofgraphical mapping to chart out an organization’s business processes. One of the leaders inthis has been the ARIS product. SAP and IDS Scheer1have teamed up to bring usBusiness 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 phasesrequired: System configuration Integration Builder Design Integration Builder Configuration SAP Configuration TestingIt does not try to describe all the functionality that you will encounter in XI and the BPMmodule. After all BPM is larger than just XI and conversely XI is more than just BPM! Itdoes not attempt to provide you with a production solution for the scenario provided. Thescenario is made up to incorporate as many aspects of XI messaging and BPM as isfeasible.A note abote authorization: The tasks in the system configuration phase will take a higerlevel of authorization then the remaining 4 phases. The tasks in the first phase willrequire the role of SAP_XI_ADMINISTRATOR. The remaining for phases can beperformed by a user with the role of SAP_XI_DEVELOPER.1IDS Scheer are the developers of the ARIS product
    • Creating a BPM Scenario in XIAuthor: Kevin Wilson Page 7 of 154How to use this bookThe book is written in such a way as to be a step by step quick guide to implementing thegiven scenario. It details, as far as possible, every step that is required in order to deliverthe 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.KeyItalic words TransactionsItalic words -> Italic words Menu path to followUnderlined Indicates a Tab on a screenAll figures are labeled with a number. If that figure is referenced in the text then it isreference with this number. For your convenience a table of figures is listed after thetable of contents.The ScenarioAn external system (DEMO) sends an XML representation of an order through to XI. Wewant to transform this order in to a small BPM message destined for the BPM engine andalso 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 ECCsystem, via middleware. The sales order in ECC then generates an ORDRSP IDoc whichis then sent to XI. This ORDRSP IDoc is then transformed in to a small BPM messagethat is correlated with the ORDERS BPM message sent earlier. It is also transformed into an order response XML message which is sent through the FTP Adapter to a specificfile on the Integration server. The BPM also has timeout and exception handlingcapabilities using the alert framework as well as the email adapter.Don’t Panic – this all seems rather daunting at this point but the diagram in Figure 1 willsimplify our task considerably!
    • Creating a BPM Scenario in XIAuthor: Kevin Wilson Page 8 of 154XI ISCRMECCXI BPMIntegration ProcessDEMOOrderXI IS1) MT_ORDER(DT_ORDER)Receiver Determination2a) ORDERS(ORDERS05)Sales Order2b) MI_BPM_TRIGGERMI_BPM_TRIGGERMT_BPM_TRIGGER(DT_BPM_TRIGGER)Sales OrderResponseMiddlewareReceiver Determination3) ORDRSP(ORDERS05)Order Response4a) MT_ORDERRESPONSE(DT_ORDERRESPONSE)4b) MI_BPM_TRIGGER_MATCHMI_BPM_TRIGGER_MATCHMT_BPM_TRIGGER(DT_BPM_TRIGGER)DocNumSOAPFTPIDOCIDOCEmail ClientOrder ResponseFaliureMAIL4c) XI_MAILFigure 1: BPM Scenario
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 9 of 154PHASE 1 : SYSTEM CONFIGURATIONWe 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 emailaddress The XI system housing the interfaces, the BPM scenario and the adapterframeworkWe’ll go through configuring the Demo system as a Software Component. Furthermorewe will assume that the CRM and ECC business systems have been set up and importedin to the Integration Directory. We’ll be covering the adding of the communicationchannels (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 ComponentSo, let’s get going with our first task. We need to configure the DEMO system if it’s not apart of the business landscape. In our case we need to create DEMOCOMPONENT as aSoftware Component in the SLD. Most SAP shops do not allow just anyone into theSLD. This task is usually performed by a development lead or basis. You will need theSAP_XI_ADMINISTRATOR or SAP_XI_CONTENT ORGANIZER role to perform theSLD tasks. You may need to have basis set this up for you.1. Log in to the XI server2. Run transaction SXMB_IFR to start the Integration BuilderFigure 2: Integration Builder3. Start System Landscape Directory4. Click on Software Catalog
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 10 of 1545. Click on New Product6. Enter a vendor, name and version and Create7. Now you need to add a Software Component. Enter Vendor, name (SoftwareComponent name), version and Create8. Your Software Component should look like that shown in Figure 3Figure 3: Software Component Version1.2. Clear SLD Cache1. Fire up the Integration Directory (CONFIGURATION)2. Clear the cache using the menu option as shown in Figure 4: Environment ->Clear SLD Data Cache2.Figure 4: Clear SLD Cache Data1.3. Import Software Component1. Start the Integration Repository2. Import your Software Component. From the menu choose Tools -> Transfer fromSystem Landscape Directory -> Import Software Component Versions2The 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, itwould slow the whole process down considerably. The obvious solution was to provide a cachethat holds the SLD information within the Integration Builder. Unfortunately this means that whenwe make a change to the SLD – our changes will not be picked up by the Integration Builder. Forthis reason we always clear the SLD cache and reload the SLD Software Components.
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 11 of 154Figure 5: Import Software Component Version3. Select Demo component and click Import4. Once it’s been successfully imported click exit5. Double click your Software Component version DEMOCOMPONENT6. Create a namespace (http://www.demo.com/xi) and SaveFigure 6: Create Namespace
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 12 of 154PHASE 2 : INTEGRATION BUILDER DESIGNIn order to map an interface we need certain elements to be defined. We define theseelements in the integration repository. These elements include: Data Type Message Type Message interface Message Mapping Mapping InterfaceInterfaceMessage Interface(WSDL)Message Type(XSD)Data Type(XSD)MappingInterface Mapping(Receiver Determination,Interface Determination,Sender agreement,Receiver agreement)Message MappingFigure 7: XI Interface ProcessThese elements will then be used in the XI configuration phase to assemble the requiredinterface.2.1. External DefinitionsThe email XSD provided by SAP needs to be uploaded as an external definition. Thiswill save us a huge amount of work since we now have a preformatted structure to use inour interface. This is just one of the cool new features with XI 3.0!
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 13 of 1542.1.1. XI_MAIL1. Open up your applicable namespace under the DEMCOMPONENT softwarecomponent2. Open Interface Objects3. Right click External Definitions -> New4. Enter Name (XI_MAIL) and Description -> Create5. Change category to XSDFigure 8: External Definition Category6. 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 9Figure 9: External Definition - Mail Message Definition9. Check that your External Definition has 3 messages associated with it as shown inFigure 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 XIPhase 2 – Integration Builder Design Page 14 of 154Figure 10: External Definition - Mail MessagesNaming ConventionsAt this point I’d like a quick word, if you don’t mind. It’s important that we emphasize theimportance of Naming Conventions here. As you have probably noticed, Data Types have aprefix of DT, Message Types have a prefix of MT, Message Interfaces have MI and so on. This isnot the whole picture, however. You may want to qualify the interfaces further by using a suffix ofOUT for outbound (Remember this is outbound from the server – never from XI) and IN forinbound. Trust us, (We’re professionals), defining your standards up front will take away hours offrustration later.2.2. Data TypesNow that we have our mail structure, we need to create 3 new data types (It may be agood idea to read the sidebar on “Naming Conventions” first): DT_ORDER: The XML definition of the order message being sent in from thedemo vendor using the SOAP protocol DT_ORDERRESPONSE: The XML definition of the order response messagebeing save to an FTP drive DT_BPM_TRIGGER: A small XML message that we will use to send throughthe BPM process. Whenever possible, it’s best not to send large files through theBPM process. Both the ORDERS and ORDERRESPONSE messages will create amessage of this type which will be correlated with each otherLet’s have a look at each of these Data Types in more detail:
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 15 of 1542.2.1. DT_ORDERS1. Right click data types -> New2. Enter Name and Description -> Create3. Complete the definition as shown in Figure 11 (See the XSD definition inAPPENDIX A on page 132) and yes, if you’re feeling lazy, you could just importthis – but keying it in will give you a better understanding of the whole process!Figure 11: Data Type - DT_ORDERS4. Save2.2.2. DT_ORDERRESPONSE1. Right click data types -> New2. Enter Name and Description -> Create3. Complete the definition as shown in Figure 12 (See the XSD definition inAPPENDIX A on page 134)Figure 12: Data Type - DT_ORDERRESPONSE
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 16 of 1544. Save2.2.3. DT_BPM_TRIGGER1. Right click data types -> New2. Enter Name and Description -> Create3. Complete the definition as shown in Figure 13 (See the XSD definition inAPPENDIX A on page 136)Figure 13: Data Type - DT_BPM_TRIGGER4. Save2.3. Message TypesNow that we have the data types we need to build the next “layer” up by creating 3message types: MT_ORDER: Linked to Data type DT_ORDER and used in Message InterfaceMI_ORDER MT_ORDERRESPONSE: Linked to Data type DT_ORDERRESPONSE andused in Message Interface MI_ORDERRESPONSE MT_BPM_TRIGGER: Linked to Data type DT_BPM_TRIGGER and used inMessage Interfaces MI_BPM_TRIGGER (Orders) andMI_BPM_TRIGGER_MATCH (Order Response)Let’s have a look at each of these in more detail:
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 17 of 1542.3.1. MT_ORDER1. Right mouse click Message Types -> New2. Enter Name and Description -> Create3. Select the data type DT_ORDER by clickingFigure 14: Message Type - MT_ORDER4. Save2.3.2. MT_ORDERRESPONSE1. Right mouse click Message Types -> New2. Enter Name and Description -> Create3. Select the data type DT_ORDERRESPONSE by clicking
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 18 of 154Figure 15: Message Type - MT_ORDERRESPONSE4. Save2.3.3. MT_BPM_TRIGGER1. Right mouse click Message Types -> New2. Enter Name and Description -> Create3. Select the data type DT_BPM_TRIGGER by clickingFigure 16: Message Type - MT_BPM_TRIGGER4. Save
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 19 of 1542.4. Message InterfacesRight! Take a coffee break here if you need one. The next “layer” is the MessageInterface layer. We need to create 5 Message Interfaces. Go back to the diagram inFigure 1 on page 8 to refresh your memory: MI_ORDER: Outbound asynchronous interface of type MT_ORDER. Thisinterface will be configured with 2 receivers. 1 being the CRM system receivingthe ORDERS IDoc using the IDoc adapter and the second being the Integrationprocess for the message interface MI_BPM_TRIGGER. We’ll also configure aSender Agreement for this message interface for the SOAP call using the SOAPadapter MI_ORDERRESPONSE: Inbound asynchronous interface of typeMT_ORDERRESPONSE. This will be configured between the ECC and DEMOsystem. The DEMO system will receive the Order Response via the FILE adapter MI_EMAIL: Abstract asynchronous interface of External Definition typeXI_MAIL (Configured in 2.1.1. XI_MAIL) MI_BPM_TRIGGER: Abstract asynchronous interface of typeMT_BPM_TRIGGER. This will serve as the interface for the ORDER messagegetting to the BPM engine. It will be correlated with theMI_BPM_TRIGGER_MATCH using the DocNum field MI_BPM_TRIGGER_MATCH: Abstract asynchronous interface of typeMT_BPM_TRIGGER. This will serve as the interface for theORDERRESPONSE message getting to the BPM engine. It will be correlatedwith the MI_BPM_TRIGGER using the DocNum field. This is the terminatingportion of the BPM process2.4.1. MI_ORDER1. Right mouse click Message Interfaces -> New2. Enter Name and Description -> Create3. Select Outbound and Asynchronous4. Select the Message type MT_ORDER by clicking5. Your Message Interface should look like that shown in Figure 17
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 20 of 154Figure 17: Message Interface - MI_ORDER6. Save2.4.2. MI_ORDERRESPONSE1. Right mouse click Message Interfaces -> New2. Enter Name and Description -> Create3. Select Inbound and Asynchronous4. Select the Message type MT_ORDERRESPONSE by clicking5. Your Message Interface should look like that shown in Figure 18Figure 18: Message Interface - MI_ORDERRESPONSE6. Save2.4.3. MI_BPM_TRIGGER1. Right mouse click Message Interfaces -> New2. Enter Name and Description -> Create
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 21 of 1543. Select Abstract and Asynchronous4. Select the Message type MT_BPM_TRIGGER by clicking5. Your Message Interface should look like that shown in Figure 19Figure 19: Message Interface - MI_BPM_TRIGGER6. Save2.4.4. MI_BPM_TRIGGER_MATCH1. Right mouse click Message Interfaces -> New2. Enter Name and Description -> Create3. Select Abstract and Asynchronous4. Select the Message type MT_BPM_TRIGGER by clicking5. Your Message Interface should look like that shown in Figure 20Figure 20: Message Interface - MI_BPM_TRIGGER_MATCH6. Save
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 22 of 1542.4.5. MI_EMAIL1. Right mouse click Message Interfaces -> New2. Enter Name and Description -> Create3. Select Abstract and Asynchronous4. Select the External Definition XI_MAIL - Mail by clicking5. Expand External Definitions -> XI_MAIL6. Select Mail as shown in Figure 21Figure 21: Message Interface - Select Mail Message7. Your Message Interface should look like that shown in Figure 22Figure 22: Message Interface - MI_EMAIL8. Save2.5. Import IDoc TypeOnly perform this step if you do not already have access to the applicable IDoc messagetype in one of the Software Components. You should see it there if you do! We willimport the IDoc types to the DEMO component. (Have a look at Figure 23).
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 23 of 1542.5.1. ORDERS.ORDERS05 and ORDRSP.ORDERS051. Under the DEMO component - right mouse click on imported objects -> New2. Enter system and login details -> Continue3. When the results come back expand the IDoc tree4. Select the applicable IDocs (ORDERS.ORDERS05 and ORDRSP.ORDERS05) ->FinishFigure 23: Importing IDoc Types2.6. Message MappingOK now we need to bring these all together with Message Mappings! We will need tocreate 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 bemapped to the small MT_BPM_TRIGGER message type which will be used tokick off the BPM scenario MM_ORDERS05_to_OrderResponse: The ORDRSP (ORDERS05) IDoc willbe sent from the ECC system and mapped to the MT_ORDERRESPONSE XMLMessage Type MM_ORDRSP_to_BPM_TRIGGER: The ORDRSP (ORDERS05) IDoc willalso be mapped to our MT_BPM_TRIGGER message type which will correlate tothe ORDERS BPM message and effectively end the BPM process MM_BPM_to_EMAIL: This is a mapping between the message typeMT_BPM_TRIGGER and the XI_MAIL -> Mail External Definition Type whichwill form an email message. This will be used in the BPM process to send out anemail message when the Order Response message is not received in a specifiedperiod of time
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 24 of 1542.6.1. MM_Order_to_ORDERS051. Open Mapping Objects2. Right mouse click Message Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source message and enter MT_ORDER messagetype5. Click the button to choose a target message and enter ORDERS.ORDERS05message type6. Perform the mappings. See APPENDIX E on page 146 for the detailed mapping7. Your mapping should look as follows:Figure 24: Message Mapping - MM_Order_to_ORDERS058. Save2.6.2. MM_Order_to_BPM_TRIGGER1. Open Mapping Objects2. Right mouse click Message Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source message and enter MT_ORDER messagetype5. Click the button to choose a target message and enter MT_BPM_TRIGGERmessage type6. Perform the mappings. See APPENDIX E on page 147 for the detailed mapping
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 25 of 1547. Your mapping should look as follows:Figure 25: Message Mapping - MM_Order_to_BPM_TRIGGER8. Save2.6.3. MM_ORDERS05_to_OrderResponse1. Open Mapping Objects2. Right mouse click Message Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source message and enter ORDRSP.ORDERS05message type5. Click the button to choose a target message and enter MT_ORDERRESPONSEmessage type6. Perform the mappings. See APPENDIX E on page 148 for the detailed mapping7. Your mapping should look as follows:
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 26 of 154Figure 26: Message Mapping - MM_ORDERS05_to_OrderResponse8. Save2.6.4. MM_ORDRSP_to_BPM_TRIGGER1. Open Mapping Objects2. Right mouse click Message Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source message and enter ORDRSP.ORDERS05message type5. Click the button to choose a target message and enter MT_BPM_TRIGGERmessage type6. Perform the mappings. See APPENDIX E on page 149 for the detailed mapping7. Your mapping should look as follows:
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 27 of 154Figure 27: Message Mapping - MM_ORDRSP_to_BPM_TRIGGER8. Save2.6.5. MM_BPM_to_EMAIL1. Open Mapping Objects2. Right mouse click Message Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source message and enter MT_BPM_TRIGGERmessage type5. Click the button to choose a target message and enter XI_MAIL->Mailmessage type6. Perform the mappings. See APPENDIX E on page 150 for the detailed mapping7. Your mapping should look as follows:
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 28 of 154Figure 28: Message Mapping - MM_BPM_to_EMAIL8. Save2.7. Interface MappingThis is a good point to review what we’ve done so far. We’ve created the necessarydata types, XSD imports, message types, Message Interfaces, imported IDocs and createdMessage Mappings. Whew! A lot of work I know, but we’re nearly there! We now needto bring this all together by creating 5 interface mappings as follows: IM_Order_to_ORDERS05:o Source interface: MI_ORDERo Target interface: ORDERS.ORDERS05o Message mapping: MM_Order_to_ORDERS05Error! Bookmark not defined. IM_Order_to_BPM_TRIGGER:o Source interface: MI_ORDERo Target interface: MI_BPM_TRIGGERo Message mapping: MM_Order_to_BPM_TRIGGER IM_ORDRSP_to_OrderResponse:o Source interface: ORDRSP.ORDERS05o Target interface: MI_ORDERRESPONSEo Message mapping MM_ORDERS05_to_OrderResponse IM_ORDRSP_to_BPM_TRIGGER_CATCH:o Source interface: ORDRSP.ORDERS05o Target interface: MI_BPM_TRIGGER_MATCHo Message mapping MM_ORDRSP_to_BPM_TRIGGER IM_BPM_to_EMAIL:o Source interface: MI_BPM_TRIGGERo Target interface: MI_EMAIL
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 29 of 154o Message mapping: MM_BPM_to_EMAIL2.7.1. IM_Order_to_ORDERS051. Open Mapping Objects2. Right mouse click Interface Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source interface and enter Message InterfaceMI_ORDER -> Apply5. Click the button to choose a target interface and enter ORDERS.ORDERS05(Imported Objects -> IDocs) -> Apply6. Save7. The Message Type MT_ORDER and ORDERS.ORDERS05 are displayed as thesource and target message types respectively.8. Click the button in the mapping program name to choose Message MapMM_Order_to_ORDERS059. Your Interface Mapping should look as shown in Figure 29Figure 29: Interface Mapping - IM_Order_to_ORDERS0510. Save2.7.2. IM_Order_to_BPM_TRIGGER1. Open Mapping Objects2. Right mouse click Interface Mappings -> New
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 30 of 1543. Enter Name and Description -> Create4. Click the button to choose a source interface and enter Message InterfaceMI_ORDER -> Apply5. Click the button to choose a target interface and enter Message InterfaceMI_BPM_TRIGGER -> Apply6. Save7. The Message Type MT_ORDER and MT_BPM_TRIGGER are displayed as thesource and target message types respectively.8. Click the button in the mapping program name to choose Message MapMM_Order_to_BPM_TRIGGER9. Your Interface Mapping should look as shown in Figure 30Figure 30: Interface Mapping - IM_Order_to_BPM_TRIGGER10. Save2.7.3. IM_ORDRSP_to_OrderResponse1. Open Mapping Objects2. Right mouse click Interface Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source interface and enter ORDRSP.ORDERS05(Imported Objects -> IDocs) -> Apply5. Click the button to choose a target interface and enter Message InterfaceMI_ORDERRESPONSE -> Apply6. Save7. The Message Type ORDRSP.ORDERS05 and MT_ORDERRESPONSE aredisplayed as the source and target message types respectively.
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 31 of 1548. Click the button in the mapping program name to choose Message MapMM_ORDERS05_to_OrderResponse9. Your Interface Mapping should look as shown in Figure 31Figure 31: Interface Mapping - IM_ORDRSP_to_OrderResponse10. Save2.7.4. IM_ORDRSP_to_BPM_TRIGGER_CATCH1. Open Mapping Objects2. Right mouse click Interface Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source interface and enter ORDRSP.ORDERS05(Imported Objects -> IDocs) -> Apply5. Click the button to choose a target interface and enter Message InterfaceMI_BPM_TRIGGER_MATCH -> Apply6. Save7. The Message Type ORDRSP.ORDERS05 and MT_BPM_TRIGGER aredisplayed as the source and target message types respectively.8. Click the button in the mapping program name to choose Message MapMM_ORDRSP_to_BPM_TRIGGER9. Your Interface Mapping should look as shown in Figure 32
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 32 of 154Figure 32: Interface Mapping - IM_ORDRSP_to_BPM_TRIGGER_CATCH10. Don’t forget to Save!2.7.5. IM_BPM_to_EMAIL1. Open Mapping Objects2. Right mouse click Interface Mappings -> New3. Enter Name and Description -> Create4. Click the button to choose a source interface and enter Message InterfaceMI_BPM_TRIGGER -> Apply5. Click the button to choose a target interface and enter Message InterfaceMI_EMAIL -> Apply6. Save7. The Message Type MT_BPM_TRIGGER and Mail (From External DefinitionXI_MAIL) are displayed as the source and target message types respectively.8. Click the button in the mapping program name to choose Message MapMM_BPM_to_EMAIL9. Your Interface Mapping should look as shown in Figure 33
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 33 of 154Figure 33: Interface Mapping - IM_BPM_to_EMAIL10. Save2.8. Integration ScenarioThe Integration Scenario is a great way to document (Yes we know, it’s sometimes seenas a bad word) your BPM process. This is the fun part as a reward for all your hard workso far. We need to first create our actions before we can put together our integrationscenario. Again, notice the descriptive names we use for these actions.2.8.1. Actions6 Actions need to be created as follows: Send_Order: Demo system sends order using Message InterfaceMI_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 TypeMT_BPM_TRIGGER via the Message Interface MI_BPM_TRIGGER.This will be correlated (through field DocNum) to theMI_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 TypeMT_OrderResponse via Message Interface MI_ORDERRESPONSE
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 34 of 154 Receive_BPM_TRIGGER_MATCH: Receive the Message TypeMT_BPM_TRIGGER via the Message InterfaceMI_BPM_TRIGGER_MATCH. This then correlates (through fieldDocNum) to the MI_BPM_TRIGGER Message Interface of theSend_Order action2.8.1.1. Send_Order1. Open Integration Scenarios & Integration Processes2. Right mouse click Actions -> New3. Enter Name Send_Order and Description -> Create4. Enter type of Usage: External5. Since this action represents an outbound interface, click the icon under theOutbound Interfaces tab6. Drag and Drop your Message Interface MI_ORDER in to the new line ofOutbound Interfaces. Ensure the full Object Type (Message Interface), Name(MI_ORDER) and Namespace (http://www.demo.com/XI) are entered7. Your action will look as shown in Figure 34Figure 34: Action - Send_Order8. Save
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 35 of 1542.8.1.2. Receive_Order1. Open Integration Scenarios & Integration Processes2. Right mouse click Actions -> New3. Enter Name Receive_Order and Description -> Create4. Enter type of Usage: External5. Since this action represents an inbound interface, click the icon under theInbound Interfaces tab6. Drag and Drop your Imported Object IDoc ORDERS.ORDERS05 in to the newline of Inbound Interfaces. Ensure the full Object Type (IDoc), Name(ORDERS.ORDERS05) and Namespace (urn:sap-com:document:sap:idoc:messages) are entered7. Your action will look as shown in Figure 35Figure 35: Action - Receive_Order8. Save2.8.1.3. Receive_BPM_TRIGGER1. Open Integration Scenarios & Integration Processes2. Right mouse click Actions -> New3. Enter Name Receive_BPM_TRIGGER and Description -> Create4. Enter type of Usage: External5. Since this action represents an inbound interface, click the icon under theInbound Interfaces tab
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 36 of 1546. Drag and Drop your Message Interface MI_BPM_TRIGGER in to the new line ofInbound Interfaces. Ensure the full Object Type (Message Interface), Name(MI_BPM_TRIGGER) and Namespace (http://www.demo.com/XI) are entered7. Your action will look as shown in Figure 36Figure 36: Action - Receive_BPM_TRIGGER8. Save2.8.1.4. Send_OrderResponse1. Open Integration Scenarios & Integration Processes2. Right mouse click Actions -> New3. Enter Name Send_OrderResponse and Description -> Create4. Enter type of Usage: External5. Since this action represents an outbound interface, click the icon under theOutbound Interfaces tab6. Drag and Drop your Imported Object IDoc ORDRSP.ORDERS05 in to the newline of Outbound Interfaces. Ensure the full Object Type (IDoc), Name(ORDRSP.ORDERS05) and Namespace (urn:sap-com:document:sap:idoc:messages) are entered7. Your action will look as shown in Figure 37
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 37 of 154Figure 37: Action - Send_OrderResponse8. Save2.8.1.5. Receive_OrderResponse1. Open Integration Scenarios & Integration Processes2. Right mouse click Actions -> New3. Enter Name Receive_OrderResponse and Description -> Create4. Enter type of Usage: External5. Since this action represents an inbound interface, click the icon under theInbound Interfaces tab6. Drag and Drop your Message Interface MI_ORDERRESPONSE in to the newline of Inbound Interfaces. Ensure the full Object Type (Message Interface),Name (MI_ORDERRESPONSE) and Namespace (http://www.demo.com/XI) areentered7. Your action will look as shown in Figure 38
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 38 of 154Figure 38: Action - Receive_OrderResponse8. Save2.8.1.6. Receive_BPM_TRIGGER_MATCH1. Open Integration Scenarios & Integration Processes2. Right mouse click Actions -> New3. Enter Name Receive_BPM_TRIGGER_MATCH and Description -> Create4. Enter type of Usage: External5. Since this action represents an inbound interface, click the icon under theInbound Interfaces tab6. Drag and Drop your Message Interface MI_BPM_TRIGGER_MATCH in to thenew line of Inbound Interfaces. Ensure the full Object Type (Message Interface),Name (MI_BPM_TRIGGER_MATCH) and Namespace(http://www.demo.com/XI) are entered7. Your action will look as shown in Figure 39
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 39 of 154Figure 39: Action - Receive_BPM_TRIGGER_MATCH8. Save2.8.2. Integration ScenarioThe integration scenario is where things start to get exciting! It brings your actionstogether with the system components, showing the interfacing between the systems.2.8.2.1. IS_Orders1. Open Integration Scenarios & Integration Processes2. Right mouse click Actions -> New3. Enter Name IS_Orders and Description -> Create4. Right mouse click the first swim lane on the left and Insert ApplicationComponent
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 40 of 154Figure 40: Integration Scenario - Insert Software Component5. Choose the DEMO system -> OKFigure 41: Integration Scenario - Choose Product Version6. Enter Name PurchaseOrderCreation under the Role tab7. Click the Further Attributes tab and enter extended name Order8. Your application component should look as described in Figure 42
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 41 of 154Figure 42: Integration Scenario - Application Component9. Click Apply10. Your Integration Scenario should now look as described in Figure 43. Note thatthese vertical columns that we are building up are termed “Swim Lanes”. Ifyou’ve done any swimming you’ll know why, if not don’t worry about it.Figure 43: Integration Scenario - Component Added11. 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 Component13. Select Template -> Enter role name IntegrationProcess14. Select Further Attributes tab15. Enter XI BPM in the Extended Name field16. Click Apply17. Right mouse click the third swim lane and Insert Application Component
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 42 of 15418. Select your business System for CRM entering the Role name and Extended nameattributes -> Apply19. Right mouse click the forth swim lane and Insert Application Component20. Select your business System for ECC entering the Role name and Extended nameattributes -> Apply21. Your Integration Scenario should now have 4 swim lanes and look as shown inFigure 44Figure 44: Integration Scenario - Swim lanes22. Now we need to add our actions that we created earlier to the IntegrationScenario – are you getting excited yet?23. Right mouse click the Order swim lane at the top -> Insert ActionFigure 45: Integration Scenario - Insert Action24. Expand your Software Component for the Demo system and select the ActionSend_Order -> Apply as shown in Figure 46
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 43 of 154Figure 46: Integration Scenario - Insert Send_Order25. Your Integration Scenario now looks as described in Figure 47Figure 47: Integration Scenario - Send_Order added26. We now will add the 2 receive actions. One in the integration process and 1 in theCRM system27. Another way of adding actions is to drag and drop them on to the right swimlane at the right position. This is pretty cool so we’ll use this technique to add allthe actions!28. Drag the Receive_BPM_TRIGGER to the 2ndswim lane below the level of thesend order action (this ensures that it’s not treated as a parallel action to the sendorder. We need this in order to link them together).29. Similarly Drag the Receive_Order to the 3rdswim lane (CRM) below the level ofthe send order action and adjacent to the Receive_BPM_TRIGGER action (againthis tells XI not to treat these as parallel or synchronous actions).
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 44 of 154Figure 48: Integration Scenario - Added Receive Order30. Now add the last 3 actions (to end up with a view as shown in Figure 49) asfollows:a. Send_OrderResponse in ECC system down and to the right of Receive_Orderb. Receive_OrderResponse in Demo system down and to the left of Send_OrderResponsec. Receive_BPM_TRIGGER_MATCH in Integration Process template down and to the leftof Send_OrderResponse and adjacent to Receive_OrderResponseFigure 49: Integration Scenario - All actions added31. This is great! We have all the actions, but now we need to focus on linking theactions together32. Single click the Send_Order action -> Hold down the Shift Key and single clickthe Receive_BPM_TRIGGER action to select both33. Right mouse click one of the selected actions -> Create Connection BetweenSelected Actions as shown in Figure 50
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 45 of 154Figure 50: Integration Scenario - Create connection between actions34. The screen displaying the connection between outbound interface MI_ORDERand inbound interface MI_BPM_TRIGGER should be displayed35. Click the Assign Mapping tab36. Click the button in the Assign Interface Mapping Name field to chooseInterface Map IM_Order_to_BPM_TRIGGER37. Click Apply38. An arrow is now drawn from Send_Order to Receive_BPM_TRIGGER as shownin Figure 51Figure 51: Integration Scenario - Connection added39. Similarly connect the following actions together and add the respective interfacemappings 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 XIPhase 2 – Integration Builder Design Page 46 of 154Figure 52: Integration Scenario - Completed Connections41. We can now define our action start and end points42. The Send_Order is our start action so Right mouse click Send_Order43. Click Define Action as Start Action as shown in Figure 53Figure 53: Integration Scenario - Define start action44. Similarly we will define the Receive_OrderResponse andReceive_BPM_TRIGGER_MATCH actions as end actions45. Right mouse click Receive_OrderResponse and select Define Action as EndAction46. Right mouse click Receive_BPM_TRIGGER_MATCH and select Define Action asEnd Action47. 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 tothe Integration Process Componenta. Double click the Integration Process component and select the IntegrationProcess tabb. Select IP_ORDERS as the name from the dropdown listc. Your definition should now look as shown in Figure 54
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 47 of 154Figure 54: Integration Scenario - Link Integration Process48. Your overall Integration Scenario IS_Orders should look as shown in Figure 55Figure 55: Integration scenario – IS_Orders2.9. Integration ProcessThe integration process handles the workflow within the BPM engine. It is based onSAP’s webflow (workflow) engine.The integration process that we need will contain the following functionality: Receive the order message (Abstract interface MI_BPM_TRIGGER). Activatecorrelation on field DocNum Assign DocNum to a container element called DocNum Wait for the receipt of the order response message (Abstract interfaceMI_BPM_TRIGGER_MATCH). Use correlation on DocNum
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 48 of 154 If the order response message does not come in 5 minutes, then fire off an alertand 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 alertand cancel the process. This prevents an orphan process from hanging around inthe 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 theContainer, Properties and Graphical Definition windows. We will also switch to theCorrelation Editor to perform the correlation mapping there.Figure 56: Integration Process - Completed2.9.1. IP_Orders1. Open Integration Scenarios & Integration Processes2. Right mouse click Integration Processes -> New3. Enter Name IP_Orders and Description -> Create4. First thing to do is to add our required container elements
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 49 of 154STEP 1 - Create Container Elements1. In the container window, type DocNum in the name field and enter. The defaultsare good for this variable – so we’ll use them2. To add the Orders message, type Orders in the name field and choose Abstractinterface in the Category field – see figure 57 belowFigure 57: Integration Process - Add message to container3. Click the button in the Type field to choose Message InterfaceMI_BPM_TRIGGER4. To add the Order Response message, type OrderResponse in the name field andchoose Abstract interface in the Category field5. Click the button in the Type field to choose Message InterfaceMI_BPM_TRIGGER_MATCH6. The container should look as shown in Figure 58Figure 58: Integration Process – ContainerSTEP 2 – Add Receiver Orders Step and set up correlation1. We now need to add the first step in the process, the receive orders step2. Click, drag and drop the receiver step from the side bar on the GraphicalDefinition 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 themouse button go at that point)Figure 59: Integration Process - Add receiver step3. In the Properties window you will notice that the Receive step is displayed there.
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 50 of 1544. Change the step name from Receive1 to ReceiveOrders5. Click the button in the Message field to choose the Interface Variable ->Orders (as shown in Figure 60) -> OKFigure 60: Integration Process - Interface Variable6. We now need to create a correlation field called DocNum7. In the Container window click and select Correlation List as shown in Figure61Figure 61: Integration Process - Correlation List8. Enter DocNum in the Correlation Name field and Enter9. In the Graphical Definition window click to fire up the Correlation Editor asshown in Figure 62Figure 62: Integration Process - Fire up Correlation Editor10. Ensure that your Correlation Name is DocNum as shown in Figure 6311. Enter DocNum in the Correlation Container -> Name with type xsd:string12. We now need to add our 2 Message Interfaces involved in the correlation, namelyMI_BPM_TRIGGER and MI_BPM_TRIGGER_MATCH (Remember them?)13. Drag the Message Interface MI_BPM_TRIGGER to the Involved Messageswindow (to the blank line). Your screen should look as shown in Figure 63
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 51 of 154Figure 63: Integration Process - Adding involved messages14. Click the button in the Value field15. Select radio button Interface Variable -> XPath16. Choose the DocNum field from the MT_BPM_TRIGGER message -> OK asshown in Figure 64Figure 64: Integration Process - Expression Editor17. Drag the Message Interface MI_BPM_TRIGGER_MATCH to the InvolvedMessages window (to the blank line).18. Click the button in the Value field to choose the DocNum field from theMT_BPM_TRIGGER_MATCH message (similarly as done for theMT_BPM_TRIGGER message interface above) -> OK19. Your correlation should now look as shown in Figure 65Figure 65: Integration Process - Correlation20. Go back to the Properties window by selecting and Graphical Definition asshown in Figure 66
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 52 of 154Figure 66: Integration Process - Graphical Definition21. With the receive orders step highlighted, click the Value field next to the ActivateCorrelation name and choose DocNum as shown in Figure 67Figure 67: Integration Process - Activate Correlation22. The ReceiverOrders step properties should look as shown in Figure 68Figure 68: Integration Process - Activate CorrelationSTEP 3 – Create Container Operation step to assign DocNum1. Drag the container operation step icon to between the Receive Orders step andthe Stop marker as shown in Figure 69Figure 69: Integration Process - Add Container operation2. In the Properties window3. Change the step name to Assign DocNum4. Click on the Target field and select Radio Button Simple Variable5. Choose variable DocNum as shown in Figure 70Figure 70: Integration Process - Select variable from container
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 53 of 1546. Choose Assign as the operation7. Click on the Expression field and select Radio Button Interface Variable8. Select XPath radio button9. Select the DocNum field from the MT_BPM_TRIGGER message as shown inFigure 71Figure 71: Integration Process - Select DocNum from Message10. Your scenario and Container Operation step should look as shown in Figure 72Figure 72: Integration Process - Container Operation step addedSTEP 4 – Create Block1. Drag the block step icon to between the Container Operation Step and the Stopmarker as shown in Figure 73Figure 73: Integration Process - Add Block2. Select the block3. In the Properties window
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 54 of 1544. Give the block a descriptive name “Block Receive with Deadline”5. Leave mode as default6. Enter 2 exceptions:a. TimeOutb. SystemError7. Your block definition should now look as shown inFigure 74: Integration Process - Block definitionSTEP 5 – Create deadline branch for the block1. Right mouse click on the block -> Insert -> Deadline Branch as shown in Figure75Figure 75: Integration Process - Insert Deadline Branch2. A new branch is created inside the block for the deadline3. Select the deadline branch to complete the properties4. We are going to set the deadline to 24 hours from the time the step was created5. In the Properties window6. Choose Creating the Step for Reference Date / Time7. Enter 24 for Duration8. Select Hours as the Unit
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 55 of 154Figure 76: Integration Process - Deadline branchSTEP 5a – Create process control step to throw alert in deadline branch1. Drag the control step icon to the centre of the block created in the step beforeas shown in Figure 77Figure 77: Integration Process - Add Control step2. Select the control step3. In the Properties window4. Change the step name to something meaningful like Deadline Reached5. Select Throw Alert from the dropdown for the Action6. Type in TESTALERT, as configured in 2.10.1. TESTALERT on page 637. Type in an informative alert message such as Order Response has yet to bereceived for &DocNum&. &DocNum& refers to the variable in the BPM container calledDocNum that was populated by the Container Operation step defined in STEP 3 – CreateContainer Operation step to assign DocNum on page 52STEP 5b – Create transformation step to generate email message in deadlinebranch1. In the Container Window create a variable as follows:a. Name: BPM_EMAILb. Category: Abstract Interfacec. Type: From the dropdown select message interface MI_EMAILd. Container: Block Receive with DeadlineThe container element should now look as shown in Figure 78Figure 78: Integration Process - Add container element2. Drag the transformation step icon to between the control step created in thestep before and the end of the block as shown in Figure 79
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 56 of 154Figure 79: Integration Process - Add Transformation step3. Select the transformation step4. In the Properties window5. Change the step name to something meaningful like TransformationAlertEmail6. Click the icon next to the Interface Mapping to select your interface mapIM_BPM_to_EMAIL that you defined in 2.7.5. IM_BPM_to_EMAIL on page 327. Select SystemError from the dropdown for field Exception. This system errorexception was defined against the block defined in STEP 4 – Create Block on page 538. For the source message, from the dropdown ( ), select the Orders InterfaceVariable as shown in Figure 80Figure 80: Integration Process - Enter Orders Variable9. For the target message, from the dropdown ( ), select the BPM_EMAILInterface Variable created in item 1 of this step.10. Your transformation step should now look as shown in Figure 81Figure 81: Integration Process - Transformation step propertiesSTEP 5c – Create send step to send email in deadline branch1. In the Graphical Definition window drag the send step icon to between thetransformation step created in the step before and the end of the block as shown inFigure 82
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 57 of 154Figure 82: Integration Process - Add Send step2. Select the send step3. In the Properties window4. Change the step name to something meaningful like SendAlertEMail5. Leave Mode as Asynchronous6. For the message, from the dropdown ( ), select the BPM_EMAIL InterfaceVariable as shown in Figure 83Figure 83: Integration Process - Enter BPM_EMAIL Variable7. Select SystemError from the dropdown for field Exception. This system errorexception was defined against the block defined in STEP 4 – Create Block on page 538. Leave the other fields as defaulted. Your completed send step properties shouldlook as shown in Figure 84Figure 84: Integration Process - Send step propertiesSTEP 5d – Create control step to throw timeout exception in deadline branch1. In the Graphical Definition window drag the control step icon to between thesend step created in the step before and the end of the block as shown in Figure 85Figure 85: Integration Process - Add control step to throw exception2. Select the control step3. In the Properties window
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 58 of 1544. Change the step name to something meaningful like TimeOut5. Select Throw Exception from the dropdown box on field Action6. Select TimeOut from the dropdown box on field Exception. This exception wasdefined against the block defined in STEP 4 – Create Block on page 537. Your completed send step properties should look as shown in Figure 86Figure 86: Integration Process - Exception control step propertiesSTEP 6 – Create exception branch for system errors1. Right mouse click on the block -> Insert -> Exception Branch as shown in Figure87Figure 87: Integration Process - Insert Exception Branch2. Select the Exception block that was created3. In the Properties window4. Select SystemError from the dropdown for field Exception Handler5. Your exception block and properties should look like Figure 88Figure 88: Integration Process - System error exception
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 59 of 154STEP 6a – Create System Error alert in exception branch1. Drag the control step icon to the centre of the SystemError exception blockcreated in the step before as shown in Figure 89Figure 89: Integration Process - Add Alert Control step to Exception SystemError2. Select the control step3. In the Properties window4. Change the step name to something meaningful like Alert System Error5. Select Throw Alert from the dropdown for the Action6. Type in TESTALERT1, as configured in 2.10.2. TESTALERT1 on page 647. Type in an informative alert message such as System Error Encountered for&DocNum&. &DocNum& refers to the variable in the BPM container called DocNum thatwas populated by the Container Operation step defined in STEP 3 – Create ContainerOperation step to assign DocNum on page 52STEP 6b – Create cancel process step in exception branch1. 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 90Figure 90: Integration Process - Add Cancel Process Control step to Exception SystemError2. Select the control step3. In the Properties window4. Change the step name to something meaningful like CancelProcess5. Select CancelProcess from the dropdown for the Action
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 60 of 154STEP 7 – Create exception branch for timeout processingSimilarly to the previous step we need to create a timeout exception branch1. Right mouse click on the block -> Insert -> Exception Branch as shown in Figure91Figure 91: Integration Process - Insert Exception Branch for TimeOut2. Select the Exception block that was created3. In the Properties window4. Select TimeOut from the dropdown for field Exception Handler5. Your exception block and properties should look as shown in Figure 92Figure 92: Integration Process – Time out exceptionSTEP 7a – Create cancel process step in the TimeOut exception branch1. Drag the control step icon to after the TimeOut control step, created in the stepbefore, and the end of the exception block as shown in Figure 93
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 61 of 154Figure 93: Integration Process - Add Cancel Process Control step to Exception TimeOut2. Select the control step3. In the Properties window4. Change the step name to something meaningful like Cancel Process due to TimeOut5. Select CancelProcess from the dropdown for the ActionSTEP 8 – Create Receive Order Response Step with correlationWe now need to add the receive order response step1. Click, drag and drop the receiver step from the side bar on the GraphicalDefinition window to bottom line under the deadline branch as shown in Figure94Figure 94: Integration Process - Add receiver step for order response2. In the Properties window change the step name from Receive1 to Receive OrderResponse3. Click the button in the Message field to choose the Interface Variable ->OrderResponse as shown in Figure 95
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 62 of 154Figure 95: Integration Process - Interface Variable OrderResponse4. Select DocNum from the dropdown menu for variable Use Correlations5. Save6. Select DocNum from the dropdown menu for variable Activate Correlations7. Save8. Your Send Order Response step properties should now look as shown in Figure96Figure 96: Integration Process - Receiver order response step properties2.10. Create Alert CategoryWe need to configure an alert category for the alerts we are going to issue in the BPMIntegration Process. Here’s how we go about doing that.1. Fire up the Runtime Workbench from the Integration Builder by clicking RuntimeWorkbenchFigure 97: Launch Runtime Workbench2. Click Alert Configuration as shown in Figure 98Figure 98: Runtime Workbench
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 63 of 1543. Click the Create Alert Category button . Click OK on thewarning message shown in Figure 99 (Also Transaction ALRTCATDEF)Figure 99: Creating an Alert Category warning message4. On the screen showing the Alert Categories Display, click the Display/Changebutton5. Click the Webflow Alerts in the Classification window. This will display therelated Webflow alerts in the ALV grid on the right of the classification as shownin Figure 100Figure 100: Select Webflow Alert Classification2.10.1. TESTALERT1. Click the create alert category icon2. This adds a line to the ALV grid. Fill in the Alert Category name TESTALERTand a description BPM Alert3. Hit Enter to see the alert as shown in Figure 101Figure 101: TESTALERT added
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 64 of 1544. Click the Dynamic Text checkbox on. The 2 tabs “Long and Short Text” and“Optional Subseq. Activities” disappear. Clicking this checkbox allows you to passvariables to the alert in the BPM process as shown in STEP 5a – Create process control stepto throw alert in deadline branch on page 555. Leave the other fields with their defaults6. Save. Your alert now looks as shown in Figure 102Figure 102: TESTALERT set to dynamic text2.10.2. TESTALERT1Adding the 2ndAlert Category called TESTALERT1.1. Click the create alert category icon2. This adds a line to the ALV grid. Fill in the Alert Category name TESTALERT1and a description BPM Exception Alert3. Hit Enter to see the alert as shown in Figure 103Figure 103: TESTALERT1 added4. 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 XIPhase 2 – Integration Builder Design Page 65 of 154variables to the alert in the BPM process as shown in STEP 6a – Create System Error alertin exception branch on page 59. This is very useful to us!5. Leave the other fields with their defaults6. Save. Your alert now looks as shown in Figure 104Figure 104: TESTALERT1 set to dynamic text2.10.3. Assign Users / Roles to Alert Categories1. Double click TESTALERT2. Click the Fixed Recipients Button3. If you are not in change mode then click the Display / Change button4. Click the New Entries button5. Type in your user id and save6. Click Back -> Back7. Repeat the above process (Steps 1-6) for TESTALERT1☼ Note that you should probably use the Role functionality to be able to send alertsbased on roles in a users profile. For simplicity sake we have hard coded the userreceiving this alert using the Fixed Recipients functionality.2.10.4. Update Alert Categories1. Close the webgui session and go back to your browser showing the RuntimeWorkbench
    • Creating a BPM Scenario in XIPhase 2 – Integration Builder Design Page 66 of 1542. Click the button Update Table3. Your newly created Alert categories are now viewable as shown in Figure 105Figure 105: Display of Alert Categories
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 67 of 154PHASE 3 : INTEGRATION BUILDER CONFIGURATIONThe system landscape and interface repository steps need to have been completed prior tostarting this phase.1. Start the Integration Directory of the Integration Builder3.1. Create Configuration Scenario3.1.1. Order_OrderResponse_Demo1. Select the Scenarios tab2. Right mouse click in the window and choose New3. Enter Description as Order and Order Response Scenario4. Click to select the Integration scenario IS_Orders we configured in 2.8.Integration Scenario on page 335. You’ll notice that the configuration scenario is changed to IS_Orders which is ourIntegration Scenario name. If you want to change it change it before creating theconfiguration scenario. Once you’ve changed the name(Order_OrderResponse_Demo) is should now look as shown in Figure 106Figure 106: Create Integration Scenario6. Click create7. Save
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 68 of 1543.2. Create Integration Process Service3.2.1. IP_ORDERS1. Right mouse click on Integration Party (Under Service without a party in yournewly created scenario)2. Click New3. Click continue on the screen shown in Figure 107Figure 107: Install Integration Process4. Select the IP_Orders Repository Process and click continue as shown in Figure108Figure 108: Select Repository Integration Process5. Enter Name IP_Orders and click Finish as shown in Figure 109
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 69 of 154Figure 109: Give Integration Process a name6. You then see the screen as shown in Figure 110Figure 110: Integration Process installed7. Edit the Integration Process8. Click the menu option Service -> Adapter Specific Identifiers9. Enter IP_ORDERS as the Logical System. (If you don’t do this step then you willget an error that the Logical System could not be determined for IP_ORDERS
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 70 of 15410. Click Apply3.3. Create Services without Party3.3.1. Business Service: DEMO1. Right click Business Service2. Click Create3. On the Receiver tab click to add a line to the Inbound Interfaces4. Click to choose Message Interface MI_ORDERRESPONSE -> OK5. Click the Sender tab6. On the Sender tab click to add a line to the Outbound Interfaces
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 71 of 1547. Click to choose Message Interface MI_ORDERS -> OK8. Save3.3.2. Business Service: MAIL_SERVICE1. Right click Business Service2. Click Create3. On the Receiver tab click to add a line to the Inbound Interfaces4. Click to choose Message Interface MI_EMAIL-> OK5. Save
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 72 of 1543.3.3. Business System: SAPCRM1. Import your CRM system and link an IDoc communication channel to it as shownin 3.4.4. GeneratedReceiverChannel_IDoc on page 76.3.3.4. Business System: SAPECC1. Import your ECC system. No communication channels are required as it willreceive no message from XI. It will receive the order from the CRM system viamiddleware.3.4. Create Communication Channels3.4.1. CC_DEMO_SOAP_SENDER1. Expand the Business Service DEMO2. Right mouse click on Communication Channel -> New3. Enter Communication Channel name CC_DEMO_SOAP_SENDER4. Click Create5. Click for the Adapter Type field to choose the SOAP adapter6. Enter the following entries:a. Select the Sender radio buttonb. Transport Protocol: HTTPc. Message Protocol: SOAP 1.1.d. Adapter Engine: Integration Servere. Default Interface Namespace: http://www.demo.com/XIf. Default Interface Name: MI_ORDER (NB: This is required for the webservice to work properly)g. Quality of Service: Exactly Once = Asynchronous call
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 73 of 154Figure 111: SOAP Adapter Settings7. Save3.4.2. CC_DEMO_FILE_RECEIVER1. Expand the Business Service DEMO2. Right mouse click on Communication Channel -> New3. Enter Communication Channel name CC_DEMO_FILE_RECEIVER4. Click Create5. Click for the Adapter Type field to choose the File adapter6. Enter the following entries:a. Select the Receiver radio buttonb. Transport Protocol: File System (NFS)c. Message Protocol: Filed. Adapter Engine: Integration Servere. Target Directory: /var/xiftp
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 74 of 154f. File Name Scheme: xi_kevin.datg. File Construction Mode: Add Message IDh. Write Mode: Directlyi. File Type: Binaryj. Default the restFigure 112: File Adapter Settings7. Save3.4.3. CC_EMAIL1. Expand the Business Service MAIL_SERVICE2. Right mouse click on Communication Channel -> New3. Enter Communication Channel name CC_EMAL4. Click Create5. Click for the Adapter Type field to choose the Mail adapter6. Enter the following entries:a. Select the Receiver radio button
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 75 of 154b. Transport Protocol: SMTPc. Message Protocol: XIPAYLOADd. Adapter Engine: Integration Servere. URL: smtp://smtp.<server>.comf. Use Mail Package: Check checkboxg. Content Encoding: base64Figure 113: Mail Adapter Settings
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 76 of 1547. Save3.4.4. GeneratedReceiverChannel_IDoc3.5. Use Wizard to set up Determination and AgreementsWe have performed the previous steps to set up your communication channels, businesssystem and services so that we can use the wizard to easily create our message interfacecomponents comprising the receiver and Interface Determination together with the senderand receiver agreements.Using the wizardYou 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 withwhen you have several interfaces to define in a short period of time. For example, our scenariocomprises of 5 interfaces and it’s really handy to be able to define each in its entirety (through thewizard) before continuing with the next one.3.5.1. Orders interface between DEMO and CRM1. Select the Scenarios tab2. Right mouse click in the window and choose New
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 77 of 1543. Click Configuration Wizard on the left as shown in Figure 114Figure 114: Start Configuration Wizard4. Click Internal Communication radio button and CreateSTEP 1 – Incoming Message1. Enter Service Type: Business Service2. Service: DEMO3. Interface: MI_ORDER4. Namespace: http://www.demo.com/XI5. Adapter Type: Select SOAPFigure 115: Inbound Message - Specify Sender
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 78 of 1546. Click continueSTEP 2 – Outgoing Message1. Enter Service Type: Business System2. Service: SAPCRM3. Interface: ORDERS.ORDERS054. Namespace: urn:sap-com:document:sap:idoc:messages5. Adapter Type: Select IDocFigure 116: Outbound Message - Specify Receiver6. ContinueSTEP 3 – Sender Agreement1. The system should default in the SOAP Communication Channel you created in3.4.1. CC_DEMO_SOAP_SENDER on page 72
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 79 of 154Figure 117: Sender Agreement - DEMO : MI_ORDER2. ContinueSTEP 4 – Receiver Determination1. The system should display the screen as shown in Figure 118Figure 118: Receiver Determination – DEMO : MI_ORDER2. Click Continue
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 80 of 154STEP 5 – Interface Determination1. The system should display the screen as shown in Figure 119Figure 119: Interface Determination – DEMO : MI_ORDER : SAPCRM2. Click ContinueSTEP 6 – Receiver Agreement1. The system should display the screen as shown in Figure 120Figure 120: Receiver Agreement – DEMO : SAPCRM : ORDERS.ORDERS05
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 81 of 1542. Click ContinueSTEP 7 – Assign object to a Configuration Scenario1. The system should display the screen as shown in Figure 1212. From the dropdown list select your scenario Order_OrderResponse_DemoFigure 121: Assign generated object to a Scenario3. Click Finish4. You should get the Configuration Wizard log that shows you all the objects thatwere generated as shown in Figure 122
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 82 of 154Figure 122: Configuration Wizard Log3.5.2. Orders interface between DEMO and BPE1. Select the Scenarios tab2. Right mouse click in the window and choose New3. Click Configuration Wizard on the left as shown in Figure 123Figure 123: Start Configuration Wizard
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 83 of 1544. Click Internal Communication radio button and CreateSTEP 1 – Incoming Message1. Enter Service Type: Business Service2. Service: DEMO3. Interface: MI_ORDER4. Namespace: http://www.demo.com/XI5. Adapter Type: Select SOAPFigure 124: Inbound Message - Specify Sender6. Click continueSTEP 2 – Outgoing Message1. Enter Service Type: Integration Process2. Service: IP_ORDERS3. Integration Process: IP_Orders4. Interface: MI_BPM_TRIGGER5. Namespace: http://www.demo.com/XI6. Adapter Type: Select XI
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 84 of 154Figure 125: Outbound Message - Specify Receiver7. ContinueSTEP 3 – Sender Agreement1. The system should default in the Sender agreement that you created in STEP 3 –Sender Agreement on page 78Figure 126: Sender Agreement - DEMO : MI_ORDER2. Continue
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 85 of 154STEP 4 – Receiver Determination1. The system should display the screen as shown in Figure 127Figure 127: Receiver Determination – DEMO : MI_ORDER2. Click ContinueSTEP 5 – Interface Determination1. The system should display the screen as shown in Figure 128Figure 128: Interface Determination – DEMO : MI_ORDER :IP_ORDERS
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 86 of 1542. Click ContinueSTEP 6 – Receiver Agreement1. The system should display the screen as shown in Figure 129Figure 129: Receiver Agreement2. Click ContinueSTEP 7 – Assign object to a Configuration Scenario1. The system should display the screen as shown in Figure 1302. From the dropdown list select your scenario Order_OrderResponse_Demo
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 87 of 154Figure 130: Assign generated object to a Scenario3. Click Finish4. You should get the Configuration Wizard log that shows you all the objects thatwere generated as shown in Figure 131Figure 131: Configuration Wizard Log
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 88 of 1543.5.3. Order Response interface between ECC and DEMO1. Select the Scenarios tab2. Right mouse click in the window and choose New3. Click Configuration Wizard on the left as shown in Figure 132Figure 132: Start Configuration Wizard4. Click Internal Communication radio button and CreateSTEP 1 – Incoming Message1. Enter Service Type: Business System2. Service: SAPECC3. Interface: ORDRSP.ORDERS054. Namespace: urn:sap-com:document:sap:idoc:messages5. Adapter Type: Select IDoc
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 89 of 154Figure 133: Inbound Message - Specify Sender6. Click continueSTEP 2 – Outgoing Message1. Enter Service Type: Business Service2. Service: DEMO3. Interface: MI_ORDERRESPONSE4. Namespace: http://www.demo.com/XI5. Adapter Type: Select File
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 90 of 154Figure 134: Outbound Message - Specify Receiver6. ContinueSTEP 3 – Sender Agreement1. The system should default in the Sender agreement that you created in STEP 3 –Sender Agreement on page 78Figure 135: Sender Agreement2. Continue
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 91 of 154STEP 4 – Receiver Determination3. The system should display the screen as shown in Figure 136Figure 136: Receiver Determination – SAPECC : ORDRSP.ORDERS054. Click ContinueSTEP 5 – Interface Determination1. The system should display the screen as shown in Figure 137Figure 137: Interface Determination – SAPECC : ORDRSP.ORDERS05 : DEMO
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 92 of 1542. Click ContinueSTEP 6 – Receiver Agreement1. The system should display the screen as shown in Figure 138Figure 138: Receiver Agreement – SAPECC : DEMO : MI_ORDERRESPONSE3. Click ContinueSTEP 7 – Assign object to a Configuration Scenario1. The system should display the screen as shown in Figure 1392. From the dropdown list select your scenario Order_OrderResponse_Demo
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 93 of 154Figure 139: Assign generated object to a Scenario3. Click Finish4. You should get the Configuration Wizard log that shows you all the objects thatwere generated as shown in Figure 140Figure 140: Configuration Wizard Log
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 94 of 1543.5.4. Order Response interface between ECC and BPE1. Select the Scenarios tab2. Right mouse click in the window and choose New3. Click Configuration Wizard on the left as shown in Figure 141Figure 141: Start Configuration Wizard4. Click Internal Communication radio button and CreateSTEP 1 – Incoming Message1. Enter Service Type: Business System2. Service: SAPECC3. Interface: ORDRSP.ORDERS054. Namespace: urn:sap-com:document:sap:idoc:messages5. Adapter Type: Select IDoc
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 95 of 154Figure 142: Inbound Message - Specify Sender6. Click continueSTEP 2 – Outgoing Message1. Enter Service Type: Integration Process2. Service: IP_ORDERS3. Integration Process: IP_Orders4. Interface: MI_BPM_TRIGGER_MATCH5. Namespace: http://www.demo.com/XI6. Adapter Type: Select XI
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 96 of 154Figure 143: Outbound Message - Specify Receiver7. ContinueSTEP 3 – Sender Agreement1. The system should default in the Sender agreement that you created in STEP 3 –Sender Agreement on page 78Figure 144: Sender Agreement3. Continue
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 97 of 154STEP 4 – Receiver Determination1. The system should display the screen as shown in Figure 145Figure 145: Receiver Determination – SAPECC : ORDRSP.ORDERS055. Click Add Receiver radio button6. Click ContinueSTEP 5 – Interface Determination1. The system should display the screen as shown in Figure 146
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 98 of 154Figure 146: Interface Determination – DEMO : MI_ORDER :IP_ORDERS3. Click ContinueSTEP 6 – Receiver Agreement1. The system should display the screen as shown in Figure 147Figure 147: Receiver Agreement4. Click Continue
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 99 of 154STEP 7 – Assign object to a Configuration Scenario1. The system should display the screen as shown in Figure 1482. From the dropdown list select your scenario Order_OrderResponse_DemoFigure 148: Assign generated object to a Scenario3. Click Finish4. You should get the Configuration Wizard log that shows you all the objects thatwere generated as shown in Figure 149Figure 149: Configuration Wizard Log
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 100 of 1543.5.5. Email interface between BPE and Email Service1. Select the Scenarios tab2. Right mouse click in the window and choose New3. Click Configuration Wizard on the left as shown in Figure 150Figure 150: Start Configuration Wizard4. Click Internal Communication radio button and CreateSTEP 1 – Incoming Message1. Enter Service Type: Integration Process2. Service: IP_ORDERS3. Integration Process: IP_Orders4. Interface: MI_EMAIL5. Namespace: http://www.demo.com/XI6. Adapter Type: Select XI
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 101 of 154Figure 151: Inbound Message - Specify Sender7. Click continueSTEP 2 – Outgoing Message1. Enter Service Type: Business Service2. Service: MAIL_SERVICE3. Interface: MI_EMAIL4. Namespace: http://www.demo.com/XI5. Adapter Type: Select Mail
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 102 of 154Figure 152: Outbound Message - Specify Receiver6. ContinueSTEP 3 – Sender Agreement1. The system should default in the Sender agreement that you created in STEP 3 –Sender Agreement on page 78Figure 153: Sender Agreement2. Continue
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 103 of 154STEP 4 – Receiver Determination1. The system should display the screen as shown in Figure 154Figure 154: Receiver Determination – IP_ORDERS : MI_EMAIL2. Click Add Receiver radio button3. Click ContinueSTEP 5 – Interface Determination1. The system should display the screen as shown in Figure 155
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 104 of 154Figure 155: Interface Determination –IP_ORDERS : MI_EMAIL2. Click ContinueSTEP 6 – Receiver Agreement1. The system should display the screen as shown in Figure 156Figure 156: Receiver Agreement – CC_EMAIL2. Click Continue
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 105 of 154STEP 7 – Assign object to a Configuration Scenario1. The system should display the screen as shown in Figure 1572. From the dropdown list select your scenario Order_OrderResponse_DemoFigure 157: Assign generated object to a Scenario3. Click Finish4. You should get the Configuration Wizard log that shows you all the objects thatwere generated as shown in Figure 158
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 106 of 154Figure 158: Configuration Wizard Log
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 107 of 1543.6. Receiver Determination3.6.1. DEMO : MI_ORDERFigure 159: Receiver Determination - DEMO : MI_ORDER3.6.2. IP_ORDERS : MI_EMAILFigure 160: Receiver Determination - IP_ORDERS : MI_EMAIL
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 108 of 1543.6.3. SAPECC : ORDRSP.ORDERS05Figure 161: Receiver Determination - SAPECC : ORDRSP.ORDERS053.7. Interface Determination3.7.1. DEMO : MI_ORDER : SAPCRMFigure 162: Interface Determination - DEMO : MI_ORDER : SAPCRM
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 109 of 1543.7.2. DEMO : MI_ORDER : IP_ORDERSFigure 163: Interface Determination - DEMO : MI_ORDER : IP_ORDERS3.7.3. SAPECC : ORDRSP.ORDERS05 : DEMOFigure 164: Interface Determination - SAPECC : ORDRSP.ORDERS05 : DEMO
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 110 of 1543.7.4. SAPECC : ORDRSP.ORDERS05 : IP_ORDERSFigure 165: Interface Determination -SAPECC : ORDRSP.ORDERS05 : IP_ORDERS3.7.5. IP_ORDERS : MI_EMAIL : MAIL_SERVICEFigure 166: Interface Determination - MI_EMAIL : MAIL_SERVICE
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 111 of 1543.8. Sender Agreements3.8.1. DEMO:MI_ORDERFigure 167: Sender Agreement - DEMO : MI_ORDER3.9. Receiver Agreements3.9.1. DEMO : SAPCRM : ORDERS.ORDERS05Figure 168: Receiver Agreement - DEMO : SAPCRM : ORDERS.ORDERS05
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 112 of 1543.9.2. SAPECC : DEMO : ORDERRESPONSEFigure 169 : Receiver Agreement – SAPECC : DEMO : ORDERRESPONSE3.9.3. IP_ORDERS : MAIL_SERVICE : MI_EMAILFigure 170: Receiver Agreement - IP_ORDERS : MAIL_SERVICE : MI_EMAIL3.10. Create and Publish Web Service1. From the main menu of the Integration Builder choose Tools -> Define WebService
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 113 of 1542. The wizard pops up as shown in Figure 171Figure 171: Define web service wizard3. Click Continue4. Click propose URL -> Change as follows:a. http://<srv>:<adapter_port>/XISOAPAdapter/MessageServlet?channel=<party>:<service/system>:<cchannel>) -> Continuei. <srv> = Server running XIii. <adapter_port> = Adapter engine port = 8000iii. <party> = If communicating outside of your landscape this is theparty you have identifiediv. <service/system> = Sending system or servicev. <cchannel> = Communication channelb. Our value is:http://mysapapps02.sapgenie.com:8000/XISOAPAdapter/MessageServlet?channel=:DEMO:CC_DEMO_SOAP_SENDER5. On entering the required URL the screen look as shown in Figure 172Figure 172: Enter URL for web service
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 114 of 1546. Click Continue7. Click on the name field to select the message interface MI_ORDER as shownin Figure 173Figure 173: Select message interface8. The screen should now look as shown in Figure 174Figure 174: Message Interface MI_ORDERS9. Click Continue10. Specify sender as shown in Figure 175:- Service: DEMO- Interface Name: MI_ORDER- Interface Namespace: http://www.demo.com/XIFigure 175: Specify the sender11. Click Continue12. The summary of the web service definition is displayed as shown in Figure 176
    • Creating a BPM Scenario in XIPhase 3 – Integration Builder Configuration Page 115 of 154Figure 176: Web service summary13. Click Finish14. The web service file is displayed as shown in Figure 177Figure 177: Web service file WSDL15. Click Save and choose file name MI_ORDER.wsdl16. Your WSDL is now complete!!!
    • Creating a BPM Scenario in XIPhase 4 – SAP Configuration Page 116 of 154PHASE 4 : SAP CONFIGURATIONSince we are using IDocs and the IDoc adapter we need to configure the IDoc adapterand port.4.1. Maintain Port in IDoc adapter4.1.1. SAPCRM1. On the XI server use Transaction IDX12. 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. UseSM59 to set up and test)3. This Port relates to the port listed in the communication channel (for the IDocadapter) 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 178Figure 178: Maintain port in IDoc adapter - SAPCRM
    • Creating a BPM Scenario in XIPhase 4 – SAP Configuration Page 117 of 1544.2. Maintain Metadata Overview for IDoc adapter4.2.1. ORDERS05This is where you register the allowable IDoc type’s metadata for the IDoc adapter. i.e. Ifyou don’t put an entry here for the IDoc type that you wish you will get a metadata errorin XI when it tries to read the IDocError! Bookmark not defined. metadata from thesystem.1. On the XI server use Transaction IDX22. Click new3. Enter IDoc type ORDERS05 and applicable port SAPCRM as shown in Figure 179Figure 179: Enter IDoc Type and Port4. Click Continue5. The message should come back that the structure was loaded successfully6. The client list under the port comes from the RFC destination setting that youhave loaded using IDX1. Your screen should look similar to that shown in Figure180Figure 180: IDoc metadata
    • Creating a BPM Scenario in XIPhase 5 – Testing Page 118 of 154PHASE 5 : TESTING5.1. Testing the interface in XIWell done, if you’ve reached this point you are now ready to see if all your hard work fitstogether properly. Read the sidebar on XMLSpy to make sure you have all the right toolsto test properly.Third Party Testing Tools - XMLSpyXMLSpy is a wonderful tool for examining, editing and generating SOAP messages. At the end ofthe 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 forour testing in section 5.2. The testing is possible without a tool like XMLSpy, but it is very timeconsuming and open to errors.5.1.1. Create a sample XML payload1. Launch or go back to the Integration Repository2. In step 2.7.1. IM_Order_to_ORDERS05 on page 29 we created the interface mapIM_Order_to_ORDERS05. Load up this map in the integration repository asshown in Figure 29: Interface Mapping - IM_Order_to_ORDERS05 on page 293. Click the Test tab4. Enter values for the elements as shown in Figure 181Figure 181: Creating a test instance5. Click the source icon and copy the XML payload (shown below)
    • Creating a BPM Scenario in XIPhase 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 tool1. Launch or go back to the Integration Directory2. On the menu choose Tools -> Test configuration as shown in Figure 182Figure 182: Launch Test Configuration3. Enter the required Service / Interface / Namespace4. Enter the required details as follows:a. Sender Service: DEMOb. Interface: MI_ORDERc. Namespace: http://www.demo.com/XId. Receiver Service: SAPCRM5. Paste the XML payload, created in 5.1.1. Create a sample XML payload on page118, into the payload text area as show in Figure 183
    • Creating a BPM Scenario in XIPhase 5 – Testing Page 120 of 154Figure 183: Running the test configuration6. Click the Run icon7. Your resultant XML should appear in the payload text area8. Click log tab to explore messages passed during the process5.2 Testing the web service using XML SPY1. Launch XMLSpy (Tested on Version 4.4)2. Load the WSDL created in step 3.10. Create and Publish Web Service on page 1123. Click F8 to validate the file
    • Creating a BPM Scenario in XIPhase 5 – Testing Page 121 of 1544. From the menu click Soap -> Create new SOAP request as shown in Figure 184Figure 184: Create new SOAP request5. Click Window button as shown on Figure 185Figure 185: Selecting your request6. Click OK7. Ensure MI_ORDER.wsdl is selected as shown in Figure 186Figure 186: Selecting window8. Click OK9. This ensures that you have the right WSDL for going forward10. Click OK11. This brings you to the Window to select soap operation name as shown in Figure187Figure 187: Select SOAP operation name12. Select MI_ORDER and OK13. This launches a new tab that allows you to enter the XML Payload manually14. Enter the values we have used to test before as described in 5.1.1. Create a sampleXML payload on page 118. See Figure 188 for the entered data
    • Creating a BPM Scenario in XIPhase 5 – Testing Page 122 of 154Figure 188: Entering XML payload15. From the menu select Soap -> Send request to server as shown in Figure 189Figure 189: Sending SOAP request to server16. Enter your XI application user XIAPPLUSER and password – whatever it is.17. A 3rdtab pops up with a SOAP envelope. Hopefully no errors occurred!!!18. Check the Runtime Workbench for your resulting messages5.3. Runtime workbenchThe Integration Server, Integration Engine and Adapter Engine all display a moredetailed view. The Integration Server will provide a high level overview of messages thatare processed by the Integration Server.5.3.1. View Integration ServerView message and details on the Integration Server1. Start the Runtime Workbench
    • Creating a BPM Scenario in XIPhase 5 – Testing Page 123 of 1542. Click Message Monitoring3. Select Integration Server and click the Display button4. Click Start to view messages in the last hour5. And if there was a deadline forced5.3.2. View Integration EngineView details and message details on the Integration Engine1. Start the Runtime Workbench2. Click Message Monitoring3. Select Integration Server <SYSID> and click the Display button4. Click Start to view messages in the last hour
    • Creating a BPM Scenario in XIPhase 5 – Testing Page 124 of 1545. And if there was a deadline forced5.3.3. View Adapter EngineView the audit log and message details on the Adapter Engine1. Start the Runtime Workbench2. Click Message Monitoring3. Select Adapter Engine <servername> and click the Display button4. Click Start to view messages in the last hour
    • Creating a BPM Scenario in XIGlossary Page 125 of 1545. And if there was a deadline forced5.3.4. View alert inbox1. Start the Runtime Workbench2. Click Alert Inbox3. You will see your alert displayed as follows5.3.5. Workflow Log1. Start the transaction SWI1 to view the applicable workflow log2. And if there was a deadline forced
    • Creating a BPM Scenario in XIGlossary Page 126 of 1543. And after the deadline is reached5.3.6. Verify email1. Start your email client to verify receipt of the email and then get a coffee – you’redone!
    • Creating a BPM Scenario in XIGlossary Page 127 of 154GlossaryABAPABAP is a powerful programming language provided by SAP that can be used to extendthe functionality of SAP.Abstract InterfaceAn abstract interface is an interface that can be used both inbound and outbound.Adapter EngineThe adapter engine is used to connect the integration engine to external systems viavarious adapters.. Adapters are used to convert the messages into specific protocols andformats for the external systems that they were designed for. For example: the JDBCadapter is used to convert messages into database queries and execute them againstexternal database systems.ALEApplication Link Enabling (ALE) is a middleware tool provided by SAP to link SAPapplications with both other SAP applications and non-SAP applications.AlertAn Alert is a message that is sent when a pre-configured condition is reached andtypically used to monitor for exception conditions in computer systems and businessprocesses. Alerts can be delivered via e-mail, fax, or SMS. SAP has extensivefunctionality for defining, monitoring, and routing Alerts.Asynchronous MessageThe message is "non-blocking". The sending application does not wait for a responsemessage from the receiving service and continues processing. A response to the messagewill come in a separate "call-back" message if required. See also synchronous.BPMBusiness process Management (BPM) commonly refers to the design and processing ofIntegration Processes.Business ServiceA 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 theSystem Landscape Directory (SLD). You would typically use Business Services torepresent systems of your business partners because there systems are not in yourlandscape.Business SystemBusiness systems are defined in the System Landscape Directory (SLD) and represent thelogical systems that are the senders and receivers of messages.Communication Channel (CC)
    • Creating a BPM Scenario in XIGlossary Page 128 of 154A communication channel defines the adapter (protocol) that will be used tocommunicate messages to a business system or service.CorrelationA correlation is used to match XML messages that are participating in a instance of anIntegrating Process. In a correlation you define XML elements that are used to join one ormore XML messages. You must specify a correlation in a receive step of an Integrationprocess so that XI will know what inbound message to match with the run-time instanceof the Integration Process.Data TypesA Data Type is an XML Schema Definition (XSD) and is used to define the structure of amessage type. A data type can be used to validate payloads of messages.IDOCAn IDOC is an electronic document that is in a SAP proprietary format for exchangingdata between systems. There are IDOC formats for exchanging almost any businessdocument, transaction, or master data object.IDOC Meta DataIDOC Meta Data is used to validate and process IDOCs. This Meta Data is managed bytransaction IDX2 and can be loaded from the external SAP system via RFC.Integration BuilderThis is the central tool for the design and configuration of XI objects. The integrationbuilder is divided into two areas: Design and Configuration. These two areas are referredto as: Design – Integration Repository and Configuration – Integration Directory.Integration DirectoryThe Integration Directory is where all XI configuration objects are stored. TheIntegration builder is used to manipulate objects in the integration repository. TheIntegration Server accesses the Integration Directory to determine how to processmessages based on these configuration objects.Integration EngineThis is the central run-time component of the integration server. It is responsible forreceiving, processing, mapping, and sending of XML messages.Integration ProcessAn integration process is where you define a cross system business workflow forprocessing messages that span multiple business systems.Integration RepositoryThe integration Repository is where all XI design objects are stored. The Integrationbuilder is used to manipulate objects in the integration repository.Integration Scenario
    • Creating a BPM Scenario in XIGlossary Page 129 of 154An Integration Scenario is used to document the integration between business systems. Itcan contain links to all of the objects that involved in the exchange of messages betweensystems.Integration ServerThe Integration server is the central engine for processing messages in ExchangeInfrastructure. The Integration Server uses setting in the Integration Directory todetermine what business systems to send inbound messages to and what mappings arerequired in the process.Interface DeterminationAn Interface Determination is used to define which inbound interface and interfacemapping a message will be processed by. Interface Determination entries are selectedbased on the sender, outbound interface, and receiver.Interface MappingInterface Mappings are used to register a message mapping program to an inbound andoutbound interface in the integrating repository. XI uses the Interface Mapping to selectthe message mapping programs associated with request and response messages for thespecified interfaces.Message InterfacesA Message Interface defines an interface between application systems that is bothprogramming language and platform independent. In a Message Interface you define themessage type and communication parameters of the interface. Communicationparameters define a message as inbound or outbound and asynchronous or synchronous.Message MappingA Message Mapping is used to transform one XML message into another. Messagemappings are defined by using the XI graphical mapping enditor that is accessed in thedesign side of the Integration Builder.Message TypesA Message Type references the data type that it used to define the structure of a message.Namespace**TEMP**.Receiver AgreementA receiver agreement is used to determine how to transform a message so that it can beprocessed by a receiver. This occurs during outbound processing.Receiver DeterminationA receiver determination is used to define the services that a message will be sent to. XIuses the sending service, party, and message type to select a receiver determination entry.RFC
    • Creating a BPM Scenario in XIGlossary Page 130 of 154RFC (Remote Function Call) is the name for the standard SAP interface forcommunicating between SAP systems. RFC can be used to call a function remotely onanother SAP system or a non-SAP system that has implemented a RFC interface usingthe SAP RFC SDK.Runtime WorkbenchThe Runtime Workbench (RWB) is the central tool for monitoring the processing andperformance of messages and for the monitoring and testing the individual components ofExchange Infrastructure.Sender AgreementA Sender Agreement is used to determine how to transform a message so that it can beprocessed by the Integration Engine. This occurs during inbound processing.SLDThe System Landscape Directory is a server application that stores information on thehardware and components in your SAP landscape. XI uses the SLD to store informationon business systems, technical systems, products and software components.SOAPSOAP (Simple Object Access Protocol) is an XML-based protocol for accessing Webservices allowing disparate applications to exchange information over networks usingXML syntax. SOAP acts as an “envelope” to package the XML messages sent betweenclient applications and Web services. WSDL and SOAP work together with WSDLproviding detailed descriptions of a Web service and SOAP providing the actual datatransport between the Web service and the requesting client application (usually overHTTP).Software CatalogThe software catalog is part of the SLD and is used to store information on the productsand software components in the SAP landscape. This is where new software componentsneed to created before they can be used for new development.Software Component VersionSoftware component versions are the packages that are used in XI to organizedevelopment objects in XI and are defined in the software catalog.Synchronous MessageThe message will block. The sending application will wait for a response from thereceiving service before continuing processing. See also asynchronous.System Landscape Directory (SLD)The System Landscape Directory is a server application that stores information on thehardware and components in your SAP landscape. XI uses the SLD to store informationon business systems, technical systems, products and software components.
    • Creating a BPM Scenario in XIGlossary Page 131 of 154WSDLWSDL (Web Services Description Language) is an XML-based language used todescribe and locate Web services. It is the language used by UDDI (UniversalDescription, Discovery, and Integration), which is an XML-based registry wherebusinesses list information about themselves and their available Web services. WSDLworks hand-in-hand with SOAP, where WSDL describes a Web service and thefunctionality it provides, and SOAP is used by the client application to actually call thefunctions listed in the WSDL description.XMLThe eXtensible Markup Language (XML) is a specification from the World Wide WebConsortium (W3C) that defines a meta language for describing data. In XMLapplications, data is described by surrounding it with customizable, text-based tags thatgive information about the data itself as well as its hierarchical structure.XPATHXPATH is a language for addressing parts of an XML document.XSDAn XML Schema Definition (XSD) is an instance of an XML schema written in theXML Schema language. An XSD defines a type of XML document in terms ofconstraints upon what elements and attributes may appear, their relationship to eachother, what types of data may be in them, and other things. It can be used with validationsoftware in order to ascertain whether a particular XML document is of that type, and toproduce a Post-Schema Validation Infoset.XSLTXSLT (Extensible Style Language Transformation) style sheets transform an XMLdocument into either, another XML document, an HTML/XHTML Web page, or asimple text file. The XSLT style sheet specifies how an XSLT processor should createthe desired output from an associated XML input document.
    • Creating a BPM Scenario in XIAppendix A – Data Types Page 132 of 154APPENDIX A. Abbreviations UsedAbbreviation DescriptionBPM Business Process ManagementBPE Business Process EngineCRM Customer Relationship ManagementDT Data TypeECC ERP Central Component – Part of the ERP solutionERP Enterprise Resource PlanningIDoc Intermediate DocumentIS Integration ServerIM Interface MappingIP Integration ProcessIS Integration ScenarioMI Message InterfaceMM Message MappingMT Message TypeRWB Runtime Work BenchSLD System Landscape DirectorySOAP Simple Object Access ProtocolXI Exchange InfrastructureXML Extensible Markup LanguageXSD XML Schema Definition.WSDL Web Services Description LanguageXSLT Extensible Style Language Transformation
    • Creating a BPM Scenario in XIAppendix A – Data Types Page 133 of 154APPENDIX B. Data TypesXSD – 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 XIAppendix A – Data Types Page 134 of 1542b77a3546c0811dac1bbc49fac172862</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 XIAppendix 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 XIAppendix 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 XIAppendix 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 XIAppendix 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 XIAppendix B – WSDL Files Page 139 of 154APPENDIX C. WSDL FILESMI_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 XIAppendix 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 XIAppendix 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&amp;version=3.0&amp;Sender.Service=DEMO&amp;Interface=http%3A%2F%2Fwww.demo.com%2FXI%5EMI_ORDER" /></wsdl:port></wsdl:service></wsdl:definitions>
    • Creating a BPM Scenario in XIAppendix C – XIMAIL30.XSD File Page 142 of 154APPENDIX D. EXTERNAL FILESXIMAIL30.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 orother rights that might be claimed to pertain to the implementation or use of thetechnology described in this document or the extent to which any license under suchrights might or might not be available; neither does it represent that it has made anyeffort 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 derivativeworks that comment on or otherwise explain it or assist in its implementation may beprepared, copied, published and distributed, in whole or in part, without restriction ofany kind, provided that the above copyright notice and this paragraph are included on allsuch copies and derivative works. However, this document itself does not be modified inany 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 TOANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANYIMPLIED 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 forSMTP)</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 XIAppendix 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 XIAppendix 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 XIAppendix 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 XIAppendix D – Message Mappings Page 146 of 154APPENDIX E. Message MappingsMM_Order_to_ORDERS05Figure 190: Message Mapping - MM_Order_to_ORDERS05The following is a text view of the message mapping. All constants have been addedbetween 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 XIAppendix 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_TRIGGERFigure 191: Message Mapping - MM_Order_to_ORDERS05The following is a text view of the message mapping. All constants have been addedbetween the parentheses.
    • Creating a BPM Scenario in XIAppendix D – Message Mappings Page 148 of 154E.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_OrderResponseFigure 192: Message Mapping - MM_Order_to_ORDERS05The following is a text view of the message mapping. All constants have been addedbetween 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 XIAppendix 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=)/ns0:MT_ORDERRESPONSE/Order_Line=/ORDERS05/IDOC/E1EDP01=/ns0:MT_ORDERRESPONSE/Order_Line/Line_num=/ORDERS05/IDOC/E1EDP01/POSEX=/ns0:MT_ORDERRESPONSE/Order_Line/Line_Status=const(01)/ns0:MT_ORDERRESPONSE/Order_Line/Material=ifWithoutElse(stringEquals(/ORDERS05/IDOC/E1EDP01/E1EDP19/QUALF=, const(002)), /ORDERS05/IDOC/E1EDP01/E1EDP19/IDTNR=)/ns0:MT_ORDERRESPONSE/Order_Line/Quantity=/ORDERS05/IDOC/E1EDP01/MENGE=/ns0:MT_ORDERRESPONSE/Order_Line/Price=/ORDERS05/IDOC/E1EDP01/VPREI=MM_ORDRSP_to_BPM_TRIGGERFigure 193: Message Mapping - MM_ORDRSP_to_BPM_TRIGGERThe following is a text view of the message mapping. All constants have been addedbetween 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 XIAppendix D – Message Mappings Page 150 of 154/ns0:MT_BPM_TRIGGER/DocName=const(ORDRSP)MM_ BPM_to_EMAILFigure 194: Message Mapping - MM_BPM_to_EMAILThe following is a text view of the message mapping. All constants have been addedbetween the parentheses.E.g. setting field DIRECT of Segment EDI_DC40 to constant 2 is depicted:/ORDERS05/IDOC/EDI_DC40/DIRECT=const(2)And this corresponds to the mapping:Text View of Message Mapping:/ns1:Mail/Subject=concat(const(Order response not received for PO :), /ns0:MT_BPM_TRIGGER/DocNum=)/ns1:Mail/From=const(webmaster@sapgenie.com)/ns1:Mail/To=const(Kevin@sapgenie.com)/ns1:Mail/Content_Type=const(text/html)/ns1:Mail/Content=concat(const(<b>Key field</b> :), /ns0:MT_BPM_TRIGGER/Key1=)
    • Creating a BPM Scenario in XIAppendix D – Message Mappings Page 151 of 154IndexAABAP Objects · 6Abstract asynchronous · 19Abstract interface · 47, 49Actions · 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 46Receive_BPM_TRIGGER · 33, 35, 36, 43, 44, 45Receive_BPM_TRIGGER_MATCH · 34, 38, 39,44, 46Receive_Order · 33, 35, 43, 44Receive_OrderResponse · 33, 37, 38, 44, 45, 46Send_Order · 33, 34, 42, 43, 44, 45, 46Send_OrderResponse · 33, 36, 37, 44, 45AdapterEMail · 7File · 19, 73, 89FTP · 7IDoc · 7, 9, 19, 22, 23, 33, 35, 36, 72, 78, 88, 94,116, 117, 136Mail · 74, 101, 142SOAP · 19, 72, 73, 77, 83XI · 83, 95, 100Adapter Engine · 72, 73, 75, 122, 124adapter framework · 9Adapter Specific Identifiers · 69Adapter Type · 72, 73, 74ALE · 6alert · 7, 48, 55, 59, 63, 64, 65, 125alert category · 62, 63, 64, 66fixed recipients · 65role · 40, 42, 65Alert Configuration · 62alert framework · 7Alert Inbox · 125ARIS · 6Assign · 45, 47, 52, 53, 65, 81, 87, 92, 93, 99, 105Asynchronous · 19, 20, 21, 22, 57, 72BBinary · 74BPM · See Business Process ManagementCorrelation Editor · 48, 50Graphical Definition · 48, 49, 50, 51, 52, 56, 57, 61BPM engine · 7, 19, 47, 48BPM process · 14, 19, 23, 33, 64, 65BPM scenario · 6, 9, 23business landscape · 9Business Process Management · 6, 132Business Service · 70, 71, 72, 73, 74, 77, 83, 89, 101Business services · 9Business System · 41, 72, 78, 88, 94business systems · 9Ccache · 10communication channelIDoc · 72Communication Channel · 72, 73, 74, 78Content Encoding · 75File Construction Mode · 74File Type · 74Message Protocol · 72, 73, 75SOAP · 78Transport Protocol · 72, 73, 75Write Mode · 74communication channels · 9, 72, 76configuration scenario · 67Configuration Scenario · 67, 81, 86, 92, 99, 105container · 47, 48, 49, 52, 55, 59Container · 48, 49, 50, 52, 55, 59container element · 55Container Elements · 49Container Operation step · 52, 53Container Operation step · 53Container Operation step · 53Container Operation step · 55correlated · 7, 14, 19, 33correlation · 47, 49, 50, 51, 61Correlation Container · 50correlation mapping · 48CRM · 7, 9, 19, 33, 41, 42, 43, 72, 76, 116, 132Customer Relationship Management · See CRMDdata type · 14, 15, 16, 28, 132, 133Data Type · 12, 15, 16, 132DT_BPM_TRIGGER · 18DT_ORDER · 14, 16, 17, 133, 139MT_BPM_TRIGGER · 18EECC · 7, 9, 19, 23, 33, 41, 42, 44, 72, 88, 94, 132Electronic Data Interchange · 6ERP Central Component · See ECCExactly Once · 72exception handling · 7Extensible Markup Language · See XML
    • Creating a BPM Scenario in XIAppendix D – Message Mappings Page 152 of 154Extensible Style Language Transformation · SeeXSLTExternal Definition · 12, 13, 14, 19, 22, 23, 32Import · 13FFTP · 7, 14GGeneratedReceiverChannel_IDoc · 76HHTTP · 72IIdocORDRSP · 7, 9, 23, 25, 26, 28, 30, 31, 33, 36, 45,91, 97, 108, 109, 110, 150IDoc · 132ORDERS · 7, 9, 14, 15, 19, 23, 24, 29, 33, 35, 46,80, 98, 103, 107, 109, 110, 111, 112, 114, 146ORDERS05 · 7, 24, 29, 117, 146, 147, 148, 149IDOCS · 6IDS Scheer · 6imported IDocs · 28Inbound asynchronous · 19Inbound Interfaces · 35, 37, 38Incoming Message · 77, 83, 88, 94, 100Integration Builder · 9, 62, 112Integration Directory · 9, 10, 67, 119Integration Engine · 122, 123Integration Process · 19, 41, 43, 44, 46, 47, 48, 49, 50,51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 68,69, 83, 95, 100, 132Abstract Interface · 55Activate Correlation · 52Activate Correlations · 62block · 53, 54, 55, 56, 57, 58, 59, 60control step · 55, 57, 58, 59, 60, 61, 64Correlation List · 50Correlation Name · 50deadline branch · 54, 55, 56, 57, 61Exception · 56, 57, 58, 59, 60, 61exceptions · 54Message field · 50, 61mode · 54Mode · 57Receive step · 49send step · 56, 57, 58source message · 56Stop marker · 52, 53target message · 56transformation step · 55, 56Use Correlations · 62Integration Process Service · 68Integration Repository · 10, 118Integration Scenario · 33, 39, 40, 41, 42, 43, 44, 45,46, 47, 67, 132Insert Application Component · 39, 41, 42IS_Orders · 39, 47, 67system components · 39Integration server · 7Integration Server · 72, 73, 75, 122, 123, 132Interface Determination · 76, 80, 85, 91, 97, 98, 103,104, 108, 109, 110Interface Mapping · 28, 29, 30, 31, 32, 33, 45, 56, 118,132IM_BPM_to_EMAIL · 28, 32, 33, 56IM_Order_to_BPM_TRIGGER · 28, 29, 30, 45IM_Order_to_ORDERS05 · 28, 29IM_ORDRSP_to_BPM_TRIGGER_CATCH · 28,31, 45IM_ORDRSP_to_OrderResponse · 28, 30source interface · 29, 30, 31, 32target interface · 29, 30, 31, 32Interface Namespace · 72, 114Interface Objects · 13Interface Variable · 50, 51, 53, 56, 57, 61, 62Intermediate Document · See IDocInternal Communication · 77, 83, 88, 94, 100Involved Messages · 50, 51IP_ORDER · 33IP_ORDERs · 48, 68LLogical System · 69MMapping Interface · 12Mapping Objects · 24, 25, 26, 27, 29, 30, 31, 32Message TypeORDERRESPONSE · 17Message Interface · 12, 16, 19, 20, 21, 22, 29, 30, 31,32, 33, 34, 36, 37, 38, 49, 50, 51, 55, 71, 76, 114,132MI_BPM_TRIGGER · 16, 19, 20, 21, 28, 30, 32,33, 34, 36, 45, 47, 49, 50MI_BPM_TRIGGER_MATCH · 16, 19, 21, 28,31, 33, 38, 50, 51MI_EMAIL · 19, 22, 28, 32, 55, 71, 103, 104, 107,110, 112
    • Creating a BPM Scenario in XIAppendix D – Message Mappings Page 153 of 154MI_ORDER · 16, 19, 20, 28, 29, 30, 33, 34, 45,72, 79, 80, 84, 85, 98, 107, 108, 109, 111, 114,115, 119, 121, 139, 140ORDERRESPONSE · 19, 20, 28, 33, 37Message Interface layer · 19Message Interfaces · 14, 16, 19, 20, 21, 22, 28, 50Message Mapping · 12, 23, 24, 25, 26, 27, 28, 132,146, 147, 148, 149, 150MM_BPM_to_EMAIL · 23, 27, 28, 29, 32MM_Order_to_BPM_TRIGGER · 23, 24, 25, 28,30MM_Order_to_ORDERS05 · 23, 24, 28, 29MM_ORDERS05_to_OrderResponse · 23, 25, 26,28, 31MM_ORDRSP_to_BPM_TRIGGER · 23, 26, 27,28, 31Message Mappings · 23, 24, 25, 26, 27, 28, 146source message · 24, 25, 26, 27target message · 24, 25, 26, 27, 29, 30, 31, 32Message Monitoring · 123, 124Message Type · 12, 17, 18, 29, 30, 31, 32, 33, 34, 132MT_ORDER · 16, 17, 19, 23, 24, 29, 30, 119, 139,140, 146, 147, 148MT_ORDERRESPONSE · 16ORDERRESPONSE · 17, 18, 19, 20, 23, 30message types · 16, 28metadata · 117middleware · 7, 72MT_BPM_TRIGGER · 16, 18, 19, 21, 23, 24, 26,27, 30, 31, 32, 33, 34, 51, 53, 148, 149, 150MT_BPM_TRIGGER_MATCH · 51Nnamespace · 11, 13NFS · 73OOutbound asynchronous · 19outbound interface · 34, 36Outbound Interfaces · 34, 36, 70Outgoing Message · 78, 83, 89, 95, 101Pport · 113, 116, 117, 141QQuality of Service · 72RReceiver Agreement · 80, 86, 92, 98, 104, 111, 112receiver agreements · 76Receiver Determination · 79, 85, 91, 97, 103, 107, 108Receiver radio button · 73, 74, 97, 103Receiver tab · 70, 71RFC destination · 116, 117Runtime Workbench · 62, 65, 122, 123, 124, 125SScenarios tab · 67, 76, 82, 88, 94, 100Sender Agreement · 19, 78, 79, 84, 90, 96, 102, 111Sender tab · 70Simple Object Access Protocol · See SOAPSimple Variable · 52SLD · 9, 10, 132smtp · 75SOAP · 6, 14, 19, 72, 78, 113, 118, 121, 122, 132, 141Software Catalog · 9Software Component · 9, 10, 11, 40, 42Swim Lanes · 41System Landscape Directory · See SLD, See SLD,See SLDTTarget Field · 52Test configuration · 119Testing · 6, 118, 120timeout · 7, 57, 60TransactionALRTCATDEF · 63IDX1 · 116, 117IDX2 · 117SM59 · 116SWI1 · 125SXMB_IFR · 9Wweb service · 72, 113, 114, 115, 120Web Services Description Language · See WSDLWizard · 76, 77, 82, 88, 93, 94, 99, 100, 106, 113Configuration · 77, 82, 88, 94, 100Configuration log · 81, 87, 99, 105workflow · 47workflow log · 125WSDL · 6, 115, 120, 121, 132, 139
    • Creating a BPM Scenario in XIAppendix D – Message Mappings Page 154 of 154XXI MessageDT_BPM_TRIGGER · 14, 16, 136DT_ORDERS · 15ORDERRESPONSE · 14, 15, 16, 25, 30, 37, 70,92, 112, 148, 149XI_MAIL · 13, 19, 22, 23, 27, 32XIAPPLUSER · 122XML · 6, 7, 9, 14, 23, 118, 119, 120, 121, 122, 132XML payload · 118, 119XML Schema Definition · See XSDXMLSpy · 118, 120XPath · 51, 53XPATH · 6XSD · 12, 13, 15, 16, 28, 132, 133, 134, 136, 142XSLT · 6, 132