Posted: Mon Nov 21, 2011 9:18 am Post subject: Select-option и средство поиска.
У меня задача. Есть окно 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.
Age: 41 Joined: 01 Feb 2008 Posts: 387 Location: Воронеж
Posted: Mon Nov 21, 2011 11:02 am Post subject:
посмотрите как заполнены выходные параметры. заполнить поле придется ручками на основе того что вам вернул ФМ. _________________ Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем
А как это сделать? Я думала эта функция и будет заполнять соответствующее поле..
Попробовала написать так: STR-LOW = STRID (в STRID у меня код нужной улицы). Он присваивает его в первую строку интервала в нижнюю границу. Когда делаю еще раз выбор, на второй строке, он снова присваивает в первую... Как быть? Как присвоить полям выбранные значения?
Age: 41 Joined: 01 Feb 2008 Posts: 387 Location: Воронеж
Posted: Mon Nov 21, 2011 1:01 pm Post subject:
у вас время терпит? Если да, читайте Кречнера, там должно быть. Ну это же элементарные вещи!!!! Посмотрите журнал использования этого ФМ-а в других Z программах, вы знаете где журнал использования находиться? кнопочка со стрелочками в верху экрана. Извините если это грубо, просто перед тем как начинать программирование нужно хотя бы как то ознакомиться с языком, с конструкциями. поиск по интернету тоже помогает в элементарных случаях
ЗЫ: извините наболело. Я за последний год столько кода переписал за другими, что сил больше нет терпеть....
Age: 48 Joined: 25 Jan 2008 Posts: 580 Location: Москва
Posted: Mon Nov 21, 2011 3:48 pm Post subject:
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
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.