OO ALV with hotspot and call transaction

Author | Last Updated| | 10 Comments Facebook Share Twitter Share Google Plus Share A+ A-


OO ALV report with call transaction on hotspot click using CL_SALV_TABLE

There was a requirement to display list of materials in an ALV control and put hyperlink(hotspot) to material no, when ever we click on material number, it should call MM03 and directly display material.

In this kind of requirement, we need to use below CALL TRANSACTION with parameter id for calling a transaction with parameters.

In the below example, we use object oriented techniques to display ALV table and will use events to handle hyperlink click.

CLASS CL_SALV_TABLE

Step1: Display ALV using class CL_SALV_TABLE and method DISPLAY()

Refer working with ALV Factory methods for more details on factory methods

TYPES: BEGIN OF ty_mara,
         matnr TYPE mara-matnr,
         mtart TYPE mara-mtart,
         matkl TYPE mara-matkl,
       END OF ty_mara.

DATA: it_mara TYPE TABLE OF ty_mara,
      wa_mara TYPE ty_mara.
DATA: o_alv TYPE REF TO cl_salv_table.

START-OF-SELECTION.
  SELECT matnr mtart matkl
    FROM mara
    INTO TABLE it_mara
    UP TO 10 ROWS.

  DATA: lx_msg TYPE REF TO cx_salv_msg.
  TRY.
      cl_salv_table=>factory(
        IMPORTING
          r_salv_table = o_alv
        CHANGING
          t_table      = it_mara ).
    CATCH cx_salv_msg INTO lx_msg.
  ENDTRY.

  o_alv->display( ).

Step2: Create a local class to create hyperlink and event handler

CLASS lcl_alv DEFINITION.
  PUBLIC SECTION.
    METHODS:
      set_hotspot_matnr
        CHANGING
          co_alv TYPE REF TO cl_salv_table.
    METHODS:
      on_matnr_click
            FOR EVENT link_click OF cl_salv_events_table
        IMPORTING
            row
            column  .
ENDCLASS.
CLASS lcl_alv IMPLEMENTATION.

  METHOD set_hotspot_matnr.
* Set Hotspot
    DATA: lo_cols_tab TYPE REF TO cl_salv_columns_table,
          lo_col_tab  TYPE REF TO cl_salv_column_table.
*   Get columns object
    lo_cols_tab = co_alv->get_columns( ).
*   Get MATNR column
    TRY.
        lo_col_tab ?= lo_cols_tab->get_column( 'MATNR' ).
      CATCH cx_salv_not_found.
    ENDTRY.
*   Set the hotspot for MATNR column
    TRY.
        CALL METHOD lo_col_tab->set_cell_type
          EXPORTING
            value = if_salv_c_cell_type=>hotspot.
      CATCH cx_salv_data_error .
    ENDTRY.
*...Events
    DATA: lo_events TYPE REF TO cl_salv_events_table.
*   All events
    lo_events = o_alv->get_event( ).
*   Event handler
    SET HANDLER me->on_matnr_click FOR lo_events.
*
  ENDMETHOD.
  METHOD on_matnr_click.
*   Get the material number from the table
    READ TABLE it_mara INTO wa_mara INDEX row.
    IF wa_mara-matnr IS NOT INITIAL.
** Call Transaction
      SET PARAMETER ID 'MAT' FIELD wa_mara-matnr . "Set Material no to MM03 matnr parameter id
      SET PARAMETER ID 'MXX' FIELD 'K' . "Directly Display Basic Data
      CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN . 
    ENDIF.
  ENDMETHOD.
ENDCLASS.

Step3: Create Object set hotspot .

  CREATE OBJECT lo_alv.
  lo_alv->set_hotspot_matnr( CHANGING co_alv = o_alv ).
  o_alv->display( ).

Final and complete code

REPORT zalv_hyperlink.
TYPES: BEGIN OF ty_mara,
         matnr TYPE mara-matnr,
         mtart TYPE mara-mtart,
         matkl TYPE mara-matkl,
       END OF ty_mara.
DATA: it_mara TYPE TABLE OF ty_mara,
      wa_mara TYPE ty_mara.
DATA: o_alv TYPE REF TO cl_salv_table.
CLASS lcl_alv DEFINITION DEFERRED.
DATA: lo_alv TYPE REF TO lcl_alv.

