Tuesday, January 9, 2018

You are not authorized to access this component. (40,20)

I once had a very dreadful day at office breaking my head trying to solve what looked like a very simple security issue. ‘You are not authorized to access this Component (40,20)’. If you are having one such distressing day today, then don’t worry, you have landed at the right place and we are going to fix this right away.

This is one of the most prevalent security issue in Peoplesoft faced by every Peoplesoft developer atleast once in their lifetime. We have prepared a simple checklist indicating all the possible scenarios where this issue could happen with quick solutions for the same.

    Security Access:

   First and foremost, check whether you have access to the component/page you are trying to access. Use the following query to verify if you have access.

SELECT R.rolename ,


FROM psroleuser R ,

  psroleclass RC

WHERE RC.Rolename = R.Rolename

AND R.roleuser    = '<OPRID>'

AND RC.classid   IN


  FROM psauthitem AUTH


      AND AUTH.pnlitemname  ='<PAGE_NAME>'


Non-existing permission list assigned to the role:

There will be instances where a permission list exists in a role but not in the database. This usually happens when project is migrated from one database to another but does not include the permission list. Use the below query to identify if you have any such permission list missing.

Select R.rolename

, RC.classid

From psroleuser R

, psroleclass RC

Where RC.Rolename = R.Rolename

And not exists

(Select 'X' from psclassdefn C

Where C.classid = RC.classid)

-- And R.roleuser = '<OPRID>'

Still not able to access? Why not try running the Portal Security Sync process from the following Navigation.

  PeopleTools - Portal - Portal Security Sync

Issue with Transfer function:

There are scenarios where the system should change the flow of transaction from one component to another using Transfer function. In such cases, verify if the below points are taken care.
   i) Have you specified the correct action mode while using Transfer function?
    Transfer( False, MenuName.DEFINE_PAYROLL_PROCESS, BarName.SETUP,             ItemName.ACCOUNT_CODE_TABLE, Page.ACCT_CD_TABLE, "L", &Parmrec); 

As you see in the above example, the component is registered in ‘Update/Display’ and ‘Correction mode’, whereas Transfer function is trying to access this component in ‘Update/Display All’ mode, which is not correct. Accessing this component in ‘Add’ or ‘Update/Display All’ mode using Transfer function will result in this Security issue.

ii) Have you specified the correct ItemName in Transfer Function? People often tend to misinterpret ItemName with Component name, which is incorrect.

Transfer( False, MenuName.DEFINE_PAYROLL_PROCESS, BarName.SETUP, ItemName.ACCT_CD_TABLE_NEW, Page.ACCT_CD_TABLE, "U", &Parmrec);

As you see in the above example, Item Name is ‘ACCOUNT_CODE_TABLE’ and component name is ‘ACCT_CD_TABLE_NEW’.
The correct way of writing this Transfer function function is:
Transfer( False, MenuName.DEFINE_PAYROLL_PROCESS, BarName.SETUP, ItemName.ACCOUNT_CODE_TABLE, Page.ACCT_CD_TABLE, "U", &Parmrec);

    Mostly by now, you should have been able to fix this issue. If you are still reading this point, then I would suggest you to clear the application server cache and reboot the server and try again.

Saturday, December 9, 2017

Tiles in PeopleSoft fluid homepages

Tiles are building blocks or elements of an Home page that show information to the end user 
And enable an easy way to navigate around the system. Tiles allow users a quick way to perform routine tasks, such as decision making or monitoring. Tiles give users direct access to targeted transactions.

Creating a Tile

The below diagram clearly depicts components of a Tile and the sequence in which they should be created.

Adding tiles to the homepage

Step 1
Give access to the Source

Step 2
Give access to the Target

Step 3
Give access to the homepage

Step 4
Selected the tile to appear on homepage

Step 5
Configure the tile to mandatorily appear on homepage

Want to see a demonstration with real time example on how to create and add tiles to fluid homepage?

I have a complete session which demonstrates:

  1. The Tiles overview
  2. Creating the Tiles
  3. Adding the Tile to fluid homepage
Below is the link to video in YouTube.

PopelSoft Fluid Tiles

However, if you want to save money by purchasing whole module instead of in parts then visit this page to get more details PeopleSoft Functional and technical online training

Sunday, November 19, 2017

How to implement Toolbars in a Page PeopleSoft

