Monday, August 1, 2016

How to enable Signon Tracing option in PeopleSoft

Imagine a situation where you are banging your head trying to debug the PeopleCode to find out the root cause of an error/warning message appeared while doing transaction on a component. When the component is too big like JOB_DATA then its like looking for a needle in a haystack.

Fortunately, PeopleSoft has some sort solution for every problem and this particular case is not an exception. Do this to tackle it:
  1. Enable the Sign on trace options
  2. Sign in and do the same transaction 
  3. Retrieve the trace file generated in the app server
  4. Look for the place where the error/warning message has been produced
Done..!

The sign on tracing can be enabled by just appending trace=y to the URL as shown below:



As soon as the parameter is appended press Enter and the tracing options will be available. 




It is however very important to note that we must not check all the options under each category because:
  • It will cause the portal to become very slow
  • The generated trace file will be excessively huge 
Therefore, If for example you want to debug an error occurred on the page then simply select the options as shown in the above image and go on. You can also change the selection based on the type of debug you want to perform.

Once you are done doing the transaction, its time to locate the trace file that have been generated. The trace file can be found under:

PS_HOME/appserv/INSTANCE_NAME/LOGS

Where PS_HOME and INSTANCE_NAME can be replaced with the appropriate values for the instance you are working on. For example if PS_HOME is pt854 and INSTANCE_NAME is HRDEMO the path on a UNIX server will look like:

xx/xx/pt854/appserv/HRDEMO/LOGS

And the trace file name will be something like: OPRID_xxxxxxxx.tracesql where xxxxxxxxx will be a number.

New Set ID not visible in Control Data Setup pages in PeopleSoft

When we create a new Set ID from PeopleTools - Utilities - Administration - Table Set ID they don't just be available in the control data setup components like Department, Location, Jobcode etc. unless we map it with a Business Unit.

Didn't get it ?

Let's understand with a simple exercise.

  1. Create a new Set ID as SET01 ( PeopleTools - Utilities - Administration - Table Set ID)
  2. Go to Department Setup page ( Setup HCM - Foundation Tables - Organization - Department)
  3. Click on 'Add New Value' 
  4. Click on Set ID prompt and try to search the newly created Set ID SET01
  5. Set ID cannot be found here.

Now do this:

  1. Create a new Set ID as SET01 ( PeopleTools - Utilities - Administration - Table Set ID)
  2. Go go Business Unit setup page (Setup HCM - Foundation Tables - Organization - Business Unit)
  3. Open an existing BU or create a new one
  4. Assign the newly created Set ID SET01 in the Set ID field under the section 'Default Record Group Set IDs'
  5. Go to Department setup page (Setup HCM - Foundation Tables - Organization - Department)
  6. Click on 'Add New Value' 
  7. Click on Set ID prompt and try to search the newly created Set ID SET01
  8. Set ID is visible this time

That's because we have mapped it to a Business Unit and it became a valid one.

Tuesday, July 26, 2016

Definition Security Error "You are not authorized to access the definition XXXXXXX"

Ever wondered how come you aren't allowed to run/modify a definition (Query, AE program, App Package) through PIA or application designer ?

Let me share you an incident. ew days ago after the launch of a new security setup in PeoleSoft I was trying to run a common query for a User Profile under tab 'User ID Queries' in the component User Profile (Navigation: Peopletools - Security - User Profiles - User Profiles) and to my surprise I got following error:F

You are not authorized to access the definition XXXXXXX

Where XXXXXXX can be replaced by the definition name depending upon which definition you are trying to access and it was PT_SEC_USER_ROLES in my case. My instinct said there was something wrong with my PS query access so I quickly checked the same but didn't find anything unusual i.e I still had the access to the Query Records and nothing suspicious in Query Properties too.

After hours of digging I found the root cause and it turned out that the Query was protected through Definition Security (Navigation: PeopleTools - Security - Definition Security - Definition Groups).

In PeopleSoft we can add another level of security through definition security which overrides the other security configurations on the definitions. For Example: even if we have granted security on a CI to a user through Role/PL but in Definition Group setup we haven't allowed user to have access to this CI through PL then in the end User will not have access to that CI.

When you open the Definition Groups component from the navigation given above and click on Search, all the defined definition groups are displayed. A new definition group can also be created from the given link.


