SAPфорум.RU
https://sapboard.ru/forum/

Media-related entity
https://sapboard.ru/forum/viewtopic.php?f=133&t=97335
Страница 1 из 1

Автор:  Orgazm [ Пн, фев 11 2019, 13:53 ]
Заголовок сообщения:  Media-related entity

Добрый день, коллеги!

Может быть сталкивался кто:
Как вернуть valid odata response на фронтенд из media-related ентити?
делаю запрос oDataModel.read( path, params ) к ентити объявленной как media.
Запрос приходит в бек в get_stream, генерирую бинарик файла, отдаю его в er_stream.
Все хорошо, но когда файла нет, или он не сгенерировал, выходной параметр er_stream соответственно пустой, а там только параметры mime_type и value.
Как сообщить фронту о том что файла нет? Если отправить пустой er_stream, на фронте будет вышеуказанная ошибка ( no valid odata response )

Автор:  Besa [ Пн, фев 11 2019, 14:23 ]
Заголовок сообщения:  Re: Media-related entity

Странно, не помню таких проблем.

Если Вас правильно понял, то запрос приходит в DPC_EXT класс в метод /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_STREAM
Дальше Вы, достаете бинарник откуда-нибудь и укладываете его в er_stream.

Возможно, у нас на JS как то обрабатывают такой кейс когда нет файла. Но в целом, если файла нет, оставляем er_stream и все.

Автор:  Orgazm [ Пн, фев 11 2019, 14:28 ]
Заголовок сообщения:  Re: Media-related entity

Да, все правильно.
На фронте в oDataModel.read я прикрепил хендлеры на success и error, запрос возвращается в еррор-хендлер
Code:
_btnHandleOk: function( oData, oResponse ) {
},

_btnHandleError: function( oData, oResponse ){
},

и чтобы я ни делал внутри, после этого возникает ошибка.

Автор:  Orgazm [ Пн, фев 11 2019, 14:39 ]
Заголовок сообщения:  Re: Media-related entity

До этого я просто делал валидную ссылку на JS для запроса к ентити:
ServiceUrl + /entityname(keys)/&value

Но я не нашел возможности подвесить через sap.m.URLHelper.redirect( url ) какие-либо хендлеры. А они нужны, чтобы считать лог журнала.

Автор:  olegbash [ Вс, мар 03 2019, 00:26 ]
Заголовок сообщения:  Re: Media-related entity

Orgazm написал:
До этого я просто делал валидную ссылку на JS для запроса к ентити:
ServiceUrl + /entityname(keys)/&value

Но я не нашел возможности подвесить через sap.m.URLHelper.redirect( url ) какие-либо хендлеры. А они нужны, чтобы считать лог журнала.


1ым вызовом проверяете существоание/полномочия/доступность и сообщаете что угодно пользователю
2ым вызовом гарантировоно запрашиваете существующий файл

PS. а про лог какого журнала идет речь?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/