Monday, July 4, 2016

Peoplesoft Page is Not Showing in the Menu

One of the common problem that PS developers encounter is the PS page not showing in the menu after component registration. Here are the few steps that I am doing when this issue happens:

1. Make sure that it is successfully registered. In the application designer, you can see the logs whether it encountered an error or the component has been successfully registered. Another way to check is to verify it in PIA under the Structure and Content page. Navigation is Menu > PeopleTools > Portal > Structure and Content. Click to the folders/sub-folder until you find the component you registered. From there, you can verify the node, menu, permission list and if it is still valid (there are fields there indicating the validity of the portal). If Valid to date is null, this means that there's no expiration for this portal. If the page cannot be found in Structure and content, it is either not registered successfully or you do not have access to view it.

2. If you find all configurations or setup from Portal Structure and Content are correct and the link from the menu is still not visible, then you need to check the permission list. You can use the SQL below to verify if the specific component is attached to a permission list. You can also use this to see if a specific user has an access to it. You can play around with the criteria.

SELECT DISTINCT d.roleuser, 
                a.rolename, 
                b.classid                  AS PERMISSION_LIST, 
                b.menuname, 
                b.baritemname              AS "COMPONENT NAME", 
                b.pnlitemname, 
                c.descr                    AS "PAGE DESCRIPTION", 
                Decode(b.displayonly, 1, 'Y', 
                                      'N') AS "DISPLAY ONLY?", 
                e.navigation 
FROM   sysadm.psroleclass a, 
       sysadm.psauthitem b, 
       sysadm.pspnldefn c, 
       sysadm.psroleuser d, 
       (SELECT LEVEL0.portal_label 
               || ' > ' 
               || LEVEL1.portal_label 
               || ' > ' 
               || LEVEL2.portal_label 
               || ' > ' 
               || level3.portal_label AS navigation, 
               level3.portal_uri_seg2 AS component 
        FROM   psprsmdefn level3, 
               psprsmdefn level2, 
               psprsmdefn level1, 
               psprsmdefn LEVEL0 
        WHERE  level3.portal_prntobjname = level2.portal_objname 
               AND level2.portal_prntobjname = level1.portal_objname 
               AND level1.portal_prntobjname = LEVEL0.portal_objname 
               AND level3.portal_name = level2.portal_name 
               AND level2.portal_name = level1.portal_name 
               AND level1.portal_name = LEVEL0.portal_name) e 
WHERE  a.classid = b.classid 
       AND b.pnlitemname = c.pnlname 
       AND a.rolename = d.rolename 
       --AND d.roleuser = 'USER' 
       --AND b.baritemname = 'COMPONENT NAME' 
       --AND d.rolename = 'ROLENAME' 
       --AND b.classid = 'MENU NAME' 
       AND e.component = b.baritemname 
ORDER  BY 1, 
          2, 
          3, 
          4, 
          5, 

          6; 


3. Run the portal security synch process. Navigation is: Menu > PeopleTools > Portal > Portal Security Synch. Normally, PS Admin is the one who has access to run this process.

4. Clear server cache. Sometimes, we encounter this issue due to caching issue. We normally request for server bounce (Web server and App server).

Note: When you register a new component, make sure that all new folders used are included in the migration plus the existing folder where these new folders or new portal registry is stored.