How to Support Industry Standards in XI (Part III of III) - Config & Test

 
Welcome back!

Thanks for sticking with me so far!!! I apologize for the delays in providing the final installment of this series.
I'll be at TechEd 2006 in Las Vegas. Hope to see you there!

To recap

The first two blogs ( Part I Part II ) spent time in the SAP XI Integration Repository. We will leave that area of XI to go to the XI Integration Directory. We at SAP typically distinguish between 'Design Time' activities and 'Configuration Time' activities. Design-time relates to the XI Integration Repository and configuration-time relates to the XI Integration Directory. You have created your design time objects and now you would like to test.

Let's get down to business. The basic scenario looks like:
image
Or for the dyslexic: (like me) OAG XML --> XI --> R/3 IDOC

Note: picture reprinted and edited with out permission from Sam Raju.

Step I: Configuring XI
  1. From ABAP, start the Integration Builder (Transaction Code: SXMB_IFR).
  2. Login to the Integration Directory.
  3. Click the image Create Object button.
  4. In the Create Object window, select Configuration Scenario
    image
  5. Enter <your description here> in the Configuration Scenario* text box. (ex: Guanzon_SDN_Blog)
  6. Click Create.
  7. Save and activate your changelist.
    image
    It's also possible to import an Integration Scenario that you define in Design Time in the Integration Repository.
    For more info see Shailesh Mane's blogs on this topic. Of course, you can always ask me to do a step-by-step
    blog specifically for this series, but I'll wait for your feedback... =P
Objects to Create

In the SAP XI Integration Directory, we will need to create or assign the following objects in <your> Configuration Scenario to support this B2B scenario:

  • Party
  • Service Without Party
  • Receiver Determination
  • Interface Determination
  • Receiver Agreement

===============================

Party

We will need one (1) party for this Configuration Scenario - a Sender. We will also create a Business Service and a Communication Channel under this party.

  1. Right click on the Party icon
  2. Select "New".
  3. Enter OAG_Sender in the Party* field.
    Please note that case will matter when you get to Section II: Testing!!!
    image
  4. Navigate to the Identifiers section
  5. Under "Agency" enter the identifier for the SAP R/3 system which should be in the System Landscape Directory (SLD) (ex: BC_WC1800)
  6. Under "Scheme", enter ALE#KU
  7. Under "Name", enter the actual SAP R/3 Customer Master identifier for this trading partner (ex: DLR2_GRP02)
    image
  8. Save your Party.
    Business Service
  9. Create a Business Service under the Party OAG_Sender.
  10. Right click on Business Service, click New.
  11. Name the Service*, OAG_ProcessPurchaseOrder_Sender. Click Create.
  12. Click the "Sender" tab
  13. Click the Insert Line button
  14. Click the image F4 button, the Select Interface window will appear.
  15. Scroll through the list. Select the check box for ProcessPurchaseOrder
    • Please ensure that the namespace is http://xyz.com/xi/OAG/80/R3/46C
    • Please ensure that the Software Component Version is OAG_EXAMPLE, 30.1 of xyz.com
    image
  16. Save your Business Service.
    Communication Channel
  17. Create a Communication Channel. Right click on Communication Channel, click New.
  18. Name the Communication Channel*, OAGSender_Send_ProcessPurchaseOrder. Click Create.
  19. On the Parameters tab, click the F4 button for Adapter Type*.
  20. The Choose Adapter Metadata window will appear, select the SOAP adapter. Click OK.
    • Please ensure that the namespace is http://sap.com/xi/XI/System.
    • Please ensure that the Sofwtare Component Version is SAP BASIS 6.40.
  21. Select the Sender Radio Button. Default is "Receiver". Please change to Sender.
    image
  22. Under Default XI Parameters Section, in Default Interface Namespace* enter: http://xyz.com/xi/OAG/80/R3/46C.
  23. In the Default Interface Name* enter: ProcessPurchaseOrder.
  24. Under the Processing Parameters Section, change the Quality of Service* to Exactly Once. Note the default is "Best Effort". Please change to Exactly Once.
  25. Save your Communication Channel.
  26. Activate your changelist.

===============================

Service Without Party

Next let's assign the Receiver. In this example, this is the SAP R/3 4.6C backend system. We'll assume you have already made the necessary entries in the SLD.

  1. Click on the "Objects" tab
    image
  2. Navigate to the "Service Without Party" objects.
  3. Click on "Business System"
  4. Right Click on the appropriate SAP R/3 backend system. In this example, select BS_WC1800.
  5. Expand the Communication Channel node
  6. Select the channel associated with IDOC communication. In this example, select IndustrySpeak_IdocReceiver
  7. Select "Add to Scenario"
    image
  8. Select the appropriate Configuration Scenario you created earlier (ie: Guanzon_SDN_Blog)
  9. Click Add. The Business System and Communication Channel will be added to your scenario, under Service Without Party.
    image
  10. Save and Activate your changes.

