On Metalink Go to Knowledgebase article : 611947.1 : PeopleTools 8.x Security Relationship Diagrams
The above document provides the ERD diagram for peopletools security table.
This blog contains posting related to peoplesoft Tools and technologies and specifically targeted towards peoplesoft developers.
On Metalink Go to Knowledgebase article : 611947.1 : PeopleTools 8.x Security Relationship Diagrams
The above document provides the ERD diagram for peopletools security table.
In PeopleTools 8.50, PeopleSoft does not document the command line parameter needed to run the installation in GUI mode for Linux/Unix servers. The installation defaults to console mode. To get the same GUI experience, you can use the following command line flag.
-i swing
So of you have downloaded the PeopleTools installation media to PS_INSTALL, you can run the following.
PS_INSTALL/Disk1/setup.sh –tempdir $HOME/tmp –i swing
(Note tempdir is a documented command line parameter to use the folder other than /tmp. It requires at least 2GB free space in temp folder).
--------------------------------------------------------------------------------------------------
Usage: setup [-f <path_to_installer_properties_file> | -options]
(to execute the installer)
where options include:
-?
show this help text
-i [swing | console | silent]
specify the user interface mode for the installer
-D<name>=<value>
specify installer properties
--------------------------------------------------------------------------------------------------
I will be curious, if there is a way to do silent install by providing all the needed input in a properties file. I do not see this documented any where.
Note: This method applies to other installation type for e.g. Verity Install.
I have noticed the following issue on PeopleTools 8.48.16.
FIX
To fix the issue, open the query in Query Manager from PIA. Change the query properties –> Description and resave the query. This fixes the issue.
When trying to run appengine program from command line (psae), you are getting this message
“Could not sign on to database xxxx with user yyyy for app engine program”
One possible reason is that psae needs database name in upper case. If you are using lower case name then the above message appears.
Also PS_SERVER_CFG must contain the fully qualified name of a correctly configured Process Scheduler PSPRCS.CFG file
For e.g.
PS_SERVER_CFG=$PS_HOME/appserv/prcs/<domainname>/psprcs.cfg;export PS_SERVER_CFG
psae -CT ORACLE -CD dbname-CO userid -CP password -R runcontrolid -I 0 -AI <appengine progname>
Also When PeopleSoft Application Engine runs from the command line, it resolves %PS_SERVDIR% to the value of the environment variable PS_SERVDIR instead of the parent directory of a Process Scheduler configuration.
The above error may happen when doing the following in Enterprise Portal:
Navigation: Portal Administration -> Branding -> Define Headers or Define Footers (Add / View existing Value)
Add a New Value or Find An existing Value
Set Header ID: TEST1
You will get this message "An error has occurred that has stopped this transaction from continuing."
Reason
This message appears in Enterprise Portal due to 0 rows in PS_INSTALLATION Table. To fix this issue: Insert a row in PS_INSTALLATION table and restart the appservers.
The SQL I have used is as follows.
INSERT INTO PS_INSTALLATION
VALUES('Y','Y','N','N','USA','USD','OFFIC','N',25,'N','N');
Tested this with Enterprise Portal 8.8 and PeopleTools 8.48.16
Following peoplecode is tested in 8.48.16 and assuming that you are using Oracle Wallet and LDAP libraries for connecting to ldap server. (Tested on HP*UX 11.11 server). It also assumes you have LDAP Port, Server name, Default Connect DN defined in PeopleTools -> Security -> Directory -> Directory Configuration. LDAPS Port is optional but highly recommended. This can be used in following scenarios.
You are logged in PeopleSoft with generic id and you need to validate user's password against ldap directory. Or you want to see programmatically if the user exist in LDAP with a valid password.
Create this as Class to Application Package: XX_UTILS
class LDAP
method ValidatePassword(&userid As string, &pwd As string, &directory_id As string) Returns boolean;
end-class;
method ValidatePassword
/+ &userid as String, +/
/+ &pwd as String, +/
/+ &directory_id as String +/
/+ Returns Boolean +/
Local string &defaultDN, &dn, &outDN, &server, &SSL;
Local integer &port, &nonsslport, &sslport, &EXECRSLT, &start, &num_chars, &ret;
Local Interlink &LDAP_BIND;
Local BIDocs &rootInDoc, &rootOutDoc;
SQLExec("select a.DSCNCTDN, b.DSSRVR, b.LDAPPORT, b.ldapsport from PSDSDIR a, PSDSSRVR b where a.DSDIRID = :1 and a.DSDIRID = b.DSDIRID", &directory_id, &defaultDN, &server, &nonsslport, &sslport);
If All(&sslport) Then
&SSL = "YES";
&port = &sslport;
Else
&SSL = "NO";
&port = &nonsslport;
End-If;
If All(&server, &port, &defaultDN) Then
&LDAP_BIND = GetInterlink(Interlink.LDAP_BIND);
&LDAP_BIND.UserID_Attribute_Name = "uid";
&LDAP_BIND.URL = "file://psio_dir.dll";
&LDAP_BIND.BIDocValidating = "Off";
&LDAP_BIND.SSL = &SSL;
REM &LDAP_BIND.SSL_DB = "e:\certs\cert7.db";
&start = 5;
&num_chars = Find(",", &defaultDN) - &start;
&dn = Replace(&defaultDN, &start, &num_chars, &userid);
&rootInDoc = &LDAP_BIND.GetInputDocs("");
&ret = &rootInDoc.AddValue("Server", &server);
&ret = &rootInDoc.AddValue("Port", &port);
&ret = &rootInDoc.AddValue("Distinguished_Name", &dn);
&ret = &rootInDoc.AddValue("User_Password", &pwd);
&ret = &rootInDoc.AddValue("Encrypted", "NO");
&EXECRSLT = &LDAP_BIND.Execute();
If (&EXECRSLT = 1) Then
&rootOutDoc = &LDAP_BIND.GetOutputDocs("");
&ret = &rootOutDoc.GetValue("Distinguished_Name", &outDN);
If &outDN = &dn Then
Return True;
End-If;
End-If;
End-If;
Return False;
end-method;
Sample code to call the function.
import XX_UTILS:LDAP;
Local XX_UTILS:LDAP &ldap = create XX_UTILS:LDAP();
Local boolean &return;
&userid = "userid"
&pwd = "xxxx";
&directory_id = "LDAP";
&return = &ldap.ValidatePassword(&userid, &pswd, &directory_id);
If &return Then
/* success */
else
/* failure */
end-if;
Sometimes user Minimizes the Menu Pagelet on PeopleSoft HRMS HomePage and do not know How to maximize it. Here is a query that can identify list of users who has minimized the Menu Pagelet.
PeopleSoft stores this information in PSPRUHTABPGLT Record.
It has a column PORTAL_MINIMIZE which has 2 values 0 (Maximize) and 1 (Minimize).
-- List of people who have maximized/minimized their Menu Pagelet
--PORTAL_MINIMIZE = 0 (Maximize)
select * from PSPRUHTABPGLT where PORTAL_OBJNAME_PGT = 'MENU' and PORTAL_MINIMIZE = 0
select b.oprid,b.oprdefndesc,b.lastsignondttm from PSPRUHTABPGLT a, PSOPRDEFN B where a.PORTAL_OBJNAME_PGT = 'MENU' and a.PORTAL_MINIMIZE = 0 and a.oprid = b.oprid
--PORTAL_MINIMIZE = 1 (Minimize)
select * from PSPRUHTABPGLT where PORTAL_OBJNAME_PGT = 'MENU' and PORTAL_MINIMIZE = 1
select b.oprid,b.oprdefndesc,b.lastsignondttm from PSPRUHTABPGLT a, PSOPRDEFN B where a.PORTAL_OBJNAME_PGT = 'MENU' and a.PORTAL_MINIMIZE = 1 and a.oprid = b.oprid
If there is no entry in this table, then it is always Maximized.
Here is a screenshot of How the minimized Menu Screen looks like.