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

<channel>
	<title>WorkingScripts &#187; Development</title>
	<atom:link href="http://workingscripts.com/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://workingscripts.com</link>
	<description>The Stuff that Just Works</description>
	<lastBuildDate>Mon, 07 Jun 2010 20:06:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>What Environment Am I in?</title>
		<link>http://workingscripts.com/2009/07/what-environment-am-i-in/</link>
		<comments>http://workingscripts.com/2009/07/what-environment-am-i-in/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 03:44:00 +0000</pubDate>
		<dc:creator>Iouri Chadour</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[PeopleSoft]]></category>
		<category><![CDATA[PeopleTools]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://workingscripts.com/2009/07/what-environment-am-i-in/</guid>
		<description><![CDATA[As I was going through some of the sessions on the QUEST NORTHEAST CONFERENCE I noticed on of the presenters mentioning customizing Test environments Main PeopleSoft CSS PSSTYLEDEF so that the users are always able to distinguish between environments.
The solution that I have employ to solve this problem is to modify the PT_BRANDING:BrandingBase class to [...]]]></description>
			<content:encoded><![CDATA[<p align="left">As I was going through some of the sessions on the <a title="QUEST NORTHEAST CONFERENCE" href="http://www.questdirect.org/QuestDirect/Events/Quest+Northeast/" target="_blank">QUEST NORTHEAST CONFERENCE</a> I noticed on of the presenters mentioning customizing Test environments Main PeopleSoft CSS PSSTYLEDEF so that the users are always able to distinguish between environments.</p>
<p align="left">The solution that I have employ to solve this problem is to modify the PT_BRANDING:BrandingBase class to dynamically display environment name based on the URL, like this:</p>
<p align="left"><a href="http://workingscripts.com/wp-content/uploads/2009/07/captured_Image.png.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="captured_Image.png" src="http://workingscripts.com/wp-content/uploads/2009/07/captured_Image.png_thumb.jpg" border="0" alt="captured_Image.png" width="244" height="73" /></a></p>
<p align="left">PT_BRANDING Application package was meant to be used to dynamically customize the look and feel of you application and of course you can do a lot more with this but this is just a very simple example of how easy this can be done.</p>
<p align="left">In order to achieve the above effect all you need is to add code to 2 methods in the class PT_BRANDING:BrandingBase</p>
<div>
<pre class="csharpcode">method GetUniHeaderHTML
method GetUniHeaderHTML_PIA</pre>
</div>
<p align="left">
<p><!--.csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p align="left">These methods, as the name suggests are responsible for rendering you Application Portal Header.</p>
<div>
<div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 97.88%; font-family: 'Courier New',courier,monospace; direction: ltr; height: 210px; max-height: 200px; font-size: 8pt; cursor: text;">
<pre id="codeSnippet" style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span style="color: #008000">/*Iouri Chadour - Added to put Test Environment notification in the header</span><span style="color: #008000">&amp;Request.ContentURI - returns your portal URL in form http://server:port/psp/PSPRC/</span><span style="color: #008000">Left(Right(&amp;Request.ContentURI, 4), 3) - extracts the significant piece to display</span><span style="color: #008000">on the header*/</span>
&amp;zEnvName = Left(Right(&amp;Request.ContentURI, 4), 3);
&amp;Greeting = &amp;zEnvName | " Environment " | ", UserID:" | <span style="color: #0000ff;">%UserId </span>| ", Name: " | <span style="color: #0000ff;">%UserDescription</span>;
<span style="color: #008000">/* End Mod */</span>

<span style="color: #008000">/* This code below is delivered checks for client browser to ensure that</span><span style="color: #008000"> Header is displayed correctly */</span>

If &amp;navTheme.isNS4x() Then    &amp;UniHeaderHTMLPIA = GetHTMLText(HTML.PORTAL_UNI_HEADER_NS4X, &amp;Response.GetImageURL(Image.NEW_PS_LOGO), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_TBRCRV), <span style="color: #006080">" "</span>, <span style="color: #006080">" "</span>, &amp;FavoritesHTML, &amp;AddToFavoritesHTML, &amp;HelpHTML, <span style="color: #006080">""</span>, &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_CRV), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_BG), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_BG), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_TBRCRV), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_SHD), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_TBR), &amp;styleSheet, &amp;homeURL, &amp;startURL, &amp;AddToFavFormHTML, &amp;LogoutURL, MsgGetText(95, 400, <span style="color: #006080">"Return Home"</span>), <span style="color: #008000">/*20*/</span>MsgGetText(95, 401, <span style="color: #006080">"Home"</span>), MsgGetText(95, 402, <span style="color: #006080">"Return to Menu"</span>), MsgGetText(95, 403, <span style="color: #006080">"Menu"</span>), MsgGetText(95, 408, <span style="color: #006080">"Sign out"</span>), &amp;Greeting, &amp;SearchHTML, &amp;ColSpanHTML, &amp;PersonalizeHTML, <span style="color: #006080">""</span>, <span style="color: #006080">""</span>, &amp;HelpJSHTML, &amp;homepageJS, <span style="color: #006080">""</span>, &amp;TabHTML, &amp;WLHTML, &amp;domainScript, &amp;Response.GetJavaScriptURL(HTML.PT_SAVEWARNINGSCRIPT), <span style="color: #006080">""</span>, &amp;SaveWarnCrossDomainScript, &amp;Response.GetImageURL(Image.PT_HOME_TAB_ACTIVE_CENTER), &amp;Response.GetImageURL(Image.PT_HOME_TAB_INACTIVE_CENTER), <span style="color: #008000">/*40*/</span>&amp;Response.GetImageURL(Image.PT_HOME_TAB_LINE), %Request.ExpireMeta, &amp;CTIHTML, &amp;MCFHTML, &amp;PPMHTML, &amp;Charset);ElseElse    &amp;UniHeaderHTMLPIA = GetHTMLText(HTML.PORTAL_UNI_HEADER_NNS, &amp;Response.GetImageURL(Image.NEW_PS_LOGO), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_TBRCRV), <span style="color: #006080">""</span>, <span style="color: #006080">""</span>, &amp;FavoritesHTML, &amp;AddToFavoritesHTML, &amp;HelpHTML, <span style="color: #006080">""</span>, &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_CRV), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_BG), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_BG), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_TBRCRV), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_SHD), &amp;Response.GetImageURL(Image.NEW_PORTAL_HDR_TBR), &amp;styleSheet, &amp;homeURL, &amp;startURL, &amp;AddToFavFormHTML, &amp;LogoutURL, MsgGetText(95, 400, <span style="color: #006080">"Return Home"</span>), <span style="color: #008000">/*20*/</span>MsgGetText(95, 401, <span style="color: #006080">"Home"</span>), MsgGetText(95, 402, <span style="color: #006080">"Return to Menu"</span>), MsgGetText(95, 403, <span style="color: #006080">"Menu"</span>), MsgGetText(95, 408, <span style="color: #006080">"Sign out"</span>), &amp;Greeting, &amp;SearchHTML, &amp;ColSpanHTML, &amp;PersonalizeHTML, <span style="color: #006080">""</span>, <span style="color: #006080">""</span>, &amp;HelpJSHTML, &amp;homepageJS, MsgGetText(95, 138, <span style="color: #006080">"Tool Bar Header"</span>), &amp;TabHTML, &amp;WLHTML, &amp;domainScript, &amp;Response.GetJavaScriptURL(HTML.PT_SAVEWARNINGSCRIPT), <span style="color: #006080">""</span>, &amp;SaveWarnCrossDomainScript, &amp;Response.GetImageURL(Image.PT_HOME_TAB_ACTIVE_CENTER), &amp;Response.GetImageURL(Image.PT_HOME_TAB_INACTIVE_CENTER), <span style="color: #008000">/*40*/</span>&amp;Response.GetImageURL(Image.PT_HOME_TAB_LINE), %Request.ExpireMeta, &amp;CTIHTML, &amp;MCFHTML, &amp;PPMHTML, &amp;Charset); End-If;</pre>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://workingscripts.com/2009/07/what-environment-am-i-in/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Oracle&#8217;s Safari Online &#8211; Free Edition?</title>
		<link>http://workingscripts.com/2009/06/oracle-books-online-free-edition/</link>
		<comments>http://workingscripts.com/2009/06/oracle-books-online-free-edition/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 15:38:12 +0000</pubDate>
		<dc:creator>Iouri Chadour</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[PeopleSoft]]></category>

		<guid isPermaLink="false">http://workingscripts.com/?p=55</guid>
		<description><![CDATA[ It seems that Oracle have caught on with the Virtual Documentation, not only lots of books are available in common formats, but they allow you to format your search results as a book as well. Now you can take just what you need and read it on your screen or printed and stapled. I [...]]]></description>
			<content:encoded><![CDATA[<p> It seems that Oracle have caught on with the Virtual Documentation, not only lots of books are available in common formats, but they allow you to format your search results as a book as well. Now you can take just what you need and read it on your screen or printed and stapled. I guess they really want us to know know more about their products!</p>
<p>Here is a link to </p>
<p><a href="http://www.oracle.com/pls/db111/portal.all_books">Oracle Database Online Documentation 11g Release 1 (11.1)</a></p>
<p>And here PeopleBooks Link:</p>
<p><a title="http://download.oracle.com/docs/cd/E12341_01/crm9pbr0_run2/eng/index.htm" href="http://download.oracle.com/docs/cd/E12341_01/crm9pbr0_run2/eng/index.htm">http://download.oracle.com/docs/cd/E12341_01/crm9pbr0_run2/eng/index.htm</a><a href="http://workingscripts.com/wp-content/uploads/2009/06/captured-image.png"><img title="captured_Image.png" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="164" alt="captured_Image.png" src="http://workingscripts.com/wp-content/uploads/2009/06/captured-image-thumb.png" width="244" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://workingscripts.com/2009/06/oracle-books-online-free-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing PSUnit &#8211; Automate Your Testing</title>
		<link>http://workingscripts.com/2009/05/introducing-psunit-automate-your-testing-2/</link>
		<comments>http://workingscripts.com/2009/05/introducing-psunit-automate-your-testing-2/#comments</comments>
		<pubDate>Sat, 30 May 2009 21:05:57 +0000</pubDate>
		<dc:creator>Iouri Chadour</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[PeopleTools]]></category>
		<category><![CDATA[PeopleTools. AppClass]]></category>

		<guid isPermaLink="false">http://workingscripts.com/?p=35</guid>
		<description><![CDATA[It seems that PeopleSoft is really becoming object oriented – now it has it’s own automated unit testing&#160; tool, like JUnit – this one is called PSUnit. I hope this one is as good as it sounds. Check out the Wiki article below 
Introducing PSUnit &#8211; Oracle Wiki
You can download the actual project file here:
http://blogs.oracle.com/peopletools/2009/03/psunit_unit_test_framework_for.html
]]></description>
			<content:encoded><![CDATA[<p>It seems that PeopleSoft is really becoming object oriented – now it has it’s own automated unit testing&#160; tool, like JUnit – this one is called PSUnit. I hope this one is as good as it sounds. Check out the Wiki article below </p>
<p><a href="http://wiki.oracle.com/page/Introducing+PSUnit">Introducing PSUnit &#8211; Oracle Wiki</a></p>
<p>You can download the actual project file here:</p>
<p><a title="http://blogs.oracle.com/peopletools/2009/03/psunit_unit_test_framework_for.html" href="http://blogs.oracle.com/peopletools/2009/03/psunit_unit_test_framework_for.html">http://blogs.oracle.com/peopletools/2009/03/psunit_unit_test_framework_for.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://workingscripts.com/2009/05/introducing-psunit-automate-your-testing-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PeopleSoft Debugging Techniques &#8211; Part I (Batch)</title>
		<link>http://workingscripts.com/2009/05/peoplesoft-debugging-techniques/</link>
		<comments>http://workingscripts.com/2009/05/peoplesoft-debugging-techniques/#comments</comments>
		<pubDate>Sat, 23 May 2009 21:36:34 +0000</pubDate>
		<dc:creator>Iouri Chadour</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[PeopleSoft]]></category>
		<category><![CDATA[Debugging]]></category>

		<guid isPermaLink="false">http://workingscripts.com/?p=19</guid>
		<description><![CDATA[I would like to briefly describe some of the PeopleSoft&#160; debugging techniques that I have used and found invaluable during development batch and online programs. 
SQR Debugging 




Flag


Description



-S
Choose Append Option on Parameter List of Process Definition. All of your SQL statements – simple and clear + execution counts


–debug(flag)
Choose Append Option on Parameter List of Process [...]]]></description>
			<content:encoded><![CDATA[<p>I would like to briefly describe some of the PeopleSoft&#160; debugging techniques that I have used and found invaluable during development batch and online programs. </p>
<p><font size="4"><strong>SQR Debugging </strong></font></p>
<table cellspacing="0" cellpadding="2" width="431" border="1">
<tbody>
<tr>
<td valign="top" width="97">
<p align="center"><strong>Flag</strong></p>
</td>
<td valign="top" width="332">
<p align="center"><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="97"><strong>-S</strong></td>
<td valign="top" width="332">Choose <strong>Append</strong> Option on <strong>Parameter List </strong>of Process Definition. All of your SQL statements – simple and clear + execution counts</td>
</tr>
<tr>
<td valign="top" width="97"><strong>–debug(flag)</strong></td>
<td valign="top" width="332">Choose <strong>Append</strong> Option on <strong>Parameter List </strong>of Process Definition. Put the following statements in your code          </p>
<p><strong>#debug(flag) show           <br />#debug(flag) display            </p>
<p></strong>this will allow you to display definitions in your log. What is most useful this allows you to specify different levels of tracing using the <strong>flag – </strong>which can be letters A-Z. Specifying –<strong>debug(A-Z) </strong>on process definition it allows you to selectively display your debug statements.</td>
</tr>
</tbody>
</table>
<p><font size="4"><strong></strong></font></p>
<p><font size="4"><strong>COBOL Debugging </strong></font></p>
<table cellspacing="0" cellpadding="2" width="451" border="1">
<tbody>
<tr>
<td valign="top" width="253">
<p align="center"><strong>Flag</strong></p>
</td>
<td valign="top" width="196">
<p align="center"><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="253">
<pre><strong><code>%%PRCSNAME%% %%DBTYPE%%/</code><code>%%DBNAME%%/</code></strong></pre>
<pre><strong><code>%%OPRID%%/</code></strong></pre>
<pre><code><strong>%%OPRPSWD%%/%%RUNCNTLID%%/</strong></code></pre>
<pre><code><strong>%%INSTANCE%%//%%DBFLAG%%</strong></code></pre>
</td>
<td valign="top" width="196">Choose <strong>Override</strong> Option on <strong>Parameter List </strong>of Process Definition. Copy and paste Flags and run your process normally. You will see the trace file in the Process Monitor</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p><font size="4"><strong>App Engine Debugging </strong></font></p>
<table cellspacing="0" cellpadding="2" width="400" border="1">
<tbody>
<tr>
<td valign="top" width="165">
<p align="center"><strong>Flag</strong></p>
</td>
<td valign="top" width="235">
<p align="center"><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="165">
<p><strong>-TRACE 131 </strong></p>
<pre><code><strong></strong></code></pre>
</td>
<td valign="top" width="235">Choose <strong>Append</strong> Option on <strong>Parameter List </strong>of Process Definition. </p>
<p><strong>Required</strong> to start the app engine trace. Does not display much more than message log</td>
</tr>
</tbody>
</table>
<table cellspacing="0" cellpadding="2" width="402" border="1">
<tbody>
<tr>
<td valign="top" width="165">
<p><strong>-TRACE 131</strong></p>
<p><strong>-TOOLSTRACEPC 2048</strong></p>
<pre><code><strong></strong></code></pre>
</td>
<td valign="top" width="235">Choose <strong>Append</strong> Option on <strong>Parameter List </strong>of Process Definition. </p>
<p>Adding <strong>TOOLSTRACEPC </strong>with a number causes detailed PeopleCode code trace – be careful those can get very large and significantly impact performance. </td>
</tr>
</tbody>
</table>
<table cellspacing="0" cellpadding="2" width="402" border="1">
<tbody>
<tr>
<td valign="top" width="165">
<p><strong>-TRACE 131 </strong></p>
<p><strong>-TOOLSTRACESQL 31</strong></p>
<pre><code><strong></strong></code></pre>
</td>
<td valign="top" width="235">Choose <strong>Append</strong> Option on <strong>Parameter List </strong>of Process Definition. </p>
<p>Adding </p>
<p><strong>TOOLSTRACESQL </strong></p>
<p>with a number causes detailed SQL trace. This option should always be used when tracing – app engine are all about SQL. </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>App engine can also be debugged on the client. In order to do this you need to configure trace setting in the configuration manager:</p>
<p><a href="http://workingscripts.com/wp-content/uploads/2009/05/image.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="322" alt="image" src="http://workingscripts.com/wp-content/uploads/2009/05/image-thumb.png" width="425" border="0" /></a> </p>
<p>&#160;</p>
<p>Open App Engine program&#160; in the Application Designer, press the Run Program icon and enter the Run Control ID and Process Instance Number (You should have an existing process instance and run control id defined online). Click ‘OK’ to run the App Engine process in two-tier mode.</p>
<p>&#160;</p>
<p>If you would like to read about debugging in more details here is an excellent overview presentation by Kai Markowitz from CSU:</p>
<p><a title="http://www.scribd.com/doc/15756180/Tracing-Debugging-in-People-Tools-84x-CMS411" href="http://www.scribd.com/doc/15756180/Tracing-Debugging-in-People-Tools-84x-CMS411">http://www.scribd.com/doc/15756180/Tracing-Debugging-in-People-Tools-84x-CMS411</a></p>
</p>
<div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:08ec926f-3712-44f8-ad43-0a7f0419b519" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">del.icio.us Tags: <a href="http://del.icio.us/popular/Peoplesoft" rel="tag">Peoplesoft</a>,<a href="http://del.icio.us/popular/Debugging" rel="tag">Debugging</a>,<a href="http://del.icio.us/popular/AppEngine" rel="tag">AppEngine</a>,<a href="http://del.icio.us/popular/SQR" rel="tag">SQR</a>,<a href="http://del.icio.us/popular/PeopleCode" rel="tag">PeopleCode</a></div>
</p>
<p>Tags: <a href="http://technorati.com/tag/Peoplesoft" rel="tag">Peoplesoft</a> <a href="http://technorati.com/tag/Debugging" rel="tag">Debugging</a> <a href="http://technorati.com/tag/AppEngine" rel="tag">AppEngine</a> <a href="http://technorati.com/tag/SQR" rel="tag">SQR</a> <a href="http://technorati.com/tag/PeopleCode" rel="tag">PeopleCode</a></p>
]]></content:encoded>
			<wfw:commentRss>http://workingscripts.com/2009/05/peoplesoft-debugging-techniques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
