один раз их заполнить а потом переиспользовать при других crud запросах?
https://blogs.sap.com/2020/04/28/shared-memory-objects-transfer-data-between-abap-programs не про это :) ?
Так САП любит делать со своими каталогами группами и плитками
не, не похоже на то.
а как он это делает?
опиши контекст задачи
Это нарушение принципов restful
например, есть веб приложение в нём get запросы к сапу: получить инфу А, получить инфу Б, получить инфу В итд. На стороне сапа, в DPC_EXT вся бизнес логика обработки запросов Б, В, Г итд, требует результаты запроса инфы А, поэтому есть идея, сохранять в атрибутах результаты инфы А, чтобы не собирать эти данные каждый раз, а запросить их вначале и переиспользовать далее. Но при последующих запросах, атрибут с А пустой.
а как же кэширование, которое есть в REST принципах?
Ну ты просто не правильно понимаешь кэширование rest
Откуда запрос Б В и тд должен знать, что был уже запрос А, и что был он от того же приложения/пользователя и т.д., а не от соседа? Отдал данные и забыл - вот и вся odata
есть ссылка где мудрости набраться?
проверит атрибут А, если пустой - запросит заново, не пустой - переиспользует
Пфффф Это жесть. И не про одату или кэш вообще. Кэш хранится в двух местах, на клиенте и http сервере. Любой гет запрос по умолчанию кеширован. Нужно только правильно формировать хедер, как минимум использовать etag.
Тебе на до тогда этотатрибут зависимым от юзера делать
т.к. запросы разнесены по времени, нет гарантии, что за время обращения прошедшее от запроса Б до Г не поменялось содержимое А. Если надо их пачкой, так может просто надо функцию свою определить и ее юзать? Что бы она сразу все 3 запроса делала
Обсуждают сегодня