Search This Blog

Monday, March 28, 2011

Tree mover tables

TreeMover uses the following PeopleTools system tables for trees during both the tree import and tree export processes:

PSTREEDEFN
PSTREENODE
PSTREELEAF
PSTREESTRCT
PSTREELEVEL
PS_TREE_LEVEL_TBL
PS_TREE_NODE_TBL

TreeMover also reads the PSSTATUS table during the tree export process, to identify the version of the tree data exported.

Thursday, March 17, 2011

Creating XML's with SOAP Envelop using IB

I was actually facing this requirement for the first time, when one of my colleague emailed asking for how to accomplish the same. PeopleBooks has clue how to do it, but i found a couple of links which can help further on the same.

Oracle Blog: IB Out Bound Soap Messages with WS-Security

Using PeopleSoft SOAP Classes

If anyone has a pre-experience on the same, you can share the code snippets/article here.

Tuesday, March 15, 2011

Creating Chart using PeopleCode

For those who haven't tried creating a chart using peoplecode. I do not have the code which I did while I was working with my first company. But this example below from peoplebooks will give you an idea. You can create great charts using pagelet wizard also , but when the performance part is considered, I will recommend the usage of chart class.

The below chart is created from a record with three fields, relating to sales, month, and product. The series in the chart are based on the product. The following is the complete code sample.

Global Chart &oChart;

&oChart = GetChart(QE_CHART_DUMREC.QE_CHART_FIELD);

&oChart.SetData(Record.QE_CHART_RECORD);
&oChart.SetDataYAxis(QE_CHART_RECORD.QE_CHART_SALES);
&oChart.SetDataXAxis(QE_CHART_RECORD.QE_CHART_PRODUCT);

&oChart.SetDataSeries(QE_CHART_RECORD.QE_CHART_REGION);

&oChart.Type = %ChartType_2DStackedBar;

&oChart.HasLegend = True;
&oChart.LegendPosition = %ChartLegend_Right;

&oChart.XAxisLabelOrient = %ChartText_Vertical;














To create a chart:

  1. Open PeopleSoft Application Designer.
  2. Open the page where the chart is to be inserted.
  3. Insert the chart control by either:
    • Clicking on the chart icon in the toolbar, or
    • Selecting Insert, Chart
  4. Draw the chart control on the page.
  5. Associate the chart control with a record field

Every chart control must be associated with a record field. This is just the field for the chart control. It is not the field used for drilling down for data in the chart.

Bring up the chart control properties by either

    • Double-clicking on the chart control, or
    • Right-clicking on the chart control and selecting Page Field Properties.
  1. Select the record name and field for the chart.

On the Record tab of the chart control properties, select the record and field for the chart.

To make the control a page anchor, select the Enable as Page Anchor on the General tab.

  1. Write your PeopleCode.

In some event on the page, such as Activate, put the PeopleCode you need for populating the chart.

  1. Get the chart.

The first thing you must do is get the chart. You must use the record and field name that you associated with the chart control on the page.

&oChart = GetChart(QE_CHART_DUMREC.QE_CHART_FIELD);

  1. Set the data records.

Set the data record. The SetData function associates the record data with the chart. Then use the SetDataYAxis and SetDataXAxis functions to associate specific fields in the record with the Y axis data and the X axis data.

&oChart.SetData(Record.QE_CHART_RECORD);

&oChart.SetDataYAxis(QE_CHART_RECORD.QE_CHART_SALES);

&oChart.SetDataXAxis(QE_CHART_RECORD.QE_CHART_PRODUCT);

This is all the code needed to create a chart. You don’t need to set the chart type: the default is a 2D bar chart. You don't need to set the series unless you want to group your data. Everything else is also optional.

  1. (Optional) Set the data series.

In this example, we want to set the region as the series. This means that the data will be grouped according to the region.

&oChart.SetDataSeries(QE_CHART_RECORD.QE_CHART_REGION);

  1. (Optional) Set the chart type.

Because we want a stacked bar for the chart, we must set the Type property of the chart. This means that each product (footballs, rackets, and so on) will have a single bar, and the data series (California, Oregon, and so on) will be what is 'stacked'.

&oChart.Type = %ChartType_2DStackedBar;

  1. (Optional) Set legend and label attributes.

For this example, we want a legend, and want it to appear in the right side. In addition, because the text of the series labels is so large, they must be vertical to display all of them.

&oChart.HasLegend = True; &oChart.LegendPosition = %ChartLegend_Right;

&oChart.XAxisLabelOrient = %ChartText_Vertical;

Saturday, March 12, 2011

Access app engine section through peoplecode

