<?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"
	>

<channel>
	<title>WhyPad</title>
	<atom:link href="http://www.whypad.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.whypad.com</link>
	<description>Tips, tricks, and hacks for life's many questions...</description>
	<pubDate>Fri, 20 Jun 2008 13:24:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>SAP: Adding Past Validity Dates to Existing Cost Centers</title>
		<link>http://www.whypad.com/posts/sap-adding-past-validity-dates-to-cost-centers/198/</link>
		<comments>http://www.whypad.com/posts/sap-adding-past-validity-dates-to-cost-centers/198/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 22:06:39 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=198</guid>
		<description><![CDATA[Here&#8217;s a situation that we FICO types occassionally run into, particularly those of usÂ doing FICO development and technical support.Â  You may come across the need to create effective dates for existing cost centers that are in the past, meaning &#8220;Valid from&#8221; dates that are prior to the existing &#8220;Valid from&#8221;.Â  The bad [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/ks01.gif"></a><a href="http://www.whypad.com/wp-content/uploads/costctrs.gif"></a><a href="/posts/sap-adding-past-validity-dates-to-cost-centers/198/"><img class="alignleft size-thumbnail wp-image-200" title="costctrs" src="http://www.whypad.com/wp-content/uploads/costctrs-150x150.gif" alt="" width="150" height="150" /></a>Here&#8217;s a situation that we FICO types occassionally run into, particularly those of usÂ doing FICO development and technical support.Â  You may come across the need to create effective dates for existing cost centers that are in the past, meaning &#8220;Valid from&#8221; dates that are prior to the existing &#8220;Valid from&#8221;.Â  The bad news is that you cannot just go into transaction KS02 (Change Cost Center: Basic Screen) and press a &#8220;Change Validity Period&#8221; button like you can for profit centers in KE52.Â  So, how do you do it?</p>
<p><span id="more-198"></span></p>
<p>The trick is that you have to Create a new version of the cost center.Â  Here are the steps (as if you really needed them ;-)Â  ):</p>
<h2>Creating a New Version of Cost Center with New Vailidity Dates</h2>
<ol>
<li>Go to t-code:Â KS01</li>
<li>Enter the old cost center # in the Cost Center field</li>
<li>Enter the new Valid from &amp; Valid To dates.Â  Note: these dates cannot overlap with the existing dates</li>
<li>You probably want to create with Reference, so enter the same cost center # in the Reference section.</li>
<li>Hit the Master data button and tweak to taste&#8230;you&#8217;re done!</li>
</ol>
<p><a href="http://www.whypad.com/wp-content/uploads/ks01.gif"><img class="alignnone size-full wp-image-199" title="ks01 -create cost center" src="http://www.whypad.com/wp-content/uploads/ks01.gif" alt="" width="397" height="280" /></a></p>
<p>Â</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/sap-adding-past-validity-dates-to-cost-centers/198/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress Plugin: BWB-ReWriter for Custom URL Rewriting</title>
		<link>http://www.whypad.com/posts/wordpress-plugin-url-rewrite/194/</link>
		<comments>http://www.whypad.com/posts/wordpress-plugin-url-rewrite/194/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 22:07:00 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=194</guid>
		<description><![CDATA[This plugin isn&#8217;t intended to revolutionize the world, but it does solve a problem that some of you may have. BWB-ReWriter is a small helper plugin to let you easily add parameters to your &#8220;pretty urls&#8221; in your Wordpress app. A big thanks to Gamerz and Zoom4 in this WP support topic for their info [...]]]></description>
			<content:encoded><![CDATA[<p>This plugin isn&#8217;t intended to revolutionize the world, but it does solve a problem that some of you may have. BWB-ReWriter is a small helper plugin to let you easily add parameters to your &#8220;pretty urls&#8221; in your Wordpress app. A big thanks to Gamerz and Zoom4 in <a href="http://wordpress.org/support/topic/145456">this</a> WP support topic for their info on how to make this work.</p>
<p><span id="more-194"></span></p>
<p><strong>Download the plugin:</strong> <a href="http://www.whypad.com/wp-content/uploads/bwb-rewriter.zip">BWB-ReWriter</a></p>
<h2>What BWB-ReWriter does</h2>
<p>For starters, this is version 0.1. In my case, that means that it works, it gets the job done, but you&#8217;ve got to open the code to add your own url&#8217;s.</p>
<p>BWB-ReWriter takes care of the necessary steps to let you add &#8220;pretty&#8221; parameters to your Wordpress urls. This may be particularly needed if you&#8217;re using Wordpress as a CMS. You may ask, &#8220;Why can&#8217;t I just add my rewrite rules to the .htaccess file?&#8221; The short answer is that Wordpress obliterates them, as far as I can tell, and I may be wrong&#8230;I&#8217;m running 2.5.1. So, you have to do it the WP way. Here are the steps that BWB-ReWrite takes to make that happen:</p>
<ol>
<li>Flush rewrite rules so WP will recalculate them and pick up your new rules</li>
<li>Add your custom rules to the $wp_rewrite-&gt;rules array. It adds your rules to the top. Mod Rewrite takes rules in sequence, so if a standard Wordpress rule matches first, your rules will never be testing/applied.</li>
<li>Add your parameters to the $public_query_vars[] array.</li>
</ol>
<h2>Add Your Custom Mod ReWrite Rules to the Wordpress rules engine</h2>
<p>Wordpress has an object, $WP_Rewrite, that gets instantiated as $wp_rewrite by Wordpress, and is free for you to use. There appear to be different ways of interacting with that object to customize your urls. So, the code below is probably just one way to get &#8216;r done. Here is the salient code from the plugin, along with the comments that walk you through what you need to change to add your urls:</p>
<pre>/*	Add your custom rules in the array below...the first part (the key,
	to left of =&gt;) is the regular expression to match, the second part
	is the new value
*/
function bwb_add_rewrite_rules( $wp_rewrite )
{

	/*  Unsurprisingly by its name, this array contains your new rules.
		The array uses your Regular Expressions (the expressions test the raw
		URL for matches) as the keys.  The values (the string to the right
		of the "=&gt;") are the new URLs.  In the function below, you will add
		your parameter names to $public_query_vars[].
		Separate Key + Value pairs with a comma.  Do not put a comma after
		the last pair&#8230;that always gets me b/c I copy/paste a lot.

		Change the page (regions) to your page name, change/add/remove
		variables and their corresponding regex matches &#8220;(.+)&#8221; to match
		your needs
	*/	

	$new_rules = array(
		&#8216;regions/(.*)/(.*)/(.*)&#8217; =&gt; &#8216;index.php?page_id=4Â®ion=&#8217;.
		$wp_rewrite-&gt;preg_index(1).&#8217;&amp;country=&#8217;.
		$wp_rewrite-&gt;preg_index(2).&#8217;&amp;state=&#8217;.
		$wp_rewrite-&gt;preg_index(3),
		&#8216;travel/(.*)/(.*)/(.*)&#8217; =&gt; &#8216;index.php?page_id=4&amp;country=&#8217;.
		$wp_rewrite-&gt;preg_index(1).&#8217;Â®ion=&#8217;.
		$wp_rewrite-&gt;preg_index(2).
		&#8216;&amp;state=&#8217;.$wp_rewrite-&gt;preg_index(3)
	);

	//Add the rules to the rules array..wanna add them to the TOP, like so
	$wp_rewrite-&gt;rules = $new_rules + $wp_rewrite-&gt;rules;
}

function bwb_query_vars($public_query_vars) {
	/*	ADD YOUR PARAMETERS or QUERY VARIABLES BELOW
		Uncomment the lines and change the variable names to the ones
		you want to use. Add more lines as needed
	*/

	$public_query_vars[] = &#8220;region&#8221;;
	$public_query_vars[] = &#8220;country&#8221;;
	$public_query_vars[] = &#8220;state&#8221;;

	/*	Note: you do not want to add a variable multiple times.  As in
		the example above, multiple rules can use the same variables
	*/

	return $public_query_vars;
}</pre>
<h2>Using the Query Variables in your Code</h2>
<p>I almost forgot to tell you&#8230;now that you&#8217;ve got the URLs working, to get the query variable values, all you need to do is something like this:</p>
<p>$region = get_query_var(&#8217;region&#8217;);<br />
$country = get_query_var(&#8217;country&#8217;);<br />
$state = get_query_var(&#8217;state&#8217;);</p>
<p>You&#8217;re all set.</p>
<h2>Next Steps</h2>
<p>Clearly, there is room for improvement here. I would like to add an options page that lets you type in your Match expressions, resultant values, and your variable names, and the plugin would pull these out of the database on the fly. That should work, and I intend on trying it. But here&#8217;s to version 0.1 <img src='http://www.whypad.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>That&#8217;s about it. Hope it helps somebody out there!<br />
Cheers,<br />
Byron</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/wordpress-plugin-url-rewrite/194/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP: What is the &#038; Ampersand Preceding Variables</title>
		<link>http://www.whypad.com/posts/php-what-is-the-ampersand-preceding-variables/193/</link>
		<comments>http://www.whypad.com/posts/php-what-is-the-ampersand-preceding-variables/193/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 05:16:32 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=193</guid>
		<description><![CDATA[Well, this one is hard to find on Google, so I&#8217;m putting it in WhyPad to make it easy to find&#8230;at least for me, and I guess for you too since you here.  Welcome!  You may see PHP code snippets (PHP 5+ only) that have an ampersand, &#8216;&#38;&#8217;, preceding a variable like &#38;$my_variable. [...]]]></description>
			<content:encoded><![CDATA[<p>Well, this one is hard to find on Google, so I&#8217;m putting it in WhyPad to make it easy to find&#8230;at least for me, and I guess for you too since you here.  Welcome!  You may see PHP code snippets (PHP 5+ only) that have an ampersand, &#8216;&amp;&#8217;, preceding a variable like &amp;$my_variable.  So, what does it do?  It sets up a reference to the original variable instead of copying it&#8217;s value.  The following snippet demonstrates:<span id="more-193"></span></p>
<pre>
$original = "foo";
&#038;$ref = $original;

echo $ref;   \\Prints  "foo"....Note that you don't continue to use the '&#038;' after the var is initialized

now change $original

$original = "bar";

echo $ref;  \\Now prints:  "bar"
</pre>
<p>$ref would be unaffected by changes to $original if it had been set using the normal:  $ref = $original;</p>
<p>Next to figure out what that @ is doing in PHP code&#8230; <img src='http://www.whypad.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>[UPDATE] David sheds light on the &#8220;@&#8221; below&#8230;Thanks David!</strong></p>
<p>Cheers,<br />
Byron</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/php-what-is-the-ampersand-preceding-variables/193/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Automated Testing SAP with Worksoft Certify - Reviewed</title>
		<link>http://www.whypad.com/posts/sap-automated-testing-worksoft-certify/188/</link>
		<comments>http://www.whypad.com/posts/sap-automated-testing-worksoft-certify/188/#comments</comments>
		<pubDate>Wed, 28 May 2008 15:51:51 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=188</guid>
		<description><![CDATA[Looking for the holy grail in testing SAP?Â  IÂ am.Â  We&#8217;veÂ got an upgrade from 4.6C to ERPÂ 6 looming on the horizon, and a little testing magic would go a long ways.Â  Wouldn&#8217;t it be cool to say,Â &#8220;Replicator,Â one sales order, 20 line items.&#8221;Â  And&#8230;presto!Â  &#8220;Replicator,Â pick and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.whypad.com/wp-content/uploads/worksoft_certify.jpg"></a><a title="Replicator image by Peter from Iceland on Picassa" href="http://www.whypad.com/wp-content/uploads/replicator.jpg"><img class="alignleft size-full wp-image-189" title="replicator" src="http://www.whypad.com/wp-content/uploads/replicator.jpg" alt="Replicator image by Peter from Iceland on Picassa" width="150" height="120" /></a>Looking for the holy grail in testing SAP?Â  IÂ am.Â  We&#8217;veÂ got an upgrade from 4.6C to ERPÂ 6 looming on the horizon, and a little testing magic would go a long ways.Â  Wouldn&#8217;t it be cool to say,Â &#8220;<a href="http://en.wikipedia.org/wiki/Replicator_(Star_Trek)">Replicator</a>,Â one sales order, 20 line items.&#8221;Â  And&#8230;presto!Â  &#8220;Replicator,Â pick and delivery on last Sales Order.&#8221;Â  Sha-blam!Â  All set.Â  &#8220;Replicator, one purchase order with 300 line items, and tell me ifÂ it meets this set of criteria.&#8221;Â  Dare I dream?Â  Oh, yes, just like butter.Â  Usually, testing feels more like a stint as the <a href="http://en.wikiquote.org/wiki/Monty_Python_and_the_Holy_Grail#The_Black_Knight">Black Knight</a> from Monty Python&#8217;s Holy Grail than quality time spent with a Star Trek replicator.Â  The good news is that the SAP world is moving towards that magical replicator experience in automated testing.Â  Albeit slowly, but good progress all the same.Â  Enter Worksoft Certify, HP&#8217;s Mercury, et al.Â  This post is an introduction to <a href="http://www.worksoft.com/">Worksoft Certify</a>.<span id="more-188"></span></p>
<h2>What is Certify?</h2>
<p><a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/worksoft_certify.jpg"><img class="alignleft size-medium wp-image-190" title="worksoft_certify" src="http://www.whypad.com/wp-content/uploads/worksoft_certify-300x253.jpg" alt="" width="300" height="253" /></a>In the 2006 to 2007 timeframe, Worksoft made the strategic decision to tailor its automated software testing platform for the SAP experience.Â  This well may be the tipping point for this relatively small company.Â  They are gaining a lot of traction with some pretty major SAP customers.Â  Here in St. Louis, there are already several Certify customers (here&#8217;s hoping a Worksoft Certify User&#8217;s Group will be in the making).</p>
<p>Among the testing tools that we looked at, Certify most closely matched our testing strategy - at least what we hoped our strategy would be going forward.Â  Certify came across as having the advantage of allowing your business process experts (BPX&#8217;s) create and maintain the test cases for their areas of responsibility.Â  Other testing platforms talked about Quality and Testing Engineers, and other dedicated resources that we were not prepared to secure.</p>
<p>Has Certify lived up to the ease of use we expected?Â  Not quite.Â  Let me qualify that.Â  This is certainly a tool that the average BPX can become proficient in, however, there is a learning curve, and this bike requires a lot of practice to get good at riding it.Â  We are finding that as BPX&#8217;s use the system more regularly, they are finding more uses for it in their daily work.Â  They are dreaming up additional test cases and variations that give us much broader testing coverage than we&#8217;ve had in the past.Â  Some of them actually like it <img src='http://www.whypad.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .Â  Certify is a complex and quirky tool that is made all the more complex because of the complexity of the patient - SAP.Â  If SAP weren&#8217;t so complex, Certify would seem a lot simpler.</p>
<h2>Does Certify Deliver the Replicator Experience?</h2>
<p>Yes&#8230;once you&#8217;ve got the test cases built.Â  That is the mountain you must climb to reach Valhalla.Â  Our BPX&#8217;s are able to do Sales Tax testing on 50 states in a tiny fraction of the time that it was taking them in the past.Â  We have people creating 300 line item PO&#8217;s with the push of a button.Â  This ties up the computer for 20 minutes, by this was an hour+ of manualÂ work before, and heaven help the person who flubbed up the downstream testing and requested another 300 line item PO.</p>
<p>The creation of test cases is not to be taken lightly, especially if you&#8217;re running some bolt-ons in your SAP environment.Â  Hopefully we are blazing the trail for future Certify customers (thank you cards are accepted <img src='http://www.whypad.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) in the area of bolt-ons.Â  We are running a number of them such as GuiXT, and it seems that these frequently have quirks that Certify is not prepared for.Â  Worksoft has been very responsive in applying resources to help us through these problems.Â  These usually result in a work around or in some cases a hot fix that gets applied to your clients.</p>
<p>Gaining user acceptance is a major feat, but it is definitely a battle worth fighting, no matter which testing platform you go with.Â  The payoff is huge for your testing strategy.Â  We have had the most success by dedicating 2 resources to the test case ramp-up phase.Â  All of our BPX&#8217;s are busy with daily life in SAP, so adding the Certify learning curve and test case creation to their plates was not going to really work.Â  We&#8217;ve had our BPX&#8217;s identify test cases to be created.Â  Our Certify experts are scheduling time to work directly with the BPX&#8217;s to get these created.Â  We&#8217;ve seen a complete turn around once we provided these resources to our BPX&#8217;s&#8230;knock on wood <img src='http://www.whypad.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h2>A List of Issues to Consider</h2>
<p>Here are someÂ items we are/have been dealing with:</p>
<ol>
<li>General testing strategy - what, when, where, why, and how to test our system&#8230;and how to document that</li>
<li>User acceptance</li>
<li>Test data management - no testing system will work with bad or unpredictable data</li>
<li>Test case maintenance</li>
<li>Possible Integration with SAP Solution Manager - Worksoft is building in Solution Manager integration&#8230;we are considering what that looks like and how we would use it, but haven&#8217;t gotten very far on this item</li>
<li>Tracking test case creation - I created a web application that lets us track the status of our test cases (are they built yet?Â  do they work?Â  are they scheduled to be created?Â  when?).Â  I&#8217;ve talked with Worksoft about the need for something like this.Â  Whether you have a dedicated department of testers doing the creation or whether you have distributed that responsibility to your BPX&#8217;s, you will need some mechanism to track and manage your progress.</li>
<li>Integrating test results with your Support/DevelopmentÂ Ticket system - whether you use Remedy or some other ticket system, it would be great to be able to document the Certify testingÂ in that system&#8230;automagically</li>
</ol>
<p>That&#8217;s the short list&#8230;</p>
<h2>Final Words</h2>
<p>Should you use Certify?Â  Well, that&#8217;sÂ begging for theÂ age old consultant answer&#8230;I won&#8217;t even say it.Â  Suffice it to say that Certify is a solid product, gaining some real traction among SAP users, and it&#8217;s getting better and better every day.Â  The leap from Certify 7 to Certify 8 was like Windows 3.1 to Windows 95 (maybe that&#8217;s a bad analogy&#8230;forgive me, but you get the point).Â  You should seriously consider how you want to test your system.Â  Look at the alternatives on the market, and pick the best for you.Â  We&#8217;re giving Certify a tentative 2 thumbs up.Â  We&#8217;re still early on in our use, so anything else would be rash.Â  Worksoft are interested in being a successful company, and they realize that there is really only one path to that&#8230;making their customers successful.Â  We can attest to that.</p>
<p>Cheers!</p>
<p>Byron</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/sap-automated-testing-worksoft-certify/188/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SAP: How to Determine a Table for a Data Element</title>
		<link>http://www.whypad.com/posts/sap-determine-table-for-data-element/181/</link>
		<comments>http://www.whypad.com/posts/sap-determine-table-for-data-element/181/#comments</comments>
		<pubDate>Thu, 22 May 2008 20:35:12 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=181</guid>
		<description><![CDATA[If there is one thing that SAP is not lacking in, it&#8217;s database tables.Â  40,000+ tables is what I&#8217;ve heard.Â  They&#8217;ve got tables of tables.Â  Knowing which table a particular piece of data is stored in is sometimes extremely useful, essential really if you&#8217;re going to do a SQVI or an SE16 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.whypad.com/posts/sap-determine-table-for-data-element/181/"><img class="alignleft size-thumbnail wp-image-187" title="data-element-tables" src="http://www.whypad.com/wp-content/uploads/data-element-tables-150x150.jpg" alt="" width="150" height="150" /></a>If there is one thing that SAP is not lacking in, it&#8217;s database tables.Â  40,000+ tables is what I&#8217;ve heard.Â  They&#8217;ve got tables of tables.Â  Knowing which table a particular piece of data is stored in is sometimes extremely useful, essential really if you&#8217;re going to do a SQVI or an SE16 query.Â  If you&#8217;re lucky, finding the table for a particular data element can be easy, if you&#8217;re not lucky, well, you&#8217;re really not lucky in this case <img src='http://www.whypad.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> :<span id="more-181"></span></p>
<h2>Steps for Finding Table for a Data Element</h2>
<ol>
<li>Â From a t-code that contains your data element, click in the fieldÂ for that element&#8230;here&#8217;s an exampleÂ of clicking in Cost Center field in T-code KS13 (Cost Center Master Data:<br />
<a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/ks13-cost-centers.jpg"><img class="alignnone size-full wp-image-182" title="ks13-cost-centers" src="http://www.whypad.com/wp-content/uploads/ks13-cost-centers.jpg" alt="" width="462" height="298" /></a></li>
<li>Next press F1 key to bring up Help (aka Performance Assistant)<br />
<a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/performance_assistant.jpg"><img class="alignnone size-full wp-image-183" title="performance_assistant" src="http://www.whypad.com/wp-content/uploads/performance_assistant.jpg" alt="" width="348" height="296" /></a></li>
<li>In the Performance Assistant, click the Technical Information button (shown above)</li>
<li>In the technical Assistant, look for the Field Name or Data Element field and copy the value:<br />
<a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/techinfo.jpg"><img class="alignnone size-full wp-image-184" title="techinfo" src="http://www.whypad.com/wp-content/uploads/techinfo.jpg" alt="" width="296" height="335" /></a></li>
<li>Go to the ABAP Dictionary - T-code: SE11and enter the field name into the Data Type field&#8230;be sure to select the Data type radio button, and click Display button at bottom:<br />
<a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/se11-abap-dictionary.jpg"><img class="alignnone size-full wp-image-185" title="se11-abap-dictionary" src="http://www.whypad.com/wp-content/uploads/se11-abap-dictionary.jpg" alt="" width="481" height="389" /></a></li>
<li>From the Display Data Element screen, click the &#8220;Where Used&#8221; button, circled in red below:<br />
<a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/display_data_element.jpg"><img class="alignnone size-full wp-image-186" title="display_data_element" src="http://www.whypad.com/wp-content/uploads/display_data_element.jpg" alt="" width="467" height="467" /></a></li>
<li>Select &#8220;Table fields&#8221; (you can play around with the others, but we&#8217;re looking for a table</li>
<li>Now comes the needle in the haystack search&#8230;except we&#8217;ve really narrowed down the haystack a lot. You can do a search (Ctrl-F) for key words that might be in your table, like &#8220;Master&#8221; for Master Data tables, etc. If you can&#8217;t find the table you&#8217;re looking for, you might have need to try a different data element. For instance, if you look up the data element for GL Account from T-code FB50, you get HKONT for the field name. But you won&#8217;t find a Master Data table for that. You need to go to FS00 and look up the field name there, which gives you SAKNR. Using the above steps, you can easily find the Master Data table for SAKNR. Here&#8217;s a shot of a data element tables list for KOSTL (Cost Centers):<br />
<a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/data-element-tables.jpg"><img class="alignnone size-full wp-image-187" title="data-element-tables" src="http://www.whypad.com/wp-content/uploads/data-element-tables.jpg" alt="" width="424" height="345" /></a></li>
</ol>
<p>Sometimes you get lucky looking up a field in the Performance Assistant and it gives you an actual table name and not a structure or view.Â  This solves the problem neatly, but after that, you&#8217;re kind of searching.</p>
<p>If anyone has a better method, please&#8230;really&#8230;please, let us know.</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/sap-determine-table-for-data-element/181/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Codeigniter: ActiveRecord Join Tip</title>
		<link>http://www.whypad.com/posts/codeigniter-activerecord-join-tip/178/</link>
		<comments>http://www.whypad.com/posts/codeigniter-activerecord-join-tip/178/#comments</comments>
		<pubDate>Thu, 22 May 2008 05:29:35 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=178</guid>
		<description><![CDATA[I ran into a problem with a SQL JOIN in Codeigniter&#8217;s ActiveRecord class.  This post will help you get past that, but first a little intro to frameworks.  If you&#8217;re a PHP developer, you have probably considered one of the incredibly useful frameworks that are available today.  Cake, Zend, Symfony, and Codeigniter [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://www.whypad.com/wp-content/uploads/ci_flame.jpg"><img class="alignleft size-full wp-image-179" title="ci_flame" src="http://www.whypad.com/wp-content/uploads/ci_flame.jpg" alt="" width="150" height="164" /></a>I ran into a problem with a SQL JOIN in Codeigniter&#8217;s ActiveRecord class.  This post will help you get past that, but first a little intro to frameworks.  If you&#8217;re a PHP developer, you have probably considered one of the incredibly useful frameworks that are available today.  <a href="http://www.cakephp.org/">Cake</a>, <a href="http://framework.zend.com/">Zend</a>, <a href="http://www.symfony-project.org/">Symfony</a>, and <a href="http://codeigniter.com/">Codeigniter</a> are some of the biggest names in the PHP framework game today.  I&#8217;ve tried both Cake and Codeigniter, and found Codeigniter less strict, so I&#8217;ve been gravitating towards it.  If you haven&#8217;t tried a framework, I highly recommend doing so.  Any of the four I&#8217;ve listed are excellent choices, each with strengths and weaknesses, and rabid fans who can take their zealotry to extremes at times.  As with anything that requires a computer, there is always a learning curve when taking on a framework, whether it&#8217;s figuring out MVC or just learning the syntax and structure of the framework itself.  But the payoff is tremendous amounts of functionality that you don&#8217;t have to code, somewhat enforced structure, and possibly even cleaner, more manageable code.  Check out <a href="http://codeigniter.com/user_guide/">Codeigniter&#8217;s User&#8217;s Guide</a> to give you some idea of its features (you&#8217;ll have to click the little black &#8220;Table of Contents&#8221; tab at the very top &amp; right of the page&#8230;it&#8217;s sort of hidden).<span id="more-178"></span></p>
<h2>My Codeigniter SQL JOIN Problem</h2>
<p>Let me start by saying that this was my problem, not Codeigniter&#8217;s.  If only I&#8217;d read the freakin&#8217; manual a little closer.  So anyhoo, my problem was that I was trying to join 2 tables with a LEFT OUTER JOIN, but it wasn&#8217;t working.  My code was looking like:</p>
<pre>        $this-&gt;db-&gt;select('tr_dests.*', 'tr_states.state_name');
        $this-&gt;db-&gt;where('dest_id',$dest_id);
        $this-&gt;db-&gt;from('tr_dests');
	$this-&gt;db-&gt;join('tr_states','tr_dests.state = tr_states.state', 'LEFT OUTER');

        $query = $this-&gt;db-&gt;get();</pre>
<p>This was giving me the left hand table data just fine, but I was getting an empty result for my &#8220;state_name&#8221; column.  It is shameful how long I spent trying to figure out what my problem was.  Of course, I was convinced that there was something wrong with Codeigniter Activerecord class.  So, I really didn&#8217;t try everything.</p>
<h2>The Answer:</h2>
<p>The problem was in my SELECT statement.  I really thought I was ok there, but how wrong I was!    <span style="text-decoration: underline;">Only use one string of fields per line.</span> This is how you would do the SELECT:</p>
<pre>        $this-&gt;db-&gt;select('tr_dests.*, tr_states.state_name');

        or

        $this-&gt;db-&gt;select('tr_dests.*');
        $this-&gt;db-&gt;select('tr_states.state_name');

        or as Derek notes below in the comments

        $this-&gt;db-&gt;select('tr_dests.*, tr_states.state_name', FALSE);

        The FALSE argument is optional. It tells CodeIgniter not to protect the fields or table names with back slashes.  Generally, you won't need to use that.
</pre>
<p>Maybe that will save someone an hour or two&#8230;or three.  I feel stupid&#8230;lesson learned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/codeigniter-activerecord-join-tip/178/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wetpaint Injected - Could it add a Wiki to your WordPress Site</title>
		<link>http://www.whypad.com/posts/wetpaint-injected-could-it-add-a-wiki-to-your-wordpress-site/176/</link>
		<comments>http://www.whypad.com/posts/wetpaint-injected-could-it-add-a-wiki-to-your-wordpress-site/176/#comments</comments>
		<pubDate>Mon, 19 May 2008 15:59:47 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=176</guid>
		<description><![CDATA[
Wiki provider Wetpaint announced today the availability of Wetpaint Injected, a service/platform that allows website publishers to create a social network/wiki right inside your own site.Â  The platform is evidently more than droppingÂ a snippet of Javascript into your code.Â  There are some serious SEO benefits to this since the content that is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.whypad.com/wp-content/uploads/wetpaint.png"><img class="alignleft size-full wp-image-177" title="wetpaint" src="http://www.whypad.com/wp-content/uploads/wetpaint.png" alt="" width="100" height="62" /></a><br />
Wiki provider Wetpaint <a href="http://press.wetpaint.com/page/Wetpaint+Injected+Instantly+Transforms+Any+Website+Into+a+Socially+Published+Supersite?t=anon">announced </a>today the availability of Wetpaint Injected, a service/platform that allows website publishers to create a social network/wiki right inside your own site.Â  The platform is evidently more than droppingÂ a snippet of Javascript into your code.Â  There are some serious SEO benefits to this since the content that is retrieved becomes part of your html page.Â  I have only just put in a request to use Injected in one of my own Â websites (right now you sign up by email - see the Press release linked above&#8230;I&#8217;msure they&#8217;ll have something more automated soon), so I don&#8217;t have any idea of what all comes with Injected.Â  But if it includes most of the social network/wiki features of their regular Wiki&#8217;s, this could be a huge boon to website publishers.Â  From a blogger&#8217;s standpoint, this could make a killer Wordpress plugin.Â  Especially for those bloggers like me who are writing about topics that lend themselves to Wiki&#8217;s.</p>
<p><span id="more-176"></span></p>
<p>Part of the Injected deal is that it is free until you breach 100,000 impressions per month.Â  At that point, there will be some sort of revenue sharing.Â  I&#8217;d love to have to worry about that problem.Â  I&#8217;m still quite a ways from crossing that bridge.Â  For others, though the revenue sharing proposition will have to be part of the decision making process.Â  Data portability would make that decision a lot easier.Â  Knowing that you can getÂ the data out and into your own databases would be a huge benefit.Â  Also, I haven&#8217;t seen the license yet, so I don&#8217;t know who actually owns the data if you run it through Wetpaint.Â  ThoseÂ would beÂ fairly important questions for any site that could potentially get big.</p>
<p>Well, I, for one, am excited about what Injected might be able to add to my sites.Â  What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/wetpaint-injected-could-it-add-a-wiki-to-your-wordpress-site/176/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SAP Travel Mgmt: Web Dynpro - ABAP or Java?</title>
		<link>http://www.whypad.com/posts/sap-travel-web-dynpro-choices/172/</link>
		<comments>http://www.whypad.com/posts/sap-travel-web-dynpro-choices/172/#comments</comments>
		<pubDate>Thu, 15 May 2008 16:34:14 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=172</guid>
		<description><![CDATA[If you&#8217;re starting to look at SAP Travel Management, a question you&#8217;ll likely face is whether to customize your Portal portion using Web Dynpro for Java or Web Dynpro for ABAP.  With the introduction of the Java stack in Netweaver 7, you&#8217;d think that Java was the logical go-forward platform, but this is not [...]]]></description>
			<content:encoded><![CDATA[<p><img class="imgright" src="http://www.whypad.com/wp-content/uploads/abapjava.gif" alt="ABAP or Java?" />If you&#8217;re starting to look at SAP Travel Management, a question you&#8217;ll likely face is whether to customize your Portal portion using Web Dynpro for Java or Web Dynpro for ABAP.  With the introduction of the Java stack in Netweaver 7, you&#8217;d think that Java was the logical go-forward platform, but this is not the case with Travel.  We are implementing Travel at my company, and have heard from several sources, including SAP, that future development in Travel will be strictly Web Dynpro for ABAP.</p>
<p><span id="more-172"></span></p>
<p>This may cause a bit of consternation if you, like us, had tooled your Portal team with Java gurus.  Perhaps SAP were thinking that most shops have plenty (hah!) of ABAP resources, so they might drive more adoption by utilizing them with Travel.  Another possible reason for the ABAP only decision might be that there would be significant interaction required with the core SAP system, and therefore ABAPpers would feel more at home.</p>
<p>The problem that we have is that most of our ABAPpers have little web experience and our Java/Portal people have little ABAP experience.  There are 4 exits from this quandry:</p>
<ol>
<li>You still have the option to go with Web Dynpro for Java, but you will not be able to get enhancements down the road and a future upgrade might be problematic</li>
<li>Your ABAP resources will need to become Portal experts&#8230;.a new breed of ABAPper called a PortABAPper</li>
<li>Your Portal/Java resources will need to take up ABAP, becoming JABAPpers</li>
<li>Close your eyes, do a Hail Mary and hire a consultant (Note: the Hail Mary is not because you might regret the consultant, but because you might regret not having the in-house expertise when it&#8217;s over.)</li>
</ol>
<p>The silver lining?  There&#8217;s nothing like the opportunity to learn something new.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/sap-travel-web-dynpro-choices/172/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ASP.NET/C#: Convert HTML Colors to System.Drawing.Color</title>
		<link>http://www.whypad.com/posts/aspnetc-convert-html-colors-to-systemdrawingcolor/171/</link>
		<comments>http://www.whypad.com/posts/aspnetc-convert-html-colors-to-systemdrawingcolor/171/#comments</comments>
		<pubDate>Wed, 14 May 2008 16:34:58 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[ASP.NET/C#]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=171</guid>
		<description><![CDATA[HTML colors come in all sorts of flavors: hexadecimal (#0066ff), named colors (e.g. LightSkyBlue&#8230;here&#8217;s the link).

Many people may be very comfortable with working with HTML colors, so if you&#8217;re in C# and needing to get the .Net equivalent, you can translate directly from HTML colors with System.Drawing.ColorTranslator.FromHtml().  Here&#8217;s the usage:

System.Drawing.Color myColor = System.Drawing.ColorTranslator.FromHtml("Red");
or
System.Drawing.ColorTranslator.FromHtml("#ff0000");
Controls require [...]]]></description>
			<content:encoded><![CDATA[<p>HTML colors come in all sorts of flavors: hexadecimal (#0066ff), named colors (e.g. LightSkyBlue&#8230;here&#8217;s the <a title="HTML Color names" href="http://www.w3schools.com/HTML/html_colornames.asp">link</a>).</p>
<p><span id="more-171"></span></p>
<p>Many people may be very comfortable with working with HTML colors, so if you&#8217;re in C# and needing to get the .Net equivalent, you can translate directly from HTML colors with System.Drawing.ColorTranslator.FromHtml().  Here&#8217;s the usage:</p>
<pre>
System.Drawing.Color myColor = System.Drawing.ColorTranslator.FromHtml("Red");
or
System.Drawing.ColorTranslator.FromHtml("#ff0000");</pre>
<p>Controls require the System.Drawing.Color type:</p>
<pre>
TextBox t = new TextBox();
t.BackColor = System.Drawing.Color.Red;
</pre>
<p>Also useful is System.Drawing.ColorConverter. Here&#8217;s the <a href="http://msdn.microsoft.com/en-us/library/system.drawing.colorconverter(VS.80).aspx">MSDN link </a>for that. But working from the HTML colors may be more familiar to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/aspnetc-convert-html-colors-to-systemdrawingcolor/171/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SAP: Quick Tip - T-code for Customer Master - VD03</title>
		<link>http://www.whypad.com/posts/sap-vd03r-customer-master/170/</link>
		<comments>http://www.whypad.com/posts/sap-vd03r-customer-master/170/#comments</comments>
		<pubDate>Tue, 13 May 2008 20:56:45 +0000</pubDate>
		<dc:creator>byron</dc:creator>
		
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://www.whypad.com/?p=170</guid>
		<description><![CDATA[Looking for the SAP Customer Master data?Â  VD03 is the transaction code you need.
]]></description>
			<content:encoded><![CDATA[<p>Looking for the SAP Customer Master data?Â  VD03 is the transaction code you need.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.whypad.com/posts/sap-vd03r-customer-master/170/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
