Bridging the gap to Fusion through our PeopleSoft Solutions Extenders
Grey Sparling PeopleSoft Expert's Corner
Oracle Blogs
 Subscribe Now!

Tuesday, August 19, 2008

Correction on 2007 Open World session writeup

Hi All,

It was brought to my attention that there were a couple of errors in the following blog entry, so I wanted to take the opportunity to highlight the corrections and apologize for it.

Colleen's name

In the post, I have her listed as Colleen Rinehart (which is her maiden name). Her name is Colleen Murray. My apologies Colleen, my only defense is that I still call the part of app designer for editing records Record Editor.

Discontinuation of Subreport Support in Crystal

I'm not sure how I misheard this one, but the official source has chimed in (Colleen herself). Therefore, Support for Subreports in Crystal will NOT be dropped in future releases

Here's some background behind subreports and Crystal.

Prior to PeopleTools 8.48, there was limited subreport support in Crystal (due to a limitation in the ODBC driver that fetched data from PeopleSoft Queries... it was single threaded, meaning only one query can be run per Crystal Report). In PeopleTools 8.48, the initial work to support Crystal Enterprise provided a new mechanism for Crystal to connect to Queries (using the Analytic server under the covers) that allowed multithreaded access to the connection, thus enabling multiple queries to be fetched from simultaneously (thus allowing full subreport support in that release). It's good to hear that customers who leveraged that functionality can continue to do so (and that it's not being affected in upcoming PeopleSoft releases).

Labels: ,

Wednesday, December 05, 2007

"More Advanced Reporting Tips and Techniques for PeopleSofft Enterprise" powerpoint

This week, Chris and myself presented at the UKOUG conference in Birmingham. Although Chris gave the same presentation as he did at Open World, I ended up giving an updated version of my Advanced Reporting Tips and Techniques.

This session was a updated to cover the following blog entries related to enhanced drilling.

In addition, we covered Query and nVision reporting in HCM.

To streamline the drilling within Excel output, I used our Excel Add-in (but the hyperlinks could have been hard-coded into the reports instead of using this product for navigation).

Here's the powerpoint: 07_UKOUG_AdvancedReportingTechniques_PSFT_Enterprise.ppt

Labels: ,

Saturday, November 17, 2007

Oracle PeopleSoft integration complete

Well, at least in terms of conference parties.

Labels: ,

Friday, November 16, 2007

Day 5 2007 OOW - Advanced Reporting Techniques for PeopleSoft Enterprise

This was the same session I gave last year at Open World. Jodi Runstadtler, the development manager for Reporting Tools gave it this year.

Instead of providing a set of development tips and techniques, Jodi went through the most asked questions she saw from the support as well as other things that she felt that people should know. For those who already read my Reporting Tools Roadmap session entry, you'll see several circumstances where I deferred providing more details to this blog entry.

XML Publisher Data Sources
Is there a difference between different supported data sources for XMLP?
  • PS/Query-Rowsetsd
  • XMLDoc
  • XML File

Relational data services, such as PS/Query and Rowset will involve processing to align relational with XML structure. (recommend to extract data into XML yourself). Query does create the XML for you, but rowset can be an issue. Even XML doc goes to XML file before going into XMLP.

Bursting in XML Publisher

How do I do Bursting in XML Publisher? A common use case is needing to run reports for every department in a global operations.

You will want to design your report for bursting. The fewer transformations you have to do to the data to get it in the better it's going to perform. Definitely make sure you sort by the fields you're grouping on, so the XML file will be easily generated.

When bursting, XML publisher allows you to select a tag in your XML data for spliting up a single report into multiple. This tag must be at the highest level repeating group in the XML data. If you are using Query, this means that you are limited to bursting on a single field. Workaround is to concatenate in an expression.

One additional feature is that you can have different templates by values you're bursting on, so that different sets of data can have the results formatte specifically for them. One nice thing is that you don't have to enumerate every value you burst on to identify which template you want to use. You can set a default template and override where you want to.

Query Performance

After upgrading from 8.3 to 8.9, many customers saw that their Query security joins started causing performance issues.

Prior to 8.44, the security record was joined once for two records with the same one. This caused data to be missing in some circumstances. If you do not want multiple inclusion of security join (insert into psversion(Iobjecttypename, version) values ('qryselfj',1))

XML Publisher Templates

XML Publisher for peoplesoft means we have more decisions regarding report templates. How do I choose?

PDF templates are more limited than RTF templates. PDF templates don't support sub-templates, runtime paramters, translation files, output formulas, flexible field-data mapping (xpath vs simple name matching), charts, or custom/dynamic output where RTF does.

PDF performinga better, though, for large reports. Keep in mind that you need professional version of adobe to create/modify a pdf template that you're not getting from an external source. Mentioned can generate PDF output from RTF, though. Finally, 4 charts are available with bi publisher.

Subtemplates in XML Publisher

What are subtemplates?

Subtemplates allow defining re-usable templates that are imported into a parent template (similar to an include statement) . Each primpary template can import multiple subtemplates and they can include images, text, xsl templates, etc.

They are stored in content library, so there is no definitional link to primary templte (imported).

