Posts

Showing posts with the label PeopleSoft

Debugging nVision, Part 1

Image
Set nVision Web/Process Scheduler Trace To trace an online nVision process you must nVision tracing in the Process Scheduler configuration file. $PS_CFG_HOME/appserv/prcs/DOMAIN/psprcs.cfg Under the [nVision] section there will be a "TraceLevel" setting.  I typically useTraceLevel=4.  I like a lot of data. Trace Level Options  (from PeopleBooks) 0 = No Tracing 1 = High-level process flow and status information 2 = Level 1 plus high-level code information 3 = Level 2 plus includes SQL Statements 4 = Level 3 plus function calls, output values, and detailed process flows.  Maximum level. A Process Scheduler bounce is not required.  At least, not if you have "Dynamic Changes" enabled.  I don't know for sure if the dynamic changes setting matters or not to this option. The trace files will be posted online under Process Monitor. Set nVision Windows Client Trace Tracing for nVision running on the Windows client can be enabled through Con...

Getting Client IP Address in PeopleSoft

When running PeopleSoft behind a load balancer the client IP address is sometimes not reported correctly on the PSACCESSLOG table, or when using the built-in PeopleCode functions.  This definitely occurs when using Netscaler, as this is what I have the most experience with and what I have had others ask about, but other load balancer products may cause the same behavior. To get an accurate IP address you must configure the load-balancer to pass this information, which can be done using the HTTP header "X-forwarded-for".  Here is some information on Netscaler.  Refer to your load balancer documentation for details on this setup. https://docs.citrix.com/en-us/netscaler/10-1/ns-tmg-wrapper-10-con/ns-lb-wrapper-con-10/ns-lb-advancedsettings-con/ns-lb-advancedsettings-cip-tsk.html Once the load balancer is configured use PeopleCode to read the header for the actual client IP address.  You can create your own access log tables or write conditional logic based on the...

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 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 . ...