<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>the qwertyful blog</title>
	<atom:link href="http://blog.qwertyful.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.qwertyful.com</link>
	<description>Things I&#039;m compelled to tell the internet.</description>
	<lastBuildDate>Thu, 19 Jan 2012 23:57:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.qwertyful.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>the qwertyful blog</title>
		<link>http://blog.qwertyful.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.qwertyful.com/osd.xml" title="the qwertyful blog" />
	<atom:link rel='hub' href='http://blog.qwertyful.com/?pushpress=hub'/>
		<item>
		<title>SAP Workflow Extended Notification Configuration</title>
		<link>http://blog.qwertyful.com/2012/01/13/sap-workflow-extended-notification-configuration/</link>
		<comments>http://blog.qwertyful.com/2012/01/13/sap-workflow-extended-notification-configuration/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 21:15:08 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://blog.qwertyful.com/?p=108</guid>
		<description><![CDATA[The first time you open up transaction SWNCONFIG all those options can be very confusing.  There&#8217;s several tutorials out there that give you step-by-step instructions, but still leave you unclear on what you&#8217;ve actually done.  Here&#8217;s a high-level diagram I put together to help illustrate the relationships between the different configuration sections. The arrows represent [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=108&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="yass_top_edge_dummy" style="width:1px;height:1px;display:block;border-width:0;margin:-11px 0 0;padding:0;"></div>
<div id="yass_top_edge" style="background-image:url('//yass/content/edgebgtop.png');background-attachment:scroll;background-position:center bottom;height:0;display:block;width:1px;border-width:0;margin:0 0 0 -10px;padding:0;"></div>
<p style="margin-top:10px;">The first time you open up transaction SWNCONFIG all those options can be very confusing.  There&#8217;s several tutorials out there that give you step-by-step instructions, but still leave you unclear on what you&#8217;ve actually done.  Here&#8217;s a high-level diagram I put together to help illustrate the relationships between the different configuration sections.</p>
<p><span id="more-108"></span></p>
<div id="attachment_110" class="wp-caption aligncenter" style="width: 310px"><a href="http://qwertyful.files.wordpress.com/2012/01/swn_config.jpg"><img class="size-medium wp-image-110" title="Workflow Extended Notification Configuration" src="http://qwertyful.files.wordpress.com/2012/01/swn_config.jpg?w=300&#038;h=225" alt="Workflow Extended Notification Configuration diagram" width="300" height="225" /></a><p class="wp-caption-text">(click to expand)</p></div>
<p style="text-align:center;">
<p>The arrows represent references.  For example, part of defining a Filter is associating it with an existing Category.  So you can see the order in which you must complete your config: start at the end of the flow, with Delivery Schedules and Types, and work your way back up to Filters and Schedule Selections.</p>
<p>One other thing to note is that Message Templates, Delivery Schedules, and Delivery Types are global, while everything is specific to a Scenario.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=108&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2012/01/13/sap-workflow-extended-notification-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2012/01/swn_config.jpg?w=300" medium="image">
			<media:title type="html">Workflow Extended Notification Configuration</media:title>
		</media:content>
	</item>
		<item>
		<title>SAP Workflow Notification Scheduling</title>
		<link>http://blog.qwertyful.com/2011/07/06/sap-workflow-notification-scheduling/</link>
		<comments>http://blog.qwertyful.com/2011/07/06/sap-workflow-notification-scheduling/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 15:55:53 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://blog.qwertyful.com/?p=102</guid>
		<description><![CDATA[When configuring SAP Workflow Extended Notifications in transaction SWNCONFIG you have to specify run schedules for both the selection of work item notifications (&#8220;Schedule Selection&#8221;) and the delivery of notifications (&#8220;Delivery Schedule&#8221;).  Each schedule has a start time, end time, and interval. The start time is required while the end time is optional.  So, what [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=102&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When configuring SAP Workflow Extended Notifications in transaction SWNCONFIG you have to specify run schedules for both the selection of work item notifications (&#8220;Schedule Selection&#8221;) and the delivery of notifications (&#8220;Delivery Schedule&#8221;).  Each schedule has a start time, end time, and interval.</p>
<p><a href="http://qwertyful.files.wordpress.com/2011/07/swn_schedule.jpg"><img class="alignnone size-medium wp-image-103" title="swn_schedule" src="http://qwertyful.files.wordpress.com/2011/07/swn_schedule.jpg?w=300&#038;h=115" alt="" width="300" height="115" /></a></p>
<p>The start time is required while the end time is optional.  So, what happens when you specify a start time without an end time?</p>
<p><a href="http://qwertyful.files.wordpress.com/2011/07/swn_schedule_blank.jpg"><img class="alignnone size-full wp-image-104" title="swn_schedule_blank" src="http://qwertyful.files.wordpress.com/2011/07/swn_schedule_blank.jpg?w=497" alt=""   /></a></p>
<p>You might assume as I did that the schedule will run at the specified interval from the start time to the end of the day.  In actuality though, SAP ignores the interval and runs the schedule once at the start time.  If you want the interval taken into account you must specify both the start and end time.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=102&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2011/07/06/sap-workflow-notification-scheduling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/07/swn_schedule.jpg?w=300" medium="image">
			<media:title type="html">swn_schedule</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/07/swn_schedule_blank.jpg" medium="image">
			<media:title type="html">swn_schedule_blank</media:title>
		</media:content>
	</item>
		<item>
		<title>Error SG105 parking document with currency conversion</title>
		<link>http://blog.qwertyful.com/2011/06/01/95/</link>
		<comments>http://blog.qwertyful.com/2011/06/01/95/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 14:01:20 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>

		<guid isPermaLink="false">http://blog.qwertyful.com/?p=95</guid>
		<description><![CDATA[We have a program that uses the function module PRELIMINARY_POSTING_FB01 to park journal entry documents.  We recently encountered the error &#8220;Enter rate GBP / USD rate type M for 00/00/0000 in the system settings&#8221; (SG105) coming back from this function module. Of course the first thing we checked is that we had the M conversion rate [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=95&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We have a program that uses the function module PRELIMINARY_POSTING_FB01 to park journal entry documents.  We recently encountered the error &#8220;Enter rate GBP / USD rate type M for 00/00/0000 in the system settings&#8221; (<a href="http://www.saperrorcodes.com/S/SG-038_to_SG-115.html">SG105</a>) coming back from this function module.</p>
<p><span id="more-95"></span>Of course the first thing we checked is that we had the M conversion rate set up correctly in transaction <a href="http://www.saptutorials.com/term/73023,1,xhtml">OB08</a>, which we did.  The interesting thing about the error is the date with all zeros.  Even though the conversion rate was defined the program couldn&#8217;t find it because nothing is in effect on 00/00/0000.</p>
<p>Eventually we figured out that the function module uses the Translation Date (t_bkpf-wwert) to find the conversion rate.  We were leaving this blank date which resulted in the above error.  Populating this field with the correct value resolved the issue.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=95&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2011/06/01/95/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>
	</item>
		<item>
		<title>SAP Workflow Extended Notification Logging</title>
		<link>http://blog.qwertyful.com/2011/05/02/sap-workflow-extended-notification-logging/</link>
		<comments>http://blog.qwertyful.com/2011/05/02/sap-workflow-extended-notification-logging/#comments</comments>
		<pubDate>Mon, 02 May 2011 20:38:56 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://blog.qwertyful.com/?p=86</guid>
		<description><![CDATA[We&#8217;re changing the way we process workflow email notifications in SAP, moving from the old RSWUWFML2 method to the newer Extended Notification method.  While testing the Extended Notification by running the program SWN_SELSEN I noticed that each run generated 86 entries in the application log: Looking closer, I saw that most of these entries were basically [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=86&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re changing the way we process workflow email notifications in SAP, moving from the old RSWUWFML2 method to the newer Extended Notification method.  While testing the Extended Notification by running the program SWN_SELSEN I noticed that each run generated 86 entries in the application log:</p>
<p><a href="http://qwertyful.files.wordpress.com/2011/05/wf_notification_log.jpg"><img class="alignnone size-medium wp-image-87" title="wf_notification_log" src="http://qwertyful.files.wordpress.com/2011/05/wf_notification_log.jpg?w=300&#038;h=175" alt="" width="300" height="175" /></a></p>
<p>Looking closer, I saw that most of these entries were basically debugging messages: <em>Entering </em>and <em>Leaving</em> messages for each method that was called.  I don&#8217;t need that level of logging in production, so can I reduce it without turning off logging altogether?</p>
<p>Eventually I found that there is a parameter to control the level of logging.  It is maintained in transaction SWNCONFIG under <em>General Settings</em>.  The parameter name is MAX_PROBCLASS and you can set it to a value between 1 (Very Important) and 4 (Additional Information).  If no value is specified a default value of 4 is used.</p>
<p><a href="http://qwertyful.files.wordpress.com/2011/05/wf_notification_log_lvl.jpg"><img class="alignnone size-medium wp-image-88" title="wf_notification_log_lvl" src="http://qwertyful.files.wordpress.com/2011/05/wf_notification_log_lvl.jpg?w=300&#038;h=124" alt="" width="300" height="124" /></a></p>
<p>You can see some additional information on this parameter by looking at the documentation for the data element BALPROBCL in SE11.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=86&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2011/05/02/sap-workflow-extended-notification-logging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/05/wf_notification_log.jpg?w=300" medium="image">
			<media:title type="html">wf_notification_log</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/05/wf_notification_log_lvl.jpg?w=300" medium="image">
			<media:title type="html">wf_notification_log_lvl</media:title>
		</media:content>
	</item>
		<item>
		<title>GTS Tables</title>
		<link>http://blog.qwertyful.com/2011/03/17/gts-tables/</link>
		<comments>http://blog.qwertyful.com/2011/03/17/gts-tables/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 15:09:22 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>
		<category><![CDATA[GTS]]></category>

		<guid isPermaLink="false">http://blog.qwertyful.com/?p=81</guid>
		<description><![CDATA[A few of the main tables for product screening in SAPs Global Trade Service (GTS) module. /SAPSLL/PR &#8211; Product master /SAPSLL/CTSNUM -List of HTS codes and ECCN numbers and their GUIDs. /SAPSLL/CTSNUMC -List of Schedule B numbers and their GUIDs. /SAPSLL/PNTPR &#8211; Product master mapping.  This table has the actual product number (PRVSY).  You can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=81&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A few of the main tables for product screening in SAPs Global Trade Service (GTS) module.</p>
<p><strong>/SAPSLL/PR</strong> &#8211; Product master</p>
<p><strong>/SAPSLL/CTSNUM</strong> -List of HTS codes and ECCN numbers and their GUIDs.</p>
<p><strong>/SAPSLL/CTSNUMC</strong> -List of Schedule B numbers and their GUIDs.</p>
<p><strong>/SAPSLL/PNTPR</strong> &#8211; Product master mapping.  This table has the actual product number (PRVSY).  You can use this table to look up the product&#8217;s GUID (GUID_PR).</p>
<p><strong>/SAPSLL/PRCTS</strong> &#8211; Product Master &#8211; Global Customs Tariff Numbers.  Lists HTS codes and ECCN numbers for a product.</p>
<p><strong>/SAPSLL/PRCTSC</strong> &#8211; Product Master &#8211; Country-Specific Customs Tariff Numbers. Lists Schedule B numbers for a product.</p>
<div id="_mcePaste" class="mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden;">20,110,222,162,019<strong>/SA</strong></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=81&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2011/03/17/gts-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>
	</item>
		<item>
		<title>Finding Function Modules</title>
		<link>http://blog.qwertyful.com/2011/03/02/finding-function-modules/</link>
		<comments>http://blog.qwertyful.com/2011/03/02/finding-function-modules/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 16:35:09 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>

		<guid isPermaLink="false">http://blog.qwertyful.com/?p=66</guid>
		<description><![CDATA[It&#8217;s a typical ABAPer scenario: you need to create or update SAP data and you&#8217;re fairly certain there should be a standard function module around that data.  So how do you go about finding that function module? Most major objects have a BAPI wrapped around them.  In these cases you can call the function module [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=66&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a typical ABAPer scenario: you need to create or update SAP data and you&#8217;re fairly certain there should be a standard <a href="http://help.sap.com/saphelp_nw70/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm">function module</a> around that data.  So how do you go about finding that function module?</p>
<p><span id="more-66"></span></p>
<p><a href="http://qwertyful.files.wordpress.com/2011/03/delivery_bapi1.jpg"><img class="alignright size-full wp-image-69" title="delivery_bapi" src="http://qwertyful.files.wordpress.com/2011/03/delivery_bapi1.jpg?w=497" alt="Outbound Delivery BAPI"   /></a>Most major objects have a <a title="Business Application Programming Interface" href="http://help.sap.com/saphelp_46c/helpdata/en/a5/3ec8464ac011d1894e0000e829fbbd/content.htm">BAPI</a> wrapped around them.  In these cases you can call the function module behind the BAPI methods from your ABAP program.  To find the BAPI and related function modules use the transaction code BAPI.  Browse through either the hierarchical or alphabetical list until you find the object of interest.  Expand the object and you will see all the operations available for that object.  Select one of the operations and a new window will appear with the details of that operation including (surprise!) the function module associated with that operation.</p>
<p>Sometimes you get lucky and the function module has an intuitive name.  In this case, a quick search from SE37 will turn up some good possibilities.  For example, searching for *USER* finds hundreds of function modules for every type of user-related operation you can think of.</p>
<p>Unfortunately, some objects do not have an associated BAPI, nor an easy-to-find function module name.  Here&#8217;s a method that has worked for me in these situations:</p>
<p>Go to the screen whose functionality you are trying to recreate.  In this example I was looking for a function module to create a <a title="Production Resources/Tools" href="http://help.sap.com/saphelp_46c/helpdata/en/bf/5ffd0e6d4311d1ad5e0000e8a6353a/content.htm">PRT</a>.  The TCode to manually create a PRT is CF01.</p>
<p style="text-align:center;"><a href="http://qwertyful.files.wordpress.com/2011/03/cf01.jpg"><img class="size-medium wp-image-72 aligncenter" title="CF01" src="http://qwertyful.files.wordpress.com/2011/03/cf01.jpg?w=300&#038;h=225" alt="Transaction CF01" width="300" height="225" /></a></p>
<p>Select Status from the System menu and look at the last 4 characters of the program name &#8211; in this case, CFST.</p>
<p style="text-align:center;"><a href="http://qwertyful.files.wordpress.com/2011/03/systemstatus.jpg"><img class="size-medium wp-image-73 aligncenter" title="SystemStatus" src="http://qwertyful.files.wordpress.com/2011/03/systemstatus.jpg?w=116&#038;h=300" alt="System Status dialog window" width="116" height="300" /></a></p>
<p>Now go to SE37 and click the function module search help.  Put the 4 characters into the function group name and search.</p>
<p style="text-align:center;"><a href="http://qwertyful.files.wordpress.com/2011/03/fmsearch.jpg"><img class="size-medium wp-image-74 aligncenter" title="FMSearch" src="http://qwertyful.files.wordpress.com/2011/03/fmsearch.jpg?w=300&#038;h=248" alt="Find Function Module dialog" width="300" height="248" /></a></p>
<p>You can also try searching for function <em>modules</em> (not function groups) using the pattern *CFST* or *CF_ST* (using the characters specific to your scenario).</p>
<p>In this case, I was able to find a less-than-intuitively-named function module to create PRTs.</p>
<p style="text-align:center;"><a href="http://qwertyful.files.wordpress.com/2011/03/fmsearchresults.jpg"><img class="size-medium wp-image-75 aligncenter" title="FMSearchResults" src="http://qwertyful.files.wordpress.com/2011/03/fmsearchresults.jpg?w=300&#038;h=216" alt="Function Module search results" width="300" height="216" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=66&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2011/03/02/finding-function-modules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/03/delivery_bapi1.jpg" medium="image">
			<media:title type="html">delivery_bapi</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/03/cf01.jpg?w=300" medium="image">
			<media:title type="html">CF01</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/03/systemstatus.jpg?w=116" medium="image">
			<media:title type="html">SystemStatus</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/03/fmsearch.jpg?w=300" medium="image">
			<media:title type="html">FMSearch</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/03/fmsearchresults.jpg?w=300" medium="image">
			<media:title type="html">FMSearchResults</media:title>
		</media:content>
	</item>
		<item>
		<title>Document screening API in GTS</title>
		<link>http://blog.qwertyful.com/2011/02/28/document-screening-api-in-gts/</link>
		<comments>http://blog.qwertyful.com/2011/02/28/document-screening-api-in-gts/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 21:22:59 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>
		<category><![CDATA[GTS]]></category>

		<guid isPermaLink="false">http://blog.qwertyful.com/?p=23</guid>
		<description><![CDATA[My latest project has been building an interface for external systems to submit documents for SPL screening to our GTS instance.  SAP provides a standard API, actually a remote-enabled function module, for this very purpose: /SAPSLL/API_6800_SYNCH_MASS. The first thing I always do with a new function module is pull up the documentation in SE37.  Unfortunately, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=23&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My latest project has been building an interface for external systems to submit documents for <a title="Sanctioned Party List" href="http://help.sap.com/saphelp_gts72/helpdata/en/47/2322c89a0e4677e10000000a155369/content.htm">SPL</a> screening to our <a title="Global Trade Services" href="http://help.sap.com/saphelp_gts70/helpdata/en/1d/8082ab7248f74ca09861d9713b9a52/content.htm">GTS</a> instance.  SAP provides a standard API, actually a remote-enabled function module, for this very purpose: /SAPSLL/API_6800_SYNCH_MASS.</p>
<p>The first thing I always do with a new function module is pull up the documentation in SE37.  Unfortunately, SAP didn&#8217;t feel it was necessary to document this one.</p>
<div id="attachment_24" class="wp-caption aligncenter" style="width: 210px"><a href="http://qwertyful.files.wordpress.com/2011/02/documentation.jpg"><img class="size-full wp-image-24" title="documentation button" src="http://qwertyful.files.wordpress.com/2011/02/documentation.jpg?w=497" alt="Disabled documentation button"   /></a><p class="wp-caption-text">A disabled documentation button always looks so sad.</p></div>
<p>The next stop was <a href="http://www.google.com/search?q=%2FSAPSLL%2FAPI_6800_SYNCH_MASS">Google</a>: 7 results, mostly SDN posts, and none of which offered the comprehensive reference I needed.  I also tried an <a href="http://service.sap.com/xsearch">xSearch</a> <em>[OSS ID required]</em> of the SAP Support Portal: 14 results here, consisting of the same SDN posts and some old OSS notes.  Bummer.  Last stop: much trial and error in the Function Module Test screen discovering which fields the FM requires you to populate and what values it expects for these fields.  Hopefully by documenting what I learned here I can save someone else the trouble.<span id="more-23"></span></p>
<p>First, let&#8217;s look at how the different table parameters relate to each other:</p>
<table border="1" cellpadding="2">
<tbody>
<tr>
<td><strong>Table</strong></td>
<td><strong>Description</strong></td>
<td><strong>Cardinality</strong></td>
</tr>
<tr>
<td><a href="#HDR_DATA">HDR_DATA</a></td>
<td>This is the master table</td>
<td>One record per document</td>
</tr>
<tr>
<td><a href="#HDR_REFERENCE_DATA">HDR_REFERENCE_DATA</a></td>
<td>Additional document attributes</td>
<td>One record per document</td>
</tr>
<tr>
<td><a href="#HDR_PARTNER_DATA">HDR_PARTNER_DATA</a></td>
<td>Business partner at the document header level</td>
<td>Zero-to-many records per document</td>
</tr>
<tr>
<td><a href="#HDR_DATE_DATA">HDR_DATE_DATA</a></td>
<td>Document dates</td>
<td>Zero-to-many records per document</td>
</tr>
<tr>
<td><a href="#HDR_DATE_DATA">HDR_DIMENSION_DATA</a></td>
<td>Document dimensions</td>
<td>Zero-to-many records per document</td>
</tr>
<tr>
<td><a href="#HDR_VALUE_DATA">HDR_VALUE_DATA</a></td>
<td>Document value data</td>
<td>Zero-to-many records per document</td>
</tr>
<tr>
<td><a href="#HDR_DUC_VALUE_DATA">HDR_DUC_VALUE_DATA</a></td>
<td>Values for Customs Duty Calculation</td>
<td>Zero-to-many records per document</td>
</tr>
<tr>
<td><a href="#HDR_COUNTRY_DATA">HDR_COUNTRY_DATA</a></td>
<td>Document country data</td>
<td>Zero-to-many records per document</td>
</tr>
<tr>
<td><a href="#ITM_DATA">ITM_DATA</a></td>
<td>Document Line Item key fields</td>
<td>One-to-many records per document</td>
</tr>
<tr>
<td><a href="#ITM_REFERENCE_DATA">ITM_REFERENCE_DATA</a></td>
<td>Additional item attributes</td>
<td>One record per item</td>
</tr>
<tr>
<td><a href="#ITM_PARTNER_DATA">ITM_PARTNER_DATA</a></td>
<td>Business partner at the item level</td>
<td>Zero-to-many records per item</td>
</tr>
<tr>
<td><a href="#ITM_DATE_DATA">ITM_DATE_DATA</a></td>
<td>Item dates</td>
<td>Zero-to-many records per item</td>
</tr>
<tr>
<td><a href="#ITM_DIMENSION_DATA">ITM_DIMENSION_DATA</a></td>
<td>Item dimensions</td>
<td>Zero-to-many records per item</td>
</tr>
<tr>
<td><a href="#ITM_VALUE_DATA">ITM_VALUE_DATA</a></td>
<td>Item value data</td>
<td>Zero-to-many records per item</td>
</tr>
<tr>
<td><a href="#ITM_DUC_VALUE_DATA">ITM_DUC_VALUE_DATA</a></td>
<td>Values for Customs Duty Calculation</td>
<td>Zero-to-many records per item</td>
</tr>
<tr>
<td><a href="#ITM_PREFERENCE_DATA">ITM_PREFERENCE_DATA</a></td>
<td>Legal regulation preferences</td>
<td>Zero-to-many records per item</td>
</tr>
<tr>
<td><a href="#DOC_ADDRESS_DATA">DOC_ADDRESS_DATA</a></td>
<td>Partner address</td>
<td>Zero-to-one record per partner (either header or item level)</td>
</tr>
<tr>
<td style="text-align:center;" colspan="3"><strong>Output Tables</strong></td>
</tr>
<tr>
<td><a href="#RESULT_LEGAL_CONTROL">RESULT_LEGAL_CONTROL</a></td>
<td>Results of any screens or checks performed by GTS</td>
<td>One-to-many records per document</td>
</tr>
<tr>
<td><a href="#RETURN">RETURN</a></td>
<td>Results of the function call</td>
<td>One-to-many records per document</td>
</tr>
<tr>
<td><a href="#MAP_ERR">MAP_ERR</a></td>
<td>List of mapping errors</td>
<td>Zero-to-many records per document</td>
</tr>
</tbody>
</table>
<p>There&#8217;s a couple other tables that are used for output.  We&#8217;ll get to those later.  Now let&#8217;s look at the fields in each table.  I&#8217;ve <span style="background:#474034;">highlighted</span> the required fields.   The function module will fail if no value is passed for any of these fields.<br />
<a name="HDR_DATA"></a></p>
<h2>HDR_DATA</h2>
<p><em>Note: Some optional fields omitted for brevity.</em></p>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>External document number, used as unique identifier</td>
</tr>
<tr bgcolor="#474034">
<td>APPLICATION_LEVEL</td>
<td>CHAR(4)</td>
<td>Used for mapping feeder system organization units (document types, item categories, partner functions) to SAP organization units.  List of possible values can be found in the Value Range for the domain /SAPSLL/APEVS.</td>
</tr>
<tr bgcolor="#474034">
<td>DOCUMENT_TYPE</td>
<td>CHAR(5)</td>
<td>Must be defined (via config) in /SAPSLL/TLEBGS or /SAPSLL/TLEBVS.  Valid entries are defined based on the Logical System Group and the Application Level.</td>
</tr>
<tr bgcolor="#474034">
<td>COMPANY_CODE</td>
<td>CHAR(4)</td>
<td>Must be a valid company code</td>
</tr>
</tbody>
</table>
<p><a name="HDR_REFERENCE_DATA"></a></p>
<h2>HDR_REFERENCE_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>QUAL_REFNO</td>
<td>CHAR(6)</td>
<td>&#8216;EXTID&#8217; for Document, &#8216;EXTIDF&#8217; for Document Flow</td>
</tr>
<tr bgcolor="#474034">
<td>REFNO</td>
<td>CHAR(40)</td>
<td>Free-form reference number</td>
</tr>
<tr>
<td>REFDAT</td>
<td>DATE</td>
<td>Date for reference object</td>
</tr>
<tr bgcolor="#474034">
<td>ORG_LOGSYSTEM</td>
<td>CHAR(10)</td>
<td>The logical system (not logical system <em>group</em>) representing the feeder system passing this data</td>
</tr>
<tr>
<td>OBJTP</td>
<td>CHAR(10)</td>
<td>The object type of the document (<em>Ex: BUS2032 for sales orders)</em></td>
</tr>
<tr>
<td>REFAPP</td>
<td>CHAR(10)</td>
<td>The object type of the document (<em>Ex: BUS2032 for sales orders)</em></td>
</tr>
<tr>
<td>ERNAM</td>
<td>CHAR(12)</td>
<td>Name of user who created the object</td>
</tr>
<tr>
<td>AENAM</td>
<td>CHAR(12)</td>
<td>Name of user who last changed the object<em> </em></td>
</tr>
<tr>
<td>BUS_TRANSAC_DOC_TYPE_CODE</td>
<td>CHAR(5)</td>
<td><em> </em></td>
</tr>
</tbody>
</table>
<p><a name="HDR_PARTNER_DATA"></a></p>
<h2>HDR_PARTNER_DATA</h2>
<p><em>Note: Some optional fields omitted for brevity.</em></p>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr>
<td>DELETION_INDICATOR</td>
<td>CHAR(1)</td>
<td>Set to &#8216;X&#8217; to remove the partner from the document.</td>
</tr>
<tr bgcolor="#474034">
<td>PARTNER_FUNCTION</td>
<td>CHAR(8)</td>
<td>Must be defined (via config) in /SAPSLL/TLERGS or /SAPSLL/TLERVS for the specified logical system.  You can pass multiple partners with the same partner function.</td>
</tr>
<tr bgcolor="#474034">
<td>PARTNER_TYPE</td>
<td>CHAR(2)</td>
<td>Range of possible values can be found in the value list for the domain /SAPSLL/BPTYP.  You can pass multiple partners of the same type.</td>
</tr>
<tr bgcolor="#474034">
<td>PARTNER_ID</td>
<td>CHAR(40)</td>
<td>The external ID of the partner.  Must be defined for the specified logical system and partner type.</td>
</tr>
<tr>
<td>ADDR_NO</td>
<td>CHAR(10)</td>
<td>The address number of the address in the <a href="#DOC_ADDRESS_DATA">DOC_ADDRESS_DATA</a> table that corresponds to this partner.  Only required if this address is different than the standard address defined in GTS for this partner.</td>
</tr>
<tr>
<td>ADDR_MANIPULATED</td>
<td>CHAR(1)</td>
<td>Set to &#8216;X&#8217; to override the standard address for this partner with the address from the <a href="#DOC_ADDRESS_DATA">DOC_ADDRESS_DATA</a> table.  The override applies only to this document.  If you pass a space then GTS will ignore the address in the DOC_ADDRESS_DATA table and will use the standard address for the partner.</td>
</tr>
</tbody>
</table>
<p><a name="HDR_DATE_DATA"></a></p>
<h2>HDR_DATE_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>TYPE_OF_DATE</td>
<td>CHAR(6)</td>
<td>List of possible values can be found in table /SAPSLL/TCO260.</td>
</tr>
<tr bgcolor="#474034">
<td>REL_POINT_IN_TIME_TS</td>
<td>TIMESTAMP</td>
<td>Consists of a date + 24hr time in the user-specified date format.  <em>(Ex: 02/06/2011 00:00:00)</em></td>
</tr>
</tbody>
</table>
<p><a name="HDR_DIMENSION_DATA"></a></p>
<h2>HDR_DIMENSION_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>QUAL_DIM</td>
<td>CHAR(6)</td>
<td>Dimension type. List of possible values can be found in table /SAPSLL/TCO220.</td>
</tr>
<tr bgcolor="#474034">
<td>DIMEN</td>
<td>QUAN(19)</td>
<td>Dimension value</td>
</tr>
<tr>
<td>DIMEN_FLT</td>
<td>FLOAT</td>
<td>Dimension value as a 16-digit floating point number.</td>
</tr>
<tr bgcolor="#474034">
<td>DIM_UOM</td>
<td>UNIT(3)</td>
<td>Unit of measure.  List of possible values can be found in table T006.</td>
</tr>
<tr>
<td>DIM_UOM_ISO</td>
<td>CHAR(3)</td>
<td>Unit of measure ISO code</td>
</tr>
</tbody>
</table>
<p><a name="HDR_VALUE_DATA"></a></p>
<h2>HDR_VALUE_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>QUAL_VAL</td>
<td>CHAR(6)</td>
<td>Value type. List of possible values can be found in table /SAPSLL/TCO240.</td>
</tr>
<tr bgcolor="#474034">
<td>VALUE</td>
<td>QUAN(19)</td>
<td>Value</td>
</tr>
<tr>
<td>VALUE_FLOAT</td>
<td>FLOAT</td>
<td>Value as a 16-digit floating point number.</td>
</tr>
<tr bgcolor="#474034">
<td>VAL_CURR</td>
<td>CUKY(5)</td>
<td>Currency key for value. List of possible values can be found in table TCURC.</td>
</tr>
<tr>
<td>VAL_CURR_ISO</td>
<td>CHAR(3)</td>
<td>ISO currency code</td>
</tr>
</tbody>
</table>
<p><a name="HDR_DUC_VALUE_DATA"></a></p>
<h2>HDR_DUC_VALUE_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>QUAL_VAL</td>
<td>CHAR(6)</td>
<td>Value type. List of possible values can be found in table /SAPSLL/TCO240.</td>
</tr>
<tr bgcolor="#474034">
<td>VALUE</td>
<td>QUAN(19)</td>
<td>Value</td>
</tr>
<tr>
<td>VALUE_FLOAT</td>
<td>FLOAT</td>
<td>Value as a 16-digit floating point number.</td>
</tr>
<tr bgcolor="#474034">
<td>VAL_CURR</td>
<td>CUKY(5)</td>
<td>Currency key for value. List of possible values can be found in table TCURC.</td>
</tr>
<tr>
<td>VAL_CURR_ISO</td>
<td>CHAR(3)</td>
<td>ISO currency code</td>
</tr>
<tr>
<td>CVRTQ</td>
<td>DEC(9,5)</td>
<td>Indirect Quoted Exchange Rate</td>
</tr>
</tbody>
</table>
<p><a name="HDR_COUNTRY_DATA"></a></p>
<h2>HDR_COUNTRY_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>SEQUENCE_NUMBER</td>
<td>NUMC(5)</td>
<td>Incremental sequence number, must be unique within a REFNO_HEADER value</td>
</tr>
<tr bgcolor="#474034">
<td>DEPARTURE_COUNTRY</td>
<td>CHAR(3)</td>
<td>Country of Departure Key</td>
</tr>
<tr>
<td>DEPARTURE_COUNTRY_ISO</td>
<td>CHAR(2)</td>
<td>Country of Departure ISO Code</td>
</tr>
<tr bgcolor="#474034">
<td>ARRIVAL_COUNTRY</td>
<td>CHAR(3)</td>
<td>Country of Destination Key</td>
</tr>
<tr>
<td>ARRIVAL_COUNTRY_ISO</td>
<td>CHAR(2)</td>
<td>Country of DestinationISO Code</td>
</tr>
</tbody>
</table>
<p><a name="ITM_DATA"></a></p>
<h2>ITM_DATA</h2>
<p><em>Note: Some optional fields omitted for brevity.</em></p>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>Unique ID for the item.  Must be unique within a REFNO_HEADER value.</td>
</tr>
<tr bgcolor="#474034">
<td>LEGAL_ACTIVE</td>
<td>CHAR(1)</td>
<td>Set to &#8216;X&#8217; if the item is active.  The item will not be screened if this is not set.</td>
</tr>
<tr>
<td>RECHECK_INDICATOR</td>
<td>CHAR(1)</td>
<td>Set to &#8216;X&#8217; if the item should be checked again.</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_CATEGORY</td>
<td>CHAR(5)</td>
<td>Must be a valid item category for the specified Application Level and Logical System Group</td>
</tr>
<tr bgcolor="#474034">
<td>PRODUCT_ID</td>
<td>CHAR(40)</td>
<td>Product number.  Must be valid for the specified Logical System Group.</td>
</tr>
<tr bgcolor="#474034">
<td>PLANT</td>
<td>CHAR(4)</td>
<td>Must be a valid plant code.</td>
</tr>
</tbody>
</table>
<p><a name="ITM_REFERENCE_DATA"></a></p>
<h2>ITM_REFERENCE_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>Unique ID for the item corresponding to the value on the <a href="#ITM_DATA">ITM_DATA</a> table.</td>
</tr>
<tr bgcolor="#474034">
<td>QUAL_REFNO</td>
<td>CHAR(6)</td>
<td>&#8216;EXTID&#8217; for Document, &#8216;EXTIDF&#8217; for Document Flow</td>
</tr>
<tr>
<td>REFNO</td>
<td>CHAR(40)</td>
<td>Reference number.  Free-form field, you can use it for whatever purpose you choose.</td>
</tr>
<tr>
<td>REFDAT</td>
<td>DATE</td>
<td>Reference date</td>
</tr>
<tr>
<td>ORG_LOGSYSTEM</td>
<td>CHAR(10)</td>
<td>The logical system (not logical system <em>group</em>) representing the feeder system passing this data</td>
</tr>
<tr>
<td>OBJTP</td>
<td>CHAR(10)</td>
<td>The object type of the reference document.</td>
</tr>
<tr>
<td>REFAPP</td>
<td>CHAR(10)</td>
<td>The application level of the reference document.</td>
</tr>
<tr>
<td>ERNAM</td>
<td>CHAR(12)</td>
<td>Name of User Who Created the Object</td>
</tr>
<tr>
<td>AENAM</td>
<td>CHAR(12)</td>
<td>Name of User Who Changed the Object</td>
</tr>
<tr>
<td>HG_LV_ITEM</td>
<td>CHAR(10)</td>
<td>Higher-Level Document Item</td>
</tr>
<tr>
<td>BUS_TRANSAC_DOC_TYPE_CODE</td>
<td>CHAR(5)</td>
<td></td>
</tr>
<tr>
<td>BUS_TRANSAC_DOC_ITM_ID</td>
<td>CHAR(10)</td>
<td></td>
</tr>
</tbody>
</table>
<p><a name="ITM_PARTNER_DATA"></a></p>
<h2>ITM_PARTNER_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>Unique ID for the item corresponding to the value on the <a href="#ITM_DATA">ITM_DATA</a> table.</td>
</tr>
<tr>
<td>DELETION_INDICATOR</td>
<td>CHAR(1)</td>
<td>Set to &#8216;X&#8217; to remove the partner from the document.</td>
</tr>
<tr bgcolor="#474034">
<td>PARTNER_FUNCTION</td>
<td>CHAR(8)</td>
<td>Must be defined (via config) in /SAPSLL/TLERGS or /SAPSLL/TLERVS for the specified logical system.</td>
</tr>
<tr bgcolor="#474034">
<td>PARTNER_TYPE</td>
<td>CHAR(2)</td>
<td>Range of possible values can be found in the value list for the domain /SAPSLL/BPTYP.</td>
</tr>
<tr bgcolor="#474034">
<td>PARTNER_ID</td>
<td>CHAR(40)</td>
<td>The external ID of the partner.  Must be defined for the specified logical system and partner type.</td>
</tr>
<tr>
<td>ADDR_NO</td>
<td>CHAR(10)</td>
<td>The address number of the address in the <a href="#DOC_ADDRESS_DATA">DOC_ADDRESS_DATA</a> table that corresponds to this partner.  Only required if this address is different than the standard address defined in GTS for this partner.</td>
</tr>
<tr>
<td>ADDR_MANIPULATED</td>
<td>CHAR(1)</td>
<td>Set to &#8216;X&#8217; to override the standard address for this partner with the address from the <a href="#DOC_ADDRESS_DATA">DOC_ADDRESS_DATA</a> table.  The override applies only to this document.</td>
</tr>
</tbody>
</table>
<p><a name="ITM_DATE_DATA"></a></p>
<h2>ITM_DATE_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>Unique ID for the item corresponding to the value on the <a href="#ITM_DATA">ITM_DATA</a> table.</td>
</tr>
<tr bgcolor="#474034">
<td>TYPE_OF_DATE</td>
<td>CHAR(6)</td>
<td>List of possible values can be found in table /SAPSLL/TCO260.</td>
</tr>
<tr bgcolor="#474034">
<td>REL_POINT_IN_TIME_TS</td>
<td>TIMESTAMP</td>
<td>Consists of a date + 24hr time in the user-specified date format.  <em>(Ex: 02/06/2011 00:00:00)</em></td>
</tr>
</tbody>
</table>
<p><a name="ITM_DIMENSION_DATA"></a></p>
<h2>ITM_DIMENSION_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>Unique ID for the item corresponding to the value on the <a href="#ITM_DATA">ITM_DATA</a> table.</td>
</tr>
<tr bgcolor="#474034">
<td>QUAL_DIM</td>
<td>CHAR(6)</td>
<td>Dimension type. List of possible values can be found in table /SAPSLL/TCO220.</td>
</tr>
<tr bgcolor="#474034">
<td>DIMEN</td>
<td>QUAN(19)</td>
<td>Dimension value</td>
</tr>
<tr>
<td>DIMEN_FLT</td>
<td>FLOAT</td>
<td>Dimension value as a 16-digit floating point number.</td>
</tr>
<tr bgcolor="#474034">
<td>DIM_UOM</td>
<td>UNIT(3)</td>
<td>Unit of measure.  List of possible values can be found in table T006.</td>
</tr>
<tr>
<td>DIM_UOM_ISO</td>
<td>CHAR(3)</td>
<td>Unit of measure ISO code</td>
</tr>
</tbody>
</table>
<p><a name="ITM_VALUE_DATA"></a></p>
<h2>ITM_VALUE_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>Unique ID for the item corresponding to the value on the <a href="#ITM_DATA">ITM_DATA</a> table.</td>
</tr>
<tr bgcolor="#474034">
<td>QUAL_VAL</td>
<td>CHAR(6)</td>
<td>Value type. List of possible values can be found in table /SAPSLL/TCO240.</td>
</tr>
<tr bgcolor="#474034">
<td>VALUE</td>
<td>QUAN(19)</td>
<td>Value</td>
</tr>
<tr>
<td>VALUE_FLOAT</td>
<td>FLOAT</td>
<td>Value as a 16-digit floating point number.</td>
</tr>
<tr bgcolor="#474034">
<td>VAL_CURR</td>
<td>CUKY(5)</td>
<td>Currency key for value. List of possible values can be found in table TCURC.</td>
</tr>
<tr>
<td>VAL_CURR_ISO</td>
<td>CHAR(3)</td>
<td>ISO currency code</td>
</tr>
</tbody>
</table>
<p><a name="ITM_DUC_VALUE_DATA"></a></p>
<h2>ITM_DUC_VALUE_DATA</h2>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>Unique ID for the item corresponding to the value on the <a href="#ITM_DATA">ITM_DATA</a> table.</td>
</tr>
<tr bgcolor="#474034">
<td>QUAL_VAL</td>
<td>CHAR(6)</td>
<td>Value type. List of possible values can be found in table /SAPSLL/TCO240.</td>
</tr>
<tr bgcolor="#474034">
<td>VALUE</td>
<td>QUAN(19)</td>
<td>Value</td>
</tr>
<tr>
<td>VALUE_FLOAT</td>
<td>FLOAT</td>
<td>Value as a 16-digit floating point number.</td>
</tr>
<tr bgcolor="#474034">
<td>VAL_CURR</td>
<td>CUKY(5)</td>
<td>Currency key for value. List of possible values can be found in table TCURC.</td>
</tr>
<tr>
<td>VAL_CURR_ISO</td>
<td>CHAR(3)</td>
<td>ISO currency code</td>
</tr>
<tr>
<td>CVRTQ</td>
<td>DEC(9,5)</td>
<td>Indirect Quoted Exchange Rate</td>
</tr>
</tbody>
</table>
<p><a name="ITM_PREFERENCE_DATA"></a></p>
<h2>ITM_PREFERENCE_DATA</h2>
<p><em>Note: I haven&#8217;t used this table so there may be more required fields than the ones I have highlighted.</em></p>
<table border="1" cellspacing="0" cellpadding="1" width="617" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>REFNO_HEADER</td>
<td>CHAR(40)</td>
<td>ID, same value as the field on the <a href="#HDR_DATA">HDR_DATA</a> table</td>
</tr>
<tr bgcolor="#474034">
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>Unique ID for the item corresponding to the value on the <a href="#ITM_DATA">ITM_DATA</a> table.</td>
</tr>
<tr bgcolor="#474034">
<td>LGREG</td>
<td>CHAR(5)</td>
<td>Legal Regulation. Possible values can be found in table /SAPSLL/T606G.  <em>(Ex: &#8216;NAFTA&#8217;)</em></td>
</tr>
<tr>
<td>PFONY</td>
<td>CHAR(1)</td>
<td>Rule set type.  &#8216;A&#8217; for NAFTA, &#8216;B&#8217; for EU.</td>
</tr>
<tr>
<td>LGREG_APPLIED</td>
<td>CHAR(1)</td>
<td>Set to &#8216;X&#8217; if agreement was used for this document item</td>
</tr>
<tr>
<td>PREF_INDICATOR</td>
<td>CHAR(3)</td>
<td>[space] &#8211; Not Eligible for Preferential Treatment<br />
X &#8211; Eligible for Preferential Treatment<br />
A &#8211; Goods wholly obtained or produced entirely<br />
B &#8211; Goods satisfy specific rules of origin<br />
C &#8211; Goods entirely from originating materials<br />
N/E &#8211; Not Eligible</td>
</tr>
<tr>
<td>PREF_METHOD</td>
<td>CHAR(1)</td>
<td>Comparison method &#8211; specifies how the system determines the preference eligibility of a product.   List of possible values can be found in the Value Range for domain /SAPSLL/PRMET.0 &#8211; External Preference Document (Vendor/Manual)<br />
1 &#8211; Transaction Value Method<br />
2 &#8211; Net Cost Method<br />
3 &#8211; Tariff Alternation (NAFTA)</td>
</tr>
<tr>
<td>PRICE_DEPENDENT</td>
<td>CHAR(1)</td>
<td>Set to &#8216;X&#8217; if value is price-dependent.</td>
</tr>
<tr>
<td>PRICE_UNIT</td>
<td>DEC(5)</td>
<td>The &#8220;price per&#8221; unit.</td>
</tr>
<tr>
<td>PRICE_UOM</td>
<td>CHAR(3)</td>
<td>Unit of measure. List of possible values can be found in table T006.</td>
</tr>
<tr>
<td>PRICE_UOM_ISO</td>
<td>CHAR(3)</td>
<td>ISO UOM code</td>
</tr>
<tr>
<td>VAL_CURR</td>
<td>CUKY(5)</td>
<td>Currency key of the value</td>
</tr>
<tr>
<td>VAL_CURR_ISO</td>
<td>CHAR(3)</td>
<td>ISO currency code</td>
</tr>
<tr>
<td>VALCP</td>
<td>DEC(20,3)</td>
<td>Value as a decimal.</td>
</tr>
<tr>
<td>VALCP_FLT</td>
<td>FLOAT</td>
<td>Value as a 16-digit floating point number.</td>
</tr>
<tr>
<td>VALOR</td>
<td>DEC(20,3)</td>
<td>Value as a decimal.</td>
</tr>
<tr>
<td>VALOR_FLT</td>
<td>FLOAT</td>
<td>Value as a 16-digit floating point number.</td>
</tr>
<tr>
<td>VALNO</td>
<td>DEC(20,3)</td>
<td>Value as a decimal.</td>
</tr>
<tr>
<td>VALNO_FLT</td>
<td>FLOAT</td>
<td>Value as a 16-digit floating point number.</td>
</tr>
<tr>
<td>VALRB</td>
<td>DEC(20,3)</td>
<td>Value as a decimal.</td>
</tr>
<tr>
<td>VALRB_FLT</td>
<td>FLOAT</td>
<td>Value as a 16-digit floating point number.</td>
</tr>
</tbody>
</table>
<p><a name="DOC_ADDRESS_DATA"></a></p>
<h2>DOC_ADDRESS_DATA</h2>
<p><em>Note: Some optional fields omitted for brevity.</em></p>
<table border="1" cellspacing="0" cellpadding="1" width="617" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr bgcolor="#474034">
<td>ADDR_NO</td>
<td>CHAR(10)</td>
<td>Unique ID for this address.  Referenced from the <!-- span { font-family: "Courier New"; font-size: 10pt; color: rgb(0, 0, 0); background: none repeat scroll 0% 0% rgb(255, 255, 255); } --> <a href="#HDR_PARTNER_DATA">HDR_PARTNER_DATA</a> and <!-- span { font-family: "Courier New"; font-size: 10pt; color: rgb(0, 0, 0); background: none repeat scroll 0% 0% rgb(255, 255, 255); } --> <a href="#ITM_PARTNER_DATA">ITM_PARTNER_DATA</a> tables.</td>
</tr>
<tr>
<td>FORMOFADDR</td>
<td>CHAR(20)</td>
<td>Language-dependent form of address</td>
</tr>
<tr bgcolor="#474034">
<td>NAME</td>
<td>CHAR(40)</td>
<td>Name 1<em> </em></td>
</tr>
<tr>
<td>NAME_2</td>
<td>CHAR(40)</td>
<td>Name 2</td>
</tr>
<tr>
<td>NAME_3</td>
<td>CHAR(40)</td>
<td>Name 3</td>
</tr>
<tr>
<td>NAME_4</td>
<td>CHAR(40)</td>
<td>Name 4</td>
</tr>
<tr bgcolor="#474034">
<td>COUNTRY</td>
<td>CHAR(3)</td>
<td>Valid Country Key</td>
</tr>
</tbody>
</table>
<p><a name="RESULT_LEGAL_CONTROL"></a></p>
<h2>RESULT_LEGAL_CONTROL</h2>
<p>Each row in this table is either for the document header or one of the items.  If it is for the header, SERV_STAH and QUAL_STAH will be populated while ITEM_NUMBER, SERV_STAI, and QUAL_STAI will all be empty.  If it is for an item, ITEM_NUMBER, SERV_STAI, and QUAL_STAI will be populated while SERV_STAH and QUAL_STAH will be empty.  All the services and their corresponding status categories can be found in the table /SAPSLL/TCO210.</p>
<table border="1" cellspacing="0" cellpadding="1" width="617" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>DOCUMENT_NUMBER</td>
<td>CHAR(40)</td>
<td>External document ID.  Will match what is passed in the REFNO_HEADER field of the input tables.</td>
</tr>
<tr>
<td>GUID_HEADER</td>
<td>CHAR(32)</td>
<td>The Global Unique Identifier generated by GTS to identify this document.</td>
</tr>
<tr>
<td>SERV_STAH</td>
<td>CHAR(6)</td>
<td>Header Status Management Service</td>
</tr>
<tr>
<td>QUAL_STAH</td>
<td>CHAR(6)</td>
<td>Header Status Category for the Status Management Service above.</td>
</tr>
<tr>
<td>ITEM_NUMBER</td>
<td>CHAR(10)</td>
<td>External item number.</td>
</tr>
<tr>
<td>GUID_ITEM</td>
<td>CHAR(32)</td>
<td>The Global Unique Identifier generated by GTS to identify this item.</td>
</tr>
<tr>
<td>SERV_STAI</td>
<td>CHAR(6)</td>
<td>Item Status Management Service</td>
</tr>
<tr>
<td>QUAL_STAI</td>
<td>CHAR(6)</td>
<td>Item Status Category for the Status Management Service above.</td>
</tr>
<tr>
<td>SERVIC_TEXT</td>
<td>CHAR(60)</td>
<td>Text for the Status Management Service, either SERV_STAH or SERV_STAI, whichever is populated.</td>
</tr>
<tr>
<td>STATUS_TEXT</td>
<td>CHAR(25)</td>
<td>Text for the Status Category, either QUAL_STAH or QUAL_STAI, whichever is populated.</td>
</tr>
<tr>
<td>CHANGED_AT</td>
<td>TIMESTAMP</td>
<td>When the status was last updated.  Practically, this can be used as the timestamp when the document was screened.</td>
</tr>
<tr>
<td>CD_ACCESS</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if the function module /SAPSLL/API_6800_STATUS_GET could not find the status of the document header.</td>
</tr>
<tr>
<td>ENQUEUE</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if the API was unable to lock an existing document prior to updating it.</td>
</tr>
<tr>
<td>ENQUEUE_PRE</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if the API was unable to lock a previous document prior to updating the document flow.</td>
</tr>
<tr>
<td>ORG_UNIT</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if the API was unable to determine the document&#8217;s Foreign Trade Organization.  This is configured based on company code and logical system.</td>
</tr>
<tr>
<td>DOCUMENT_TYPE</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if an invalid document type was passed on the <a href="#HDR_DATA">HDR_DATA</a> table.</td>
</tr>
<tr>
<td>ITEM_CATEGORY</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if an invalid item category was passed on the <a href="#ITM_DATA">ITM_DATA</a> table.</td>
</tr>
<tr>
<td>LOG_SYSTEM</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if an invalid logical system value was passed on the <a href="#HDR_REFERENCE_DATA">HDR_REFERENCE_DATA</a> or <a href="#ITM_REFERENCE_DATA">ITM_REFERENCE_DATA</a> table.</td>
</tr>
<tr>
<td>PARTNER</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if an invalid partner was passed on the <a href="#HDR_PARTNER_DATA">HDR_PARTNER_DATA</a> or <a href="#ITM_PARTNER_DATA">ITM_PARTNER_DATA</a> table.</td>
</tr>
<tr>
<td>PARTNER_FUNCTION</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if an invalid partner function is passed on the <a href="#HDR_PARTNER_DATA">HDR_PARTNER_DATA</a> or <a href="#ITM_PARTNER_DATA">ITM_PARTNER_DATA</a> table.</td>
</tr>
<tr>
<td>PRODUCT</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if an invalid product number was passed in the <a href="#ITM_DATA">ITM_DATA</a> table.  Also could indicate a configuration problem, like if the product is not configured with a license service (&#8216;LECLDT&#8217;).</td>
</tr>
<tr>
<td>NUMBER_RANGE</td>
<td>CHAR(1)</td>
<td>&#8216;X&#8217; if the API is unable to determine the document number for a new document.  The number range is configured based on the customs document type which in turn is configured by logical system group.</td>
</tr>
<tr>
<td>CHECK_IND</td>
<td>CHAR(1)</td>
<td>Compliance Management Check result<br />
A &#8211; Check Okay<br />
B &#8211; Compliance Management Block<br />
C &#8211; Technical Error Block</td>
</tr>
<tr>
<td>BOM_SUBITEM</td>
<td>CHAR(10)</td>
<td></td>
</tr>
</tbody>
</table>
<p><a name="RETURN"></a></p>
<h2>RETURN</h2>
<p>This table is the standard BAPI return table.  If the call was successful there will be at list one entry in this table with a type of &#8216;S&#8217;.</p>
<table border="1" cellspacing="0" cellpadding="1" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>TYPE</td>
<td>CHAR(1)</td>
<td>Message type: S Success, E Error, W Warning, I Info, A Abort</td>
</tr>
<tr>
<td>ID</td>
<td>CHAR(20)</td>
<td>Message Class</td>
</tr>
<tr>
<td>NUMBER</td>
<td>NUMBER</td>
<td>Message Number</td>
</tr>
<tr>
<td>MESSAGE</td>
<td>CHAR(220)</td>
<td>Message Text</td>
</tr>
<tr>
<td>LOG_NO</td>
<td>CHAR(20)</td>
<td>Application log number</td>
</tr>
<tr>
<td>LOG_MSG_NO</td>
<td>NUMBER</td>
<td>Application log message number</td>
</tr>
<tr>
<td>MESSAGE_V1</td>
<td>CHAR(50)</td>
<td>Message Variable</td>
</tr>
<tr>
<td>MESSAGE_V2</td>
<td>CHAR(50)</td>
<td>Message Variable</td>
</tr>
<tr>
<td>MESSAGE_V3</td>
<td>CHAR(50)</td>
<td>Message Variable</td>
</tr>
<tr>
<td>MESSAGE_V4</td>
<td>CHAR(50)</td>
<td>Message Variable</td>
</tr>
<tr>
<td>PARAMETER</td>
<td>CHAR(32)</td>
<td>The parameter table containing the invalid value. Not always populated.</td>
</tr>
<tr>
<td>ROW</td>
<td>NUMBER</td>
<td>The line in the parameter table containing the invalid value. Not always populated.</td>
</tr>
<tr>
<td>FIELD</td>
<td>CHAR(30)</td>
<td>The field containing the invalid value.  Not always populated.</td>
</tr>
<tr>
<td>SYSTEM</td>
<td>CHAR(10)</td>
<td>The logical system of the GTS environment.</td>
</tr>
</tbody>
</table>
<p><a name="MAP_ERR"></a></p>
<h2>MAP_ERR</h2>
<p>This table lists all the mapping errors resulting from invalid parameter values or incorrect configuration.  Sometimes you have to do a little detective work to interpret these results.  For example, if you use an invalid plant code this table will have the plant code in the OBJ_NUM field with an OBJT value of &#8216;F&#8217; (Legal Unit) since the legal unit is derived from the plant code.</p>
<table border="1" cellspacing="0" cellpadding="1" width="617" align="center">
<tbody>
<tr>
<td><strong>Field</strong></td>
<td><strong>Type</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>DOCUMENT_NUMBER</td>
<td>CHAR(40)</td>
<td>External document ID.  Will match what is passed in the REFNO_HEADER field of the input tables.</td>
</tr>
<tr>
<td>OBJT</td>
<td>CHAR(1)</td>
<td>The type of the invalid valueA &#8211; Partner<br />
B &#8211; Material<br />
C &#8211; Item Category<br />
D &#8211; Partner Function<br />
E &#8211; Foreign Trade Organization<br />
F &#8211; Legal Unit</td>
</tr>
<tr>
<td>OBJ_NUM</td>
<td>CHAR(40)</td>
<td>The invalid value</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=23&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2011/02/28/document-screening-api-in-gts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>

		<media:content url="http://qwertyful.files.wordpress.com/2011/02/documentation.jpg" medium="image">
			<media:title type="html">documentation button</media:title>
		</media:content>
	</item>
		<item>
		<title>Empty rows in ITSMobile screens</title>
		<link>http://blog.qwertyful.com/2009/01/29/empty-rows-in-itsmobile-screens/</link>
		<comments>http://blog.qwertyful.com/2009/01/29/empty-rows-in-itsmobile-screens/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:58:32 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>
		<category><![CDATA[itsmobile]]></category>

		<guid isPermaLink="false">http://qwertyful.wordpress.com/?p=7</guid>
		<description><![CDATA[More fun deploying ITSMobile screens for mobile devices.  This time, I was tasked with finding a way to shrink the screens so they fit better on the handheld devices used in our factories.  It took a lot of research and trial and error, but I finally satisfied my users.  Here&#8217;s a summary, all in one [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=7&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>More fun deploying ITSMobile screens for mobile devices.  This time, I  was tasked with finding a way to shrink the screens so they fit better  on the handheld devices used in our factories.  It took a lot of  research and trial and error, but I finally satisfied my users.  Here&#8217;s a  summary, all in one place.</p>
<p>First I concentrated on reducing the  horizontal size of the screen elements.  This turned out to be pretty  easy: I created a custom generation style using <a href="http://help.sap.com/saphelp_nw04/helpdata/en/46/6c3d6041496a58e10000000a11466f/content.htm">this excellent walkthrough</a>.  I overrode the _COMPUTE_WIDTH_STRING method and changed the emfactor value from 1.0 to 0.8.</p>
<p>The  vertical dimension proved more challenging. I knew I could save a lot  of space by removing all the empty lines at the bottom of every screen,  but it took me a while to figure out how to do this.  Here&#8217;s the  solution I ended up with: In my custom generator class, I overrode the  _CONTENT_EMPTY_SPACE method, which is called for every empty cell.  In  the case of a empty row the generator writes a single empty cell that  spans the entire screen.  To trap this condition I added the following  check:</p>
<p><pre class="brush: plain;">IF pi_columns = _screen_header-columns. </pre></p>
<p>Inside this block I grabbed the value of the style attribute ( l_replacement-value) and added &#8221;  height:1px; &#8220;.  Now all the empty rows are shrunk down to 1 pixel in height, effectively removing them.</p>
<p>One   last trick &#8211; our mobile devices use Internet Explorer which has a   feature where the vertical scrollbar is always visible, even when it&#8217;s   not needed.  I added the following entry to my catmobile.css stylesheet   to hide the vertical scrollbar and regain some screen real estate:</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=7&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2009/01/29/empty-rows-in-itsmobile-screens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>
	</item>
		<item>
		<title>SAP ITSMobile login page</title>
		<link>http://blog.qwertyful.com/2009/01/26/itsmobile-login/</link>
		<comments>http://blog.qwertyful.com/2009/01/26/itsmobile-login/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 21:23:49 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>
		<category><![CDATA[itsmobile]]></category>

		<guid isPermaLink="false">http://qwertyful.wordpress.com/?p=1</guid>
		<description><![CDATA[Here&#8217;s another interesting feature I ran across while setting up ITSMobile.  Some users were able to log in ok, while some were getting this message: Client, name, or password is not correct; log on again We finally discovered that the password textbox on the standard login page has a max length of 8 characters. Since [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=1&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s another interesting feature I ran across while setting up  ITSMobile.  Some users were able to log in ok, while some were getting  this message:</p>
<pre>Client, name, or password is not correct; log on again
</pre>
<p>We  finally discovered that the password textbox on the standard login page  has a max length of 8 characters.  Since longer passwords are valid in  SAP, we ended up customizing the login screen to accommodate longer  passwords.</p>
<p>To do this, we copied the CL_MOBILE_SYSTEM_LOGIN class  to a Z class, and modified the HTM_LOGIN method.  This is the method  that outputs the html code for the login page.  You&#8217;ll see in the html  for the password textbox that is has &#8220;maxlength=8&#8243;.  Modify this value  and activate the class.</p>
<p>To tell ITSMobile to use your custom  class, go to transaction SICF (we had to have our Basis group do this)  and find your ITSMobile service.  Double-click it to open the modify  screen.  Go to the &#8220;Error Pages&#8221; tab and click the &#8220;Configuration&#8221;  button next to the &#8220;System Logon&#8221; option.  In the &#8220;Logon Layout and  Procedure&#8221; section, make sure the &#8220;User-Specific&#8221; option is selected,  and enter your Z class name in the Class field.  Adjust links and  Images, reactivate the service, and the custom login screen should be in  place!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=1&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2009/01/26/itsmobile-login/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>
	</item>
		<item>
		<title>Background task hanging</title>
		<link>http://blog.qwertyful.com/2009/01/10/background-task-hanging/</link>
		<comments>http://blog.qwertyful.com/2009/01/10/background-task-hanging/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 02:35:58 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[SAP Fun]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://qwertyful.wordpress.com/?p=14</guid>
		<description><![CDATA[One of the reasons I started this blog was to document SAP &#8220;features&#8221; that I had to learn about the hard way.  I just came across another one this week, so here it is. I&#8217;ve implemented the sequential Document Parking workflow (WS00400032), and had it tested and working beautifully.  After moving to a new client [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=14&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the reasons I started this blog was to  document SAP &#8220;features&#8221; that I had to learn about the hard way.  I just  came across another one this week, so here it is.</p>
<p>I&#8217;ve implemented the sequential Document Parking workflow (WS00400032), and had it tested and working beautifully.  After moving to a new client for testing, users were complaining that parked documents were not posting after the workflow had completed.  I checked the log and saw the the posting step was not completing:</p>
<p style="text-align:center;"><span style="font-family:Verdana;"><a href="http://i.imgur.com/GayHz.gif"><img class="aligncenter" title="Workflow task incomplete" src="http://i.imgur.com/GayHzl.jpg" alt="Workflow task incomplete" width="389" height="160" /></a></span></p>
<p>I checked session logs and background jobs to see if WF-Batch was getting hung up somewhere, but no dice.  I found a <a href="http://fuller.mit.edu/workflow/jv_post_changes.html">couple</a> <a href="https://forums.sdn.sap.com/thread.jspa?threadID=749771&amp;tstart=0&amp;messageID=4927871#4927871">posts</a> that said if an error is encountered the step would abort but never show an error message.  I checked ST22 as the other posts suggested, still no luck.</p>
<p>Then, while reviewing the workflow log for the hundredth time, I noticed an error message at the workflow framework level: Execution interrupted (SWF_RUN 611).</p>
<p style="text-align:center;"><a href="http://i.imgur.com/0Ts3o.gif"><img class="aligncenter" title="Workflow log" src="http://i.imgur.com/0Ts3o.gif" alt="Workflow log" width="419" height="190" /></a></p>
<p>Alas, even armed with an error number to search on, I was still unable to find an issue.</p>
<p>So, I resorted to firing up the debugger, anticipating hours of reading SAP code.  Instead, after only a few function calls, the program exited unsuccessfully, and I saw a message about the program needing to be regenerated.  I am using a customized version of the FIPP business object, so I went to SWO1, regenerated my ZFIPP object, and ta-da, everything was back to normal.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qwertyful.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qwertyful.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qwertyful.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qwertyful.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qwertyful.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qwertyful.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qwertyful.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qwertyful.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qwertyful.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qwertyful.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qwertyful.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qwertyful.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qwertyful.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qwertyful.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.qwertyful.com&amp;blog=18022498&amp;post=14&amp;subd=qwertyful&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.qwertyful.com/2009/01/10/background-task-hanging/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8a63b6177f426ebb253e62a320328c21?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bvirkler</media:title>
		</media:content>

		<media:content url="http://i.imgur.com/GayHzl.jpg" medium="image">
			<media:title type="html">Workflow task incomplete</media:title>
		</media:content>

		<media:content url="http://i.imgur.com/0Ts3o.gif" medium="image">
			<media:title type="html">Workflow log</media:title>
		</media:content>
	</item>
	</channel>
</rss>
