Saturday, February 16, 2019

Application Engine with Disable Restart "off" is going "No Success" in PeopleSoft

Have you every encountered this issue when an App Engine process keeps failing with No Success message over and again. Lets discuss what might cause this and how we can resolve.
The Application Engine program which is restart-able always commits the DB transactions if it fails. We can make an app engine re-startable by clearing the checkbox "Disable Restart" in the properties dialog box as shown below:



The next course of action is to re-start the process again hoping that it would resume the processing from where it got failed. If the program have been setup that way then it would work as expected but if not then it will fail again.

Even if you delete the failed process instance and kick of the process again, it would still fail because during the first run the program would have inserted processing data into temp tables and when you run the program again, it tries to insert the same set of processing data into the same temp tables causing the process to fail.

Now the question is, how to resolve this ?

The simple answer is - first clear all the temporary processing data from the tables and then run the process again. But this is easier said than done. So lets break it down into the steps needed to resolve this issue.

Gather all the temporary table instances and standard SQL tables

In this step we need to collect the names of all the tables into which the program tries to insert the data. The easiest way to do this is by first enabling the Application Engine trace and then checking the SQL trace file. Just search all the INSERT INTO text in the SQL trace file which will give you all the tables where the temporary or the transnational data is inserted.

Deleting the data from tables

In this step we will delete the data form all the tables gathered in previous step but perform this task very carefully so that we don't end up deleting any data which which isn't supposed to. First of all, all the data from temp tables can be deleted without any worry. However, before deleting the data from standard SQL tables, we first need to analyse and determine what exactly need to be deleted or updated and only after that data should be deleted.

Run the process again

After all the temporary or transnational data is deleted, we are ready to run the process again. So once the process is run again it should go to success.

Wednesday, February 13, 2019

How to unfinalize a calendar in PeopleSoft Global Payroll

One thing you all must agree that everyone of us who work in PeopleSoft Global Payroll, at some point of time have to undo the finalize of a calendar just to process it again. But the issue is, there is no delivered way of doing this so we have to use our own way which is through SQL script.

A calendar group can be un-finalized by executing following three steps:

  1. Reset the calculation status to Successful in the table GP_PYE_SEG_STAT
  2. Reset all the flags and the finalized time stamp in the table GP_CAL_RUN
  3. Reset the finalized time stamp in the table GP_CAL_RUN_DTL

All the above three steps can be executed through SQL given below:

UPDATE PS_GP_PYE_SEG_STAT
SET PYE_CALC_STAT = '50'
WHERE CAL_RUN_ID = 'Calendar Group';

UPDATE PS_GP_CAL_RUN
SET RUN_FINALIZED_IND = 'N',
RUN_FINALIZED_TS = NULL,
RUN_OPEN_IND = 'Y',
PMT_SENT_IND = 'N',
GL_SENT_IND = 'Y'
WHERE CAL_RUN_ID = 'Calendar Group';

UPDATE PS_GP_CAL_RUN_DTL
SET CAL_FINAL_TS = NULL
WHERE CAL_RUN_ID = 'Calendar Group';


Sunday, February 3, 2019

Why the dynamic role isn't getting assigned to intended users in PeopleSoft

I was once working on a project where I had to create Query for dynamic role assignment. Everything was going well as I was able to create it without any challenge. The query was fetching the desired set of users to whom the role was supposed to be assigned.

However, when I ran the Dynamic Role Assignment app engine (DYNROLE_PUBL), the role wasn't getting assigned to the intended users. I did the RCA and turned out that the PS Query which I created, wasn't returning the distinct OPRIDs hence the app engine process wasn't assigning the role to users.

To resolve the issue, I added a DISTINCT keyword next to SELECT using expression in the PS Query which though started returning distinct rows yet the main issue remained unresolved. I ended up spending several hours to get around this but no luck.

Then I read somewhere that instead of using DISTINCT keyword, I should rather enable distinct option in the query properties to get the distinct rows. The option is shown below:



Then I ran the process again and the issue got resolved.

Most frequently queried tables in PeopleSoft Global Payroll

A PeopleSoft Global Payroll specialist who maintains and support the system have to frequently query a set of tables very frequently. Lets see what are those.

The below tables contain the calculation results and are source of data that is displayed in the page Result by Calendar Group
PS_GP_PYE_PRC_STAT  (Contains all the resolved calendars)
PS_GP_PYE_SEG_STAT (Contains all the resolved segments calendar-wise)
PS_GP_RSLT_ERN_DED (Contains payroll earnings and deduction results under each segments calendar-wise)
PS_GP_RSLT_DELTA (Contains retro delta results calendar-wise)
PS_GP_RSLT_ACUM (Contains accumulator results calendar-wise)
PS_GP_RSLT_PIN (Contains supporting element results (bracket, formula, variables etc..) calendar-wise)
PS_GP_RSLT_PI_DATA (Contains positive input results calendar-wise)

