Пытаюсь разобраться с пользовательскими средствами поиска...
Создал копию F4IF_SHLP_EXIT_EXAMPLE.
Все равно не могу понять.
Нужно на входе ср-во поиска чтобы было AUFK-BUKRS  AUFK-AUFNR  AUFK-AUART  AUFK-KTEXT  ANLA-ANLN1
На выходе AUFK-AUFNR, AUFK-KTEXT, ANLA-TYPBZ.
Связь таблиц AUFK-BUKRS  = ANLA-BUKRS и  AUFK-AUFEX(12) = ANLA-ANLN1
В польз. ср-ве поиска я допустим выбрал в итоге все anln1, которые могут быть нужны
Code:
TABLES : aufk, anla.
  data lt_aufk type TABLE OF aufk WITH HEADER LINE.
  data lt_anla type TABLE OF anla WITH HEADER LINE.
  data : BEGIN OF lt_anln1 OCCURS 0,
          anln1 type anln1,
         end of lt_anln1.
  FIELD-SYMBOLS : <ls_aufk> like LINE OF   lt_aufk,
                  <ls_anla> like LINE OF   lt_anla.
  IF CALLCONTROL-STEP = 'PRESEL1'.
    SELECT DISTINCT * FROM aufk  into TABLE lt_aufk.
    DELETE lt_aufk WHERE aufex = ''.
    LOOP AT lt_aufk ASSIGNING <ls_aufk>.
       lt_anln1 = <ls_aufk>-aufex(12).
       APPEND lt_anln1.
    ENDLOOP.
    SELECT DISTINCT * FROM anla INTO TABLE lt_anla 
      FOR ALL ENTRIES IN  lt_anln1
      WHERE
        anla~anln1 = lt_anln1-anln1.
    Loop at lt_anla ASSIGNING <ls_anla>.
     SELOPT-SHLPNAME  = 'ZORDER'.
     SELOPT-SHLPFIELD = 'ANLN1'.
     SELOPT-SIGN      = 'I'.
     SELOPT-OPTION    = 'EQ'.
     SELOPT-HIGH      = ''.
     SELOPT-LOW       = <ls_anla>-anln1.
     APPEND SELOPT TO SHLP-SELOPT.
    ENDLOOP.
  ENDIF.
В итоге при запуске ср-ва поиска у меня выскакивают в поле ANLN1 необходимые для анализа значения.
Но дальше как? Надо же писать из каких таблиц искать данные?
Пишу метод выбора ракурс там две эти таблицы и там свзять можно только такую написать AUFK-BUKRS  = ANLA-BUKRS 
В итоге (если больше ничего на вход ср-ва поиска не подавать), выдает список  ANLA-TYPBZ ANLA-ANLN1 (ограничивающихся моим польз.ср-ом) и к нему произвольные 
AUFK-AUFNR, AUFK-KTEXT, так как условие в ракурсе только AUFK-BUKRS  = ANLA-BUKRS .
Что то я не так точно делаю? 
