<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SAP Experts: VMware Virtualization &#124; Consulting &#124; Integration - DataXstream &#187; Message Mapping</title>
	<atom:link href="http://www.dataxstream.com/tag/message-mapping/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dataxstream.com</link>
	<description>SAP Certified Consultants</description>
	<lastBuildDate>Tue, 07 Feb 2012 23:57:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How To: SAP PI Data Type Enhancements</title>
		<link>http://www.dataxstream.com/2011/10/how-to-sap-pi-data-type-enhancements/</link>
		<comments>http://www.dataxstream.com/2011/10/how-to-sap-pi-data-type-enhancements/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 15:15:43 +0000</pubDate>
		<dc:creator>Craig Stasila</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[SAP Interface Blog]]></category>
		<category><![CDATA[SAP PI Blog]]></category>
		<category><![CDATA[SAP Technical]]></category>
		<category><![CDATA[BADI]]></category>
		<category><![CDATA[Craig Stasila]]></category>
		<category><![CDATA[Data Type Enhancement]]></category>
		<category><![CDATA[DataXstream]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Message Mapping]]></category>
		<category><![CDATA[PI]]></category>
		<category><![CDATA[SAP PI]]></category>
		<category><![CDATA[XI/PI]]></category>

		<guid isPermaLink="false">http://www.dataxstream.com/?p=5217</guid>
		<description><![CDATA[I have worked with SAP PI since it was called SAP XI (version 3.0).  SAP XI was pretty rough around the edges and was not what I would call an enterprise class integration tool.  Each successive SAP PI release and enhancement pack has steadily added functionality such that the latest version of SAP PI is [...]]]></description>
			<content:encoded><![CDATA[<p>I have worked with SAP PI since it was called SAP XI (version 3.0).  SAP XI was pretty rough around the edges and was not what I would call an enterprise class integration tool.  Each successive SAP PI release and enhancement pack has steadily added functionality such that the latest version of SAP PI is finally starting to resemble a fully functional EAI platform.</p>
<p>One such example of additional functionality is the ability to enhance delivered integration content.</p>
<p>Recently, I had to make some modifications to an integration scenario where an SAP ERP system was sending data to an external custom solution.  The good news was the SAP ERP and PI objects were built and delivered by SAP!</p>
<div id="attachment_5218" class="wp-caption alignnone" style="width: 511px"><a href="http://www.dataxstream.com/wp-content/uploads/Blog_dte00.jpg" rel="shadowbox[sbpost-5217];player=img;"><img class="size-full wp-image-5218" title="Delivered Content" src="http://www.dataxstream.com/wp-content/uploads/Blog_dte00.jpg" alt="SAP ERP Delivered Content" width="501" height="333" /></a><p class="wp-caption-text">SAP ERP Delivered Content</p></div>
<p>The bad news was that the interface, as designed, did not meet the business&#8217; need&#8230;</p>
<div id="attachment_5219" class="wp-caption alignnone" style="width: 615px"><a href="http://www.dataxstream.com/wp-content/uploads/Blog_dte01.jpg" rel="shadowbox[sbpost-5217];player=img;"><img class="size-full wp-image-5219" title="Blog_dte01" src="http://www.dataxstream.com/wp-content/uploads/Blog_dte01.jpg" alt="How to add fields to delivered content?" width="605" height="508" /></a><p class="wp-caption-text">How to add fields to delivered content?</p></div>
<p>So, the $64,000 question is, how do we add fields to delivered SAP PI content?<br />
<span id="more-5217"></span><br />
<h2>SAP PI Data Type Enhancement</h2>
<p>SAP PI data type enhancements allow developers to customize delivered SAP PI content.  Here&#8217;s a quick rundown of how it works:</p>
<h3>Step by Step SAP PI Data Type Enhancement Instructions</h3>
<ol>
<li>First, create a new data type enhancement in the SAP PI ESR:<br />
<a href="http://www.dataxstream.com/wp-content/uploads/Blog_dte02.jpg" rel="shadowbox[sbpost-5217];player=img;"><img class="alignnone size-full wp-image-5220" title="Blog_dte02" src="http://www.dataxstream.com/wp-content/uploads/Blog_dte02.jpg" alt="" width="624" height="382" /></a></li>
<li>Add the required fields to the required data elements and then save and activate your SAP PI changes.</li>
<li>The newly created data elements are now in message type:<a href="http://www.dataxstream.com/wp-content/uploads/Blog_dte04.jpg" rel="shadowbox[sbpost-5217];player=img;"><img class="alignnone size-full wp-image-5222" title="Blog_dte04" src="http://www.dataxstream.com/wp-content/uploads/Blog_dte04.jpg" alt="" width="669" height="438" /></a></li>
<li>Login to the SAP ERP system and activate the proxy changes via transaction SPROXY.  This will create/update the proxy structures that correspond to the newly created data elements in the ERP system:<a href="http://www.dataxstream.com/wp-content/uploads/Blog_dte05.jpg" rel="shadowbox[sbpost-5217];player=img;"><img class="alignnone size-full wp-image-5223" title="Blog_dte05" src="http://www.dataxstream.com/wp-content/uploads/Blog_dte05.jpg" alt="" width="439" height="456" /></a></li>
<li>Finally, create a BADI to populate the new data fields in the SAP ERP system:<br />
<a href="http://www.dataxstream.com/wp-content/uploads/Blog_dte06.jpg" rel="shadowbox[sbpost-5217];player=img;"><img class="alignnone size-full wp-image-5224" title="Blog_dte06" src="http://www.dataxstream.com/wp-content/uploads/Blog_dte06.jpg" alt="" width="639" height="246" /></a></li>
<li>Save and activate your ERP changes. Now you&#8217;re ready to rock and roll!</li>
</ol>
<p>SAP PI data type enhancements blends the stability and functionality of delivered content with the flexibility of custom development. It is definitely one of my favorite advances in the SAP PI platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dataxstream.com/2011/10/how-to-sap-pi-data-type-enhancements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simplify SAP PI Mapping Logic with FixValues Mapping</title>
		<link>http://www.dataxstream.com/2011/10/clean-up-sap-pi-mapping-logic-with-fixvaluemapping/</link>
		<comments>http://www.dataxstream.com/2011/10/clean-up-sap-pi-mapping-logic-with-fixvaluemapping/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 18:00:05 +0000</pubDate>
		<dc:creator>Dave Morin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[SAP Interface Blog]]></category>
		<category><![CDATA[SAP PI Blog]]></category>
		<category><![CDATA[SAP Technical]]></category>
		<category><![CDATA[DataXstream]]></category>
		<category><![CDATA[David Morin]]></category>
		<category><![CDATA[Message Mapping]]></category>
		<category><![CDATA[PI]]></category>
		<category><![CDATA[SAP PI]]></category>
		<category><![CDATA[XI]]></category>
		<category><![CDATA[XI/PI]]></category>

		<guid isPermaLink="false">http://www.dataxstream.com/?p=5159</guid>
		<description><![CDATA[I was trying to think of something to write about this weekend, when I happened to stumble upon this gem: After I stopped laughing, I started to cry, because I realized that this happens all the time in SAP PI&#8211;it just looks a little different&#8230; However, most of the time complex mappings can be simplified [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to think of something to write about this weekend, when I happened to stumble upon this gem:</p>
<p><iframe src="http://player.vimeo.com/video/9981123?byline=0&amp;portrait=0" frameborder="0" width="500" height="375"></iframe></p>
<p>After I stopped laughing, I started to cry, because I realized that this happens all the time in SAP PI&#8211;it just looks a little different&#8230;</p>
<p><span id="more-5159"></span></p>
<p><a href="http://www.dataxstream.com/wp-content/uploads/needlessly-complex-mapping1.png" rel="shadowbox[sbpost-5159];player=img;"><img class="alignnone size-full wp-image-9657" title="Needlessly Complex Mapping" src="http://www.dataxstream.com/wp-content/uploads/needlessly-complex-mapping1.png" alt="" width="606" height="272" /></a></p>
<p>However, most of the time complex mappings can be simplified by using a different approach.  The mapping block FixValues is a great tool to reduce needless. So let&#8217;s expand on this example.</p>
<h2>Reducing Complexity with FixValues Mapping Block</h2>
<p>Let&#8217;s say I am developing an interface between a database with information about goods/materials  and a file for system that needs the database data in an easy to read format. To help visualize here is some pseudo-XML of the database:</p>
<pre style="background-color: #eaeaea; color: #222;">&lt;Database&gt;
  &lt;row&gt;
    &lt;goodName /&gt;
    &lt;goodType /&gt;
    &lt;goodQuantity /&gt;
  &lt;/row&gt;
&lt;/Database&gt;</pre>
<p>And here is some pseudo-XML of the file layout:</p>
<pre style="background-color: #eaeaea; color: #222;">&lt;Report&gt;
  &lt;row&gt;
    &lt;goodNumberUOM /&gt;
    &lt;goodName /&gt;
   &lt;/row&gt;
&lt;/Report&gt;</pre>
<p>In this example, the database categorizes goods by a category code (A-Z). The type of good determines the unit of measure.  In this imaginary scenario, maybe all but 5 categories have unit of measure assignments.  Everything else has the unit of measure of furlongs.  If we were converting the values using code (ABAP, perhaps?), we could implement the logic using a case statement:</p>
<pre style="background-color: #eaeaea; color: #222;">  CASE L_CATEGORY.
    WHEN 'D'.
      L_UOM = 'pounds'.
    WHEN 'C'.
      L_OUM = 'ounce'.
    WHEN 'B'.
      L_OUM = 'kilogram'.
    WHEN 'Y'.
      L_OUM = 'Units'.
    WHEN 'Q'.
      L_OUM = 'SQFT'.
    WHEN 'J'.
      L_OUM = 'Other unit of measure'.
    WHEN 'G'.
      L_OUM = 'Quarks'.
    WHEN 'F'.
      L_OUM = 'Kilograms'.
    WHEN 'E'.
      L_OUM = 'Units'.
    WHEN OTHERS.
      L_UOM = 'Furlongs'.
  ENDCASE.</pre>
<p>But how would we accomplish the same using an SAP PI message mapping? Well, one option would be to implement the logic with nesting IF blocks, but that has the nasty side effect of producing the messy message mapping shown above.  Another option is to implement the case statement in a UDF.  But a simpler option exists.  Use a FixValues mapping block.</p>
<p>Here is the same mapping logic using a FixValues mapping block:</p>
<p><a href="http://www.dataxstream.com/wp-content/uploads/Manipulate-TRUEFALSE_1.png" rel="shadowbox[sbpost-5159];player=img;"><img title="Manipulate TRUEFALSE_1" src="http://www.dataxstream.com/wp-content/uploads/Manipulate-TRUEFALSE_1.png" alt="" width="607" height="560" /></a></p>
<p>And here are the FixValues settings: </p>
<p><a href="http://www.dataxstream.com/wp-content/uploads/Easier-to-understand-mapping_2.png" rel="shadowbox[sbpost-5159];player=img;"><img title="Easier to understand mapping_2" src="http://www.dataxstream.com/wp-content/uploads/Easier-to-understand-mapping_2.png" alt="" width="585" height="372" /></a></p>
<p>Another favorite trick of mine is to use FixValues to evaluate TRUE and FALSE. This can be useful on filtering at the root level (e.g. a requirement to not send a record when the good is a type not relevant to the report you are generating).  In this example mapping, the row will not get generated if the type isn’t a D, A, T, X, S, R, E, or M:</p>
<p><a href="http://www.dataxstream.com/wp-content/uploads/Manipulate-TRUEFALSE_1.png" rel="shadowbox[sbpost-5159];player=img;"><img title="Manipulate TRUEFALSE_1" src="http://www.dataxstream.com/wp-content/uploads/Manipulate-TRUEFALSE_1.png" alt="" width="607" height="560" /></a></p>
<p>And here are the FixValues settings: </p>
<p><a href="http://www.dataxstream.com/wp-content/uploads/Manipulate-TRUEFALSE_2.png" rel="shadowbox[sbpost-5159];player=img;"><img title="Manipulate TRUEFALSE_2" src="http://www.dataxstream.com/wp-content/uploads/Manipulate-TRUEFALSE_2.png" alt="" width="585" height="372" /></a></p>
<p>The FixValues mapping block is a very useful message mapping block that can be used to streamline complicated SAP PI message mappings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dataxstream.com/2011/10/clean-up-sap-pi-mapping-logic-with-fixvaluemapping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP PI CTS+: Letting CTS+ Out of the Bag to Get Better Change Management</title>
		<link>http://www.dataxstream.com/2010/08/sap-pi-cts-plus-better-change-management/</link>
		<comments>http://www.dataxstream.com/2010/08/sap-pi-cts-plus-better-change-management/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 14:00:43 +0000</pubDate>
		<dc:creator>Dave Morin</dc:creator>
				<category><![CDATA[SAP Interface Blog]]></category>
		<category><![CDATA[SAP PI Blog]]></category>
		<category><![CDATA[SAP Project Management]]></category>
		<category><![CDATA[SAP Technical]]></category>
		<category><![CDATA[Change Management]]></category>
		<category><![CDATA[CTS+]]></category>
		<category><![CDATA[DataXstream]]></category>
		<category><![CDATA[David Morin]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Message Mapping]]></category>
		<category><![CDATA[PI]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[SAP Integration]]></category>
		<category><![CDATA[SAP NetWeaver]]></category>
		<category><![CDATA[SAP PI]]></category>
		<category><![CDATA[Transports]]></category>
		<category><![CDATA[XI]]></category>
		<category><![CDATA[XI/PI]]></category>

		<guid isPermaLink="false">http://www.dataxstream.com/?p=5460</guid>
		<description><![CDATA[Anybody familiar with older versions of SAP XI/PI understand that transporting interface development and configuration changes is often a prickly situation.  Standard change management in PI relies on the manual packaging and processing of changes into files.  These files have many issues: No documentation A different means of transport than standard SAP transports (need some [...]]]></description>
			<content:encoded><![CDATA[<p>Anybody familiar with older versions of SAP XI/PI understand that transporting interface development and configuration changes is often a prickly situation.  Standard change management in PI relies on the manual packaging and processing of changes into files.  These files have many issues:</p>
<ul>
<li>No documentation</li>
<li>A different means of transport than standard SAP transports (need some training people used to ABAP transports)</li>
<li>Manual audit accountability (what do you do if you lose an exported PI .tpz file)</li>
</ul>
<p>To help resolve these issues, SAP released CTS+.  But, what is CTS+ and how can it help?</p>
<p><span id="more-6102"></span></p>
<h2>What is CTS+?</h2>
<p>CTS (with out the plus) is stands for SAP&#8217;s <em>Change and Transport System</em>.  This is the transport capability of the SAP NetWeaver AS ABAP.   SAP has enhanced CTS with the capability to transport non-ABAP objects&#8211;hence CTS+.  Change management on SAP NetWeaver AS ABAP has been a strength of SAP Netweaver for a very long time. In SAP PI, CTS+ leverages this strength by allowing Enterprise Service Registry (ESR) development objects and Integration Directory (ID) objects on the Java stack to be exported and packaged into standard transports that reside on the ABAP stack.</p>
<h2><strong>How Can CTS+ Help?</strong></h2>
<h3><strong>Documentation</strong></h3>
<p>With CTS+ you have the ability to document your transport when you create your request. This is amazingly helpful when it’s time to go to production, as you can see what changes were imported and when they were imported. Documentation is also helpful for the Integration Directory (ID) transports, which require activation and input of values.  To get to transport organizer, export what you want to export (namespace, scenario, etc.) using CTS+ (which should be default once it is set up).  Click on create/modification of request and you will see a screen like this:</p>
<p><a href="http://beta.dataxstream.com/wp-content/uploads/CTS+-01.png" rel="shadowbox[sbpost-6102];player=img;"><img class="alignnone size-full wp-image-5729" title="CTS+ 01" src="http://beta.dataxstream.com/wp-content/uploads/CTS+-01.png" alt="" width="660" height="413" /></a></p>
<p>Here you can put in details of the transport in the description as well as configure various other parameters about the transport.</p>
<p>Additionally, if your project has transport naming standards that require RICEF ID, defect numbers, change request number, trouble ticket number, etc., you can add that information here.</p>
<h3><strong>Standardization of Transports</strong></h3>
<p>With CTS+ it is possible to configure a standard way of handling transports that is consistent with your ECC environment. This will improve the overall reliability and robustness of environment change management, and will make life a lot easier for the people responsible for handling transports.  Someone accustomed to ABAP transports in ECC but who hasn’t worked with PI can jump in and change management with CTS+ will make sense. CTS+ also allows SAP PI to be compliant with your standard SAP change management governance.</p>
<p><a href="http://beta.dataxstream.com/wp-content/uploads/CTS+-02.png" rel="shadowbox[sbpost-6102];player=img;"><img class="alignnone size-full wp-image-5730" title="CTS+ 02" src="http://beta.dataxstream.com/wp-content/uploads/CTS+-02.png" alt="" width="639" height="206" /></a></p>
<h2>For More Information</h2>
<p>CTS+ is available with AS ABAP and AS Java from SAP NetWeaver SPS 12 onwards, although you will have better results with SPS 14 or higher. The following OSS Notes will be helpful:</p>
<ul>
<li><a href="http://service.sap.com/sap/support/notes/1003674" target="_blank">1003674</a> Enhancement for non-ABAP systems in CTS</li>
<li><a href="http://service.sap.com/sap/support/notes/1145268" target="_blank">1145268</a> CTS+: Changes from NW 7.0 SP12 -&gt; NW 7.0 SP13</li>
<li><a href="http://service.sap.com/sap/support/notes/1146170" target="_blank">1146170</a> CTS+: Changes from NW 7.0 SP13 -&gt; NW 7.0 SP14</li>
</ul>
<p>In short, CTS+ is a great tool for transport management. It is totally integrated with SAP PI, it is easy to set up, and has huge advantages when it comes to documenting transports and maintaining consistency with ECC standards.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dataxstream.com/2010/08/sap-pi-cts-plus-better-change-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun With SAP PI Message-Mapping</title>
		<link>http://www.dataxstream.com/2009/06/fun-with-message-mapping/</link>
		<comments>http://www.dataxstream.com/2009/06/fun-with-message-mapping/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 18:12:49 +0000</pubDate>
		<dc:creator>Craig Stasila</dc:creator>
				<category><![CDATA[SAP PI Blog]]></category>
		<category><![CDATA[SAP Technical]]></category>
		<category><![CDATA[Craig Stasila]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Message Mapping]]></category>
		<category><![CDATA[XI/PI]]></category>

		<guid isPermaLink="false">http://www.dataxstream.com/?p=1188</guid>
		<description><![CDATA[My previous post discussed the &#8220;hidden&#8221; menu in the SAP PI message mapping tool that can only be unlocked by pressing &#60;Ctrl&#62; + &#60;Shift&#62; while right clicking in the data flow editor area.  Hands down, the best feature of this menu is the import/export functionality.  I have no idea why the SAP developers buried such [...]]]></description>
			<content:encoded><![CDATA[<p>My previous post discussed the &#8220;hidden&#8221; menu in the SAP PI message mapping tool that can only be unlocked by pressing &lt;Ctrl&gt; + &lt;Shift&gt; while right clicking in the data flow editor area.  Hands down, the best feature of this menu is the import/export functionality.  I have no idea why the SAP developers buried such a useful feature in such a hard-to-find menu.  Whatever the reason, now that we know that we can import and export message mappings, we can exploit this fact to make our map-developing lives easier.</p>
<p>Most SAP PI developers have had a situation where a relatively minor change to the target message causes real havoc to the entire message mapping.  For <span>relatively</span> small maps, it may not be a big deal. For maps with complex logic, this can be a big deal requiring hours of tedious rework.  Recently, I was faced with a requirement change that required my message mapping to change correlations from 1:1 to 1:N.  Since this interface used the RFC adapter (which supports multiple messages), I was able to implement a 1:N multi-mapping message split. In the new interface design, the file adapter will process one file and pass it to the integration engine.  The integration engine will perform a multi-mapping message split to break-up the message.  The new, individual messages will be sent via one adapter engine call to the RFC adapter.  The RFC adapter will handle each message individually, calling each in a separate logical unit of work (LUW).</p>
<p>The steps below will detail how to switch a message mapping from a 1:1 correlation to a 1:N correlation <strong>without remapping anything!</strong><br />
<span id="more-1188"></span><br />
<em><strong>Note:</strong> The steps outlined below assume a moderate understanding of SAP XI/PI and gives does not give comprehensive instructions for every step.  Please post any questions to the comments section of this blog.</em></p>
<ul>
<li><strong>Step 1</strong> Before starting anything, make a safe copy of your message mapping. This will give you the ability to perform before and after comparisons and afford you some protection if something were to happen to your original mapping</li>
<li><strong>Step 2</strong> Use the hidden menu command (&lt;Ctrl&gt; + &lt;Shift&gt; + right click for those of you not paying attention) to download the current version of your message mapping.  SAP PI will save a file with the extension .mte.<a href="http://www.dataxstream.com/wp-content/uploads/2009/06/02-export.jpg" rel="shadowbox[sbpost-1188];player=img;"><img src="http://www.dataxstream.com/wp-content/uploads/2009/06/02-export.jpg" alt="" width="472" height="238" /><br />
</a>The .mte file you just exported is really just an XML file.  Opening the .mte file in Internet Explorer will yield something that looks like this<br />
<a href="http://www.dataxstream.com/wp-content/uploads/2009/06/03-mapping-xml.jpg" rel="shadowbox[sbpost-1188];player=img;"><img src="http://www.dataxstream.com/wp-content/uploads/2009/06/03-mapping-xml.jpg" alt="" width="588" height="660" /></a><br />
The entire message mapping is contained in the file, including any user-defined functions, brick layout, and test cases.  This will be <strong>very</strong> useful!</li>
<li><strong>Step 2</strong> Change the target occurrence in the message mapping. This is done on the <em>Messages</em> tab of the message mapping.<br />
<a href="http://www.dataxstream.com/wp-content/uploads/2009/06/00-messages.jpg" rel="shadowbox[sbpost-1188];player=img;"><img src="http://www.dataxstream.com/wp-content/uploads/2009/06/00-messages.jpg" alt="" width="560" height="347" /><br />
</a>Changing the occurrence on the target message <em>appears</em> to have little effect on the message mapping, until you switch back to the <em>Design</em> tab and you see this ugly message box:<br />
<img src="http://www.dataxstream.com/wp-content/uploads/2009/06/01-error-message.jpg" alt="" /><br />
<strong>Oh noes!</strong> PI added <em>&lt;Messages&gt;</em> and <em>&lt;Message1&gt;</em> tags to the source and target messages! Since the target message structure changed,  all of my hard-fought mappings are lost! Who can save me from hours of tedious remapping?<br />
Fear not, plucky mapper, in a few steps, <strong>you</strong> can save the day by  converting the entire map without remapping a thing!</li>
<li><strong>Step 3</strong> Use your favorite text editor to open the .mte mapping file.  We will use the find/replace functionality to mass change the source mappings.  You will need the services of the copy of the map you made in step 1.  To get the value to find, copy the path of the root node in the unscathed map. To get the value to replace, copy the path of the node just below the &lt;Message1&gt; node in the new map.<br />
<a href="http://www.dataxstream.com/wp-content/uploads/2009/06/04-copy-path.jpg" rel="shadowbox[sbpost-1188];player=img;"><img src="http://www.dataxstream.com/wp-content/uploads/2009/06/04-copy-path.jpg" alt="" width="328" height="107" /></a><br />
Here is the find/replace text for the example in the graphic:</p>
<p><code>Replace:<br />
/ns0:Personnel_MT<br />
with<br />
/ns0:Messages/ns0:Message1/ns1:Personnel_MT</code></li>
<li><strong>Step 4</strong> Repeat step 3 for the target message.<code>Replace:<br />
/ns1:Z_BAPI_II_KENEXA<br />
with<br />
/ns0:Messages/ns0:Message1/ns2:Z_BAPI_II_KENEXA</code></p>
<p>Save the .mte file in the text editor</li>
<li><strong>Step 5</strong> Providing you didn&#8217;t inadvertently screw something up, you should be able to import the .mte file to the Integration Builder<br />
<a style="text-decoration: none;" href="http://www.dataxstream.com/wp-content/uploads/2009/06/05-import.jpg" rel="shadowbox[sbpost-1188];player=img;"><img src="http://www.dataxstream.com/wp-content/uploads/2009/06/05-import.jpg" alt="" width="450" height="196" /></a></li>
<li><strong>Step 6</strong> Now change the occurrence on the corresponding interface mapping to match the message mapping occurrence set in step 2.  Save and activate all of your changes.</li>
<li><strong>Step 7</strong> The final step is to change the Interface Determination in the Integration Directory to utilize your new multi-mapping message split.</li>
</ul>
<p>As you can see, the ability to export/import message mappings can really save you a lot of time.  If you have any other tips regarding message mapping export/import, please share the in the comments.</p>
<p>Happy Mapping!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dataxstream.com/2009/06/fun-with-message-mapping/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>PI Message Mapping Editor “Hidden” Menu</title>
		<link>http://www.dataxstream.com/2009/06/pi-message-mapping-editor-hidden-menu/</link>
		<comments>http://www.dataxstream.com/2009/06/pi-message-mapping-editor-hidden-menu/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 12:05:07 +0000</pubDate>
		<dc:creator>Craig Stasila</dc:creator>
				<category><![CDATA[SAP PI Blog]]></category>
		<category><![CDATA[SAP Technical]]></category>
		<category><![CDATA[Craig Stasila]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Message Mapping]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[XI/PI]]></category>

		<guid isPermaLink="false">http://www.dataxstream.com/?p=1131</guid>
		<description><![CDATA[When I was young, one of my favorite Nintendo games was Contra by Konami Corporation (old-skool NES).  Standard play with Contra afforded you with 3 lives.  I was not particularly adept at Contra (I only excel at driving games) and 3 lives was not nearly enough for me.  The only way the game was fun for me was [...]]]></description>
			<content:encoded><![CDATA[<p>When I was young, one of my favorite Nintendo games was Contra by Konami Corporation (old-skool NES).  Standard play with Contra afforded you with 3 lives.  I was not particularly adept at Contra (I only excel at driving games) and 3 lives was not nearly enough for me.  The only way the game was fun for me was to enter the Konami &#8220;cheat code&#8221;.  This cheat code gave me 3o lives!  I could get 10x the Contra playing excitement before I got obliterated by one of the many end-of-level &#8220;bosses&#8221;.  It was with the help of that cheat code that my friend Jeff and I were able to beat the game during a marathon, overnight Contra session.  It has been over 20 years since I played Contra, but I still remember the cheat code key sequence:<br />
<code>up, up, down, down, left, right, left, right, B, A, start</code></p>
<p>Now that I&#8217;m a little older, I&#8217;ve graduated from NES to SAP PI.  It&#8217;s not nearly as fun, but every bit as challenging.  And at least I get paid to do it.  I looked, but could not find anybody to pay me to play Contra.  Instead of the many end of level &#8220;bosses&#8221; the only boss I have to worry about is my project manager&#8211;I don&#8217;t know which one is more evil.</p>
<p>Similar to Contra, the message mapping editor in XI/PI has a menu with helpful items that is &#8220;hidden.&#8221;  Unless, that is, you know the secret key combination to unlock it.<br />
In PI, open any message mapping in edit mode.  While holding the &lt;Ctrl&gt;+&lt;Shift&gt; keys, right click in the data flow editor window.  You will be rewarded with this menu.</p>
<p style="text-align: center;"><a href="http://www.dataxstream.com/wp-content/uploads/2009/06/01-menu.jpg" rel="shadowbox[sbpost-1131];player=img;"><img class="aligncenter" src="http://www.dataxstream.com/wp-content/uploads/2009/06/01-menu.jpg" alt="" width="477" height="299" /></a></p>
<p>Here is a short rundown of some of the menu options:</p>
<ul>
<li><strong><span style="text-decoration: underline;">Last Used</span></strong> This menu keeps track of recently used mapping functions.  It can be a real time saver if you are using mapping functions from multiple function groups.</li>
<li><strong><span style="text-decoration: underline;">Tools\Export Tools\Import</span></strong> The import/export functionality of the message mapping editor is, single handedly, the best feature of the hidden menu.  The import functionality allows you to transfer message mappings from disparate SAP PI systems.  The import/export functions also can reduce work in other ways that I will discuss in detail in later blogs.</li>
<li><strong><span style="text-decoration: underline;">Tools\Export Tools\Export</span></strong> The export function downloads the source of your message mapping to your local hard drive.  The file includes the map&#8217;s header data, data flow logic, user-defined functions, test cases, and documentation.</li>
<li><span style="text-decoration: underline;"><strong>Tools\Color schema\Schema XI20 SP3</strong></span> This option changes the data flow editor color scheme to look like it did in XI2.0 SP3.  I never used XI 2.0, so I don&#8217;t know if this color scheme is accurate.  I can tell you, however, that the brick colors are brighter in this color scheme<br />
<a href="http://www.dataxstream.com/wp-content/uploads/2009/06/02-xi20-color-scheme.jpg" rel="shadowbox[sbpost-1131];player=img;"><img style="border: 0px initial initial;" src="http://www.dataxstream.com/wp-content/uploads/2009/06/02-xi20-color-scheme.jpg" alt="" width="232" height="39" /></a></li>
<li><strong><span style="text-decoration: underline;">Tools\Color schema\Schema XI30 &#8220;accessible&#8221;</span></strong> Personally, I really like this color scheme. The data flow editor&#8217;s ugly grey background is replaced with a more eye-pleasing white.  I switch to this color scheme whenever I am capture screen grabs of the data flow editor for documentation purposes.<br />
<a href="http://www.dataxstream.com/wp-content/uploads/2009/06/03-xi30-accessible-color-scheme.jpg" rel="shadowbox[sbpost-1131];player=img;"><img style="border: 0px initial initial;" src="http://www.dataxstream.com/wp-content/uploads/2009/06/03-xi30-accessible-color-scheme.jpg" alt="" width="232" height="39" /></a></li>
<li><strong><span style="text-decoration: underline;">Tools\Local Compilation</span></strong> While I&#8217;m not quite sure exactly what this option does, I would assume that it changes on which system the compilation of the map occurs.  When checked I think the compilation of the map would occur on your workstation instead of the server, but I have not been able to confirm this thru testing, nor have I found any documentation to support this claim.</li>
<li><strong><span style="text-decoration: underline;">Tools\JarClassTest</span></strong> This togges the JarClassTest option.  I have yet to detect a difference in the behavior when compiling/testing, nor have I found any documentation on this item.  If anybody out there has any information, please post a comment.</li>
<li><strong><span style="text-decoration: underline;">Tools\Autosize Bricks</span></strong> This function is useful, especially if you have fields or user-defined functions (UDFs) that have long names.  By selecting this menu, you no longer have to guess what field or function each brick is for.<br />
<a href="http://www.dataxstream.com/wp-content/uploads/2009/06/05-autosize-on.jpg" rel="shadowbox[sbpost-1131];player=img;"><img class=" alignnone" title="Autosize On" src="http://www.dataxstream.com/wp-content/uploads/2009/06/05-autosize-on.jpg" border="0" alt="" width="233" height="40" /></a> vs.  <a href="http://www.dataxstream.com/wp-content/uploads/2009/06/04-autosize-off.jpg" rel="shadowbox[sbpost-1131];player=img;"><img class=" alignnone" title="Autosize Off" src="http://www.dataxstream.com/wp-content/uploads/2009/06/04-autosize-off.jpg" border="0" alt="" width="232" height="39" /></a></li>
<li><strong><span style="text-decoration: underline;">Encoding</span></strong> This option allows you to change the encoding in the XML tag of the target message</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dataxstream.com/2009/06/pi-message-mapping-editor-hidden-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