The below tables contain triggers created from various sources and can be seen in the page Review Triggers
PS_GP_RTO_TRGR (Contains retro triggers)
PS_GP_SEG_TRGR (Contains segmentation triggers)
PS_GP_ITER_TRGR (Contains iterative triggers)

This one contains the error/warning messages associated with payees calendar-wise after the pay calculation process is run and can be seen through the page Payee Messages
PS_GP_MESSAGES

When we run the payroll with debug and trace option enabled, the audit trail is stored in the below table and can be seen through the page Element Resolution Chain
PS_GP_AUDIT_TBL

The payee level data is stored and maintained in below tables
PS_GP_PI_MNL_DATA (The earnings and deductions assigned to a payee, Page - One Time (Positive Input))
PS_GP_PAYEE_DATA(The retro limit at payee level, page Assign Retro Limit)
PS_GP_PYE_OVRD (Elements assigned to a payee for a specific period, page -Element Assignment by Payee)

Calendar Group Definitions are stored in this table:
PS_GP_CAL_RUN

Payments processing details and results are stored in below tables:
PS_GP_PMT_PREPARE (Payment processing details for a calendar group, page -Run Payment Prep Process)
PS_GP_PAYMENT (Payment processing results for a calendar group)

GP-GL processing detail and result are stored in below tables:
PS_GP_GL_PREPARE (GP-GL processing details for a calendar group)
PS_GP_GL_DATA (GP-GL processing results)












Saturday, February 2, 2019

PeopleSoft Time Admin Process Error : Dropped 1 Time Reporters found in other concurrent runs

Recently we got this error while running the time admin process TL_TIMEADMIN. The error text read as:

Dropped 1 Time Reporters found in other concurrent runs. (13507,9)

We did the RCA and discovered that the table TL_TR_STATUS contains the data that suggests the employee in question is being processed through another run control id. Following fields in the table contained values:

  1. PROCESS_INSTANCE
  2. RUN_CNTL_ID
  3. OPRID

We had to clear these three fields and also update the Earliest Change Date (EARLIEST_CHDT) back to the last reporting date. But instead of doing it through UPDATE SQL, we first deleted the row and then did an INSERT. 
Example:

DELETE  FROM PS_TL_TR_STATUS WHERE EMPLID = 'KU0045';

INSERT
INTO PS_TL_TR_STATUS
  (
    emplid,
    empl_rcd,
    ta_status,
    earliest_chgdt,
    prcs_thru_dt,
    lastupddttm,
    last_prcs_dttm,
    process_instance,
    oprid,
    run_cntl_id
  )
  VALUES
  (
    'KU0045',
    0,
    'Y',
    TO_DATE('2017-06-24','YYYY-MM-DD'),
    TO_DATE('2017-06-24','YYYY-MM-DD'),
    TO_TIMESTAMP('2017-06-24-12.50.57.000000','YYYY-MM-DD-HH24.MI.SS.FF'),
    TO_TIMESTAMP('2017-06-24-12.50.57.000000','YYYY-MM-DD-HH24.MI.SS.FF'),
    '0',
    ' ',
    ' '
  ) ;

Additionally, we also deleted run control data from below three tables:

DELETE FROM PS_TL_TA_RUNCTL  WHERE OPRID = 'PS';
DELETE FROM PS_TL_RUN_CTRL_GRP  WHERE OPRID = 'PS' AND EMPLID = 'KU0045';

DELETE FROM PS_PRCSRUNCNTL WHERE OPRID = 'PS';

After doing the above three steps we ran the time admin again and it went to success and the error was also gone.

Friday, June 8, 2018

Branding Options – Fluid/Classic/Classic Plus


You need to get familiar playing around with a few branding options if you are into fluid. Let’s begin!!

Switch from Fluid to classic

Are you looking to switch back to Classic from the default Fluid mode??

For some reasons, If your business users are not comfortable with fluid, either because of performance issues or there is no significant business transaction that require fluid, then you can still switch back to Classic mode by following the steps mentioned below:
  1. Navigate to Peopletools > Personalization > Personalization Options
  2. Select Option Category Level as ‘PPTL’(Peopletools)
  3. Search for User Option ‘HPPC’ and click on Format tab
  4. Click on ‘Set Option Default Value’ link and choose ‘Option Default Value’ as ‘Classic’ and save the page.
  5. HPPC applies to laptop and desktop computers and HPTABLET applies to mobile devices. This setting is particularly useful when you want to have Fluid for tab/mobile devices and Classic for desktop.



      6. Navigate to Peopletools > Portal > Branding > Branding System Options
      7. Select ‘Default Branding Theme’ as ‘DEFAULT_THEME_TANGERINE’ from          ‘DEFAULT_THEME_FLUID’ and select Theme Style as ‘Tangerine (PT 8.53 default) 



