Friday, September 28, 2012

PSOFT : PSAPPSRV Service Definitions


Here is a list of services that PSAPPSRV is responsible for, along with a description of each service.
  • GetCertificate-
Create a certificate for the client. The certificate is passed back to forth between client and server with each subsequent service request during the users session. The certificate identifies the client to the server and shows the server that the client has been properly authenticated.
  • MenuList-  
Retrieves a list of installed menus.  For Web Client.
  • MgrGetObject-
Get one or more managed objects (these could be records, panels, programs or any of about 50 managed object types)
  • MgrClear-
Synchronize Client Cache for checking for updated objects in the database.  The keys of the updated objects are returned to the client.
  • MgrPeek-
Query whether all the objects in a panel group are in app server local memory. (Used only for display purposes - not reliable for multiple servers)
  • JavaMgrGetObj-
MgrGetObject for Web (Java) client.  If the requested object is a Menu Definition, security is applied to the definition for the current user.  If the requested object is a Panel Group Definition, a menu name is also required;  if the current user has no authorization on that menu for the requested Panel Group, it is not returned.
  • PprLoad-
Load and initialize the application data for a panel group.
  • PprSave-
Save the application data for a panel group.
  • PprFullSave-  
Runs SaveEdits (incl. PeopleCode) and then saves the application data for a panel group.  Used by WebClient.
  • PprChangeValue-  
Does the panel processing necessary to change a panel fields value.
  • PprFieldChange-  
Runs the FieldChange PeopleCode for a panel field.
  • PprDefault-  
Sets the default field values for all buffers in a panel group.
  • PprInsertRow-  
Inserts a scroll row on Panel (F7)
  • PprDeleteRow-  
Deletes a scroll row on Panel (F8)
  • PprSearchStart-  
Creates a panel definition for a search dialog.  Starts a PanelProcessor for a group with that single panel, and runs Defaults (including SearchInit PC).  Optionally retrieves the definition of the INSTALLATION record and the single row of data in that table.  Optionally retrieves the definition of the PSOPTIONS record and the single row of data in that table.  For the Web Client.
  • PprSearchSave-  
Run appropriate save edits (definitional and PeopleCode) for a search dialog.  For the Web Client.
  • PprSecStart-  
Load and initialize panel processing for a secondary panel.  This includes filling the secondary buffers with data from the parent.  For the Web Client.
  • PprMItemSelPC-  
Run a piece of menu item PeopleCode.
  • PprPrePopupPC-  Run a piece of PrePopup PeopleCode.
  • PsmSchedPrcs-  
Schedule a process scheduler job to run on the server.
  • PsdGetListSvc-  
Get a list of process definitions.
  • QdmGetListSvc-  
Get a list of available queries.
  • RamList-  
RamList is a service request that retrieves the records for a search dialogue. For example, when a client fills in partial keys (i.e. Last Name --Smith), RamList service request will be submitted to the server. Then the server will send back a list of full keys (i.e Bob Smith and Jen Smith) for the client to choose from.  This service is handled by PSQCKSRV in 3-tier situations.
  • RemoteCall-  
Performs a RemoteCall service.
  • SamGetParmsSvc-  
Gets parameters for controlling SQL Access.  The parameters include such things as DB name, DB type, etc.
  • SqlAccess-  
SQL Update transaction.  Handled by the PSSAMSRV  conversational server.
  • SqlQuery-
an alias for SqlRequest to allow PSQRYSRV to handle SqlRequest requests.  The SQL statements are user-created via Query.
  • SqlRequest-  
Executes a single SQL statement as a complete (non-conversational) transaction.  The SQL statements are PeopleTools-generated from the source code.
  • StmChgPswd-  
Change an operators password
  • StmGetTimeOut-  
Get TimeOut Minutes parameter setting for an operator
  • StmGetExplain-  
Retrieve the explain text for an error message from the Message Catalog
  • OpnQryDescribe-  
OpenQuery interface.  Describe the characteristics of a PeopleSoft query in RDM serialized form.
  • OpnQryExecute-  