When you click on one of the definitions (PEOPLETOOLS) all the individual definition types such as AE, Records, CI, Components etc... added in this group will be displayed.


Furthermore, when Component Interface definition type is clicked, all the CIs added in this category will be displayed. We can even add a new CI in this category and as soon as the new CI is added, it will come under the security net. Similarly, whatever definition we add not just in this category but in other categories as well they will come under the security net.

If we need to grant access to someone on all the definitions added under the definition group PEOPLETOOLS, we need to just add one of the PLs assigned to the person through role in this definition group as shown below:



 As you can see, the access is given through PL at the Definition Group level and not at the individual definitions level so once the PL is added in the Definition Group it will have access all the definitions added in it. Once the PL is added here, it will start reflecting in the PL definition page under the tab Definition Security.








Saturday, April 30, 2016

PeopleSoft to PeopleSoft Integration through Integration Broker

Before you begin reading this article, you must know - Fundamentals of PeopleSoft Integration Broker

In this we will see what are the steps to integrate one PeopleSoft Application with another one and will do it for the same scenario we talked about in the article Fundamentals of PeopleSoft Integration Broker. In this example, the PeopleSoft FIN system is the source system and the PeopleSoft HCM system is the destination system.
On a very broad level, this is what we are going to configure:
• The integration gateway.
• The PeopleSoft Finance system.
• The PeopleSoft HR system.

Configuring the Integration Gateway

The only required property that you must set for the local gateway is the Oracle Jolt connect
strings that enable the gateway to find the PeopleSoft HR system. Set this property in the
integrationGateway.properties file.

So, open the integrationGateway.properties file on Web Server and update the Jolt Connect String. You can open this file from below highlighted link on Gateway Component in PeopleSoft Finance System.




Configuring the PeopleSoft Finance System


Perform the following tasks on the PeopleSoft Finance system:

Local Gateway


Define the local integration gateway in the PeopleSoft Finance system by using the
Gateways component.
Any integration gateway that you've installed and configured to find the PeopleSoft HR system can
serve this role. Specify the gateway's PeopleSoft listening connector as the gateway's URL.



Note that the Local Gateway setup will be same in both Finance and HR system.

Message 

Define the message from the navigation PeopleTools - Integration Broker - Integration Setup - Message. This should reflect the rowset structure of Bank Account component in HR system because this structure will be used to transmit data to HR.

Handler

Define the handler using Application Designer. Since in our case the Finance System is a sender and there is only one way communication so only a dummy Application Package and Class is required with no Processing Logic written in it.

Routing

Routing is where we define the following:

  • One way communication or two way (In our case its One Way)
  • Synchronous or Asynchronous (In our case its Asynchronous)
  • The sender and receiver nodes (In our case PS Finance is Sender and PS HR is Receiver)
Navigation: PeopleTools -Integration Broker - Integration SetUp - Routing

Service Operation

It ties previous three elements - Message, Handler and Routing together and forms a mechanism for integration. Define the service operation and add those three elements in it.

Navigation: PeopleTools -Integration Broker - Integration SetUp - Service Operation

Node

Define two nodes, one for HR system and another for Finance system. The Finance Node in this case would be local and HR Node would be remote.

  • Also mention followings in node definition:
  • Connectors (Gateway and Target Connector)
  • Portal URLs (PIA URL)
  • Routing (Add the routing definition defined above)
The node definition can be same across PS to PS integration because it represents the whole system.
Navigation - PeopleTools -Integration Broker - Integration SetUp - Node


Configuring the PeopleSoft HR System


Perform the following tasks on the PeopleSoft HR system:


Local Gateway


As already mentioned, the Local Gateway in both systems will have same configurations.


Message 

Define the message from the navigation PeopleTools - Integration Broker - Integration Setup - Message. This should reflect the rowset structure of Bank Account component in Finance system because this structure will be used to read data sent from Finance system.

Handler

The handler in HR system would contain the actual processing logic since it has to read data sent from Finance and load into tables.
Its basically an application package containing a class definition which has the processing logic written in PeopleCode to read the data (Bank Account Changes).

Routing

Routing is where we define the following:
  • One way communication or two way (In our case its One Way)
  • Synchronous or Asynchronous (In our case its Asynchronous)
  • The sender and receiver nodes (In our case PS Finance is Sender and PS HR is Receiver)
