SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Ограничение product hierarchy search help.



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
hodicha
Участник
Участник



Joined: 06 May 2008
Posts: 14

PostPosted: Tue Feb 03, 2009 3:50 pm    Post subject: Ограничение product hierarchy search help. Reply with quote

Добрый день , наткнулся на такую проблему:

На экране существует select-option для product hierarchy ( t179-prodh ).
Сап стандард открывает окошко при F4 с группой разных материалов . В этой группе есть уровни , первый уровень 4 чара, второй 8 чаров , третий - 13.. Существуют две опции : либо выбрать категорию либо пройти на следущий уровень. Вопрос есть ли возможность ограничить категории по мужным мне кодам .. То есть что бы в первом окне было только 4 нужные мне категории например и так далее. Может быть существует функция которая выдаёт такое окно , ну или просто какой нибудь другой нестандартный способ..

Спасибо.



Capture.JPG
 Description:
search help для product hierarchy
 Filesize:  48.76 KB
 Viewed:  11588 Time(s)

Capture.JPG


Back to top
View user's profile Send private message
menx
Участник
Участник



Joined: 21 Nov 2008
Posts: 25
Location: СПб - Валлдорф

PostPosted: Tue Feb 03, 2009 4:48 pm    Post subject: поддерживаю вопрос Reply with quote

поддерживаю вопрос.
вчера тоже с этим парился и кроме как ручного создания f4_help диалога с напонением нужными значениями ничего не нашел.
А вот стандартными средствами есть ли возможность?
Back to top
View user's profile Send private message
menx
Участник
Участник



Joined: 21 Nov 2008
Posts: 25
Location: СПб - Валлдорф

PostPosted: Thu Feb 05, 2009 12:28 am    Post subject: Решение Reply with quote

я нашел ответ. Даже два способа. Один как бы правильный, второй - ручная работа Smile Покажу на примере выборки AUART для VBAK.

Итак, первый делается через F4_FM_EXIT. Для этого надо знать по какой таблице надо получить данные: открываем в se11 таблицу VBAK, ищем поле AUART. На следующей закладке Entry help/check в столбце Srch help находим нужный объект (в моем случае H_TVAK) -> dbl click и попадаем в его редактирование. В поле Search help exit находится FM, который и отвечает за обработку возвращаемого набора. В моем случае там пусто, поэтому заводим новый, а если что-то есть, то расширяем (не забывая проверить sy-tcode). Этот модуль вызывается несколько раз для разных событий - прописываем нужные и вуаля. Вообщем там есть довольно неплохой хелп на это.

Вариант второй - ручной.
поле определено как
Code:
select-options: p_auart for vbak-auart no intervals.

Прописываем событие:
Code:

at selection-screen on value-request for p_auart-low.
  perform f4_value_auart.


Сама функция выглядит в этом случае следующим образом:
Code:

*&---------------------------------------------------------------------*
*&      Form  F4_VALUE_AUART
*&      Author: Andrey Martynov, 04.02.2009
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form f4_value_auart .

  types: begin of ls_auart,
          auart type tvak-auart,
          bezei type tvakt-bezei,
        end of ls_auart.

  data:
    lt_return     type table of ddshretval,
    lv_retfield   type dfies-fieldname,
    lv_pvalkey    type ddshpvkey,
    lv_display,
    lv_titel(80),
    lt_valuetab   type standard table of ls_auart.

  field-symbols:
    <l_ret> type ddshretval.

  select tvak~auart bezei
    from tvak
    join tvakt on tvak~auart = tvakt~auart
    into table lt_valuetab
   where sperr = ' '
     and trvog in (0,3)
     and spras = sy-langu.
  lv_retfield   = 'AUART'.


  call function 'F4IF_INT_TABLE_VALUE_REQUEST'
    exporting
      retfield               = lv_retfield
      value_org              = 'S'
    tables
      value_tab              = lt_valuetab
      return_tab             = lt_return
 exceptions
   parameter_error        = 1
   no_values_found        = 2
   others                 = 3
            .
  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.

  read table lt_return assigning <l_ret> index 1.
  p_auart-sign = 'I'.
  p_auart-option = 'EQ'.
  p_auart-low = <l_ret>-fieldval.


endform.


В результате я получаю список типов ордеров ограниченный нужным мне образом.
Back to top
View user's profile Send private message
hodicha
Участник
Участник



Joined: 06 May 2008
Posts: 14

PostPosted: Sun Feb 08, 2009 9:19 pm    Post subject: Reply with quote

Спасибо menx , но это не совсем то что я искал , ты показал search help user exit. А в product hierarchy не совсем search help , за этим окошком есть целый function group , то есть это своего рода программа, которая дает возможность переходить по уровням и при желании выбрать код.
Мне с этим делом помогли, поэтому я скажу какое было у нас решение.

Существует такой funnctoin group v81a , там есть сабрутина t179_select в ней есть локальная таблица disp_t179 которая отображается в окне. В сабрутине t179_select есть место место для user exit .. вот там и можно контролировать все это дело.. Можно ограничить этот хелп для специфической программы с помощью sy-cprog помоему...
при это что самое главное не теряется функциональность окошка, что и нужно было заказчику.
Back to top
View user's profile Send private message
hodicha
Участник
Участник



Joined: 06 May 2008
Posts: 14

PostPosted: Sun Feb 08, 2009 9:22 pm    Post subject: Reply with quote

снимок экрана:


Capture.JPG
 Description:
 Filesize:  95.96 KB
 Viewed:  11497 Time(s)

Capture.JPG


Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.