OpenQuery interface.  Execute the PeopleSoft query and return the fetched rows. Rows are returned in PPR BufferList serialized form.
  • WamChgInst-  
Change an attribute of a worklist item (e.g. its SELECTED status)
  • Publish-
Creates a publication message.
  • UpdatePubData-
Updates an existing publication, publication contract or subscription contract.
  • ResubmitPub-
Resubmits the publication , publication contract or subscription contract. to the Pub/ Sub system.
  • CancelPub-
Cancels the publication , publication contract or subscription contract.
  • GetPub-
Retrieves the requested publication from the database.
  • SubContract-
Retrieves the requested subscription contract from the database.
  • PubContract-
Retrieves the requested publication contract from the database.
  • MsgAPI-
Service call for Message Agents.
  • PSSession-
Service is called to instaniate an API on iClient to the App Server.
  • PSBusComp-
Retrieves a Business Component API.
  • ICPanel-
Used for server trips for PIA pages (ie. for pages created using Page Designer).
  • ICQuery-
Used for all Query Manager server processing (but not for Qyery Viewer which is implemented in PIA pages).
  • ICScript-
Used for all Peoplecode Iscripts.
  • XmlDriver-
Service call that processes 3rd party/ PS publication contracts.
  • ICWorklist-
Used with the worklist.

Wednesday, September 26, 2012

PSOFT : Login Error "Could not create shared cache (0,0)"

Issue : Getting error as "Could not create shared cache (0,0)" while trying to login to app designer or PIA.

Solution : try below steps to solve this
1. Delete all the cache files inside your PS cache. You can find the cache location from configuration manager
(default is C:\PS\CACHE)

2. If cache deletion is not working then using Configuration Manager change the cache directory to one with Standard User privileges
For example, inside %USERPROFILE%
C:\users\niraj\cache

3. Try running App designer as administrator through Run as... option

3. For PIA : Please make sure you have enough disk space on your application server.
(To find & delete larger files use my find command post)

4. If issue still persists then set the client sql trace and troubleshoot by analyzing trace files.

Monday, September 24, 2012

PSOFT : Third Party Integration using HTTPS Client Certificate Installation


A.   Define the third party external node

  1. Navigate to Peopletools > Integration Broker > Integartion Setup >Nodes
  2. Add New Node, Enter node name and click ADD
  3. Enter the required information
    - Description
    - Node Type: EXTERNAL
    - Default User ID: (see definition at end of document)
    - External User ID and External User Password if required by 3rd party
          For Example:


      4. Go to the Connector Page:
          Enter the Connector ID: HTTPTARGET
          Enter the Primary URL: in this case it utilizes HTTPS
          For example: 


If you ping the node at this point, you will get an error message –

Integration Gateway - External System Contact Error (158,10721). In the ErrorLog.html you may see the error: “HttpTargetConnector:ExternalSystemContactException unknown certificate”

This is due to the fact that you have not imported the digital certificate from the 3rd party external site.

B. Installing Digital Root Certificate from 3rd party

1. You need to obtain the Root Certificate and copy it to a file. To do this, first take the primary 
    URL specified on the Connector page of the external node definition.  Copy it and paste into 
    a browser URL address line. 

2. Depending on the browser version you will see a padlock icon either to the right of the 
    address line or in the lower right corner of the browser.  Click on the Padlock to view the 
    certificate.  

3.
Click on the Certificate Path tab and highlight to top node. 

4. Click on the Details Tab

5. Click on ‘Copy to File’ button and it will pop up a certificate export wizard. Click ‘Next’ button 

6. Select 2nd option ‘Base-64 encoded X.509(.CER)’ and click ‘Next’

7. Browse the folder and file name(I named it as rootca.cer) to which you want to export

8. Click ‘Next’ and you will see the Export completion window.
           
9. Click ‘Finish’

     You should get msg box saying : The export was successful

(When you download certificates please download all chained certificates which you will see in 3rd tab "Certification Path" where you see tree view structure of sites.
You need to click on every site, click view certificates and then do copy to file again in base64. So that you download and apply certificates for all sites & sub-sites)


