×
[searchandfilter taxonomies="search"]

Drilling Deeper into PeopleSoft Pages

By Chris Heller • September 21, 2007

For those who are familiar with our demo and posting that discusses how to drill from a report into a page (blog posting here), you may or may not notice a limitation in what was presented. The example showed drilling from a financial report to the journal entry where the number came from. Unfortunately, drilling to the journal is just not granular enough to tell you exactly where the number came from (journals can have hundreds of lines, and a number in a financial report is governed by the chartfield values that are used).

This means that what you really want to do is to drill to items that are at scroll level 1 or greater in the page. Because the standard URLs to PeopleSoft pages are driven by the search records for those pages, you need to be able to (1) pass parameters to identify what values you want to navigate to, and (2) write code to do the navigation.

Sounds interesting, so how do you do it?

Well, the first part was answered in this posting on how to add parameters to your PeopleSoft pages.

The second part can be acoomplished in multiple ways (depending on the following):

  • Whether the page or scroll items are read only.
  • Whether the data to be navigated to is chunked by application code or by PeopleTools.

Using the SetCursorPos PeopleCode Function

The first approach we will discuss is using the SetCursorPos function. This works by iterating through the data in the component buffer until you find the row you want to be on, and setting the focus (or cursor position) to a field on that row. Because you can’t navigate to fields that are grayed out (or are read only), this only works when that occurs. Also, since you are navigating through what’s already in the component buffer, if the only loads a subset of the data at a time into the component buffer, then you may be navigating through a small part of the data you want to search. Navigating to a posted journal entry in PeopleTools is a perfect example of where both of these conditions would prevent this from occurring.

Here is an example of code you would use for a page with updatable data where the component buffer contains the full data set you want to search

Local Rowset &rsJrnlLines = GetLevel0().GetRow(1).GetRowset(Scroll.JRNL_LN);

Local number &j; For &j = 1 To &rsJrnlLines.ActiveRowCount

        • &rowTest.GetRecord(Record.JRNL_LN).GetField(Field.ACCOUNT).SetCursorPos(%Page);

      Break;

Local Row &rowTest = &rsJrnlLines.GetRow(&j);

If &rowTest.GetRecord(Record.JRNL_LN).GetField(Field.ACCOUNT).Value = &sAcctNum ThenEnd-If;

End-For;

Adding a navigation element to the grid

If all the items in the scroll are read-only (or grayed out), then another option is to put a push button or other element in the grid that isn’t grayed out to set focus to. It’s actually as simple as that. You add the item, and then set the cursor position to it. Of course, this gets into customizing the page itself, which can be an issue at upgrade time.

Leverage selection code written into the page

This approach can be used very effectively in inquiry pages or even pages where there search logic is used written by application developers to populate the scroll. The journal line page is a great example of this. There’s a link in the Financials 8.9 journal entry page that allows you to enter search criteria for your journal lines. This page actually displays fields in the JRNL_PANELS_WRK record, which is in the componenet buffer for the page. By merrely setting the values of chartifelds in this work record and calling the adjust_line_scroll function, you can use parameters to restrict the set of journal lines displayed in the page (ultimately drilling to those values).

Here is the code to do that.

Declare Function adjust_line_scroll PeopleCode FUNCLIB_GL.JOURNAL_LINE FieldFormula;

/* Code to drill to row with account number passed in as a parameter */

Local string &sAcctNum = %Request.GetParameter("ACCOUNT"); If All(&sAcctNum) Then

        • JRNL_HEADER.JRNL_HDR_STATUS = “P”Or
        • JRNL_HEADER.JRNL_HDR_STATUS = “U”Then

      /* Journal is read only */ JRNL_PANELS_WRK.ACCOUNT = &sAcctNum; adjust_line_scroll();

If JRNL_HEADER.JRNL_HDR_STATUS = "D" Or End-if;

End-if;

One last item of note: if there is already Page Activate PeopleCode, you will probably want to put yours at the end for the navigation (this ensures that all other logic has already been executed). The JOURNAL_ENTRY2_IE page is an example of this.

Labels: , ,

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

The Good, Bad, and Ugly of our Niche…Part 1

By Chris Heller • July 19, 2007

 

The blog entry goes under the heading of “If Grey Sparling Solutions were a B-School case study”. You see, the Grey Sparling management team is constantly looking at our business model and execution to see what works, what doesn’t, and how we can improve. We had one of these discussions yesterday and Chris said, “You know, this would make a good blog entry, even though it’s not a PeopleSoft tip or technique”.

Although it’s a little different than posts we’ve done in the past, I believe that it does provide some insight into how the PeopleSoft ecosystem works (a few months ago, I gave a keynote to a PeopleSoft user group that discussed how there’s a rich ecosystem out there to help PeopleSoft customers leverage their investment in PeopleSoft better). I have a half-written blog entry out there that discusses these points (but I got distracted with other things).