===============================

Receiver Determination

Three more items to go... We still have to create a Receiver Determination (RD), Interface Determination (ID), and Receiver Agreement (RA). Let's create a Receiver Determination:

  1. Right click on Receiver Determination, click New.
  2. Under the Sender section in the Party field, please click F4.
  3. Select the party OAG_Sender. Click OK.
  4. Under Service*, Click F4.
    The Search Result should return the Service OAG_ProcessPurchaseOrder_Sender with the Party OAG_Sender.
  5. Under Interface*, Click F4.
    The Search Result should return the ProcessPurchaseOrder interface.
    Please ensure that the namespace is: http://xyz.com/xi/OAG/80/R3/46C
  6. Select the "Sender Uses Virtual Receiver" checkbox.
  7. Leave the default values of "*" for both Partner and Service in the Receiver Section.
  8. Click Create.
    image
  9. Under the Configured Receivers Section, under Service Click F4. image
  10. In the Service Editor window, select the appropriate receiving SAP R/3 backend system. In this case, please select BS_WC1800
  11. Save your Receiver Determination.
  12. Activate your Changelist.
    image
  13. In the Configuration Overview section, notice that the Interface Mapping and Receiver Agreement has the value of "Does Not Exist". Let's create those two remaining items.

===============================

Interface Determination
  1. Right click on Interface Determination, click New.
  2. Under the Sender section in the Party field, please click F4.
  3. Select the party OAG_Sender. Click OK.
  4. Under Service*, Click F4.
    The Search Result should return the Service OAG_ProcessPurchaseOrder_Sender with the Party OAG_Sender.
  5. Under Interface*, Click F4.
    The Search Result should return the ProcessPurchaseOrder interface.
    • Please ensure that the namespace is: http://xyz.com/xi/OAG/80/R3/46C
  6. Under the Receiver section, leave the Party field blank.
  7. Under Service*, Click F4. In the Search Result, select the Service without PartyBS_WC1800. Click OK.
  8. In the "Configured Inbound Interfaces" section, under the "Inbound Interface", Click the F4 icon.
    image
  9. The Select Interface window will appear, scroll down to the appropriate target interface, in this example select ORDERS.ORDERS05
    • Please ensure that the Software Component Version is SAP APPL 4.6C. Click OK.
  10. Under the "Interface Mapping" section, in the Software Component Version, click the imageF4 icon.
  11. The Select Mapping window will return all the Interface Mappings which contain the corresponding source and target interfaces in the Interface Determination.
    Select ProcessPurchaseOrder_OrdersOrders05
  12. Save your Interface Determination.
  13. Activate your changelist.

===============================

Receiver Agreement
  1. Right click on Receiver Agreement, click New.
  2. Under the Sender section in the Party field, please click F4.
  3. Select the party OAG_Sender. Click OK.
  4. Under Service*, Click F4.
    The Search Result should return the Service OAG_ProcessPurchaseOrder_Sender with the Party OAG_Sender.
  5. Under the Receiver section, leave the Party field blank.
  6. In the Service* field, Click F4. In the Search Result, select the Service without PartyBS_WC1800. Click OK.
  7. In the Interface* field, Click F4.
  8. The Select Interface window will appear, scroll down to the appropriate target interface, in this example select ORDERS.ORDERS05
    • Please ensure that the Software Component Version is SAP APPL 4.6C. Click OK.
  9. Click Create.
  10. In the Receiver Communication Channel*, click F4.
  11. Select the appropriate inbound (backend) communication channel, in this example select IndustrySpeak_IdocReceiver
    • Leave the Header Mapping fields blank
  12. Save your Receiver Agreement.
  13. Activate your changelist.


image

Congratulations!

You've now completed the basic configuration objects necessary in the Integration Builder. Let's move on to how to test this scenario.
====================================================

Step II: Testing the Scenario