10.Copy the c:\temp\ps\rootca.cer to <PS_HOME>\webserv\<Domain> on web server box

11.Open command prompt on the web server box and cd to <PS_HOME>\webserv\<Domain>
      Type ‘pskeymanager –import’

12.It will prompt you for the password; type password as ‘password’ (it’s default, if you want to  
      change it, you can type something you can remember)

13.It will prompt you for Alias

14.Enter a significant aliasname (Make sure it will not be existing in your keystore) and in the    
      next step enter the rootca file name ‘rootca.cer’ which you have copied to a file from the 
      certificate sent by certificate provider and then click ‘Enter’

15. If you get message saying that certificate already exists with different alias name then there is no harm in applying it or leaving it.

16.You will see the ‘Trust this Certificate’ prompt as shown below; type ‘yes’

17.It will complete the process and you will see ‘Certificate was added to keystore’
         
B. Edit the integrationgateway.properties file

1. Edit integrationGateway.properties file.

    Peopletools>Integration Broker>Configuration>Gateways and choose the gateway.  
    Once there click on the Gateway Setup Properties link, enter the userid and password,
    Click OK.
    Now, click on the Advanced Properties Page and locate the following code and
    enter the path to pskey (<PS_HOME>\webserv\<Domain> /keystore/pskey) and
    the password. 
    (depending upon tools version encrypt the password or leave it as it is)

    Uncomment following parameters and make sure they are correct. 

    secureFileKeystorePath=<path to pskey>
    secureFileKeystorePasswd=password

2. Reboot the webserver and Ping the Node to test
    Go back to the external node definition and PING the node.  You should get a SUCCESS!

3. If you are getting any error then please check:
> Whether the PRIMARY URL link from node's connector tab is working.
> you are able to ping that url or ip from that server ( if applicable )
> for further troubleshooting check IB error log as :
   If your gateway url is http://server1:8000/PSIGW/PeopleSoftConnector
   then check error log at 
   http://server1:8000/PSIGW/errorLog.html


Notes :
Definition for Default User ID:
On inbound integrations, this is the user ID that the sender must specify to invoke a service operation, unless you have set up an external user ID for this purpose.
On outbound integrations, this is the default user ID sent with the service operation.

keytool Commands
To see all ssl certs:
keytool -list -keystore /home/njdev/webserv/njdev/piaconfig/keystore/pskey
or
pskeymanager -list

To Delete ssl cert alias:
keytool -delete -alias 'gldmnkey1' -keystore /home/njdev/webserv/njdev/piaconfig/keystore/pskey

For Help:
pskeymanager -help
keytool -help

Thursday, September 20, 2012

UNIX : Find command with useful examples

OS : AIX 6.1
Note : Test the commands containing rm commands carefully at least once in demo environments.


1. Find files under /home1 with extension .c, .pc, .mak and list only filenames
$ find /home1 \( -name "*.pc" -o -name "*.c" -o -name "*.mak" \) -exec ls -1 {} \;

2. Find 10 largest files from current directory
$ find . -type f -exec  du {} \; | sort -nr | head -10

3. Find files greater than 1000 bytes and modified 60 days before
$ find . -size +1000 -a -mtime +60

4. Find  files lesser than 1000bytes and modified in last 60 days
$ find . –size -1000 –a –mtime -60

5. Find files greater than 1000bytes & lesser than 5000bytes but modified exactly 15days ago.
$ find . –size +1000 –size -5000c –mtime 15

6. Find files greater than 1gb
$ find . -type f -size +1048576 -print

7. Find files whose size is zero
$ find . -type f -size 0 –print
OR
$ find . -empty -exec ls {} \;

8. Search evrythng in ur dir that has been modified more recently than ~niraj/test.txt file
$ find $HOME -newer ~niraj/test.txt

9. Negation condition in find example : gzip normal files
$ find . \! -name "*.gz" -exec gzip {} \;