I found this piece of code interesting as I didnt have the clue that there was an option to touch the app engine through a code wrapper.

Local AESection &Section;
&Section = GetAESection("RULES", "DYN_SECT");
/* Open the base section */
&Section.SetTemplate("MY_APPL", "TEMPLATE");
/* Set the template section */
&Section.AddStep("NewStep2");
/* Insert NewStep2 */
/* Do some SQL stuff here */
&Section.SetSQL("DO_SELECT", &MySql);
/* Modify the SQL in the added step */
&Section.Save();
&Section.Close();
/* Save and close */



The SetSQL method replaces the SQL associated with the given action type in the current step in the base section with the SQL in string.

Friday, March 11, 2011

Password Reset: An easy method

This is a tip when there happens a requirement to have a mass password update. Consider the client want to update the password of the employee with a combination of birth year and first name. How to send the combination to database. Password cannot be changed using a simple update. There is hashing happening in between which will encrypt the password.

Now the USER_PROFILE CI comes into picture. It has some extra delivered methods if you notice. Use the set password method at this point.

Function SetPassword(&password As string, &passwordConfirm As string) Returns boolean;
rem get password controls set up in PSSECOPTIONS;
SQLExec("SELECT MINPSWDLENGTH FROM PSSECOPTIONS", &MIN);
PSOPRDEFN.OPERPSWD = &password;
PSUSRPRFL_WRK.OPERPSWDCONF = &passwordConfirm;
Return True;
End-Function;

Pass the password as a string to this method and you can easily change the password using a batch process say using application engine.

There is a method for resetting the password too. Check it out!

Thursday, March 10, 2011

Process execution time

You can use the query to know the exact time taken by the process to complete its run. Handy one!

SELECT PRCSINSTANCE
, PRCSNAME
, OPRID
, RUNCNTLID
, SERVERNAMERUN
, RQSTDTTM
, RUNDTTM
, BEGINDTTM
, ENDDTTM
, floor(TO_CHAR((enddttm-begindttm)*24*60)) AS MINUTES
, lpad(FLOOR(((TO_CHAR((enddttm-begindttm)*24*60))-floor(TO_CHAR((enddttm-begindttm)*24*60)))*60),2,0) AS SECONDS
, decode (FLOOR(TO_CHAR((enddttm-begindttm)*24*60))||':'||lpad(FLOOR(((TO_CHAR((enddttm-begindttm)*24*60))-floor(TO_CHAR((enddttm-begindttm)*24*60)))*60),2,0)
, ':'
,' '
,FLOOR(TO_CHAR((enddttm-begindttm)*24*60))||':'||lpad(FLOOR(((TO_CHAR((enddttm-begindttm)*24*60))-floor(TO_CHAR((enddttm-begindttm)*24*60)))*60),2,0)) AS MINSEC
,RUNSTATUSDESCR
FROM PS_PMN_PRCSLIST
ORDER BY RUNDTTM DESC


Contributed by Arshad Ali

Friday, March 4, 2011

Whats new on XML Publisher in PT 8.50/8.51?

- Rowset and XML doc data source are deprecated
- Connected query as a new data source
- XML generated in C++ for query data source
- Schema files no longer required for bursting
- Email as an output option
- "File name" field on the output page in report definition
- Use "Alt XML" for previewing the templates
- Full path mapping for use of repeating fields
- New "Properties tab" to control report attributes for specific PS implementation
- Enforce unique burst value feature for bursting
- Global properties page to define global properties
- App engine PSXPCLEAN to clean XMLP metadata

Excerpts from the HEUG seminar taken by ERP Analysts on XML Publisher.

Thursday, March 3, 2011

Auditing Security During Implementation

While having a quick search for an information on a security table, I stumbled upon this awsesome guide by Denise Goin.

Wednesday, March 2, 2011

HCM - CS split bundle Docs

PeopleSoft Enterprise Campus Solutions 9.0 Feature Pack 4

Functional documentation for Feature Pack 4, delivered October 2010, is posted here. The documentation provides information about Campus Solutions to Human Capital Management integration. The following documents are part of this release:
* CS to HCM Integration Documentation Package
* CS - HCM Integration FAQ
* Implementing Integration of Set Up Data between CS and HCM
* Implementing Person Bio-Demo Data Integration between CS and HCM
* Implementing External Search/Match between CS and HCM
* Implementing CS Integration with the Higher Education Constituent Hub
* Implementing Portal Navigation Aggregation for CS and HCM Integration

Login to Oracle Support to access: CS Bundle #19 Functional Documentation for Campus Solutions 9.0 & Feature Pack 4