CLASS lcl_alv DEFINITION.
  PUBLIC SECTION.
    METHODS:
      set_hotspot_matnr
        CHANGING
          co_alv TYPE REF TO cl_salv_table.
    METHODS:
      on_matnr_click
            FOR EVENT link_click OF cl_salv_events_table
        IMPORTING
            row
            column  .
ENDCLASS.
START-OF-SELECTION.
  SELECT matnr mtart matkl
    FROM mara
    INTO TABLE it_mara
  UP TO 10 ROWS.

  DATA: lx_msg TYPE REF TO cx_salv_msg.
  TRY.
      cl_salv_table=>factory(
        IMPORTING
          r_salv_table = o_alv
        CHANGING
          t_table      = it_mara ).
    CATCH cx_salv_msg INTO lx_msg.
  ENDTRY.
  CREATE OBJECT lo_alv.
  lo_alv->set_hotspot_matnr( CHANGING co_alv = o_alv ).
  o_alv->display( ).

CLASS lcl_alv IMPLEMENTATION.

  METHOD set_hotspot_matnr.
* Set Hotspot
    DATA: lo_cols_tab TYPE REF TO cl_salv_columns_table,
          lo_col_tab  TYPE REF TO cl_salv_column_table.
*   Get columns object
    lo_cols_tab = co_alv->get_columns( ).
*   Get MATNR column
    TRY.
        lo_col_tab ?= lo_cols_tab->get_column( 'MATNR' ).
      CATCH cx_salv_not_found.
    ENDTRY.
*   Set the hotspot for MATNR column
    TRY.
        CALL METHOD lo_col_tab->set_cell_type
          EXPORTING
            value = if_salv_c_cell_type=>hotspot.
      CATCH cx_salv_data_error .
    ENDTRY.
*...Events
    DATA: lo_events TYPE REF TO cl_salv_events_table.
*   All events
    lo_events = o_alv->get_event( ).
*   Event handler
    SET HANDLER me->on_matnr_click FOR lo_events.
*
  ENDMETHOD.
  METHOD on_matnr_click.
*   Get the material number from the table
    READ TABLE it_mara INTO wa_mara INDEX row.
    IF wa_mara-matnr IS NOT INITIAL.
** Call Transaction
      SET PARAMETER ID 'MAT' FIELD wa_mara-matnr . "Set Material no to MM03 matnr parameter id
      SET PARAMETER ID 'MXX' FIELD 'K' . "Directly Display Basic Data
      CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN . 
    ENDIF.
  ENDMETHOD.
ENDCLASS.

ALV hyperlink and call transaction

Tutorial Comments

Total Comments: Add your Comment
25 Jun 2020

https://bjdkgfsfhidhgvudbfjeguehfwhsfug.com Mkfdkfjwsldjeifgheifnkehgjr vndkfhsjfodkfc;sjgjdgokrpgkrp bndljgoedghoekfpegorig fihfowhfiehfoejogtjrir Yndkfvhdjkfhke nkfnslkfn klfnklf Oljgvkdfkndjvbgdjffsjdnkjdhf Nkfhofjeojfoegoero ogeoegfeougeihigoohge igjeigheiogheiogheih giehdgoiehifoehgioheighe hfioeehfieohgeiodgnei hioehgioehfdkhgioehgi eodghioedhgieghiehgeuo Nihdigheifjojfieui iihfishfiwsfhiwhfowhfh hfsdfhkdcndjkfhe klchsiofhwifhdvjdnj hkfhsfhifheuhguegheflkhe Yfhsfheifhei hfhdfiehfiejfk fjeogjeogj ojgoedjodjvsclksfhszghLhekjb; ;dh jdjvndkjdfjsofjsofjosjfi fojsjdoskfsjfodgjdsghoi sdjfpfgspegjsodjvdhvgisd Mfjefjojgidhvshg ihidhgiodhgirhgir hioihgdioghrigrigh ihgiogherihgirodvdks jsdjfsopejfovgjdksjosj joesjfoesjfsj;ifsjg Ndjsfhjifekfhekdghior highdiofhidogheioghei gijhgoiehgiehgieh jfiheigheihgioe

10 Jul 2020