Toolbars are replacements of traditional push buttons, they brings many advantages for developers on the table such as:
  • Very easy to implement
  • No alignment required
  • Their page behavior can be controlled from PIA
  • Easy to debug since the underlying code is written in App Class/Package

While the developers enjoy these advantages while implementing Toolbars however, once implementated, the end users enjoy the ultimate benefits such as:
  • The page looks more aligned with modern web based pages
  • Easy to navigate through various pages involved in the wizard like applications
  • For the pages with bulk data which makes it long with scrolls, the Toolbars with actionable options can be displayed both in header and footer areas. This makes the end user's job easy to take the actions on page.

These are the steps to implement Toolbars:

  1. Identify the icons/buttons required on the page
  2. Create/modify the buttons that are required to be displayed on Toolbar in the page
  3. Create new Toolbar Definition and add the buttons
  4. Develop the application package/classes which contains underlying code for toolbar action
  5. Add the delivered sub page for toolbars into the page where this needs to be implemented
  6. Add the PeopleCode into the page activate PeopleCode to initialize Toolbars on page
  7. Add the PeopleCode in the FieldChange event to trigger the underlying PeopleCode

Want to see a demonstration with real time example on how to implement Toolbar?

I have a complete session which demonstrates:

  1. The Tooolbar overview
  2. Implementing Toolbar on a page
Below is the link to video in YouTube.

PopelSoft Toolbars

However, if you want to save money by purchasing whole module instead of in parts then visit this page to get more details PeopleSoft Functional and technical online training

Wednesday, November 1, 2017

4 Reasons PeopleSoft will continue to be a leader in HR segment

Over last few years, especially since the advent of Workday, the talks that PeopleSoft, once a leader in the ERP segment is now loosing it's hold in the market share and soon it will be vanished, is going around a lot. Being a PeopleSoft consultant for over 8 years, that's not too long though, it concerns me a lot not because I also believe what People say but more because these excessive talks are changing perception among those who are already working in this technology as well as young aspirants aiming to kick start their career in this.

So, what's going to happen ? Is what being talked about gonna be true or there is something which is gonna change the course of the wheel ?

It's true that some of the PeopleSoft customers are switching over to Workday but while that happens, customers who are in other technologies are also switching over to PeopleSoft and this has been happening for quite a long and that keeps the balance in the industry.

So these are the 4 reasons that make me believe what I believe 

Fluid UI

In this era of compact devices(Smartphones, Tablets, Ultrabooks), the classic user interface really looked old school and was bound to fade out in the end. Apparently Oracle realized it on time and came up with Fluid Technology. PeopleSoft application fluid pages scale gracefully from large screen devices, such as laptops and desktops, to the reduced viewing space of tablets and smartphones. Many commercial websites use a similar design model whereby the presentation and layout of information is adjusted dynamically to conform to the dimensions of the user’s device.

With Fluid, PeopleSoft is has already moved from an application based portal to a modern website based portal. 

No more expensive upgrades

The big fat upgrade process have really been dragging down PeopleSoft from staying afloat like it has always been, so Oracle had to come up with something really path-breaking and they did which we call as PeopleSoft selective adoption wherein we break the large upgrade into small easy-to-apply updates through a tool called PeopleSoft Update Manager (PUM). It really simplifies the maintenance.
 starts with a complete image of PeopleSoft, a cumulative image that includes everything and is updated as often as every 8–10 weeks. PUM simplifies the process of identifying and creating a tailored package for updating your PeopleSoft system with enhancements, bug fixes, and regulatory changes. Change Assistant then takes the tailored package from PUM and automates most of the remaining steps to update the system.

Interaction Hub

Lets first understand what Interaction hub really is.
Assume your organization has these 4 different applications running on different systems to conduct daily business.
  • PeoleSoft HR to conduct HR related business activities
  • PeopleSoft Finance to conduct Finance related business activities
  • A Benefits and Payroll system
  • A system that facilitates time related entries and processing
Typically, an employee in the organization has to login into all these systems and perform various transactions depending upon what their role is which is very common but the problem with this is that they have to login into each system and then navigate to various links/pages to carry out the same.

Now let's say we have a single unified portal where an employee, depending upon their role, can access all these four systems and the related links/pages where they conduct their day to day activities, from this portal with just single sign-on.  That's PeoleSoft interaction hub is all about.