10. Command to move files under current directory except subdirs namely "Study" and "utils" to 'fileOprations' dir is
$ find . \( -name 'Study' -prune -o -name 'utils' -prune -o -type f \) -print | xargs -i mv -f {} ./fileOprations

11. Delete files/dirs older than 10 days 
$ find . -mtime +10 -exec rm {} \;

12. To compress file modified in last 10 days
$ find . -mtime -10 -exec compress –r {} \;

13. To remove file modified exectly 10 days back
$ find . -mtime 10 -exec rm {} \;

14. Search files with 777 permissions
$ find . -perm 777 –print

15. Search using incasesensitive string for file/dirname (use option i with name)
$ find . –iname "error" –print

16. Search files in current directory and not in subdirectory
$ find . -maxdepth 1 -type f -newer first_file

17. Search files with extension txt & remove those interactively(system will ask whether you want to delete file or not)
$ find $HOME/. -name *.txt -ok rm {} \;

18. Search links pointing to nothing using perl.
$ find / -type l -print | perl -nle '-e || print';

Tuesday, September 18, 2012

PSOFT : bea.jolt.ApplicationException error at PS login page


Issue : When you try to log online on PIA and you get the following error message:
CHECK APPSERVER LOGS. THE SITE BOOTED WITH INTERNAL DEFAULT SETTINGS, BECAUSE OF: bea.jolt.ApplicationException: TPESVCFAIL – application level service failure.

Solution :


1. PTWEBSERVER user locking

This could be because of the Peoplesoft Default web profile user ID PTWEBSERVER got locked. 
if Select ACCTLOCK from PSOPRDEFN WHERE OPRID=’PTWEBSERVER’
returns 1 then 
Run the below SQL to unlock it

UPDATE PSOPRDEFN SET ACCTLOCK=0 WHERE OPRID=’PTWEBSERVER’


The PTWEBSERVER account provides the portal servlet with minimal security access, sufficient only to launch the portal environment, but without access to any pages or other PIA objects. This account uses the PTPT1500 permission list.

Also before update the above sql,  make sure that this user, role, and permission list are currently in your database by using the following SQLs.

select * from PSCLASSDEFN where CLASSID = ‘PTPT1500′
select * from PSAUTHSIGNON where CLASSID = ‘PTPT1500′
select * from PSROLEDEFN where ROLENAME = ‘PeopleTools Web Server’
select * from PSROLECLASS where ROLENAME = ‘PeopleTools Web Server’
select * from PSOPRDEFN where OPRID = ‘PTWEBSERVER’
select * from PSROLEUSER where ROLEUSER = ‘PTWEBSERVER’


Bounce apps/web server and test login now.

Please Note Web Server Account name PTWEBSERVER can be different in your environment in case you have specified different id/pass during Weblogic PIA installation. but mostly PTWEBSERVER is the default web server id and many prefers to keep it intact.

OR


2. PTWEBSERVER ID/PASS mismatch with web server config.

Make sure (PTWEBSERVER) userid password is correctly specified at App server level in Database(Can be changed through User Profile page) and at webserver level in boot.properties & configuration.properties file in encrypted format. Both have to be same.
These id/passwords are defined/provided at the time of weblogic PIA installation.
you can crosscheck the id & password which are encrypted in boot.properties & configuration.properties


$ PSCipher PTWEBSERVER
Encrypted text: {V1.1}JP9ukEkTssmYrzsK1yvXFg==

if there is mismatch then please update id and password in boot.properties
once you restart weblogic id/passwords in boot.properties file will be automatically encrypted.
Also update the same encrypted id/passwords in configuration.properties file as well

bounce apps/web server and test login now.

OR


3. Wrong Servername:
JSL in configuration.properties file at web server

Please make sure you have specified correct app server name & Jolt port in configuration.properties
psserver=servername:port
Please make sure servername is the hostname of app server and not the IP address.

bounce apps/web server and test login now.

These are most probable causes for above error but if none of these is working for your error then please check App server logs & Web server logs for further investigation.

