<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7797473351477186751</id><updated>2012-01-19T06:40:21.886-08:00</updated><category term='Wordpress'/><category term='How To'/><category term='SQL'/><category term='XLAT'/><category term='Feeds'/><category term='Feedburner'/><category term='SQL Server'/><category term='Report Directory'/><category term='Oracle SQL'/><category term='Browsers. Apple'/><category term='Timeout'/><category term='Time Admin'/><category term='iGoogle'/><category term='White Paper'/><category term='Eee PC'/><category term='Security'/><category term='Oracle'/><category term='Nationality'/><category term='Process Monitor'/><category term='Spyware'/><category term='Time and Labor'/><category term='Output Directory'/><category term='RSS'/><category term='PeopleSoft'/><category term='Alter Session'/><category term='Safari'/><category term='Passwords'/><category term='Oracle System Tables'/><category term='Prompt Table'/><category term='System Tables. Security'/><category term='Application Engine'/><category term='BWZ'/><category term='Ratio'/><category term='Portal'/><category term='Troubleshooting'/><category term='Payroll Interface'/><category term='Mass Time'/><category term='SQL Plus'/><category term='Oracle 11g'/><category term='Rules'/><category term='Session'/><category term='Blogger'/><category term='A-List'/><category term='Component'/><category term='System Tables'/><category term='Dates'/><category term='Run-Control'/><category term='Database Links'/><category term='Functions'/><category term='Spooling'/><category term='Query Tree'/><category term='Blogging'/><category term='VBA'/><category term='Setup'/><category term='Analyze'/><category term='T and L'/><category term='Process Scheduler'/><category term='PeopleCode'/><category term='Citizenship'/><category term='Excel'/><category term='Issues'/><title type='text'>Coded Languages</title><subtitle type='html'>Your On-Line Repository For All Things Techy</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>52</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-5139774478677680409</id><published>2011-03-30T01:58:00.000-07:00</published><updated>2011-03-30T02:00:37.444-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='System Tables'/><title type='text'>Anatomy Of A Query</title><content type='html'>The following tables are used to construct a Query in PeopleSoft.&lt;br /&gt;&lt;br /&gt;PSQRYACCLSTAET Query Access List State Record&lt;br /&gt;PSQRYACCLSTRECS Query Access Record List&lt;br /&gt;PSQRYBIND Query Prompt&lt;br /&gt;PSQRYBINDLANG Query Prompt Alternate Lang.&lt;br /&gt;PSQRYCRITERIA Query Criteria&lt;br /&gt;PSQRYDEFN Query Definition&lt;br /&gt;PSQRYDEFNLANG Query Definition Alt. Language&lt;br /&gt;PSQRYDEL Query Definition&lt;br /&gt;PSQRYEXECLOG Query RunTime Log&lt;br /&gt;PSQRYEXPR Query Expression&lt;br /&gt;PSQRYFAVORITES Query Manager Favorites Table&lt;br /&gt;PSQRYFIELD Query Field&lt;br /&gt;PSQRYFIELDLANG Query Field Alternate Language&lt;br /&gt;PSQRYFLAGS Query Global Flags Table&lt;br /&gt;PSQRYRECORD Query Record&lt;br /&gt;PSQRYSELECT Query Select&lt;br /&gt;PSQRYSTATS Query RunTime Statistics&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-5139774478677680409?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/5139774478677680409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=5139774478677680409' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5139774478677680409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5139774478677680409'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2011/03/anatomy-of-query.html' title='Anatomy Of A Query'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-4755662796009904959</id><published>2010-09-07T04:40:00.000-07:00</published><updated>2010-09-07T04:52:50.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Component'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Portal'/><title type='text'>Finding a component in the Portal</title><content type='html'>The following SQL allows you to avoid the usual dog and pony chase when trying to find where a component is located in the PeopleSoft Portal.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SELECT --P.PORTAL_NAME,&lt;br /&gt;       --P.PORTAL_REFTYPE,&lt;br /&gt;       --P.PORTAL_OBJNAME,&lt;br /&gt;       A.*, &lt;br /&gt;       P.PORTAL_LABEL,&lt;br /&gt;       R.PATH,&lt;br /&gt;       P.PORTAL_URLTEXT&lt;br /&gt;FROM   &lt;br /&gt;(&lt;br /&gt;SELECT DISTINCT&lt;br /&gt;       U.ROLEUSER  ,&lt;br /&gt;       C.MENUNAME  ,&lt;br /&gt;       C.PNLGRPNAME,&lt;br /&gt;       C.MARKET&lt;br /&gt;FROM   PSROLEUSER  U&lt;br /&gt;JOIN   PSROLECLASS A&lt;br /&gt;ON     A.ROLENAME = U.ROLENAME&lt;br /&gt;JOIN   PSAUTHITEM  B&lt;br /&gt;ON     B.CLASSID = A.CLASSID&lt;br /&gt;JOIN   PSMENUITEM  C&lt;br /&gt;ON     C.MENUNAME = B.MENUNAME&lt;br /&gt;AND    C.BARNAME  = B.BARNAME&lt;br /&gt;AND    C.ITEMNAME = B.BARITEMNAME &lt;br /&gt;) A&lt;br /&gt;JOIN   PSPRSMDEFN P&lt;br /&gt;ON     P.PORTAL_URI_SEG1 = A.MENUNAME&lt;br /&gt;AND    P.PORTAL_URI_SEG2 = A.PNLGRPNAME&lt;br /&gt;AND    P.PORTAL_URI_SEG3 = A.MARKET&lt;br /&gt;JOIN   &lt;br /&gt;(&lt;br /&gt;SELECT CONNECT_BY_ROOT(PORTAL_NAME)    ROOT_NAME,&lt;br /&gt;       CONNECT_BY_ROOT(PORTAL_REFTYPE) ROOT_REFTYPE,&lt;br /&gt;       CONNECT_BY_ROOT(PORTAL_OBJNAME) ROOT_OBJNAME,&lt;br /&gt;       PORTAL_OBJNAME,&lt;br /&gt;       RTRIM(REVERSE(SYS_CONNECT_BY_PATH(REVERSE(PORTAL_LABEL),' &gt; ')),' &gt; ') PATH&lt;br /&gt;FROM   PSPRSMDEFN&lt;br /&gt;CONNECT &lt;br /&gt;BY NOCYCLE PRIOR PORTAL_NAME        = PORTAL_NAME&lt;br /&gt;       AND PRIOR PORTAL_PRNTOBJNAME = PORTAL_OBJNAME&lt;br /&gt;)      R&lt;br /&gt;ON     R.ROOT_NAME    = P.PORTAL_NAME&lt;br /&gt;AND    R.ROOT_REFTYPE = P.PORTAL_REFTYPE&lt;br /&gt;AND    R.ROOT_OBJNAME = P.PORTAL_OBJNAME&lt;br /&gt;WHERE  A.ROLEUSER = '&lt;span style="font-style:italic;"&gt;username&lt;/span&gt;'&lt;br /&gt;AND    P.PORTAL_NAME     = 'EMPLOYEE'&lt;br /&gt;AND    P.PORTAL_REFTYPE  = 'C'&lt;br /&gt;AND    R.PORTAL_OBJNAME  = 'PORTAL_ROOT_OBJECT'&lt;br /&gt;AND    A.PNLGRPNAME      = '&lt;span style="font-style:italic;"&gt;component&lt;/span&gt;'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Thanks to Rob for this one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-4755662796009904959?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/4755662796009904959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=4755662796009904959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/4755662796009904959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/4755662796009904959'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2010/09/finding-component-in-portal.html' title='Finding a component in the Portal'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-8021956484211691105</id><published>2010-07-19T03:52:00.000-07:00</published><updated>2010-07-19T03:55:07.605-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Alter Session'/><category scheme='http://www.blogger.com/atom/ns#' term='Session'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle Date Display Format</title><content type='html'>To change the format that a date is displayed in Oracle use the set NLS_DATE_FORMAT command. For example, if you wanted to show hours minutes and seconds with a date time stamp you could use: -&lt;br /&gt;&lt;br /&gt;alter session set NLS_DATE_FORMAT = 'DD-MON-YYYY HH:MI'&lt;br /&gt;&lt;br /&gt;before executing your query.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-8021956484211691105?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/8021956484211691105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=8021956484211691105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8021956484211691105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8021956484211691105'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2010/07/oracle-date-display-format.html' title='Oracle Date Display Format'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-5066269368382371705</id><published>2010-06-26T18:40:00.001-07:00</published><updated>2010-06-26T18:43:15.722-07:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Lm5-pPyLn2o/TCasXpm76VI/AAAAAAAABKA/fBvxtBGu4jk/s1600/IMG_1049.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 216px; height: 288px;" src="http://2.bp.blogspot.com/_Lm5-pPyLn2o/TCasXpm76VI/AAAAAAAABKA/fBvxtBGu4jk/s200/IMG_1049.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5487262718303660370" /&gt;&lt;/a&gt;&lt;br /&gt;Gentleman Of Verona were amazing tonight. One of the best Belgian bands I've heard for years. Come to think of it, one of the best bands, period, I've heard in years.&lt;br /&gt;&lt;br /&gt;High octane music delivered with cruise missile precision, by a band who were tight as a kangeroo's khyber, with a female vocalist who kicked ass bigtime.&lt;br /&gt;&lt;br /&gt;Reminiscent of L7, Hole early Yeah, Yeah, Yeahs and Susie And The Banshees  this is a band to watch out for in the future. Their new album Brutally Honest is out now on CD and, to be brutally honest, it's bloody brilliant. Their first album is available for download from iTunes and is also of a high quality. If you like good music, buy them!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-5066269368382371705?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/5066269368382371705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=5066269368382371705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5066269368382371705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5066269368382371705'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2010/06/gentleman-of-verona-were-amazing.html' title=''/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Lm5-pPyLn2o/TCasXpm76VI/AAAAAAAABKA/fBvxtBGu4jk/s72-c/IMG_1049.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-2704209062595882644</id><published>2010-06-09T01:29:00.000-07:00</published><updated>2010-06-09T01:35:44.792-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='System Tables'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle System Tables'/><title type='text'>Get Table Details</title><content type='html'>Sometimes when you're documenting you need to get a list of fields, fieldnames, types and their length. This little piece of SQL marries an Oracle system table and two PeopleSoft tables to furnish this information.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;select ATC.COLUMN_ID,&lt;br /&gt;       ATC.COLUMN_NAME,&lt;br /&gt;       LAB.LONGNAME,&lt;br /&gt;       CASE&lt;br /&gt;         WHEN FLD.FIELDTYPE = 0 THEN 'Character'&lt;br /&gt;         WHEN FLD.FIELDTYPE = 1 THEN 'Long Character'&lt;br /&gt;         WHEN FLD.FIELDTYPE = 2 THEN 'Number'&lt;br /&gt;         WHEN FLD.FIELDTYPE = 3 THEN 'Signed Number'&lt;br /&gt;         WHEN FLD.FIELDTYPE = 4 THEN 'Date'&lt;br /&gt;         WHEN FLD.FIELDTYPE = 5 THEN 'Time'&lt;br /&gt;         WHEN FLD.FIELDTYPE = 6 THEN 'Date Time'&lt;br /&gt;         WHEN FLD.FIELDTYPE = 8 THEN 'Image or Attachment'&lt;br /&gt;         WHEN FLD.FIELDTYPE = 9 THEN 'ImageReference'&lt;br /&gt;         ELSE                        'Unknown'&lt;br /&gt;       END as TYPE,&lt;br /&gt;       FLD.LENGTH&lt;br /&gt;  from ALL_TAB_COLUMNS ATC,&lt;br /&gt;       PSDBFLDLABL     LAB,&lt;br /&gt;       PSDBFIELD       FLD&lt;br /&gt; where ATC.TABLE_NAME    = 'PS_JOB'&lt;br /&gt;   and ATC.COLUMN_NAME   = LAB.FIELDNAME&lt;br /&gt;   and LAB.DEFAULT_LABEL = 1&lt;br /&gt;   and LAB.FIELDNAME     = FLD.FIELDNAME&lt;br /&gt; order by ATC.COLUMN_ID Asc&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-2704209062595882644?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/2704209062595882644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=2704209062595882644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2704209062595882644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2704209062595882644'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2010/06/get-table-details.html' title='Get Table Details'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-8834210354876574596</id><published>2010-06-07T23:29:00.000-07:00</published><updated>2010-06-07T23:32:43.406-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='System Tables'/><category scheme='http://www.blogger.com/atom/ns#' term='Time and Labor'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL to Find the Rules that SQL contain a Given SQL Object</title><content type='html'>&lt;pre&gt;&lt;br /&gt;select TL_RULE_ID&lt;br /&gt; from PS_TL_RULE_STEPS&lt;br /&gt;where SQL_ID = 'XXX'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-8834210354876574596?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/8834210354876574596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=8834210354876574596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8834210354876574596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8834210354876574596'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2010/06/sql-to-find-rules-that-sql-contain.html' title='SQL to Find the Rules that SQL contain a Given SQL Object'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-641915875969650933</id><published>2010-05-05T04:06:00.000-07:00</published><updated>2010-05-05T04:17:31.611-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle System Tables'/><title type='text'>Getting Details Of A Table's Columns</title><content type='html'>The following Oracle SQL gets the columns in a table.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-- -------------------&lt;br /&gt;-- Get Table's Columns&lt;br /&gt;-- -------------------&lt;br /&gt;select COLUMN_NAME,&lt;br /&gt;       DATA_TYPE&lt;br /&gt;  from ALL_TAB_COLUMNS&lt;br /&gt; where TABLE_NAME = 'PS_TY_TL_SDF_EVT'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-641915875969650933?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/641915875969650933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=641915875969650933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/641915875969650933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/641915875969650933'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2010/05/getting-details-of-tables-columns.html' title='Getting Details Of A Table&apos;s Columns'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-6470525771730910700</id><published>2010-04-13T07:33:00.000-07:00</published><updated>2010-04-13T07:43:19.232-07:00</updated><title type='text'>Changing PeopleSoft Passwords by the Back End</title><content type='html'>If the same password key is used across multiple PeopleSoft environments you can set the password in one account equal to that in another by creating a database link between the two and using the following SQL: -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;update PSOPRDEFN@HR89XXX OPXXX&lt;br /&gt;   set OPXXX.OPERPSWD = ( select OP.OPERPSWD&lt;br /&gt;                            from PSOPRDEFN OP&lt;br /&gt;                           where OPXXX.OPRID = OP.OPRID&lt;br /&gt;                        ),&lt;br /&gt;       OPXXX.ACCTLOCK = 0,&lt;br /&gt;       OPXXX.LASTPSWDCHANGE = SYSDATE&lt;br /&gt; where OPXXX.OPRID = 'USERNAME'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Along with changing the password you also need to set the last password change date, LASTPSWDCHANGE equal to the current date. Otherwise you could change your password, but have it expire on you immediately.&lt;br /&gt;&lt;br /&gt;It also makes sense to reset the account locked flag, ACCTLOCK, in case the account has been locked.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-6470525771730910700?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/6470525771730910700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=6470525771730910700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6470525771730910700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6470525771730910700'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2010/04/changing-peoplesoft-passwords-by-back.html' title='Changing PeopleSoft Passwords by the Back End'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-7157357582573889006</id><published>2010-01-26T07:27:00.000-08:00</published><updated>2010-01-28T00:11:37.435-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='T and L'/><category scheme='http://www.blogger.com/atom/ns#' term='Time and Labor'/><title type='text'>Last User Exit To Brooklyn</title><content type='html'>T&amp;amp;L rules can include PeopleCode steps by making them &lt;span style="font-weight: bold; font-style: italic;"&gt;User Exit&lt;/span&gt; rules. To create a user exit rule, do the following.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open the &lt;span style="font-weight: bold;"&gt;TL_TA_RULES&lt;/span&gt; application engine and create a new section for your rule. For this section you must check the Access Pulblic check box.&lt;/li&gt;&lt;li&gt; Add your rule steps to this section.&lt;/li&gt;&lt;li&gt;Navigate to Home &gt; Setup HRMS &gt; Product Realted &gt; Time and Labor &gt; Validation Criteria &gt; &lt;span style="font-weight: bold;"&gt;AE Section Definition&lt;/span&gt; and define your newly created section. The program name is &lt;span style="font-weight: bold;"&gt;TL_TA_RULES &lt;/span&gt;and theprocess type should be &lt;span style="font-weight: bold;"&gt;Rule (User Exit)&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Navigate to Home &gt; Setup HRMS &gt;System Administration &gt; Utilities &gt; Build Time And Labor Rules &gt; &lt;span style="font-weight: bold;"&gt;Rules&lt;/span&gt; and create a rule definition, checking the &lt;span style="font-weight: bold;"&gt;User Exit&lt;/span&gt; box and entering the name of the AE section you created earlier.&lt;/li&gt;&lt;li&gt;Add the new rule to any desired rule programs.&lt;/li&gt;&lt;li&gt;In the DMS script you use to migrate your rule you will need to include the table &lt;span style="font-weight: bold;"&gt;PS_TL_AE_SECTION&lt;/span&gt; which contains user exit section details. The migration project will need to contain your AE Section and any associated steps.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-7157357582573889006?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/7157357582573889006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=7157357582573889006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7157357582573889006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7157357582573889006'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2010/01/last-user-exit-to-brooklyn.html' title='Last User Exit To Brooklyn'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-2395710342802410928</id><published>2009-10-05T07:15:00.000-07:00</published><updated>2009-10-05T07:23:18.793-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='System Tables'/><title type='text'>PeopleSoft Hints</title><content type='html'>The PeopleSoft password hints table, &lt;strong&gt;PSUSERATTR&lt;/strong&gt;, is not encrypted, so avoid using any hint that you use elsewhere, such as What is your Mother's Maiden name?&lt;br /&gt;&lt;br /&gt;If you are forced to use a standard question give a bogus answer not one which will compromise your personal security e.g. &lt;strong&gt;&lt;em&gt;What is your favourite Sport?&lt;/em&gt;&lt;/strong&gt; response &lt;strong&gt;&lt;em&gt;WIBBLE&lt;/em&gt;&lt;/strong&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-2395710342802410928?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/2395710342802410928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=2395710342802410928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2395710342802410928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2395710342802410928'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2009/10/peoplesoft-hints.html' title='PeopleSoft Hints'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-2617657597062540522</id><published>2009-08-23T23:55:00.000-07:00</published><updated>2009-08-23T23:57:08.968-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SQL'/><title type='text'>Getting Oracle Table Information</title><content type='html'>The following SQL gets useful information about tables in an Oracle Database, such as the tablespace used.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;select TABLE_NAME,&lt;br /&gt;       OWNER,&lt;br /&gt;       INITIAL_EXTENT,&lt;br /&gt;       PCT_USED,&lt;br /&gt;       NEXT_EXTENT,&lt;br /&gt;       MIN_EXTENTS,&lt;br /&gt;       MAX_EXTENTS,&lt;br /&gt;       PCT_INCREASE,&lt;br /&gt;       TABLESPACE_NAME&lt;br /&gt;  from dba_tables&lt;br /&gt; where TABLE_NAME in ( 'PS_TY_TL_RAP_H_HST',&lt;br /&gt;                       'PS_TY_TL_RAP_T_HST',&lt;br /&gt;                       'PS_TY_TL_RPT_T_HST',&lt;br /&gt;                       'PS_TY_TL_PAY_T_HST',&lt;br /&gt;                       'PS_TY_SCH_AD_D_HST',&lt;br /&gt;                       'PS_TY_SCH_MN_S_HST',&lt;br /&gt;                       'PS_TY_TL_TR_CO_HST' )&lt;br /&gt;&lt;/br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-2617657597062540522?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/2617657597062540522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=2617657597062540522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2617657597062540522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2617657597062540522'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2009/08/getting-oracle-table-information.html' title='Getting Oracle Table Information'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-3643074915240830696</id><published>2009-05-26T07:25:00.000-07:00</published><updated>2009-05-26T07:30:42.978-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run-Control'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Mass Time'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Getting the Mass Time Run Control Parameters</title><content type='html'>Getting the mass time run-control parameters is a bit tricky as it has no run-control table as such. Rather there are a number of base tables that are populated by the run page and used to run the process. The following SQL allows you to examine these tables to allow you to extrapolate what was entered.&lt;br /&gt;&lt;br /&gt;Get the process instances of the Mass time process.&lt;br /&gt;&lt;br /&gt;To get at the data you need you require the process instance numbers of the ST_LIB process. This allows you to lookup the other details you need.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-- -------------------------------------&lt;br /&gt;-- Get process instances for ST Lib job.&lt;br /&gt;-- -------------------------------------&lt;br /&gt;select PRCS.PRCSINSTANCE,&lt;br /&gt;       PRCS.OPRID,&lt;br /&gt;       PRCS.PRCSJOBNAME,&lt;br /&gt;       PRCS.PRCSNAME,&lt;br /&gt;       PRCS.RUNCNTLID,&lt;br /&gt;       XLAT.XLATLONGNAME,&lt;br /&gt;       to_char(PRCS.BEGINDTTM,'yyyy-mm-dd-hh24.mi.ss') as Began,&lt;br /&gt;       to_char(PRCS.ENDDTTM,'yyyy-mm-dd-hh24.mi.ss')   as Ended,&lt;br /&gt;       (((TO_NUMBER(TO_CHAR(PRCS.ENDDTTM, 'J')) - TO_NUMBER(TO_CHAR(PRCS.BEGINDTTM, 'J'))) * 86400)+(TO_NUMBER(TO_CHAR(PRCS.ENDDTTM, 'SSSSS')) - TO_NUMBER(TO_CHAR(PRCS.BEGINDTTM, 'SSSSS')))) as DURSEC&lt;br /&gt;  from PSPRCSRQST   PRCS,&lt;br /&gt;       XLATTABLE_VW XLAT&lt;br /&gt;where PRCS.RUNSTATUS    = XLAT.FIELDVALUE&lt;br /&gt;  and PRCS.PRCSNAME     = 'TL_ST_LIB'&lt;br /&gt;  and XLAT.FIELDNAME    = 'RUNSTATUS'&lt;br /&gt;  and XLAT.EFFDT        = (select max(XLAT1.EFFDT)&lt;br /&gt;                             from XLATTABLE_VW XLAT1&lt;br /&gt;                            where XLAT1.FIELDNAME  = XLAT.FIELDNAME&lt;br /&gt;                              and XLAT1.FIELDVALUE = XLAT.FIELDVALUE&lt;br /&gt;                              and XLAT1.EFFDT &lt;= SYSDATE)&lt;br /&gt;  and XLAT.EFF_STATUS = 'A'&lt;br /&gt;  and PRCS.BEGINDTTM  between to_date('2009-05-19-01.00.00','YYYY-MM-DD-HH24.MI.SS')&lt;br /&gt;                          and to_date('2009-05-19-23.59.00','YYYY-MM-DD-HH24.MI.SS')&lt;br /&gt;  and PRCS.ENDDTTM is not null&lt;br /&gt;  and (((TO_NUMBER(TO_CHAR(PRCS.ENDDTTM, 'J')) - TO_NUMBER(TO_CHAR(PRCS.BEGINDTTM, 'J'))) * 86400)+(TO_NUMBER(TO_CHAR(PRCS.ENDDTTM, 'SSSSS')) - TO_NUMBER(TO_CHAR(PRCS.BEGINDTTM, 'SSSSS')))) &gt; 500&lt;br /&gt;-- order by PRCS.BEGINDTTM Desc&lt;br /&gt;order by DURSEC Desc&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Select Time Reporters&lt;br /&gt;&lt;br /&gt;Next use your newly acquired process instance number to work out what was entered on the Select Time Reporters page.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-- -----------------------------------------------------------------------------&lt;br /&gt;-- 1. Select Time Reporters Page&lt;br /&gt;-- -----------------------------------------------------------------------------&lt;br /&gt;-- Note that it is not possible to determine the parameters entered on this page&lt;br /&gt;-- as  the  only  thing  stored  in  PeopleSoft is the employee IDs selected who&lt;br /&gt;-- matched the criteria.&lt;br /&gt;--&lt;br /&gt;-- To  allow an educated guess to be made as to what they were the following SQL&lt;br /&gt;-- dumps  the  mebers  prompt  field  details  out, so if for example you have a &lt;br /&gt;-- number of members returned who have the same group, then it stands a good&lt;br /&gt;-- chance that this group was entered.&lt;br /&gt;-- -----------------------------------------------------------------------------&lt;br /&gt;-- Get Time Reporter(s) who were selected.&lt;br /&gt;-- ------------------------------------------&lt;br /&gt;select GDT.GROUP_ID,&lt;br /&gt;       EDT.EMPLID,&lt;br /&gt;       upper(NAM.LAST_NAME) as LAST_NAME,&lt;br /&gt;       NAM.FIRST_NAME,&lt;br /&gt;       JOB.BUSINESS_UNIT,&lt;br /&gt;       JOB.JOBCODE,&lt;br /&gt;       JOB.DEPTID,&lt;br /&gt;       JOB.TY_LOCAL_ID&lt;br /&gt;  from PS_TL_WRKGRP_TBL WRK,&lt;br /&gt;       PS_TL_EMPL_DATA  EDT,&lt;br /&gt;       PS_TL_MASS_TR    MAS,&lt;br /&gt;       PS_JOB           JOB,&lt;br /&gt;       PS_TL_GROUP_DTL  GDT,&lt;br /&gt;       PS_NAMES         NAM&lt;br /&gt; where WRK.EFFDT            = ( select max(WRK1.EFFDT)&lt;br /&gt;                                  from PS_TL_WRKGRP_TBL WRK1&lt;br /&gt;                                 where WRK.WORKGROUP = WRK1.WORKGROUP&lt;br /&gt;                                   and WRK1.EFFDT   &lt;= SYSDATE )&lt;br /&gt;   and WRK.WORKGROUP        = EDT.WORKGROUP&lt;br /&gt;   and EDT.EFFDT            = ( select max(EDT1.EFFDT)&lt;br /&gt;                                  from PS_TL_EMPL_DATA EDT1&lt;br /&gt;                                 where EDT.EMPLID   = EDT1.EMPLID&lt;br /&gt;                                   and EDT.EMPL_RCD = EDT1.EMPL_RCD&lt;br /&gt;                                   and EDT1.EFFDT  &lt;= SYSDATE )&lt;br /&gt;  and EDT.TIME_RPTG_STATUS   = 'A'&lt;br /&gt;  and EDT.EMPLID             = MAS.EMPLID&lt;br /&gt;  and EDT.EMPL_RCD           = MAS.EMPL_RCD&lt;br /&gt;  and MAS.ST_INSTANCE        = ( select PRCS.RUNCNTLID as ST_INSTANCE&lt;br /&gt;                                   from PSPRCSRQST PRCS&lt;br /&gt;                                  where PRCS.PRCSINSTANCE = :PRCSINSTANCE )&lt;br /&gt;  and EDT.EMPLID             = JOB.EMPLID&lt;br /&gt;  and EDT.EMPL_RCD           = JOB.EMPL_RCD&lt;br /&gt;  and JOB.EFFDT              = (select max(JOB1.EFFDT)&lt;br /&gt;                                  from PS_JOB JOB1&lt;br /&gt;                                 where JOB.EMPLID   = JOB1.EMPLID&lt;br /&gt;                                   and JOB.EMPL_RCD = JOB1.EMPL_RCD&lt;br /&gt;                                   and JOB1.EFFDT  &lt;= SYSDATE)&lt;br /&gt;  and JOB.EFFSEQ             = (select max(JOB2.EFFSEQ)&lt;br /&gt;                                  from PS_JOB JOB2&lt;br /&gt;                                 where JOB.EMPLID   = JOB2.EMPLID&lt;br /&gt;                                   and JOB.EMPL_RCD = JOB2.EMPL_RCD&lt;br /&gt;                                   and JOB.EFFDT = JOB2.EFFDT)&lt;br /&gt;  and JOB.EMPLID             = GDT.EMPLID&lt;br /&gt;  and JOB.EMPL_RCD           = GDT.EMPL_RCD&lt;br /&gt;  and GDT.GROUP_ID not like '%ALL'&lt;br /&gt;  and GDT.GROUP_ID not like '%TST'&lt;br /&gt;  and GDT.GROUP_ID not like 'MFAL%'&lt;br /&gt;  and GDT.GROUP_ID not like 'MFTA%'&lt;br /&gt;  and GDT.GROUP_ID       &lt;&gt; 'MFSEE'&lt;br /&gt;  and GDT.EMPLID             = NAM.EMPLID&lt;br /&gt;  and NAM.NAME_TYPE          = 'PRI'&lt;br /&gt;  and NAM.EFFDT              = ( select max(NAM1.EFFDT)&lt;br /&gt;                                   from PS_NAMES NAM1&lt;br /&gt;                                  where NAM.EMPLID    = NAM1.EMPLID&lt;br /&gt;                                    and NAM.NAME_TYPE = NAM1.NAME_TYPE&lt;br /&gt;                                    and NAM.EFFDT    &lt;= SYSDATE )&lt;br /&gt;order by GDT.GROUP_ID,&lt;br /&gt;         JOB.DEPTID,&lt;br /&gt;         EDT.EMPLID&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Select Time Reporting Method&lt;br /&gt;&lt;br /&gt;Now get the dates entered and how the time was reported.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-- -----------------------------------------------------------------------------&lt;br /&gt;-- 2. Select Time Reporting Method Page&lt;br /&gt;-- -----------------------------------------------------------------------------&lt;br /&gt;-- Get  the  dates  entered, how time was reported and whether Offdays should be&lt;br /&gt;-- included in the schedule.&lt;br /&gt;--&lt;br /&gt;-- If just one date was selected then the End Date will be blank and start date&lt;br /&gt;-- will  correspond to 'Date:'. If not then start date will be the 'From:' date&lt;br /&gt;-- entered and end date will be the 'To:'.&lt;br /&gt;-- ----------------------------------------------------------------------------&lt;br /&gt;select SESS.START_DATE,&lt;br /&gt;       SESS.END_DATE,&lt;br /&gt;       XLAT.XLATLONGNAME as HOW_TO_REPORT_TIME,&lt;br /&gt;       SESS.APPLY_OFFDAY_IND&lt;br /&gt;  from PS_TL_MASS_SESSION SESS,&lt;br /&gt;       XLATTABLE_VW       XLAT&lt;br /&gt; where SESS.ST_INSTANCE      = ( select PRCS.RUNCNTLID as ST_INSTANCE&lt;br /&gt;                                   from PSPRCSRQST PRCS&lt;br /&gt;                                  where PRCS.PRCSINSTANCE = :PRCSINSTANCE )&lt;br /&gt;   and SESS.MASS_USER_ACTION = XLAT.FIELDVALUE&lt;br /&gt;   and XLAT.FIELDNAME        = 'MASS_USER_ACTION'&lt;br /&gt;   and XLAT.EFFDT            = (select max(XLAT1.EFFDT)&lt;br /&gt;                                  from XLATTABLE_VW XLAT1&lt;br /&gt;                                  where XLAT1.FIELDNAME  = XLAT.FIELDNAME&lt;br /&gt;                                    and XLAT1.FIELDVALUE = XLAT.FIELDVALUE&lt;br /&gt;                                    and XLAT1.EFFDT &lt;= SYSDATE)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And finally get the TRC details and Use Profile entered.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-- -----------------------------------------------------------------------------&lt;br /&gt;-- 3. Report Time Page&lt;br /&gt;-- -----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;-- -----------------&lt;br /&gt;-- 3.1 Get Taskgroup&lt;br /&gt;-- -----------------&lt;br /&gt;select MASS.TASKGROUP&lt;br /&gt;  from PS_TL_MASS_SESSION MASS&lt;br /&gt;where MASS.ST_INSTANCE = ( select PRCS.RUNCNTLID as ST_INSTANCE&lt;br /&gt;                             from PSPRCSRQST PRCS&lt;br /&gt;                            where PRCS.PRCSINSTANCE = :PRCSINSTANCE )&lt;br /&gt;&lt;br /&gt;-- --------------------------------------------------------------&lt;br /&gt;-- 3.2 Get Time Reporting Code details entered and 'Use Profile'.&lt;br /&gt;-- --------------------------------------------------------------&lt;br /&gt;select MT.TRC,&lt;br /&gt;       MT.TL_QUANTITY,&lt;br /&gt;       MT.COUNTRY,&lt;br /&gt;       MT.CURRENCY_CD,&lt;br /&gt;       MT.STATE,&lt;br /&gt;       MT.LOCALITY,&lt;br /&gt;       MT.COMP_RATECD,&lt;br /&gt;       MT.BILLABLE_IND,&lt;br /&gt;       MT.OVERRIDE_RATE,&lt;br /&gt;       XLAT.XLATLONGNAME as PROFILE&lt;br /&gt;  from PS_TL_MASS_TRANS  MT,&lt;br /&gt;       XLATTABLE_VW      XLAT&lt;br /&gt; where MT.ST_INSTANCE       = ( select PRCS.RUNCNTLID as ST_INSTANCE&lt;br /&gt;                                  from PSPRCSRQST PRCS&lt;br /&gt;                                 where PRCS.PRCSINSTANCE = :PRCSINSTANCE )&lt;br /&gt;   and MT.USE_PROFILE_IND   = XLAT.FIELDVALUE&lt;br /&gt;   and XLAT.FIELDNAME       = 'USE_PROFILE_IND'&lt;br /&gt;   and XLAT.EFFDT           = (select max(XLAT1.EFFDT)&lt;br /&gt;                                 from XLATTABLE_VW XLAT1&lt;br /&gt;                                where XLAT1.FIELDNAME  = XLAT.FIELDNAME&lt;br /&gt;                                  and XLAT1.FIELDVALUE = XLAT.FIELDVALUE&lt;br /&gt;                                  and XLAT1.EFFDT &lt;= SYSDATE) &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now if only PeopleSoft had just used a good old fashioned run control table for this process...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-3643074915240830696?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/3643074915240830696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=3643074915240830696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3643074915240830696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3643074915240830696'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2009/05/getting-mass-time-run-control.html' title='Getting the Mass Time Run Control Parameters'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-8531988198757931097</id><published>2009-05-25T03:27:00.000-07:00</published><updated>2009-05-25T03:28:42.714-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle System Tables'/><title type='text'>Listing All PeopleSoft System tables</title><content type='html'>All PeopleSoft system tables can be dumped with: -&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;select RECNAME,&lt;br /&gt;       RECDESCR&lt;br /&gt;  from PSRECDEFN&lt;br /&gt; where RECNAME like 'PS%'&lt;br /&gt;   and RECDESCR &lt;&gt; ' '&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-8531988198757931097?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/8531988198757931097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=8531988198757931097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8531988198757931097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8531988198757931097'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2009/05/listing-all-peoplesoft-system-tables.html' title='Listing All PeopleSoft System tables'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-3381472098025224035</id><published>2009-05-25T03:19:00.000-07:00</published><updated>2009-05-25T03:31:37.806-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Application Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='System Tables'/><title type='text'>Dumping an Application Engine's Temp Tables List</title><content type='html'>Recently I had an issue to look at that required me to list the temporary tables used by the TL Admin application engine. To do this I used the following SQL: -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;select *&lt;br /&gt;  from PSAEAPPLTEMPTBL&lt;br /&gt;where AE_APPLID = 'TL_TIMEADMIN'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-3381472098025224035?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/3381472098025224035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=3381472098025224035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3381472098025224035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3381472098025224035'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2009/05/dumping-application-engines-temp-tables.html' title='Dumping an Application Engine&apos;s Temp Tables List'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-2052983317196789740</id><published>2009-03-02T07:28:00.000-08:00</published><updated>2009-03-02T07:44:33.681-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='BWZ'/><title type='text'>Blankety blank, blankety blank...</title><content type='html'>To make a cell blank when zero in Excel you could do so via conditional formatting, setting the font colour to be the same as the background colour when it equals zero.&lt;br /&gt;&lt;br /&gt;This technique is a bit limited however, and hits problems if you need to use other conditional formatting or when the background colour varies from cell to cell.&lt;br /&gt;&lt;br /&gt;Another more flexible method is to use the following formatting string for your cell.&lt;br /&gt;Just go to &lt;strong&gt;Format &gt; Cells &gt; Custom&lt;/strong&gt; and plonk it in to the &lt;strong&gt;Type&lt;/strong&gt; box.&lt;br /&gt;&lt;pre&gt;0;-0;;@&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The above format doesn't show a thousands delimiter. To get that in use: -&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#,##0;-0;;@&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Why Microsoft made this expression so bloody complex I'll never know. But hey, Microsoft are Microsoft, they'd make the complete works of Shakespeare out of a crisis.&lt;br /&gt;&lt;br /&gt;Have a play with varients of this for other effects.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-2052983317196789740?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/2052983317196789740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=2052983317196789740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2052983317196789740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2052983317196789740'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2009/03/blankety-blank-blankety-blank.html' title='Blankety blank, blankety blank...'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-3484858861426303559</id><published>2009-02-06T01:14:00.000-08:00</published><updated>2009-05-25T07:08:14.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Process Monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Process Scheduler'/><title type='text'>Peering into the depths of the PeopleSoft Process Scheduler Queue</title><content type='html'>On occaision you need to be able to see what's been running in the PeopleSoft Batch queue at a given moment in time. At such times the following SQL comes in quite handy.&lt;pre&gt;&lt;br /&gt;-- --------------------------&lt;br /&gt;-- Dump Process Monitor Table&lt;br /&gt;-- --------------------------&lt;br /&gt;select PRCS.OPRID,&lt;br /&gt;       PRCS.PRCSJOBNAME,&lt;br /&gt;       PRCS.PRCSNAME,&lt;br /&gt;       PRCS.RUNCNTLID,&lt;br /&gt;       XLAT.XLATLONGNAME,&lt;br /&gt;       to_char(PRCS.BEGINDTTM,'yyyy-mm-dd-hh24.mi.ss') as Began,&lt;br /&gt;       to_char(PRCS.ENDDTTM,'yyyy-mm-dd-hh24.mi.ss')   as Ended&lt;br /&gt;       (((TO_NUMBER(TO_CHAR(PRCS.ENDDTTM, 'J')) - TO_NUMBER(TO_CHAR(PRCS.BEGINDTTM, 'J'))) * 86400)+(TO_NUMBER(TO_CHAR(PRCS.ENDDTTM, 'SSSSS')) - TO_NUMBER(TO_CHAR(PRCS.BEGINDTTM, 'SSSSS')))) as Dur_Sec&lt;br /&gt;  from PSPRCSRQST   PRCS,&lt;br /&gt;       XLATTABLE_VW XLAT&lt;br /&gt; where PRCS.BEGINDTTM   &gt; to_date('2009-03-02-01.00.00','YYYY-MM-DD-HH24.MI.SS')&lt;br /&gt;   and PRCS.RUNSTATUS    = XLAT.FIELDVALUE&lt;br /&gt;   and XLAT.FIELDNAME    = 'RUNSTATUS'&lt;br /&gt;   and XLAT.EFFDT = (select max(XLAT1.EFFDT)&lt;br /&gt;                       from XLATTABLE_VW XLAT1                    &lt;br /&gt;                      where XLAT1.FIELDNAME  = XLAT.FIELDNAME&lt;br /&gt;                        and XLAT1.FIELDVALUE = XLAT.FIELDVALUE&lt;br /&gt;                        and XLAT1.EFFDT &lt;= SYSDATE)&lt;br /&gt;   and XLAT.EFF_STATUS = 'A'&lt;br /&gt; order by PRCS.BEGINDTTM Desc&lt;br /&gt;&lt;/pre&gt;Be careful when you stare into the void however, the void might stare back at you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-3484858861426303559?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/3484858861426303559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=3484858861426303559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3484858861426303559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3484858861426303559'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2009/02/peering-into-depths-of-peoplesoft.html' title='Peering into the depths of the PeopleSoft Process Scheduler Queue'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-3393447899524634976</id><published>2009-01-06T03:40:00.000-08:00</published><updated>2009-01-06T03:50:24.698-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='Time Admin'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Time and Labor'/><title type='text'>One Step Beyond</title><content type='html'>One of Time Admin's subprograms, TL_TA000800, calls TL_TA_RULES to apply rules in the order specified on the rule program for each batch. The sections in TL_TA_RULES correspond to each of the active time and labor rules.&lt;br /&gt;&lt;br /&gt;When a rule is built the application engine definition tables underlying TL_TA_RULES are updated to reflect any changes made to the rule.&lt;br /&gt;&lt;br /&gt;Unfortunately, for a particular rule, the section name and step of the app engine don't correspond to the rule name and step number of the rule itself. Which can make it a little tricky when debugging an abend. The following SQL solves this problem by giving you the rule ID and step for the app. engine section and step that the abend log will give you.&lt;pre&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;select *&lt;br /&gt;  from ( select TL_RULE_ID,&lt;br /&gt;                TL_RULE_STEP,&lt;br /&gt;                rownum as AE_STEP,&lt;br /&gt;                SQL_ID,&lt;br /&gt;                DESCR100   &lt;br /&gt;           from PS_TL_RULE_STEPS&lt;br /&gt;          where TL_RULE_ID = (select TL_RULE_ID&lt;br /&gt;                                from PS_TL_RULE_DEFN&lt;br /&gt;                               where AE_SECTION = :AE_SECTION)&lt;br /&gt;       )&lt;br /&gt; where AE_STEP = :STEP&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-3393447899524634976?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/3393447899524634976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=3393447899524634976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3393447899524634976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3393447899524634976'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2009/01/one-step-beyond.html' title='One Step Beyond'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-5545452735831905838</id><published>2008-11-14T02:45:00.000-08:00</published><updated>2011-12-16T02:34:56.627-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dates'/><category scheme='http://www.blogger.com/atom/ns#' term='Time and Labor'/><title type='text'>Fun with Time and Labor Dates</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;There's a useful little table in PeopleSoft Time and Labor called PS_TL_DATES_TBL. This holds a variety of date information, such as day number, julian date , day of week and month, that can save a bit of coding to derive these values yourself. The following example uses this table to get the start and end dates of the previous, current and next years, months and weeks.&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size: 78%;"&gt;select DAT.THE_DATE,&lt;br /&gt;       ADD_MONTHS(TO_DATE('01-JAN-'|| TO_NUMBER(TO_CHAR(DAT.THE_DATE,'YYYY'))),-12) as START_OF_PREVIOUS_YEAR,&lt;br /&gt;       ADD_MONTHS(TO_DATE('31-DEC-'|| TO_NUMBER(TO_CHAR(DAT.THE_DATE,'YYYY'))),-12) as END_OF_PREVIOUS_YEAR,&lt;br /&gt;       TO_DATE('01-JAN-'|| TO_NUMBER(TO_CHAR(DAT.THE_DATE,'YYYY')))                 as START_OF_CURRENT_YEAR,&lt;br /&gt;       TO_DATE('31-DEC-'|| TO_NUMBER(TO_CHAR(DAT.THE_DATE,'YYYY')))                 as END_OF_CURRENT_YEAR,&lt;br /&gt;       ADD_MONTHS(TO_DATE('01-JAN-'|| TO_NUMBER(TO_CHAR(DAT.THE_DATE,'YYYY'))),12)  as START_OF_NEXT_YEAR,&lt;br /&gt;       ADD_MONTHS(TO_DATE('31-DEC-'|| TO_NUMBER(TO_CHAR(DAT.THE_DATE,'YYYY'))),12)  as END_OF_NEXT_YEAR,&lt;br /&gt;       ADD_MONTHS((TRUNC(DAT.THE_DATE - DAT.DAYOFMONTH) + 1),-1)                    as START_OF_PREVIOUS_MONTH,&lt;br /&gt;       DAT.THE_DATE - DAT.DAYOFMONTH                                                as END_OF_PREVIOUS_MONTH,&lt;br /&gt;       TRUNC(DAT.THE_DATE - DAT.DAYOFMONTH) + 1                                     as START_OF_CURRENT_MONTH,&lt;br /&gt;       ADD_MONTHS((DAT.THE_DATE - DAT.DAYOFMONTH),1)                                as END_OF_CURRENT_MONTH,&lt;br /&gt;       ADD_MONTHS(TRUNC((DAT.THE_DATE - DAT.DAYOFMONTH) + 1),1)                     as START_OF_NEXT_MONTH,&lt;br /&gt;       ADD_MONTHS((DAT.THE_DATE - DAT.DAYOFMONTH),2)                                as END_OF_NEXT_MONTH,&lt;br /&gt;       DAT.THE_DATE  - case&lt;br /&gt;                         when DAT.DAYOFWEEK = 1 then 13&lt;br /&gt;                         when DAT.DAYOFWEEK = 2 then 7&lt;br /&gt;                         when DAT.DAYOFWEEK = 3 then 8&lt;br /&gt;                         when DAT.DAYOFWEEK = 4 then 9&lt;br /&gt;                         when DAT.DAYOFWEEK = 5 then 10&lt;br /&gt;                         when DAT.DAYOFWEEK = 6 then 11&lt;br /&gt;                         when DAT.DAYOFWEEK = 7 then 12&lt;br /&gt;                       end                                                          as START_OF_PREVIOUS_WEEK,&lt;br /&gt;       DAT.THE_DATE  - case&lt;br /&gt;                         when DAT.DAYOFWEEK = 1 then 7&lt;br /&gt;                         when DAT.DAYOFWEEK = 2 then 1&lt;br /&gt;                         when DAT.DAYOFWEEK = 3 then 2&lt;br /&gt;                         when DAT.DAYOFWEEK = 4 then 3&lt;br /&gt;                         when DAT.DAYOFWEEK = 5 then 4&lt;br /&gt;                         when DAT.DAYOFWEEK = 6 then 5&lt;br /&gt;                         when DAT.DAYOFWEEK = 7 then 6&lt;br /&gt;                       end                                                          as END_OF_PREVIOUS_WEEK,&lt;br /&gt;       DAT.THE_DATE  - case&lt;br /&gt;                         when DAT.DAYOFWEEK = 1 then 6&lt;br /&gt;                         when DAT.DAYOFWEEK = 2 then 0&lt;br /&gt;                         when DAT.DAYOFWEEK = 3 then 1&lt;br /&gt;                         when DAT.DAYOFWEEK = 4 then 2&lt;br /&gt;                         when DAT.DAYOFWEEK = 5 then 3&lt;br /&gt;                         when DAT.DAYOFWEEK = 6 then 4&lt;br /&gt;                         when DAT.DAYOFWEEK = 7 then 5&lt;br /&gt;                       end                                                          as START_OF_CURRENT_WEEK,&lt;br /&gt;       DAT.THE_DATE  + case&lt;br /&gt;                         when DAT.DAYOFWEEK = 1 then 0&lt;br /&gt;                         when DAT.DAYOFWEEK = 2 then 6&lt;br /&gt;                         when DAT.DAYOFWEEK = 3 then 5&lt;br /&gt;                         when DAT.DAYOFWEEK = 4 then 4&lt;br /&gt;                         when DAT.DAYOFWEEK = 5 then 3&lt;br /&gt;                         when DAT.DAYOFWEEK = 6 then 2&lt;br /&gt;                         when DAT.DAYOFWEEK = 7 then 1&lt;br /&gt;                       end                                                          as END_OF_CURRENT_WEEK,&lt;br /&gt;       DAT.THE_DATE  + case&lt;br /&gt;                         when DAT.DAYOFWEEK = 1 then 1&lt;br /&gt;                         when DAT.DAYOFWEEK = 2 then 7&lt;br /&gt;                         when DAT.DAYOFWEEK = 3 then 6&lt;br /&gt;                         when DAT.DAYOFWEEK = 4 then 5&lt;br /&gt;                         when DAT.DAYOFWEEK = 5 then 4&lt;br /&gt;                         when DAT.DAYOFWEEK = 6 then 3&lt;br /&gt;                         when DAT.DAYOFWEEK = 7 then 2&lt;br /&gt;                       end                                                          as START_OF_NEXT_WEEK,&lt;br /&gt;       DAT.THE_DATE  + case&lt;br /&gt;                         when DAT.DAYOFWEEK = 1 then 7&lt;br /&gt;                         when DAT.DAYOFWEEK = 2 then 13&lt;br /&gt;                         when DAT.DAYOFWEEK = 3 then 12&lt;br /&gt;                         when DAT.DAYOFWEEK = 4 then 11&lt;br /&gt;                         when DAT.DAYOFWEEK = 5 then 10&lt;br /&gt;                         when DAT.DAYOFWEEK = 6 then 9&lt;br /&gt;                         when DAT.DAYOFWEEK = 7 then 8&lt;br /&gt;                       end                                                          as END_OF_NEXT_WEEK&lt;br /&gt;  from PS_TL_DATES_TBL DAT&lt;br /&gt; where DAT.THE_DATE = TRUNC(SYSDATE)&lt;br /&gt; order by DAT.THE_DATE desc&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;What day is it son?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you need to know what day of the week it is you could get the day number then go on the principle that 1 is a sunday, 2 is a Monday etc, to work it out. The problem with this however, is that this number can vary depending on how the Oracle environment is configured, which makes this unreliable. A better way of finding out the day is to use the 'DAY' parameter of TO_CHAR. This returns the day as MONDAY, TUESDAY etc. The only thing to watch here is that the returned value has trailing spaces, so if you're comparing it then remember to trim it first. For example: -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;select DAT.THE_DATE, to_char( DAT.THE_DATE, 'DAY' )&lt;br /&gt;  from PS_TL_DATES_TBL DAT&lt;br /&gt;where trim(to_char( DAT.THE_DATE, 'DAY' )) in ('SATURDAY','SUNDAY')&lt;br /&gt;  and DAT.THE_DATE between '01-DEC-2011' and '31-DEC-2011'&lt;br /&gt;order by DAT.THE_DATE Asc&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-5545452735831905838?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/5545452735831905838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=5545452735831905838' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5545452735831905838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5545452735831905838'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2008/11/fun-with-t-dates.html' title='Fun with Time and Labor Dates'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-7484421003604796043</id><published>2008-09-22T07:24:00.001-07:00</published><updated>2008-09-22T07:25:41.547-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle System Tables'/><title type='text'>Finding a table name</title><content type='html'>select *&lt;br /&gt;from dba_tables&lt;br /&gt;where table_name like '%&amp;lttable_name&amp;gt';&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-7484421003604796043?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/7484421003604796043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=7484421003604796043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7484421003604796043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7484421003604796043'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2008/09/finding-table-name_22.html' title='Finding a table name'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-2564910851304912266</id><published>2008-09-22T06:59:00.000-07:00</published><updated>2009-06-17T08:20:53.573-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database Links'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Creating a Database Link</title><content type='html'>I always forget the syntax for this one...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CREATE DATABASE LINK &lt;link_name&gt;&lt;br /&gt;CONNECT TO &lt;user_name&gt;&lt;br /&gt;IDENTIFIED BY &lt;password&gt;&lt;br /&gt;USING '&lt;service_name&gt;';&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For example: -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CREATE DATABASE LINK HR89TST&lt;br /&gt;CONNECT TO FBLOGGS&lt;br /&gt;IDENTIFIED BY FR3DD13&lt;br /&gt;USING 'HR89TST';&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Note that if you have special characters in your password, you should enclose it in double quotes or you may get an error message.&lt;br /&gt;&lt;p&gt;To list existing database links, use: -&lt;/p&gt;&lt;p&gt;select * from dba_db_links;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;or&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;Select * from ALL_DB_LINKS;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To drop a database link use: -&lt;/p&gt;&lt;p&gt;DROP DATABASE LINK &lt;em&gt;linkname&lt;/em&gt;;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-2564910851304912266?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/2564910851304912266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=2564910851304912266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2564910851304912266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2564910851304912266'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2008/09/creating-database-link.html' title='Creating a Database Link'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-2740683334626941094</id><published>2008-08-05T14:31:00.000-07:00</published><updated>2008-11-19T11:29:35.477-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eee PC'/><title type='text'>Pump Up The Volume</title><content type='html'>Recently I had a problem with the sound level on my EEE PC, which for no apparent reason went rather quiet. A trawl through the forumsfound the solution. What you need to do to remedy this grievous state of affairs is to take the following steps.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Enter &lt;span style="font-weight: bold;"&gt;&amp;lt;ctrl&amp;gt;&amp;lt;alt&amp;gt;T&lt;/span&gt; to open a command console window.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Type &lt;span style="font-weight: bold;"&gt;alsamixer&lt;/span&gt; to bring up the sound card control panel.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Use the up arrow to increase the PCM level, which is the first bar displayed.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Celebrate by jacking in some power speakers and playing some Motorhead really loud.&lt;/li&gt;&lt;/ul&gt;An alternative solution would be to boost your hearing with the aid of some bionics, though you'll need to find Rudy Wells first. We have the technology.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-2740683334626941094?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/2740683334626941094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=2740683334626941094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2740683334626941094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/2740683334626941094'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2008/08/pump-up-volume.html' title='Pump Up The Volume'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-407324578898528442</id><published>2008-03-21T10:26:00.000-07:00</published><updated>2008-03-21T13:05:55.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>How to Install Wordpress and learn to stop Worrying and Love the Blog</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_Lm5-pPyLn2o/R-QRvn_rl5I/AAAAAAAAAlc/YuUsG5zEjps/s1600-h/Wordpress.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_Lm5-pPyLn2o/R-QRvn_rl5I/AAAAAAAAAlc/YuUsG5zEjps/s400/Wordpress.jpg" alt="" id="BLOGGER_PHOTO_ID_5180284981270517650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;There are two ways to setup a blog. The first is the easiest and involves registering with an on-line blogging service such as Blogger, selecting a template, configuring your account then off you go. The second route is to install a blogging application on a server, configure it, customise it then your up and running. The first method is the quickest and can have you blogging within minutes. The second is a tad more time consuming but gives you far greater flexibility in terms of what you can do.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Wordpress&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Having already setup 4 blogs using the first method, I thought it was high time I got down to some real hardcore blogging and setup my own hosted blog. After a few nights of on-line research and numerous coffees, I concluded that probably the best tool for the job was &lt;a href="http://wordpress.org/"&gt;Wordpress&lt;/a&gt;. This uses a &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt; database to hold your blogs content then a combination of PHP, XHTML and CSS style sheets to present it.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Hosting&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;First off you need to have a place for Wordplace to hang its hat. The server that it's hosted on needs to have MySQL and PHP installed on it. The Wordpress site lists a number of recommended &lt;a href="http://wordpress.org/hosting/"&gt;Hosts&lt;/a&gt;. Again after more surf and coffee sessions I plumped for &lt;a href="http://www.anhosting.com/wordpress/wordpress.html?"&gt;AN Hosting&lt;/a&gt; as my host of choice. A good price, well recommended and bags of features, AN were the host with the most. I also toyed with installing a WAMP server and trying things out locally, but that's a different story. AN also offer automatic Wordpress installation, but for the sake of this post I'll describe how to install it old school.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:arial;"&gt;Installation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt; &lt;span style="font-family:arial;"&gt;Creating the Wordpress Database&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Through your hosts control panel create a new database to hold your Wordpress tables. Give it a suitable name such as &lt;span style="font-weight: bold;"&gt;wordpress&lt;/span&gt; or an unsuitable one such as &lt;span style="font-weight: bold;"&gt;ziggy&lt;/span&gt;. Add any users to this database who you want to give access to (e.g. yourself, yourwife, the cat...).&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Download Wordpress&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;First off, download a zip file of the latest stable Wordpress release from the Wordpress &lt;a href="http://wordpress.org/download/"&gt;website&lt;/a&gt; to your PC. Then un-zip it to a suitable place.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Create the wp-config.php file&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;If you look in the wordpress folder you will find a file calle&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:georgia;"&gt;d &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;wp-config-sample.php&lt;/span&gt;. Save this as &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;wp-config.php&lt;/span&gt; then edit it using a text editor such as notepad or the developers &lt;a href="http://www.lancs.ac.uk/staff/steveb/cpaap/pfe/"&gt;PFE&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Find the line that says &lt;span style="font-weight: bold;font-family:courier new;" &gt;define('DB_NAME', 'wordpress')&lt;/span&gt; and replace &lt;span style="font-weight: bold;font-family:courier new;" &gt;wordpress&lt;/span&gt; with the name of the MySQL database you created earlier. On the next two lines enter the name of a user who you gave admin rights to your database and their password.&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;define('DB_USER', 'dbrock');     // Your MySQL username&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;define('DB_PASSWORD', 'hawkwind'); // ...and password&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On the line that says: -&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;define('DB_HOST', 'localhost');    // 99% chance you won't need to change this value&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I also had to replace &lt;span style="font-weight: bold;"&gt;local host&lt;/span&gt; with &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;remotemysqlhost&lt;/span&gt;, as instructed on the AN hosting control panel. I guess I must be the 1%.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;One neat trick you can do is to have several blogs setup in the same database, if you want to do this drop down to the line that says:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$table_prefix  = 'wp_';   // Only numbers, letters, and underscores please!&lt;/span&gt;  &lt;span style="font-family:georgia;"&gt;this is the prefix that will be given to the name of each wordpress table that is created. For more than one table use different prefixes. For example you could change it to: -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$table_prefix  = 'wp_mh_';   // Only numbers, letters, and underscores please!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt; &lt;span style="font-family:georgia;"&gt;for your Motorhead blog.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Copy Wordpress Files to Your Server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you've created a configuration file, it's time to copy your files up to the server. To do this use an FTP application such as &lt;a href="http://filezilla-project.org/"&gt;FileZilla&lt;/a&gt; or &lt;a href="http://www.globalscape.com/products/ftp_clients.aspx"&gt;CuteFTP&lt;/a&gt;. I personally use &lt;a href="http://www.ipswitch.com/"&gt;WS-FTP&lt;/a&gt;, which isn't free but is reliable.&lt;br /&gt;&lt;br /&gt;Use your FTP software to copy the extracted Worpress directory to a directory under the directory that holds your web documents. I set one up in this called &lt;span style="font-weight: bold;"&gt;\blogs&lt;/span&gt;\ into which I'll copy any future wordpress directories.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Run install.php&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Through a web browser, such as firefox, run the worpress install.php file. To do this enter the URL of your websites root directory followed by the path to this file, which is found in the &lt;span style="font-weight: bold;"&gt;wp-admin&lt;/span&gt; folder.&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://www.kungfool.co.uk/blogs/wordpress/wp-admin/install.php&lt;/span&gt;  &lt;span style="font-family:arial;"&gt;&lt;span style="font-family:georgia;"&gt;You should now be prompted for the name of your blog, which you can always change later, and your e-mail address. Enter both and click on the &lt;span style="font-weight: bold;"&gt;Install Wordpress&lt;/span&gt; link.&lt;br /&gt;&lt;br /&gt;In the blink of an eye you'll get the message: -&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;WordPress has been installed. Were you expecting more steps? Sorry to disappoint.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And given a user ID and password to administer your blog with. Make a note of them for future reference and hit &lt;span style="font-weight: bold;"&gt;Log In&lt;/span&gt; baby.&lt;br /&gt;&lt;br /&gt;Congratulations, you've installed Wordpress, woo hoo, go away and have a nice cup of tea and a biscuit to celebrate why don't you.&lt;br /&gt;&lt;br /&gt;To view your fledgling blog enter your root URL followed by the wordpress directory: -&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;http://www.kungfool.co.uk/blogs/wordpress&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;To bring up the admin login page run the following script from your browser: -&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://www.kungfool.com/blogs/wordpress/wp-login.php&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;substituting your root web URL and Wordpress directory as appropriate.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By the way you can visit the blog I created in this exercise at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.seishan.com/blogs/test25/"&gt;http://www.seishan.com/blogs/test25/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll be building on it over the next couple of weeks, so expect it to morph as time goes by.&lt;br /&gt;&lt;br /&gt;By the way, the 25 in &lt;span style="font-weight: bold;"&gt;test25&lt;/span&gt; has nothing to do with Hawkwind's - 25 Years On, I'm just checking out Release Candidate 1 of Wordpress 2.5. Wordpress 2.5 isn't on general release yet, but hey I thought I'd give it a whirl.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-407324578898528442?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/407324578898528442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=407324578898528442' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/407324578898528442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/407324578898528442'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2008/03/how-to-install-wordpress-and-learn-to.html' title='How to Install Wordpress and learn to stop Worrying and Love the Blog'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_Lm5-pPyLn2o/R-QRvn_rl5I/AAAAAAAAAlc/YuUsG5zEjps/s72-c/Wordpress.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-440007241630234569</id><published>2008-01-14T03:59:00.001-08:00</published><updated>2008-01-14T03:59:23.083-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle 11g'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle 11g Release on You Tube</title><content type='html'>&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Acffqqya5ic&amp;amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/Acffqqya5ic&amp;amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;&lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-440007241630234569?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/440007241630234569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=440007241630234569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/440007241630234569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/440007241630234569'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2008/01/oracle-11g-release-on-you-tube.html' title='Oracle 11g Release on You Tube'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-5046124917525043565</id><published>2007-11-21T04:29:00.000-08:00</published><updated>2007-11-22T04:47:55.673-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Analyze'/><title type='text'>Analyze This</title><content type='html'>In the good old days you analyzed a table using a statement along the lines of: -&lt;br /&gt;&lt;br /&gt;ANALYZE TABLE &lt;em&gt;tablename&lt;/em&gt; COMPUTE STATISTICS;&lt;br /&gt;&lt;br /&gt;With the advent of Oracle 8i the DBMS_STATS utility was introduced to gather object statistics. This is Oracles preffered method of gathering the information.&lt;br /&gt;&lt;br /&gt;Using it the equivalent of the above analyze statement would be: -&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=&gt;'SYSADM',TABNAME=&gt;'&lt;em&gt;tablename&lt;/em&gt;',CASCADE=&gt;TRUE);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This should be executed after the table you need to analyze has been populated.&lt;br /&gt;&lt;br /&gt;To cut back on the time it takes to execute, you can limit the number of rows it uses in its stats gathering by adding &lt;strong&gt;estimate_percent =&gt; &lt;em&gt;nn&lt;/em&gt;&lt;/strong&gt; (where &lt;strong&gt;&lt;em&gt;nn&lt;/em&gt;&lt;/strong&gt; is a number between 1 and 100) this will only use the given percentage of the total rows in the table when performing its anaysis.&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;br /&gt;EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=&gt;'SYSADM',TABNAME=&gt;'tablename',CASCADE=&gt;TRUE, estimate_percent =&gt; 20);&lt;br /&gt;&lt;br /&gt;Will only use 20% of the tables rows. The higher the percentage, the better the analysis, but the longer it will take. When used Oracle randomly selects the rows it uses from the table to make them more representative.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;N.B.&lt;/strong&gt; This statement doesn't work from Oracle Developer (I've not tried it from Toad). As such execute it from SQL Plus instead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-5046124917525043565?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/5046124917525043565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=5046124917525043565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5046124917525043565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5046124917525043565'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/11/analyze-this.html' title='Analyze This'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-8552557957653208025</id><published>2007-11-19T06:41:00.000-08:00</published><updated>2008-09-22T07:19:02.436-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle System Tables'/><title type='text'>Listing a tables Indexes</title><content type='html'>select index_name&lt;br /&gt;from dba_indexes&lt;br /&gt;where table_name=&amp;lttable_name&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-8552557957653208025?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/8552557957653208025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=8552557957653208025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8552557957653208025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8552557957653208025'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/11/listing-tables-indexes.html' title='Listing a tables Indexes'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-5139855331303433074</id><published>2007-11-14T09:30:00.000-08:00</published><updated>2007-11-23T01:33:45.999-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Plus'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Useful SQL Plus Settings</title><content type='html'>&lt;span style="font-family:sans-serif;font-size:85%;"&gt;On occaisions when you're working at an Oracle site with no access to sensible SQL development tools, such as Toad or Oracle Developer (available as a free download from the Oracle website, but no good if you can't download or install it), you are forced to use that most heinous of applications SQL Plus. To make life a bit more palatable, try using the following settings to brighten up its drab and dreary demeanor.&lt;br /&gt;&lt;br /&gt;/* SQL Plus parameters required for each session */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;select name from sys.v_$database;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;alter session set current_schema=SYSADM;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set timing on;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set sqlprompt &lt;span style="FONT-STYLE: italic"&gt;dbasename&lt;/span&gt;&gt; ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set linesize 150;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set null empty;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set pagesize 500;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set pause on;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set space 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set time on;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set trim on;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set wrap off;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set sqlnumber on;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;set describe line on;&lt;br /&gt;&lt;br /&gt;Enjoy !!!!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-5139855331303433074?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/5139855331303433074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=5139855331303433074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5139855331303433074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5139855331303433074'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/11/useful-sql-plus-settings.html' title='Useful SQL Plus Settings'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-5323757202017033551</id><published>2007-09-25T04:29:00.000-07:00</published><updated>2007-09-25T04:35:27.050-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Output Directory'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Report Directory'/><category scheme='http://www.blogger.com/atom/ns#' term='Process Scheduler'/><category scheme='http://www.blogger.com/atom/ns#' term='Setup'/><title type='text'>Specifying the report directory in PeopleSoft</title><content type='html'>To change the directory that Process Monitor tries to open report output in PeopleSoft (logs, trace files etc.) navigate to the Report Node definition page: -&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Home&lt;/u&gt; &gt; &lt;u&gt;PeopleTools&lt;/u&gt; &gt; &lt;u&gt;Process Scheduler&lt;/u&gt; &gt; &lt;strong&gt;Report Nodes&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;From here you can specify the URL, URI Port and URI Resource used to open report output in PeopleSoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-5323757202017033551?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/5323757202017033551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=5323757202017033551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5323757202017033551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5323757202017033551'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/09/specifying-report-directory-in.html' title='Specifying the report directory in PeopleSoft'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-7132728968160247444</id><published>2007-09-21T03:13:00.000-07:00</published><updated>2007-09-21T06:00:06.355-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><title type='text'>Changing the PS, Application Server Process Scheduler Password</title><content type='html'>With a vanilla PeopleSoft installation, one of the first things you should do is change the password for the adminstrator account PS from the default. This post details what you need to do to accomplish this and offers a number of hints and tips along the way.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Backup First&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Before making these changes in production I would advise taking a full backup of the system first. And making sure that the backup was successful.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Chosing a new PS Password&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;As this account gives you carte blanche access to the PeopleSoft system, care should be taken when changing it to ensure that the password chosen is as strong as possible. The new password should: -&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Use a &lt;strong&gt;minimum&lt;/strong&gt; of &lt;strong&gt;7&lt;/strong&gt; characters and a &lt;strong&gt;maximum&lt;/strong&gt; of &lt;strong&gt;8&lt;/strong&gt; characters in length.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use only mixed case alpha and numeric characters.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Avoid common names, words, and anything obvious, such as your Operator ID. It should also be significantly different from your most recent passwords.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For further suggestions regarding password selection please refer to my previous article &lt;a href="http://codedlanguages.blogspot.com/2007/06/art-of-creating-password.html"&gt;The Art of Creating a Password&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Changing the Password&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;To change the password you need to: -&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Change the PS Password through the web;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Change the Application Server password using PSADMIN;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Change the Process Scheduler Passwor using PSADMIN.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Changing the PS Password&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Log in to PeopleSoft through the web.&lt;br /&gt;&lt;br /&gt;Navigate to: -&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Home&lt;/u&gt; &gt; &lt;u&gt;PeopleTools&lt;/u&gt; &gt; &lt;u&gt;Security&lt;/u&gt; &gt; &lt;u&gt;User Profiles&lt;/u&gt; &gt; &lt;strong&gt;User Profiles&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;And change the password for &lt;strong&gt;PS&lt;/strong&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Note that in some installations a seperate &lt;strong&gt;PSAPPS&lt;/strong&gt; user account is used by the Application Server and Process Scheduler. To detemine if this is so, have a look at their configuration files &lt;strong&gt;psappsrv.cfg&lt;/strong&gt; and &lt;strong&gt;psprcs.cfg&lt;/strong&gt; respectively. These will contain the ID and password used to connect to PeopleSoft. If &lt;strong&gt;PSAPPS &lt;/strong&gt;is used then you should change it in the same manner as you changed PS.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Change the Application Server Password&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;There are two ways you can change the App Server password. You could directly edit the configuration file, named above, or use &lt;strong&gt;PSADMIN&lt;/strong&gt;. As direct editing can cause problems if you encrypt it, I would reccoment you use PSADMIN.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Configure the Application Server&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;First select &lt;strong&gt;Application Server&lt;/strong&gt; from the main menu to got to the &lt;strong&gt;Application Server Administration&lt;/strong&gt; menu.&lt;/p&gt;&lt;p&gt;Then select Administer a domain and pick the domain you want to change.&lt;/p&gt;&lt;p&gt;Now select configure this domain and answer '&lt;strong&gt;y&lt;/strong&gt;' when it says that 'this option will shutdown the domain do you want to continue' and '&lt;strong&gt;y&lt;/strong&gt;' when it asks if you want to change any config values.&lt;/p&gt;&lt;p&gt;The first thing it will ask is if you want to change any startup values, answer 'y' to this.&lt;/p&gt;&lt;p&gt;Continue to press enter untill you get to UserPswd then enter you new &lt;strong&gt;PS &lt;/strong&gt;or &lt;strong&gt;PSAPPS&lt;/strong&gt; password as apropriate.&lt;/p&gt;&lt;p&gt;When it asks if you want to encrypt this password answer '&lt;strong&gt;y&lt;/strong&gt;'. This will mask it in the config file and make it less easy to hack.&lt;/p&gt;&lt;p&gt;Then keep hitting return to take the default values until configuration is complete.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Restart the Application Server&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;To restart the saerver with the new password, go to the Domain Administration menu and select '&lt;strong&gt;Boot this domain&lt;/strong&gt;'.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Change the Process Scheduler Password&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Configure the Process Scheduler&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;First select &lt;strong&gt;Process Scheduler&lt;/strong&gt; from the main menu to got to the Process Scheduler Administration menu.&lt;/p&gt;&lt;p&gt;Select '&lt;strong&gt;Configure a Process Scheduler&lt;/strong&gt;' and choose the database you want to change from the list displayed.&lt;/p&gt;&lt;p&gt;When told 'This option will shutdown the process scheduler. Do you want to continue' answer '&lt;strong&gt;y&lt;/strong&gt;'.&lt;/p&gt;&lt;p&gt;As with the Application server the Startup section will appear early on. When asked, enter '&lt;strong&gt;y&lt;/strong&gt;' when asked 'Do you want to change any values'.&lt;/p&gt;&lt;p&gt;When UserPswd appears enter '&lt;strong&gt;y&lt;/strong&gt;' to change it and enter the new PS or PSAPPS password.&lt;/p&gt;&lt;p&gt;Again I would advise you to encrypt this password, so enter '&lt;strong&gt;y&lt;/strong&gt;' when asked.&lt;/p&gt;&lt;p&gt;Keep hitting return to take the default values until configuration is complete.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Restart the Process Scheduler&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Got to the Process Scheduler Administration screen and select 'Start a Process Scheduler Server'.&lt;/p&gt;&lt;p&gt;Select the apropriate database from the list displayed.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-7132728968160247444?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/7132728968160247444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=7132728968160247444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7132728968160247444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7132728968160247444'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/09/changing-ps-application-server-process.html' title='Changing the PS, Application Server Process Scheduler Password'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-7967207594440853459</id><published>2007-08-28T06:11:00.000-07:00</published><updated>2007-08-28T06:15:25.249-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='T and L'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL to find Rules and associated Application Engine Sections</title><content type='html'>Get the AE Section name from the Rule ID.&lt;br /&gt;&lt;br /&gt;select AE_SECTION&lt;br /&gt;  from PS_TL_RULE_DEFN&lt;br /&gt; where TL_RULE_ID = 'XXX'&lt;br /&gt; &lt;br /&gt;Get the Rule ID from the AE Section name.&lt;br /&gt;&lt;br /&gt;select TL_RULE_ID&lt;br /&gt;  from PS_TL_RULE_DEFN&lt;br /&gt; where AE_SECTION = 'XXX'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-7967207594440853459?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/7967207594440853459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=7967207594440853459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7967207594440853459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7967207594440853459'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/08/sql-to-find-rules-and-associated.html' title='SQL to find Rules and associated Application Engine Sections'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-366601937649582244</id><published>2007-07-17T03:04:00.000-07:00</published><updated>2007-07-17T03:16:40.792-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nationality'/><category scheme='http://www.blogger.com/atom/ns#' term='Citizenship'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><title type='text'>Nationality in PeopleSoft</title><content type='html'>I was recently asked how you could store Nationality in PeopleSoft. Some companies use birth country to hold an employees nationality, which may or may not be the same, but PeopleSoft now allows you to hold this information under Citizenship.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Home &gt; Workforce Administration &gt; Personal Information &gt; Citizenship, Identification Data &gt; Citizenship/Passport&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Under citizenship you can hold country and details of a persons passport.  As an employee can have multiple  countries on this page it also caters for the possibility of dual nationality.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Associated Tables: PS_CITIZENSHIP and PS_CITIZEN_PSSPRT&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note that the same tables are also used to hold citizenship details for dependants.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-366601937649582244?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/366601937649582244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=366601937649582244' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/366601937649582244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/366601937649582244'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/07/nationality-in-peoplesoft.html' title='Nationality in PeopleSoft'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-6919728769698020665</id><published>2007-07-10T01:51:00.001-07:00</published><updated>2009-03-02T07:05:20.764-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='XLAT'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Current XLAT Values for a Field</title><content type='html'>&lt;div id="idOWAReplyText8029" dir="ltr"&gt;The following field selects current active values for a field from the &lt;strong&gt;XLAT&lt;/strong&gt; table.&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-- ---------------&lt;br /&gt;-- Dump XLAT Table&lt;br /&gt;-- ---------------&lt;br /&gt;select XLAT.FIELDVALUE,&lt;br /&gt;       XLAT.XLATLONGNAME,&lt;br /&gt;       XLAT.XLATSHORTNAME&lt;br /&gt;  from XLATTABLE_VW XLAT&lt;br /&gt; where XLAT.FIELDNAME    = 'EMPL_STATUS'&lt;br /&gt;   and XLAT.EFFDT = (select max(XLAT1.EFFDT)&lt;br /&gt;                       from XLATTABLE_VW XLAT1                    &lt;br /&gt;                      where XLAT1.FIELDNAME  = XLAT.FIELDNAME&lt;br /&gt;                        and XLAT1.FIELDVALUE = XLAT.FIELDVALUE&lt;br /&gt;                        and XLAT1.EFFDT &lt;= SYSDATE)&lt;br /&gt;   and XLAT.EFF_STATUS = 'A'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-6919728769698020665?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/6919728769698020665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=6919728769698020665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6919728769698020665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6919728769698020665'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/07/current-xlat-values-for-field.html' title='Current XLAT Values for a Field'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-740517673978292372</id><published>2007-07-09T10:39:00.001-07:00</published><updated>2007-09-13T01:29:38.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Finding The Current Database Name</title><content type='html'>&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Often you want to find out what the database is that you are logged in to. This can be useful when spooling the output of a SQL script to a log file or checking you are in the right environment before executing a script.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Oracle&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;In Oracle you can get the current database name by querying the table v_$database&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;i.e.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;pre&gt;&lt;span class="Apple-style-span"  style="font-family:courier new;"&gt;select name&lt;br /&gt; from sys.v_$databas&lt;/span&gt;e&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SQL Server&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The equivalent way of finding it in SQL Server is to use the function DB_Name.&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;e.g.&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="Apple-style-span"  style="font-family:courier new;"&gt;select DB_Name()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-740517673978292372?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/740517673978292372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=740517673978292372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/740517673978292372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/740517673978292372'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/07/finding-current-database-name.html' title='Finding The Current Database Name'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-8414946939604493730</id><published>2007-07-09T10:38:00.000-07:00</published><updated>2007-07-09T10:44:23.119-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Finding a table name in SQL Server</title><content type='html'>&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;To find a table name in SQL Server query the table &lt;strong&gt;sysobjects&lt;/strong&gt;.&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For example to list all PeopleSoft tables on the system, you could use: -&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;select *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;from sysobjects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;where name like 'PS_%'&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-8414946939604493730?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/8414946939604493730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=8414946939604493730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8414946939604493730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8414946939604493730'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/07/finding-table-name-in-sql-server.html' title='Finding a table name in SQL Server'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-1829315675682805059</id><published>2007-07-06T02:57:00.000-07:00</published><updated>2007-07-06T03:05:34.314-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Timeout'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Payroll Interface'/><category scheme='http://www.blogger.com/atom/ns#' term='Issues'/><title type='text'>PeopleSoft Payroll Interface Timeout Issue</title><content type='html'>I recently came across a problem where a vanilla payroll interface was failing due to a timeout occurring. The error message given was: -&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;13884 08.28.58 300.014 ErrorReturn-&gt; -1 - Child program F:\psoft8\HR88\HR8DEV\CBLBINA\PIPINRUN REMOTEA/MICROSFT/HR8DEV/ASTOLDT/////0/people/%PSWD%/9aec1b63-2af2-11dc-86cf-cbed13adba68 (5568) did not complete in allowed time period (300 seconds). Killing process. (2,-1) At PI_INRUN.2EXPORT.GBL.default.1900-01-01.Step01.OnExecute PCPC:263 Statement:1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On investigation I found that the solution was to change two timeout values in two configuration tables.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;psappsrv.cfg&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;[PSAPPSRV]&lt;br /&gt;;=========================================================================&lt;br /&gt;; Settings for PSAPPSRV&lt;br /&gt;;=========================================================================&lt;br /&gt;&lt;br /&gt;;-------------------------------------------------------------------------&lt;br /&gt;; UBBGEN settings&lt;br /&gt;Min Instances=1&lt;br /&gt;Max Instances=3&lt;br /&gt;Service Timeout=300&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;psprcs.cfg&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;[PSAPPSRV]&lt;br /&gt;;=========================================================================&lt;br /&gt;; Settings for PSAPPSRV&lt;br /&gt;;=========================================================================&lt;br /&gt;&lt;br /&gt;;-------------------------------------------------------------------------&lt;br /&gt;; UBBGEN settings&lt;br /&gt;Min Instances=1&lt;br /&gt;Max Instances=3&lt;br /&gt;Service Timeout=300&lt;br /&gt;&lt;br /&gt;In both instances I changed the timeout value from &lt;strong&gt;300&lt;/strong&gt; to &lt;strong&gt;0&lt;/strong&gt; (no limit) before using &lt;strong&gt;PSADMIN&lt;/strong&gt; to stop and restart the Application Server and Process Scheduler. The net result was that the interface ran to a successful completion when re-run.&lt;br /&gt;&lt;br /&gt;Huzzah!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-1829315675682805059?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/1829315675682805059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=1829315675682805059' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/1829315675682805059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/1829315675682805059'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/07/peoplesoft-payroll-interface-timeout.html' title='PeopleSoft Payroll Interface Timeout Issue'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-1802864114155281902</id><published>2007-07-05T04:46:00.000-07:00</published><updated>2007-07-17T07:04:05.041-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Payroll Interface'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>PeopleSoft Payroll Interface SQL</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:courier new;"&gt;&lt;pre&gt;/****************************************/&lt;br /&gt;/*                                      */&lt;br /&gt;/* Dump the Payroll Interface Run Table */&lt;br /&gt;/*                                      */&lt;br /&gt;/****************************************/&lt;br /&gt;select *&lt;br /&gt;from PS_PI_RUN_TBL&lt;br /&gt;order by PI_RUN_NUM desc&lt;br /&gt;&lt;br /&gt;/*************************/&lt;br /&gt;/*                       */&lt;br /&gt;/* Dump PI Partic table. */&lt;br /&gt;/*                       */&lt;br /&gt;/*************************/&lt;br /&gt;select *&lt;br /&gt;from PS_PI_PARTIC&lt;br /&gt;&lt;br /&gt;/*************************************/&lt;br /&gt;/*                                   */&lt;br /&gt;/* Dump PI Partic table, latest run. */&lt;br /&gt;/*                                   */&lt;br /&gt;/*************************************/&lt;br /&gt;select PIP.*&lt;br /&gt;from PS_PI_RUN_TBL PUN,&lt;br /&gt;     PS_PI_PARTIC  PIP&lt;br /&gt;where PUN.PI_RUN_NUM = (select max(PUN1.PI_RUN_NUM)&lt;br /&gt;                         from PS_PI_RUN_TBL PUN1)&lt;br /&gt; and PUN.PI_RUN_NUM = PIP.PI_RUN_NUM&lt;br /&gt;&lt;br /&gt;/*******************************/&lt;br /&gt;/*                             */&lt;br /&gt;/* Dump PI PARTIC detail table */&lt;br /&gt;/*                             */&lt;br /&gt;/*******************************/&lt;br /&gt;select *&lt;br /&gt;from PS_PI_PARTIC_EXPT&lt;br /&gt;&lt;br /&gt;/********************************************/&lt;br /&gt;/*                                          */&lt;br /&gt;/* Dump PI Partic detail table, latest run. */&lt;br /&gt;/*                                          */&lt;br /&gt;/********************************************/&lt;br /&gt;select PIE.*&lt;br /&gt;from PS_PI_RUN_TBL PUN,&lt;br /&gt;     PS_PI_PARTIC_EXPT PIE&lt;br /&gt;where PUN.PI_RUN_NUM = (select max(PUN1.PI_RUN_NUM)&lt;br /&gt;                         from PS_PI_RUN_TBL PUN1)&lt;br /&gt; and PUN.PI_RUN_NUM = PIE.PI_RUN_NUM&lt;br /&gt;&lt;br /&gt;/***************************************************/&lt;br /&gt;/*                                                 */&lt;br /&gt;/* Dump Pay Calendars associated with a particular */&lt;br /&gt;/* Payroll Interface run.                          */&lt;br /&gt;/*                                                 */&lt;br /&gt;/***************************************************/&lt;br /&gt;select RUN.PI_RUN_NUM,&lt;br /&gt;     CAL.*&lt;br /&gt;from PS_PI_RUN_TBL RUN,&lt;br /&gt;     PS_PAY_CALENDAR CAL&lt;br /&gt;where RUN.PI_RUN_NUM = 999&lt;br /&gt; and RUN.RUN_ID     = CAL.RUN_ID&lt;br /&gt;&lt;br /&gt;/******************************/&lt;br /&gt;/*                            */&lt;br /&gt;/* Dump the PI Empl ID Table. */&lt;br /&gt;/*                            */&lt;br /&gt;/******************************/&lt;br /&gt;select *&lt;br /&gt;from PS_PI_EMPLID_TBL&lt;br /&gt;&lt;br /&gt;/********************************************/&lt;br /&gt;/*                                          */&lt;br /&gt;/* List fields in a Payroll Interface File. */&lt;br /&gt;/*                                          */&lt;br /&gt;/********************************************/&lt;br /&gt;select DEF.PI_FIELD_SEQ,&lt;br /&gt;     DEF.PI_FIELD_ID,&lt;br /&gt;     FLD.DESCR,&lt;br /&gt;     FLD.PI_FIELD_LEN,&lt;br /&gt;     FLD.PS_FIELD1_NM,&lt;br /&gt;     DEF.PI_KEY_FIELD,&lt;br /&gt;     DEF.PI_GROUP_ID&lt;br /&gt;from PS_PI_DEFN_FIELD DEF,&lt;br /&gt;     PS_PI_FIELD_TBL  FLD&lt;br /&gt;where DEF.PI_FILE_ID = 'XXX'&lt;br /&gt; and DEF.EFFDT        = (select max(DEF1.EFFDT)&lt;br /&gt;                           from PS_PI_DEFN_FIELD DEF1&lt;br /&gt;                          where DEF.PI_FILE_ID = DEF1.PI_FILE_ID&lt;br /&gt;                            and DEF1.EFFDT    &lt;= SYSDATE)    and DEF.PI_SYSTEM_ID = FLD.PI_SYSTEM_ID    and DEF.PI_FIELD_ID  = FLD.PI_FIELD_ID    and FLD.EFFDT        = (select max(FLD1.EFFDT)                              from PS_PI_FIELD_TBL FLD1                             where FLD.PI_SYSTEM_ID = FLD1.PI_SYSTEM_ID                               and FLD.PI_FIELD_ID  = FLD1.PI_FIELD_ID                               and FLD1.EFFDT      &lt;= SYSDATE)&lt;br /&gt;&lt;br /&gt;/***************************************************/ &lt;br /&gt;/*                                                 */&lt;br /&gt;/* List interface files that contain a given Field */&lt;br /&gt;/*                                                 */&lt;br /&gt;/***************************************************/&lt;br /&gt;select DEF.PI_FILE_ID,&lt;br /&gt;        DEF.PI_FIELD_SEQ,&lt;br /&gt;        DEF.PI_FIELD_ID,&lt;br /&gt;        FLD.DESCR,&lt;br /&gt;        FLD.PI_FIELD_LEN,&lt;br /&gt;        FLD.PS_FIELD1_NM, &lt;br /&gt;        DEF.PI_KEY_FIELD,&lt;br /&gt;        DEF.PI_GROUP_ID&lt;br /&gt;   from PS_PI_DEFN_FIELD DEF,&lt;br /&gt;        PS_PI_FIELD_TBL  FLD&lt;br /&gt;  where DEF.PI_SYSTEM_ID = 'CHR'&lt;br /&gt;    and DEF.PI_FIELD_ID IN ('E001')&lt;br /&gt;    and DEF.EFFDT        = (select max(DEF1.EFFDT)&lt;br /&gt;                              from PS_PI_DEFN_FIELD DEF1&lt;br /&gt;                             where DEF.PI_FILE_ID = DEF1.PI_FILE_ID&lt;br /&gt;                               and DEF1.EFFDT    &lt;= SYSDATE)&lt;br /&gt;    and DEF.PI_SYSTEM_ID = FLD.PI_SYSTEM_ID&lt;br /&gt;    and DEF.PI_FIELD_ID  = FLD.PI_FIELD_ID&lt;br /&gt;    and FLD.EFFDT        = (select max(FLD1.EFFDT)&lt;br /&gt;                              from PS_PI_FIELD_TBL FLD1&lt;br /&gt;                             where FLD.PI_SYSTEM_ID = FLD1.PI_SYSTEM_ID&lt;br /&gt;                               and FLD.PI_FIELD_ID  = FLD1.PI_FIELD_ID&lt;br /&gt;                               and FLD1.EFFDT      &lt;= SYSDATE) &lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-1802864114155281902?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/1802864114155281902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=1802864114155281902' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/1802864114155281902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/1802864114155281902'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/07/peoplesoft-payroll-interface-sql.html' title='PeopleSoft Payroll Interface SQL'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-8079453409612718858</id><published>2007-07-04T09:56:00.001-07:00</published><updated>2007-07-04T10:12:52.076-07:00</updated><title type='text'>Pizza Pie</title><content type='html'>After completing my two posts on password security (&lt;a href="http://codedlanguages.blogspot.com/2007/06/art-of-creating-password.html"&gt;The Art of Creating a Password&lt;/a&gt; and the imaginatively titled &lt;a href="http://codedlanguages.blogspot.com/2007/06/art-of-creating-password-part-2.html"&gt;The Art of Creating a Password Part 2&lt;/a&gt;), I was inspired to go through my own passwords and make them as strong as possible. Eventually I arrived at the one I use to login to the Dominos Pizza website for my occaisional fix of Pepperoni and Green Peppers, Mushrooms, Olives, Chives. Logging in to my account I attempted to change my existing password, only to be presented with an error message along the lines of you couldn't change your details once an order had been started. E-mailing Dominos technical support I was later told that the only way to change it was to get them to delete my account so that I could create it from scratch with a new password.&lt;br /&gt;&lt;br /&gt;My suspicion is that Dominos not only sponsor the Simpsons, they also hired Homer to design their website.&lt;br /&gt;&lt;br /&gt;Doh!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-8079453409612718858?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/8079453409612718858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=8079453409612718858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8079453409612718858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8079453409612718858'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/07/dominos-pizza.html' title='Pizza Pie'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-6897297940574051428</id><published>2007-06-29T10:20:00.000-07:00</published><updated>2007-07-25T02:30:39.426-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Passwords'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='A-List'/><title type='text'>The Art of Creating a Password Part 2</title><content type='html'>In my last post (cue trumpet solo) I described some techniques you can use to come up with a strong password. A strong password, as opposed to its weedy cousin the weak password who gets sand in his face when kicked to the ground, is very difficult for a hacker to crack and so ideal to protect your valuables on-line. &lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Unfortunately your man of steel password could be as safe as a woman of kleenex if your PC becomes infected by a keylogger. Not someone who cuts down trees and skips and jumps, a key logger is a piece of software that sits on your PC and transmits every keystroke you enter back to the criminal who wrote it. So as you smuggly enter your 15 character super password, with more special characters than an episode of Heroes, a vilain with an even smugger smile on their face could be receiving it on the other side of the world.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;First and foremost, you should protect yourself from spyware and malware in general to the best of your ability (see my post &lt;a href="http://codedlanguages.blogspot.com/2007/06/tinker-tailor-soldier-spyware.html"&gt;Tinker, Taylor, Soldier, Spyware&lt;/a&gt; for details of how to do so). However, even with the best protection in the world, there is still the chance that something slips under your radar. So what do you do?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;The solution to this problem is to use a password manager. A password manager can sidestep keylogging by storing all your passwords in an encrypted file on your PC then entering them via a virtual keyboard. As the keyboard is never used the key logger wouldn't get a sniff of the details you enter. Hurrah !!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Reccomendation&lt;/span&gt;&lt;/div&gt;&lt;div&gt;A few years ago I spent a significant amount of time burning the midnight oil and researching password managers on-line, reading reviews, downloading and using trial versions and ending up with rings round my eyes so I looked like a panda. Finally I settled on a product from Siber Systems called &lt;a href="http://www.roboform.com/"&gt;Roboform&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="FONT-STYLE: italic"&gt;Features&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;The features that sold me on Roboform initially and still have me using the product today are: &lt;/div&gt;&lt;div&gt;&lt;ul id=""&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Security&lt;/span&gt; - Roboform stores your login details in an encrypted file using 256 bit encryption using AES, Blowfish, RC6, 3-DES or 1-DES algorithms. The Pentagon may be able to crack it, but your average hacker probably wont.&lt;/li&gt;&lt;/ul&gt;&lt;ul id=""&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Single Click Web Page Entry&lt;/span&gt; - Roboform has the ability to login to a website with a single click, and to poplulate personal information fields, such as address and phone numbers, again with a single click. It can also fill in card details, warning you when it does so. Again this information is encrypted on your PC and again it wont fall foul of a keylogger.&lt;/li&gt;&lt;/ul&gt;&lt;ul id=""&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Multi-Browser support &lt;/span&gt;- A Roboform plugin works with Firefox and IE. For unsupported browsers you can still use it by drag and dropping your information into the relevant fields on the webpage.&lt;/li&gt;&lt;/ul&gt;&lt;ul id=""&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Safenotes&lt;/span&gt; - Another feature of Roboform is the safenote. A safenote is a free format note that is encrypted using the same algorith as everything else. This means, for example, if there was sensitive information you wished to keep on your PC you could enter it into a safenote to stop it being hacked.&lt;/li&gt;&lt;/ul&gt;&lt;ul id=""&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;On&lt;/span&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;e password to rule them all -&lt;/span&gt; Roboform has one master password which it uses as the encryption key for the data you store. As such you only need to remember a single password to access all your others. This password should be strong and I would reccomend you follow the techniques I previously outlined in &lt;a href="http://codedlanguages.blogspot.com/2007/06/art-of-creating-password.html"&gt;The Art Of Creating A Password&lt;/a&gt;. If you just need to remember one password, make it a good one.&lt;/li&gt;&lt;/ul&gt;&lt;ul id=""&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;A&lt;/span&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;utomatic password generation&lt;/span&gt; - One useful utility included in Roboform is the facility to automatically generate a password. This allows you to specify the length of password you want and the type of characters you want to include (alpha, numeric, special). Press generate and a password is randomly generated to your specification. As you can imagine this tool can provide you with some very strong passwords. As you don't need to remember them you can generate the best possible password that meets the constraints of the account you are logging in to, thus giving you the maximum possible password security.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;All in all I've found Roboform an excellent tool that definitely makes my A-List. There are other features available which you can check out on their website at &lt;a href="http://www.roboform.com/"&gt;http://www.roboform.com/&lt;/a&gt;. My advice would be to download it, try it and then buy it.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-6897297940574051428?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/6897297940574051428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=6897297940574051428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6897297940574051428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6897297940574051428'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/06/art-of-creating-password-part-2.html' title='The Art of Creating a Password Part 2'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-6699599735609401514</id><published>2007-06-28T09:42:00.000-07:00</published><updated>2007-07-25T02:24:14.456-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Passwords'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>The Art of Creating a Password</title><content type='html'>&lt;p class="MsoNormal"&gt;One area of security that hackers regularly exploit is your password. Most people struggle to remember long and complex passwords and so resort to either using short and simple ones, which are easy to crack, or more complex ones that they end up writing it on a postit note generally found attached to their computer monitor.&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;The Ten Password Commandments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;ol id=""&gt;&lt;li&gt;Don't use repeated characters (e.g.&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt; aaaaaaa&lt;/span&gt;), sequences (&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;123456&lt;/span&gt; or &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;abcdefg&lt;/span&gt;) or adjacent keys on your keyboard (e.g. &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;qwerty&lt;/span&gt;) .&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Don't use words found in the dictionary&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Chose a password that is easy to remember to avoid your having to resort to variations of the post-it trick. Note that if you do resort to writing it down then do so in a secure fashion. Consider splitting it up and storing the fragments in different places. Store the written password using an easy to remember code such as adding an offset to the characters in it or reversing it.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Don't share a password between accounts. If a hacker cracks it for one they can use it for any others you've used it for. You may also inadvertently use it on a bogus website where it will be stored and systematically tried against your legitimate acounts.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Incorporate as many keyboard characters on the keyboard as possible (if possible include upper and lower case letters, numbers and special characters). The fewer you use the longer it needs to be to have the same strength.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Your password should be as long as possible (preferably &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;14&lt;/span&gt; characters or more long but &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;8&lt;/span&gt; as a minimum).&lt;/li&gt;&lt;li&gt;It should not the same as your user name, any part of your (or family members) name, birthday or other personal information. Hackers will try variations of these if they can get hold of this information.&lt;/li&gt;&lt;li&gt;Don't store it on the internet or on a network. Don't store it on your PC unless it is encrypted. If a hacker gets at the file containing them then they can use them.&lt;/li&gt;&lt;li&gt;Change your password regularly. The stronger the password you use the less frequently you need to change it.&lt;/li&gt;&lt;li&gt;Don't just use simple letter substitution on a weak password. P@$$W0rd may look strong but password cracking software will often incorporate this kind of letter substitution.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;The third and sixth of these criteria would at first glance appear to be mutually exclusive. Most people struggle to remember a 5 or 6 character password, without traversing the heady realms of passwords that contain ten or more.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold; FONT-STYLE: italic"&gt;Johnny Mnemonic&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;One way around this is to base your password on mnemonic phrase, saying or the lyrics of a song that you remember. Take the first letter of each word in your key phrase, et voilla an instant long password that is easy to remember. Marvelous. &lt;/p&gt;&lt;p class="MsoNormal"&gt;For example take the old Nancy&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;Sinatra song "These Boots are Made for Walking". Taking the first 12 words you get "&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;T&lt;/span&gt;hese &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;b&lt;/span&gt;oots &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;a&lt;/span&gt;re &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;m&lt;/span&gt;ade &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;f&lt;/span&gt;or &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;w&lt;/span&gt;alking &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;a&lt;/span&gt;nd &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;t&lt;/span&gt;hats &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;j&lt;/span&gt;ust &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;w&lt;/span&gt;hat &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;t&lt;/span&gt;hey'll &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;d&lt;/span&gt;o". Taking the first letter of each word gives you the letters "&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;TBAMFWATJWTD&lt;/span&gt;" which to all intents and purposes looks pretty random.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="FONT-STYLE: italic"&gt;Substitute&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;To widen the range of characters used in your password you can now apply the rule that you use and upper case letter for the first letter of each word on your phrase that is greater than two characters long and lower case for the rest. You now get "&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;TBAMFWATJWTd&lt;/span&gt;", not a huge improvement in this example but hey you can always choose a new key phrase. To widen the range of characters even further, consider substituting special characters for certain letters. For example: -&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;ul id=""&gt;&lt;li&gt;'&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;@&lt;/span&gt;' for '&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;a&lt;/span&gt;'&lt;br /&gt;&lt;/li&gt;&lt;li&gt;'&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;8&lt;/span&gt;&lt;span class="Apple-style-span" style=""&gt;'&lt;/span&gt; instead of '&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;B&lt;/span&gt;'&lt;br /&gt;&lt;/li&gt;&lt;li&gt;left bracket '&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;(&lt;/span&gt;' instead of '&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;C&lt;/span&gt;'&lt;br /&gt;&lt;/li&gt;&lt;li&gt;'&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;!'&lt;/span&gt; for an '&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;i&lt;/span&gt;' (invert ! and you get i)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;zero&lt;/span&gt; for '&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;O&lt;/span&gt;' &lt;br /&gt;&lt;/li&gt;&lt;li&gt;'&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;$&lt;/span&gt;' instead of '&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;S&lt;/span&gt;' &lt;br /&gt;&lt;/li&gt;&lt;li&gt;'&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;+&lt;/span&gt;' for '&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;t&lt;/span&gt;'. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Your password would now be "&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;+&lt;/span&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;8AMFWA+JW+d&lt;/span&gt;".&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="FONT-STYLE: italic"&gt;The Specials&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Finally add one or more additional special characters to the mix at predetermined points in your password. For example you could always enter "~" as the third character of your password and "#" your last.. As long as you're consistent you should be able to remember as you key it in. Adding these in would give you "&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;T8A~MFWATJWTd#&lt;/span&gt;" which is pretty strong. Just don't go humming the tune to yourself as you're entering it.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Remember that if you don't use a strong password, then one of these days these hackers are gonna walk all over you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-6699599735609401514?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/6699599735609401514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=6699599735609401514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6699599735609401514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6699599735609401514'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/06/art-of-creating-password.html' title='The Art of Creating a Password'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-712928525386633778</id><published>2007-06-25T08:50:00.000-07:00</published><updated>2007-06-25T10:42:05.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Browsers. Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Safari'/><title type='text'>Just What the Daktari Ordered</title><content type='html'>Apple has released &lt;a href="http://www.apple.com/safari/"&gt;Safari 3.02&lt;/a&gt; this week.  This new version of their beta Windows browser, includes a number of stability and security fixes. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So far I've been quite impressed with  Safari. Loading times for web pages are as fast as a Gazelle in flight and its interface as uncluttered as a water hole with a Lion in residence. Watch this space, it'll soon have other Hippo like pieces of browsing bloatware in its sights.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-712928525386633778?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/712928525386633778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=712928525386633778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/712928525386633778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/712928525386633778'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/06/safari-302-released.html' title='Just What the Daktari Ordered'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-9212436114294522193</id><published>2007-06-12T08:05:00.000-07:00</published><updated>2007-06-28T07:58:05.422-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spyware'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='White Paper'/><title type='text'>Tinker, Tailor, Soldier, Spyware</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-style: italic;"&gt;Combating the Insidious Threat to Your Privacy posed by Spyware&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;What Is Spyware?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Spyware is any software that uses your Internet connection in the background without your knowledge or explicit permission.&lt;br /&gt;&lt;br /&gt;It has the ability to: -&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    Read cookies&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    Scan files on your hard drive&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    Monitor your keystrokes&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    Install other Spyware programs&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    Alter your default home page&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    Send information back to its creator&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;This can result in information theft of sensitive information such as PIN numbers and passwords, reduce the performance of your PC and cause it to become unstable (it is thought that Spyware is the cause of up to 50% of PC crashes). Spyware can also take over your PC using it as a Zombie for such illicit activity as denial of service attacks or propagating spam.&lt;br /&gt;&lt;br /&gt;In general Spyware is produced by a group of people for profit whereas viruses were produced by an individual for kudos.&lt;br /&gt;&lt;br /&gt;Network performance can also be adversely affected by a Spyware attack. For a business the act of tracking down and removing the offending software will lead to disruption and loss of productivity.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Types of Spyware&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Spyware generally fall into one of two categories; &lt;span style="font-weight: bold; font-style: italic;"&gt;Adware&lt;/span&gt;, or &lt;span style="font-weight: bold; font-style: italic;"&gt;Malware&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Adware&lt;/span&gt;&lt;br /&gt;Adware is generally benign and is usually produced by advertising companies. Adware generally generates annoying on-screen advertisements (normally pop-ups).&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;The worst forms hijack links on websites and take you to destinations of your choice. The reason for this is that by artificially inflating the amount of traffic to their websites, your friendly neighbourhood hijacker can command higher advertising revenues. This can be worrying if you've got a child who surfs the net as the destinations routed can be anywhere on the web and pornography companies do make use of Adware in this manner.&lt;br /&gt;&lt;br /&gt;Adware uses cookies to hold details of your browsing habits which are periodically sent to the marketers.&lt;br /&gt;&lt;br /&gt;Although not directly compromising your system in the way that the far more more malign Malware does (see below), such software can cause it to become unstable and have a detrimental effect on its performance.&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Malware&lt;/span&gt;&lt;br /&gt;Malware is an abbreviation of malicious software and is often written to harm your system, much in the way that a virus can. Other forms use key logging to send details of your typing to the perpetrators. This has implications of identity theft and other criminal acts being perpetrated on you. A hacker potentially could use these programs to get your credit or bank card details.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A Growing Threat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Over the past three months, EarthLink and Webroot found more than 29.5 million instances of spyware. This figure equates to an average of nearly 28 spyware items per computer and demonstrates the broad proliferation of spyware." said Cobb. "While most spyware is Adware-related and relatively benign, it's disturbing that over 300,000 of the more serious System Monitors and Trojans were uncovered. This figure represents how real a threat identity theft or system corruption is for users."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Earthlink and Webroot&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Spyware has been around for less time than viruses but is rapidly becoming a greater threat.&lt;br /&gt;&lt;br /&gt;In a recent survey by Earthlink and Webroot an average of 28 pieces of spyware were found on infected PC's. Most were relatively benign Adware, but 300,000 cases of more serious Trojans and System Monitors were found (from 1,062,756 scans).&lt;br /&gt;&lt;br /&gt;It is currently thought that 90% of all computers connected to the internet are infected.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Legal Position on Spyware&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While the legal position regarding viruses is pretty well laid out the legality of Spyware is not.&lt;br /&gt;&lt;br /&gt;Direct advertising companies sometimes use the spurious argument that because a user agrees to the terms and conditions of a piece of software they download, which includes mention of dubious activities in the smallest of small print, they consent to having Spyware running on their machine. Furthermore they state that to legislate against these nefarious products would have a dire effect on the economy. I seem to remember similar arguments were used when the slave trade was abolished, which is ironic considering that the zombification of your PC by some Spyware constitutes a form of cyber slavery.&lt;br /&gt;&lt;br /&gt;The legal position of Spyware in the United States is also murky, in some states it constitutes a criminal activity, in others it doesn’t.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How You Can Get Infected?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Spyware can be installed by clicking on a weblink, opening an attachment in an email or by the payload of a virus. In fact you only have to visit a website, known as drive-by installation, or view a HTML e-mail message to get infected.&lt;br /&gt;&lt;br /&gt;Spyware can also piggyback on the back of a utility you install (such as a P2P file sharing system).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Symptoms of Spyware&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As with any disease there a number of tell tale signs that you've probably got it. Some typical spyware symptoms include: -&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Your browser being hijacked i.e., it takes you to sites other than the ones you type in&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;A repeated, or sudden change, of your browsers home page that you didn't make&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Your being inundated by a plague of pop-up ads&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;New toolbars appearing in your browser you don't expect to see&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Unexpected new icons  appearing in your system tray&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Keys that don’t work properly when pressed (e.g. the 'Tab' key doesn't work or is delayed when used on a Web form to move to the next field)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Poor system performance when saving files or opening programs&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Random error messages appearing&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Steps You Can Take To Avoid Infection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Take Care When Downloading Software &lt;/span&gt;&lt;br /&gt;Be careful what software you download and install on your PC. Only download software from reputable sources.&lt;br /&gt;&lt;br /&gt;Carefully read the &lt;span style="font-weight: bold;"&gt;End User License Agreement&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;EULA&lt;/span&gt;) of any software you plan to download. Often buried within the EULA will be a disclaimer stating something along the lines that&lt;br /&gt;&lt;br /&gt;"...information about you and your browsing habits will be sent to the company's website."&lt;br /&gt;&lt;br /&gt;Spyware mongers take your acceptance of this as giving them Carte Blanche to infect your PC, so be careful.&lt;br /&gt;&lt;br /&gt;If the EULA is hard to find, or understand, or contains a clause like the one shown above, then seriously reconsider installing the software.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Be Wary of Gadgets&lt;/span&gt;&lt;br /&gt;Use the active protection inherent in Anti-Spyware products to help protect your PC (see Anti-Spyware Products below).&lt;br /&gt;&lt;br /&gt;With the advent of Windows Vista the use of Gadgets is becoming more and more prevalent. A gadget is an application that you can embed in a web page that delivers a piece of functionality to the user, such as showing the weather forecast for your area or displaying a digital clock on their webpage.&lt;br /&gt;&lt;br /&gt;Quite often gadgets are created by hobbyists and delivered free of charge. Quite often they will also have a hidden payload of Spyware hidden in their code.&lt;br /&gt;&lt;br /&gt;You can add gadgets to a website you administer or to a blog you post to. The revamped version of Google's homepage, iGoogle, also allows you to add gadgets.&lt;br /&gt;&lt;br /&gt;In Windows Vista you can add gadgets to the windows sidebar. Unlike installing a gadget on a webpage where the Windows &amp; Browser security will stop them accessing your file system, Vista gadgets have full access. That means that they can copy any embedded DLL, file or program to your hard drive. Vista gadgets execute with full system permissions and so can then execute those programs.&lt;br /&gt;&lt;br /&gt;To quote the old saying, there's no such thing as a free lunch. In the case of gadgets the cost of your free lunch may end up being more than a Champagne and Caviar feast at the Ritz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Take Care When Opening Attachments &lt;/span&gt;&lt;br /&gt;If you receive an email with an attachment you are not expecting, the safest course of action is not to open it, and just delete it. If you later find that it was legitimate then you can always arrange to have it resent to you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Ramp Up Your Browser Security&lt;/span&gt;&lt;br /&gt;Ensure that the level of your browser security setting is sufficient to detect unauthorised downloads. In the case of Internet Explorer this should be set to at least '&lt;span style="font-weight: bold; font-style: italic;"&gt;Medium&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;This minimises the risk of drive-by downloads getting their teeth into your system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Turn Off the Preview Pane in your Email Client&lt;/span&gt;&lt;br /&gt;As previously mentioned the mere act of viewing HTML can cause Spyware to be installed. If you automatically view your current email in your email client this could potentially result in infection. To stop this from happening, turn off the preview pane. In MS Outlook on the View menu clicking Preview Pane toggles whether it is displayed or not.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Use a Browser Other Than Internet Explorer&lt;/span&gt;&lt;br /&gt;The main way that Spyware is spread is through your web browser. A lot specifically target vulnerabilities in Internet Explorer, such as ActiveX, so one way of improving your security is to use an alternative web browser, such as &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://www.mozilla.org/projects/firefox/"&gt;Firefox&lt;/a&gt;&lt;/span&gt;, &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt;&lt;/span&gt; or &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://www.apple.com/safari/"&gt;Safari&lt;/a&gt;&lt;/span&gt;. These browsers are not targeted as much as IE. Unfortunately a large number of websites only work using Internet Explorer so you may still need to use it. If this is the case make sure that you upgrade to at least IE7, security in this version was significantly improved.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Add Known Bad sites to IE's Restricted Sites Zone&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;If you are forced to use Internet Explorer it is worth considering blocking known bad websites. To avoid these you can install &lt;a href="http://www.spywarewarrior.com/uiuc/resource.htm"&gt;IE-SPYAD&lt;/a&gt;. This free program adds known bad sites to Internet Explorer's Restricted Sites Zone.&lt;br /&gt;&lt;br /&gt;If you do use it then remember to update it on a regular basis to keep your list up to date.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Screen websites via a Browser Add-on&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;An alternative to blocking known bad sites via IE's restricted zone, which can be technically demanding, is to use a product such as &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://www.firetrust.com/products/sitehound/?q=products/sitehound"&gt;Sitehound&lt;/a&gt;&lt;/span&gt; to alert you before you enter a known bad site.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sitehound is a plug-in for Internet Explorer and Firefox. It works by using a list of known bad sites to check an entered URL against before you are directed there. The basic version of the product is free but requires you to manually update the bad site list. The pay for version does so automatically and also includes other features such as giving additional information about a suspect website.&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Don't Click any Pop-Up Links&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;If a pop-up window appears don’t click any links within it. Doing so may cause the installation of Spyware on your computer. When a pop-up appears, close it by clicking the '&lt;span style="font-weight: bold;"&gt;X&lt;/span&gt;' icon in its title bar.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Don't click on links in Spam&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;If you receive e-mail that claims to offer anti-spyware software, don't click on any of the links in it.  Some of the Anti-Spyware products offered in spam actually install the spyware they claim to protect you from! If you want to install any Anti-Spyware products then a good place to start is with those listed later in this blog&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Use Anti-Spyware Products&lt;/span&gt;&lt;br /&gt;Use the active protection inherent in Anti-Spyware products to help protect your PC (see Anti-Spyware Products below).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Update Your System Regularly&lt;/span&gt;&lt;br /&gt;Use Windows Update regularly to ensure that your operating system and web browser always has the latest patch or security update applied. Configure Windows Update to update automatically.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Use a Hosts File&lt;/span&gt;&lt;br /&gt;A Hosts file allows you to specify an IP address that will be accessed when you enter a specific IP address in your web browser. By creating a file where the IP address for known malicious sites point back at your own computer, you can effectively make it impossible to visit them in the first place thus removing the chance of infection. Host files of this nature can be found on-line.&lt;br /&gt;&lt;br /&gt;It is debatable however how effective this strategy is as Spyware can connect directly to the IP address, and thus circumvent this form of protection.&lt;br /&gt;&lt;br /&gt;As an aside some Spyware modifies the host file as a means of redirecting you to sites of the authors choosing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Consider Using a Program to Check Your E-Mail&lt;/span&gt;&lt;br /&gt;As e-mail is one method that Spyware and viruses can infect your computer you could consider using a product to scan your e-mail for potential threats. One such product, &lt;a href="http://www.mailwasher.net/home"&gt;Mail Washer Pro&lt;/a&gt;, is ostensibly a Spam removal tool but as the emails it screens for can also contain a virus or Spyware, it also provides another line of defence against infection. The preview pane it uses just shows the message in plain text so allows you to safely check your mail before you download it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Detecting Spyware&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Network and systems administrators can detect Spyware by: -&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Capturing and studying network transmissions for suspicious packets using a network analyser.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Using the Netstat utility to monitor all ports. This is a TCP/IP application that reads network data structures. It can be used to find any suspicious ports open on your PC; they can then conduct a Web-based search on any suspect ports which may reveal the existence of Spyware. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;There are also a number of third party products that can be used to scan your ports and provide a graphical interface (e.g. &lt;a href="http://www.freshsoftware.com/xns/pro/"&gt;X-NetStat&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;A more effective means of detecting Spyware is to use a dedicated Anti-Spyware application.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Anti-Spyware Applications&lt;/span&gt;&lt;br /&gt;Some anti-virus products profess to also protect your computer against Spyware but the truth of the matter is that none of them do a very good job of it. To protect yourself properly from Spyware you should run a dedicated anti-Spyware product.&lt;br /&gt;&lt;br /&gt;The pick of the crop of products at time of going to press are: -&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Freeware&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;&lt;a href="http://www.microsoft.com/athome/security/spyware/software/default.mspx"&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    Windows Defender&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;a href="http://www.lavasoftusa.com/download_and_buy/product_comparison_chart.php?PHPSESSID=c7cdc093b97d6c2aa952eb2b9625b78d"&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Ad-aware&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;a href="http://www.safer-networking.org/en/index.html"&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    Spybot Search and Destroy&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Commercial Products&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;    &lt;a href="http://www.pctools.com/spyware-doctor/"&gt;&lt;span style="font-weight: bold;"&gt;Spyware Doctor&lt;/span&gt;&lt;/a&gt; - Spyware Doctor has consistently topped the ratings in reviews of anti-Spyware products and has a detection rate of around 97%. Another advantage of Spyware Doctor is that updates for new threats are made available for download within days (or in some cases hours) of the threat being identified. In the case of some well known products, it can be a week or more before countermeasures are made available.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;As well as scanning for Spyware some products, generally the ones you have to pay for, also provide active defence to stop your PC getting infected in the first place. These active defences, although not 100% reliable, do provide some protection and are therefore recommended. The only downside to running active defence is you may find some degradation in performance.&lt;br /&gt;&lt;br /&gt;One thing I would recommend is periodically scanning with more than one anti-Spyware tool. Even the best software won’t detect all current Spyware, so by scanning with more than one product you increase the chances of finding it. A combination of the current best commercial and the best of the free ones run on a regular basis will give you the best protection.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Keep Your Spyware Product Up-to-date&lt;/span&gt;&lt;br /&gt;Update your Spyware signatures on a daily basis.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Scan Your PC for Spyware Often&lt;/span&gt;&lt;br /&gt;You should perform a full Spyware Scan at least once or twice a week. In addition to this, if you have the option, configure your product to scan key areas on a daily basis, if possible on start-up.&lt;br /&gt;&lt;br /&gt;Sometimes Spyware can mask itself during start-up making it difficult to detect and remove. To counter this, you should periodically run a full scan in &lt;span style="font-weight: bold;"&gt;Safe Mode&lt;/span&gt;. Safe Mode can be accessed by repeatedly pressing the &lt;span style="font-weight: bold;"&gt;F5&lt;/span&gt; key (or on some systems &lt;span style="font-weight: bold;"&gt;F8&lt;/span&gt;) during the boot sequence.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;False Alarms&lt;/span&gt;&lt;br /&gt;Anti-Spyware programs use the following methods for detecting Spyware: -&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;   They contain a list of known Spyware which the use to compare against;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;   They detect suspicious activity including Windows registry entries that are out of place, suspicious network connections and programs that exhibit suspicious behavior.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Sometimes they can falsely report a valid application as being Spyware. Always check any reports produced and make sure you don’t accidentally remove legitimate software.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Blocking Spyware Transmissions Using a Firewall&lt;/span&gt;&lt;br /&gt;As previously mentioned, Spyware sends information back to its creator. Running a firewall, such as &lt;a href="http://www.zonealarm.com/store/content/catalog/products/sku_list_zap.jsp?dc=34std&amp;ctry=&amp;amp;lang=en&amp;lid=ho_zap"&gt;Zone Alarm&lt;/a&gt;, not only stops unwanted intrusions getting in, but can also stop unsolicited transmissions getting out.&lt;br /&gt;&lt;br /&gt;By configuring your firewall to only give internet access to legitimate applications you run, you can deny any Spyware that has managed to evade your defences the ability to accomplish its objective.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Some Useful Web Sites&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;For further reading on the subject, check out the following websites.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;a href="http://www.spywarewarrior.com/"&gt;Spyware Warrior&lt;/a&gt;&lt;/span&gt; - Spyware Warrior lists free and pay for software. It also lists bogus spyware that, when installed, spy on you.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;a href="http://www.spywareinfo.com/"&gt;Spywareinfo&lt;/a&gt;&lt;/span&gt; - this site has a number of spyware forums where experts in the area participate. As such it provides a good port of call should you have any questions.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;a href="http://www.malwareremoval.com/"&gt;Malware Removal&lt;/a&gt;&lt;/span&gt; - a site with a number of Malware related forums. It also has some useful downloads that help you remove some specific Malware infections.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Conclusion&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=";font-family:arial;font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Today most individuals and organizations measures in place to deal with the threat posed by viruses; they should also invest in separate countermeasures to combat the rise of Spyware.&lt;br /&gt;&lt;br /&gt;Failure to do some can harm your efficiency, reputation, productivity and ultimately, your financial wellbeing.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-9212436114294522193?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/9212436114294522193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=9212436114294522193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/9212436114294522193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/9212436114294522193'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/06/tinker-tailor-soldier-spyware.html' title='Tinker, Tailor, Soldier, Spyware'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-8506327188879974037</id><published>2007-05-24T03:26:00.000-07:00</published><updated>2007-08-03T07:01:41.379-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='System Tables'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Roles, Permission Lists &amp; Components</title><content type='html'>The following SQL identifies which roles/permission lists a user has to access a given component.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;select RUSR.OPRID,&lt;br /&gt;       RUSR.ROLENAME,&lt;br /&gt;       RCL.CLASSID,&lt;br /&gt;       MNU.MENUNAME,&lt;br /&gt;       CMP.PNLGRPNAME&lt;br /&gt;  from PSROLEUSER_VW RUSR,&lt;br /&gt;       PSROLECLASS RCL,&lt;br /&gt;       PS_PSACLMENU_VW2 MNU,&lt;br /&gt;       PS_ACLCOMPONENT_V2 CMP&lt;br /&gt; where RUSR.ROLENAME  = RCL.ROLENAME&lt;br /&gt;   and RUSR.OPRID     = 'oprid'&lt;br /&gt;   and RCL.CLASSID    = MNU.CLASSID&lt;br /&gt;   and MNU.MENUNAME   = CMP.MENUNAME&lt;br /&gt;   and CMP.PNLGRPNAME = 'component'&lt;br /&gt; order by MNU.CLASSID&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;SQL to find out which roles have a particular permission list.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;select distinct RCL.ROLENAME,&lt;br /&gt;                RCL.CLASSID&lt;br /&gt;           from PSROLEUSER_VW  RUSR,&lt;br /&gt;                PSROLECLASS  RCL&lt;br /&gt;          where RCL.CLASSID = 'TYALLPLS'&lt;br /&gt;       order by RCL.ROLENAME&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;SQL to list users assigned to a particualr role.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;select *&lt;br /&gt;  from PSROLEUSER_VW RUSR&lt;br /&gt; where RUSR.ROLENAME = '&lt;span style="font-style:italic;"&gt;Rolename&lt;/span&gt;'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-8506327188879974037?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/8506327188879974037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=8506327188879974037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8506327188879974037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8506327188879974037'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/roles-permission-lists-components.html' title='Roles, Permission Lists &amp; Components'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-1218294455457346838</id><published>2007-05-23T06:03:00.000-07:00</published><updated>2007-07-09T06:24:06.351-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Current Job Row</title><content type='html'>&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;I know I can enter the job effective dating code in my sleep, but the following, with a few amendments as needed, should save some time in the future.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select JOB.EMPLID, JOB.EMPL_RCD, JOB.EFFDT, JOB.EFFSEQ, JOB.ACTION, JOB.ACTION_REASON, JOB.EMPL_STATUS, JOB.BUSINESS_UNIT, JOB.COMPANY, JOB.PAYGROUP from PS_JOB JOB where JOB.EFFDT = (select max(JOB1.EFFDT) from PS_JOB JOB1 where JOB.EMPLID = JOB1.EMPLID and JOB.EMPL_RCD = JOB1.EMPL_RCD and JOB1.EFFDT &lt;= SYSDATE) and JOB.EFFSEQ = (select max(JOB2.EFFSEQ) from PS_JOB JOB2 where JOB.EMPLID = JOB2.EMPLID and JOB.EMPL_RCD = JOB2.EMPL_RCD and JOB.EFFDT = JOB2.EFFDT)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;em&gt;Note: The above example is for Oracle, if using SQL Server change SYSDATE to GetDate().&lt;/em&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-1218294455457346838?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/1218294455457346838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=1218294455457346838' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/1218294455457346838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/1218294455457346838'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/current-job-row.html' title='Current Job Row'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-8213093587099127866</id><published>2007-05-21T05:33:00.000-07:00</published><updated>2007-09-11T02:23:13.550-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='System Tables. Security'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Query Security Record SQL</title><content type='html'>The following SQL identifes which PeopleSoft records use a particular Query Security Record.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; RECNAME&lt;br /&gt;from PSRECDEFN&lt;br /&gt;where QRYSECRECNAME = '&lt;em&gt;query security record&lt;/em&gt;' &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-8213093587099127866?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/8213093587099127866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=8213093587099127866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8213093587099127866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/8213093587099127866'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/query-security-record-sql.html' title='Query Security Record SQL'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-807414596276507053</id><published>2007-05-08T04:57:00.000-07:00</published><updated>2007-05-08T05:03:20.119-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL to find a Field in PeopleSoft</title><content type='html'>&lt;span style="font-family:arial;"&gt;This script lists all the tables that contain a given field in PeopleSoft. Just replace &lt;em&gt;&lt;strong&gt;fieldname&lt;/strong&gt;&lt;/em&gt; with the name of the field you want to find.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SELECT A.RECNAME, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;B.SQLTABLENAME&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FROM PSRECFIELD A,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PSRECDEFN  B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;WHERE A.FIELDNAME = '&lt;em&gt;&lt;strong&gt;fieldname&lt;/strong&gt;&lt;/em&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AND A.RECNAME  = B.RECNAME &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AND B.RECTYPE   = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AND B.RECNAME NOT LIKE 'AUDIT%' &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AND B.RECNAME NOT LIKE '%TEO%'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AND B.RECNAME NOT LIKE '%AET'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AND B.RECNAME NOT LIKE '%TAO%'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AND B.RECNAME NOT LIKE '%PERS%'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AND B.RECNAME &lt;&gt; 'PSOPRALIAS'&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-807414596276507053?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/807414596276507053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=807414596276507053' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/807414596276507053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/807414596276507053'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/sql-to-find-field-in-peoplesoft.html' title='SQL to find a Field in PeopleSoft'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-1290068932698602450</id><published>2007-05-08T04:39:00.000-07:00</published><updated>2007-05-08T04:54:24.168-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleCode'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='How To'/><title type='text'>How to Automatically Select Jobs on the Run Panel in PeopleSoft</title><content type='html'>&lt;span style="font-family:arial;"&gt;To automatically select a job for running on the run panel in PeopleSoft add some PeopleCode to the RowInit event&lt;/span&gt;&lt;span style="font-family:arial;"&gt; PRCSRQSTDLG_WRK.SELECT_FLAG to set this field.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;e.g.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Evaluate %Component&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;When "&lt;em&gt;COMPONENT_NAME_1&lt;/em&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SELECT_FLAG = "Y"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;When "&lt;em&gt;COMPONENT_NAME_2&lt;/em&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SELECT_FLAG = "N"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;End-Evaluate;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-1290068932698602450?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/1290068932698602450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=1290068932698602450' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/1290068932698602450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/1290068932698602450'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/how-to-automatically-select-jobs-on-run.html' title='How to Automatically Select Jobs on the Run Panel in PeopleSoft'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-5396413954463138685</id><published>2007-05-08T04:06:00.000-07:00</published><updated>2007-05-08T09:44:30.809-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBA'/><category scheme='http://www.blogger.com/atom/ns#' term='Functions'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='How To'/><category scheme='http://www.blogger.com/atom/ns#' term='Ratio'/><title type='text'>Things You Do In Your Lunch Break - How to get the Ratio between two numbers in Excel</title><content type='html'>A while ago I was asked how to get the ratio between two numbers in Excel. One lunchbreak and two VBA functions later, this is what I came up with.&lt;br /&gt;&lt;br /&gt;I ended up creating two functions. One returns the highest common denominator for two numbers HighDenom and the second, Ratio, returns a string of the ratio between two numbers (e.g. 5:1).&lt;br /&gt;&lt;br /&gt;First off you need to add a couple of functions to your spreadsheet...&lt;br /&gt;&lt;br /&gt;1. Open the workbook you're working on&lt;br /&gt;&lt;br /&gt;2. Go into VBA (Alt+F11)&lt;br /&gt;&lt;br /&gt;3. Insert a new module (Insert &gt; Module)&lt;br /&gt;&lt;br /&gt;4. Paste the following 2 functions into your module: -&lt;br /&gt;&lt;br /&gt;Public Function HighDenom(intNum1 As Integer, intNum2 AsInteger) As Integer&lt;br /&gt;&lt;br /&gt;' This procedure returns the Highest common denominator fortwo numbers.&lt;br /&gt;&lt;br /&gt;If intNum1 &gt; intNum2 Then&lt;br /&gt;intMax = intNum1&lt;br /&gt;Else intMax = intNum2&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;For i = intMax To 1 Step -1&lt;br /&gt;If (intNum1 / i = Int(intNum1 / i) And (intNum2 / i =Int(intNum2 / i))) Then&lt;br /&gt;HighDenom = i&lt;br /&gt;Exit Function&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Public Function Ratio(intNum1 As Integer, intNum2 AsInteger) As String&lt;br /&gt;&lt;br /&gt;' This procedure returns the Highest common denominator fortwo numbers.&lt;br /&gt;&lt;br /&gt;intHD = HighDenom(intNum1, intNum2)&lt;br /&gt;intDiv1 = intNum1 / intHDintDiv2 = intNum2 / intHD&lt;br /&gt;Ratio = intDiv1 &amp; ":" &amp;amp; intDiv2&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;5. Get out of VBA (Press Alt+Q)&lt;br /&gt;&lt;br /&gt;6. Use the functions (They will appear in the Paste Function dialogbox (Shift+F3) under the "User Defined" category.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-5396413954463138685?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/5396413954463138685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=5396413954463138685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5396413954463138685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/5396413954463138685'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/how-to-get-ratio-between-two-numbers-in.html' title='Things You Do In Your Lunch Break - How to get the Ratio between two numbers in Excel'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-6366738603578519011</id><published>2007-05-08T03:33:00.000-07:00</published><updated>2007-05-08T03:45:34.823-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleCode'/><category scheme='http://www.blogger.com/atom/ns#' term='Prompt Table'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='How To'/><title type='text'>How to use %RECNAME_EDIT as a Prompt Table</title><content type='html'>&lt;p&gt;Sometimes in PeopleSoft you want to be able to vary the contents of a drop down list. For example you may want to only give the user the choice of selecting departments for a particular division.&lt;br /&gt;&lt;br /&gt;You could do this by having a controlling field that is a high level key in the lookup table. PeopleSoft’s use of Set IDs utilises this method to restrict values based on their Set ID.&lt;br /&gt;&lt;br /&gt;On occasion though, you may need to be able to dynamically change your values on the fly. For example you may have a radio button on a page that you use to control the values displayed in a drop down list. One way of doing this is to use &lt;strong&gt;%RECNAME_EDIT &lt;/strong&gt;functionality.&lt;br /&gt;&lt;br /&gt;In this technique you specify a field as the prompt then set its value in PeopleCode to the name of the table you want to use as your prompt table.&lt;br /&gt;&lt;br /&gt;First off set the Prompt Table for the field you want to display values for to &lt;strong&gt;%&lt;em&gt;fieldname&lt;/em&gt;&lt;/strong&gt; where &lt;strong&gt;&lt;em&gt;fieldname&lt;/em&gt;&lt;/strong&gt; is the name of the field you are going to set in your PeopleCode. For example PeopleSoft often use &lt;strong&gt;%RECNAME_EDIT&lt;/strong&gt;. &lt;strong&gt;RECNAME_EDIT&lt;/strong&gt; is a field in the &lt;strong&gt;DERIVED&lt;/strong&gt; table.&lt;br /&gt;&lt;br /&gt;Second, add your edit field to the page or pages that contain your dropdown field making it display only and invisible. For example if you used a prompt of &lt;strong&gt;%RECNAME_EDIT&lt;/strong&gt; you could add &lt;strong&gt;RECNAME&lt;/strong&gt; from the &lt;strong&gt;DERIVED&lt;/strong&gt; record to the page.&lt;br /&gt;&lt;br /&gt;Finally add some PeopleCode to set the value of this field to the actual name of the prompt table.&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;If (condition) Then&lt;br /&gt;DERIVED.RECNAME_EDIT = "A_VIEW_VW";&lt;br /&gt;Else&lt;br /&gt;DERIVED.RECNAME_EDIT = "B_VIEW_VW";&lt;br /&gt;End-If;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This can be done in Page PeopleCode, Component PeopleCode or FieldChange PeopleCode on a controlling field.&lt;/p&gt;&lt;p&gt;Thanks to &lt;a href="http://www.gavaghan.co.uk/"&gt;Kevin Gavaghan&lt;/a&gt; for giving me a heads up on this technique a while back.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-6366738603578519011?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/6366738603578519011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=6366738603578519011' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6366738603578519011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6366738603578519011'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/recnameedit.html' title='How to use %RECNAME_EDIT as a Prompt Table'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-6829310866841172252</id><published>2007-05-04T09:17:00.000-07:00</published><updated>2007-05-04T09:25:55.486-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='iGoogle'/><title type='text'>Add to Google</title><content type='html'>One neat thing you can do with &lt;a href="http://georgeternent.blogspot.com/2007/05/i-gooleus.html"&gt;iGoogle&lt;/a&gt; is add a feed to a blog to your page. As a blogger, in order to facilitate this you need to add a button to your blog that the reader can press to add it.&lt;br /&gt;&lt;br /&gt;To create this button on your blog: -&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Go to the following page &lt;a href="http://www.google.co.uk/webmasters/add.html"&gt;http://www.google.co.uk/webmasters/add.html&lt;/a&gt;  and enter your feed URL(e.g. http://feeds.feedburner.com/TheGeorgeLiteZone?format=xml) in the box.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;Press the &lt;span style="font-weight: bold;"&gt;Create HTML&lt;/span&gt; button.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;Copy the HTML generated.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;In Blogger add a new HTML/Javascript page element, or open an existing one.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;Paste in the HTML you copied.&lt;/li&gt;&lt;/ul&gt; Est voilla, a nifty little &lt;span style="font-weight: bold;"&gt;Add To Google &lt;/span&gt;button will appear as though by magic on your blog. Now anyone visiting it can add your blog to their iGoogle page. Fantastic.&lt;br /&gt;&lt;br /&gt;Now to follow my own instructions to add a button to Coded Languages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-6829310866841172252?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/6829310866841172252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=6829310866841172252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6829310866841172252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6829310866841172252'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/add-to-google.html' title='Add to Google'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-7604583411635263518</id><published>2007-05-04T05:51:00.000-07:00</published><updated>2009-05-08T06:53:19.126-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Query Tree'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SQL'/><title type='text'>Query Tree Security SQL</title><content type='html'>&lt;span style="font-family:arial;"&gt;Query Trees are assigned to a permission list in PeopleSoft under the &lt;span style="FONT-WEIGHT: bold"&gt;Query&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold"&gt; tab&lt;/span&gt; of: -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PeopleTools &gt; Security &gt; Permissions and Roles &gt; &lt;span style="FONT-WEIGHT: bold"&gt;Permission Lists&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Working out who's got access to what query trees can be a bit of a nightmare manually searching through each permission list in turn. To that end, the following piece of SQL is quite useful in establishing which roles have access to a particular query tree or trees.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select distinct ROL.ROLENAME,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ROL.CLASSID,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SAG.TREE_NAME&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;from PSROLECLASS ROL,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PS_SCRTY_ACC_GRP SAG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;where ROL.CLASSID = SAG.CLASSID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;and SAG.TREE_NAME in (&lt;span style="FONT-STYLE: italic"&gt;Query Tree List&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;To see which query trees a particular user has access to, use: -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;select distinct USR.ROLENAME,&lt;br /&gt;ROL.CLASSID,&lt;br /&gt;SAG.TREE_NAME&lt;br /&gt;from PSROLEUSER_VW USR,&lt;br /&gt;PSROLECLASS ROL,&lt;br /&gt;PS_SCRTY_ACC_GRP SAG&lt;br /&gt;where USR.OPRID = '&lt;span style="FONT-STYLE: italic"&gt;Operator ID&lt;/span&gt;'&lt;br /&gt;and USR.ROLENAME = ROL.ROLENAME&lt;br /&gt;and ROL.CLASSID = SAG.CLASSID&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;To see which users have access to a particular query tree: -&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select distinct ROL.ROLENAME,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;OPR.OPRDEFNDESC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;from PSROLECLASS ROL,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PS_SCRTY_ACC_GRP SAG,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PSROLEUSER_VW USR,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PSOPRDEFN OPR&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;where ROL.CLASSID = SAG.CLASSID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;and SAG.TREE_NAME = 'QRY_TMUK_ALL'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;and ROL.ROLENAME = USR.ROLENAME&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;and USR.OPRID = OPR.OPRID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;order by ROLENAME, OPR.OPRDEFNDESC&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-7604583411635263518?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/7604583411635263518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=7604583411635263518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7604583411635263518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7604583411635263518'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/05/query-tree-security-sql.html' title='Query Tree Security SQL'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-7783220662337077659</id><published>2007-04-20T08:07:00.000-07:00</published><updated>2007-05-08T03:48:39.953-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='How To'/><category scheme='http://www.blogger.com/atom/ns#' term='Feedburner'/><category scheme='http://www.blogger.com/atom/ns#' term='Feeds'/><title type='text'>How To Add A Feed to your Blogger Blog</title><content type='html'>&lt;div align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_Lm5-pPyLn2o/Rijq__xBPHI/AAAAAAAAADI/Brwj0xUdblk/s1600-h/RSS+Feeds.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5055548966893075570" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; CURSOR: pointer" alt="" src="http://bp2.blogger.com/_Lm5-pPyLn2o/Rijq__xBPHI/AAAAAAAAADI/Brwj0xUdblk/s200/RSS+Feeds.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's official, news aggregaters are great. They're a one stop place where you can check on a host of websites that are of interest to you, and quickly see updates that have been added.&lt;br /&gt;Thus saving lots of time you can utilise by drinking cups of tea and randomly surfing other sites that aren't on your interest radar.&lt;br /&gt;&lt;br /&gt;Later versions of browsers like IE and Firefox allow you to subscribe to a sites feeds from the browser itself and again get your info served up on a plate, with a couple of waffer thin mints on the side.&lt;br /&gt;&lt;br /&gt;As such if you've got a blog yourself, then it's not a bad idea to give your readership (both of them) the opportunity to subscribe to your site by adding a link. The following simple bite sized instructions tell you how you can do this from blogger using Feedburner.&lt;br /&gt;Go to your blog and copy its URL to the clipboard (&lt;span style="FONT-WEIGHT: bold"&gt;&lt;ctrl&gt;Control+C&lt;/ctrl&gt;&lt;/span&gt; is always a good bet for this). &lt;/div&gt;&lt;ol&gt;&lt;li&gt;Go to the Feedburner website at &lt;a href="http://www.feedburner.com/"&gt;http://www.feedburner.com&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;In the shaded box under the imaginative heading &lt;span style="font-size:100%;"&gt;"&lt;span style="FONT-WEIGHT: bold"&gt;Start FeedBurning Now&lt;/span&gt;" paste your URL.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click the &lt;span style="FONT-WEIGHT: bold"&gt;Next&lt;/span&gt;&gt;&gt; button.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;On the identify feed source page displayed select one of the sources displayed. As an RSS fan, I'm going with the RSS one for this example. For those of you who don't know their RSS from their elbow, &lt;a href="http://en.wikipedia.org/wiki/RSS"&gt;RSS&lt;/a&gt; stands for Really Simple Syndication. No really, it does. You can also repeat the process for Atom later if you want.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click &lt;span style="FONT-WEIGHT: bold"&gt;Next&gt;&gt;&lt;/span&gt; again.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;After tinkering with your feed description and address, or not if life's too short, do one of two things. Either, create an account by filling in a &lt;span style="FONT-WEIGHT: bold"&gt;username&lt;/span&gt;, &lt;span style="FONT-WEIGHT: bold"&gt;password&lt;/span&gt; and &lt;span style="FONT-WEIGHT: bold"&gt;e-mail address&lt;/span&gt;; or login using an existing Feedburner account if you've already got one. If you've already got one you probably don't need to be reading these instructions, but hey.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click &lt;span style="FONT-WEIGHT: bold"&gt;Activate Feed&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click &lt;span style="FONT-WEIGHT: bold"&gt;Skip directly to feed management&lt;/span&gt;. You can always refine your feed options later.&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Click on the &lt;span style="FONT-WEIGHT: bold"&gt;Publicize tab&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Under &lt;/span&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Make it Easy to Subscribe&lt;/span&gt; click on the &lt;span style="FONT-WEIGHT: bold"&gt;friendly graphic&lt;/span&gt; link (below the bullet point &lt;span style="FONT-WEIGHT: bold"&gt;Chickletize your website&lt;/span&gt;).&lt;/li&gt;&lt;li&gt;Choose a feed icon (I always prefer the wee one)&lt;/li&gt;&lt;li&gt;Scroll to the bottom of the page&lt;/li&gt;&lt;li&gt;Under &lt;span style="FONT-WEIGHT: bold"&gt;Use as a widget in&lt;/span&gt; select &lt;span style="FONT-WEIGHT: bold"&gt;Blogger&lt;/span&gt; from the drop down list.&lt;/li&gt;&lt;li&gt;Press &lt;span style="FONT-WEIGHT: bold"&gt;Go!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;You are now directed to the &lt;span style="FONT-WEIGHT: bold"&gt;Add Page Element &lt;/span&gt;page of your blog. If you have multiple blogs, select the one you are burning a feed for.&lt;/li&gt;&lt;li&gt;Press the &lt;span style="FONT-WEIGHT: bold"&gt;Add Widget&lt;/span&gt; button.&lt;/li&gt;&lt;li&gt;Position your subscripew now widget where you want it, and press &lt;span style="FONT-WEIGHT: bold"&gt;Save&lt;/span&gt;.&lt;/li&gt;&lt;/ol&gt;Congratulations, you've now got a feed on your blog. Have a cup of tea to celebrate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-7783220662337077659?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/7783220662337077659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=7783220662337077659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7783220662337077659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/7783220662337077659'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/04/adding-feed-link-to-your-blogger-blog.html' title='How To Add A Feed to your Blogger Blog'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_Lm5-pPyLn2o/Rijq__xBPHI/AAAAAAAAADI/Brwj0xUdblk/s72-c/RSS+Feeds.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-6713085669421667558</id><published>2007-04-18T16:08:00.000-07:00</published><updated>2009-10-08T05:43:52.542-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spooling'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SQL'/><title type='text'>Spooling Your Output</title><content type='html'>&lt;span style="font-family:arial;"&gt;When writing SQL scripts in a production environment it's always a good idea to spool the fruits of your labor to a log file when it is run. It also gives you the opportunity to wear your "I Told You So" teeshirt when someone denies you've run something.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Selecting the database name from &lt;span style="FONT-WEIGHT: bold"&gt;sys.v_$database&lt;/span&gt; also gives you the warm feeling that you've run your deletion script in a development environment and not accidentally against production when you review your log file. Alternatively it could give you a more localised warm feeling down your trouser leg if you find out it's the other way round !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The &lt;span style="font-family:courier new;"&gt;set pagesize 0&lt;/span&gt; command formats your SQL output better so you get one continuous page rather than giving you reams of headers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-family:courier new;"&gt;set timing on&lt;/span&gt; statement gives you timings for the SQL being run. This gives future runners of the script an idea of how long the SQL takes, which can bu useful, especially when running it in production.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;whenever SQLERROR exit failure;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;spool "/filename" &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;set echo on;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;set feedback on;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;set verify on;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;set pagesize 0;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;set termout on;&lt;br /&gt;set timing on;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select name from sys.v_$database;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/************************/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/* Insert your SQL here */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/************************/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;spool off;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-6713085669421667558?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/6713085669421667558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=6713085669421667558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6713085669421667558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/6713085669421667558'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/04/spooling-your-output.html' title='Spooling Your Output'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7797473351477186751.post-3110454826436145524</id><published>2007-04-18T16:01:00.000-07:00</published><updated>2007-04-18T16:05:41.734-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Set Current Schema</title><content type='html'>I always forget the syntax for setting the current schema in Oracle. Then again that's why the great &lt;a href="http://www.venganza.org/"&gt;Flying Spaghetti Monster&lt;/a&gt; created blogs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;alter session set current_schema = sysadm&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7797473351477186751-3110454826436145524?l=codedlanguages.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codedlanguages.blogspot.com/feeds/3110454826436145524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7797473351477186751&amp;postID=3110454826436145524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3110454826436145524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7797473351477186751/posts/default/3110454826436145524'/><link rel='alternate' type='text/html' href='http://codedlanguages.blogspot.com/2007/04/set-current-schema.html' title='Set Current Schema'/><author><name>George Ternent</name><uri>http://www.blogger.com/profile/16909023470348558490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/-ssaaQZjQy-U/TrseQutk0ZI/AAAAAAAABMs/dRbUx0eKuz4/s220/G.jpg'/></author><thr:total>0</thr:total></entry></feed>