Meet sexy girls in your city AU: http://atuwpqo.dailyway3.online/4a2 Sex dating in the UK | Girls for sex in the UK: http://sjmo.katinelis.xyz/d85b37a7 Meet sexy girls in your city USA: http://alsus.dfsf.site/5cc0191 Free dating site for sex: http://hjorsgq.claim59.xyz/131 Adult dating sites around east london: http://tqzbzgkkl.belluga.xyz/56 In 2019, you can register on a dating site or app, and after a short verification process, you'll be introduced to a world of potential "sugar babies," women who are looking to sell their beauty or their time – for the right price. Sure, you can meet women like this in the wild, at bars or clubs or high-end hotels, or you can take the risk of trying to meet them on regular old dating apps like Tinder, but the following websites and apps have ingeniously filtered out the women who don't want their relationship to be transactional, leaving you only with a pool of women who are looking for the same kind of mutually beneficial relationship you are. Whether such paid subscriptions increase the likelihood of finding the perfect match is debatable. And while it is difficult to measure the success rate of dating related services in general, online dating platforms have undoubtedly become one of the most common initial points of contact for couples and marriage partners in the United States. According to a 2019 study, almost half of U.S. online users have met or know someone who has met a romantic partner via a dating website or app. By the end of that year, around 77 percent of adult online users reported having gone on a date with someone they had met online. In terms of motivation, some 49 percent of dating app users stated that they used these services to look for an exclusive romantic relationship, while 23 percent of respondents listed sexual encounters as their main incentive. The same survey also found that dating platform or app usage was more popular with male internet users, while female users generally witnessed more negative behavior from their chat partners. “We live in a youth culture that believes life goes downhill after 26 or so,” Mintz says. But he sees inspiration, and possibility, in old Hollywood visions of adulthood, in Cary Grant and Katherine Hepburn. “When I argue that we need to reclaim adulthood, I don’t mean a 1950s version of early marriage and early entry into a career,” he says. “What I do mean is it’s better to be knowing than unknowing. It’s better to be experienced than inexperienced. It’s better to be sophisticated than callow.” Welche sexuellen Aktivitaten erregen dich?: Oralverkehr geben, Oralverkehr empfangen, Analsex, Sexspielzeuge (Vibratoren, Dildos etc.), Rimming, Dreier, Voyeurismus, Massagen. 9. Have raft sex in the middle of a lake.

14 Jul 2020

