Search code examples
abapnetweaver

How to implement user-exit 'EXIT_SAPLIQS0_017' for fields BEQUI and BTPLN?


After updating a notification, I want to insert both an affected equipment (BEQUI) and functional location (BTPLN) in table VIQMEL. I read some topics that mentioned user exit EXIT_SAPLIQS0_017. However, I never saw an implementation of it and mine doesn't work.

This is what have tried so far; I know it is very basic but I'm very inexperienced with user exits.

  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.

I get the viqmel structure back, but nothing seems to have changed when I check the VIQMEL table. Any ideas?


Solution

  • As it correctly noted by Sandra, you do not call exits directly but rather implement them.

    1. Create ZXWOCU21 include where just write only these two lines of code

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

    You shouldn't fill parameters manually (like tq80), they are pre-populated by system by default.

    1. Create the project in CMOD tcode (if not exists) for the enhancement component QQMA0025 which contains your user-exit and activate it. Here is the manual

    Create Enhancement Project for SAP User Exit Function using CMOD in ABAP