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

SRM: Расширение средства поиска на портале
https://www.sapboard.ru/forum/viewtopic.php?f=75&t=73565
Страница 1 из 2

Автор:  Мимо Крокодил [ Вт, ноя 15 2011, 15:26 ]
Заголовок сообщения:  SRM: Расширение средства поиска на портале

Приветствую!

Поступило необычное для меня задание добавить на портал в средство поиска поставщиков пару полей. И вместо ТЗ сопроводительные картинки, где на портале я могу найти нужный экран. Курсы и примеры, как расширять экраны портала я уже видел, а вот как же мне найти то приложение, и то место, которое я должен расширить, я так и не нашел.
Не поймите превратно, опыта работы в SPM и с порталами у меня раньше не было. Хотелось бы знать, с чего начать.

Картинки:
Изображение
Изображение
Что-то подсказывает мне, что не нужно расширять этот компонент, а внедряться нужно куда-то еще.
Изображение

Автор:  Konstantin Anikeev [ Ср, ноя 16 2011, 15:04 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале  Тема решена

Портал здесь совершенно не имеет никакого значения. Расширения поиска в SRM делаются не расширением компонет WebDynpro, а имплементацией BADI (расширением Feeder-классов, если BADI не помогает).

Поищите статьи на тему POWL приложений.
хотя бы вот тут: sdn.sap.com

Наиболее просто для вас будет создать Имплементацию BADI /SAPSRM/BD_POWL_CHNG_SELCRIT (в качестве фильтра - POWL-тип "SAPSRM_FEEDER_BUPA_SUP" ) И там добавлять новые поля для поиска.
Для изменения результатов поиска (фильтра) . имплементируйте BADI /SAPSRM/BD_POWL_CHNG_SEL_RSLT (фильтр тот же).

И будет вам счастье :)