Кредит нaличными. Дeньги в kрeдит пo пaспoрту: http://www.euroexpostand.ru/bitrix/redirect.php?event1=&event2=&event3=&goto=https://potreb-kredit-oformit-zayavku.blogspot.com/2020/07/blog-post.html Крeдит наличными, взять kредит для физ лицa в бaнkе: http://www.dcrealty.biz/SearchPoint/redir.asp?reg_id=pTypes&sname=/searchpoint/search.asp&lid=1&sponsor=BUS&url=https://vk.com/@-197010811-kak-poluchit-kredit-nalichnymi-ot-100000-do-300000-rublei Кpедит нaличными и крeдитнaя kаpта. Выбирaeм.: https://intranet.umn.org.np/sv/web/ictbeats/home/-/blogs/ict-beats-5;jsessionid=33f7177d9e23feed639735a06c5ee233?_33_redirect=https%3A%2F%2Fvk.com%2F@-197010811-potrebitelskie-kredity-i-refinansirovanie Кредит нaличными | Получить kрeдит наличными: https://bibliopilot.ru/bitrix/rk.php?goto=https://vk.com/@-197010811-4-povoda-vzyat-potrebitelskii-kredit Кpедиты нaличными частным лицaм с минимальнoй ставkой: https://www.alle-autos-in.de/redir.php?url=https://vk.com/@-197010811-4-povoda-vzyat-potrebitelskii-kredit Вoзьмите кредит нaличными бeз справки o дoходах: http://www.joergschueler.de/redirect.php?blog=schbclers%20blog&url=https://vk.com/@-197010811-podborka-kreditov-nalichnymi Крeдит нaличными нa любыe цeли - пoдбор kрeдита: https://www.google.co.id/url?sa=t&rct=j&q=&esrc=s&source=web&cd=36&cad=rja&uact=8&ved=0ahUKEwiI6JDLt6XTAhUBEpQKHZlPBJ04HhC3Agg_MAU&url=https%3A%2F%2Fvk.com%2F@-197010811-kredit-nalichnymi-v-lubom-gorode-rossii&usg=AFQjCNGdOcm9Q8uP2fCjsdzkf9U1kr4Pog&sig2=nedDZszZ_BcFrDWnDh3lQQ Кpедиты нaличными чaстным лицaм с минимальнoй стaвkoй: http://minsk-love.ru/fr/tips?tip=ExternalLink&link=https://vk.com/@-197010811-kak-vzyat-kredit-nalichnymi-v-banke Крeдит нaличными на любыe цeли: http://www.dereferer.org/?https://vk.com/@-197010811-kredit-nalichnymi-v-lubom-gorode-rossii Кpeдит нaличными нa любыe цeли от 50 000 pублей: https://rzraion.ru/bitrix/redirect.php?event1=&event2=&event3=&goto=https://vk.com%2F@-197010811-kak-vzyat-kredit-nalichnymi-v-banke/ Дополнительно банк предлагает добровольную страховку от потери работы и несчастных случаев. Услуга будет полезной только при получении крупной суммы займа. В остальных случаях можно обойтись без получения страхового полиса, но придется предоставить информацию касательно размера дохода и наличия трудового стажа в течение 3 месяцев. Если заемщику не исполнилось 26 лет, продолжительность работы на текущем месте трудоустройства обязана составлять больше двенадцати месяцев. Тем не менее получить небольшой кредит можно с 21 года. Ожидать подобной оперативности в случае подачи документов в банк в бумажном виде просто не приходится. Представьте себе, сколько должно пройти стадий обработки ваших документов, прежде чем они уйдут на скоринг! Срочно нужен кредит за откат — 40000грн, плохая к.и., без залога. Справиться с проблемами в одиночестве очень сложно. Лучше заручиться поддержкой близких людей, соседей, специалистов. На случай, если нужно будет посидеть с ребенком, выступить в вашу защиту на суде или поддержать. Картами удобно пользоваться, если планируется к трате небольшая сумма. Если ее вернуть во время льготного периода (до 50 дней), то тогда даже не придется платить за пользование средствами. Получить кредитную карту проще, чем заем, так как базовые требования к заемщикам гораздо ниже. Ее точно можно оформить без лишней волокиты и справок, и не нужно думать, как можно взять кредит, не имея постоянного или подтвержденного документами дохода. Например, Россельхозбанк дает кредитки с такими условиями: Узнать О Том, Как Можно Взять Кредит Наличнымикредит В Одессе Наличными Без Справки О Доходах – Кредиты Онлайн. Некоторые из банков устанавливают расчетный период с первого по последний дни месяца. Иногда такой период начинается со дня покупки товара. Важно выполнить первый платёж в течение первых 15 суток, а крайний за 5 дней до окончания льготного периода. При соблюдении этого условия кредитная история не будет испорчена. Условия, от которых зависит кредитная история заёмщика: Сроки кредитов, которые выдаются на киви, могут быть разными, от нескольких дней до нескольких недель. Но важно понимать, что чем больше срок погашения, тем больше в итоге вы переплатите. Займ от частного инвестора в день обращения без предоплат! Получающим зарплату в Сбербанке даются льготные условия с увеличением максимальной суммы и сниженной процентной ставкой. Этот вид кредита можно оформить в банке или автосалоне. В первом случае заявка на кредит рассматривается до 3 дней, во втором до 2 часов. Требования для получения кредита: Кредит зарплатным клиентам; Рефинансирование; Кредит на любые цели; Кредит для людей пенсионного возраста. Затем необходимо будет еще раз подтвердить вход в систему с помощью смс-пароля. Однако упоминания об отправке на дом клиенту курьерской службой или почтой нет. Но пусть вас это не смущает. Если вас устраивает какой-либо из предлагаемых продуктов, то просто оформите его. А на дом вам доставим его мы. У нас есть и такая услуга. Мы делаем жизнь клиентов проще. Условия погашения займа включают дополнительные льготы для бизнеса, который сохраняет занятость. Предприятия, которые сохранят не менее 90% сотрудников, не должны будут выплачивать ни сам кредит, ни проценты по нему. Эти расходы возьмёт на себя государство. При сохранении не менее 80% работников бизнес получит право вернуть только половину займа и положенных процентов. Контролировать выполнение этих условий будет Федеральная налоговая служба благодаря ежемесячным отчислениям в Пенсионный фонд.

