Как реализовать пользовательский выход 'EXIT_SAPLIQS0_017' для полей BEQUI и BTPLN? - PullRequest
0 голосов
/ 04 июня 2019

После обновления уведомления я хочу вставить как уязвимое оборудование (BEQUI), так и функциональное местоположение (BTPLN) в таблицу VIQMEL. Я прочитал некоторые темы, в которых упоминается выход пользователя EXIT_SAPLIQS0_017. Тем не менее, я никогда не видел его реализации, и мой не работает.

Это то, что пытались до сих пор; Я знаю, что это очень просто, но я очень неопытен с пользовательскими выходами.

  data: ls_notif  type viqmel.
  data: lt_qmfe   type table of wqmfe.
  data: lt_qmur   type table of wqmur.
  data: lt_qmma   type table of wqmma.
  data: lt_qmsm   type table of wqmsm.

  select single * from viqmel into @data(ls_viqmel) where qmnum eq '000010000719'.
  select single * from tq80 into @data(ls_tq80) where qmart eq @ls_viqmel-qmart.

  ls_viqmel-bequi = '1000069'.
  ls_viqmel-btpln = '1010'.

  call function 'EXIT_SAPLIQS0_017'
    exporting
      i_viqmel = ls_viqmel
      i_tq80   = ls_tq80
    importing
      e_viqmel = ls_notif
    tables
      t_viqmfe = lt_qmfe
      t_viqmur = lt_qmur
      t_viqmma = lt_qmma
      t_viqmsm = lt_qmsm.

Я получаю обратно структуру viqmel, но, кажется, ничего не изменилось, когда я проверял таблицу VIQMEL. Есть идеи?

Ответы [ 2 ]

3 голосов
/ 05 июня 2019

Как правильно заметила Сандра, вы не вызываете выходы напрямую, а реализуете их.

  1. Создание ZXWOCU21 включает, где просто пишут только эти две строки кода

    e_viqmel-bequi = '1000069'.
    e_viqmel-btpln = '1010'.
    

Не следует заполнять параметры вручную (например, tq80), они предварительно заполняются системой по умолчанию.

Создайте проект в коде CMOD (если он не существует) для компонента расширения QQMA0025, который содержит ваш пользовательский выход и активируйте его.Вот руководство

Создание проекта расширения для функции выхода пользователя SAP с использованием CMOD в ABAP

1 голос
/ 04 июня 2019

Вы можете проверить Z «включаемый файл» из EXIT_SAPLIQS0_017. Если кто-то уже реализовал это (или назначил это для своего (ее)), лучше сделать строку комментария, почему вы добавляете и куда вы помещаете свою логику.

Со стороны ABAP, в основном, вы реализуете это включение Z в ваш пакет. Когда вы дважды щелкните по нему, и GUI (или Eclipse) будет перемещаться по нему или выдает всплывающее окно (вы его создадите?)

Как найти просто, вы можете использовать cmod или smod в качестве стандарта, но, как вы уже знаете имя выхода, попробуйте код транзакции SE37. Заполните EXIT_SAPLIQS0_017 и отметьте INCLUDE z... внутри.

...