I will split this entry into 3 parts (to make it readable). The first part is to define our niche. Part 2 will cover how we’re doing in the areas of Strategy, Marketing, and Sales; and Part 3 will cover Engineering, Support, and Administration. Let’s continue with Part 1.

Our Business Model
For those who are familiar with Business Plans, you can think of what’s included here as a bulleted list that summarizes our business plan without the numbers added. For those not familiar with business plans (and don’t want to buy a bunch of books, as we did prior to starting the company), the plan defines who the company is, the market it is going after, how it plans to differentiate itself, potential competitors, and other risks.

Who we are:

  • We are a software company
  • We differentiate ourselves from other organizations with the level of expertise we have with PeopleSoft. We are the PeopleTools experts. This is our corporate identity.

Who are market is:

  • We focus on current PeopleSoft customers, which means we focus on larger organizations.
  • Our products use technology to enhance PeopleSoft, regardless of the PeopleSoft application being used by customers (in other words, we do not limit ourselves to an industry or an application).
  • These products do one of the following things for customers:
    • Reduce the cost of running and administering PeopleSoft
    • Improve end-user productivity
    • Improve controls
    • Reduce operational risk.

Our engineering and support strategy:

  • Our products have minimal footprint and plug into customers’ existing PeopleSoft infrastructure seamlessly.
  • To ensure that our products are easy to set up, configure, and support, we include installation, configuration, and support services with our products. Whenever possible, we add features to our products to reduce the cost and effort of these items.
  • Our products are priced, so that ROI to customers can be measured in days or weeks, versus months or years.
  • Although services are a part of our portfolio, we are not a consulting organization.

Our sales and marketing strategy:

  • We utilize viral marketing and web technology wherever possible.
  • We do not have dedicated salespeople who do not have a role on the support side.
  • We use technology to make it easy for customers to determine the fit of our products prior to making a purchasing decision. This means providing open access to recorded demos on our website and providing trial versions with support services of our products.
  • We believe that every PeopleSoft customer will eventually be interested in buying one of our products, so we are willing to invest in relationships with PeopleSoft customers regardless of whether we see a specific opportunity. This includes providing free advice and even code to solve specific problems that PeopleSoft customers are having.

Now that we’ve defined our niche, our next blog entry in this series will discuss the issues and how we’re doing with our corporate strategy, marketing, and sales.

Labels:

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Upcoming Events

By Chris Heller • June 4, 2007

 

 

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: ,

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

A Brief History of PeopleTools 9

By Chris Heller • May 24, 2007

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: 2007, Fusion, History

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Advanced VBA Hooks in nVision

By Chris Heller • May 14, 2007

This is another blog entry I started a while back, but never completed. As mentioned in yesterday’s entry, there was a lot of work done in PeopleTools 8 that didn’t get much visibility (because it didn’t makes sense with the new paradigm). This feature fits into that category (but it allows you to do some very cool things).

What you can I do with it?

This interface allows you to control nVision in a manner similar to the design UI. For example, you can programmatically populate an nVision report request and run it from VBA without saving it or using the PeopleSoft-delivered dialogs. You can also use it to define criteria in an nVision report and even invoke nVision dialogs.

Cool! Does this mean I can use this with web nVision to automate things?

Sadly, no. You see, this feature puts a VBA interface on top of the nVision designer features. Again, this was all done back when the primary means of running nVision reports was on the client and not on a server. Because we hadn’t had the paradigm shift of “no code on the client” yet, people were still putting code on desktops and our initial focus of this release was to improve the client/side functionality.

  • New NVSUSER.XLM, which provided a better launching place for end-users for running and managing nVision reports.
  • VBA hooks to allow better control of nVision

 

Unfortunately, when we eliminated code on the client; we also eliminated the foundation for these features (unless customers continue to deploy the client/server code).

Okay. I see, so why are you even covering it then?

Good question. You see, there are still a lot of situations where this level of automation is good:

  • Automating parts of the development of nVision reports
  • Performing actions around running reports, such as creating and updating report requests and scopes.

You see, you can create some macros to do things such as swap the data source of a report, etc that are utilities for a developer through the hooks. You can also create a new process definition for running nVision with the designer loaded (the existing process definition causes nVision to start with the designer not loaded for performance and stability purposes). When running this way, you can have simple routines that could ensure that report requests are set up appropriately, etc (which is desirable if you’re not in a position to use the new security hooks in the report request page added in PeopleTools 8.44).

Getting Started

Unfortunatey, this is one of the few places where PeopleBooks will not help you. Although there is a section in PeopleBooks for them, the documentation is wrong. Therefore, you will want to use the object browser in VBA to see what is available (and because the DLL you browse has a couple of issues with the object browser, you’ll need to pull it in twice).

