<?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>PSST0101</title>
	<atom:link href="http://psst0101.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://psst0101.wordpress.com</link>
	<description>Just Trying to Remember and Share What I Learn at Work</description>
	<lastBuildDate>Sat, 31 Dec 2011 14:05:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='psst0101.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>PSST0101</title>
		<link>http://psst0101.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://psst0101.wordpress.com/osd.xml" title="PSST0101" />
	<atom:link rel='hub' href='http://psst0101.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Virtual Moving Day!</title>
		<link>http://psst0101.wordpress.com/2011/01/30/virtual-moving-day/</link>
		<comments>http://psst0101.wordpress.com/2011/01/30/virtual-moving-day/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 01:53:15 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=650</guid>
		<description><![CDATA[Well, I finally decided to do it!  I got my own website.  So, now comes the challenging part of moving it all to the new site. So, please update your feeds and bookmarks to: http://psst0101.digitaleagle.net/ And, if you have any suggestions on how I can make it better, please comment.  I apologize for the inconvenience.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=650&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://psst0101.files.wordpress.com/2011/01/movinglrg.png"><img class="alignleft size-full wp-image-653" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/movinglrg.png?w=780" alt=""   /></a>Well, I finally decided to do it!  I got my own <a href="http://digitaleagle.net">website</a>.  So, now comes the challenging part of moving it all to the new <a href="http://digitaleagle.net/">site</a>.</p>
<p>So, please update your feeds and bookmarks to:</p>
<p><a href="http://psst0101.digitaleagle.net">http://psst0101.digitaleagle.net/</a></p>
<p>And, if you have any suggestions on how I can make it better, please comment.  I apologize for the inconvenience.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/650/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=650&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/30/virtual-moving-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/movinglrg.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>
	</item>
		<item>
		<title>Tip: Comparing Trace Files</title>
		<link>http://psst0101.wordpress.com/2011/01/10/tip-comparing-trace-files/</link>
		<comments>http://psst0101.wordpress.com/2011/01/10/tip-comparing-trace-files/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 04:32:55 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[PeopleTools Tip]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=614</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/ Trace files can give a lot of nice troubleshooting information, sometimes too much.  Sometimes, you may have a situation where a problem occurs in one system but not in another.  You could run a trace in both systems, but comparing those trace files is difficult.  Each [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=614&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a href="http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/">http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/</a></div>
<p>Trace files can give a lot of nice troubleshooting information, sometimes too much.  Sometimes, you may have a situation where a problem occurs in one system but not in another.  You could run a trace in both systems, but comparing those trace files is difficult.  Each line has a timestamp, which will be different in each file.</p>
<p>Here is a trick for getting rid of those timestamps.  Here is the source:</p>
<p><a href="http://codept.blogspot.com/2007/12/sed-remove-first-4-letters-in-each-line.html" target="_blank">sed : Remove first 4 letters in each line</a></p>
<p>Of course, you need Linux, Unix, or Cygwin for this &#8212; something with the <a href="http://en.wikipedia.org/wiki/Sed" target="_blank">sed</a> program.  Here is the command:</p>
<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<pre>sed 's/^.\{51\}//g' "mytrace.tracesql" &gt; modtrace.tracesql</pre>
<p>For example, here are the first few lines of a trace file:</p>
<pre>PSAPPSRV.248 (181) 	 1-1      10.24.26             Cur#1.248.FSDEV90 RC=0 Dur=0.001000 COM Stmt=SELECT VERSION FROM PSVERSION WHERE OBJECTTYPENAME = 'SYS'
PSAPPSRV.248 (181) 	 1-2      10.24.26    0.003000 Cur#1.248.FSDEV90 RC=0 Dur=0.001000 COM Stmt=SELECT PORTAL_NAME, PORTAL_REFTYPE, PORTAL_OBJNAME FROM PSPRSMDEFN WHERE VERSION &gt; :1 UNION SELECT PORTAL_NAME, PORTAL_REFTYPE, PORTAL_OBJNAME FROM PSPRSMDEL WHERE VERSION &gt; :2
PSAPPSRV.248 (181) 	 1-3      10.24.26    0.000000 Cur#1.248.FSDEV90 RC=0 Dur=0.000000 Bind-1 type=8 length=4 value=214748355</pre>
<p>After running the command, here is what it looks like:</p>
<pre>Cur#1.248.FSDEV90 RC=0 Dur=0.001000 COM Stmt=SELECT VERSION FROM PSVERSION WHERE OBJECTTYPENAME = 'SYS'
Cur#1.248.FSDEV90 RC=0 Dur=0.001000 COM Stmt=SELECT PORTAL_NAME, PORTAL_REFTYPE, PORTAL_OBJNAME FROM PSPRSMDEFN WHERE VERSION &gt; :1 UNION SELECT PORTAL_NAME, PORTAL_REFTYPE, PORTAL_OBJNAME FROM PSPRSMDEL WHERE VERSION &gt; :2
Cur#1.248.FSDEV90 RC=0 Dur=0.000000 Bind-1 type=8 length=4 value=214748355</pre>
<p>Now, you can use a tool like Beyond Compare or Meld to compare the trace files without the timestamp.  If you don&#8217;t have a compare tool, look <a href="http://alternativeto.net/software/beyond-compare/" target="_blank">here</a>.</p>
<p><img src="http://static.zooomr.com/images/9724934_b06d8b215f.jpg" alt="skp@pecan: ~-Downloads_857" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/614/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=614&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/10/tip-comparing-trace-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9724934_b06d8b215f.jpg" medium="image">
			<media:title type="html">skp@pecan: ~-Downloads_857</media:title>
		</media:content>
	</item>
		<item>
		<title>Explorations in Component Interface: Handling Component Interface Errors</title>
		<link>http://psst0101.wordpress.com/2011/01/07/explorations-in-component-interface-handling-component-interface-errors/</link>
		<comments>http://psst0101.wordpress.com/2011/01/07/explorations-in-component-interface-handling-component-interface-errors/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 15:11:39 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[App Engine]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Component Interface]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=611</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/ This is a continuation of the following posts: Part 1: Creating the Component Interface Part 2: Security Part 3: PeopleCode The plan this time is to try to see how well we can handle errors.  I have been having trouble with some of my production programs [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=611&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a href="http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/">http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/</a></div>
<p>This is a continuation of the following posts:</p>
<ul>
<li><a href="http://psst0101.wordpress.com/2011/01/04/explorations-in-component-interface/">Part 1: Creating the Component Interface</a></li>
<li><a href="http://psst0101.wordpress.com/2011/01/04/component-interfaces-explorations-security/">Part 2: Security</a></li>
<li><a href="http://psst0101.wordpress.com/2011/01/05/explorations-in-component-interface-peoplecode/">Part 3: PeopleCode</a></li>
</ul>
<p>The plan this time is to try to see how well we can handle errors.  I have been having trouble with some of my production programs crashing when I have taken all the necessary steps to trap and handle the error.  So, we&#8217;ll see how this goes &#8230;</p>
<p><span id="more-611"></span></p>
<h2>Trying a Single Error</h2>
<p>First, let&#8217;s change that second parameter in our program to true.  This should trigger the part of our code that set&#8217;s the birth state to &#8220;XX&#8221;.  Assuming everything works the way it should, we should catch the Invalid Value message and write it to the log file.  Then, the program should run to completion showing the Program Completed message from the second step.</p>
<p><img src="http://static.zooomr.com/images/9718825_f75cf72529.jpg" alt="Selection_831" /></p>
<p>Again, <a href="http://psst0101.wordpress.com/2010/07/27/step-by-step-app-engine-for-testing-peoplecode/">see the App Engine test post</a> for instructions on how to run the program.  Then, look in the log file generated by the PeopleCode.  As we would expect, we see the Invalid Value messages:</p>
<p><img src="http://static.zooomr.com/images/9718849_c9c69babb7.jpg" alt="Selection_832" /></p>
<p>Then, if you look in the program&#8217;s standard out log, you see the message as well.  I think this is a bug in the tools because we did trap the message.  If I tell it to only put the message in the message collection, I should be able to do what I want with the message as far as showing it or hiding it:</p>
<p><img src="http://static.zooomr.com/images/9718856_46abaf58d0.jpg" alt="Selection_833" /></p>
<p>Keep in mind that we are specifying the collection only option.  If we had chosen &#8220;2&#8243; or &#8220;3&#8243; for the messages mode, I would expect the &#8220;Invalid Value&#8221; message in the standard out, but we are specifying &#8220;1&#8243;:</p>
<p><img src="http://static.zooomr.com/images/9718863_4815bae42d.jpg" alt="Selection_834" /></p>
<h2>Multiple Updates</h2>
<p>Now, lets try multiple updates with a single error at the end:</p>
<p><img src="http://static.zooomr.com/images/9718868_8e50a559d5.jpg" alt="Selection_835" /></p>
<p>If you want, you can just copy my lines:</p>
<pre>updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, True);
</pre>
<p>Both logs look just fine:</p>
<p><img src="http://static.zooomr.com/images/9718881_e562b76472.jpg" alt="Selection_836" /></p>
<p>The key is that it ran to the end of the PeopleCode hence the &#8220;End&#8221; message, and it ran all the way through Step 2 hence the &#8220;Process Complete&#8221; message.</p>
<p>Just to be sure, we should try a few different combinations.  Maybe one with the error on the second to last one:</p>
<pre>updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, True);
updateCI(&amp;emplid, False);
</pre>
<p>This didn&#8217;t cause any problems for me.  So, let&#8217;s try one in the middle:</p>
<pre>updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, True);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
</pre>
<p>Again, this worked fine for me.  So, I wasn&#8217;t able to reproduce my problem that I keep seeing in production.</p>
<h2>Triggering an &#8220;Error()&#8221;</h2>
<p>So far, our examples haven&#8217;t actually triggered an error within the Save.  Let&#8217;s try that.</p>
<p>First, the easiest way I could come up with was to add some code to the SavePreChange of our component.  If you open up the Component Interface from your project, you can right click on the Component on the left hand side.  Then, if you choose &#8220;View Definition&#8221;, it will open the Component.  Then, you can choose View &gt; PeopleCode and navigate to the SavePreChange.</p>
<p>I added the following PeopleCode to the end of the program:</p>
<pre>If PERSON.BIRTHSTATE = "CA" Then;
   Error ("California is too far West!");
