Posts

Showing posts from 2021

Peoplesoft Set Control Field Overview

Image
  PeopleSoft Set Control Field Overview: As the name suggests “The field which controls the access of data sets (Record Sets) in various control tables (DEPT_TBL, LOCATION, JOBCODE_TBL, SAL_ADMIN_PLAN etc…)” is known as  Set Control Field. “Data Set or Record Set” is nothing but a set of data rows which is identified by a key (SetID) in control table as shown below (Snapshot below is of department table DEPT_TBL):  In the example shown above, there are four data sets (Record Sets) grouped by the keys in the department table - SHARE, X00, Y00, Z00 Set Control Fields in PeopleSoft   As far as I know, there are three set control fields in PeopleSoft: ·           BUSINESS_UNIT ·           COMPANY ·           REG_REGION Let’s do a little digging to understand it more. As stated earlier, it controls access of data sets in various control tables but the question is how? Please note that, whenever we create a new Business Unit or Company or Regulatory Region then a new TableSet Control is

HCM Functional: How to Resolve a Row Level Security Issue in PeopleSoft

Image
  How to Resolve a Row Level Security Issue in PeopleSoft   Most people prefer using SQL queries if they need to find out what are all the users have access to a particular employee's data in PeopleSoft and that's because either they are extremely comfortable with SQL or they don't know how to do this through an inquiry page in PIA.     Let's say an HR user reported you an issue that they can't see one employee's data in Job Data page. I would say this is one of the most occurred issues a PeopleSoft security consultant deals with as part of their daily work. Anyway, from further inquiry you came to know that the employee's data row wasn't future dated because if it was then there is a separate security setup has to be done in order to allow users to see future dated transaction data in Job Data page. So what are we gonna do now ? well, there are ways to analyze and resolve the issue but I am gonna tell you few very simple steps to the same

PeopleSoft Query Security - Explained

PeopleSoft Query Security – Explained   If a PeopleSoft record built through Application designer is not listed in PS-Query tool for reporting, it means that the particular PeopleSoft record is not available for the user to access through PS-Query. For example, one has built a custom record PS_Z_ABC through Application Designer, then the record - Z_ABC won't be available under for PS-Query for any user. The record has to be added to a query tree. Why to add a record to a Query Tree?  How to add a record to Query Tree? Well, PeopleSoft Queries are used to build SQL queries and retrieve information from application tables. For each PeopleSoft Query user, you can specify the records the user is allowed to access when building and running queries. This is done by creating query access groups in PeopleSoft Tree Manager and then assigning users to these query access groups with PeopleSoft Query security. PeopleSoft Query security is enforced only when using PeopleSoft Query; it do

Query: SQL Query to identify the Level 0 record of a component.

  The below SQL will give all the records of a component along with its corresponding occurs levels:   SELECT   DISTINCT   D . recname       TableName ,                    D . occurslevel   ScrollName   FROM     pspnlgrpdefn   A ,           pspnlgroup   B ,           pspnldefn   C ,           pspnlfield   D ,           psrecdefn   E   WHERE    A . pnlgrpname   =   B . pnlgrpname           AND   A . market   =   B . market           AND   B . pnlname   =   C . pnlname           AND   C . pnlname   =   D . pnlname           AND   A . pnlgrpname   =   'POSITION_DATA'   --Component Name           AND   E . recname   =   D . recname           /* Restricts to only tables and eliminates views and derived records */           AND   E . rectype   IN   (  0  )           /*This condition eliminates records in component as Related Fields*/           AND   To_char ( Bitand (D . fielduse ,  16 ))   <>   '16'   ORDER    BY  2 , 1   Note: Adding condition as d.oc