我在其他帖子中多次看到此問題,但尚未能夠解決它。也許你們可以在這裏談一談。PeopleSoft有效日期CI:指定鍵沒有行(Java)
我試圖使用Java對象適配器庫(psjoa.jar)爲組件接口的「位置」執行更新,但試圖挽救一個新,當我堅持了以下錯誤記錄:
"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"
如果記錄存在,則不會出現錯誤,但位置未更新。我能夠通過網絡/在線應用程序創建和更新位置,但無法從CI執行同樣的操作。
很可能,這是由表的生效日期行爲引起的。應用程序設計者表明,位置組件具有LOCATION_TBL表中滾動級別0和Scroll 1級下面是我傳遞的參數「的InvokeMethod(SNAME,參數)」 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"
}
例如,我已經在幾個地方看過有效日期的組件可能需要使用PeopleCode和/或SQL的自定義實現。
我想知道:
- 我是不是錯調用CI操作,傳遞錯誤的參數, 不按預期的渦管結構?如果是這樣,那該怎麼辦?
- 是否必須使用 PeopleCode自定義更新/插入操作?
- (1)和(2)?
附加信息:
- PeopleTools的8.53.02
- PeopleSoft的HRMS 9.20.000
- 附件是我的位置CI的屏幕截圖。
你的'location_tbl'的關鍵字段是什麼? 'SETID','LOCATION'和'EFFDT'?我想,如果你嘗試更新表項,你的'get'調用就會失敗。請添加如何調用組件接口的java代碼。 –