4. DomainConnectionPwd
Please make sure DomainConnectionPwd is same in psappsrv,cfg & web server's configuration.properties file. ByDefault it is set as PS(Encrypted).

Monday, September 10, 2012

PSOFT - Entity Relationship Diagrams for PS products


PeopleSoft ERD shows all the tables in the PeopleSoft database and the relationships between them. This information can be useful in identifying the relationships and dependencies between various components of the PS Application system and can help you understand the PS Application(HRMS/FSCM/CRM etc.) better.
For more information about ERDs, search for the document entitled “What is an ERD” on PeopleSoft Customer Connection

You can find the Data Models/ERDs at "1051533.1 - PeopleSoft Entity Relationship Diagrams" on oracle support (provided you have an account on Oracle Support)

At present following ERDs are available :

ELM:    9.2 Note: 1566244.1, 9.1 Note: 989317.1, 9.0 Note: 989318.1, 8.8 Note: 1050817.1
CS:      9.0/8.9 Note: 1053084.1
CRM:   9.1 Note: 986733.1, 9.0 Note: 978853.1, 8.9 Note: 981780.1
SCM/SRM:   9.2 Note: 1547384.1, 9.1  Note: 1074949.1, 9.0 Note: 975752.1,
                   8.9 Note: 981711.1, 8.8 Note: 989690.1
EPM:   9.1/9.0/8.9 Note: 985535.1
Portal: 9.1 Note:1061022.1, 8.9 Note: 988728.1


PeopleSoft offers ERDs for other products such as ELM, FMS, FSCM, CRM etc in direct PDF/web format which are easy to download & analyse.


HCM ERDs :
PeopleSoft provides ERDs for HCM as a change package/project which needs be to loaded into Database and then can be seen from Portal menu(PIA).

INSTALLATION : It takes between 45-60 mins.

Example : HCM 8.8 ERD installation

1. Use the Copy Project from Files function in PeopleSoft Application Designer
    to load the downloaded PRJ149571 project into your DEMO database.
    Specify the import directory path (example: C:\TEMP) that contains your update project.
[Local Directory]\UPD149571\PRJ149571
[Project]: PRJ149571

Built the record HC_TLS_ATTACH to create table PS_HC_TLS_ATTACH

2. run supplied dms to import UPD149571.DAT data

3. Perform below Steps in App Designer

Follow the instructions below to grant access to the component HC_TLS_ERD_VIEW

 a. File, Open, Component HC_TLS_ERD_VIEW in the Application Designer
     Tools, Register Component…
     On the “Registration Wizard Start” dialog:
     Check “Add this component to a menu”
     Uncheck “Add this component to a portal registry”
     Check “Add this component to a permission list”
     Click on the “Next” button

 b. On the “Registration Wizard – Add to Menu and Bar” dialog:
     Click on Select and select SETUP_HRMS menu
     Select SYSTEM from the dropdown list for Bar Name
     Click on the “Next” button

 c. On the “Registration Wizard – Add to Permission List” dialog:
     Click on Select and select HCCPHR9100 Permission List
     Check the checkboxes for “Add”, “Update/Display”, “Update/Display All” and “Correction” actions
     In the “Open” URI Base, replace the word “localhost” with your webserver name.
     Click on the “Next” button

 d. On the “Registration Wizard – Finish” dialog:
     Ensure that “Menu” and “Permission list” are the only ones checked on,
     in the “Add to Project” group. “Registry entry” must be unchecked.
     Click Finish

4.  Shutdown appserver, delete appserver and browser cache, startup appserver.

Note : To be able to see ERDs under "Data models" you need to be either PSADMIN/Super User or
need to have any one of these roles assigned to you

HR System Administrator
HR Technical/Admin

View ERDs under new menu "Data Models" at root level on PeopleSoft Portal (PIA).

The ERDs are static Read-Only format delivered in the form of PDF files. They are built based on the baseline version of the release, and are never updated until the next Service Pack or the next release. Hence they are based on Delivered data always.

ERDs are always better option compared to browsing every record definitions in App Designer for finding inter-relationship.