When previewing, you need to know that there are two places to do this. One is from within PeopleSoft PIA and the other is directly in the template builder within XML publisher. This is because the template designer works on a sample of the data and is stand-alone when it is launched (it doesn't know about PeopleSoft). Whereas the preview in PIA is the run-time environment within PeopleSoft.

Using Subtemplates as Headers

This is probably the most important reason to use subtemplates, because organizations will want to define a standard report heading. Unfortunately, word headers and footers do not support variables, which is how this is done. To do this, you need to code the highlighted area, which is the string that pouts the form/field in the header/footer. This is a manual coding step.

The following blog entry shows the sort of thing you need to go through to embed external data into word when word doesn't automatically handle it from a UI perspective.

Production Reporting
We need production reporting, but the report processing is consuming my server.

For Query, you should look at Query administrator. If you have administrators who don't want to use a PeopleSoft page, you could use PeopleCode APIs to examine the query statistics. These API calls mirror the fields in the PSQRYSTATS table (which you could also query to get this information). However, delete is an API call available, which isn't in the table and you wouldn't want to do yourself in SQL, because PS/Query has a lot of references.

Finally, Jodi mentioned performance monitor, where teh 355 event shows real-time and historical performance.

Although this is valuable information, I don't consider it Production Reporting, where you have reports run automatically on a schedule and you have to distribute results to end-users. Did I mention we have a product that does that?

Office 2007 and nVision

Oracle is now supporting Office 2007 with nVision. However, there are some issues with it.

Microsoft has changed the file format to be a standard XML format. Once a file is saved in this format, it is not compatible with older versions. Because of this, when you migrate to Office 2007, you will have to make sure the version of Excel on your process scheduler servers matches those on the desktops of the end-users. Office 2007 save this as XLSX.

Organizations will also need a specific version of XMLP for office 2007.

Migration of XMLP between environments

When I migrated my XMLP reports from test to produciton, the translation files were missing.

You will need to follow sequence for doing this. Need to include both the data source defin query. Select XMLPDataSrcDefn (also select query) Select XMLPReportDEfin to include all components. A report may incorporate multiple FileDefnobjects... tempalte data, translations, pdf maps.

Deletion and cleanup. To delete XML Publisher metadata objects, use project delete. Sometimes can cause orphaned definitions, so they created an app engtine progrm to clean it up. Identify orphans, and clean up orphans.

Picking the Right Reporting Tool

This is a common question that I used to get hit with all the time as well. When should one use each reporting tool?

The criterion for this falls under the following categories:

What is the structure of the Report?

  • Forms-based?
  • simple tabular?
  • sub report?
  • matrixed?
  • Does it include application metadata?

What are the formatting requirements?

  • Pixel Precision?
  • MICR?
  • Graphics/logos?
  • Charting?

How is the report being run?

  • reporting with logtic/processing?
  • scheduled on temand?
  • ad-hoc?
  • bursing?
  • drilldown,?

What platforms will you use?

  • Windows
  • Unix
  • OS/390
  • Excel Integration?

She showed a matrix of tools and which of the above features are suppported to help through the process.

Crystal and Hyperlinks

After the session, Sarah Hahn from the Benton Public Utility District recognized me from presenting this session at the Puget Sound Oracle Users Group meeting earlier in the year. She wanted to know more about drilling from Crystal.

Although I plan to record a demo of this and write a blog entry, here's what you would do:

  • FInd the element in the crystal reort that will have the hyperlink attached to it.
  • Select it and use the Insert Hyperlink menu in Crystal.
  • Instead of typing a Hyperlink into the edit box on the dialog, you will want to click on the button next to the edit box to open the formula editor (it has an X>)
  • Finally, you compose the text of the hyperlink by using field references, string functions, and text.

Labels: ,

Day 5 2007 OOW - PeopleSoft PeopleTools: A Panel Discussion

This session was a throw-back to the old PeopleSoft Talk-back sessions, where customers could ask the development managers and strategy any question they would like. On the panel were the following:
  • Jeff Robbins - PeopleTools Product Strategy Director and moderator
  • Binu Matthew - VP of PeopleTools Development (the boss of everybody else on the panel)
  • Colleen Murray - Director of Reporting Tools Development
  • Hind Robous - VP of PeopleTools Support
  • Chris Kuwada - Director of QA
  • Willie Suh - Director of Core Tools Development
  • Ravi Shankar - Director of Platforms

Here are the questions and answers I could capture:

Q: Keynote mantioned how support will be enhanced to 2025. How does this change things?

A: Binu - This isn't too surprising, because from my perspective, PeopleSoft is very important to Oracle. For example, HCM is flagship application. This means we need to have continued investment.

Q: PeopleCode is messy hybrid - Is there a plan to depracate the old method of writing PeopleCode versus the API version. Error handling for command-based is worse than API side.

A: Willie said that there was no plans to depracate any of the pre-PeopleTools 8.4 style writing of PeopleCode, but would like to know what issues they're having. Chris Heller (my notorious sidekick) suggested that if an organization is trying to standardize on the newer-style, thgat providing warnings when the old-style is used, so that folks will use the preferred method.

Q: What is the future for those who use primarily PeopleTools for building their own custom applications? Specifically, there's a lot of discussion on Oracle tools, such as BPEL. Will we need to use that?

A: Strategy is that PeopleTools will continue to be enhanced where it drives value for PeopleSoft applications. Core PeopleTools will be enhanced and enhanced heavily. Tools is getting heavily enhanced (8.48 is one of the biggest enhancements in a long time). For Hypbrid environments, where PeopleSoft isn't a major component (there may be other applications such as Siebel or custom-developed applcications, then it is our recommendation to look at the Oracle tools.

Q: Training does not talk about Application Classes or Iscripts.

A: Willie responded: I agree with you and am not happy with status quo... curriculum is on old releases. Binu also chimed in: The issues are in selected areas. For example, the integration broker class has been completely updated. However I agree with you that app classes hasn't been added, though.

Q: It is my understanding that upgrade assistance for fusion migration will be part of enterprise manager Will this be available for PeopleSoft moving to fusion?

A: We are looking at it, but isn't part of an explicit plan.

Q: Anything going on with RFID?

A: PeopleTools isn't doing anything specific, but the supply chain team has done integration.

Q: End-users refuse to use nVision on the web, because of how difficult it is to drill from web reports. I remember lots of discussion about new enhancements for release 9, but that seems to have disappeared. Any chance to get it in place?

A: Colleen talked about how she was involved with much of the planning for web nVision in PeopleTools x (yes... I remember lots of hours in conference rooms with her flushing out the functionality, prototyping it, and discussing potential issues). Although she focused on answering that aspect of the question and how she still has a long-term vision for brininging some of that to customers, she didn't discuss drilling at all. Did we mention that we have a product that fixes drilling with nVision? All joking aside, this product is intended to address all the issues customers have with drilling on the web with nVision.

Q: PeopleBooks... We have a problem with PeopleBooks and can't find what we want. Is there any way to cut a CD and provide to customers?

A: No plans to date for this. Do have a plan to improve search. 8.48 PeopleBooks is on OTN (hosted). Posted in PDF form as well.

Q: Batch... With app engine (we're tyring to use it more), and using XML publisher. In fusion, nobody is saying how you code your batch. What do we do to prepare for fusion... Java?

A: This is an ebusiness area of ownership, which means they would provide a better answer. However, from the discussions we've had with them, they are working on another language... will have their own scheduler. However, addressing the migration itself, keep in mind that the data model will change significantly, which means code you write today will probably nhot doesn't think code will move cleanly. Go with PSFT architecture for now and don't worry as much about fusion impacts.

Q: Why isn't BPEL included if that's what we should be using.

A: Jeff answered: we will continue to deliver functionality for the PSFT stack. Things that go outside of PSFT is where you will want BPEL.

Q: 8.48 includes a lot of new functionality in integration broker. How much work will we need to do as part of upgrading. Will our existing IB definitions work out of the box?

A: Colleen: we have rearchitected the objects and you really need to understand it. As you go through the upgrade, we have done the mapping and an upgrade script that does the conversion. We need default values prior to running the script because new fields exist in new world.

Q: When will you certify of 2-tier query on vista on PeopleTools 8.46, although we're planning to move to 8.48.

A: No plans to backport that support to 8.46. Require 8.48 for vista.

Q: Any plans for code coverage from testing perspective? Can put code in place to enforce development standards?

A: Binu-- plans for version tracking and other developer productivity tools.

Labels: ,

Day 3 2007 OOW - PeopleSoft Enterprise Reporting Road Map

Those who know who I am may find it wierd that I'm blogging this session as an attendee versus a presenter. This presentation was given by Colleen RinehartMurray, who I have a good history of working with (she took over the management of the reporting development team from me and allowed me to take on a pure product management role). You may also recognize her from past presentations where she and myself covered this exact session.

This session covered 3 things:
  1. A review of how all the tools fit together.
  2. A review of recent features made available in PeopleTools 8.48
  3. A summary of planned items for PeopleTools 8.50
Tool Overview
Colleen discussed the different reporting tools, Crystal, XML Publisher, nVision, SQR, and Query and how they fit together. The slides did a pretty good job of covering that aspect, so I won't go into more detail on this part, except to say that Oracle is more aggressively positioning XML Publisher as an alternative to Crystal for new report development.

XML Publisher
There are several new features coming in XML Publisher. One thing to note is that many of these features are core XML publisher features, versus PeopleSoft-specific feature enablement. Here is the list:
  • Subreports in XMLP. You can embed reports within other reports (from a template perspective). Examples of where you would want to do this is page headings and footings (there's a limitation in this covered in Jody Runstadler's Advanced Reporting Techniques session, which I will cover in my write-up for that session)
  • Performance improvements for rowset and query feeding into it. Because PeopleSoft has to convert the data froma query and a rowset to an XML file on the server and then feed it into XML publisher, there could be potential performance issues. Development is working on an automated way of handling this in a manner similar to PS/Query.
  • Email distribution. The delivered email distribution in process scheduler is currently only supported for nVision, Crystal, and SQR. This will be added for Query and XMLP (did I ever mention we have a product that already does this for any output type?)
  • New versusions. They will add support for BI Publisher and 11g.
nVision
Started by making sure that the audience knew that nVision was not going away. For nVision, much of the discussion was on longer-term futures (8.50). The exception is for Office 2007 support.
  • Not in tree criteria. This is something that we've seen a need for. It's mostly valuable when you want to capture data from of values that may not have been added to your tree (we approach it a little differently by proactively facilitating the addition of values to the tree as part of the maintenance process with this product instead of showing it after the fact)
  • Multiple effective dated trees in same report. This allows organizations to compare the implications of tree changes side by side in a single report. Although you can see the changes pretty easily by exporting your trees to file and compare them there using tree mover, this allows you to see the dollar impact of the change.
  • Query prompts. This is one of the features that I've heard a lot about over time. If you have a prompted query in an nVision report, those prompts can only be displayed in the windows nVision (not web). This will be an interesting feature if they really can get it in, because if they do it right, they may be able to add additional features as well. I'll put together a follow-up blog entry on the issues with this.
  • Private reports in 2-tier. This is one of those things where there was a new feature added to the web that wasn't also added to the 2-tier nVision. You will now be able to secure your report requests on 2-tier as well.
  • Excel 2007 adoptions of server performance improvements. This is something that I've had some discussions with Microsoft about and am very excited about. One of the biggest places where we had issues with nVision is stability and performance on the server. This is because Excel is a client tool where nVision automates it on a server. Excell 2007 has a server version that can be used very nicely with nVision, and they are adopting it. This will be a big win for anybody who moves to it (but my understanding is that Office 2007 is only supported on PeopleTools 8.49 or greater due to the file format changes imposed by microsoft. I'll have a lot more of that in my discussion on Jody Runstadtler's session.
Crystal Reports
Reiterated Oracle's commitment to continue providing Crystal as part of PeopleTools
  • Includes Bobj XIr2.
  • Mupltiple PeopleSoft instances sharing BOE server. When I scoped this feature for PeopleTools 8.48, this was one of the items that was very important to Business Objects (the business terms of this OEM were negotiated based on the fact that Business Objects would be able to re-sell additional licenses of Business Objects Enterprise for non-PeopleSoft applications). Much of the value of the up-sell is removed if there's one BOE environment for PeopleSoft and a different one for all other reporting, because that would cause users to have to sign into a different system to get one type of report than another.
  • Note: per Colleen Murray, support for subreports has not been discontinued --> Discontinuation of Crystal Subreports. Now, this was news to me, and I'm curious as to the reasons why this is occurring. I'm sure it isn't an overt effort to steer customers to XML publisher from Crystal (although cynical folks could think that, based on the fact that subreports is a new feature in XMLP). I'll have to dig in more as to what technical issue cropped up for them.
Query
From a short-term perspective, much of the new functionality is in the area of extending the use of Query as a means of getting data out of PeopleSoft, specifically to use it as a means of quickly developing a web service.
  • Subreport support. There wasn't much discussed in this area, but I'm pretty sure it's the work done in the Query Access Service (QAS) to allow multiple queries to be run concurrently through the same session.
  • Connected query. Again, not a lot discussed, but again, I'm pretty sure this is the ability to use the query service to refresh data in excel without having to navigate to PeopleSoft to re-run it (support for pull as well as push).
  • Extend web service enablement of query. I'm glad to see this one. There are a lot of situations where it would be valuable to take a query definition and add criteria on the fly and run it through a web service. Although I was planning a blog entry on doing this using a component interface, there were enough issues with the way the Query API works that I ended up not doing it.
Trees
On the tree side, there wasn't much to report in terms of new tree manager functionality, with the exception of web service enablement for trees. This would allow the Tree Classes to be exposed as web services. Also very valuable when you have two systems that you want to do lookups and updates across them (anybody have an HR Department tree and a Finance Department tree?). By having web services for this, you can do the lookups as you update one tree or the other. Very cool stuff.

Cube Manager
This was the big shocker for me. After many years of neglecting this product, I was sure it was going to die penniless and alone (although you wouldn't catch me writing that out formally). I've included the history of cube manager in this larger post on tree manager, in case you want to know why. Looking back on the Hyperion acquisition, it makes a lot more sense to keep cube manager alive.
  • Support for new version of Essbase and PowerPlay. Yes. The versions being supported will finally be updated after 5 years. This will make many companies who have been staying on an old version of Essbase and PowerPlay because cube manager does what they want, and it just plain works (by the way, the kudos of this goes to a certain Brian Sparling, who created cube manager... Ever heard the name Sparling before??)
  • Drop PeopleSoft star schema. The history of the PeopleSoft star schema is a very interesting one (but not one I can readily share in written form). Because it was created for EPM, but EPM is using Data Mart Builder to build its star schema, it makes sense that this feature should be dropped. Colleen did put to the audience that they should let her know if that feature is important to them, though.
Reporting Metadata
As mentioned above, much of the reporting metadata (queries and trees) are now going to be exposed as web services. This was reiterated.
  • Using Query as a web service development tool. Talked about QAS (which was created for BOBJ enterprise)
  • Exposing definition and designer capabilities for trees and queries. This facilitates support for OBIEE, sharing data, etc. It may also be interesting for Web Intelligence in Business Objects (with universes). I may have to talk to my friends at Bobj about this.
Reporting Infrastructure
As many folks who've gone to other sessions of mine will know, I spend a lot of time talking about the infrastructure to support reporting (metadata, security, scheduling, distribution). Colleen talked about what's coming in this as well.
  • User Experience with respect to scheduling and monitoring reports. She mentioned that they're working on the ability to find reports that are older than 99 days. I'm sure that there's more in this area that they're not talking about. Did I mention that we have a product that fixes the user experience in this area?
  • Making role-based security in report manager. The issue being fixed probably should have been a blog posting. Essentially, when you run a report to a role in process scheduler, it decomposes the role to its individual users at the time the report is run (take a look at the table PS_CDM_AUTH, you'll see that there is an OPRID field, but not a ROLE field). This means that if you move people in and out of roles, the reports associated with the role a person performs do not stay with the role.
Q&A
Although there were several questions on different partners and products, there is one that I want to make sure gets listed here. This was the question on XBRL support in PeopleSoft (which, for those who were at the session, may notice that I was the person who answered the question).

You can really think of XBRL as a standardized report format in XML for publishing financial results. In other words, it's a form (like your W-2 is a form). Because of this, the XBRL support by PeopleSoft is done by the applications groups (just like the support of W-2 is done by the Payroll development team). This support was provided in Financials 8.8 (and I remember the meetings with the developers to come up with the approach for doing this).

Here's the announcement of XBRL support: http://findarticles.com/p/articles/mi_m0EIN/is_2003_Sept_15/ai_107753879

Labels: ,

Thursday, November 15, 2007

Day 3 2007 OOW - The Business Value of Technology-Enabled Best Practices in Finance Organizations

This presentation talked about how to benchmark the performance of your finance organization. It discusses it from a Hackett Group perspective, who does a lot of this.

What is Benchmarking?
This is different from what your DBA calls benchmarking. Essentially, they're looking at efficiency and effectiveness of a given business function. This gets into many of the concepts important to embedded analytics, because you're aligning the measurement with the business processes.

Impact to a Finance Organization
For a finance department, the focus on cash flow optimization as key driver as effectiveness of finance organization.

The slides had some very good information related to business processes that occur in a finance organization (for most folks, it's a bit more nebulous than the business processes for HR, for example, where you hire, incent, manage, and terminate employees as business processes)

Here are many of the processes that span SG&A
  • Cash disbursements
  • revenue cycle
  • accounting and external reportring
  • tax management
  • treasury (cash) management
  • compliance management
  • planning and financial performance management
  • businsess analysis
  • function management

Here are the Procurement business processes

  • supply data mangement
  • requisition and po processing
  • supplier scheduling
  • receipt processing
  • compliance management
  • customer management

He then went on to illustrate how for each process, you should think about benchmarking. He showed the following formula:

Demand drivers + structural factors = performance metrics

or

processes organizations perform + how organizaitons structure themselves and conduct those processes = Measurement of how well the organization is doing

one last translation

Business Operation + Dimension = Key Performance Metric

Summary

One of the things I liked about this presentation was how it identified the business processes that are part of a finance organization, and how you can align the things you measure with those operations you're performing. Although this isn't a BI presentation, much of what was illustrated translates well into the BI world, where analysis isn't easily tied to the tasks that people perform (and ultimately, what organizations need to continuously improve).

Labels: ,

Day 3 2007 OOW - Hartford Insurance Upgrades from PeopleSoft Financial Management Release 8.4 to 9.0

Charlotte Skawski of the Hartford (who I know from my participation in the Financial Services User Group) presented her upgrade.

She did a great job of dealing with technical issues (her powerpoint was not where it should have been, and she had to start without one). Fortunately, whe was able to provide her high-level overview prior to the point in which she needed the powerpoint to show additional detail (specifically her upgrade timeline).

Much of the presentation was a good discussion on the methodology for approaching an upgrade, getting buy-in from the stakeholders (especially the end-users who are responsible for doing the fit/gap analysis of the new release as well as testing the data conversion and functionality prior to going live). Also, because the powerpoint covered the topics pretty well, my notes centered on the Q&A.

Q: Could you migrate security in the upgrade?
A: They didn't have the opportunity to revisit the security rules and kept things pretty much as they were. (this is the place for a shameless plug for a product we're working on, which I didn't do in the presentation)

Q:DID YOU USE ANY AUTOMATED TESTING TOOLS?
A: Yes for performance... Use Mercury LoadRunner. All other testing was done manually, although they're looking to find a solution in this area.

Q: How many test move to productions?
A: Did 3 or 4 originally scheduled. One thing that was a challenge for them was that they couldn't even get through scripts as originally delivered by Oracle without some tweaking from a performance perspective.

Q: How many customizations were removed due to functionality versus not needing any more.
A: My gut feel is that there were a lot of both. Perhaps half and half.

Q: Did you have issues with your functional users getting pulled from the upgrade to do other things?
A: There were a good number of end-users involved (about 1 dozen), and this was a concern. She talked about how important it was to have a steering committe with executives and how this minimized the amount of pull-back because they had buy-in. Get commitment up-front and show timelines.

Q: Can you tell me more about how you assessed the 8.4 versus 9.0 functionality, including your customizations?
A: We use stat to move code from development to production. We did have documentation on every single piece of code that was moved. Used excel to analyze dumps of the checkin glogs for every piece of code to determine whether it was needed. THis was done in combination with upgrade compare reports.

Q: What about freezing changes and locking down new functionality?
A: We were frozen at end of august for november release. At what point did they lock-down on new functionality.

Q: Did I read that you started on Feb 06 and are still going for the upgrade?
A: No. That must have been an error. It's a 1 year upgrade Feb-07 to FEb-08.

Q: HOw did table changes affect reports?
A: We didn't have to rewrite our nVision reports. Most of our queries... We have a lot of queries out there... Ton of public and private queries... we migrated them all over. Not a lot of table changes, so it went smoothly.

Q: Why not upgrade to 8.9?
A: Because the PeopleTools 8.48 enhancements were adopted by the applications. The decision between 8.9 and 9.0 is relatively easy because 9.0 doen't have that many application changes.
Workflow... THey re-built their existing ones because the workflow engine is completely different in 9.0 (tools 8.48)

Comment from Oracle Development: We will now package upgrade directly to service packs versus taking to the GA of 9.0 and requiring customers to apply the maintenance packs themselves.

Labels: ,

Monday, November 12, 2007

Day 1 2007 OOW - Operational Excellence with PeopleSoft Version Control

This is the session that Chris Heller and Myself gave at the conference (based, in part, on the following blog entry).

We started out by having some pretty significan technical issues with our demo environment. For those who aren't familiar with how we present, we believe that conference sessions should show something that people can't find simply by reading a powerpoint presentation. Therefore, we generally go pretty far out on a limb with our presentations (it's relatively safe to talk through bullets... to show a live system where you're making changes in front of the audience... now that takes some work).

We thank our audience for being patient with us as we brought up a back-up environment (actually, we used VMWare's revert to snapshot feature, which allows us to bring the environment back up without those pesky little blue-screen-of-deaths).

The good news is that we eventually did get things going, and the people who were patient with us were able to see lots of interesting things, such as code distribution to the process scheduler, automated versioning of report development, and even versioning of PeopleTools objects. We made a brief mention at the end of the presentation that we were planning to take what we showed them, add the ability to have more granular control over the PeopleTools objects, and a direct plug-in into application designer. There were a bunch of folks who came up after the session who expressed interest in the product versus trying to do the work themselves.

Labels: ,

Day 1 2007 OOW - Financial Services User Group Meeting

Well, I ended up taking Oracle up on the Blogger registration for Open World (see here for background).


The first session I attended is the Financial Services User Group Meeting. Since we have a long history with this user group (many of our customers are very involved in this group), I felt it was important to see what things they've been thinking about.

Here are the concerns that I've been hearing that I was looking to get answers for:

Future of FSI Analytic Apps

Most of the Financial Services organizations we've been working with have made a significant investment in PeopleSoft EPM, notably in the analytic applications supporting Financial Services on that platform. They've been getting mixed messages about the future of that product, including some last-minute cancelled sessions to discuss the future of CPM at Oracle. The rumor mill is saying that Oracle is killing EPM in favor of its eBusiness-driven data warehousing products, but that doing Financial Services vertical applications was not in the plans.

Future of reporting tools

Again, most of the Financial Services organizations use PeopleSoft nVision pretty extensively for management reporting. They would like to know the plans for investment in this product and what will happen in Fusion.

Here is what I learned from this session

Discussion of the future of the FSIUG:

Laura Stobbs of Everett Jones in st louis was the facilitator for meeting. She talked about how the FSIUG has recently moved to be under the Quest umbrella instead of being completely independent. There was a good amount of discussion about the enhancement request process as part of this.

Discussion on positioning for fusion:

Citigroup mentioned that they are getting mixed messages from Oracle's field organization with respect to moving to fusion. Specifically that their salespeople have told them to migrate to the eBusiness Suite to be ready for Fusion, since fusion will be built off of it.

Patric Boyle replied that customers should not expect to move to Fusion before 2012 - 2013. It is his belief that this would be the earliest that fusion would be avilalbe for FSI customers. Too much is being brought over from PeopleSoft from a data model perspective: effdt, allocations, trees, and that it will take some time to rationalize that.

Development Update:

Amira Morcos discussed the development plans with respect to financials and financial services. Here is what she discussed:

9.0/9.1 Status:
  • Combo edit performance improvements in 9.0 and request to backport to 8.9. This has been done.
  • Re-write of allocations from Cobol to App Engine caused rounding errors for allocations. This is targeted to 8.9. Amira asked for more use cases. The issue is balancing accuracy with performance (row-by-row versus set-based). Development is hanging on this.
  • Allocations enhancement - include not equal to to reduce the number of allocation steps
  • There will be new workflow enhancements included. PeopleTools currently has new workflow functionality that eliminates the need to to customize the application to get approvals (aka virtual approver). 9.1 will have workflows built into the product using this technology. Customers upgrading tools without the application upgrade can take advantage of this, but it will include some customization if done prior to applicaiton adoption of this.

9.2 priority status

  • Back-date transactions (value date). Development needs to know what that means and needs additional use cases from the user group on this feature.
  • Lead-in to missing functionality (daily close as a modification by CitiGroup)
  • Combo edit on fields or data sets other than chartfields (development wants to know what they are, needs details)

Amira followed-on by asked more long-term planning. In 3-5 years, where do folks want to be from an ERP perspective.

  • Citigroup responded by saying that it is having troubles because they want to do all reporting in EPM, but they have special projects that have operational requirements, which causes challenges for them. The challenge is a disconnect between ERP and EPM.

    Amira followed up by talking about Collaborative workspaces, which is a PeopleTools product that originally was developed for the as part of the Portal product. Collaborative workspaces provides a means of defining a set of tasks, assignments, and calendar related to a set of goals a group share (and enable the colloboration across members). She felt that building out workspaces that support the key business processes in financials, such as closing and reconciliation. She asked to have the user group provide other business processes that would fit into this from a Financial Services Perspective.

    There was an unofficial discussion on upcoming releases (the people in the conversation will remain nameless to protect them).

    • 9.1 should be rolled out in latter part of 2008 (8.50 tool dependency). HR is planned to release first, then followed by other suites. Financials could have its 9.2 release in the middle of 2009 (but will deny)
    New Global Business Unit
    One of the biggest announcements is that ORacle will be forming a Financial Services Global Business Unit (I think I heard 10,000 people, but that sounds to be too many). This group will include both field-level and corporate resources. This group is currently gathering information for PeopleSoft 9.2.

    Although no details were discussed (there is a session specifically talking about the new business unit), it is my belief that this organization will be tasked with figuring out (and potentially developing) the future analytic applications for fusion supporting this industry.

    Labels: ,

    IBM to Acquire Cognos

    First, Oracle acquires Hyperion. Next, SAP announces an acquisition of Business Objects. Today, IBM announced it will acquire Cognos. It looks like the only major independent BI player is MicroStrategy.

    This acquisition provides a lot of food for thought. With the combination of Ascential and Cognos, IBM will have a complete technology solution from data acquisition, cleansing, all the way through data access. Additionally, these technologies are best-of-breed technologies brought together in one umbrella.

    Technology Play
    Although this is a good technology play, I'm still of the belief that the days of building your own BI solution from soup to nuts is not the way the market is going. This is a good strategy under yesterday's model. It's my belief that Oracle and SAP have the right long-term strategy, which is to provide analytic applications using their own technologies. Companies don't want to build expensive data warehouses and their own analytic applications if they can buy one that somebody else has developed. Also, by bringing together analytics with their business processes, organizations can achieve benefits that can't be achieved with a BI framework that is silo-ed off from their transaction systems.

    Why not Analytic Applications?
    Back in 2002, IBM had the opportunity to get in the applications business. We at PeopleSoft were hoping that IBM would be our white knight and save us from Oracle. There was quite a bit of effort going into discussions in this area, but in the end IBM didn't want to get into the applications space. They wanted to stay a technology/consuulting organization. Now, that opportunity is pretty much gone unless some sort of mega-merger occurs between IBM and SAP or Oracle (which I can't see happening). So, it will be very interesting seeing which strategy works better. My money is on Oracle/SAP with Cognos becoming less relevant, but this assumes that Oracle and SAP are successful in integrating their new BI acquisitions (Oracle seems to be doing a pretty good job, at least from a PeopleSoft perspective).

    Labels: , , ,

    Thursday, October 25, 2007

    A Better Way to Manage PeopleSoft Windows Services

    If you run PeopleSoft applications on Windows, then you've probably been annoyed at one time or another by the way that the services are setup. Not the web layer so much as the application server and process scheduler. I know I have gotten annoyed with it :-)

    There's a few problems with the way it works out of the box.

    The first problem is that when you setup the services (option 3 in psadmin - "Services Setup"), you have to choose which application server domains and process scheduler databases that you want to be started. There's no way to separate multiple application server domains or even keep an application server and a process scheduler. It all gets installed as one Windows service called "PeopleSoft c:\pt848" (or wherever your PS_HOME was installed).

    Why would you want them separated? Well, it's nice to be able to bounce things independently. Suppose you change some process scheduler configuration and you need to restart the process scheduler. You don't want to annoy all of your online users. Or maybe you have application server domains that serve different purposes. When we install our software at customer sites, we almost always see shops with DEV, QA, UAT, etc. installed in a single PS_HOME directory. If your developers need to bounce an appserver, then you don't want them interfering with your testers. Most people do keep production domains separated from the rest though.

    Of course, even with the services setup, you can still go into psadmin (or can you?) and bring domains up and down, but lots of places don't want non-administrators to be able to reconfigure anything. Unfortunately psadmin does not have a mode where you can grant access to start and stop a domain, but not change the configuration of it.

    With separate services, you can not only start and stop them independently, you can also use tools like sc (downloadable from Microsoft as part of the Windows Server 2003 Resource Kit). Then you could allow your remote developers the ability to reboot their dev domain with out granting them access directly to the server at all.

    Another problem is that the psntsrv.exe process that launches psadmin to start or stop a domain does not integrate well with either the Windows Services APIs or with psadmin itself. If a domain takes a long time to boot for some reason, you'll end up getting an error about the service failing to start, even though psadmin is still starting things.

    As long the domain ends up starting properly, this isn't such a big deal, but if the domain fails to boot for some reason after Windows thinks that it has failed to start, then there's no automatic corrective action that can be taken. Also, psntsrv.exe relies purely on the exit status of psadmin.exe to decide whether a domain started or not. Unfortunately, this is not 100% reliable. Of course, if you can't trust the service status when the service is just a single domain, you certainly can't trust it when it is managing multiple app server domains and process schedulers under a single service definition.

    Another nice thing that you can do with separate services and service statuses that you can trust is take advantage of Windows service dependendencies. David Kurtz explains this well over on his weblog (including some caveats about when not to use them).

    An example use might be having your DEV appserver domain wait to start until your DEV database service available. That particular example presumes that you have the appserver and database server on the same physical box and that you're running a database engine that will create separate services for each database (such as Oracle), but you get the idea.

    Rather than sit around complaining, we at Grey Sparling went ahead and built something that addresses these issues(1). The Grey Sparling Services Manager solves these problems as well as providing a few other handy features.
    • Create separate Windows service definitions for each application server domain and process scheduler domain that you have.
    • Sane service names so that you can script them with things like "net start" or sc, and have the script make sense. An example service name would be something like HCM9_appserv_c_pt848 (domain name _ domain type _ directory name)
    • Watches domain status and will set service status accordingly. So if someone goes in and shuts down a domain manually with psadmin, the service status will change to reflect that. This means that you restart the domain remotely utilizing the service management tools described above even when the domain was stopped manually.
    • Logging directly to the Windows Event Log. Each time a domain is started and stopped, the output from psadmin is captured and saved to the Event Log. This is also useful for remote administration.
    • Nice graphical installer that guides you through the process of creating (or removing) service definitions (there's also a command line interface for doing this if for some reason you are managing lots and lots of domains)
    • Enables tighter integration of PeopleSoft applications with enterprise management tools such as Oracle Enterprise Manager, Microsoft Operations Manager, etc.
    We have a Flash demo of the Services Manager in action, you can take a look at a short Flash demo here.

    If you'd like to get a copy, we're making it available free to all Grey Sparling customers. If you're not a Grey Sparling customer yet (and why aren't you?) and you'd like to take it for a test spin, we can have an evaluation version up and running in your environment in about 5 minutes. It's really that straightforward. Just shoot us an email or give us a call.




    1) We actually built this a few months back, but this posting has been sitting in the queue for a bit.

    Labels: , ,

    Friday, October 12, 2007

    BEA acquisition impact for PeopleSoft customers?

    Oracle is going to make life easy for the PeopleTools product managers if they keep acquiring all of the 3rd party products that PeopleTools embeds :-)

    Joking aside, an Oracle acquisition of BEA would mostly be a non-event for PeopleSoft customers. Sure, there's potential for some of BEA's middleware to become of the Fusion stack down the road, but purely for the purposes of running current PeopleSoft applications, nothing would be likely to change (except for the logos on the installers!).

    As was the case with Crystal and other 3rd party products that PeopleSoft used, there were long term contracts in place for Tuxedo and WebLogic. These contracts always included language that dealt with acquisition scenarios, including scenarios where the acquirer was hostile to PeopleSoft. Fairly standard stuff in terms of protecting yourself from the unexpected (or maybe these days you'd call it the expected).

    Of course, even long term contracts do come to an end. Since Oracle is going to support PeopleSoft for some lengthy period of time, how to handle 3rd party products over the long haul still is an interesting question. When a contract comes up for renewal, there's always the chance that negotiations won't go well. As a product manager, you always have to have a backup plan ready in case you suddenly need a replacement.

    I had an interesting lesson in this one time when my boss at the time, Peter Gassner, drug me and Tressa Novak, who ran the Business Development group for PeopleTools, into an extraordinarily long meeting with a vendor that believed that they had PeopleSoft over a barrel at contract renegotiation time. I won't mention their name (but I will tell you that they haven't been mentioned at all on this blog), but they brought in a few high level folks that had barely contained smiles on their faces. The anticipation of a giant payday must have been pretty strong.

    The next few hours were spent with Peter slowly, but surely, convincing them of exactly how PeopleSoft could move away from being dependent on them, what the effort would take, what the problems would be and how they would be dealt with, etc. It was interesting to watch their smiles very slowly turn into frowns as they realized that they didn't have quite the leverage that they thought they did. They left the meeting room without the smiles, but still as a PeopleSoft partner. Without the detailed backup plan in place, then the negotiations surely would have turned out much differently (probably with them making Sales Club for the next few years!)

    It would have been pretty funny if we had just said that we were going to buy them instead :-)

    As for backup plans for WebLogic and Tuxedo, those are taken care of as well. Replacing WebLogic if absolutely necessary would be easy to do since Oracle's own J2EE server as well as IBM WebSphere are already supported choices.

    Tuxedo would definitely be a harder effort, but PeopleSoft actually doesn't leverage Tuxedo so deeply that it wouldn't be possible. In fact, most of what PeopleSoft gets from Tuxedo is also supplied by leading J2EE containers these days. The bigger headache is that the PeopleTools code that runs as Tuxedo services is written in C++. Using JNI to make that work inside of a J2EE container wouldn't be pretty, but PeopleTools already uses JNI extensively for all of the Java/PeopleCode integration. Not a pretty solution, but as a backup plan, it's manageable. Certainly more so than porting all of the PeopleTools C++ code to Java, which was bandied about on a few different occasions.

    Labels: , ,

    Sunday, August 05, 2007

    Jim Marion joins Oracle

    I was just about to threaten Jim Marion with outing (just like Fake Steve Jobs) his move to over to Oracle to take Rich Manalang's old position, but I see that he already announced it. Two months ago. Oops...

    Well, if you're not already reading Jim's blog to get some good technical PeopleSoft tips, you should start. Now it's his job to do so :-)

    In that same confessional mode, I just approved a batch of comments that were stuck in our moderation queue. I'm not sure why the email notification of those doesn't seem to get through to our normal comment moderator, but they've been published now.

    P.S. Here's what Rich is up to these days at Oracle.

    Labels:

    Monday, June 04, 2007

    Upcoming Events

    Here are a couple of events that we'll be at:


    Northern California PeopleSoft RUG meeting
    (June 15 at the Fremont Mariott)

    I'll be taking the following blog posting and presenting it here.


    PeopleSoft NorthWest RUG Oracle Day 2007
    (June 28 at Meydenbauer Conference Center, Bellevue, WA)

    I'll be presenting an updated version of the Advanced Reporting Techniques for PeopleSoft Enterprise.

    Labels: ,

    Thursday, May 24, 2007

    A Brief History of PeopleTools 9

    Preface

    Readers should note that this post is about PeopleTools 9, not PeopleSoft 9 applications. PeopleSoft 9 has shipped to customers. PeopleSoft 9 applications are based on the PeopleTools 8.4x codeline.

    Take One

    When I was reading Larry's post about the history of Tree Manager I said

    "Hey Larry, late 1998 wasn't PeopleTools 8. "
    "It wasn't?"
    "No, it was PeopleTools 9. "

    When work first started in late 1998 on what is now known as PeopleTools 8, the code base was originally named PeopleTools 9, but was later renamed to PeopleTools 8.

    Part of the problem was that the PeopleTools group was ready to start working on that release before there was much of an applications plan in place. The general thinking at the time was that the release would be too large to have it just be a ".5" release (1).

    There were already designs / proof of concept code in place for things like

    * Application Messaging (using this new fangled thing called XML)
    * Component Interfaces (these were originally known as Business Components, which is why all of the Component Interface tables are prefaced with BC)
    * Business Interlinks
    * Unicode
    * Java in PeopleCode
    * LDAP / Roles / Signon PeopleCode

    That's quite a bit of stuff for one release, and this is even before the whole "no code on the client" stuff appeared.

    As proof of how much work went into the release prior to going completely browser-based, look no further than the "Insert" menu in Application Designer.

    Notice that option for inserting ActiveX controls? That was actually built for the Windows client, not the browser. Technically it is still supported with the 8.1x tools, but I would strongly recommend against using it. The menu option should have been removed when 8.4 came out (code cruft is a topic for a separate blog post some day).

    I don't remember how the decision to rename it as PeopleTools 8 happened though. There was lots of turmoil inside PeopleSoft then (falling sales, layoffs, new CEO, Vantive acquisition, etc), so it's hard to say. I do know that build managers just love writing scripts to rename everything though. Not!

    Take Two

    So when did PeopleTools 9 next show up? Believe it or not, in late 2001. We were planning on having a small new version of PeopleTools to clean up a few things in the 8.1x codeline that we wished we had been smart enough to think about before shipping it. This would have been similar in scope to 7.5 PeopleTools; a follow on release after a major technology shift that served to be a long term stable base, while new development continued on. There was even talk of just calling it PeopleTools 8.2 and making it a mandatory release for customers. While that was going on we began working on the Next Big Thing for PeopleTools 9.

    A couple of things conspired against that go around for PeopleTools 9. One was that the name "PeopleSoft 8" had some off the chart brand recognition (at least according to our marketing folks), so there was some senior management push to not lose that name right away.

    The other was that customers were still wrestling with a lot of the details of running large scale PeopleSoft 8 deployments and there was quite a bit of pressure to make the follow on release deal with a lot of those issues.

    So work on PeopleTools 9 was (mostly) halted to put all hands onto what ended up as PeopleTools 8.4. Why 8.4? Mainly to leave room for a potential 8.8 release. That ended up happening for the applications, along with 8.9 releases. Heck, the CRM group almost did an 8.95 release. Talk about asymptotically approaching 9 :-)

    Take Three

    I'm not sure which customer managed to finally convince PeopleSoft senior management that doing some releases that were focused on making current stuff work instead of The Next Big Thing, but I remember being in several corporate visits where (due to scheduling issues) I ended up sitting through Craig Conway or Ram Gupta's sessions and get to hear the same earful that they were getting.

    It's wasn't unusual to hear from people in charge of actually running PeopleSoft at a customer site about things that we could do to improve operational efficiencies. That's one of the main reasons people used to come to Pleasanton for a corporate visit - to get a chance to talk with product strategy and development about their needs. Historically though you wouldn't see the "C-level" discussions get into this sort of thing though.

    So that's what led to Total Ownership Experience (TOE). PeopleTools 8.44 was the big TOE release for PeopleTools. Performance Monitor, Change Assistant, etc were all big features, but not really "sexy". Of course, they took a fair amount of development effort, which meant that there wasn't really enough folks left to work on PeopleTools 9.

    This was the go-around where there were actual PeopleTools 9 baseball hats created. I'll have to talk Larry into posting a picture of his. I gave mine to a friend at a PeopleSoft customer in Germany awhile ago.

    Take Four

    The last stab at doing PeopleTools 9 was in the middle of the Oracle acquisition, so it was a little strange to be doing long term project planning. SAP was scoring sex and sizzle points with their NetWeaver story, which shaped some of the internal scoping debates.

    This time around, PeopleTools 9 was not being called 9, but rather "X". No one was ready to venture a guess as to what version number it would finally ship as. Which turned out to be rather smart since it didn't ship :-)


    Postscript

    As it turns out a lot of the ideas for PeopleTools 9 are things that Oracle had already been working on (or would soon acquire).

    One was the whole idea of radically extending/re-writing the component processor to make things that are common customizations today into personalizations. Imagine the tab order personalization feature from PeopleTools 8.44 being extended to moving and hiding fields (while still honoring the business logic of course). Check out some of the ADF Faces work for some ideas on what Fusion applications will be capable of.

    Another big feature was the idea of re-usable data objects. Oracle got that with the acquisition of Siebel, who in turn had acquired a company called nQuire. This now has the awkward name of Oracle Business Intelligence Enterprise Edition, but it is some really slick stuff. As Larry mentioned in a previous posting, we had brought nQuire in before Siebel bought them, but we didn't move quick enough (historically PeopleSoft didn't do acquisitions that well).

    Applications Unlimited

    One of the things that we did right after the acquisition was to survey some PeopleSoft customers about what they wanted to see from Oracle in relationship to PeopleTools. To a customer, every single one said in no uncertain terms that they didn't want to see any major new things from PeopleTools - just focus on quality, performance, operational excellence, integration, etc.

    This was prior to the announcement of Applications Unlimited, but the sentiment remains.

    As it turns out, folks that are looking for something radically new are starting to adopt Fusion Middleware. Oracle seems to be having a decent uptake of that within PeopleSoft customers.


    (1) Funnily enough, the comedian that PeopleSoft hired for the PeopleSoft 8 launch party, Greg Proops, actually did some research before the event and made a comment to the effect of "All of this for going from 7.5 to 8? .5? ". Of course, he actually made it sound funny.

    On a sad note, that launch party was held in the summer in 2000 at the Windows on the World restaurant, which was destroyed on September 11, 2001.

    Labels: , ,

    Sunday, May 06, 2007

    Gone Dark...

    Although we've got a bunch of in-process blog entries, it's been much too long since our last posting (especially since our last set of posts weren't really tips or techniques). Although we plan to fix that in the coming days, I thought it might make sense to talk about what we've been up to on the business side of the house (most of which has come out of recent activity meeting with customers).

    Excel Add-in Extensions - Part 1
    Since we initially created our nVision add-in and began selling and marketing it, we've learned a lot about the PeopleSoft customer base and some of the things that drive evaluating and purchasing software. This deserves its own blog entry, so suffice to say that we've taken these learnings into account with new releases of this product.

    The first thing we did was to extend the product to eliminate the need to package up code on the server. Yes, that means that this product has "NO CODE ON THE SERVER". We thought that was pretty funny, considering PeopleSoft's mantra. The benefit of keeping all code in the add-in is that the people evaluating the product can try it without having to change anything in their PeopleSoft environment.

    Because we had to add code to manage the interaction between PeopleSoft and excel, a side benefit is that we've also been able to address many common issues customers have to face with the PeopleSoft version, such as proliferation the Ren Server windows (when excel isn't hosted in the browser) and locking of the excel menus (when the spreadsheet is hosted in the browser). This was version 2.0 of the product.

    Excel Add-in Extensions - Part 2
    At Collaborate, we also met with a bunch of PeopleSoft customers who wanted better formatting for their queries (even something as simple as column widths is problematic). Funny enough, the infrastructure we just developed for "no code on the server" also allows us to solve some problems with Query and add some pretty cool enhancements, such as:


    • Query Context: desribing the query (record names, field names, SQL)
    • fixing number formatting
    • fixing column witdth
    • other formatting, such as putting in company logos, etc.
    • subtotalling
    • automatically adding auto-filters
    • drilling from queries to other queries or pages

    Therefore, we've held off distributing code snippets from Collaborate to add many of these features to our add-in (version 3 of the product). We expect to release it before the end of next week (less than 1 month from the release the prior release), so look for an announcement on that (if you want to try it out as soon as it's available, feel free to contact us at info@greysparling.com ).

    Desktop Single Signon Extensions - Part 1
    This one also falls under the category of doing 2 things at once. As many blog readers know, we have a desktop single signon product that takes their windows credentials, determines what their PeopleSoft userid is, and automatically signs them into the web application. This product has been receiving rave reviews (even from folks we worked with at PeopleSoft who were our biggest critics... they know who they are ;-)

    Anyway, we had just finished beta-testing a new release that adds support for the client/server tools. This means that customers who deploy the windows tools (such as PS/Query, PS/nVision and app designer) can take advantage of this as well. However, due to considerations with PeopleTools, this version only worked when the initial authentication was done through the app server (we could get into a long discussion as to why we decided to do this, but we'll leave that for another blog entry as well).

    Desktop Single Signon Extensions - Part 2
    Anyway, we had one customer who wanted to use this as a way to demonstrate to their auditors that they have appropriate safeguards against passwords etc (since the network userid and password are the only point of failure from that perspective). Unfortunately, one cannot perform upgrade actions (such as moving code from development to test) with a 3-tier connection.

    Therefore, again, we found ourselves completing one release and quickly turning around and developing the next one (true 2-tier desktop single signon). We're finally ready to release that (but were pretty busy doing this to meet a customer's schedule).

    PeopleSoft Reviews
    Finally, we've been very busy taking the PeopleSoft Experts Corner to customers for quick, high-value consulting engagements. We call them PeopleSoft Reviews, and consist of 2 days onsite, with prep work and a follow-on findings report. It's a great value for folks who want guidance with respect to:
    • Their most pressing PeopleSoft issues
    • Improving how they develop, administer, and support their PeopleSoft application
    • Planning their next set of development initiatives
    We had a bunch of these leading up to Collaborate (focusing on things from Performance tuning, Development practices, Security practices, and Reporting practices). Much of the value to customers for this type of engagement is a formal "findings report, " which is essentially a roadmap of recommendations targeted to the individual customer. Because of this, we've been very busy writing them and packaging up code snippets that support our recommendations.

    We're in the process of finalizing our schedule for this summer, so if you're interested in having us come onsite to provide recommendations for you, feel free to contact us at info@greysparling.com Here's a brochure that describes some of the things we can do for you.

    Labels: , ,

    Tuesday, March 20, 2007

    Alliance 2007 Session Evaluations

    In the past couple of days, we've received lots and lots of emails from folks who attended our sessions at the Alliance Conference and wanted to let us know how much they enjoyed the content. We also had a great time and really enjoyed meeting with all of you.

    The best way to ensure that these conferences include sessions valuable to you is to provide feedback. The sessions with the highest historical satisfaction ratings will get preference in future conferences.

    If you liked our sessions and would like to see more (believe me, we have all sorts of tips and tricks we could cover in future sessions), please fill out the Evaluation Survey (the link is here, if the email from the alliance conference folks isn't handy).

    Labels: ,

    Friday, March 16, 2007

    Alliance Conference 2007 Wrap-Up

    We had a great time this week at the Alliance Conference this week. I presented "Advanced PeopleTools Tips and Techniques" (session 23422) and Larry presented "Advanced Reporting Techniques for PeopleSoft Enterprise" (session 23743). We both had several hundred people attend, which is quite nice. There were lots of great questions as well. I have a few blog posts that I was already working on during the flight home based on a few of them.

    Big thanks go out to Tina Thorstenson from Arizona State University for asking us to come present and to Jeff Robbins and Dave Bain from Oracle for being our co-presenters. If you enjoyed the sessions, be sure to fill out the online evaluation forms.

    Here are the code snippets for the PeopleTools presentation.
    Because the code snippets for the Reporting Presentation are Environment-dependent, the links to download the code snippets are in the PowerPoint presentation.

    Labels: , ,

    Monday, February 26, 2007

    Getting Control of all your Trees

    Many PeopleSoft Customers literally have forests of trees that they need to maintain to support their various needs. Many times these trees are needed to support several different reporting structures over their data. Keeping these trees up to date over time can be a very expensive and time consuming process.

    For example, insurance companies are required by law to maintain two different account structures: one for standard GAAP reporting and one for the statuatory reporting required by licensing entities. This means that at a minimum, two trees have to be updated each time a new account is added to the system.

    Tree Maintenance Snapon

    Over the past few months, we've had several companies ask us to help them reduce the time and effort needed to maintain their trees as well as reducing the inaccuracies that occur in their reports because of tree maintenance errors. We're just wrapping up development on a product meeting these needs, the Grey Sparling Tree Maintenance Snapon

    Intriguing... So what does it do?

    Great question! This product helps organizations better keep their trees up to date through the following:

    • By identifying all the trees that should contain a given value and whether those trees actually contain them
    • By helping users to pick where the values should be added to the tree and using some ingenious logic to try to apply the selection to multiple trees
    • By exposing this functionality at the point where the valid values supporting a tree are maintained
    • And, by allowing the same functionality to be leveraged after the fact, by enabling a user to add values to trees by generating a list of trees that should contain a value (and doesn't) after the fact

    Here's a brochure that discusses it.

    If you're interested in seeing how the product works, we've put together a short demo of it in action.


    Okay... We've finally put up the product pages as well... Here's where you can learn more about it.

    Labels: , ,

    Sunday, February 18, 2007

    PeopleSoft Environment Lister for Windows Services

    We've had a couple of situations recently where a customer didn't have easy access to the machine where their process scheduler server was running. The process scheduler was installed as a Windows Service and running under an account that the PeopleSoft team did not have access to.

    So when something is not working properly, and an environment issued is suspected, how do you figure out what the environment even looks like? You can a) open a trouble ticket with whoever manages the technical environment and wait for a response or b) run a program under the process scheduler that will show you the environment information. We'll focus on option b for the rest of this blog entry :-)

    In order to figure out this info, we created a simple App Engine program that does 3 things.
    1. List the environment variables for processes started via the process scheduler. This is accomplished by grabbing the output of the set command that the Windows command shell (cmd.exe) supports. There is a PeopleCode function to check environment variables, but it does not support listing all known variables. Besides, we want to see what Windows says the environment variables are, since that is what our spawned processes end up with.
    2. List all .cfg files that are found in the appserv directory and it's children. For psappsrv.cfg and psprcs.cfg files, we put the contents of those into our output. These files are what actually hold the values that you typed in when you were setting up process schedulers and application servers with psadmin.
    3. Get the Windows security information for the files. This is mainly useful for troubleshooting things like a process not being able to save files when running.
    The attached project has the App Engine code and a process definition for it. The process definition gives access to the ALLPAGES and TLSALL process security groups, but you can adjust that as needed. Since there is no online page for configuring the values fed into the process, the process definition just puts it into the System Process Requests page (PeopleTools -> Process Scheduler -> System Process Requests). The name of the process that will show up on that page is Environment Information.

    I mentioned that there is no online page for configuring this, but there are a few minor tweaks that you can make in the code itself. At the top of the PeopleCode, there are 3 boolean variables that control whether or not to run each of the 3 steps listed above. These default to True, but if you didn't want to run the list of the file system security, you could just change that variable to False.

    The other configurable part of the code is for picking which directory to use as a base. By default it will use the PS_HOME environment variable as a starting point (which will pick up everything underneath that), but if you need to look at a different directory you can change that to something else.

    As for the output, there will be 3 files that you can view from Process Monitor. One is called gs_environment_info.txt. That contains the list of environment variables and should be self-explanatory.

    The next file is called gs_appservprocsched_cfg.txt. At the top is the list of all .cfg files that it finds (the same as what you would see if you typed dir *.cfg /s at a command prompt from PS_HOME). After that it lists the name and then the contents of each psappsrv.cfg and psprcs.cfg file that it finds. If you only have one domain setup, then there would likely be one of each, but that will depend on your environment.

    The last one should have been called gs_cacls.txt, but it turns out the cacls command (which ships with Windows and will list file permissions) does not like to have it's output re-directed. So we just let the process scheduler pick up the output and dump it into the Message Log file. Note that the Message Log file is different from the "regular" Message Log. The Message Log file is visible from the View Log/Trace page in the Process Detail page in Process Monitor. The "regular" Message Log is the list of messages that the process wrote to the database. The quick way to tell the difference is that the Message Log file is just a plain text file, while the other Message Log page is a regular PeopleSoft page with a grid on it.

    In order to make sense of the file permissions that are listed in output, you'll want to read the Remarks section of this document from Microsoft that explains it (or take a look at this writeup that has what I think is a more clear explanation). Neither one makes it super easy to make sense of the output, but it's better than nothing. A future enhancement to this program might be to parse the output and display it in a more human readable fashion.

    Aside from fixing up the display of the permissions and offering a page to launch this from that let you pick which options that you want, a few other nice enhancements to this would be :
    • Make it work properly in Unix/Linux environments (I've just been building out an Oracle Linux environment for PeopleSoft. Fun!)
    • Make these into callable functions and deliver an iScript that calls them so that they can run in locations where there isn't a process scheduler installed.
    • Support using cacls to change permissions (might require the ability to run the command as a different user)
    • Support listing out the contents of other commonly used PeopleSoft configuration files (e.g. pssqr.ini)
    Of course, what would really be nice would be to feed the process instance of a process that died for some reason and have it go figure out why. That is (as they say) left as an exercise for the reader.

    Labels: , , ,

    Saturday, February 03, 2007

    SQR vs Application Engine

    One of the things that I've had in my list of things to do for awhile now is to help out someone that I know answer the question of SQR vs Application Engine. They have the challenge of having a staff that doesn't know much about SQR or Application Engine (they are just implementing PeopleSoft now), but they do have consultants available that do know SQR.

    So, having set the stage of what we're trying to figure out, we're going to step way, way, way back from current day and look out how PeopleSoft even ended up with SQR and Application Engine. Brace yourself, this isn't going to be a short entry :-)

    Going back to the early days of PeopleSoft, there were two main batch tools; COBOL and SQR. Both COBOL and SQR had the benefits of working well across the different platforms that PeopleSoft supported. COBOL also had the benefit of being something that most PeopleSoft developers understood; most of them having come from old mainframe players like M&D and Walker. SQR brought a simple, yet powerful, idea to the table: let people write conditional logic as well as output data as part of a SQL statement. Today that's not so strange, but back in the late 80's/early 90's, having your printing logic so tightly integrated (some might say "tied") to your SQL was powerful stuff.

    The big unspoken question of course is why didn't PeopleSoft create some sort of batch/reporting tool as part of PeopleTools? The short answer is that, in the beginning, everyone was too busy just making PeopleTools work for online transactions to even think about some sort of batch/reporting tool.

    PeopleSoft did add PS/Query and PS/nVision in the PeopleTools 2-3 timeframe, but they were only reporting tools. Batch was not even considered for a higher level development tool at that point (although PeopleTools 3 also marked the delivery of the PeopleTools Process Scheduler). The only thing that PeopleTools provided was the concept of meta-SQL, which helped smooth over some of the differences between database platforms.

    As time went on, it wasn't even the PeopleTools team that came up with a good higher level batch development tool. It was a lone coder on the PeopleSoft AR team, Owen O'Neill, who got sick of writing COBOL batch programs and decided to write a higher level tool for developing batch programs. He called it Application Engine, and used PeopleTools for building the frontend, and (of all things) COBOL for the backend.

    Application Engine was different than regular batch programs because it wasn't procedural. It focused on set-based SQL logic and it had a much deeper understanding of the underlying application definitions that it was working worth. Describing set-based logic is beyond the scope of this blog post, but suffice to say that set-based logic is more in line with how SQL is supposed to work, but it's not as familiar to developers that have only worked with procedural logic.

    To make an already long story short, Application Engine slowly won converts within PeopleSoft, and by the time that PeopleSoft 8 was being developed, Application Engine was adopted by the PeopleTools team. The frontend was converted to being a regular PeopleTool as part of Application Designer, and the backend was re-written in C++ and given the ability to run PeopleCode as well as SQL logic.

    Although it took more than a decade for Application Engine to get developed and finally moved into PeopleTools, SQR and COBOL didn't really change that much during that time. PeopleSoft bought the source code for SQR, but that was really just to make our own lives easier for shipping new PeopleSoft versions - it was never made a full part of PeopleTools.

    COBOL was even worse since PeopleSoft never actually controlled the COBOL compilers in use. There were some real big headaches that happened because of that - catch me at a conference sometime and I'll tell you some stories that will make you laugh (or cry) about some of our dealings with the various vendors of COBOL compilers that we had to deal with. As for the COBOL language, well, it's COBOL. Nuf said.

    Ultimately though, you could dig up an early PeopleSoft developer and they would still feel right at home with the versions of COBOL and SQR that are still in use with PeopleSoft today. On the other hand, Application Engine kept getting new features, both for development and runtime use, and there were big plans for adding something known as PeopleCode Print to App Engine for PeopleTools 9. That probably would have been the end for formal support for SQR within PeopleSoft.

    An interesting thing happened on the way to PeopleTools 9 though. Although, it was scoped on 3 separate occasions, for one reason or another, PeopleTools 9 never saw the light of day (other than a few PeopleTools 9 baseball hats that are collector's items now*). But there are a number of PeopleTools developers that are working on the Fusion project, and I expect that you'll see something very similar to Application Engine in Fusion.

    Why would Application Engine show up as part of Oracle Fusion? There's a couple of reasons. One is that Oracle really doesn't have a good tool for batch development. If you look at existing Oracle Applications, you'll notice that batch is done by writing raw PL/SQL or Pro*C code. Not the most straightforward thing for a typical application developer to do. The other thing about Application Engine that fits well within Oracle is that it is a set-based tool. Most of the processing is pushed to the database, and that plays well to Oracle's strengths. Oracle themselves list using Application Engine for batch as number 4 in their top 10 things for PeopleSoft Enterprise customers to do today to get ready for Fusion.

    Coming back around to the original question of whether it makes sense to train people in SQR or Application Engine for current PeopleSoft customers, the answer is that both have pros and cons. For starters, there aren't many PeopleSoft applications that don't use both SQR and AppEngine, so you need to have some level of skills in both. I think that CRM is the exception here; I know that CRM has no COBOL, and I think that is true for SQR as well.

    SQR also has the advantage of being a little bit more independent of the applications. For example, when you want to write an SQR, all you need is a text editor instead of a proprietary tool like Application Designer. You can also run SQRs in any database, not just a PeopleSoft database. Of course, doing so requires that you go license SQR independently of the license that you receive with your PeopleSoft applications, but you could actually do it.

    Of course, those pros are also part of the cons of SQR. SQR has zero understanding of the underlying applications that it's working with. Trees, effective dating, setids, row level security, related language records, etc. all have to be coded by hand when you're writing SQR code. Not impossible to do, but it's certainly more costly and error prone to build and maintain it by hand.

    Application Engine comes with some cons as well, especially when looking at it from a reporting perspective. Aside from being a very PeopleSoft specific tool, App Engine is lacking any kind of built-in output capability. This was the target of the (never finished) PeopleCode Print project, but there's nothing there today. There have been various efforts to add output (we've done some of this in our products for example), but generally all you can count on App Engine for is data gathering and not any sort of output management.

    Of course, Oracle has a great tool called BI Publisher (previously known as XML Publisher) that handles the data formatting and output side very well, and has recently been integrated with PS/Query and PeopleCode (which makes it accessible from App Engine). It's not a big stretch to see how App Engine could be enhanced to use BI Publisher natively as an output tool and effectively get rid of the need to use SQR at all.

    Given that SQR is unlikely to get any further investment from Oracle, and Application Engine is, I would recommend that PeopleSoft customers ensure that they have SQR skills available to them (either from internal resources or from consulting augmentation as necessary), but limit their investment in new SQR development.

    Of course, I would combine that with a bit of pushing Oracle to finish connecting the dots with the tools at their disposal for having a good batch/reporting story for Fusion applications :-)

    Update 3-Mar-2007: A post by Mark Rittman about the Hyperion acquisition just reminded me that SQR, which was owned by Brio, who got acquired by Hyperion, is now owned by Oracle :-)






    *) if you're a really weird collector.

    Labels: , , ,

    Friday, January 12, 2007

    January through March Grey Sparling Events

    It looks like 2007 is going to be a very busy year for us attending different events. Here is the schedule for the first quarter of the year (In May, we have two sessions submitted for the EMEA conference in Amsterdam as well).

    Here is a summary of where we'll be and what we'll be presenting. As mentioned in previous blog postings, we will be updating the content to keep it new and interesting for folks who saw them last year.

    Northern California OAUG Training Day
    2007 Alliance Conference
    Quest Direct

    Labels: ,