The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Tuesday, 29 October 2013

Firing code on field change of a search page

Not sure whether every one is aware of this. I had a strange requirement; whenever user changes a value of a field on the Search Page to a particular value, the value on another field on the search page needs to be populated automatically and needs to be grayed out. I had to burn out my head, and finally found out the solution. But the solution made me feel as a fool ( that simple was the solution). Thought of sharing it over here so that anyone else facing the same problem will be helped.

Remember Panda’s Pa’s dialogue, “and the secret ingredient in the secret ingredient soup is ‘NOTHING’” J. Yes the solution is nothing. On the Add Search Record, write the corresponding code in the Field Change event of the field which controls the other fields. The Field Change event will fire as if you are in a normal PeopleSoft page. Sounds very interesting, isn’t it? The only disadvantage is that, this code will fire only if you are in add mode. On the normal search page this code will not fire. Still need to find out a solution (other than javascripts) to fire field change events in normal search page. Please don’t hesitate to share your ideas through the comments section.

Monday, 28 October 2013

PeopleSoft Active Analytics

PeopleSoft Active Analytics

Are you been into the business of writing custom codes to handling certain events in PeopleSoft applications such as firing an email or error when a certain product is added by procurement or notifying a employee and the manager when he is being promoted? If that is the case, PeopleSoft has brought forward an online technology with which you could handle all these events.

With PeopleSoft Active analytics framework, you only need to write the code once and attach your code to related component or application engine programs. The rest all is decided based on the configuration which the actual business user could go in and configure by himself. With the change in each and every business policy, you could just visit the configuration page and add the logics or event to be fired at each stage.  So with this framework in place, you need not re-write the code with each and every change in your business practice. You can do all these within a matter of minutes by going to the configuration page and setting up the appropriate configurations.

If you have not already started playing around with this smart decision making system, start now. You could get started with the PeopleBooks. If you need more in depth knowledge on this concept, refer Active Analytics in CRM PeopleBooks.

Tuesday, 8 October 2013

Embedding Pivot grids in Standard Pages

People who are working in Tools 8.52 or 8.53 must be familiar with the new feature called Pivot Grids. Pivot grids provide great abilities in analytics yet maintaining the simplicity. PeopleSoft Release 9.2 is all boasted with different analytic Pivot Grids delivered by PeopleSoft. Creating a Pivot Grid is also a simple task for those who are already familiar with PS Queries. To know how to create a Pivot Grid, read my previous post on the topic.

You might find Dashboards, WorkCenters, Related Actions and Pagelets as the most suited place to put a Pivot Grid. Have you ever felt like that it will be good if I could place my Pivot Grid inside a standard page I already have? If you have the same wish I have, I have something left for you. Yes, it is possible to embed a Pivot Grid inside a standard page and it is not that difficult as you might have thought. Just follow the three simple steps.

Step I: Publish the pivot grid as a pagelet. Make sure that you check the embeddable option and note down the Pagelet ID. If you missed to note the ID, you will get it from the pagelet wizard.

Step II: Create a HTML area on your standard page and assign a work record long field (say A_WRK.HTMLAREA).

Step III: On the rowinit of the work record field’s PeopleCode event write the below PeopleCode.

/* Import the Pagelet Wizard application */

Local object &PageletID;

/* Create the Pagelet Wizard */
&PGWiz = create PTPPB_PAGELET:PageletWizard();

&PageletName = "YOUR PAGELET NAME";
&Pagelet = &PGWiz.getPageletByID(&PageletName, False);

&myHTML = &Pagelet.Execute();
A_WRK.HTMLAREA.Value = "<div class=’PSTEXT’>" | &myHTML | "</div>";

If you want to pass context sensitive prompt values to the pivot grid, then you can even do that. Try and explore the class PageletWizard for more details.

Monday, 7 October 2013

Context Search Record

I know that everyone is familiar with the Search Record and Add Search Records in a component as it is one the first thing you might learn when you attend a PeopleSoft Technical training or interview. However, people who work with the latest Tools releases might have noticed a new search record type in the component properties, known as Context Search Records. This search record is not among the well-known list of the PeopleSoft technologies.

I will cover an overview on the new kind of search record introduced by PeopleSoft. Before that I would let the dust settle, this new record is no way going to impact any of your existing functionalities or applications. This new Search Record is solely intended for related content linkage.

You might have seen many pages with Search Records having no keys (mostly INSTALLATION). Some applications instead of using a PeopleSoft standard Search Page, they create their own Search Page and hence tend to use INSTALLATION (or other similar records) as the search record. So when you really create a related content to this component, you won’t be able to pass or map any parameters. To tackle this scenario, PeopleSoft has introduced this new Search Record called Context Search Record. If you define a record as Context Search Record in the component properties, even though your default Search Record does not have any keys, all the fields in the Context Search Record will be listed in the related content configuration page to map. Thus allowing you to pass some values to the context component. If your component has a default Search Record with keys, then the keys of that record will be listed for mapping. The earlier one will be used for mapping only if your default Search Record lacks any search keys.