Текущее время: Пн, июл 21 2025, 23:15

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Оператор IN
СообщениеДобавлено: Пн, дек 25 2006, 17:48 
Ассистент
Ассистент

Зарегистрирован:
Вс, ноя 12 2006, 23:53
Сообщения: 40
Откуда: Moscow
Ув. знатоки, известно ли вам, записывает или нет ABAP в структуру SYST индекс строчки с условием в budat, которое сработало wa_smth-budat:

if wa_smth-budat in budat.
....
endif.
P.S. Прошу не справшивать зачем, мне это. :roll:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор IN
СообщениеДобавлено: Пн, дек 25 2006, 18:02 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
Long написал(а):
Ув. знатоки, известно ли вам, записывает или нет ABAP в структуру SYST индекс строчки с условием в budat, которое сработало wa_smth-budat:

if wa_smth-budat in budat.
....
endif.
P.S. Прошу не справшивать зачем, мне это. :roll:


а что говорит опытный эксперимент?

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 25 2006, 18:04 
Гость
нет, но можно вот так:

Code:
TABLES: BKPF.
DATA: I TYPE I.
SELECT-OPTIONS: BUDAT FOR BKPF-BUDAT.
PARAMETERS:     BLDAT LIKE BKPF-BUDAT.

RANGES: BD FOR BKPF-BUDAT.
LOOP AT BUDAT.
  I = SY-TABIX.
  CLEAR: BD, BD[].
  MOVE-CORRESPONDING BUDAT TO BD.
  APPEND BD.
  IF BLDAT IN BD.
    WRITE:/ I.
  ENDIF.
ENDLOOP.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 25 2006, 20:17 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
РМщик написал(а):
нет, но можно вот так:

Code:
TABLES: BKPF.
DATA: I TYPE I.
SELECT-OPTIONS: BUDAT FOR BKPF-BUDAT.
PARAMETERS:     BLDAT LIKE BKPF-BUDAT.

RANGES: BD FOR BKPF-BUDAT.
LOOP AT BUDAT.
  I = SY-TABIX.
  CLEAR: BD, BD[].
  MOVE-CORRESPONDING BUDAT TO BD.
  APPEND BD.
  IF BLDAT IN BD.
    WRITE:/ I.
  ENDIF.
ENDLOOP.


Хорошо, но есть пару неточностей:
1. Если budat[] is initial, то bldat in budat[] будет верно, хотя (а) нет ни одной строки, и (б) предложенный пример не выдаст ни одного варианта.
2. Обратный пример, если budat[] состоит из двух строк 'IEQ******' и 'EEQ********' (даты должны быть одинаковыми), то bldat in budat[] для даты ******** будет ложь, а приведенный цикл выдаст первую строку.

Поэтому, Long, лучше решать конкретную задачу, а не пытаться оптимизировать среду. Вспоминается I=I-(I/2*2)+1; ("Я могла бы придумать и более запутанный способ, как это сделать, - с гордостью сказала белая королева".)

Исходный вопрос тоже не вполне корректен, так как действие IN более комплексно, чем просто найти подходящую строчку.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, дек 26 2006, 11:55 
Ассистент
Ассистент

Зарегистрирован:
Вс, ноя 12 2006, 23:53
Сообщения: 40
Откуда: Moscow
Tetty, РМщик спасибо за то что ответили.
Как найти этот идекс вручную мне известно. Но вопрос был о другом...
Опытный эксперимент показал, что в SYST не записывается никакой индекс.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, дек 26 2006, 15:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Какое поле в SYST имелось в виду: SYST-INDEX, SYST-TABIX, SYST-DBCNT, SYST-LOOPC или что-то другое?

Если рассматривать BUDAT как внутреннюю таблицу, то можно предположить, что искалось значение в поле SY-TABIX.
Это поле заполняется только при операциях над внутренними таблицами

Оператора IN среди них нет ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB