Как быстро изменить тему Web Dynpro приложения

Как быстро изменить тему Web Dynpro приложения

Рассмотрим ситуацию, когда внешний вид Web Dynpro приложения нам надоел. Нет, не очень правдоподобно. Рассмотрим ситуацию, когда на почту пришло письмо от пользователя, в котором он попросил рассмотреть возможность изменения внешнего вида какого-либо Web Dynpro приложения, с которым ему приходится часто работать. Звучит уже лучше. Хотя, конечно же, варианты могут быть разные, как от «хотелки» бизнес-пользователя, так и до пересмотра цветовой схемы всего портала. Но про последний кейс поговорим как-нибудь в другой раз.

А сейчас рассмотрим ситуацию, когда для Web Dynpro приложения консультанту необходимо быстро применить какую-нибудь цветовую схему. Для примера, рассмотрим Web Dynpro приложение HRESS_A_PTARQ_LEAVREQ_APPL (Create Leave Request / Создание заявки на отпуск).

Для запуска Web Dynpro приложения можно воспользоваться ранее предложенным вариантом. Запустим приложение с конфигурацией HRESS_AC_PTARQ_LEAVREQ, согласно документации:

Внешний вид приложения должен быть примерно следующим:

Передать новое значение темы в Web Dynpro можно через определенный параметр. Список всех возможных параметров, которые можно передать в Web Dynpro, вежливо собран SAP-ом в соответствующем разделе справочного портала. А именно: Application Parameters and URL Parameters.

Применительно к нашей задаче, остановимся на параметре WDTHEMEROOT. В справочной таблице также предоставлена информация:

  • об URL-параметре (о нем поговорим чуть дальше);
  • о списке возможных значений, относящихся к этому параметру;
  • текстовое описание параметра
    Пробуем передать параметр WDTHEMEROOT с каким-нибудь новым значением, и посмотрим, что же поменяется.

Для этого корректируем параметры запуска Web Dynpro приложения из области «Избранное», добавлением параметра WDTHEMEROOT, со значением sap_hcb:

Стартуем. Ужасаемся/любуемся (нужное выбрать):

Вернемся к таблице, предоставленной SAP-ом, и обратим внимание на столбец с URL-параметром. Как можно использовать этот URL-параметр? Очень просто.

Открываем Web Dynpro приложение HRESS_AC_PTARQ_LEAVREQ в транзакции SE80, и копируем значение поля URL:

Пробуем запустить в браузере:

Что-то пошло не так. Скорее всего данное приложение не может работать без конфигурации. Возвращаемся к таблице, с описанием параметров, находим URL-параметр SAP-WD-CONFIGID. В адресной строке браузера добавляем данный параметр через знак «?» (значение запускаемой конфигурации оставляем такое же HRESS_AC_PTARQ_LEAVREQ) и нажимаем Enter. Конфигурация приложения должна загрузиться:

Добавляем, теперь через знак амперсанд, URL-параметр SAP-THEME со значением sap_corbu и нажимаем на Enter:

URL-параметры идентичны по своим свойствам с параметрами приложения. Единственное, на что, наверное, нужно обратить внимание, так это на приоритет их обработки. Смотрим справочную информацию:

Order of Evaluation
The setting options are evaluated in the order below:

  1. In the parameters determined by the URL
  2. The standard parameters defined for the Web Dynpro application
    A URL parameter always overrides an application parameter.
    Возвращаемся на несколько шагов назад, когда начали запускать Web Dynpro приложение с темой **sap_hcb **из меню «Избранное» пользователя. После запуска приложения, обращаем внимание на адресную строку браузера. Среди многих параметров и значений там представленных, можно найти параметр WDTHEMROOT, который мы определили со стартовым значением sap_hcb:

Попробуем изменить значение параметра с sap_hcb на **sap_corbu **прямо в адресной строке браузера. Новая тема будет применена к приложению по нажатию на клавишу Enter. Теперь, попробуем изменить наименование параметра с WDTHEMROOT=sap_corbu на SAP-THEME=sap_corbu. Приложение будет перезапущено, при этом цветовая схема sap_corbu останется активной.

Резюмируем все вышесказанное: для оперативного просмотра тем, идущих в «коробке» SAP, применительно к какому-нибудь приложению, необходимо:

  1. Добавить Web Dynpro приложение в область меню «Избранное»;
  2. Задать начальное значение темы через параметр WDTHEMROOT или через параметр SAP-THEME;
  3. После запуска приложения, вручную изменять значение параметра в адресной строке браузера
    Если нужная тема выбрана, ее можно применить на портале через свойства iView, которое создано для вашего Web Dynpro приложения. Просто пропишите в свойствах параметр WDTHEMEROOT или SAP-THEME с нужным значением.

Read more