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

Select-option и средство поиска.



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


Age: 36
Joined: 20 Oct 2011
Posts: 13

PostPosted: Mon Nov 21, 2011 9:18 am    Post subject: Select-option и средство поиска. Reply with quote

У меня задача. Есть окно select-option с улицами. На экране выбран населенный пункт, и надо чтобы при выборе улицы в select-options отображались улицы только этого населенного пункта. Для этого я создаю средство поиска в самой программе, заполняю таблицу справки с помощью select. окно справки показывается нужное. Но потом, когда выбираю в нем улицу, она почему-то не подставляется в поле множественного выбора. Вот этот момент.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'STRID' - проверяла, в нем нужное значение
dynprofield = 'STR-LOW' - это имя поля множ выбора. может здесь надо что-то другое написать, но что, не знаю... пробовала просто STR, не вышло.
dynpprog = sy-cprog
dynpnr = sy-dynnr
value_org = 'S'
tables
value_tab = ihelp3
return_tab = ret.

Помогите, пожалуйста, найти ошибку!
Back to top
View user's profile Send private message
XXX_:)
Аналитик
Аналитик


Age: 40
Joined: 01 Feb 2008
Posts: 387
Location: Воронеж

PostPosted: Mon Nov 21, 2011 11:02 am    Post subject: Reply with quote

посмотрите как заполнены выходные параметры. заполнить поле придется ручками на основе того что вам вернул ФМ.
_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем
Back to top
View user's profile Send private message Blog
Katya
Участник
Участник


Age: 36
Joined: 20 Oct 2011
Posts: 13

PostPosted: Mon Nov 21, 2011 11:50 am    Post subject: Reply with quote

А как это сделать? Я думала эта функция и будет заполнять соответствующее поле..
Попробовала написать так: STR-LOW = STRID (в STRID у меня код нужной улицы). Он присваивает его в первую строку интервала в нижнюю границу. Когда делаю еще раз выбор, на второй строке, он снова присваивает в первую... Как быть? Как присвоить полям выбранные значения?
Back to top
View user's profile Send private message
XXX_:)
Аналитик
Аналитик


Age: 40
Joined: 01 Feb 2008
Posts: 387
Location: Воронеж

PostPosted: Mon Nov 21, 2011 1:01 pm    Post subject: Reply with quote

у вас время терпит? Если да, читайте Кречнера, там должно быть. Ну это же элементарные вещи!!!! Посмотрите журнал использования этого ФМ-а в других Z программах, вы знаете где журнал использования находиться? кнопочка со стрелочками в верху экрана. Извините если это грубо, просто перед тем как начинать программирование нужно хотя бы как то ознакомиться с языком, с конструкциями. поиск по интернету тоже помогает в элементарных случаях

ЗЫ: извините наболело. Я за последний год столько кода переписал за другими, что сил больше нет терпеть....

ЗЫЫ: удачи вам http://www.sapdev.co.uk/fmodules/F4IF_INT_TABLE_VALUE_REQUEST.htm

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем
Back to top
View user's profile Send private message Blog
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Mon Nov 21, 2011 3:48 pm    Post subject: Reply with quote

Katya, а для какой переменной вызывается F4IF_INT_TABLE_VALUE_REQUEST?
Дополнительно ничего на экране присваивать не нужно. Пример:
Code:
TABLES: bkpf.

SELECT-OPTIONS: so_bukrs FOR bkpf-bukrs.

START-OF-SELECTION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_bukrs-low.
"Процедура нужна, чтобы еще раз не переписывать 2 раза код поиска
" в случае, если нужно вызвать средство поиска для переменной so_bukrs-high
  PERFORM get_bukrs USING so_bukrs-low.

FORM get_bukrs USING p_bukrs TYPE bkpf-bukrs.
  DATA: lt_values TYPE STANDARD TABLE OF ddshretval WITH HEADER LINE.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname           = 'BKPF'
      fieldname         = 'BUKRS'
    TABLES
      return_tab        = lt_values
    EXCEPTIONS
      field_not_found   = 1
      no_help_for_field = 2
      inconsistent_help = 3
      no_values_found   = 4
      OTHERS            = 5.
  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_values WITH KEY fieldname = 'BUKRS'.
  CHECK sy-subrc = 0.
  p_bukrs = lt_values-fieldval.
ENDFORM.                    "get_bukrs

_________________
С уважением,
Удав.
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.