14 Jul 2020

Крeдит наличными. Деньги в kpедит по пaспорту: https://greencircle.vmturbo.com/external-link.jspa?url=https://vk.com/@-197010811-podborka-kreditov-nalichnymi Крeдит нaличными – oфоpмить заявку нa кpeдит: http://forum.roerich.info/redirector.php?url=https%3A%2F%2Fvk.com%2F@-197010811-poluchit-kredit-v-den-obrascheniya Кaк взять кpедит наличными в бaнке: http://www.oznaczenie-ce.pl/redirect.php?site=https://vk.com/@-197010811-top-bankov-kotorye-predlagaut-samyi-nizkii-procent-po-kredit Взять кредит нaличными без зaлoга и поручителей: http://www.toku-jp.com/Rouge/minibbs.cgi?https://vk.com/@-197010811-kredit-nalichnymi-v-lubom-gorode-rossii Крeдит нaличными на любыe цeли: взять kредит онлaйн: http://www.papermodelers.com/forum/redirect-to/?redirect=https://vk.com/@-197010811-top-bankov-kotorye-predlagaut-samyi-nizkii-procent-po-kredit Кpeдит нaличными, оформить онлaйн зaявку и взять: http://www.tworzenie-gier.pl/wp-content/plugins/wp-js-external-link-info/redirect.php?blog=Tworzenie%20Gier&url=https://vk.com/@-197010811-kak-poluchit-kredit-nalichnymi-ot-100000-do-300000-rublei Кpедит нaличными. Офopмить потpебитeльский kpeдит на любыe цeли: http://forum.hochu.ua/redirect.php?https://vk.com/@-197010811-v-kakom-banke-mozhno-vzyat-kredit-bez-strahovki Дeньги в кредит наличными: http://jpn1.fukugan.com/rssimg/cushion.php?url=vk.com/@-197010811-potrebitelskie-kredity-i-refinansirovanie В каkом бaнке можно взять kредит бeз стpахoвkи: http://www.aushop.com/aushop/mobile/?referer=https://potreb-kredit-oformit-zayavku.blogspot.com/2020/07/blog-post_28.html Кpедит наличными и крeдитная карта. Выбиpaем.: http://click.communes.jp/?url=https://vk.com/@-197010811-potrebitelskie-kredity-i-refinansirovanie А второй вариант уже предпологает приобретение более ценного имущества: недвижимости или транспортных средств. ДельтаКредит предлагает заемщикам ипотеку с гос.поддержкой под 11,5%. В качестве предмета договора рассматривается квартира в строящемся или готовом доме. Первоначальный взнос составляет от 20%, срок займа – до 25 лет. Что у нас в скобках? Да, это геометрическая прогрессия, и ее проще записать как. Вопрос, связанный с погашением займа, рано или поздно начинает беспокоить заемщиков. Каждый для себя будет искать наиболее выгодный, экономный и быстрый вариант оплаты долга. Альфа-Банк щедр и благосклонен к своим клиентам, ведь он позаботился о том, чтобы внесение ежемесячного платежа было легким и простым в реализации процессом: Последнее значение выбирается из списка. Пользователь может подобрать наиболее близкое отделение или же офис, который расположен в его текущем месте пребывания. Как только все поля будут заполнены, следует нажать на кнопку «Далее». Традиционно большинство заемщиков не задаются вопросом «как оплатить кредит Совкомбанка» и сразу направляются в офис банка для произведения платежа через кассу. В отделении для оплаты не требуются даже реквизиты. Всю информацию специалисты могут получить по паспорту клиента. Средства зачисляются моментально, и никакие комиссии при этом не предусмотрены. По программе «Потребительский кредит с обеспечением» сумма ссуды для зарплатных клиентов Россельхозбанка может быть увеличена до 2 млн, а срок кредитования — до 7 лет. Но иногда бывает и обратная ситуация – недолго пожив вместе, молодые люди разводятся. Здравствуйте! Обращаюсь с просьбой о неналожении штрафа в 10000 руб (за несвоевременное предоставление КАСКО). Я добросовестный плательщик и Банке Сетелем у меня не только автокредит, но еще кредит и меня все устраивало, и после погашения данного автокредита, планировала оставаться клиентом этого банка. Но на уступки мне не пошли, ссылаясь на пункт из договора о пролонгации Каско. Надеюсь на клиентоориентированную политику Банка Сетелем (СМС оповещения по пролонгации КАСКО мне не поступали, хотя сотрудник Банка указал, что смс было отправлено в начале февраля, а продление Каско было продлено в 20 числах февраля). По причине временных семейных трудностей и так как не было напоминания (СМС информатор подключен) копии КАСКО не были представлены (оформлено КАСКО вовремя). Ипотечное кредитования распространяется на людей, которые желают купить жилье с возможностью распределения платежей на срок до 50 лет. Взять кредит в банке 9 из 10 одобрение. Одобрение по телефону. Истории взять кредит в уралсиб банке, в каком банке лучше взять. Где лучше взять кредит наличными, чтобы точно дали взять кредит в уралсиб банке, в каком банке взять выгодный - вопрос в каком банке взять выгодный кредит с низкой процентной ставкой и на лучших - кредиты банка уралсиб 2013: взять. Потребительские кредиты банка уралсиб выгодные процентные ставки по потребительским. Взять кредит в банке тинькофф! Р., онлайн заявка. Решение за 2 минуты. Альянс-кредит-сервис. Клиенты, желающие получить нецелевой кредит на любые цели в кратчайшие сроки, могут больше. Взять кредит в уралсиб банке, взять выгодный кредит. История создания и основные показатели. Условия предоставления кредита и других. Взять потребительский кредит. Где взять кредит наличными без справки о доходах и поручителейросевробанк - банковское. Заманчивая перспектива и, главное, полная гарантия того, что ваш телефон не будет заблокирован в самый неподходящий момент. Как взять доверительный платеж на "Мегафоне"? Банк СОЮЗ (АО) — Комиссия: 1,5%. Срок зачисления: на следующий рабочий день. Владельцы карт двух банков – Тинькофф и Сбербанк могут воспользоваться удобным онлайн-сервисом для совершения переводов между картами. Это особенно важно при наличии кредитной карты Тинькофф, которую ежемесячно нужно пополнять на размер обязательного платежа. Как оплатить кредит Тинькофф через Сбербанк Онлайн, чтобы не просрочить платеж. Список учебных заведений, в которых можно обучаться в кредит, вы можете уточнить у менеджеров Почта Банка или же на их сайте, на странице кредитного продукта « Кредит на образование ».

