Метаданные SAPUI5 не обновляются после изменений - PullRequest
0 голосов
/ 16 мая 2019

У нас проблема с SAPUI5 сервисным обслуживанием. После внесения изменений в объекты службы посредством транзакции SEGW метаданные, загруженные в клиент GW, остаются в состоянии до изменений.

Например, поле даты было изменено на строку, а GW выдает ошибки invalid or no mapping to system data types found. Причиной является попытка поместить значение типа дата-строка, например, «16 .05.2019», в тип даты (метаданные сущностей не обновляются каким-либо образом).

Мы попытались обновить эти кэши:

  • Индекс пересчитать
  • Smicm
  • Глобальные кэши

Via:

  • / iwfnd / cache_cleanup
  • / ui2 / invalidate_global_caches
  • / ui5 / app_index_calculate

Мы также перезагрузили метаданные и даже удалили сущность и воссоздали ее - все это не удалось.

В транзакции /IWFND_GW_CLIENT отображаются обновленные метаданные.

Кажется, что только воссоздание сущности с другим именем решает эту проблему, но это не похоже на хороший способ поддерживать службу ...

1 Ответ

0 голосов
/ 16 мая 2019

/IWFND/CACHE_CLEANUP является единственной релевантной для OData, остальные кеши для развернутых приложений UI5. если вы находитесь в среде GatewayHub с несколькими внутренними системами, вы должны выполнить транзакцию в обеих системах.

Если транзакция не делает этого, для обеих систем выполняется другая очистка кэша, которая по-разному реализована в SAP. Вот что я делаю после смены сервиса в бэкэнд-системе SEGW:

  1. Backend SEGW: регенерировать объекты времени выполнения
  2. GatewayHub (GW) /IWFND/GW_CLIENT Выполнить /sap/opu/odata/ZyourService_SRV/$metadata. Сервис без изменений
  3. в той же транзакции в верхнем меню: Metadata -> Cleanup Cache -> on both systems
  4. выполнить снова /sap/opu/odata/ZyourService_SRV/$metadata. Сервис с изменениями
  5. Теперь во внешнем интерфейсе остался только кеш браузера, который мог бы содержать устаревшую информацию. Как правило, после жесткого обновления вашего приложения браузер должен перезагрузить метаданные. В консоли разработчика браузера Chrome на вкладке Сеть вы также можете отключить кэширование при открытой консоли.
  6. Для последних систем GatewayHub SAP представила Кэширование данных с помощью CacheBuster и программы, которые должны планироваться периодически

Для обеспечения актуальности токенов необходимо периодически выполнять отчет / UI5 / UPD_ODATA_METADATA_CACHE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...