<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-14676403</id><updated>2008-07-05T17:11:10.392-07:00</updated><title type='text'>Grey Sparling PeopleSoft Expert's Corner</title><link rel='alternate' type='text/html' href='http://blog.greysparling.com/index.htm'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default?start-index=26&amp;max-results=25'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml'/><author><name>Brian Sparling</name><uri>http://www.blogger.com/profile/09742199561614649327</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>167</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14676403.post-5728386172847036306</id><published>2008-07-05T15:50:00.000-07:00</published><updated>2008-07-05T17:11:10.483-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleCode'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Casting Java objects in PeopleCode</title><content type='html'>When using PeopleCode and Java mixed together, one thing that will cause problems for you is the inability to do any casting of Java objects from the PeopleCode side. For example, if you were storing some Java objects in a HashMap.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Local JavaObject &amp;amp;map = CreateJavaObject("java.util.HashMap");&lt;br /&gt;Local JavaObject &amp;amp;int = CreateJavaObject("java.lang.Integer", 28);&lt;br /&gt;&amp;amp;map.put("TEST", &amp;amp;int);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Later on, when you want to get the object back out and use it for something&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Local JavaObject &amp;amp;int2 = &lt;/code&gt;&lt;code&gt;&amp;amp;map.get("TEST");&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Warning(&amp;amp;int2.intValue());&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You'll get an error "Java method intValue not found for class java.lang.Object.".&lt;br /&gt;&lt;br /&gt;This is because the PeopleCode runtime is using the return type for the "&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html#get%28java.lang.Object%29"&gt;get&lt;/a&gt;" method on the &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html"&gt;HashMap&lt;/a&gt; object to decide what object it has.  Fair enough,  that's how Java works as well.  If you're writing Java, you'd do something like this.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Integer int2 = (Integer)map.get("TEST");&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The (Integer) part changes (or casts) the returned value of the get method from java.lang.Object to Integer.  Unfortunately, there is no way to do this in PeopleCode, so you'd have to write (and distribute to the application servers) some Java glue code that could handle the casting, but that's a bit of a headache. &lt;br /&gt;&lt;br /&gt;We've shown in &lt;a href="http://blog.greysparling.com/2006/08/java-and-peoplecode-tips-and-tricks.html"&gt;previous blog entries&lt;/a&gt; how to use Java reflection from PeopleCode to work around this, but Java 5 brings a new option for us to try.  PeopleTools 8.49 (the current version of PeopleTools as of the moment) is the first version of PeopleTools to use Java 5.&lt;br /&gt;&lt;br /&gt;As a side note,  &lt;a href="http://java.sun.com/j2se/1.4.2/"&gt;Java 1.4 end of life&lt;/a&gt; is October 30, 2008, so those of you looking for a good reason to justify a PeopleTools upgrade to your management, here it is :-)&lt;br /&gt;&lt;br /&gt;So what helps us in Java 5 with casting?  There is a new method in java.lang.Class called &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html#cast%28java.lang.Object%29"&gt;cast&lt;/a&gt;,  which according to the doc, "Casts an object to the class or interface represented  by this &lt;tt&gt;Class&lt;/tt&gt; object.".&lt;br /&gt;&lt;br /&gt;Great!&lt;br /&gt;&lt;br /&gt;So we update the code&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Local JavaObject &amp;amp;int2 = &lt;/code&gt;&lt;code&gt;&amp;amp;map.get("TEST");&lt;br /&gt;Local JavaObject &amp;amp;int3 = &amp;amp;int.getClass().cast(&amp;amp;int2);&lt;br /&gt;&lt;/code&gt;&lt;code&gt;Warning(&amp;amp;int3.intValue());&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;PeopleCode knows that the &amp;amp;int object is of type java.lang.Integer so we can get it's Class object and use that to cast our object that came back out of the HashMap and we'll be all set, right?&lt;br /&gt;&lt;br /&gt;Nope.  Same error as before.  "Java method intValue not found for class java.lang.Object.".</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/07/casting-java-objects-in-peoplecode.html' title='Casting Java objects in PeopleCode'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=5728386172847036306' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5728386172847036306'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5728386172847036306'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-4111771236221244724</id><published>2008-06-22T15:30:00.000-07:00</published><updated>2008-06-22T15:45:41.216-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleCode'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>PeopleCode Variable Weirdness</title><content type='html'>Here's a quick quiz for you PeopleCode experts out there.  Which of these lines of code will Application Designer accept (and run) and which ones will it not?&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;amp;! = "Am I valid?";&lt;br /&gt;&amp;amp;@ = "Am I valid?";&lt;br /&gt;&amp;amp;# = "Am I valid?";&lt;br /&gt;&amp;amp;$ = "Am I valid?";&lt;br /&gt;&amp;amp;%  = "Am I valid?";&lt;br /&gt;&amp;amp;^ = "Am I valid?";&lt;br /&gt;&amp;amp;&amp;amp; = "Am I valid?";&lt;br /&gt;&amp;amp;* = "Am I valid?";&lt;br /&gt;&amp;amp;( = "Am I valid?";&lt;br /&gt;&amp;amp;) = "Am I valid?";&lt;br /&gt;&amp;amp;_ = "Am I valid?";&lt;br /&gt;&amp;amp;- = "Am I valid?";&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Here are the valid lines&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;amp;@ = "Am I valid?";&lt;br /&gt;&amp;amp;# = "Am I valid?";&lt;br /&gt;&amp;amp;$ = "Am I valid?";&lt;br /&gt;&amp;amp;_ = "Am I valid?";&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and here are the invalid lines&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;amp;! = "Am I valid?";&lt;br /&gt;&amp;amp;%  = "Am I valid?";&lt;br /&gt;&amp;amp;^ = "Am I valid?";&lt;br /&gt;&amp;amp;&amp;amp; = "Am I valid?";&lt;br /&gt;&amp;amp;* = "Am I valid?";&lt;br /&gt;&amp;amp;( = "Am I valid?";&lt;br /&gt;&amp;amp;) = "Am I valid?";&lt;br /&gt;&amp;amp;- = "Am I valid?";&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Of course, this is more just interesting trivia as opposed to something that we would recommend doing.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/06/peoplecode-variable-weirdness.html' title='PeopleCode Variable Weirdness'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=4111771236221244724' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/4111771236221244724'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/4111771236221244724'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-5041462903132783256</id><published>2008-06-05T04:23:00.000-07:00</published><updated>2008-06-05T04:26:13.475-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>PeopleSoft Signout Page Modifications</title><content type='html'>Jim Marion has a good writeup on his blog with some ideas for &lt;a href="http://jjmpsj.blogspot.com/2007/09/quasi-dynamic-signout-template.html"&gt;customizing the PeopleSoft signout page&lt;/a&gt;,  but it doesn't directly cover a common use case that I get asked about a lot, which is redirecting the user somewhere else at signout time.&lt;br /&gt;&lt;br /&gt;A common reason for doing that is if you have a primary portal, such as the &lt;a href="http://www.oracle.com/appserver/portal_home.html"&gt;Oracle Portal&lt;/a&gt;, that provides access into your PeopleSoft applications.  When the PeopleSoft session is done, you want the user to return to the main portal home page.  Another reason is that you have some sort of &lt;a href="http://www.greysparling.com/DesktopSingleSignon.html"&gt;single signon&lt;/a&gt; external to PeopleSoft, so you don't want the PeopleSoft users to see the PeopleSoft signon page.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to do it&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The process for doing &lt;span style="text-decoration: underline;"&gt;this&lt;/span&gt; is pretty straightforward.  The HTML that gets displayed at signout time is defined in the "Look and Feel" page of the Web Profile.  One common source of confusion with the values defined on this page is that they are not URLs, but they are references to files in the web server.  So you can't set a different URL here, you need to have the redirection logic in the appropriate file on the web server.&lt;br /&gt;&lt;br /&gt;By default, the file that gets displayed at signout time is called &lt;span style="font-style: italic;"&gt;signin.html&lt;/span&gt;.    We'll want to make a copy of this since by default it gets used for the signon page as well as the signout page.  You can give it a name like &lt;span style="font-style: italic;"&gt;signout_redirect.html&lt;/span&gt; ; end users will never see this name though so just name it so that you remember it's purpose later.  Whatever name that you call it, you'll want to reference that name for the logout page in your Web Profile.&lt;br /&gt;&lt;br /&gt;For example, if you wanted to send your users to the Grey Sparling home page with a 0 second delay when they log out from PeopleSoft, you would add the following line immediately after the &amp;lt;HEAD&gt; tag at the top of your new file.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;meta equiv="REFRESH" content="0;url=http://www.greysparling.com/"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The contents of these files are read into memory when the web server starts up, so you'll need to bounce the web server in order to get that to take effect.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Preventing Page Flash at Signout Time&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What I've outlined above is the simplest way to solve the problem. One small usability issue exists though. In spite of the fact that we have specified 0 seconds for the delay, the browser will still render all of the HTML onscreen before sending the user to the new home page. The best course of action here is to remove everything between the &amp;lt;BODY&gt; tags. That saves the browser from having to render the page so it can get to the redirect quicker. There is still a quick page flash, but it is quicker and it is just a blank screen so it doesn't look quite as bad.&lt;br /&gt;&lt;br /&gt;The HTTP gurus in the crowd are probably wondering why this isn't solved with an HTTP level redirect, which would make the whole page flash issue go away. The answer is that you don't have easy access to do this. You can use some of the options that Jim mentions in his blog (we do something similar in our &lt;a href="http://www.greysparling.com/brochure/GS_ERPFirewall_for_PeopleSoft_Overview.pdf"&gt;ERP Firewall for PeopleSoft&lt;/a&gt; product) if it is really a big deal to you though.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Upgrade Issues&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Each time you install PIA (whether from an upgrade or just adding a new web server) you'll need to copy this newly created file from an existing web server (since you no longer care about what new features/layout changes that Oracle might add to these pages in new releases).&lt;br /&gt;&lt;br /&gt;If you install a lot of web server instances, you can put this file in the setup program so that you always end up with your custom one instead of the default.  Just search for the file PTSitePsftdocs.jar in your PSHOME\setup directory.  That has the source files that get put into the web server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Session Expiration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thankfully there is a separate page that gets displayed when a session expires vs someone signing out.  That file is called expire.html.  You may want to setup some separate handling for this one so that the user does see a message about their session having timed out instead of just being redirected to a different page.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where are the files?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The actual files to edit in the web server are stored in WEB-INF\psftdocs\&amp;lt;sitename&gt;.  I'd list the whole path, but it's so incredibly deeply nested that you'd need a special wide monitor for the browser to be able to scroll that far :-)  That's a subject for another blog post some day though.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Can I change signout behaviour based on the user?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By the time the signout page is displayed, the user's session has already been wiped out. You no longer even know who the user is/was.  There are no PeopleCode events that run at signout time by default (although it can be done).&lt;br /&gt;&lt;br /&gt;Read &lt;a href="http://jjmpsj.blogspot.com/2007/09/quasi-dynamic-signout-template.html"&gt;Jim's blog post&lt;/a&gt; or &lt;a href="mailto:experts@greysparling.com"&gt;talk to us&lt;/a&gt; about ideas for getting around this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Any other tips? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want to change the label/text of the Signout link, it is defined in the Message Catalog. The message set number is 95, and the message id is 408.  Don't forget to update any other languages that you may be using with your PeopleSoft applications.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/06/peoplesoft-signout-page-modifications.html' title='PeopleSoft Signout Page Modifications'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=5041462903132783256' title='3 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5041462903132783256'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5041462903132783256'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-3457159108856157467</id><published>2008-05-20T16:09:00.000-07:00</published><updated>2008-05-20T16:19:39.436-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Events'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>2008 PHRUG Wrap-Up</title><content type='html'>&lt;p&gt;Last thursday, I presented at the Philadelphia PeopleSoft and JD Edwards RUG.  I was able to meet with lots of PeopleSoft customers and even catch up with a few folks I hadn't seen since the 2006 FSIUG meeting in Manhattan.&lt;p&gt;I even had a chance to spend some time with Kevin Agatone, fellow nVisionary, PeopleSoft Projects developer, and Fusion Projects developer.  Kevin used to work for me on the reporting development team and ended moving on to bigger and better things.&lt;p&gt;I ended up creating new versions of our award-winning Advanced Tips and Techniques sessions, and the slide where I discussed PeopleSoft's control surfaces was very well received.  I think I see a future blog intry coming.&lt;p&gt;Here are the links to the powerpoints&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.greysparling.com/blog/PHRUG_AdvancedPeopleToolsTechniques_PSFT_Enterprise.pdf"&gt;More Advanced PeopleTools Tips and Techniques&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.greysparling.com/blog/PHRUG_AdvancedReportingTechniques_PSFT_Enterprise.pdf"&gt;More Advanced Reporting Tips and Techniques&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Noetix Views for PeopleSoft HRMS (I covered hoverboards in this topic).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We look forward to our next user group meeting:  Quest Northeast.  Hope to see you there.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/05/2008-phrug-wrap-up.html' title='2008 PHRUG Wrap-Up'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=3457159108856157467' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/3457159108856157467'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/3457159108856157467'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-2022843132927584144</id><published>2008-05-02T10:18:00.000-07:00</published><updated>2008-05-02T11:15:23.196-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drilling'/><category scheme='http://www.blogger.com/atom/ns#' term='Report_Manager'/><title type='text'>Sharing reports across 2 PeopleSoft environments, keeping drilldown working</title><content type='html'>&lt;p&gt;This came as a comment from the following &lt;a href="http://blog.greysparling.com/2005/08/report-distribution-with-3rd-party.html"&gt;posting&lt;/a&gt;, and I felt that it deserved its own blog entry.&lt;/p&gt;&lt;p&gt;The exact question is as follows:&lt;/p&gt;&lt;p&gt;&lt;code&gt;What would be the best approach to share reports between two PeopleSoft environments, considering we use drill down extensively?&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This is an extremely good question, and it brings back memories of some of the discussions we had when updating the report repository in PeopleTools 8.40.  Therefore, it makes sense to talk a bit about the history of the report repository as a starting point.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Prior to PeopleTools 8.0&lt;/strong&gt;&lt;p&gt;Prior to PeopleTools 8.0, the report repository did not exist.  Customers would run reports either locally using the client/server tools (PSQED.EXE, PSNVS.EXE, PSSQR.EXE, CRW32.EXE), or on the process scheduler server.  The reports would either be viewed with online viewers (when using the client/server tools), or saved in the file system accessible to the process scheduler server.  Users would then access the files using network shares (and secured using network security).&lt;p&gt;&lt;strong&gt;PeopleTools 8.13&lt;/strong&gt;&lt;p&gt;PeopleTools 8.13 represents the first release where we had a report repository and report manager.  At the time, it was architected to work with only one system, and would not actually authenticate the user accessing a report (it would create an RBAN that was impossible to guess as the identifier of the report ---  &lt;i&gt;for those geeks out there, RBAN stands for Really Big Alpha-Numeric&lt;/i&gt;).  Other limitations include a lack of using folders to categorize reports in the user interface.&lt;p&gt;&lt;strong&gt;PeopleTools 8.40&lt;/strong&gt;&lt;p&gt;One of the main projects in PeopleTools 8.40 was to extend report manager to address some of its limitations.  One of the primary use cases was to make it easier for users of nVision to utilize it.  Here is a snopsis of some of the features that went into that release&lt;ul&gt;&lt;li&gt;Folders, so that reports could have some level of categorization.&lt;/li&gt;&lt;li&gt;Support for cross-system report lists&lt;/li&gt;&lt;li&gt;Improved security over accessing reports (thus eliminating the imfamous RBAN).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The designs for this release pulled together all the requirements into one solution.  Because foldering and cross-system access required additional data and infrastructure, it was decided to leverage integration broker for both (and the PSRF application messages were born).  The report manager pages were reorganized, including two additional pages added to report manager that utilize the information published and subscribed by these new messages.  &lt;ul&gt;&lt;li&gt;The List tab is a standard search page against cross-system data and the first level of foldering.  &lt;/li&gt;&lt;li&gt;The Explorer tab is a tree view over the foldering metadata attached to the reports.  &lt;/li&gt;&lt;li&gt;Finally, the old report manager page was renamed to "Administration", so that you could access reports on the local system, even if integration broker wasn't working in your environment.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;About Deployment Strategies&lt;/strong&gt;&lt;p&gt;Okay, now that we have some of the background covered, let's go into a little more detail about how the cross-system report access was intended to work (because we leverage the same concepts in our &lt;a href="http://www.greysparling.com/RptExplorerProductOverview.html"&gt;Report Explorer&lt;/a&gt; product).&lt;p&gt;&lt;u&gt;Notification versus Ownership&lt;/u&gt;&lt;p&gt;The key to understanding deployment options is to understand that conceptually we are separating report notification from report ownership.  In other words, the system that generated a report is always owned by that report.  Ownership means that the system continues to secure and grant access to the report, and any actions taken when viewing that report are specific to the system that generated the report (more on this later).  This also means that any means of aggregating the list of reports and/ore notifying end-users of those reports (with links back) is just that:  a list of reports with links to access them in place.&lt;p&gt;For a product like nVision, where you need to drill, the information needed to do the drilling is embedded directly in the report from the system running the nVision report.  There's actually PeopleCode that embeds this information as a parameter on the command line.  This means that regardless of how you open the nVision report, it will go back to the system that ran the report to perform the drill (which is exactly what you would want it to do).  This works the same way if you use one of the drilling techniques discussed in the following &lt;a href="http://blog.greysparling.com/2005/09/drilling-to-other-content-in-nvision.html"&gt;blog entry&lt;/a&gt;.  Because the local system is running and managing the report, you don't have to worry about it if you use the PSRF integration broker messages as a means of pulling it together.  Even if you physically move the reports to a new location, the metadata needed to drill contains the URL to access the system it was generated from (but if you delete the report from the report repository after you move it, you will prevent the drilling from occurring because the process scheduler won't be able to find it).&lt;p&gt;So, the simple answer is that because the system that ran the report also puts in the additional drilling metadata (including the URLs to access the system), drilling will continue to work even if you copy or aggregate the links to access the reports elsewhere.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/05/sharing-reports-across-2-peoplesoft.html' title='Sharing reports across 2 PeopleSoft environments, keeping drilldown working'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=2022843132927584144' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/2022843132927584144'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/2022843132927584144'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-5156142483764647196</id><published>2008-04-29T17:33:00.000-07:00</published><updated>2008-04-29T21:37:42.071-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='History'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Oracle completes acquisition of BEA</title><content type='html'>In honor of Oracle finally completing the BEA acquisition, I asked one of my old bosses, Peter Gassner, to write a guest post on some of BEA memories.&lt;br /&gt;&lt;br /&gt;Peter actually came to PeopleSoft to fix up the old 2 tier client/server architecture and BEA played a big role in that. But I'll let Peter tell the story.&lt;br /&gt;&lt;br /&gt;---------&lt;br /&gt;&lt;br /&gt;Oracle finally owns TUXEDO.  You can read it &lt;a href="http://ap.google.com/article/ALeqM5iwkN4RPIRoFsBAkscPlSSSvXmNpgD90BMC2G1"&gt;here&lt;/a&gt;.  Sure, it does not mention TUXEDO, but it is in there, and it started it all.&lt;br /&gt;&lt;br /&gt;The TUXEDO middleware product played a big part in PeopleSoft's technical history, starting from the release of PeopleSoft 7 in 1997.  It is kind of interesting to trace the history of TUXEDO as it passed on from company to company and became involved with PeopleTools.&lt;br /&gt;&lt;br /&gt;It started inside AT&amp;amp;T in the early 1983 and found it's way to Novell in 1993 (by way of Unix System Laboratories).  It was there in early 1996 that PeopleSoft and TUXEDO met. I still remember the very small conference room (no windows) in New Jersey where Baer Tierkel, Rick Bergquist and I met with some of the core inventors of TUXEDO, including Mark Carges and Randy McBlane.  We liked the software and the people. We liked it better than Tibco, MQseries, or the various other things we saw.  We really did not feel like building middleware ourselves (very hard work!), so we thought OEMing TUXEDO would be good.&lt;br /&gt;&lt;br /&gt;But, before we could complete an OEM deal, TUXEDO was snapped up again, by a tiny company that was just forming called "BEA", which stood for Bill, Ed, and Alfred.  What was this BEA, we thought?  Rick, Baer and I met with Bill, Ed, and Alfred, and decided "still good people, still good software, lets go ahead".  That became a great partnership for BEA and PeopleSoft.  It made PeopleTools more robust, and it had some not small hand in the OEM success that BEA had with TUXEDO and later with Weblogic.&lt;br /&gt;&lt;br /&gt;Over the years BEA grow. BEA acquired WebLogic in 1998 and PeopleSoft OEMed that as well.  I still remember talking to Alfred over lunch one day in 1998 after the weblogic purchase.  He made a small comment that I always remember.  He said with a very straight face: "That weblogic stuff is just flying off the shelves."  I probably should have bought some BEA stock at that point:-)  TUXEDO meanwhile was alive and ticking inside PeopleTools. Sure, it was all wrapped up in "psadmin" so that the quite unsightly configuration files were not seen, but it was there.&lt;br /&gt;&lt;br /&gt;And now, TUXEDO finally comes home to roost in the great enterprise software roosting ground, Oracle&lt;br /&gt;&lt;br /&gt;Congratulations, TUXEDO old boy, you have done well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Peter Gassner&lt;br /&gt;CEO&lt;br /&gt;&lt;a href="http://www.verticalsondemand.com/"&gt;Verticals onDemand&lt;/a&gt;&lt;br /&gt;PeopleTools Alumni (1995-2003)</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/oracle-complates-acquisition-of-bea.html' title='Oracle completes acquisition of BEA'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=5156142483764647196' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5156142483764647196'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5156142483764647196'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-7454548706896870236</id><published>2008-04-29T15:12:00.000-07:00</published><updated>2008-04-29T15:24:53.417-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Business'/><title type='text'>New Grey Sparling Customers</title><content type='html'>&lt;p&gt;We've been remiss in updating our customers page.  We would like to welcome the following organizations to the Grey Sparling family:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.state.gov/"&gt;U.S. Department of State&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cherokee.org/"&gt;Cherokee Nations Enterprises&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.pmigroup.com/"&gt;PMI Insurance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.flemingc.on.ca/"&gt;Fleming College&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.rappcollins.com/"&gt;Rapp Collins Worldwide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.themarketingstore.com/"&gt;The Marketing Store&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.methanex.com"&gt;Methanex Corporation&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/new-grey-sparling-customers.html' title='New Grey Sparling Customers'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=7454548706896870236' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/7454548706896870236'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/7454548706896870236'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-3559932226881981447</id><published>2008-04-25T11:36:00.000-07:00</published><updated>2008-05-05T15:36:10.715-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Collaborate'/><title type='text'>Collaborate Day 2 - E40790- PeopleSoft Executive Update with Doris Wong</title><content type='html'>Presented by: Doris Wong, General Manager for PeopleSoft Enterprise &lt;p&gt;This was Doris's keynote, and it did a great job of showing to PeopleSoft customers reasons to upgrade to current releases, and demonstrating the vision and continued investment in PeopleSoft products. &lt;p&gt;&lt;br /&gt;&lt;strong&gt;Prior to the Session&lt;/strong&gt; &lt;p&gt;Prior to the session, Doris recognized me in the audience, so I decided to walk up and say "Hi" to her. We talked a bit about non-PeopleSoft stuff (our kids went to preschool together, so it was good to catch up). She also wanted to know how things were going business-wise, and made sure to mention that she's been hearing good things about us from PeopleSoft customers (which is much better than her hearing bad things about us from PeopleSoft customers -- &lt;i&gt;&lt;span style="color:#000099;"&gt;"&lt;a href="http://www.imdb.com/title/tt0198781/quotes"&gt;I'm watching you, Wazowski. Always watching. Always"&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;). &lt;p&gt;&lt;strong&gt;Agenda&lt;/strong&gt; &lt;ul&gt;&lt;li&gt;2008 IT Strategic Initiaives&lt;/li&gt;&lt;li&gt;Oracle applicagtions strategy&lt;/li&gt;&lt;li&gt;Delivering on PeopleSoft&lt;br /&gt;PeopleSoft Investment Strategy&lt;/li&gt;&lt;li&gt;Key Takeaways&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;2008 IT Strategic Initiatives&lt;/strong&gt; &lt;p&gt;Forrester survey where organizations found critical priority of the following areas &lt;ul&gt;&lt;li&gt;72% want improvement of integration between apps&lt;/li&gt;&lt;li&gt;59% want upgrade packaged applications&lt;/li&gt;&lt;li&gt;47% shift from functional to process orientation&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Oracle's applications strategy follows this: &lt;ul&gt;&lt;li&gt;Applications unlimited&lt;/li&gt;&lt;li&gt;Application Integration Archietecture&lt;/li&gt;&lt;li&gt;Fusion Applications&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Applications unlimited -&gt; we will continue to invest. This is strategic for us. &lt;p&gt;Second part is applications integration architecture. Designed around creating a common platform for easy integration of our systems Provides framework to easily orchistrate business processes across a heterogeneous environment. &lt;p&gt;Fusion - this continues to be a path, although optionsal. Our customers can look at this and determine what's best for their business. &lt;p&gt;Supporting all 3 parts of the strategy is Oracle Fusion Middleware. We will be standardizing on the middleware. &lt;p&gt;Doris, then showed a diagram that illustrates how fusion middleware can be used as part of a larger enterprise applications infrastructure. It started by showing different backend systems linked by fusion middleware transport. In the middle are common objects and definitions of those objects. At the top, it shows oracle's business process orchestration. &lt;p&gt;Doris, then went more into how Oracle's Application Integration Arcitecture (AIA) plays an important part. She started by showing different layers of the architecture. &lt;ul&gt;&lt;li&gt;foundation is service management&lt;/li&gt;&lt;li&gt;then revenue management&lt;/li&gt;&lt;li&gt;then customer management&lt;/li&gt;&lt;li&gt;then enterprise management&lt;/li&gt;&lt;li&gt;finally, she showed processes that span the different layers.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Delivering on PeopleSoft&lt;/strong&gt; &lt;p&gt;Doris, then moved into more details with respect to PeopleSoft. She started by illustrating the importance of the PeopleSoft Enterprise suite to Oracle's overall business strategy: &lt;ul&gt;&lt;li&gt;9 of top 10 commercial banks are ps customers&lt;/li&gt;&lt;li&gt;59% of top 100 of fortune 500 companies own ps&lt;/li&gt;&lt;li&gt;retail - the 5 biggest use ps&lt;/li&gt;&lt;li&gt;6 of top 10 communications companies use PeopleSoft&lt;/li&gt;&lt;li&gt;60% of the top 15 insurance companies use PeopleSoft&lt;/li&gt;&lt;li&gt;70% of top 10 health care organizations use PeopleSoft&lt;/li&gt;&lt;li&gt;19 us states use PeopleSoft&lt;/li&gt;&lt;li&gt;50 of largest counties and cities use PeopleSoft&lt;/li&gt;&lt;li&gt;7 of top 10 research universities use PeopleSoft&lt;/li&gt;&lt;li&gt;8 of top 10 printing and publishing companies use PeopleSoft&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;PeopleSoft beates best in class. Aberdeen group survey PeopleSoft customers are not average when it comes to hcm. &lt;ul&gt;&lt;li&gt;PS customers are 41% more likely than industry a verage to be satisfied&lt;/li&gt;&lt;li&gt;PS customers outperform industry average in every kpi used to measure b est in class&lt;/li&gt;&lt;li&gt;PS cusotmers demonstrate higher org perfomance improvement versus industry average&lt;/li&gt;&lt;li&gt;PS customers leverage automated hcm tools to achieve better ROI on their software investments&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;PeopleSoft 9.0 themes:&lt;/strong&gt; &lt;p&gt;Doris, then went on to talk a bit about the PeopleSoft roadmap, starting with PeopleSoft 9 (which is currently shipping): &lt;ul&gt;&lt;li&gt;Extended value through technology&lt;/li&gt;&lt;li&gt;best in class business processes&lt;/li&gt;&lt;li&gt;a superior ownership experience&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Doris, moved from the themes to talk more about the content in the release from a challenge, capability, and value perspective (which does a great job of laying out the return on investment in upgrading).&lt;p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;Challenges&lt;/span&gt;&lt;/strong&gt;&lt;td&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;Capabilities &lt;/span&gt;&lt;/strong&gt;&lt;td&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;Value&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;tbody&gt;&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Heterogeneous IT environment &lt;td&gt;SOA and oracle fusion middleware, bpel process manager &lt;td&gt;Lower IT costs&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Integration&lt;td&gt;Eliminate costly interfaces in cross-applicagtion business processess&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Tightening/Changing Labor market&lt;td&gt;Integrated talent mangement&lt;td&gt;Attract, Engage, and Retain Ralent&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Contextual Information&lt;td&gt;Transactional Dashboards&lt;td&gt;Insight-driven Business Processes&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Address regulatory requirements and performance needs&lt;td&gt;Business process enhancemsnts to address OFAC, SARBOX, and more&lt;td&gt;Achieve sustainable compliance and high perfomance&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Complex and changing reporting requirements&lt;td&gt;Oracle XML Publisher&lt;td&gt;Reduce reporting costs&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Managing Applications Portfolio&lt;td&gt;Lifecycle Management Tools&lt;td&gt;Lower TCO&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Accelerate User Adoption&lt;td&gt;Improved UE&lt;td&gt;Reduce training burden&lt;tr style="vertical-align:top;"&gt;&lt;td&gt;Focusing on strategic activities&lt;td&gt;Employee self service&lt;td&gt;Improve efficiency and productivity&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Doris revisited the previous table to discuss specifics of release content&lt;p&gt;Integrated talent management&lt;ul&gt;&lt;li&gt;Single, enterprise wide system. proflie management, business intelligence with single source of truth.&lt;/li&gt;&lt;li&gt;improved usability for employees and managers&lt;/li&gt;&lt;li&gt;relevant role based activites and content&lt;/li&gt;&lt;li&gt;single user experience&lt;/li&gt;&lt;li&gt;line of sight visibility&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Business Insight&lt;ul&gt;&lt;li&gt;supplier relationship management dashboard&lt;/li&gt;&lt;li&gt;Expanded KPIs for buyers and managers&lt;/li&gt;&lt;li&gt;Summary metrics at business unit level&lt;/li&gt;&lt;li&gt;Supplier performance analtics pagelet&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Business Processes --&gt; contract management&lt;ul&gt;&lt;li&gt;SRM dashboard example.&lt;/li&gt;&lt;li&gt;Shows different metrics (aggregated view of source-to-pay) business processs for buysers and managers.&lt;/li&gt;&lt;li&gt;Shows dashboard, but doesn't show the actual transactions (other than lists)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Compliance and performance&lt;ul&gt;&lt;li&gt;Enforcer has extended reporting including 345 reports that facilitate financial statement certification.&lt;/li&gt;&lt;li&gt;Improved tracking of training hours, costs, etc for compliance&lt;/li&gt;&lt;li&gt;Supply chain - auto-validation of customers and vendors against SDN list via web services for compliance with patriot acts OFAC regulations&lt;/li&gt;&lt;li&gt;expanded supports for IFRS 15 evaluation requirements&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Reporting&lt;ul&gt;&lt;li&gt;Shows the XML publisher architecture:   extract data xml publisher publishing engine formates the data using templates and then file formats.&lt;/li&gt;&lt;li&gt;Showed difference between SQR report and new XML report with template availabile starting in 8.48 of tools.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Livecycle management tools&lt;ul&gt;&lt;li&gt;integration with enterprise manager - enables it admin to graphicallly manager and manage Release 90 systems from same console as other oracle databases, middleware and apps&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Improved SOA Support&lt;ul&gt;&lt;li&gt;New UI and increased standards support&lt;/li&gt;&lt;li&gt;Stronger integration with BPEL process manager&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Enhanced patching and maintenance&lt;ul&gt;&lt;li&gt;streamlined patching through tools that understand impact.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Why upgrade?&lt;/strong&gt;&lt;p&gt;Business buenefits of enhancements&lt;ul&gt;&lt;li&gt;Get business value of all releases&lt;/li&gt;&lt;li&gt;Eliminate customations and niche vendors&lt;/li&gt;&lt;li&gt;Improve efficiency and prodicvivity&lt;/li&gt;&lt;li&gt;reduce costs&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Available services and tools&lt;ul&gt;&lt;li&gt;Upgrade aids in peopletools&lt;/li&gt;&lt;li&gt;Oracle solution center upgrade lab&lt;/li&gt;&lt;li&gt;Oracle consulting upgrade services&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Planning Options&lt;ul&gt;&lt;li&gt;Separate tools and app upgrades&lt;/li&gt;&lt;li&gt;Future upgrade processes to fusion apps&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Upgrade steps:&lt;ul&gt;&lt;li&gt;Added a new upgrade process from hcm 8.3 that does the 2-step process in a single set of steps (8.3 t0o 9.0 wrapper).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;PeopleSoft Investment Strategy&lt;/strong&gt;&lt;p&gt;Objectives:&lt;ul&gt;&lt;li&gt;Solution Value&lt;/li&gt;&lt;li&gt;Innovation&lt;/li&gt;&lt;li&gt;Customer success&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Drivers&lt;ul&gt;&lt;li&gt;Corporate strategy&lt;/li&gt;&lt;li&gt;Market conditions&lt;/li&gt;&lt;li&gt;Competitive landscape&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;More on 9.1 Strategy:&lt;ul&gt;&lt;li&gt;Ensure market leadership in HCM, key industries and global markets&lt;/li&gt;&lt;li&gt;Provide high value low risk releases&lt;/li&gt;&lt;li&gt;Customer-driven enhancements&lt;/li&gt;&lt;li&gt;Avoid creating complex upgrades&lt;/li&gt;&lt;li&gt;Deliver integration and innovation&lt;/li&gt;&lt;li&gt;Leverage oracles portfolio of applications&lt;/li&gt;&lt;li&gt;Adopt oracle fusion middleware capabilities&lt;/li&gt;&lt;li&gt;Enhance ownership experience&lt;/li&gt;&lt;li&gt;Increaed usabilith and streamlined processes&lt;/li&gt;&lt;li&gt;Maintain peopletools backwards compatibility&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;9.1 roadmap. The rollout is planned in 2009.&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;p&gt;I was impressed with how comprehensive the update was.  Doris and team have been very busy, and have spent a lot of time listening to PeopleSoft customers.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/e40790-peoplesoft-executive-update-with.html' title='Collaborate Day 2 - E40790- PeopleSoft Executive Update with Doris Wong'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=3559932226881981447' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/3559932226881981447'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/3559932226881981447'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-6977956865659203761</id><published>2008-04-25T11:03:00.000-07:00</published><updated>2008-04-25T11:30:55.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Events'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Collaborate'/><title type='text'>Collaborate Day 1 - A43910: Business Intelligence – A look at Oracle's Business Intelligence tool out of the box</title><content type='html'>This session is intended to discuss OBIEE as it relates to financial services.  It was nice to see as much demo-ing as they did.  It was also nice to see more of the features of OBIEE highlighted, especially the ability to create a very useful semantic view of the data that users can understand.&lt;br /&gt;&lt;br /&gt;Room was full.  About 200-300 people.  Standing room only.&lt;br /&gt;&lt;br /&gt;Dan Blankenship on FSI user group board - was also in pervious session.  He introduced Steve Burns, who is on the Financial Services team at Oracle.&lt;br /&gt;&lt;br /&gt;Session started by querying the audience.  Most of attendees raised hands when asked if used PeopleSoft for back-office.  Only a couple who used eBusiness suite.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;OBIEE plus.&lt;/b&gt;&lt;br /&gt;The session began by introducing OBIEE plus as the technology platform for providing anlaytics in this area.  Steve started by talking about semantic model  in OBIEE.  Put logic into semantic layer.&lt;br /&gt;&lt;br /&gt;Listed Golman, Wachovia, Axa as organizations using OBIEE.  Leverage investments you've made in data source.&lt;br /&gt;&lt;br /&gt;Talked about strategy of bringing together hyperion, peoplesoft and other acquisitions.  (Operational BI, Enterprise perormance management, transaction systems).  With the addition of the ability to access Essbase content within an OBIEE meta-model, this tool is now able to bring all this together for a single, cohesive solution that encompasses the different back-office systems.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solutions Space&lt;/b&gt;&lt;br /&gt;Steve, then went on to cover more about how they think about financial services from an analytic application perspective.  Financial services organized into 4 areas:  profitability, performance, risk management, and compliance.  Below are some of the notes that I captured for a few of these areas:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Profitability&lt;/b&gt;&lt;br /&gt;Used Fidelity as an example company that looks at customer profitability.&lt;br /&gt;&lt;br /&gt;Showed screenshots with lots of charts and supporting details.  Very analytic focused gtoing from high level to lower levels.&lt;br /&gt;&lt;br /&gt;Credit suisse was listed as customer of OBIEE as well.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Risk management&lt;/b&gt;&lt;br /&gt;Goldman Sachs, Credit Suisse and Bear Stearns listed as users of compliance solutions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Features and Functions&lt;/b&gt;&lt;br /&gt;They quickly went into a demonstration of a few of the areas and how the content that they're putting into OBIEE can solve many of these business poroblems.&lt;br /&gt;&lt;br /&gt;Pervasive information delivery&lt;br /&gt;&lt;ul&gt;&lt;li&gt;interactive dashboards&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ad-hoc query&lt;br /&gt;&lt;/li&gt;&lt;li&gt;detections and alerts&lt;br /&gt;&lt;/li&gt;&lt;li&gt;production reporting&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Pervasive delivery&lt;ul&gt;&lt;br /&gt;&lt;li&gt;financial reporting&lt;br /&gt;&lt;/li&gt;&lt;li&gt;office&lt;br /&gt;&lt;/li&gt;&lt;li&gt;disconnect and mobile anlaytics&lt;br /&gt;&lt;/li&gt;&lt;li&gt;desktop gadgets&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;They also made a lot about the ability to drill from a report or analysis back into the transaction system.  This feature is very similar to what we've &lt;a href="http://blog.greysparling.com/2007/11/day-5-2007-oow-advanced-reporting.html"&gt;blogged about &lt;/a&gt;for PeopleSoft reporting tools.  I wonder if they've thought about taking this to the next level (like &lt;a href="http://www.greysparling.com/HoverBoardOverview.html"&gt;hoverboards&lt;/a&gt;)?&lt;br /&gt;&lt;br /&gt;They moved on to demo drilling from report into more detail (starting from dashboard).  Because they've pre-defined the path, they call this guided navigation.&lt;br /&gt;&lt;br /&gt;They moved on to show how a user could start with a dashboard, extend a report, and add it to a personal dashboard.  They didn't cover the administrative aspects of people creating their own dasboards, but it was cool seeing them do it.  The functional area demonstrated was payables, where they started with 2 gauges and then drilled from one of them into a report.&lt;br /&gt;&lt;br /&gt;The continued by demoing modifying the report (adding a chart).  They then showed creating a new report and adding it to a dashboard.  Positioned that business users can do this (do not need to get IT involved).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;br /&gt;This was one of the better OBIEE presentations I've seen.  One area I'd like to see more is a comprehensive story about how people will be able to snap these new applications onto their existing ERP solutions.  This may not make sense in this presentations, but I believe that one of the primary factors in making a purchasing decision for OBIEE versus the products sold by other BI vendors is the effort to get it up and running (and really demonstrating to folks how these new applications are going to provide a seamless integration with their existing solutions...  right now, I see a lot of hand-waving going on instead of showing exactly how this will work across data models of different releases of Siebel, PeopleSoft, and e-Business suite).</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/a43910-business-intelligence-look-at.html' title='Collaborate Day 1 - A43910: Business Intelligence – A look at Oracle&apos;s Business Intelligence tool out of the box'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=6977956865659203761' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/6977956865659203761'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/6977956865659203761'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-3548484617507129626</id><published>2008-04-25T10:58:00.000-07:00</published><updated>2008-04-25T11:00:52.553-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Collaborate'/><title type='text'>Collaborate Day 1 - Session A45350: Financial Services Industry Update</title><content type='html'>Presented by:  Eric Dickmann, Financial Services&lt;br /&gt;&lt;br /&gt;Because so many of our customers are part of the Financial Services SIG, I wanted to make sure I attended this session to see what was going on here (especially since last year Amira Morcos had mentioned that there would be a business unit and general manager for this practice).&lt;br /&gt;&lt;br /&gt;Eric is the new General Manager of the financial services IBU (discussed in &lt;a href="http://blog.greysparling.com/2007/11/day-1-2007-oow-financial-services-user.html"&gt;this blog entry&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;It was interesting to see the difference between approaches of PeopleSoft and Oracle to the Financial Services industry.  Eric went through his solutions map for all 3 areas in financial services:  Banking, Insurance, and Capital Markets.  Where PeopleSoft focused primarily on the analytics and back-office solutions, Oracle will approach the market across all aspects of the industry including the front-office and point of sale systems (which is something PeopleSoft didn't address).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;General Strategy&lt;/b&gt;&lt;br /&gt;He described the goals of the financial institution within the following categories:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Customer intimacy&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Competitive differentiation&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Cost effectiveness&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Compliance to regulation and risk mitigagion&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Service and speed are differentiation in industry.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;He descripbed the execution strategy of his group as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Process driven&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Pre-built&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ineroperable&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Flexible&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Oracle's approach will be to assemble existing assets.  Also to provide mulitiple deployment options for customers that include hosting, packaged products, or tools and custom applicagtions.&lt;br /&gt;&lt;br /&gt;These solutions will cover all the way from front office to back office.  Showed the product footprint for different areas - solution maps.  These are available at &lt;a href="http://www.oracle.com/industries/financial_services/index.html"&gt;http://www.oracle.com/industries/financial_services/index.html&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Product&lt;/b&gt;&lt;br /&gt;From a product perspective, the solution will cover the following main areas&lt;br /&gt;&lt;ul&gt;&lt;li&gt;pre-built integrations for a ccount origination&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Governance, risk, and compliance for financial services&lt;/li&gt;&lt;br /&gt;&lt;li&gt;advisor desktop&lt;/li&gt;&lt;br /&gt;&lt;li&gt;claims management&lt;/li&gt;&lt;br /&gt;&lt;li&gt;profitability and asset/liability management analytics (new products)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;flexcube with oracle identity managmeent&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Compliance&lt;/b&gt;&lt;br /&gt;On the Compliance side, the solution will include GRC for banking, insurance, capital markets, covering&lt;br /&gt;&lt;ul&gt;&lt;li&gt;sox&lt;/li&gt;&lt;br /&gt;&lt;li&gt;mifid, regnms&lt;/li&gt;&lt;br /&gt;&lt;li&gt;operational risk&lt;/li&gt;&lt;br /&gt;&lt;li&gt;compliance risk&lt;/li&gt;&lt;br /&gt;&lt;li&gt;basel 2 and 1a, solvency 2&lt;/li&gt;&lt;br /&gt;&lt;li&gt;aml, kyc, fraud prevention&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Role of Siebel&lt;/b&gt;&lt;br /&gt;Siebel looks to be a very important part of the financial services strategy:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Siebel will cover a good amount of the back-end systems, such as Siebel CRM as bck-end for account origination (this will integrate with i-flex's flexcube for identity management).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Siebel CRM on demand for advisor desktop.  first pre-built hosted crm solutions for wealth management.  web services.  shows user interface and analytics.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Enterprise claims management solution - partof siebel 8.  claims management, context management, financial hub, back office.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;For dashboards, Eric showed a few dashboards related to SOX and gauges of status of controls.  powered by the OBIEE framework.  He did not discuss where data is coming from and said that this is new.  This means that PeopleSoft's solutions in this space is not going to be part of this solutions map.&lt;br /&gt;&lt;br /&gt;Profitability - this is where PeopleSoft was strong.  Instead of using PeopleSoft EPM, Risk Weighted Capital, and Funds Transfer Pricing, Oracle will be using OFSA and OBIEE as the solution for this.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Questions:&lt;/b&gt;&lt;br /&gt;&lt;table&gt; &lt;tr&gt;&lt;td&gt;&lt;u&gt;Question&lt;/u&gt;&lt;/td&gt;&lt;td&gt;&lt;u&gt;Answer&lt;/u&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Can you talk more about what's going on with PeopleSfot financial servces side?&lt;/td&gt;&lt;td&gt;If you're a PeopleSoft customer, you will continue to be supported by applications unlimited.  HCM will continue to be a focus area for PeopleSoft.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;I'm another PeopleSoft Customer.  Can you tell me more about what I can expect as a PeopleSoft customer about Fusion?&lt;/td&gt;&lt;td&gt;Everything you saw in this presentation is based on Fusion.&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What I saw missing&lt;/b&gt;&lt;br /&gt;I didn't see any mention of PeopleSoft EPM or the financial services analytic applications that were hosted on the EPM warehouse.  I also didn't see any recognition of role of PeopleSoft GL in financial services organizations who are part of this Industry Group.  By reading between the lines, it looks like the development team at Oracle isn't going to be focused on these areas, even though the the vast majority of attendees (&gt;80%) categorized themselves as PeopleSoft customers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;It will be interesting to see how this strategy plays out.  The Oracle solutions map is definitely much envcompassing than PeopleSoft's, especially in the banking and CRM areas.  This could be a good opportunity for them.  With respect to corporate performance management, compliance, and analytics, I think that Oracle will have a challenging time getting traction with much of the members of the industry group until they come up with a better story for organizations using PeopleSoft Financials and EPM.  From an engineering perspective, I believe packaging analytics in OBIEE that are targeted specifically to EPM (funds transfer pricing, risk weighted capital, etc), as well as PoepleSoft Financials will allow them to extend existing solutions with new products and features versus leaving it up to the customer to figure out how to accomplish this themselves.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/session-a45350-financial-services.html' title='Collaborate Day 1 - Session A45350: Financial Services Industry Update'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=3548484617507129626' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/3548484617507129626'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/3548484617507129626'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-6711824772090255640</id><published>2008-04-23T15:48:00.000-07:00</published><updated>2008-04-23T15:52:17.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EnterpriseRSS'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Enterprise RSS Day</title><content type='html'>In honor of "&lt;a href="http://enterpriserssdayofaction.wikispaces.com/"&gt;Enterprise RSS Day&lt;/a&gt;",  we thought we'd offer something to help kickstart some Enterprise RSS action for PeopleSoft customers.&lt;br /&gt;&lt;br /&gt;One of the reasons why Enterprise level RSS is not &lt;a href="http://www.sdownes.co.uk/2008/04/01/enterprise-rss-day-why-dont-you-use-enterprise-rss/"&gt;more popular&lt;/a&gt; is that most RSS news readers don't understand the security rules of enterprise applications.  Some &lt;a href="http://www.google.com/search?q=rss+reader+authentication"&gt;RSS readers understand HTTP level authentication&lt;/a&gt;, but I'm not aware of any enterprise level applications that actually use HTTP level authentication. Everything that I've ever seen is forms-based (I'm excluding fancy options like smartcards, biometrics, etc.; just what comes out of the box).&lt;br /&gt;&lt;br /&gt;If the news readers can't get into the enterprise system, then the enterprise system owners never feels any pressure to produce the RSS feeds.  Classic &lt;a href="http://en.wikipedia.org/wiki/The_chicken_or_the_egg"&gt;chicken and egg&lt;/a&gt; problem. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So, what is Grey Sparling doing to help? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you're probably aware, Grey Sparling has a &lt;a href="http://www.greysparling.com/DesktopSingleSignon.html"&gt;Desktop Single Signon product&lt;/a&gt; for PeopleSoft that uses your Windows login credentials to establish your PeopleSoft session for you.  We also have a new PeopleSoft specific Web Application Firewall, which we call &lt;a href="http://www.greysparling.com/brochure/GS_ERPFirewall_for_PeopleSoft_Overview.pdf"&gt;ERP Firewall for PeopleSoft&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Combining the two of them allows us to offer the ability for desktop based RSS news readers to establish a PeopleSoft session for the user,  but only for RSS feeds!  The session &lt;span style="font-style: italic;"&gt;can't&lt;/span&gt; be used for any other purpose but reading RSS.  The user can still login to PeopleSoft themselves and do their regular work, but the automatic login for the news reader is blocked from doing anything else.  &lt;br /&gt;&lt;br /&gt;The PeopleSoft session that the RSS news reader uses is logged in as the actual PeopleSoft user, so all regular PeopleSoft data security is applied to the feeds.  Take a look at some of the &lt;a href="http://www.erpassociates.com/peoplesoft-corner-weblog/enterprise-rss/"&gt;proof of concept RSS generation from PeopleSoft that Brent Martin put together&lt;/a&gt; to get some more ideas about how you could do this in your organization.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Great,  how about a freebie? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get things going here, we're going to offer a free copy of this to some one out there.  If you win, you'll get full support and assistance just like any paying customer, which means a production instance of a PeopleSoft, along with as many dev and test instances that you use to support that production instance.  No user limits, no CPU limits, etc. etc.&lt;br /&gt;&lt;br /&gt;There is a catch though. &lt;br /&gt;&lt;br /&gt;We're going to do a lottery to pick a winner, but in order to get your virtual hat thrown in the ring,  you have to come up a few good scenarios where you'd put this to use within your organization.  Ideally this would be something that you'd be willing to share as a case study (maybe a user conference presentation or something).&lt;br /&gt;&lt;br /&gt;You can either email us "enterpriserss  at greysparling.com" with your ideas, or better yet, post a comment here or on your blog.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Anything else to be aware of? &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In order to use this you need to be able to install software in your PeopleSoft environment. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;The RSS news reader that gets used should be something that runs on each user's desktop.  This is because it's the &lt;span style="font-style: italic;"&gt;Desktop&lt;/span&gt; Single Signon product that is providing the news reader access into PeopleSoft.  If you use a server based news reader, then it won't be able to use your existing Windows login.  There are some ways that this could be enabled in the future, but nothing that we're ready to provide today.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Since this uses your Windows login, it's only meant for people that login to &lt;span style="font-style: italic;"&gt;your &lt;/span&gt;Windows network (so this doesn't yet help with providing your external customers access to PeopleSoft RSS feeds).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What we're offering is around the security of RSS access, not actual RSS feed content. Take a look at Brent Martin's blog entry for ideas on actually creating RSS feeds inside PeopleSoft.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/enterprise-rss-day.html' title='Enterprise RSS Day'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=6711824772090255640' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/6711824772090255640'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/6711824772090255640'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-2640196161555635545</id><published>2008-04-15T09:40:00.000-07:00</published><updated>2008-04-15T10:58:18.725-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Collaborate'/><title type='text'>Strengthening Data Privacy in PeopleSoft</title><content type='html'>Session 2886 in the OAUG section.&lt;br /&gt;&lt;br /&gt;Monica Nelmes Elliott&lt;br /&gt;PeopleSoft Product Marketing&lt;br /&gt;Approva&lt;br /&gt;&lt;br /&gt;Dr Marilyn Prosch, Ph.D., CIPP&lt;br /&gt;Department of Accounting&lt;br /&gt;Arizona State University&lt;br /&gt;&lt;br /&gt;Monica is beginning the session by talking about when she was victimized by identity theft a few years back. A Fortune 100 company using PeopleSoft had someone access her account, open up several lines of credit. Big nightmare.  So she's very passionate about this issue now.&lt;br /&gt;&lt;br /&gt;Prior to bringing Dr. Prosch up, she takes a few questions. One was about being able to monitor specific users in PeopleSoft (maybe some new call center employees that you're worried are trying to pull up too many accounts or something).  She said that Approva announced a partnership at the conference with a company, Lumigent, that does database monitoring (here is &lt;a href="http://www.approva.net/company/press/approva_partners_with_lumigent_to_extend_controls_intelligence_capabilities_to_database_monitoring"&gt;the press release&lt;/a&gt;  )&lt;br /&gt;&lt;br /&gt;Now Dr. Prosch is up. She's been in this area for about 7 years, came in from systems background. Has several slides showing all of the different organizations that have had privacy breaches in 2007. She mentioned that Arizona (where she is from) is now ranked first in the U.S. for identity theft, and that the governor there has just appointed 2 new positions for this.&lt;br /&gt;&lt;br /&gt;Dr. Prosch says that PeopleSoft is used in many the organizations involved in these breaches.  Most are not system hacks, but data downloads where the data/laptops get stolen or from backups that get lost/stolen.&lt;br /&gt;&lt;br /&gt;39 states now have identity breach laws, but she does not believe that the federal government is going to do anything soon, so you're essentially required to know about the rules for all of the places that you do business (ed: of course, this is true globally as well).&lt;br /&gt;&lt;br /&gt;Talking about FTC being more likely to be lenient if you are at least showing that you are taking action&lt;br /&gt;&lt;br /&gt;The Federal Trade Commission is going after some big cases now. These can have a pretty significant financial impact on an organization. However, she believes that the FTC is more likely to show some leniency if you can show that you were taking action towards preventing breaches before the breach occurred.&lt;br /&gt;&lt;br /&gt;The discussion then went into the concept of GAPP; Generally Accepted Privacy Principles.  Much like GAAP (Generally Accepted Accounting Principles), the idea is to codify best practices for privacy.  These are &lt;a href="http://infotech.aicpa.org/Resources/Privacy/Generally+Accepted+Privacy+Principles/"&gt;available to download&lt;/a&gt; for free and can be applied in your organization today. If you want someone to verify/audit your compliance with GAPP (maybe a business partner mandates this), then you can pay an auditor.  The GAPP framework should address most major privacy legislation (domestic and international).  It has 66 principles across 10 categories.&lt;br /&gt;&lt;br /&gt;Dr. Prosch is now talking about the concept of Continuous Privacy Monitoring. She's showing a 5 stage "privacy lifecycle" chart. Stage 1 is ad-hoc efforts around privacy, stage 4 is being ready for a GAPP audit, and stage 5 is continuously monitoring privacy within your organization (ed: to continue the accounting analogy; being able to close the books at any time, instead of just at month's end).&lt;br /&gt;&lt;br /&gt;Monica is back now talking about defining security rules for roles and permission lists in spreadsheets. How many people can answer who has access to a given piece of data after PeopleSoft has been running for awhile?&lt;br /&gt;&lt;br /&gt;She's giving a list of example fields to monitor in different PeopleSoft products (the actual field names in PeopleSoft, not just what the fields are). Approva can monitor all uses of sensitive fields in PeopleSoft. Joel Hutchison is an ex-PeopleSoft person who is the main developer for this. He's sitting in the audience, but can take questions.&lt;br /&gt;&lt;br /&gt;It would have been nice to see a bit more detail about this or maybe a demo, but overall it was a very good session.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/strengthening-data-privacy-in.html' title='Strengthening Data Privacy in PeopleSoft'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=2640196161555635545' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/2640196161555635545'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/2640196161555635545'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-1461050665645343644</id><published>2008-04-15T08:21:00.000-07:00</published><updated>2008-04-15T08:54:10.861-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Global'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Collaborate'/><title type='text'>International Rollouts of PeopleSoft - Do's and Don'ts</title><content type='html'>Session 3291 in the OAUG section.&lt;br /&gt;&lt;br /&gt;I went to Sylvain Nguyen's presentation on PeopleSoft global rollouts. Sylvain used to be a manager for PeopleSoft Global Financials development, and is now the CEO of &lt;a href="http://www.ataway.com/"&gt;Ataway&lt;/a&gt;.  Ataway is a consulting company that specializes in PeopleSoft (note that we've worked with them before)&lt;br /&gt;&lt;br /&gt;I came in about 15 minutes late, because the OAUG tracks are not sync-ed up with the Quest tracks timewise. Which is probably driven more by scheduling lunch for everyone here than anything else.  Sylvain was in the middle of discussing the question "How can a global rollout be cost efficient, fast paced, and with quality when so many odds are stacked against it?". This then led into a series of Dos and Don'ts.&lt;br /&gt;&lt;br /&gt;Do&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Define template based global methodology&lt;/li&gt;&lt;li&gt;Identify business leaders and analysts in the US and local countries&lt;/li&gt;&lt;li&gt;Use local resources in the project team&lt;/li&gt;&lt;/ul&gt;Don't&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Start user requirement gathering before corporate business processes are mapped&lt;/li&gt;&lt;li&gt;Underestimate the impacts of working with remote teams&lt;/li&gt;&lt;/ul&gt;Do you have a US based team travel to each country to gather requirements?  Sylvain recommends having local people onsite for the project implementation.  They know the business practices, they know the culture, so they can be of great assistance.&lt;br /&gt;&lt;br /&gt;Gathering local requirements. When planning deployment, the first thing to do is identify/document your proper business processes. If the core business processes are documented then the requirements gathering is much easier.&lt;br /&gt;&lt;br /&gt;One other thing that Sylvain recommended is to avoid consulting companies that don't have global experience. He gave an example of an implementation where consulting company didn't know what VAT was, so they left it to be calculated manually.  The local users thought this was a joke since the most basic local packages would do this automatically, but they were told that PeopleSoft was state of the art, etc.&lt;br /&gt;&lt;br /&gt;The presentation then got into data strategies. It's common to have a single set of vendors, a small number of setids for US based implementations. That probably won't work for a global deployment, so if you haven't looked at how PeopleSoft supports this, then it's time to learn. (note: a great resource for this is &lt;a href="http://blog.greysparling.com/2005/08/understanding-setids-and-business.html"&gt;our weblog post on SetIDs and Business Units&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;One thing that comes up in some implementations is that the local users already know English, so people wonder why it's necessary to have the global support.  Sylvain gave an example of Japanese users that know English. But they need to interact with other people that don't. If you send an invoice in English in Japan, you probably won't get paid because the mailman won't know how to deliver it. So you do need to be sure that your Japanese users can enter things like addresses in Japanese.&lt;br /&gt;&lt;br /&gt;Do&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Trust psft features around global&lt;/li&gt;&lt;li&gt;Prototype early as possible&lt;/li&gt;&lt;li&gt;Involve local business leaders in review of designs. Implementation time is too late. &lt;/li&gt;&lt;/ul&gt;Don't&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Underestimate the impact on existing customizations&lt;/li&gt;&lt;li&gt;Forget that production support will have to change to handle global users and requirements&lt;/li&gt;&lt;/ul&gt;There was then a short performance discussion. Most people understand about wide area networking and that there may be performance issues when you have users half way around the world. But you also have to consider things like running batch jobs in the middle of the night in the US. There's never really a good time to do that in a global implementation because it's always someone's work day.  So you have to look at better tuning of batch or even locking out users from targeted areas while batch is running.&lt;br /&gt;&lt;br /&gt;Global deployments also impact your support organization. If a critical business issue happens at 3am headquarters time, who takes the call? (Hillary!) Would you allow the local teams to make code changes to do a critical fix if needed?  Would you make your project team at headquarters wear pagers?  Sylvain recommends setting service level agreements up front for these sorts of things so that it can be decided upon rationally up front, instead of waiting for a crisis to happen.&lt;br /&gt;&lt;br /&gt;Do&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Identify and train local SME as early as possible&lt;/li&gt;&lt;li&gt;Assign dedicated local support analysts&lt;/li&gt;&lt;li&gt;Train the support team on the new processes and features&lt;/li&gt;&lt;/ul&gt;Don't&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Underestimate time and cultural differences in resolving problems. &lt;/li&gt;&lt;li&gt;Think the project is over when the country is live. &lt;/li&gt;&lt;/ul&gt;Sylvain gave an example of a project review where there were no complaints about the new country rollout in Japan. As it turns out, the users were unhappy, but did not want to say anything.  This is just a cultural difference, but the project team was not aware that no complaints was not the same thing as no issues.&lt;br /&gt;&lt;br /&gt;One question came up at the end was about whether or not to use a single PeopleSoft instance or multiple PeopleSoft instances for development when you have different development teams around the world. Sylvain recommends a single instance so that you don't have to worry about missing changes from one environement.  There were a few nodding heads in the audience that Sylvain pointed out.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/international-rollouts-of-peoplesoft.html' title='International Rollouts of PeopleSoft - Do&apos;s and Don&apos;ts'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=1461050665645343644' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/1461050665645343644'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/1461050665645343644'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-5152893406479503442</id><published>2008-04-13T13:19:00.000-07:00</published><updated>2008-04-14T07:37:56.485-07:00</updated><title type='text'>Collaborate 2008</title><content type='html'>We're heading out to the Collaborate conference today.  &lt;p&gt;&lt;br /&gt;Like we did at OpenWorld, we'll try to blog some of the sessions that we attend, so if you can't make it stay tuned here.  There should be some interesting content presented in the sessions, and I expect that there will be some good &lt;a href="http://en.wikipedia.org/wiki/Unconference"&gt;unconference&lt;/a&gt; material in the conference center hallways. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;If you're a regular blog reader, be sure to catch us and say hello.  See you in Denver. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/collaborate-2008-were-heading-out-to.html' title='Collaborate 2008'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=5152893406479503442' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5152893406479503442'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5152893406479503442'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-196254981987294710</id><published>2008-04-11T03:09:00.000-07:00</published><updated>2008-04-14T06:37:09.081-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Firewall Product as Savior</title><content type='html'>We had an interesting situation with one of our customers recently where creative use of one of our products, the &lt;a href="http://www.greysparling.com/brochure/GS_ERPFirewall_for_PeopleSoft_Overview.pdf"&gt;ERP Firewall for PeopleSoft&lt;/a&gt;, saved the customer from having to do an emergency PeopleTools upgrade.  Needless to say, the drinks are on them at &lt;a href="http://questdirect.org/QuestDirect/Events/COLLABORATE/"&gt;Collaborate&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For those that aren't familiar with our ERP Firewall for PeopleSoft product, it is a &lt;a href="http://www.cgisecurity.com/questions/webappfirewall.shtml"&gt;Web Application Firewall&lt;/a&gt; that has deep knowledge of PeopleSoft applications.  It doesn't just requests coming in as URL strings that someone can write &lt;a href="http://regex.info/blog/2006-09-15/247"&gt;regular expressions&lt;/a&gt; to process, it sees the request in the context of PeopleSoft.  It knows what a PeopleSoft component is; it knows what a Web Profile is, it understands PeopleSoft security, etc.&lt;br /&gt;&lt;br /&gt;The problem that our customer hit was that when someone enters an invalid password logging in to PeopleSoft, PeopleTools would drop the portal and node name from the URL. Normally this wouldn't be a problem because most people are accessing the default portal in PeopleSoft (generally the EMPLOYEE portal).   When you login to PeopleSoft and don't specify a portal, you get the default portal. Makes perfect sense.&lt;br /&gt;&lt;br /&gt;However, when you also have a large number of customers accessing the CUSTOMER portal, then it gets more interesting.  The customer end user attempts to login at https://some.host.com/psp/ps/CUSTOMER/CUST/h/?cmd=login . They enter a bad password by accident, and then they get redirected to https://some.host.com/psp/ps/?cmd=login along with the standard message saying that the username or password is incorrect.&lt;br /&gt;&lt;br /&gt;So they type in the correct password and get logged in.  Except now they are pointed to the EMPLOYEE portal (because the CUSTOMER portal reference got removed).  And not being an EMPLOYEE, they don't have access to anything. Oops.  Their session is valid, but the URL is pointing to somewhere where they get nothing.&lt;br /&gt;&lt;br /&gt;Turns out that this is fixed in a PeopleTools patch (8.48.13 for the 8.48 codeline, I'm not sure about other PeopleTools versions), but the customer was live with an earlier patch release in the 8.48 codeline and was concerned about dropping a new version of PeopleTools in.&lt;br /&gt;&lt;br /&gt;Since they have the ERP Firewall product already (they use it for restricting employees from using the customer facing / internet accessible web server and force them to go through web servers that are just for employee use) we decided to treat accessing the EMPLOYEE portal as a security condition that we want to detect. However, instead of doing something like blocking access, we calculate the proper CUSTOMER portal URL and silently redirect the user there.  So we're actually using a security tool to solve a usability problem.&lt;br /&gt;&lt;br /&gt;You might think that just replacing EMPLOYEE with CUSTOMER in the URL would be enough to solve the problem, but there were a few wrinkles which ended up making the ERP Firewall piece a really good fit.&lt;br /&gt;&lt;br /&gt;Part of the challenge was making sure that we kept all of the users correct context when redirecting. Most users would be coming through the portal home page, but some might be coming in from deep links into order history or from bookmarks, etc.  So we couldn't just have a single URL to redirect people to. &lt;br /&gt;&lt;br /&gt;The stickier problem was that the ERP Firewall needed to redirect differently based on whether the person was logged on or not.  If the user was not logged in, and we redirected them to the CUSTOMER portal home page,  PeopleTools viewed that as a login attempt,  and gave the user the signon page.  Normally PeopleTools handles this quite well; an attempt to hit a deep link in PeopleSoft when you're not logged in gets you the signon page, and once you login, you go to that deep link that you originally requested. &lt;br /&gt;&lt;br /&gt;However, due to this bug, the CUSTOMER portal was getting dropped again, so it was necessary to append the cmd=login parameter that PeopleTools recognizes as a request for the login page.  Of course, if the user is logged in already and you redirect them with a cmd=login link, then you just killed their session.&lt;br /&gt;&lt;br /&gt;The nice thing is that the ERP Firewall for PeopleSoft has the deep knowledge of PeopleSoft to make this trivial.  It knows what a PeopleSoft portal is,  it knows what PeopleSoft roles a user has, it knows whether they are logged in or not, and it knows how to properly generate  and/or modify PeopleSoft URLs in a safe fashion. &lt;br /&gt;&lt;br /&gt;Of course, it knows lots of other things as well.  Let us know if you'd like to learn more about it.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/we-had-interesting-situation-with-one.html' title='Firewall Product as Savior'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=196254981987294710' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/196254981987294710'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/196254981987294710'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-795410767129057898</id><published>2008-04-09T16:34:00.000-07:00</published><updated>2008-04-10T10:47:06.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reporting'/><category scheme='http://www.blogger.com/atom/ns#' term='nVision'/><title type='text'>Reporting against multiple Setids in PeopleSoft</title><content type='html'>&lt;p&gt;This is another of those posts that I had intended to get completed a while ago, but ended up getting distracted.&lt;/p&gt;&lt;p&gt;One of our loyal blog readers is at an organization with 42 setids and they are trying to do consolidated reporting across them.  This is an issue that I'm very familiar with.  Many years ago (12 to be exact), I was doing consulting work at Norrell Services, a staffing company based in Atlanta.  They also had a large number of business units and setids and needed to perform reporting across them.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;How did you accomplish this?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This was done through a technique I call the Super-Setid.  This is where you create a completely new setid that contains the union of all values across the different setids.  You can then build trees and do other things against that new setid.  When doing nVision reporting, you can create a Super Business Unit that is intended to map to the super-setids of your chartfields (and pull in your trees as well).  Because the report request in nVision can have a business unit different than the data you're reporting against, this is possible (which also means that your business unit will be used for setid mapping only).  For those who kept track of features in Financials at PeopleSoft, they had tried to accompplish this with a feature called Partial Tableset Sharing, which was targeted to Financials 7.5, but was pulled at the last minute and never released because they were never able to get it to work properly across all the different use cases customers needed.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What's involved in implementing the Super Setid?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Good question, as always.  To implement this, you will want to create a surrogate table for the valid values of each field you want to use a super-set for.  This table will be used as the foundation for your trees, for filtering data in your reports, and for getting additional attributes.&lt;/p&gt;&lt;p&gt;To create the surrogate table, there are two main options:&lt;ul&gt;&lt;li&gt;Create a view against your valid value table&lt;/li&gt;&lt;li&gt;Create a new table and populate it manually&lt;/li&gt;&lt;li&gt;Use PeopleSoft's summary ledger and summary tree functionality&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;View&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Let's start by looking at the view.  In order for the view to work, your any chartfield or other table you're creating the superset for must have values that are either unique or consistent across the different setids.  In other words, you cannot have department 1000 mean Finance in one set id and have department 1000 mean Manufacturing in another setid.  This is usually the case, but in the scenario where an organization does a quick migration of an acquisition into PeopleSoft and they don't convert chartfield or other values during the migration, this may not be the case.&lt;/p&gt;&lt;p&gt;Let's use the DEPT_TBL as an example for creating the view.  The first step is to open up the record definition for DEPT_TBL, save it under a new name,  and remove the fields you don't plan to use for reporting.  Then, you change it to be a view and enter the select criteria for the view (hard-coding the setid to be your super-setid).  Here is an example of this select statement:&lt;/p&gt;&lt;p&gt;&lt;code&gt;SELECT 'CONS' &lt;br /&gt; , A.DEPTID &lt;br /&gt; , A.EFFDT &lt;br /&gt; , A.EFF_STATUS &lt;br /&gt; , A.DESCR &lt;br /&gt; , A.DESCRSHORT &lt;br /&gt; , A.COMPANY &lt;br /&gt; , A.SETID_LOCATION &lt;br /&gt; , A.LOCATION &lt;br /&gt; , A.TAX_LOCATION_CD &lt;br /&gt; , A.MANAGER_ID &lt;br /&gt; , A.MANAGER_POSN &lt;br /&gt; , A.BUDGET_YR_END_DT &lt;br /&gt; , A.BUDGET_LVL &lt;br /&gt; , A.GL_EXPENSE &lt;br /&gt; , A.SYNCID &lt;br /&gt; , A.SYNCDTTM &lt;br /&gt;  FROM PS_DEPT_TBL A &lt;br /&gt; WHERE A.SETID = ( &lt;br /&gt; SELECT MAX(B.SETID) &lt;br /&gt;  FROM PS_DEPT_TBL B &lt;br /&gt; WHERE B.DEPTID = A.DEPTID)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Populating a new table&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Let's move on to discuss how to populate a separate table with data.  This gives you a bit more control over the process of doing this than a view would provide (such as rules for picking values that may be duplicated across setids).  There are two ways of accomplishing this:  the first is to write an application engine program you run periodically to move the data (and the SQL statement above could be the starting point for doing %InsertSelect).  Another option is to add SavePostChg Peoplecode to the record you're doing this for. &lt;/p&gt;&lt;p&gt;Let's focus on DEPT_TBL as an example for this again.  I've created a new record definition called DEPT_CONS_TBL, which has a subset of the fields in the DEPT table I want to use for reporting.  I, then added SavePostChange peoplecode to the SETID field on the DEPT_TBL record.  This means that every time data is saved into the table, my PeopleCode will be invoked to update my new table.&lt;/p&gt;&lt;p&gt;&lt;code&gt;/* Grey Sparling Solutions - Create SuperSetid value */&lt;br /&gt;/*                                                   */&lt;br /&gt;&lt;br /&gt;rem Check to see if current value currently exists in Super Setid Record;&lt;br /&gt;Local Record &amp;SuperSetidRec;&lt;br /&gt;Local Record &amp;CurrentRec;&lt;br /&gt;Local string &amp;SuperSetidVal = "CONS";&lt;br /&gt;&lt;br /&gt;&amp;CurrentRec = GetRecord(Record.DEPT_TBL);&lt;br /&gt;&lt;br /&gt;&amp;SuperSetidRec = CreateRecord(Record.DEPT_CONS_TBL);&lt;br /&gt;&amp;SuperSetidRec.GetField(Field.SETID).Value = &amp;SuperSetidVal;&lt;br /&gt;&amp;SuperSetidRec.GetField(Field.DEPTID).Value = DEPT_TBL.DEPTID;&lt;br /&gt;&lt;br /&gt;If &amp;SuperSetidRec.SelectByKeyEffDt(DEPT_TBL.EFFDT) Then&lt;br /&gt;&lt;ul&gt;rem Update existing value;&lt;br /&gt;   &amp;CurrentRec.CopyChangedFieldsTo(&amp;SuperSetidRec);&lt;br /&gt;   &amp;SuperSetidRec.Update();&lt;/ul&gt;&lt;br /&gt;Else&lt;br /&gt;&lt;ul&gt;rem insert new value;&lt;br /&gt;   &amp;SuperSetidRec = CreateRecord(Record.DEPT_CONS_TBL);&lt;br /&gt;   &amp;CurrentRec.CopyFieldsTo(&amp;SuperSetidRec);&lt;br /&gt;   &amp;SuperSetidRec.GetField(Field.SETID).Value = &amp;SuperSetidVal;&lt;br /&gt;   &amp;SuperSetidRec.GetField(Field.DEPTID).Value = DEPT_TBL.DEPTID;&lt;br /&gt;   &amp;SaveRtn = &amp;SuperSetidRec.Save();&lt;/ul&gt;&lt;br /&gt;End-If;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Summary Ledger and Summary Tree&lt;/u&gt;&lt;/p&gt;&lt;p&gt;The last option we'll discuss is using summary ledgers and summary trees for accomplishing this.  This option requires using a little bit of abstract thinking.  Imagine that you are capturing data at a very granular level (i.e. low-level accounts), but you don't need to perform consolidated reporting against that level.  In other words, you can show your values aggregated a bit when doing reporting.  If this occurs, then you don't need to have a single set of valid values at the detail level that works across setids.  Instead, you can get a consistent picture by ensuring that your trees have a consistent node structure across your different setids and use those nodes for reporting.  You will, in essence, set up your trees to have a common hierarchy, but the sets of values linked in at the leaf level will be different for each setid.  The tree will actually be doing your mapping for you.&lt;/p&gt;&lt;p&gt;You will then run PeopleSoft's summary ledger build process for each business unit, where you aggregate your chartfields to a specific level in these trees (thus storing the values with a consistent set of chartfield values across setids).  Viola!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Putting this to use&lt;/strong&gt;&lt;/p&gt;Okay.  Now you've handled the data manipulation to get a consistent set of values across your setids.  Now, you need to use this in your reporting.  How do you do it?&lt;/p&gt;&lt;p&gt;The first thing to do is to build a tree that you can use.  If you're creating the super-setid with a view or table, then you will create a tree structure that uses your new table for the leafs, and build a tree with that structure using your super-setid.  You will also want to use that table for valid values in reporting (for value criteria in nVision or for query).  If you use the summary ledger option, you will build your report against the summary ledger and report across business units.  You would also build a summmary tree as referenced in PeopleBooks.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.greysparling.com/blog/GS_CONS_SETIDS.zip"&gt;Here is a project&lt;/a&gt; with the code referenced above.&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/04/reporting-against-multiple-setids-in.html' title='Reporting against multiple Setids in PeopleSoft'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=795410767129057898' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/795410767129057898'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/795410767129057898'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-5699933441919432953</id><published>2008-03-26T21:59:00.000-07:00</published><updated>2008-03-31T15:28:34.971-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Client/Server Single Signon for PeopleSoft</title><content type='html'>Larry &lt;a href="http://blog.greysparling.com/2008/03/creating-shortcut-to-opening-query-in.html"&gt;recently mentioned&lt;/a&gt; that we had finally recorded a Flash demo for the client/server portion of our &lt;a href="http://www.greysparling.com/DesktopSingleSignon.html"&gt;Desktop Single Signon for PeopleSoft&lt;/a&gt; product.  In a nutshell, what it does is let your developers and reporting power users (Query, nVision) access PeopleSoft without getting prompted for their login.  Instead, their Windows/Active Directory credentials that they used to login to the network are used to establish their session.&lt;br /&gt;&lt;br /&gt;One interesting aspect of implementing our Desktop Single Signon with the client/server support is that you can now run a PeopleSoft system without &lt;span style="font-style: italic;"&gt;anyone(3)&lt;/span&gt; having a password inside PeopleSoft.   You'd still have the accounts needed for booting the appservers, process schedulers, etc., but no passwords that a human (1) would ever use would need to be stored inside PeopleSoft.  Even developers or people promoting changes from one PeopleSoft instance to another (such as from test to production) would not have passwords within PeopleSoft.&lt;br /&gt;&lt;br /&gt;What's really cool about this is that it leverages something that has existed since PeopleTools 1,  which is the &lt;a href="http://www.google.com/search?q=psuser.dll"&gt;psuser.dll&lt;/a&gt; user exits.  PeopleSoft delivers psuser.dll without any delivered functionality in it, except for a couple of C functions that PeopleTools will call at login time.  The delivered psuser.dll does nothing,  but PeopleBooks documents how you can supply your own implementation to override signon logic for 2 tier and 3 tier connections.&lt;br /&gt;&lt;br /&gt;Back in the client/server heyday this functionality was used by a few different vendors for doing client/server single signon.  The only one that I could find from a few web searches was Novell's Single Signon for PeopleSoft, but they appear to have &lt;a href="http://support.novell.com/techcenter/articles/ana20000202.html"&gt;given up on that as of PeopleSoft 7.x&lt;/a&gt;.  In fact, they don't even list PeopleSoft at all in their list of &lt;a href="http://www.novell.com/products/securelogin/techspecs.html?tab=1"&gt;applications that they support&lt;/a&gt; (2).  So, Grey Sparling is the only vendor selling a client/server single signon product for PeopleSoft 8 applications today.  We're first and last to market!&lt;br /&gt;&lt;br /&gt;All kidding aside,  it is interesting that no one does anything with the client/server aspects of PeopleSoft, since you quite literally can not run a PeopleSoft shop without at least some people using the client/server tools.&lt;br /&gt;&lt;br /&gt;When your developers make a change to PeopleSoft, it is typically done through a 2 tier Application Designer session.  Same thing for promoting changes between different environments.  Same thing for applying maintenance.  There are also still a number of places that use the client/server reporting tools.  I know of a few places where the 3 tier Query users number in the hundreds (including one customer with somewhere north of 800 Query users).&lt;br /&gt;&lt;br /&gt;And there are &lt;span style="font-style: italic;"&gt;no&lt;/span&gt; password controls for 2 tier connections.  If someone's password has expired and they try to login via 2 tier, guess what happens? They'll get logged right in.  Why?  Because there is no signon PeopleCode for 2 tier connections and password controls are enforced with signon PeopleCode.&lt;br /&gt;&lt;br /&gt;Another interesting wrinkle with giving 2 tier access is that you may be inadvertently circumventing other security measures that you have in place for PeopleSoft web access.  How?&lt;br /&gt;&lt;br /&gt;Suppose that you use the delivered PeopleSoft support for validating your user logins against an LDAP directory.  Your users type in their username and password in the standard PeopleSoft signon screen in their web browser and the PeopleSoft application server tries validating those against the LDAP server, where there are more stringent security measures in place than PeopleSoft supports.&lt;br /&gt;&lt;br /&gt;Except that PeopleTools will &lt;span style="font-style: italic;"&gt;always&lt;/span&gt; try the username/password against the PeopleSoft database first, checking in  the PSOPRDEFN table.  You can't disable this  behavior (which is documented in PeopleBooks).  Your 2 tier users can login to a PeopleSoft web session by just using the same user/password that they use for 2 tier.  The LDAP server will never be consulted and neither will any PeopleSoft password controls.&lt;br /&gt;&lt;br /&gt;Most PeopleSoft shops deal with this by having anyone that has 2 tier access use a different user account for client/server sessions vs web sessions.  That is better than bypassing security controls, but most auditors are not too happy about people having multiple accounts for the same system.&lt;br /&gt;&lt;br /&gt;So if your PeopleSoft auditors haven't hit you up on this issue, it's probably because they don't realize that it &lt;span style="font-style: italic;"&gt;is&lt;/span&gt; an issue.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One interesting technical implementation detail is that although we plug in to the client/server tools through the delivered PeopleSoft user exit,  we actually utilize the web single signon to establish the client/server session (including mapping from your Windows user name to your PeopleSoft user account name. &lt;br /&gt;&lt;br /&gt;This means that we could potentially port the client/server single signon part of Desktop Single Signon to work with other web single signon products that support PeopleSoft (e.g. Oracle, Sun, IBM/Tivoli, home grown, etc.). No promises, but let us know your thoughts if you're interested.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(1) You would still have the database level accounts that are independent of the application being used (i.e. SYSADM or sa). I wasn't implying that DBAs aren't human though.  Some of &lt;a href="http://blog.psftdba.com/"&gt;my friends are DBAs&lt;/a&gt; :-)&lt;br /&gt;&lt;br /&gt;(2) Novell does still list SAP's Windows client's (SAP R/3 front.exe and saplogin.exe) in their list of supported Windows applications.&lt;br /&gt;&lt;br /&gt;(3) See the comments.  Brent Martin thought of a use case that I had forgotten about (but shouldn't have!).</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/03/clientserver-single-signon-for.html' title='Client/Server Single Signon for PeopleSoft'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=5699933441919432953' title='3 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5699933441919432953'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/5699933441919432953'/><author><name>Chris Heller</name><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-8481966753528883083</id><published>2008-03-20T22:22:00.000-07:00</published><updated>2008-03-20T22:44:29.633-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drilling'/><category scheme='http://www.blogger.com/atom/ns#' term='Query'/><title type='text'>Creating a Shortcut to Opening a Query in Windows Query</title><content type='html'>&lt;p&gt;Chris and I finally had some downtime today to catch up on a few things. &lt;ul&gt;&lt;li&gt;Catch up with Peter Gassner and the &lt;a href="http://www.verticalsondemand.com/"&gt;Verticals On Demand&lt;/a&gt; Crew&lt;/li&gt;&lt;li&gt;Finally record a flash demo for Client/Server single signon&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;When we recorded the flash demo of the single signon, we remembered that we had one customer who had created shortcuts to run queries in windows, which single signon made work really well for them. Of course, we had to include this in the demo. &lt;p&gt;&lt;embed src="http://blog.greysparling.com/DrillToPSQED_Demo.swf" width="600" height="450" type="application/x-shockwave-flash" wmode="transparent"&gt;&lt;/embed&gt; &lt;p&gt;&lt;strong&gt;Cool! How did you do it&lt;/strong&gt; &lt;p&gt;Well, we actually leveraged a hook that I had been using up until release 8.0 in the windows client (you could actually pass parameters in the windows client to open up a panel with a specific item the same way you can in the web). &lt;p&gt;The actual command line used in the shortcut is as follows &lt;p&gt;&lt;strong&gt;E:\pt846\bin\client\winx86\psqed.exe PUBLIC.QUERY.GS_TEST_JRNL_DTL&lt;/strong&gt;&lt;p&gt;As long as you follow the syntax of PUBLIC.QUERY and then the query name (or PRIVATE.QUERY if the query is private), this will work.  Unfortunately, there isn't a way to tell it to run a query and pass in the parameters (but Chris tells me he's already working on it).</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/03/creating-shortcut-to-opening-query-in.html' title='Creating a Shortcut to Opening a Query in Windows Query'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=8481966753528883083' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/8481966753528883083'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/8481966753528883083'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-137395574427671159</id><published>2008-03-17T10:36:00.000-07:00</published><updated>2008-03-18T07:34:19.093-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drilling'/><title type='text'>Links not Automatically Opening a Page</title><content type='html'>&lt;p&gt;This is another blog posting that Chris and I had discussed putting out there (but got distracted doing other things, one of which is keeping up with the PeopleSoft community...  Chris calls this &lt;a href="http://sethgodin.typepad.com/seths_blog/2005/03/dont_shave_that.html"&gt;Yak Shaving&lt;/a&gt;.)&lt;p&gt;So I finally found &lt;a href="http://peoplesoft.ittoolbox.com/groups/technical-functional/peopletools-l/link-in-ps-query-1967907"&gt;this posting&lt;/a&gt; on ITTOOLBOX, and realized that it was time to discuss some of the intricacies of bypassing the search page here.&lt;p&gt;For those who have been following the blog, you may be familiar with some of the posts we've done on drilling and PeopleSoft.&lt;ul&gt;&lt;li&gt;Adding hyperlinks to Queries and nVision reports (described in &lt;a href="http://blog.greysparling.com/2005/07/embedding-macros-into-nvision-reports.html"&gt;this powerpoint&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Drilling to other Content in nVision &lt;a href="http://blog.greysparling.com/2005/09/drilling-to-other-content-in-nvision.html"&gt;blog posting&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Drilling Deeper into PeopleSoft Pages &lt;a href="http://blog.greysparling.com/2007/09/drilling-deeper-into-peoplesoft-pages.html"&gt;blog entry&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Code to drill to any chartfield &lt;a href="http://blog.greysparling.com/2007/09/code-to-drill-to-any-chartfield.html"&gt;blog entry&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Drilling to a performance or development document from a URL &lt;a href="http://blog.greysparling.com/2007/10/opening-up-performance-or-development.html"&gt;blog posting&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So, as you can see, drilling is a recurring theme here in the blog.  Let's look at what the component processor does, and how this affects drilling.&lt;p&gt;&lt;strong&gt;How the component processor handles drilling&lt;/strong&gt;&lt;p&gt;Let's start by revisiting the how you can create a URL that opens up a specific page with a specific item.  The first thing is to look at the structure of the PeopleSoft URL to do this.&lt;p&gt;&lt;table summary="" style='vertical-align:top;'&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;http://www.psserver.com/&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Server&lt;/i&gt;&lt;br /&gt;&lt;tr style='background-color:#ededed'&gt;&lt;td&gt;&lt;strong&gt;psp&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Portal or Content&lt;br&gt;psp=Show portal frame&lt;br&gt;psc=Show content only&lt;/i&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;strong&gt;/ps/&lt;/strong&gt;&lt;br /&gt;&lt;tr style='background-color:#ededed'&gt;&lt;td&gt;&lt;strong&gt;EMPLOYEE&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Portal Name&lt;/i&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;/ERP/&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Site&lt;/i&gt;&lt;tr style='background-color:#ededed'&gt;&lt;td colspan=2&gt;&lt;strong&gt;c/&lt;/strong&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;PROCESS_JOURNALS&lt;/strong&gt;&lt;td&gt;&lt;i&gt;PeopleSoft Menu&lt;/i&gt;&lt;tr style='background-color:#ededed'&gt;&lt;td&gt;&lt;strong&gt;.JOURNAL_ENTRY_IE.GBL&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Component and Market&lt;/i&gt;&lt;tr&gt;&lt;td colspan=2&gt;&lt;strong&gt;?&lt;/strong&gt;&lt;tr style='background-color:#ededed'&gt;&lt;td&gt;&lt;strong&gt;BUSINESS_UNIT=US005&amp;amp&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Search Parameter&lt;/i&gt;&lt;tr&gt;&lt;TD&gt;&lt;strong&gt;JOURNAL_DATE=2004-03-31&amp;amp&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Search Parameter&lt;/i&gt;&lt;tr style='background-color:#ededed'&gt;&lt;TD&gt;&lt;strong&gt;JOURNAL_ID=MKMAR5&amp;amp&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Search Parameter&lt;/i&gt;&lt;tr&gt;&lt;TD&gt;&lt;strong&gt;ACTION=U&amp;amp&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Mode&lt;br&gt;A=Add&lt;br&gt;U=Update&lt;br&gt;C=Correction&lt;/i&gt;&lt;tr style='background-color:#ededed'&gt;&lt;TD&gt;&lt;strong&gt;PAGE=JOURNAL_ENTRY1&lt;/strong&gt;&lt;td&gt;&lt;i&gt;Page Name&lt;/i&gt;&lt;/TABLE&gt;&lt;p&gt;So, from the above table, you can see that many of the PeopleSoft artifacts have a place in the URL.  The menu and component tell you what component to invoke (and notice that the page within the component is a parameter just as is the mode in which the component is brought up).  Any field on the search record of the component can be passed as a parameter, but you need to have all of the (primary) Search Keys passed if you want to bypass the search page.&lt;p&gt;&lt;strong&gt;Okay, I think I get it, but what can cause it to trip up?&lt;/strong&gt;&lt;p&gt;Well, there are 3 major things that will bring you back to the search page versus getting directly into the component.&lt;ul&gt;&lt;li&gt;Not all primary search fields are passed in the URL&lt;/li&gt;&lt;li&gt;The component is set to force the search page to display&lt;/li&gt;&lt;li&gt;The component processor encounters an unexpected condition.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let's go through each of these one at a time&lt;p&gt;&lt;strong&gt;Not all primary search fields are Passed&lt;/strong&gt;&lt;p&gt;This was actually the problem with opening up the Job page.  You see, the EMPL_RCD field is a primary search field for the Job component.  This is because employees could potentially be in more than one job (although in my experience it doesn't happen that often).  In this example, just adding &amp;EMPL_RCD=0 to the URL will do the trick if your employees only have 1 job.  Although you could create a new menu item that overrides the search record for certain situations, it wouldn't work here because the key structure of the level 0 record of the component expects EMPL_RCD key to be passed in.&lt;p&gt;One other thing to note, is that quite often it is desirable to invoke the search page with a subset of parameters populated (to target the search results).  One example that we show is drilling into tree manager, populating the fieldname, so that you can see all trees built against that field.  We use this to facilitate the configuration of our &lt;a href="http://www.greysparling.com/RptExplorerProductOverview.html"&gt;report explorer&lt;/a&gt; product, where we know what field the user is interested in, but not which tree they would want to use.&lt;p&gt;&lt;strong&gt;The Component is set to force the search page to display&lt;/strong&gt;&lt;p&gt;So, you may ask yourself why anybody would design a page so that you have to display the search page.  The answer is that you can use PeopleCode to implement row level security in the SearchInit and SearchSave events (which has been done by PeopleSoft developers in spite of the fact that it isn't recommended).  The only time SearchInit or SearchSave events fire is when the search page is displayed, which means that for those components our little trick of passing in values would actually bypass the security implemented for that page.  This is discussed in quite a bit more detail &lt;a href="http://blog.greysparling.com/2005/10/why-you-should-avoid-peoplecode-for.html"&gt;here&lt;/a&gt;.&lt;p&gt;&lt;strong&gt;The component processor encounters an unexpected condition&lt;/strong&gt;&lt;p&gt;So, let's say that you have a URL that opens up a component in add mode, and there is already a row in the search table that contains all of the keys passed in.  Or, let's say that you pass in a set of search keys to open the page in update mode, but there isn't any data in the search record table.  In both of these circumstances, the component processor will determine that it can't meet the request and will display the search page to allow the user to correct the problem (i.e. change the values passed in or change the mode in which the page will be invoked).</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/03/links-not-automatically-opening-page.html' title='Links not Automatically Opening a Page'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=137395574427671159' title='5 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/137395574427671159'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/137395574427671159'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-3986952078869285841</id><published>2008-03-14T12:06:00.000-07:00</published><updated>2008-03-14T13:12:56.379-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tree_Manager'/><title type='text'>Can you use Winter or Node-Oriented Trees in GL?</title><content type='html'>&lt;p&gt;This is a question that came up on the ITToolbox forum peopletools-l.  I decided that it would be a good idea to flush out my answer in additional detail (and post it here). Interestingly, as I did my research, I discovered that how commitment control uses trees was more complex than I thought. I also discovered that one of my statements in my response was inaccurate.&lt;p&gt;Here is a link to &lt;a href="http://peoplesoft.ittoolbox.com/groups/technical-functional/peopletools-l/winter-or-nodeoriented-trees-in-gl-1950671"&gt;the post.&lt;/a&gt;&lt;p&gt;&lt;strong&gt;Can you do it?&lt;/strong&gt; &lt;p&gt;The answer to whether you can use them in GL is still yes, and the method by which you use them is the same as how you would use them elsewhere. For those who don't want to read all the way through my &lt;a href="http://blog.greysparling.com/2005/08/inside-peoplesoft-trees-or.html"&gt;blog post&lt;/a&gt; that discusses trees, here is some background on winter and summer trees. &lt;p&gt;&lt;strong&gt;Winter and Summer Trees&lt;/strong&gt; &lt;p&gt;The naming of summer and winter trees comes from whether they have leaves on them or not. So, just as with a deciduous tree, a summer tree has leaves and a winter tree doesn't. &lt;p&gt;The first question that may come to mind is "why have leaves in one type of tree, but not another?" The answer to that question is whether the hierarchy is logically separate from the items being organizaed by the tree. For example, in a position hierarchy, each position belongs at a specific place in the hierarchy, so there are no need for leaves. By contrast, in most department hierarchies, departments are rolled up into offices, regions, divisions, etc., which means that departments are the leaf, and the rollups are not actually departments (and are the nodes). &lt;p&gt;When these trees are used by products, such as nVision and Query, those tools understand how to gather the underlying information for subtotalling and filtering based on the tree type (the join for a winter tree uses the nodes for joining directly to the data table, whereas the join for a summer tree uses the nodes to identify the leaves to join to the data table). &lt;p&gt;&lt;strong&gt;Why would you want to use Winter Trees in GL?&lt;/strong&gt; &lt;p&gt;This is a good question, because at first blush, most reporting is done against aggregations of chartfields in GL. However, there is one very good scenario where you may want to eliminate the leaves and have each node in the tree be a chartfield value in your ledger table: budgeting. &lt;p&gt;When you do budgeting, quite often it is just too cumbersome to budget everything at the lowest level of granularity in which you capture transaction data (i.e. your journals). If you make the decision that you will create summary accounts that represent different rollups in your hierarchy, then a winter tree will work for you. &lt;p&gt;&lt;img alt="CONTROL_BD_ACCOUNTS winter tree" src="http://blog.greysparling.com/BDAcctsTreeExample.gif" border="0" /&gt;&lt;p&gt;The delivered PeopleSoft demo database has an example of a winter tree on accounts (and interestingly enough, it's called "CONTROL_BD_ACCOUNTS". &lt;p&gt;One thing to keep in mind, however, when having aggregate chartfields values that you use in your trees, is that they are real chartfield values that could have values posted to them unless you do something to specifically prevent that.  The Financials developers have done exactly that for the budgeting scenario.  When you set up a GL account, you can specify it as being a Budgetary Only account, which will allow you to post data into budget ledgers, but not actual ledgers for that account.&lt;p&gt;&lt;strong&gt;Spring Trees&lt;/strong&gt;&lt;p&gt;I think it's also important to mention Spring Trees, because they are similar to winter trees in several ways (and this is something I got wrong in my answer on ITTOOLBOX).  Strictly speaking, though, Spring Trees are summer trees.&lt;p&gt;This is because Spring Trees do have both leaves and nodes.  However, in a Spring Tree, the Leaf and the Node attributes are stored in the same table and use the same field.&lt;p&gt;&lt;img alt="CC_ACCT_SPRING spring tree" src="http://blog.greysparling.com/SpringTreeExample.gif" border="0" /&gt;&lt;p&gt;This is a relatively curious, because a winter tree would accomplish exactly the same thing, especially since the aggregate accounts (i.e. the ones referenced on nodes) are not duplicated on the leaves.  I think the main reason for this is that the tree nodes themselves drive the commitment control rules for determining whether you have budget or not, whereas the leaves are the level at which the data is posted.  However, it looks like I need to do a bit more research on this.</content><link rel='alternate' type='text/html' href='http://blog.greysparling.com/2008/03/can-you-use-winter-or-node-oriented.html' title='Can you use Winter or Node-Oriented Trees in GL?'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14676403&amp;postID=3986952078869285841' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://blog.greysparling.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/3986952078869285841'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14676403/posts/default/3986952078869285841'/><author><name>Larry Grey</name><uri>http://www.blogger.com/profile/02032092286499004382</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-14676403.post-6538095883095022129</id><published>2008-03-13T09:55:00.000-07:00</published><updated>2008-03-13T11:27:53.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reporting'/><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><category scheme='http://www.blogger.com/atom/ns#' term='Query'/><category scheme='http://www.blogger.com/atom/ns#' term='nVision'/><title type='text'>Baby steps with Reporting against PeopleSoft</title><content type='html'>So, you know that there's opportunities for improving your end-users' ability to get meaningful information out of PeopleSoft, but it seems very daunting.  We've had several discussions with organizations in the past 2 weeks, where they see the opportunity, but don't know where to get started.&lt;br /&gt;&lt;br /&gt;This is a bit of a different spin on the following &lt;a href="http://blog.greysparling.com/2007/01/query-and-nvision-reporting-in-hcm.html"&gt;blog entry&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Baby Step 1 - Ad-hoc Queries&lt;/strong&gt;&lt;br /&gt;The first step is to start leveraging PS/Query as a means for getting data out.  Many organizations have already been taking advantage of PS/Query (I know of several situations where organizations have tens of thousands of queries).&lt;br /&gt;&lt;br /&gt;If you're not using Query, then I suggest your first step to be to centrally develop a small number of queries to provide answers to common questions and then secure them with object security to be read-only.  PeopleTools 8.44 added the ability to run a read-only query, but not save it (which means your end-users can use them without being able to change or break them).&lt;br /&gt;&lt;br /&gt;When you create these queries, you will want to try to make them as useful as possible to a wide range of users.  This generally means:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You will want to use prompts in the queries to allow end-users to use the same query to answer multiple questions.  One neat trick on the prompt side is to put wild-card criteria in it (in other words, make it so that the criteria does something like this:  &lt;span style="color:#000099;"&gt;WHERE ..... AND ( A.DEPTID = :1 OR '*' = :1)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;You will want the query to include fields to answer as many questions as possible related to the prompts and data source as possible.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Baby Step 2 - Formatting the Queries&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Now that you're using PS/Query, the first thing your users will want to do is to change them, either by re-sorting the data, by applying additional filters, or merely by making the output look better.  &lt;/p&gt;&lt;p&gt;Many of your more savvy users will run the Query to Excel and do this themselves.  The first thing they will do is put an auto-filter on the data, so that they can use the query results as a data source for doing additional querying (using the auto-filter).   They may also resize columns and apply other formatting to the data.&lt;/p&gt;&lt;p&gt;Unfortunately, this can be very cumbersome to do manually every time your end-users run a query.  Therefore, they will very quickly ask whether there is a way to automate this.  There are two options available to you:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;A tabular nVision report with an InstanceHook macro in it to format the data.  This option was discussed in the following &lt;a href="http://blog.greysparling.com/2005/07/embedding-macros-into-nvision-reports.html"&gt;posting&lt;/a&gt;.  The nice thing about a tabular nVision report is that it's essentially a Query that is specifically designed and formatted, so it's relatively simple to do. &lt;/li&gt;&lt;li&gt;Our &lt;a href="http://www.greysparling.com/GSExcelAddIn.html"&gt;Excel Add-in product&lt;/a&gt;, which will take the results of any query and automatically format and add auto-filters to it.  The nice thing about this approach is that any query your end-users run will automatically be usable in this way (whereas somebody has to build an nVision report and write the macro code to apply auto-filters in nVision).&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Baby Step 3 - Linking Queries&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;As your users start getting used to running queries and formatting them, they'll start wanting to include more and more information in the query results.  This is a natural part of the process, because once they learn one thing, users will want to see information related to it.&lt;/p&gt;&lt;p&gt;When your organization reaches this milestone, you will want to be very careful.  Many organizations start extending the queries by joining related data into their queries.  This can lead to "Kitchen Sink" queries and can cause two issues:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The query results start getting too large to understand.  Now, the users have to start wading through the columns to find the data they're interested in.&lt;/li&gt;&lt;li&gt;The queries become difficult to develop and maintain.  This is because as you join in disparate data sources, the SQL gets more complex, and you often start introducing cartesian products in your results that you have to find and troubleshoot.&lt;/li&gt;&lt;li&gt;Performance issues start to crop up.  As the SQL gets more complex, the database has to do more work.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The best approach for this is to find ways to link queries together.  Often, this is called drilling.  There are 3 main ways of linking your queries together:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Modify the query to have hyperlinks in the result set.  This is covered in the powerpoint and code attached following &lt;a href="http://blog.greysparling.com/2006/10/oracle-open-world-session-281460.html"&gt;blog entry&lt;/a&gt;.  This means you will have to pre-think and code this into the query.&lt;/li&gt;&lt;li&gt;Believe it or not, our &lt;a href="http://www.greysparling.com/GSExcelAddIn.html"&gt;Excel Add-in&lt;/a&gt; product will allow you to drill from any Query you're viewing in Excel, allowing you to link one query to another without having to write code or dirty up the output with hard-coded links to other queries.&lt;/li&gt;&lt;li&gt;Utilize drilling in nVision.  I will discuss this further in the next topic, because the core functionality of drilling in nVision is not exposed for query-style output (so we haven't yet taken that baby-step in this blog entry).&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Baby Step 4 - Aggregating information&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Okay, now your end-users are getting information and drilling into related information.  However, now they want to do some comparisons.  How are they doing related to their budget?  Has the average customer satisfaction been going up or down over time?  Instead of seeing lists of information, now they want to start aggregating it.&lt;/p&gt;&lt;p&gt;The first and easiest step of this is to simply put subtotals into their queries (which can either be done manually by you or automatically with our &lt;a href="http://www.greysparling.com/GSExcelAddIn.html"&gt;Excel Add-in product&lt;/a&gt;).  This will allow you to see counts and sums of your results broken out for each field you sort on.&lt;/p&gt;&lt;p&gt;The second step is to leverage PivotTables in Excel, which will allow you to do the analysis in a cross-tab format.  Again, your users can do this using the Excel menus or you can automate this in a tabular nVision report and and InstanceHook macro (again the example is covered for &lt;a href="http://blog.greysparling.com/2005/07/embedding-macros-into-nvision-reports.html"&gt;pivot tables here&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Baby Step 5 - Aggregating and Comparing across different items&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Although Subtotals and Pivot Tables on top of queries provides a lot of value to your users, you will quickly reach the point where your