Есть ли способ создать «временный» (или, я предполагаю, это называется виртуальный) глубокий объект с использованием oModel.createEntity()
?Как создать глубокую сущность с oModel.createEntry
У меня есть сущность, называемая расписанием, с объединением, которое ломается, называется ToBreaks.
Теперь я хочу создать новую сущность во внешнем интерфейсе, используя oModel.createEntity("/TimesheetSet")
.
К сожалению, в так называемой виртуальной новой записи все мои ассоциации отсутствуют. Поскольку я использую советы для привязки таблиц, после создания виртуальной новой записи инициируется обратный вызов TimesheetSet("id-04-123456789")/ToBreaks
, что приводит к ошибке «неверный ключевой предикат».
Есть ли способ сделать это с помощью OData V2?
Update 09.08.2016:
Вы все еще можете попробовать только с помощью параметра свойств с вложенным набором сущностей. До тех пор пока ваша служба OData поддерживает соответствующие глубокие создания, он должен работать:
Я также пытался что-то вроде этого:
oModel.createEntry("/TimesheetEntry", {
Pernr: sPernr,
Begda: dBegda,
ToBreaks: [{
Pernr: sPernr,
Begda: dBegda
}]
});
ToBreaks
это имя ассоциации.
В виртуальной записи OData-Model свойства для ассоциаций все еще отсутствуют. Я могу создать новую запись, используя приведенный выше код, но впоследствии нет свойства, называемого ToBreaks
На стороне бэкэнда я последовал этому руководству по внедрению метода deep_create: step-by-step-development-guide-for-createdeepentity-operation. Я могу вызвать метод из клиента SAP Gateway.
Благодарим за отзыв, но это вызывает глубокое создание на бэкэнд-системе. Я пытаюсь создать глубокую виртуальную сущность во внешнем интерфейсе, используя 'oModel.createEntry()' – srz
Если вы вызываете createEntity вместо создания, это работает? –
Я уже пробовал это, но не смог запустить его. Я попробую еще раз в выходные. Благодарю. – srz