Navigation: PeopleTools -Integration Broker - Integration SetUp - Routing

Service Operation

It ties previous three elements - Message, Handler and Routing together and forms a mechanism for integration. Define the service operation and add those three elements in it.

Navigation: PeopleTools -Integration Broker - Integration SetUp - Service Operation

Node

Define two nodes, one for HR system and another for Finance system. The HR Node in this case would be local and Finance Node would be remote.

  • Also mention followings in node definition:
  • Connectors (Gatway and Target Connector)
  • Portal URLs (PIA URL)
  • Routing (Add the routing definition defined above)

The node definition can be same across PS to PS integration because it represents the whole system.
Navigation - PeopleTools -Integration Broker - Integration SetUp - Node




Monday, April 4, 2016

Fundamentals Of PeopleSoft Integration Broker

I have been trying to push myself hard for a long time to publish this article but honestly, I have been way too lazy to do that. Well, now is the time.

A very important highlight of this article is we are going to talk about only absolutely relevant elements so that it becomes easier for you guys to get good understanding on Integration Broker because often times I find people being lost in the PeopleBooks trying to figure out what exactly they should refer to. 

Lets start with Architecture which shows the elements of Integration:

PeopleSoft Integration Broker Architecture



This architecture clearly depicts the integration between PeopleSoft Finance and PeopleSoft HR system represented by Node A and Node B respectively where the changes made in former would be transmitted to latter through Integration Broker.

Lets assume that the integration is setup for the Bank Account changes done on Finance System which should ultimately be transmitted to HR System to keep both in sync. Now our rest of the discussion would be based on this scenario.

The very first thing we must talk about is the various elements involved in this Integration Setup.

Elements of Integration


Integration Engine

The integration engine as you can see in the architecture above, is something that ties all the elements like Service Operation, Message, Routing etc... together which ultimately creates a mechanism for integrating two systems.
The integration engine runs on the PeopleSoft application server. Rather than communicating directly with other applications, the integration engine sends and receives messages through one or more separately installed integration gateways.

The integration engine:
  • Uses a modular architecture, so it can treat gateways as black boxes and communicate with them using standard connectors.
  • Handles messages containing data in a variety of formats. Formats include the PeopleSoft rowset-based message format, and nonrowset-based message structures including, XML document object model messages, Simple Object Access Protocol (SOAP) messages, and non-XML files.
  • Sends and receives messages asynchronously (like email) or synchronously (suspending activity to wait for a response).
  • Applies message transmission type and routing based on specifications that you define in a PeopleSoft Pure Internet Architecture component.


Gateway

The integration gateway is a platform that manages the receipt and delivery of messages passed among systems through PeopleSoft Integration Broker. It supports the leading TCP/IP application protocols used in the marketplace today and provides extensible interfaces to develop new connectors for communication with legacy, enterprise resource planning, and internet-based systems.

Additional features include:
  • Listening connectors and target connectors that transport messages between integration participants and the integration engine.
  • Basic logging information concerning message receipt, delivery, and errors.
  • Connection persistence with continuous open feeds to external systems through connectors, with full failover capabilities.
  • Transport protocol and message format management so that when messages reach the integration engine, they have a PeopleSoft-compatible message format.

Connectors

Listening Connectors

Listening connectors receive requests from integration participants, send them to the gateway manager, and deliver responses back to the integration participants.

Target Connectors

Target connectors generate requests, send them to integration participants, wait for responses from participants, and deliver the responses back to the gateway manager.

Message

Message definitions provide the physical description of the data that is being sent, including fields, field types, and field lengths. You create message definitions in the PeopleSoft Internet Architecture. In other words Messages are shapes that describe the contents of a service operation transaction.

In our scenario the message definition would contain the information about the table structure used in the component 'Bank Account' i.e the records used in the component and their hierarchy. This information will be used by Integration Engine to transmit the data when there is a change in employee's bank accounts. 

Message Type
When to Use
Details
Rowset-based messages
All PeopleSoft-to-PeopleSoft integrations
For hierarchical data that is based on PeopleSoft records, you create a message definition by assembling records, organizing them into a hierarchy, and selecting fields from those records to include in the message. 
Nonrowset-based messages
Integrations with third-party systems
These messages can have virtually any structure and content. You create a message definition, but you do not insert any records. The message definition serves as a placeholder for the actual message. 


