User Tools

Site Tools


tech:psoft:sysaudit849_sec_28

SYSAUDIT SEC-28 "Invalid entries in the PSAUTHITEM table"

PeopleBooks has a gawd awful bit of SQL to resolve the SEC-28 error for Invalid entries in the PSAUTHITEM table. It is impossible to actually run the SQL as there is a mismatch of “(” and “)”. There is an additional “)” at the end of the query. I have tested this on my personal HRDMO89/PT8.49.09 installation and it cleaned up the SEC-28 errors just fine. I have cleaned up the SQL for that Query below:

delete from  PSAUTHITEM
WHERE (PSAUTHITEM.MENUNAME NOT LIKE 'WEBLIB_%'
       AND PSAUTHITEM.MENUNAME NOT IN ('CLIENTPROCESS','DATA_MOVER','IMPORT_MANAGER','OBJECT_SECURITY','QUERY','PERFMONPPMI') 
       AND PSAUTHITEM.MENUNAME NOT LIKE ('APPLICATION_DESIGNER%')
       AND PSAUTHITEM.MENUNAME <> 'REN' 
       AND NOT EXISTS
              (SELECT 'X' 
               FROM PSMENUITEM MI
               WHERE PSAUTHITEM.MENUNAME = MI.MENUNAME 
                 AND PSAUTHITEM.BARNAME = MI.BARNAME 
                 AND PSAUTHITEM.BARITEMNAME = MI.ITEMNAME 
                 AND (MI.ITEMTYPE IN (0, 1, 2, 3, 4, 6, 7, 8, 10, 11) 
                     OR (MI.ITEMTYPE = 5 
                         AND EXISTS
                             (SELECT 'X' FROM PSPNLGRPDEFN GD,PSPNLGROUP GI
                              WHERE MI.PNLGRPNAME = GD.PNLGRPNAME 
                               AND MI.MARKET = GD.MARKET 
                               AND GD.PNLGRPNAME = GI.PNLGRPNAME 
                               AND GD.MARKET = GI.MARKET 
                               AND PSAUTHITEM.PNLITEMNAME = GI.ITEMNAME)
                        )
                     OR (MI.ITEMTYPE = 9 
                         AND EXISTS 
                             (SELECT 'X' FROM PSPCMNAME PCN, PSPCMPROG PCP 
                              WHERE PCN.OBJECTID1 = 3
                                AND PCN.OBJECTVALUE1 = MI.MENUNAME
                                AND PCN.OBJECTID2 = 4 
                                AND PCN.OBJECTVALUE2 = MI.BARNAME
                                AND PCN.OBJECTID3 = 5
                                AND PCN.OBJECTVALUE3 = MI.ITEMNAME
                                AND PCN.OBJECTID4 = 12
                                AND PCN.OBJECTVALUE4 = 'ItemSelected'
                                AND PCN.OBJECTID1 = PCP.OBJECTID1
                                AND PCN.OBJECTVALUE1 = PCP.OBJECTVALUE1 
                                AND PCN.OBJECTID2 = PCP.OBJECTID2
                                AND PCN.OBJECTVALUE2 = PCP.OBJECTVALUE2 
                                AND PCN.OBJECTID3 = PCP.OBJECTID3 
                                AND PCN.OBJECTVALUE3 = PCP.OBJECTVALUE3 
                                AND PCN.OBJECTID4 = PCP.OBJECTID4 
                                AND PCN.OBJECTVALUE4 = PCP.OBJECTVALUE4)
                        ) 
                     OR (MI.ITEMTYPE = 12
                         AND EXISTS 
                             (SELECT 'X' FROM PSXFERITEM XI
                              WHERE MI.MENUNAME = XI.MENUNAME 
                              AND MI.ITEMNAME = XI.ITEMNAME)
                        )
                     )
              )
      )               
OR    (PSAUTHITEM.MENUNAME LIKE 'WEBLIB_%' 
       AND NOT EXISTS 
              (SELECT 'X' FROM PSPCMPROG PCP
               WHERE PCP.OBJECTID1 = 1 
                 AND PCP.OBJECTVALUE1 = PSAUTHITEM.MENUNAME 
                 AND PCP.OBJECTID2 = 2 
                 AND PCP.OBJECTVALUE2 = PSAUTHITEM.BARNAME)
      )
OR    (PSAUTHITEM.MENUNAME IN ('CLIENTPROCESS','DATA_MOVER','IMPORT_MANAGER','OBJECT_SECURITY','QUERY','PERFMONPPMI')
       AND (PSAUTHITEM.BARNAME <> ' '
            OR PSAUTHITEM.BARITEMNAME <>  ' ' 
            OR PSAUTHITEM.PNLITEMNAME <>  ' ')
      ) 
OR    (PSAUTHITEM.MENUNAME LIKE ('APPLICATION_DESIGNER%')
       AND ((PSAUTHITEM.BARNAME <> ' ' 
             AND PSAUTHITEM.BARNAME NOT IN (SELECT OBJNAME FROM PS_APP_DES_OBJECTS WHERE PSAUTHITEM.BARNAME = OBJNAME)
            ) 
            OR PSAUTHITEM.BARITEMNAME <> ' ' 
            OR PSAUTHITEM.PNLITEMNAME <> ' '
           )
      ) 
OR    PSAUTHITEM.MENUNAME = 'REN'  
AND   ((PSAUTHITEM.BARNAME <> ' '
        AND PSAUTHITEM.BARNAME NOT IN (SELECT OBJNAME FROM PS_APP_DES_OBJECTS WHERE PSAUTHITEM.BARNAME = OBJNAME)
       ) 
       OR PSAUTHITEM.BARITEMNAME  <> ' '
       OR PSAUTHITEM.PNLITEMNAME  <> ' ')
tech/psoft/sysaudit849_sec_28.txt · Last modified: 2024/06/21 12:04 by 127.0.0.1