SAPфорум.RU
https://sapboard.ru/forum/

Выбор МВЗ select-options
https://sapboard.ru/forum/viewtopic.php?f=13&t=95978
Страница 1 из 1

Автор:  oko_5 [ Вт, янв 23 2018, 16:57 ]
Заголовок сообщения:  Выбор МВЗ select-options

Необходимо для выбора выбрать не все МВЗ с таблицы CSKT а только те ,которые начинаются например с '403L'
Подскажите как правильно написать при выборки диапазона в программе?

select-options sx_kostl for cskt-kostl.

Автор:  Кодер [ Ср, янв 24 2018, 18:00 ]
Заголовок сообщения:  Re: Выбор МВЗ select-options

Не совсем понятно, что вам на самом деле нужно, но попробую угадать:
1) если нужно заполнить sx_kostl так, чтобы выбирались МВЗ которые начинаются с '403L', надо добавить в него строку
Code:
sx_kostl-sign = 'I'
sx_kostl-option = 'CP'
sx_kostl-low = '403L*
append sx_kostl.

потом делать выборку
Code:
select * from cskt where kostl in sx_kostl

2) если просто выбрать из таблицы
Code:
select * from cskt where kostl like '403L%'


Для масок в select-options\range используются символы * (любая последовательность символов) и + (любой 1 символ)
Для масок в самом sql select используются % и _ соответственно

Автор:  oko_5 [ Пт, янв 26 2018, 13:00 ]
Заголовок сообщения:  Re: Выбор МВЗ parameters select-options

Это все правильно ! Только нужно вставить такую проверку что б для выбора из таблицы выводились только МВЗ которые начинаются с символов '403L'
parameters sx_kostl like cskt-kostl .

Автор:  Kuranov.Dmitry [ Пт, янв 26 2018, 13:47 ]
Заголовок сообщения:  Re: Выбор МВЗ parameters select-options

oko_5 написала:
Это все правильно ! Только нужно вставить такую проверку что б для выбора из таблицы выводились только МВЗ которые начинаются с символов '403L'
parameters sx_kostl like cskt-kostl .


прописать свое средство поиска:
select-options sx_kostl for cskt-kostl MATCHCODE OBJECT z_my_cskt..

Ну и не забыть сделать проверку ввода, чтоб пользователи руками не вбили левый МВЗ

Автор:  Bimit [ Пт, янв 26 2018, 13:58 ]
Заголовок сообщения:  Re: Выбор МВЗ select-options

Создайте свое средство поиска с ограничением по маске

Или ограничение по маске делайте в событии AT SELECTION-SCREEN ON VALUE-REQUEST

Автор:  Daw [ Пт, янв 26 2018, 14:36 ]
Заголовок сообщения:  Re: Выбор МВЗ select-options

Прочитайте хелп по SELECT-OPTIONS

SELECT-OPTIONS sx_kostl FOR cskt-kostl DEFAULT '403L*' OPTION cp SIGN i.

Автор:  Kuranov.Dmitry [ Пт, янв 26 2018, 14:51 ]
Заголовок сообщения:  Re: Выбор МВЗ select-options  Тема решена

Daw написал(а):
Прочитайте хелп по SELECT-OPTIONS

SELECT-OPTIONS sx_kostl FOR cskt-kostl DEFAULT '403L*' OPTION cp SIGN i.

так подойдет, и пожалуй проще всего, при том условии, что пользователю разрешено менять дефолтную маску.

Автор:  oko_5 [ Пт, янв 26 2018, 15:47 ]
Заголовок сообщения:  Re: Выбор МВЗ select-options

Если вставить : parameters sx_kostl like cskt-kostl DEFAULT '403L*'.
Тогда в любом случае надо выбирать МВЗ Правда уже выдается список нужных МВЗ !
А надо сделать так чтоб если не задано ни одного то по всем .
А тут получется что нужна еще проверка если sx_kostl = '403L*
Тогда по всех МВЗ . Как этого избежать ?

Автор:  Kuranov.Dmitry [ Пт, янв 26 2018, 16:07 ]
Заголовок сообщения:  Re: Выбор МВЗ select-options

oko_5 написала:
Если вставить : parameters sx_kostl like cskt-kostl DEFAULT '403L*'.
Тогда в любом случае надо выбирать МВЗ Правда уже выдается список нужных МВЗ !
А надо сделать так чтоб если не задано ни одного то по всем .
А тут получется что нужна еще проверка если sx_kostl = '403L*
Тогда по всех МВЗ . Как этого избежать ?


Если в SELECT-OPTIONS ничего нет, то выберутся все значения. если конечно вы через IN потом обрабатываете параметр


Code:
tables cskt.
SELECT-OPTIONS sx_kostl FOR cskt-kostl DEFAULT '403L*' OPTION cp SIGN i.

select * from cskt where kostl in sx_kostl.

  write :/  cskt-KOSTL,  cskt-KTEXT
endselect.



если вы запустите, то получите МВЗ начинающиеся с 403L
Если вы сотрете с параметра 403L получите все

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/