Я видел эту проблему несколько раз в других сообщениях, но еще не смог ее решить. Может быть, вы, ребята, можете пролить свет здесь.PeopleSoft Effective-Dated 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 на Scroll Level 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
- прилагается скриншот моего Location CI.
Каковы ключевые поля вашего 'location_tbl'? 'SETID',' LOCATION' и 'EFFDT'? Я предполагаю, что уже ваш вызов 'get' завершается с ошибкой, если вы попытаетесь обновить запись в таблице. Добавьте код Java, как вы называете интерфейс компонента. –