End-If;
</pre>
<p>Here is what it looks like:</p>
<p><img src="http://static.zooomr.com/images/9718907_308663210f.jpg" alt="Selection_837" /></p>
<p>Then, we need to change the state in our code from &#8220;XX&#8221; to &#8220;CA&#8221;.</p>
<p><img src="http://static.zooomr.com/images/9718913_cfc596f062.jpg" alt="Selection_838" /></p>
<p>When our updates look like this:</p>
<pre>updateCI(&amp;emplid, True);
</pre>
<p>We get this in the log:</p>
<p><img src="http://static.zooomr.com/images/9718914_6d1b94e682.jpg" alt="Selection_839" /></p>
<p>When our updates look like this:</p>
<pre>updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, True);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
updateCI(&amp;emplid, False);
</pre>
<p>We get this in the log:</p>
<p><img src="http://static.zooomr.com/images/9718916_74505cb204.jpg" alt="Selection_840" /></p>
<p>So, still no problem!</p>
<h2>FieldChange Error</h2>
<p>Okay, here is one more shot.  I removed my PeopleCode from the SavePreChange.  Next, I opened the FieldChange on the Birth State and put the PeopleCode in there.</p>
<p><img src="http://static.zooomr.com/images/9718917_704ddd4ac5.jpg" alt="Selection_841" /></p>
<p>And here is what the log looks like:</p>
<p><img src="http://static.zooomr.com/images/9718918_71f82879d0.jpg" alt="Selection_842" /></p>
<p>Still works right.</p>
<h2>Conclusion</h2>
<p>In conclusion, my goal was to demonstrate a bug in handling errors.  I think I failed because I wasn&#8217;t able to reproduce what I am seeing in production.</p>
<p>The problem I am seeing has to do with multiple updates.  The order matters, too.  We saw one instance where the last update erred, and everything worked fine.  Then on the next run, one of the middle updates erred, and the program stopped.  The weird part is that it finishes the PeopleCode program rather than stopping at the Save or where the error occurred.  Then, it abends the program at the end of that Step rather than finishing the whole App Engine.  So, what I was looking for was for it to not show that &#8220;Process Complete&#8221; message.</p>
<p>If anyone can figure out how to tweak this to reproduce the problem, please let me know.  I would love to demonstrate it so that maybe Oracle could try to fix the problem.  If nothing else though, maybe someone will find the code examples useful in creating their own programs.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/611/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=611&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/07/explorations-in-component-interface-handling-component-interface-errors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718825_f75cf72529.jpg" medium="image">
			<media:title type="html">Selection_831</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718849_c9c69babb7.jpg" medium="image">
			<media:title type="html">Selection_832</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718856_46abaf58d0.jpg" medium="image">
			<media:title type="html">Selection_833</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718863_4815bae42d.jpg" medium="image">
			<media:title type="html">Selection_834</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718868_8e50a559d5.jpg" medium="image">
			<media:title type="html">Selection_835</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718881_e562b76472.jpg" medium="image">
			<media:title type="html">Selection_836</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718907_308663210f.jpg" medium="image">
			<media:title type="html">Selection_837</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718913_cfc596f062.jpg" medium="image">
			<media:title type="html">Selection_838</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718914_6d1b94e682.jpg" medium="image">
			<media:title type="html">Selection_839</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718916_74505cb204.jpg" medium="image">
			<media:title type="html">Selection_840</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718917_704ddd4ac5.jpg" medium="image">
			<media:title type="html">Selection_841</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9718918_71f82879d0.jpg" medium="image">
			<media:title type="html">Selection_842</media:title>
		</media:content>
	</item>
		<item>
		<title>Great Link: VB.Net posting to PeopleSoft</title>
		<link>http://psst0101.wordpress.com/2011/01/06/great-link-vb-net-posting-to-peoplesoft/</link>
		<comments>http://psst0101.wordpress.com/2011/01/06/great-link-vb-net-posting-to-peoplesoft/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 22:09:25 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[Great Links]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=606</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/ I did some looking into using VB.Net with PeopleSoft.  If you are using VB6, you can look at the Excel to CI macros and find out how to post to an iScript, but VB.Net is different.  Here are some links that might help: Snippet: HTTP Post, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=606&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a href="http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/">http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/</a></div>