Powered with fluid, interaction hub is now website based portal instead of application based portal having all the necessary navigation to the pages of all the underlying systems enabling users to seamlessly conduct their day to day business activities.


Unlike a pure SaaS solution (Example - Workday) PeopleSoft offers it's customers a development platforms called PeopleTools to tailor the application based on the business needs, So, PeopleSoft can address most complex business requirements. This is one of the features that make PeoplSoft stand out in the ERP crowd.

Customers can have both the options to implement PeopleSoft:
  • On their on-premises infrastructure 
  • On Oracle cloud to eliminate the cost of on-premises infrastructure 

Wednesday, August 30, 2017

How to get rid of sytem generated OPRID criteria in PS Query without having to create View

This particular issue is very annoying especially if you happen to use OPRID as a key field in your custom records and don't realize that you can't use the record in PS query as the Query Manager appends the additional criteria and by the time you realize, it has become very late.

However, even if you land up in such a circumstance, do not worry.  You just need to do a slight adjustment in the record field properties using App Designer to prevent Query Manager from appending the OPRID criteria:

  • Make the field OPRID also an List Box Item
  • Make the field OPRID also a Search key

The first option is safer and doesn't require much analysis. However, second option will have significant impact as enabling Search option will change the behaviors of components where this record has been used as search record.

Saturday, July 15, 2017

Concept of Salary Admin Plan, Grade and Step in PeopleSoft

Want to learn PeopleSoft Core HR module thoroughly? I have several videos with total duration of 12 hours.

Following is the link to the YouTube videos Core HR
Click here to see course contents

Click here to know how it works

However, if you want to save money by purchasing whole module instead of in parts then visit this page to get more details PeopleSoft Functional and technical online training

Monday, July 10, 2017

4 Key advantages of Application Package over traditional Functional Libraries

Better Organization of Code

Through my experience they do not have any significant performance impact but they do add an additional layer of organization that funclibs cannot provide.
Assume you are developing a self-service application named ePromotion so this is how you can organize your PeoleCode using Application Package:
You can create one package named EPROMOTION for the whole project, and then add the classes within it as below:

  1. ePromoUtility
  2. ePromoConstants
  3. ePromoNotifications
  4. ePromoUserLists

Coding Practice

They enforce better coding practices. For instance, in regular peoplecode (funclibs, etc), variables are not required to be declared before using them, but in app classes they are - thus eliminating bugs introduced by typos. Variable scope is much more explicit and easier to understand / follow as well. 

Avoid Redundant Code

Also an App Class can extend an existing App Class thus allowing you to leverage the original code without copy / pasting it. All of this is part of the advantages of Object Programming. 

Portability is another aspect, being able to pull up the App Package and go through it without having to dig through Component Record Field PCode or Record PCode. Just import your package/class, instantiate and call. Keep all the grunt work in the app package.

Think Time PeopleCode

Biggest advantage is that it is think time PeopleCode versus "regular" PeopleCode which is run time. As an example, if you have functions in a funclib record and you call a function in your PeopleCode, at run time (when you go into a component) and run a trace, you will find that 1) Your function is being brought in and 2) All the other functions are being brought in even though they are not going to be called. In an App Package, the code is imported, but no call to the code is made unless needed. That means that as you go into your component, The App Package is not brought in until called. You can construct code so that you only instantiate your app class and code as needed. Ex., If True then &Variable = Create AppPackage:AppClass(); &Variable.DoSomething(); else end-if; If true then we bring in PCode else we do not. 

Another way to visualize think time versus run time PeopleCode is to go into a component / page. Make a change to regular PeopleCode and save. Now if you navigate or try and save the component, you will get a data integrity error and have to re-navigate back to where you were. With think time, you go into a component / page. Make a change to your app package PeopleCode and save. No data integrity error on your page as the code is brought in at think time and thus no error.

You can gain in-depth knowledge on Application Package with a live example by just paying below amount

I have a complete session in two parts which explains:

  1. Advantages of using application packages over functional libraries
  2. Elements of Application Package and how to write PeopleCode using them
Below are the links to videos in YouTube.

App Package Part 1
App Package Part 2

Click here to know how it works

However, if you want to save money by purchasing whole module instead of in parts then visit this page to get more details PeopleSoft Functional and technical online training