Posts

PeopleSoft Security with Navigation Paths for a Permission List, Role or User

This SQL allows you to view permissions and the associated navigation.  You can provide a Permission List name, Role name or User ID, or any combination of the those items to filter your results.  You should be prompted for the bind variables when run in SQL Developer.  If not values are provided it would run for all users and permission lists in your environment, which I would not recommend. This is something that comes in handy when reviewing or auditing a user's permissions and providing the relevant navigation makes a lot more sense to most people than providing just the menu and component would.  There would obviously be better, and more efficient, ways to report this information, but for a one-off request or troubleshooting I like the speed and flexibility of SQL.  This code can also be adapted into many other navigation and security queries.  -- ALL NAVIGATION FOR A GIVEN SECURITY ROLE, CLASSID or USER SELECT DISTINCT RC . ROLENAME , RC ...

Records in a PeopleSoft Component

This simple SQL can be used to identify the records that are used behind an online PeopleSoft component.  Sometimes you just need to look at the data, sometimes you need to write scripts to manipulate or export the data.  The code below includes only the SQL Table and SQL View record types and filters out records and fields that are only related-display. Yes, you could open App Designer to find the pages and records within the component, but I wanted a quicker way that would show only the records most likely to contain the data.  I especially do not want to parse through the numerous temp tables and work records that will show up in App Designer for some components. This should work on Oracle databases.  It has bind variables to accept the component name as input so you may need to replace or pass the values, depending on your SQL tool. There are several ways to find the component name while online, if you need to.  In some environments Ctrl+Shift+J may wo...

Thoughts on the Cloud, Both Sides Now

If you have been to a conference or user group event lately you have certainly heard plenty about "the Cloud".  This broad term actually covers a lot of different services and architectures, but in the ERP community it generally causes some anxiety for technical professionals.  There are concerns about no longer managing your own hardware or no longer customizing the software to your specific business requirements.  Some organizations have huge investments in custom development.  Some also remember previous negative experiences with the "hosted" solutions that were pre-cursors to the modern cloud architectures.  I understand, and to some extent, share some of those feelings.  Change is hard.  However, software vendors like Oracle are pushing cloud services and applications hard, and I think resistance is the wrong approach. I am not advocating for or against cloud solutions and I am not providing a comprehensive review of the solutions.  What I ...

PeopleSoft PUM Image Maintenance

Image
The PeopleSoft PUM Image VMs seems to work pretty well once installed.  There is very little maintenance that I have had to perform on these environments and I can always start over by rebuilding the VM if I really break something.  Still, there have been some small issues recently that have required digging into the these environments so here are some notes to help. Database Administration The Oracle Database runs within the same VM and can be accessed using TNS with SQLPlus, SQL Developer, or most other Oracle-compatible tools.  However, I recently needed to make some adjustments to the SYSADM privileges.  For this I needed to connect as SYSDBA. 1. Login to the VM as root   (this account was setup when you installed the image) 2. Switch to the oracle  account.  This is the database owner. su - oracle 3. You then need to know the database name to connect to.  The easiest way is to look for the pmon process.  In the example be...

Oracle Date Comparison in Character Column

I have a query I am trying to write against a custom table within PeopleSoft.  This custom table has some character columns that are free form, but in this case storing dates, so the user can type something like "03/14/2017" for March 14, 2017.  The query needs to evaluate these entries as date criteria, determining whether the date in the column is less than the current date. This is a little challenging because the field could be populate or it could be empty, although in PeopleSoft empty actually means a single space character.  We are also assuming that if it is populated it is always in the format MM/DD/YYYY. A couple different approaches are below, but obviously there are huge issues with this type of implementation... what happens is someone enters something that doesn't even look like a date?  Probably an error. At least in my case the data entry is somewhat controlled.  In both examples I do want to return rows where the date column is blank or th...

PeopleSoft User Personalizations

Image
Personalize links as displayed on a PeopleSoft grid. PeopleSoft provides individual users the ability to customize the display of various pages and grids using the "Personalize" links.  This can be useful for power users who want to streamline their pages and filter out unnecessary details.  It can, however, present some challenges for administrators. While testing a recent PeopleTools and HCM Image update an issue was reported in which three columns of a grid were not displaying.  The component was HRS_JO_360, part of the Recruitment/Talent Acquisition module.  Of the two columns not displaying one was custom and two delivered.  In the place of two of these columns was a checkbox with the column heading "Select". After some troubleshooting we found that the columns displayed correctly for some users, then that all three displayed correctly for a user with the same security roles as the user with the original issue.  We spent some time looking at ot...

PeopleSoft Bookmarklets

A few years ago I read about using Javascript to create "bookmarklets".  These are browser bookmarks that, unlike normal bookmarks, do not point to a specific URL.  They instead contain Javascript and run that script when selected.  This allows you to do a number of interesting things, but one idea I really liked was using them to create universal bookmarks, or cross-environment bookmarks, for PeopleSoft. Basically, once you are logged into a PeopleSoft environment you can use a bookmarklet to transfer you to a specific page within that environment.  This means I can have a single bookmarklet that takes me to a particular page of whatever environment I am in.  So for example, I have one bookmarklet called "Process Monitor".  If I am in FSCM and click that I am taken to Process Monitor for that environment, but if I am in HCM it takes me to that Process Monitor. How Do They Work? As I mentioned, a bookmarklet is just Javascript that does something . ...