<p>I did some looking into using VB.Net with PeopleSoft.  If you are using VB6, you can look at the Excel to CI macros and find out how to post to an iScript, but VB.Net is different.  Here are some links that might help:</p>
<ul>
<li><a href="http://www.codekeep.net/snippets/49d8f664-b28e-480f-ba82-ec8461f7cc64.aspx" target="_blank">Snippet: HTTP Post, POST XML FILE OVER HTTP POST (VB.NET)</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.statuscode.aspx" target="_blank">HttpWebResponse.StatusCode Property</a></li>
<li><a href="http://www.netomatix.com/httppostdata.aspx" target="_blank">How to use HttpWebRequest to send POST request to another web server?</a></li>
<li><a href="http://stackoverflow.com/questions/239725/c-webrequest-class-and-headers" target="_blank">Error: This header must be modified using the appropriate property</a></li>
<li><a href="http://forums.asp.net/p/1373175/3991365.aspx" target="_blank">HttpWebRequest.GetResponse() throwing 500 error</a></li>
<li><a href="http://www.devnewsgroups.net/dotnetframework/t9240-how-resolve-http-error-504-code.aspx" target="_blank">how to resolve http error 504 code</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/606/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=606&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/06/great-link-vb-net-posting-to-peoplesoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>
	</item>
		<item>
		<title>Explorations in Component Interface: PeopleCode</title>
		<link>http://psst0101.wordpress.com/2011/01/05/explorations-in-component-interface-peoplecode/</link>
		<comments>http://psst0101.wordpress.com/2011/01/05/explorations-in-component-interface-peoplecode/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 13:36:34 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[App Engine]]></category>
		<category><![CDATA[Component Interface]]></category>
		<category><![CDATA[PeopleCode]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=602</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/ This is a continuation of the following posts: Part 1: Creating the Component Interface Part 2: Security Now, we need to write some code to use the Component Interface.  Let&#8217;s use the Application Engine program from this step by step post. Adding a Log Step to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=602&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a href="http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/">http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/</a></div>
<p>This is a continuation of the following posts:</p>
<ul>
<li><a href="http://psst0101.wordpress.com/2011/01/04/explorations-in-component-interface/">Part 1: Creating the Component Interface</a></li>
<li><a href="http://psst0101.wordpress.com/2011/01/04/component-interfaces-explorations-security/">Part 2: Security</a></li>
</ul>
<p>Now, we need to write some code to use the Component Interface.  Let&#8217;s use the Application Engine program from <a href="http://psst0101.wordpress.com/2010/07/27/step-by-step-app-engine-for-testing-peoplecode/">this step by step post</a>.</p>
<p><span id="more-602"></span></p>
<h2>Adding a Log Step to the Program</h2>
<p>Before we dive into the PeopleCode, we need to add a second step to the program.  This step will come in handy for testing how the program works.  It will just simply log a message to the standard out file.</p>
<p>I used this SQL to find a message catalog that would work easily:</p>
<pre>SELECT * FROM PSMSGCATDEFN
WHERE MESSAGE_TEXT = '%1'</pre>
<p>Then, I added a new step.  First, you select Step 01.  Then, you can either use the menu Insert &gt; Step/Action or the toolbar icon.  When you get the new step, change the action from SQL to Log Message.  Then, set the Message Set to 94 and the Number to 1.  For the parameters, enter something like &#8220;Process Complete&#8221;.</p>
<p><img src="http://static.zooomr.com/images/9714898_edb65a556a.jpg" alt="Selection_814" /></p>
<h2>Generating a PeopleCode CI Template</h2>
<p>Now, we are ready to begin adding PeopleCode to Step 01.  You can open the PeopleCode by double clicking anywhere in the gray of the PeopleCode action.  If you have been following other tutorials, you probably have something in that program.  For simplicity&#8217;s sake, let&#8217;s just delete that and start from scratch.  This tutorial will assume you have a blank program at this point.</p>
<p>One of the cool things about Component Interfaces is that you can have Application Designer generate a template PeopleCode program.  If you have the component interface in the project, you can just drag it from the development tab of the project list and drop it into the program.  This generates a template in the program.  You will want to have a blank program here because it will generate a lot of code.  Note that this is a template in that you have to make some changes before you can even save it.</p>
<p><img src="http://static.zooomr.com/images/9714916_a3ea5633a5.jpg" alt="Selection_815" /></p>
<p>For this purpose, you can edit this template if you want, but it would probably be easier to delete the template back out and just type the code that I have written.</p>
<h2>Writing the Program</h2>
<p>First, we&#8217;ll start with some variables.  The file variable is to write a special log file with output information.  The session variable stores your session and the oBlgPersDtaCi stores the reference to the component interface.  The Emplid variable is going to be used to store the ID we want to update.</p>
<pre>Local File &amp;fileLog;
Local ApiObject &amp;oSession, &amp;oBlgPersDtaCi;
Local string &amp;emplid;</pre>
<p>Then, we need this function to display any error messages.  It basically just loops through the session&#8217;s message collection and prints out any messages that were triggered since the last call.</p>
<pre>Function errorHandler()
   Local ApiObject &amp;oPSMessageCollection, &amp;oPSMessage;
   Local number &amp;i;
   Local string &amp;sErrMsgSetNum, &amp;sErrMsgNum, &amp;sErrMsgText, &amp;sErrType;
      &amp;oPSMessageCollection = &amp;oSession.PSMessages;
   For &amp;i = 1 To &amp;oPSMessageCollection.Count
      &amp;oPSMessage = &amp;oPSMessageCollection.Item(&amp;i);
      &amp;sErrMsgSetNum = &amp;oPSMessage.MessageSetNumber;
      &amp;sErrMsgNum = &amp;oPSMessage.MessageNumber;
      &amp;sErrMsgText = &amp;oPSMessage.Text;
      &amp;fileLog.WriteLine(&amp;sErrType | " (" | &amp;sErrMsgSetNum | "," | &amp;sErrMsgNum | ") - " | &amp;sErrMsgText);
   End-For;
   rem ***** Delete the Messages from the collection *****;
   &amp;oPSMessageCollection.DeleteAll();
End-Function;</pre>
<p>Then, we&#8217;ll start a function so we can update multiple times.  The employee parameter is the ID we want to update, and we&#8217;ll use the makeError parameter later.  We put everything in a Try to attempt to handle errors gracefully.</p>
<pre>Function updateCI(&amp;emplid As string, &amp;makeError As boolean)
   try
</pre>
<p>Then, we need to tell the tools what to do with the messages.  We will tell it to use the collection only in an effort to handle the messages gracefully:</p>
<pre>      rem ***** Set the PeopleSoft Session Error Message Mode *****;
      rem ***** 0 - None *****;
      rem ***** 1 - PSMessage Collection only (default) *****;
      rem ***** 2 - Message Box only *****;
      rem ***** 3 - Both collection and message box *****;
      &amp;oSession.PSMessagesMode = 1;      
</pre>
<p>Then, we need to initialize the component interface.  This is simulating the user clicking the link on the menu to go into the component.</p>
<pre>      rem ***** Get the Component Interface *****;
      &amp;oBlgPersDtaCi = &amp;oSession.GetCompIntfc(CompIntfc.BLG_PERS_DTA_CI);
      If &amp;oBlgPersDtaCi = Null Then
         errorHandler();
         throw CreateException(0, 0, "GetCompIntfc failed");
      End-If;
</pre>
<p>Then, we need to set some modes.  Setting Interactive Mode to true is like turning off deferred processing.  Get History Items is like checking the Include History box on the search page.  Edit History is like checking the correction mode on the search page.</p>
<pre>      rem ***** Set the Component Interface Mode *****;
      &amp;oBlgPersDtaCi.InteractiveMode = True;
      &amp;oBlgPersDtaCi.GetHistoryItems = True;
      &amp;oBlgPersDtaCi.EditHistoryItems = True;
</pre>
<p>Then, we update the Empl ID field on the search page:</p>
<pre>      rem ***** Set Component Interface Get/Create Keys *****;
      &amp;oBlgPersDtaCi.EMPLID = &amp;emplid;
</pre>
<p>Then, we click the search button.  If this fails, that means no rows were returned.</p>
<pre>      rem ***** Execute Get *****;
      If Not &amp;oBlgPersDtaCi.Get() Then
         rem ***** No rows exist for the specified keys.*****;
         errorHandler();
         throw CreateException(0, 0, "Get failed");
      End-If;
</pre>
<p>Then, we should be on the page where we can make changes.  To keep things simple, we are going to  work with just one single field on the page &#8212; the birth state.  First, we print the value to the log.  Then, we will either set it to XX to generate an invalid value error or we will toggle the state between FL and TX.  Finally, we call the error handler to see if we generated any errors.</p>
<pre>      rem ***** Begin: Get/Set Component Interface Properties *****;
      rem ***** Get/Set Level 0 Field Properties *****;
      &amp;fileLog.WriteLine("&amp;oBlgPersDtaCi.BIRTHSTATE = " | &amp;oBlgPersDtaCi.BIRTHSTATE);
      If &amp;makeError Then;
         &amp;oBlgPersDtaCi.BIRTHSTATE = "XX";
      Else;
         If &amp;oBlgPersDtaCi.BIRTHSTATE = "TX" Then;
            &amp;oBlgPersDtaCi.BIRTHSTATE = "FL";
         Else;
            &amp;oBlgPersDtaCi.BIRTHSTATE = "TX";
         End-If;
      End-If;
      errorHandler();
      rem ***** End: Get/Set Component Interface Properties *****;
</pre>
<p>Then, we save the component:</p>
<pre>      rem ***** Execute Save *****;
      If Not &amp;oBlgPersDtaCi.Save() Then;
         errorHandler();
         throw CreateException(0, 0, "Save failed");
      End-If;
</pre>
<p>Then, we cancel.  This is like going back to the search page.</p>
<pre>      rem ***** Execute Cancel *****;
      If Not &amp;oBlgPersDtaCi.Cancel() Then;
         errorHandler();
         throw CreateException(0, 0, "Cancel failed");
      End-If;
</pre>
<p>Then, we finish up our try, catch and our function.</p>
<pre>   catch Exception &amp;ex      
      rem Handle the exception;
      &amp;fileLog.WriteLine(&amp;ex.ToString());
   end-try;
   End-Function;
</pre>
<p>Now, this is the start of the main part of the program.  We will set our Empl ID, open the log file and get the current session:</p>
<pre>&amp;emplid = "KU0001";
rem ***** Set the Log File *****;
&amp;fileLog = GetFile("C:\temp\BLG_PERS_DTA_CI.log", "w", "a", %FilePath_Absolute);
&amp;fileLog.WriteLine("Begin");
rem ***** Get current PeopleSoft Session *****;
&amp;oSession = %Session;
</pre>
<p>Then, we call our function to use the CI:</p>
<pre>updateCI(&amp;emplid, False);
</pre>
<p>Finally, we wrap up the log file.</p>
<pre>&amp;fileLog.WriteLine("End");
&amp;fileLog.Close();</pre>
<h2>Full Program</h2>
<p>And, here is the full program:</p>
<pre>
<div>Local File &amp;fileLog;</div>
<div>Local ApiObject &amp;oSession, &amp;oBlgPersDtaCi;</div>
<div>Local string &amp;emplid;</div>
<div>Function errorHandler()</div>
<div>Local ApiObject &amp;oPSMessageCollection, &amp;oPSMessage;</div>
<div>Local number &amp;i;</div>
<div>Local string &amp;sErrMsgSetNum, &amp;sErrMsgNum, &amp;sErrMsgText, &amp;sErrType;</div>
<div>&amp;oPSMessageCollection = &amp;oSession.PSMessages;</div>
<div>For &amp;i = 1 To &amp;oPSMessageCollection.Count</div>
<div>&amp;oPSMessage = &amp;oPSMessageCollection.Item(&amp;i);</div>
<div>&amp;sErrMsgSetNum = &amp;oPSMessage.MessageSetNumber;</div>
<div>&amp;sErrMsgNum = &amp;oPSMessage.MessageNumber;</div>
<div>&amp;sErrMsgText = &amp;oPSMessage.Text;</div>
<div>&amp;fileLog.WriteLine(&amp;sErrType | " (" | &amp;sErrMsgSetNum | "," | &amp;sErrMsgNum | ") - " | &amp;sErrMsgText);</div>
<div>End-For;</div>
<div>rem ***** Delete the Messages from the collection *****;</div>
<div>&amp;oPSMessageCollection.DeleteAll();</div>
<div>End-Function;</div>
<div>Function updateCI(&amp;emplid As string, &amp;makeError As boolean)</div>
<div>try</div>
<div>rem ***** Set the PeopleSoft Session Error Message Mode *****;</div>
<div>rem ***** 0 - None *****;</div>
<div>rem ***** 1 - PSMessage Collection only (default) *****;</div>
<div>rem ***** 2 - Message Box only *****;</div>
<div>rem ***** 3 - Both collection and message box *****;</div>
<div>&amp;oSession.PSMessagesMode = 1;</div>
<div>rem ***** Get the Component Interface *****;</div>
<div>&amp;oBlgPersDtaCi = &amp;oSession.GetCompIntfc(CompIntfc.BLG_PERS_DTA_CI);</div>
<div>If &amp;oBlgPersDtaCi = Null Then</div>
<div>errorHandler();</div>
<div>throw CreateException(0, 0, "GetCompIntfc failed");</div>
<div>End-If;</div>
<div>rem ***** Set the Component Interface Mode *****;</div>
<div>&amp;oBlgPersDtaCi.InteractiveMode = True;</div>
<div>&amp;oBlgPersDtaCi.GetHistoryItems = True;</div>
<div>&amp;oBlgPersDtaCi.EditHistoryItems = True;</div>
<div>rem ***** Set Component Interface Get/Create Keys *****;</div>
<div>&amp;oBlgPersDtaCi.EMPLID = &amp;emplid;</div>
<div>rem ***** Execute Get *****;</div>
<div>If Not &amp;oBlgPersDtaCi.Get() Then</div>
<div>rem ***** No rows exist for the specified keys.*****;</div>
<div>errorHandler();</div>
<div>throw CreateException(0, 0, "Get failed");</div>
<div>End-If;</div>
<div>rem ***** Begin: Get/Set Component Interface Properties *****;</div>
<div>rem ***** Get/Set Level 0 Field Properties *****;</div>
<div>&amp;fileLog.WriteLine("&amp;oBlgPersDtaCi.BIRTHSTATE = " | &amp;oBlgPersDtaCi.BIRTHSTATE);</div>
<div>If &amp;makeError Then;</div>
<div>&amp;oBlgPersDtaCi.BIRTHSTATE = "XX";</div>
<div>Else;</div>
<div>If &amp;oBlgPersDtaCi.BIRTHSTATE = "TX" Then;</div>
<div>&amp;oBlgPersDtaCi.BIRTHSTATE = "FL";</div>
<div>Else;</div>
<div>&amp;oBlgPersDtaCi.BIRTHSTATE = "TX";</div>
<div>End-If;</div>
<div>End-If;</div>
<div>errorHandler();</div>
<div>rem ***** End: Get/Set Component Interface Properties *****;</div>
<div>rem ***** Execute Save *****;</div>
<div>If Not &amp;oBlgPersDtaCi.Save() Then;</div>
<div>errorHandler();</div>
<div>throw CreateException(0, 0, "Save failed");</div>
<div>End-If;</div>
<div>rem ***** Execute Cancel *****;</div>
<div>If Not &amp;oBlgPersDtaCi.Cancel() Then;</div>
<div>errorHandler();</div>
<div>throw CreateException(0, 0, "Cancel failed");</div>
<div>End-If;</div>
<div>catch Exception &amp;ex</div>
<div>rem Handle the exception;</div>
<div>&amp;fileLog.WriteLine(&amp;ex.ToString());</div>
<div>end-try;</div>
<div>End-Function;</div>
<div>&amp;emplid = "KU0001";</div>
<div>rem ***** Set the Log File *****;</div>
<div>&amp;fileLog = GetFile("C:\temp\BLG_PERS_DTA_CI.log", "w", "a", %FilePath_Absolute);</div>
<div>&amp;fileLog.WriteLine("Begin");</div>
<div>rem ***** Get current PeopleSoft Session *****;</div>
<div>&amp;oSession = %Session;</div>
<div>updateCI(&amp;emplid, False);</div>
<div>&amp;fileLog.WriteLine("End");</div>
<div>&amp;fileLog.Close();</div>
</pre>
<h2>The Result</h2>
<p><a href="http://psst0101.wordpress.com/2010/07/27/step-by-step-app-engine-for-testing-peoplecode/">See the App Engine test post</a> for instructions on how to run the program.  If it worked, you should get this in the log file:</p>
<p><img src="http://static.zooomr.com/images/9715029_66b22a7e1e.jpg" alt="Selection_816" /></p>
<p>The standard out of the program should look like this:</p>
<p><img src="http://static.zooomr.com/images/9715033_30b7fa88d2.jpg" alt="Selection_817" /></p>
<p>And, the page should have changed the birth state:</p>
<p><img src="http://static.zooomr.com/images/9715038_55b37a5e5e.jpg" alt="Selection_818" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/602/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=602&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/05/explorations-in-component-interface-peoplecode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9714898_edb65a556a.jpg" medium="image">
			<media:title type="html">Selection_814</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9714916_a3ea5633a5.jpg" medium="image">
			<media:title type="html">Selection_815</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9715029_66b22a7e1e.jpg" medium="image">
			<media:title type="html">Selection_816</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9715033_30b7fa88d2.jpg" medium="image">
			<media:title type="html">Selection_817</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9715038_55b37a5e5e.jpg" medium="image">
			<media:title type="html">Selection_818</media:title>
		</media:content>
	</item>
		<item>
		<title>Component Interfaces Explorations: Security</title>
		<link>http://psst0101.wordpress.com/2011/01/04/component-interfaces-explorations-security/</link>
		<comments>http://psst0101.wordpress.com/2011/01/04/component-interfaces-explorations-security/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 03:54:11 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[Component Interface]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=599</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/ This is part two of the explorations in component interfaces.  Before we can do anything with the Component Interface that we created in part one, we have to make sure that we have security to it.  Maybe at some point we can explore what happens when [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=599&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a href="http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/">http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/</a></div>
<p>This is part two of the explorations in component interfaces.  Before we can do anything with the Component Interface that we created in <a href="http://psst0101.wordpress.com/2011/01/04/explorations-in-component-interface/" target="_blank">part one</a>, we have to make sure that we have security to it.  Maybe at some point we can explore what happens when we don&#8217;t have security, but for now let&#8217;s fix it before it breaks.</p>
<p>So, if you haven&#8217;t already created the component interface, head over to <a href="http://psst0101.wordpress.com/2011/01/04/explorations-in-component-interface/" target="_blank">part one</a> first, and build the CI.  Then, you can setup the security.</p>
<p>The first thing you must know is which permission list you need to attach to.  Normally, your security would decide this.  You could create one permission list for all of the component interfaces in the system and grant that to everyone &#8212; I mean, the user can&#8217;t use the component interface unless they have access to the process or page that uses it.  Or, you could attach the component interface to the same permission list that gives the user access to the corresponding page or process.</p>
<p>In this case, we are just going to pick any one of the permission lists we have access to.  This is an experiment anyway, not a production thing.</p>
<p>First, open the User Profile for the Operator ID you use to connect &#8212; PeopleTools &gt; Security &gt; User Profiles &gt; User Profiles.  Go to the Roles tab, and pick any one of the Roles.  I am picking the PeopleSoft User role:</p>
<p><img src="http://static.zooomr.com/images/9714391_63ba82d2ac.jpg" alt="Selection_810" /></p>
<p>Clicking the View Definition link will take you to the Role.  Then, click on the Permission Lists page and choose one of the permission lists in the list.  In my case, there is only one, so I clicked the View Definition on that one:</p>
<p><img src="http://static.zooomr.com/images/9714393_4523e80802.jpg" alt="Selection_811" /></p>
<p>Now, that you are on the Permission List, you need to go to the Component Interfaces tab/page.  Then, add the component interface name that you created in part one.</p>
<p><img src="http://static.zooomr.com/images/9714395_3fe9f3d175.jpg" alt="Selection_812" /></p>
<p>If you save at this point, you haven&#8217;t done anything.  PeopleTools will remove it from the permission list because you haven&#8217;t given it any access yet.  Make sure that you click the Edit link and click the Full Access button:</p>
<p><img src="http://static.zooomr.com/images/9714396_d0d8119163.jpg" alt="Selection_813" /></p>
<p>Finally, make sure that you click Ok and Save to save the component interface.  You may want to re-open that permission list, and make sure that it saved the change.</p>
<p>Now you have security.  Stay tuned for writing some code to make it work&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/599/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/599/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/599/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/599/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/599/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/599/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/599/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/599/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/599/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/599/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/599/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/599/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/599/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/599/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=599&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/04/component-interfaces-explorations-security/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9714391_63ba82d2ac.jpg" medium="image">
			<media:title type="html">Selection_810</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9714393_4523e80802.jpg" medium="image">
			<media:title type="html">Selection_811</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9714395_3fe9f3d175.jpg" medium="image">
			<media:title type="html">Selection_812</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9714396_d0d8119163.jpg" medium="image">
			<media:title type="html">Selection_813</media:title>
		</media:content>
	</item>
		<item>
		<title>Y2K10 PeopleSoft Style</title>
		<link>http://psst0101.wordpress.com/2011/01/04/y2k10-peoplesoft-style/</link>
		<comments>http://psst0101.wordpress.com/2011/01/04/y2k10-peoplesoft-style/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 03:09:51 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[Portal]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=596</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/ I was surprised to find today that many of the PeopleTools items on the menu were missing.  Then, someone pointed me to article 1183084.1 on Oracle Support. The problem is that many of the content references have a Expiration Date or Valid To date of 12/31/2010.  If [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=596&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a href="http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/">http://psst0101.digitaleagle.net/2011/01/10/tip-comparing-trace-files/</a></div>
<p>I was surprised to find today that many of the PeopleTools items on the menu were missing.  Then, someone pointed me to article <a href="https://support.oracle.com/CSP/main/article?cmd=show&amp;type=NOT&amp;id=1183084.1" target="_blank">1183084.1</a> on Oracle Support.</p>
<p>The problem is that many of the content references have a Expiration Date or Valid To date of 12/31/2010.  If you have some patience, you can go though Portal Structure and Content and update each one.  But, PeopleSoft has an Application Engine program attached to the article that will automatically do it.</p>
<p>Running the program is pretty straight forward.  The only thing I had to do was adjust the last updated field.  The program only updates content references that were last updated by PPLSOFT, but most of my content references were marked with PS.  You could either update the PSPRSMDEFN table manually in the database, but I changed all of the references for &#8221; = &#8216;PPLSOFT&#8217;&#8221; to &#8221; IN (&#8216;PPLSOFT&#8217;, &#8216;PS&#8217;)&#8221;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/596/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=596&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/04/y2k10-peoplesoft-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>
	</item>
		<item>
		<title>Explorations in Component Interface</title>
		<link>http://psst0101.wordpress.com/2011/01/04/explorations-in-component-interface/</link>
		<comments>http://psst0101.wordpress.com/2011/01/04/explorations-in-component-interface/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 22:46:57 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[App Engine]]></category>
		<category><![CDATA[Component Interface]]></category>
		<category><![CDATA[PeopleCode]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=593</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2011/01/04/explorations-in-component-interface/ This is part one of a multi-part series exploring some quirks in using Component Interfaces with Application Engine programs.  If nothing else, hopefully, these will give new developers some insight into how to use a Component Interface.  My goal is to expose a bug in the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=593&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a href="http://psst0101.digitaleagle.net/2011/01/04/explorations-in-component-interface/">http://psst0101.digitaleagle.net/2011/01/04/explorations-in-component-interface/</a></div>
<p>This is part one of a multi-part series exploring some quirks in using Component Interfaces with Application Engine programs.  If nothing else, hopefully, these will give new developers some insight into how to use a Component Interface.  My goal is to expose a bug in the Application Engine tool that maybe Oracle will see and fix.</p>
<p>This first part will simply walk you through creating a Component Interface.  This part is just a map to associate the fields on the screen (or really in the component&#8217;s buffer) with an API property that can be accessed with code.</p>
<p>First, we create a new definition in Application Designer.  You can either use the Ctrl + N keyboard shortcut or the File &gt; New menu.  Choose Component Interface from the list:</p>
<p><img src="http://static.zooomr.com/images/9713911_c646b812ff_o.png" alt="Selection_804" /></p>
<p>Next, have no fear &#8212; you will see the open dialog making it look like you want to open a component.  Really, Application Designer is just asking you which component you want to map.  In this example, we will use the &#8220;PERSONAL_DATA&#8221; component, which is the Modify a Person screen (Workforce Administration &gt; Personal Information &gt; Modify a Person):</p>
<p><img src="http://static.zooomr.com/images/9713959_53504a42a7.jpg" alt="Selection_805" /></p>
<p>Next, Application Designer asks you if you want to default the properties.  I almost always say yes to this questions because it will make Application Designer do all the work for you in generating the map.  The properties will be given names based on their field names in the buffer:</p>
<p><img src="http://static.zooomr.com/images/9713996_9b115b1c17_o.png" alt="Selection_806" /></p>
<p>Now, you should have a new component interface generated for you.  Notice that the left side is the Component Structure.  It is the same as the Structure tab on the Component itself.  The right side is the map of record/field to property name.  In this screenshot, I have the component open in the background and I drew a line to show how the structure is the same.  Then, I drew a line from the structure to the property generated for one of the fields:</p>
<p><img src="http://static.zooomr.com/images/9714007_903f1b7e9e.jpg" alt="Selection_807" /></p>
<p>Finally, save the component interface.  You can either use the Ctrl + S keyboard shortcut, or you can use the File &gt; Save menu.  I gave it the name BLG_PERS_DTA_CI.</p>
<p><img src="http://static.zooomr.com/images/9714013_0b4ce5212f_o.png" alt="Selection_808" /></p>
<p>While your at it, you may also want to add it to the project.  You can use the F7 keyboard shortcut or the Insert &gt; Current Definition Into Project menu.</p>
<p>This concludes creating the Component Interface.  <a href="http://psst0101.wordpress.com/2011/01/04/component-interfaces-explorations-security/">Please stay tuned for the next steps &#8230;</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/593/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=593&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/04/explorations-in-component-interface/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9713911_c646b812ff_o.png" medium="image">
			<media:title type="html">Selection_804</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9713959_53504a42a7.jpg" medium="image">
			<media:title type="html">Selection_805</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9713996_9b115b1c17_o.png" medium="image">
			<media:title type="html">Selection_806</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9714007_903f1b7e9e.jpg" medium="image">
			<media:title type="html">Selection_807</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9714013_0b4ce5212f_o.png" medium="image">
			<media:title type="html">Selection_808</media:title>
		</media:content>
	</item>
		<item>
		<title>2010 in review</title>
		<link>http://psst0101.wordpress.com/2011/01/02/2010-in-review/</link>
		<comments>http://psst0101.wordpress.com/2011/01/02/2010-in-review/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 01:57:19 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=591</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2011/01/02/2010-in-review/ The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health: The Blog-Health-o-Meter™ reads Wow. Crunchy numbers A helper monkey made this abstract painting, inspired by your stats. About 3 million people [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=591&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a>http://psst0101.digitaleagle.net/2011/01/02/2010-in-review/</a></div>
<p>The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health:</p>
<p><img style="border:1px solid #ddd;background:#f5f5f5;padding:20px;" src="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" alt="Healthy blog!" width="250" height="183" /></p>
<p>The <em>Blog-Health-o-Meter™</em> reads Wow.</p>
<h2>Crunchy numbers</h2>
<div style="width:288px;float:right;border:1px solid #ddd;background:#fff;margin:0 0 1em 1em;padding:6px;">
<p><img src="http://s0.wp.com/i/annual-recap/abstract-stats-1.png" alt="Featured image" /></p>
<p><em>A helper monkey made this abstract painting, inspired by your stats.</em></p>
</div>
<p>About 3 million people visit the Taj Mahal every year.  This blog was viewed about <strong>55,000</strong> times in 2010.  If it were the Taj Mahal, it would take about 7 days for that many people to see it.</p>
<p>&nbsp;</p>
<p>In 2010, there were <strong>26</strong> new posts, growing the total archive of this blog to 158 posts.</p>
<p>The busiest day of the year was September 22nd with <strong>375</strong> views. The most popular post that day was <a style="color:#08c;" href="http://psst0101.wordpress.com/step-by-step/">Step By Step</a>.</p>
<h2>Where did they come from?</h2>
<p>The top referring sites in 2010 were <strong>peoplesoft.wikidot.com</strong>, <strong>jjmpsj.blogspot.com</strong>, <strong>psinstall.blogspot.com</strong>, <strong>google.com</strong>, and <strong>google.co.in</strong>.</p>
<p>Some visitors came searching, mostly for <strong>ora-01502</strong>, <strong>peopletools tables</strong>, <strong>windows file lock viewer</strong>, <strong>yum samba</strong>, and <strong>peoplesoft installation step by step</strong>.</p>
<h2>Attractions in 2010</h2>
<p>These are the posts and pages that got the most views in 2010.</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">1</div>
<p><a style="margin-right:10px;" href="http://psst0101.wordpress.com/step-by-step/">Step By Step</a> <span style="color:#999;font-size:8pt;">September 2008</span><br />
11 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">2</div>
<p><a style="margin-right:10px;" href="http://psst0101.wordpress.com/peopletools-tables/">PeopleTools Tables</a> <span style="color:#999;font-size:8pt;">September 2007</span><br />
29 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">3</div>
<p><a style="margin-right:10px;" href="http://psst0101.wordpress.com/2008/02/05/ora-01502-indexes-in-unusable-state/">ORA-01502: Indexes in unusable state</a> <span style="color:#999;font-size:8pt;">February 2008</span><br />
6 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">4</div>
<p><a style="margin-right:10px;" href="http://psst0101.wordpress.com/2007/03/25/server-administration-tip-logging-into-the-weblogic-console/">Server Administration Tip: Logging Into the Weblogic Console</a> <span style="color:#999;font-size:8pt;">March 2007</span><br />
1 comment</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">5</div>
<p><a style="margin-right:10px;" href="http://psst0101.wordpress.com/2008/12/10/step-by-step-yum-samba/">Step by Step: Yum + Samba</a> <span style="color:#999;font-size:8pt;">December 2008</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/591/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/591/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/591/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/591/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/591/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/591/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/591/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/591/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/591/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/591/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/591/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/591/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/591/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/591/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=591&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2011/01/02/2010-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" medium="image">
			<media:title type="html">Healthy blog!</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/abstract-stats-1.png" medium="image">
			<media:title type="html">Featured image</media:title>
		</media:content>
	</item>
		<item>
		<title>Project Shaphan Updated</title>
		<link>http://psst0101.wordpress.com/2010/11/27/project-shaphan-updated/</link>
		<comments>http://psst0101.wordpress.com/2010/11/27/project-shaphan-updated/#comments</comments>
		<pubDate>Sun, 28 Nov 2010 01:13:48 +0000</pubDate>
		<dc:creator>Stephen aka DigitalEagle</dc:creator>
				<category><![CDATA[Project Shaphan]]></category>

		<guid isPermaLink="false">http://psst0101.wordpress.com/?p=572</guid>
		<description><![CDATA[This page has moved.  Please update your links: http://psst0101.digitaleagle.net/2010/11/27/project-shaphan-updated/ I just finished releasing a new version of my Project Shaphan to the Google Code site.  My goal with the project is to create a database query tool.  Oracle has SQL Developer which is a great, but it is geared more for database development.  Most PeopleSoft [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=572&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid black;background-color:#ffaaaa;border-radius:15px;height:50px;padding:15px;"><img class="alignleft size-full wp-image-651 alignnone" style="margin-right:25px;" title="Website Moving" src="http://psst0101.files.wordpress.com/2011/01/moving.png?w=780" alt=""   />This page has moved.  Please update your links:<br />
<a href="http://psst0101.digitaleagle.net/2010/11/27/project-shaphan-updated/">http://psst0101.digitaleagle.net/2010/11/27/project-shaphan-updated/</a></div>
<p>I just finished releasing a new version of my <a href="http://code.google.com/p/project-shaphan/" target="_blank">Project Shaphan</a> to the Google Code site.  My goal with the project is to create a database query tool.  Oracle has <a href="http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html" target="_blank">SQL Developer</a> which is a great, but it is geared more for database development.  Most PeopleSoft database users will never see a line of plsql or a single stored procedure.  What we need is a tool that understands PeopleSoft databases more and offers tools for querying it.</p>
<p><strong>New Feature: Navigation Search</strong></p>
<p>It isn&#8217;t very pretty, but here is a tool where you can enter a Component Name, and the tool will display all of the navigations for that component:</p>
<p><img src="http://static.zooomr.com/images/9643090_6753369a41.jpg" alt="Selection_598" /></p>
<p>&nbsp;</p>
<p><strong>Meta SQL</strong></p>
<p>I only have %CurrentDateIn working right now, but I plan to get more:</p>
<p><img src="http://static.zooomr.com/images/9643092_ba477aab7c.jpg" alt="Selection_599" /></p>
<p><strong>Getting Your Copy</strong></p>
<p>To try it out, you can download the Jar file from the right side of the <a href="http://code.google.com/p/project-shaphan/" target="_blank">main page</a>.  Make sure you have Java 6 installed.  Then, place the Jar file in a directory by itself, and double click on it.</p>
<p><img src="http://static.zooomr.com/images/9643093_e5f689d9c1.jpg" alt="Selection_600" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/psst0101.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/psst0101.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/psst0101.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/psst0101.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/psst0101.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/psst0101.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/psst0101.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/psst0101.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/psst0101.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/psst0101.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/psst0101.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/psst0101.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/psst0101.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/psst0101.wordpress.com/572/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=psst0101.wordpress.com&amp;blog=1194347&amp;post=572&amp;subd=psst0101&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://psst0101.wordpress.com/2010/11/27/project-shaphan-updated/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/730e05611972584ae2f3b43d477e9151?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">digitaleagle</media:title>
		</media:content>

		<media:content url="http://psst0101.files.wordpress.com/2011/01/moving.png" medium="image">
			<media:title type="html">Website Moving</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9643090_6753369a41.jpg" medium="image">
			<media:title type="html">Selection_598</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9643092_ba477aab7c.jpg" medium="image">
			<media:title type="html">Selection_599</media:title>
		</media:content>

		<media:content url="http://static.zooomr.com/images/9643093_e5f689d9c1.jpg" medium="image">
			<media:title type="html">Selection_600</media:title>
		</media:content>
	</item>
	</channel>
</rss>