30 Oct 2020

https://t.me/DatingFlirting - Flirting in your city - https://bit.ly/34RxuK7

30 Oct 2020

[url=http://resite.com]http://resite.com[/url]

01 Dec 2020

https://hot-desire.com/T1kMpvjB?dir=gay - Meet, be inspired, communicate and continue flirting! Follow the link https://t.me/Dating_Flirting - Sex without obligation in your city @@@==

22 Jan 2021

[url=https://analbigdick.xyz]latins[/url] Day by day we expect about you and the very best option to convey your best HD intercourse and assorted FREE porn to your day, within the consolation of your house, so that first you choose what you wish to see, second You possibly can enjoy one of the best porn and third, little doubt you need to return back time and time once more! We consider every part so you'll be able to watch our intercourse motion pictures the place, how, when and with whom you need, without any delays or worries! In an effort to make your massage experience higher, you too can learn about totally different methods which you could apply to your physique in addition to another person's. Seats may nicely change the sofa and the mattress and the window, in fact, higher toned. Well now, when you have internet connection it will certainly be a lot easier. It is essential for us that the advertising is very little, in fact now we have it however it's thought so that it doesn't bother you while enjoying the most effective we have. [url=https://sissysexwife.xyz]nudist[/url] [url=https://protector.com.ua/diski/kyowa_KR-210_HPB]oral sex[/url] [url=http://fls2020.com/forum.php?mod=viewthread&tid=3393&pid=1904016&page=37&extra=page%3D1#pid1904016]swinger[/url] de4_6f2 @GiG993_+

10 May 2021

Hello. And Bye.

11 May 2021

Hello. And Bye.

Leave a Comment

Enter Comment Text