When working with Portal Related Content Service with PSQuery found couple of bugs.
1. If PS query has input parameters & when defining a service for Related Content click on Populate Parameters. Its populates the parameters but will not able to save page with below error. The is a known issue to Oracle & Oracle fixed this issue PeopleTools 8.51.15 but I am not aware of what's the fix is.
Fetching array element 2: index is not in range 1 to 1. (180,252) PTCSSERVICES.GBL.SavePostChange PCPC:676 Statement:7 .
Resolution1: We can manully enter parameters insteads of clicking the button.
or
Resolution2: With this change you can click populate parameter button to puplated parameters
added the below code (in bold letters) to existing peoplecode in PTCSSERVICES.savePostChange
Local array of string &vals = Split(¶ms_del [&i], ":");
Local boolean &found = False;
If &vals.Len >= 2 Then !Added inorder to fix delivered bug
.
.
.
If Not &found Then
SQLExec("DELETE FROM PS_PTCS_MAPFIELDS WHERE PTCS_SERVICEID = :1 AND
PTCS_PARAMETERNAME = :2", &vals [1], &vals [2]);
End-If;
end-if;
2. When trying to link PS Query to component basically will map key values on search record to PS Query input values. But if component search record keys are in subrecord & we will not be able to map keys to PS/query. for example : Saving Plan page in HCM (Benefits > Enroll in Benefits >Saving Plan).
Resolution:Inorder to fix this issue we modified the peoplecode to look at psrecfieldall table instead of psrecfield table in Related Content.
1. If PS query has input parameters & when defining a service for Related Content click on Populate Parameters. Its populates the parameters but will not able to save page with below error. The is a known issue to Oracle & Oracle fixed this issue PeopleTools 8.51.15 but I am not aware of what's the fix is.
Fetching array element 2: index is not in range 1 to 1. (180,252) PTCSSERVICES.GBL.SavePostChange PCPC:676 Statement:7 .
Resolution1: We can manully enter parameters insteads of clicking the button.
or
Resolution2: With this change you can click populate parameter button to puplated parameters
added the below code (in bold letters) to existing peoplecode in PTCSSERVICES.savePostChange
Local array of string &vals = Split(¶ms_del [&i], ":");
Local boolean &found = False;
If &vals.Len >= 2 Then !Added inorder to fix delivered bug
.
.
.
If Not &found Then
SQLExec("DELETE FROM PS_PTCS_MAPFIELDS WHERE PTCS_SERVICEID = :1 AND
PTCS_PARAMETERNAME = :2", &vals [1], &vals [2]);
End-If;
end-if;
2. When trying to link PS Query to component basically will map key values on search record to PS Query input values. But if component search record keys are in subrecord & we will not be able to map keys to PS/query. for example : Saving Plan page in HCM (Benefits > Enroll in Benefits >Saving Plan).
Resolution:Inorder to fix this issue we modified the peoplecode to look at psrecfieldall table instead of psrecfield table in Related Content.