I've seen this issue several times in other posts but haven't been able to solve it yet. Maybe you guys can shed some light here.
I'm trying to perform an Update for Component Interface "LOCATION" using the Java Object Adapter library (psjoa.jar) but I'm stuck with the following error when trying to save a new record:
"No rows exist for the specified keys. {LOCATION} (91,50), Failed to execute PSBusComp request , The highlighted field is required. You must enter a value for it before proceeding.{LOCATION.LOCATION_TBL(1).DESCR} (15,54), Error saving Component Interface. {LOCATION} (91,37), Failed to execute PSBusComp request"
If the record exists, no error arises BUT the location is not updated. I was able to create and update a Location through the web/online application but can't do the same from CI.
Most probably, this is caused by the Effective Date behavior of the table. The Application Designer shows that Location component has a LOCATION_TBL table at Scroll Level 0 and Scroll Level 1. Below are the arguments I'm passing to the "invokeMethod(sName, args)" operation of psjoa.jar:
// level 0
SETID: "SHARE",
LOCATION :"T00001",
// level 1
LOCATION_TBL: {
SETID: "SHARE",
LOCATION :"T00001",
DESCR: "My Test",
DESCR_AC: "TEST",
EFFDT: |2016-03-16|,
EFF_STATUS: "A"
}
I've read in a few places that Effective-dated components may require custom implementations using PeopleCode and/or SQL, for example.
I would like to know:
- Am I wrongly invoking the CI operation, passing the wrong arguments, not following the expected scroll structure ? If so, which should the the approach ?
- Do I have to customize the update/insert operations using PeopleCode ?
- (1) and (2) ?
Additional info:
- PeopleTools 8.53.02
- PeopleSoft HRMS 9.20.000
- Attached is a screenshot of my Location CI.