Tuesday, May 24, 2011

User does not see a Pagelet on a HomePage

Even though user has a access to Pagelet, he does not see it on a HomePage. This indicates that WebServer Pagelet cache is corrupt. Only way to make it work correctly is to restart the webserver. But if this happens in the middle of a day, you can use this trick to force the webserver Homepage pagelet cache refresh.

Add a new page to Homepage tab as a required fix. (PeopleTools –> Portal –> Structure and Content –> Portal Objects –> HomePage –> Tabs – Home).

Go to the Tab Content Tab and add the new Pagelet as require fix and select the column, usually the last column. Save it and relogin with user id who is complaining that he is not able to see the pagelet. He should now see the missing pagelet. Remove the newly added pagelet, as it is no longer needed. You can use the following sql to determine what pagelet user has access to .


SELECT * FROM PSPRUHTABPGLT where oprid = '7420060' ORDER BY portal_col_num,portal_row_num;


For further reference, Go to MOS (My Oracle Support) and see the following resolution.

E-PORTAL: What Are The Tables Used By Portal Technology? [ID 651342.1]

Monday, May 16, 2011

Page data is inconsistent with database

If you are getting this message, while saving the page, please refer to following resolution on MOS (My Oracle Support).

E-AS: How to Trace "Page data is inconsistent with database" error? [ID 655907.1]

Step 1: Set the following in psappsrv.cfg


Step 2: Go to the PIA and before logging on, add &trace=Y (uppercase y) at the end of the web address and press the keyboard Enter key. Check the the first 5 SQL options and for PeopleCode the 'List Program' and 'Each statement' options.

Step 3: Log in to PIA and reproduce the error.

Step 4: Check the trace, especially the portion which contains this information:
PSAPPSRV.28630    1-167605 11.00.03    0.001 Record RO_LINE_ATTR.ROW_LASTMANT_DTTM database value "2007-06-11-" page value "2007-06-11-"
The trace should clearly show the field which is producing the error as well as the values populated both on database side and page side.

One of the most common reason for this happening is

You are using a view to select data into a Scroll based on a table and No Auto Select option is turned on. The number of columns in view and scroll area base table differs and additional column in base table contain not null values. You use Auto update for Scroll and change the value of the field in a scroll and save.

To resolve this issue, add the same number of  columns to view as the base table or if possible, make the same view as a base record for the scroll that you use for selection.

Other reason is using SQLExec in SavePostChange to update the Base Table Record and therefore changing the value.