One good thing about Peoplesoft branding is that there is no need to bounce the servers like you do for web profile config changes. You can simply sign out and sign in back to experience the changes. 

Enable Classic Plus

From an end-user’s perspective, let’s imagine If there is a drastic change of browsing experience from seeing a super cool fluid page to approve a leave and back to a displeasing classic page to submit a claim. Won’t it feel odd? 

As we know, not all pages in Peoplesoft are meant to be fluid. To give a consistent modern user experience (harmonizing with fluid), Peoplesoft has come up with “Classic+”, so that end-users can move seamlessly across Peoplesoft pages.

In a nutshell, Classic plus
  • is a new stylesheet (introduced in Peopletools 8.56)
  • allows classic components to look more like Fluid components
  • are NOT RESPONSIVE to devices unlike fluid pages.

Classic plus is turned on by default starting with HCM Image 25. If you are on an older image, you can enable classic plus at a system level from the ‘Branding System Options’ page by selecting “Fluid like theme for Classic”. 

Peopletools > Portal > Branding > Branding System Options

To enable at component level, you should check ‘Apply Fluid like theme for Classic’ at Component Properties. Remember that you need to perform some minor tweaking on the pages, as the new stylesheet tends to distort the page alignment.



Have you implemented some great branding options for fluid/classic+. We would like to hear it from you. Let us know in the comments.

Also, if you haven’t read our previous article on the introduction to fluid, here’s the link.




Tuesday, May 22, 2018

Is it time to go FLUID?


Fluid is the buzzword that is currently doing the rounds in Peoplesoft world. In physics, a fluid is a substance that continually deforms under an applied shear stress. Alright, but what this has to do with Peoplesoft?? This new fluid stuff is going to help us fit our static Peoplesoft pages across various form factors - When I say various form factors, it means the page fits into any device of any size.

So here comes the next question.. Does Fluid only implies going mobile? Answer is a big NOOOO.. This is a general misconception/myth that is commonly widespread among us. So what exactly is this fluid thing?

- Fluid is a new way of using the system
- with a new navigation paradigm
- simplified/modern and intuitive User Interface 
- which has the capability to run on any device.

The beauty of the Fluid User Interface lies in its ability to generate responsive and adaptive UI. If your business users are in a middle of a meeting (We all know how boring those meetings could be 😊) and need to access some recruitment related analytics, they can access it on the fly using their iPad with the new fluid UI. Your boss can approve your leave on his way back home travelling in a train/car. 

As you can see, the fluid UI is more into targeting casual business users, so don’t expect to have all your Peoplesoft classic pages converted to fluid, for instance a job data page has no necessity to be accessed on a mobile. When I say this, you will a question tinkering your mind. If all pages are not meant to be fluid, will I not have an inconsistent UI between pages?? To solve this Peoplesoft has delivered a new branding style called “Classic-Plus” which is fluid-like styling to unify the look and feel within Peoplesoft. 

What does fluid mean to everyone involved:
- For a casual self-service user, you have a new system with look and feel of leading websites.
- For a user with manager level privilege, you can now easily approve any critical business transaction using fluid approvals.
- For a director level user, you have simplified analytics that can help you make strategic management decisions.
- If you are part of delivery team, you couldn’t ask for more with delighted end-users and lower training costs.
- For Developers, you will have an additional responsibility to learn new skills ( HTML5/CSS3/ Javascript) adding value to your profile.

Sample Fluid Page

There are few risks and challenges that needs to be addressed in this implementation 
- System Load Fluid UI Apps expands the user community, and puts additional load on system.
- Performance on mobile devices Mobile devices use data services which are generally not so fast, hence performance on mobile devices can be slower than expected.

The future of Peoplesoft is Fluid, Oracle has dramatically extended its investment in Fluid User experience. Many customers have already moved to fluid. Don’t wait too long, you’ll be left behind in the race. Have a clear implementation plan, explore the new features that are delivered and go for it, I am pretty much sure the end users will be delighted and so do you.

In the next few months, we will have more interesting articles coming up focusing on fluid development/tips and how to work with classic plus. Stay tuned!!!

Feel free to drop your feedback/suggestions.