Here are the steps you go through to do this:

  • Open up Excel and navigate to the Visual Basic Editor
  • Open up the object browser

  • Use the menu Tools –> References menu
  • Then browse to your PeopleTools bin directory and open the PSNVD.DLL. You will then see PS/nVision Type Library in the list of the dialog. If you see more than one, pick the one with a reference to NVDUSER.TLB
  • Click OK to add it. If you get an error, re-browse to PSNVD.DLL and re-select the PS/nVision Type Library
  • You should now see PS/nVision in your list of libraries in the object browser

Now that you’ve done that, you can start looking at the classes, properties, and methods available to you in VBA

nVision Report Requst

The first class of interest is the report request class. Here’s a screenshot of it (click on the thumbnail to see a full-sized version of it).

nVision Criteria

Another class of interest is the criteria class (where you can set and change criteria). Here’s a screenshot of it (click on the thumbnail to see a full-sized version of it).

Grey Sparling Plans in this area

In our nVision bolt-on, we are in the process of building web services for all these classes. These services allow client-side logic to call the server-side code with logic and prompting without requiring installation on the client. This will allow you to perform this level of automation regardless of the entry point.

Labels: nVision

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Alliance 2007 Session Evaluations

By Chris Heller • March 20, 2007

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: 2007, Events

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Financials Objects for Drilling Demos

By Chris Heller • March 16, 2007

Although I put together a previous posting on Drilling and nVision, I only included a single nVision drill layout to illustrate this. I already put together comprehensive packages to show:

Code for Financials Drilling to Pages and Queries (among other things).

I decided to put together a package for Reporting in Financials (Orig Posting and Code). As with the other packages, the code includes a working example with our nVision drilling product.

Labels: Drilling, nVision, Query

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Flash Demo of HCM ReportingFlash Demo of HCM Reporting

By Chris Heller • January 10, 2007

Over the past 24 hours, I’ve had lots of folks wanting to learn more about the HCM reporting examples in yesterday’s post. I decided to record a flash demo that shows how one would use the queries as well as the nVision reports (and drills).

In order to simplify the navigation in the demo, I did use the nVision Drilling Snap-on (which is separately licensable, but is not required to use the queries and nVision objects in the project). However, it does make it much easier to find and use them together.

Click here to watch the HCM Reporting in action…

Labels: Drilling, HCM, nVision, PeopleSoft, Query, Tree_Manager

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Oracle Open World 2006 Wrap-Up

By Chris Heller • October 27, 2006

We survived Oracle OpenWorld 2006. A very long, but rewarding week. We originally planned to to blog the show as some other folks did. However, it was a little too hectic.

Our sessions turned out great, approximately 600 people attended each session, so we got some great feedback and questions from people (so look for some good new blog entries coming up). For those of you that provided contact info for copies of some of our products, look for those coming your way next week.

It was amazing the difference between this year and last year. Last year, we were a company that was only several weeks old and we didn’t have an official presence. This year we have several products with live and happy customers. We also presented two highly-attended and (we think) successful sessions. From a PeopleSoft customer perspective, it was obvious that Oracle had listened to the feedback from last year, and provided a lot more presentations focused on providing information needed by the PeopleSoft customers.

Out of all the customers we talked with, people were definitely a lot happier this year. Applications Unlimited is turning out to be a great hit.

Our Oracle Open World Kodak moment has to be the following:

It was the first day the exhibit hall was open, and we had spent much of
the previous day trying to iron out the kinks in our booth. 2 hours into
that morning, a PeopleSoft customer made a bee-line to our booth, and started
peppering us with questions, verifying features and pricing for one of our
products.

After about two minutes of talking with us, he paused and asked, “We’re in
a hurry to get something put in for this. How long would it take for you
to generate an invoice?”

Needless to say, we got him an invoice. We subsequently helped him
install the product from the Starbucks next to Moscone Center (while he
was still here at the show), and now has it up and running in one of his
environments. The customer expects to put it into production
next week.

We definitely want to thank all of you that came to our sessions and to our booth. Special thanks go out to Jeff Robbins and David Bain for being our co-presenters. Thanks also go to Mike Ni and Nadia Bendjedou for their upfront work in having us as presenters. Finally, we wanted to thank Jake Abrams for helping out in our booth. Jake has more expertise in implementing our products than anyone else, so having him help answer questions at our booth was great.

And thanks to whoever planned out the evening event at the Cow Palace. That was fun (almost too fun – it was hard to work the next day).

Our only recommendation for Oracle next year is to do something better with the Meet The Experts sessions. We went to visit some of the folks that we used to work with and they were hidden off in the mezzanine level where customers couldn’t easily find them.

Labels: 2006, Events

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Request a Demo

Start your free demo

"Learn how you can reduce risk with rapid threat protection, audit response and access control. All from a single, comprehensive platform"

Trusted by hundreds of leading brands