Skip to main content

Hello everybody,

We are going to upgrade to IFS 25R1 and now we have a fresh IFS 25R1 installation. We are testing IFS 25R1 with our data.Unfortunately, we are experiencing troubles when accessing our projects:

  • The project structure tree is not displayed in ‘Project Scope and Schedule’ page
  • The project structure tree is not displayed in ‘Project Gantt’ page
  • When trying to approve or schedule a new project, the following message is displayed:

      “You cannot perform this function because your user does not have access to the project or all the subprojects belonging to the project "<Project ID>". Contact the project 
    manager to review your project access privileges.”

    This is true for all projects even if I am set as the Project Manager and also the manager of all sub-projects.

Currently we are running IFS 23R2 SU 17 without any issues. I can view project structure, Ganttt Charts, approve and schedule any projects even if I am not defined as the ptoject manager, because I have admin privileges.

Please, could you advice what additional setting is needed in 25R1 to to gain the full access to all projects? 

Thank you very much
Best Regards
Antonin

As far as I know, the Project Access Logic does not check whether a user is an administrator at all. It does check if the user is the AppOwner (IFSAPP) but that’s a special use case.

 

The typical checks one are :

 

WHERE (EXISTS (SELECT 'X' FROM  project_access_on pao
WHERE pao.project_id = PROJECT_TAB.project_id)
OR EXISTS (SELECT 1 FROM Person_Info_tab pi
WHERE pi.person_id = PROJECT_TAB.manager
AND pi.user_id = Fnd_Session_API.Get_Fnd_User)
OR EXISTS (SELECT 1 FROM Fnd_Session f WHERE f.Fnd_user = Fnd_Session_API.Get_App_Owner)
OR EXISTS (SELECT 1 FROM Fnd_Session f, person_info_tab pi, team_member_tab tm, project_access_definition_tab pc
WHERE pi.user_id = f.Fnd_User
AND tm.person_id = pi.person_id
AND tm.team_id = pc.team_id
AND pc.project_id = project_tab.project_id
AND NOT EXISTS (SELECT 1
FROM sub_project_tab sp
WHERE sp.project_id = Project_tab.project_id))
OR access_on_off = 0)

 

So there’s a few different checks such as the logged in user being IFSAPP, the Project Access checks being set to Off, logged in user being the project manager, or the user being part of the defined project access rules.

 

I’m not seeing any real difference in these checks in 25r1.

 

But if you can’t approve the ones where you are actually set up as the manager for the project and all sub projects that sounds a bit weird, could you show us an example ?

 

Which user are you using ? (A regular end user or a system user)


Hi Simon,

thank you very much for your response. We also investigated the issue a little bit and found out the following:
 

Procedure SUB_PROJECT_API.Check_Access_To_Entire_Project 
Contains  user_sub_projects cursor:
   

CURSOR user_sub_projects IS
      SELECT count(*)
      FROM   sub_project
      WHERE  project_id = project_id_;
-> SUB_PROJECT view: 

SUB_PROJECT view contains the following condition:
WHERE EXISTS (SELECT 'X' FROM project_access_on pao
                         WHERE pao.objkey = sub_project_tab.rowkey) 


Unfortunately, sub_project_tab.rowkey is NOT populated if a project is created as a copy of a project already existing in IFS. This is a great majority of our projects.

If a new project including the whole structure is entered manually or imported from MS Project, sub_project_tab.rowkey is populated.

We are using regular end user.

Br
Antonin


I am also adding an example SUB_PROJECT_TAB records of 3 projects created in different ways each:
'NGA10291' - created by importing from MS Project

'NGA10299' - created as a copy of a project already existing in IFS (NGA10291 in this case) 

'NGA10301' - created manually

please see thye attache file ‘25R1 Project Access Issue.png’

Br

Antonin


Ok, thanks for the addition because it’s very easy to follow what went wrong now. The rowkey not being populated is actually a fairly concerning sign, because that really should always be populated on insert as a guid.

 

I’d definitely recommend raising this as a bug in your support center, clearly outlining that this happens when you copy a project, and add the screenshot you’ve just shown us here.