Автор:  Мимо Крокодил [ Чт, ноя 17 2011, 13:24 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Спасибо! Всё заработало.
На будущее вопрос, как же искать подобные расширения и классы в системе?

Автор:  Konstantin Anikeev [ Чт, ноя 17 2011, 13:46 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Расширения стандартные ищутся по документации к модулю (никогда не читал) или напрямую в коде.
Все классы для POWL имплементируют интерфейс IF_POWL_FEEDER, какой класс у вас конкретно - надо искать по кастомайзингу.

Транзакция POWL_TYPE - привязка типа к классу
Транзакция POWL_QUERY - привязка выборки к типу

Автор:  Мимо Крокодил [ Пт, ноя 18 2011, 11:27 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Документация к модулю - SPRO имеете ввиду?

Дело дошло до "Конкурса", я теперь снова не могу найти точек расширения.

Вот, к примеру, вижу я на портале:

Техническая информация для элемента UI
---------------------------------------------------------
Общая информация к приложению и компоненту
Приложение: /SAPSRM/WDA_L_FPM_OIF
Компонент веб-экрана: /SAPSRM/WDC_UI_DO_BIDDER
Информация окна: IV_L_FPC_SRCBIDDER_C
Информация ракурса: V_DO_BIDDER_SEARCH_C
Ид. конфигурации: /SAPSRM/WDCC_FPM_UI_DO_BID_RFQ


Код в системе обнаружить не удалось :|
Опишите пожалуйста, как ищете вы.

Автор:  Konstantin Anikeev [ Пт, ноя 18 2011, 12:40 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Ну, код скорее в системе, чем вне ее :)
А найти-то чего хотите. Класс, который за тыки на кнопочки отвечает?

Автор:  Мимо Крокодил [ Пт, ноя 18 2011, 13:22 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Искал badi, которым бы я мог расширить экран поиска участников аукциона, т.к. тот, что для POWL, тут уже не прокатывает.
В ракурсе, соответствующем этому экрану, я события при тыканьи на кнопочки нашел, но что-то мне подсказывает, что как и в предыдущем случае, ломать нужно где-то не здесь.

Автор:  Konstantin Anikeev [ Пт, ноя 18 2011, 14:06 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Да там вроде как и нем мест предусмотренных для расширения. Надо по идее Enhancement делать.
Поиск вроде как базируется на Search Help BBP_BUPA_BIDDER_CONTP, а у нее интерфейс жестко прописан.

Автор:  Мимо Крокодил [ Пт, ноя 18 2011, 14:21 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Внедриться в Search Help мне труда не составит, но этого ведь будет недостаточно для того, чтобы поменялся экран на портале? Насколько я вижу, ракурс этого веб-окошка нарисован в редакторе от и до.

Автор:  Konstantin Anikeev [ Пт, ноя 18 2011, 14:36 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Мимо Крокодил написал(а):
Насколько я вижу, ракурс этого веб-окошка нарисован в редакторе от и до.

Да, там сам VIEW расширять надо.

Автор:  Мимо Крокодил [ Пт, ноя 18 2011, 18:32 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Расширил. Но как теперь заставить средство поиска получить эти значения внутри ФМа ПользовСредстПоиск? Я наивно намеревался добавить поля на этапе PRESEL, но для веб-приложения этот этап даже не выполняется, средство поиска вызывается сразу с SELECT.
Наверняка, нужно расширить какую-то структуру.

Хорош, пятница :roll:

Автор:  Konstantin Anikeev [ Пт, ноя 18 2011, 19:07 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Я бы расширил /sapsrm/s_pdo_do_srchbidder_cp, включая контекст view, и подменил бы имя Search Help в методе /SAPSRM/IF_PDO_DO_BIDDERS~SEARCH_BIDDERS_CP соответствующюего класса на своё.

У нас-то на 3 часа меньше, так что мы еще поработаем :)

Автор:  Мимо Крокодил [ Пн, ноя 21 2011, 15:14 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Вы очень круто мне помогли.

Konstantin Anikeev написал:
и подменил бы имя Search Help в методе /SAPSRM/IF_PDO_DO_BIDDERS~SEARCH_BIDDERS_CP соответствующюего класса на своё.
Там хоть и передаётся имя ср.поиска, дальше по коду оно теряется, а вызов происходит вот так:
Code:
  CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
    EXPORTING
      shlpname = cs_shlp_cp
    IMPORTING
      shlp     = ls_shlp
    EXCEPTIONS
      OTHERS   = 1.

Где, cs_shlp_cp - это константа - атрибут класса.

Расширить, как водится, я могу начало или конец метода, оба способа будут некрасивыми.
Можт это... прям в F4IF_GET_SHLP_DESCR внедриться, и там с условием подменить? :lol:

Можете дать какие-то рекомендации на сей счёт?

Автор:  Мимо Крокодил [ Пн, ноя 21 2011, 17:29 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Уфф. Одна и та же ошибка. Перепроверил уже всё что знал. View расширен двумя полями. Когда хоть одно из них заполнено - экран нормально функционирует, когда все поля пустые - тоже, а вот когда мои два пустые, а кроме них заполнено еще хоть что-то, дамп:
Error in INPUT_FIELD "Z_INN_INPUTFIELD" of view "/SAPSRM/WDC_UI_DO_BIDDER.V_DO_BIDDER_SEARCH_C": Context binding of property VALUE cannot be resolved: Узел V_DO_BIDDER_SEARCH_C.1.SEARCH_FILTER_C не содержит элементов

Откуда там единица, неясно. Оба элемента добавлены сперва в контекст COMPONENTCONTROLLER, потом обновлён контекст в ракурсе. После этого на них стало можно забиндить поля. Природу ошибки понять не могу.

Нашел такую-же ситуацию на sdn'е. Намекают на проблемы с кардинальностью 0..n, но ведь от остальных полей в ветке дампы не летят... буду читать-искать.

Все вопросы сняты, победил таки.

Автор:  csander [ Чт, ноя 24 2011, 17:58 ]
Заголовок сообщения:  Re: SRM: Расширение средства поиска на портале

Все вопросы сняты, победил таки.[/quote]

борюсь с точно такой же проблемой. как победил? Расширял 'F4IF_GET_SHLP_DESCR' ??

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