image
This scenario involves a trading partner (OAG_Sender) to send a message to a recipient who has SAP Netweaver and an SAP R/3 4.6C system.
The SAP Exchange Infrastructure (XI) will receive an OAG XML message sent by the HTTP Client.
Of course, you can use the Quick Test Tool (QTT) in the Runtime Workbench (RWB) in XI to simulate sending messages. More on the QTT in a separate blog...
image
Prerequisites for testing

  • HTTP Client
  • Sample XML file
  • An SAP ERP backend (preferably one that has ALE and the inbound ORDERS.ORDERS05 IDOC configured) [Note: documentation for this topic (#3) is out of scope - please see elsewhere in SDN for this info]
  1. First, prepare the XML file to be sent from the HTTP Client to XI from the party: OAG_Sender.
    Have a look at this blog for the XML input file to be used in the HTTP Client.
  2. Next, please have a look at this HTTP Client Code Sample. My distinguished XI RIG colleague, Joachim Orb has graciously allowed me to post his code found here.
  3. Create a local copy of the HTTP Client HTML on your filesystem.
  4. Access the HTML page for the HTTP Client.
  5. In the Header Section, in the ServerHost field, replace <your XI server here> with the hostname for your XI server. In this example, enter nspad375.pal.sap.corp
  6. In the Client field, enter the appropriate 3-digit client identifier of the XI system to which you are connecting. In this example, it's 100.
  7. In the SenderService field, ensure that the value is: OAG_ProcessPurchaseOrder_Sender .
  8. In the SenderInterface field, ensure that the value is: ProcessPurchaseOrder.
  9. The ServerPort field will vary from XI system to XI system. Please contact your XI admin to determine the correct value. In this example, we use 8008.
  10. QOS field, ensure that the value is: EO.
  11. In the SenderNamespace, ensure that the value is: http://xyz.com/xi/OAG/80/R3/46C
  12. Under the "Optional Parameters" section, ensure that the SenderParty field has the party: OAG_Sender.
  13. Under the "Payload" section, you have a choice of cut and pasting the OAG_Sender XML file or uploading the file from your file system into the client. Select your preferred method.
  14. Click the Send button to submit the XML file to XI.
  15. In the "Result" section, you should see an acknowledgement from the SAP XI Soap Adapter in the URL textbox.
    image
  16. You are now ready to monitor the message as it flows from the HTTP Client to SAP XI and eventually to SAP R/3.
    Note: Errors may occur in the HTTP Client if you do not match the exact spelling and case of the objects you created in XI during config time.
Step III: Monitoring XI
  1. From ABAP, goto "Integration Engine - Monitoring" (Transaction Code: SXMB_MONI)
    • Alternatively, through the menu path:
      Exchange Infrastructure --> Monitoring --> Integration Engine - Monitoring.
  2. Click "Monitor for Processed XML Messages"
  3. Enter the appropriate date/time range for when you sent the message from the HTTP Client to XI.
  4. Click the Execute (F8) Button. image
  5. The messages available in the Integration Engine should appear. image
  6. Explanation of the XI monitoring tool is out of scope for this blog. If you click on the message details in SXMB_MONI, take note of the XML Message ID.
    image
  7. If you get the image Checkered Flag in the Status column, you can move to Step IV.
    Otherwise, if you received some other status than the checkered flag, please recheck and compare all of the values you entered in the HTTP Client against the XI Configuration objects. Make any necessary modifications and re-run the test by sending the message to XI.
Step IV: Monitoring SAP ERP (R/3)
  1. Login to your SAP ERP system.
  2. Monitor the IDOC's received on the SAP ERP system (Transaction Code: WE02).
    • Alternatively, from the meun navigate to Tools --> ALE --> ALE Administration --> IDoc Display --> Display
  3. Enter the appropriate time and date parameters, based on when you sent your OAG XML message from either the HTTP Client or XI Test Tool.
  4. Click the Execute button image or the F8 button.
  5. Search for the External Party as the sender of the IDOC.
    image
  6. Notice under Control Rec. --> Details Tab --> Identification Field that the 32-character message id matches the same id in XI.
    image
  7. Click on the Data records for info on the different segments of the IDOC, this is essentially the business payload. For more info about IDOCs please see my other blog. Additionally, you can check out SAPGenie (Thanks Sam Raju for this link!).
  8. Next click on Status records. Assuming you have status 53, click on this status to determine the Sales Order number to check in the Sales Application.
    image
  9. In this case, our order number is: 10793.
  10. Next let's have a quick look at the Sales Application to see the Sales Order as it was posted in SAP R/3. Enter transaction VA03.
  11. Enter Sales Order number 10793.
    image
  12. Verify that the details sent in your OAG_Sender XML file appear in the SD Order.
    image
Voila!

You're done. We've now had a chance to have a look at how to support industry standards, such as OAG, within SAP XI. We've uploaded interfaces, created mappings, configured, tested and monitored XI. In addition, we have had an opportunity to peak into the lovely functionality of SAP R/3. I hope you've learned something, as I've had a fun time producing this series of Blogs! Cheers!
Note: My XI system was upgraded from NW04 SP14 to NW04s SP08 between the publishing of Part II and this final installment. Please allow for any unintentional image inconsistencies in this blog.

http://sapxitutorials.blogspot.com/2009/07/how-to-support-industry-standards-in-xi.html

SAP XI Training

SAP Developer Network SAP Weblogs: SAP Process Integration (PI)