Handler

It contains the processing logic for finally writing the data into tables/components of the receiving node. It is combination of Application Package, Class, Method created in the application designer.
In our scenario the handler defined on HR Node would contain the business logic written in PeopleCode to write the Bank Account changes received from Finance Node, to the corresponding tables/components. 

Routing

A routing definition specifies the direction of the integration (inbound or outbound), routing alias names, transformations, and more. 

In our scenario, the routing on HR Node would be Inbound and on Finance Node it would be Outbound.

Service Operations

This element forms for overall processing logic by combing following elements:

  • Message
  • Handler
  • Routing

Node

Nodes represent any organization, application or system that will play a part in integration.
In our scenario there are two nodes:

  1. One that represents PeopleSoft FIN System
  2. Another that represents PeopleSoft HR System

Because an application can send messages to itself, a default local node definition that represents the application is delivered as part of the integration engine.

Each PeopleSoft installation must have one, and only one, default local node.
Each PeopleSoft Integration Broker database involved in an integration must contain a default local node definition for itself, and a remote node definition for each of the other nodes involved.
Local and remote nodes are concepts relative to the database in which the nodes are defined. If you’re signed on to Database A which has Node A defined, then Node A is local. If you’re signed on to Database B, Node A is defined as remote.
In our scenario if we are in the Node A - PeopleSoft FIN System then:
·        Node A (default local)
·        Node B (remote)
The following definitions must exist in the Node B - PeopleSoft HR Systen for it to integrate with Node A:
·        NODE A (remote)
·        NODE B (default local)
In practice, only portals use nodes designated simply as Local. The only local node definition used by PeopleSoft Integration Broker is the one designated Default Local, which represents the database onto which you are signed.

Monday, May 25, 2015

PeopleSoft HRMS Session Recording Videos


Visit this page first - PeopleSoft HRMS Online Training

Currently I record offline sessions and publish the recording on YouTube and so far I have completed following modules and hence recordings are ready:
You can get these videos at the cost which would be much lesser than the live training. 


Want to watch demos before going for the purchase ?


How it works ?
  1. Drop me an email or message mentioning the module that you are interested in
  2. Make the payment for those modules
  3. Once the payment is done, I will provide the access to you on those modules in YouTube.

Please Note:

  • The access will be permanent and never be taken back so even if you want to revisit the videos after 5 years you can do so.
  • The videos can not be downloaded for off-line access.
  • In case any of the videos gets corrupted or anything of that sort happens then don't worry it will uploaded and published again on YouTube and you will be given the access.
  • The cost of these videos is module vise but if you purchase them in bundle you can avail a considerable discount. For example - If you purchase all the Functional modules at once then the cost will be much lesser than if you purchase them individually.
  • If you need any clarification while watching the videos, drop me an email with the query and I will respond back as soon as I can.

The videos are available at:

Core HR Functional

Benefits Functional (With Ben Admin)

Global Payroll & Absence Mgmt Functional

PeopleSoft Technical

PeopleSoft Security

PeopleSoft 9.2 with PeopleTools 8.54 Installation



If interested, contact me at: 

Email - santosh.tripathi87@gmail.com
Mob - +91 880 064 8297

Sunday, May 24, 2015

Installing PeopleSoft 9.2 with PeopleTools 8.54

Recently I got my system that had PeopleSoft 9.1 with PT 8.51 up and running, crashed and I couldn't get it fixed. I finally had to re-install PeopleSoft but this time not the version 9.1 but 9.2 instead.
It took me about a week to complete the installation as I was able to dedicate only few hours every day to this installation process, faced many issues and resolved them too.

Nevertheless, I recorded this installation process entirely and now its ready to be published in YouTube.

PeopleSoft HRMS Online Training


So guys just like me you can also install this amazing product right on your laptop and enjoy the learning. The content of these videos are:


  • Downloading all the necessary softwares
  • Creating Virtual Machine using Virtual Box
  • Installing All the Softwares
  • Creating and Configuring Database
  • Creating the App Server domain
  • Installing the PIA environment
  • Creating and Configuring the Process Scheduler 
  • Compiling the COBOL programs
  • Connecting the SQL developer with PeopleSoft Database for backend access.


YouTube Link:



If interested, contact me at: 

Email - santosh.tripathi87@gmail.com
Mob - +91 880 064 8297