Как быстро изменить тему 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 с нужным значением.