Текущее время: Вт, июн 24 2025, 05:59

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Работа со списками
СообщениеДобавлено: Ср, сен 02 2015, 13:56 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 09:51
Сообщения: 421
Пол: Женский
В программе вывожу список
loop at itab1.
write: / itab1-sum,itab1-oz,itab1-noz,itab1-data+6(4).
endloop.
теперь необходимо после клика на строке списка вывести дополнительные данные в окошке по кажой строке свое.
Поставила после вывода
AT LINE-SELECTION.
WINDOW STARTING AT 10 15 ENDING AT 50 23 .
Какие системные поля использовать что б уловить номер строки таблицы itab1?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Работа со списками
СообщениеДобавлено: Ср, сен 02 2015, 21:23 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Code:
loop at itab1.
  write: / itab1-sum,itab1-oz,itab1-noz,itab1-data+6(4).
  hide: itab1-index.       " здесь можно использовать любое поле, однозначно идентифицирующее строку
endloop.

AT LINE-SELECTION.
  read table itab1 index itab1-index. " или with key


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа со списками
СообщениеДобавлено: Чт, сен 03 2015, 09:10 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 09:51
Сообщения: 421
Пол: Женский
sy-curow показывает номер строки выведенного списка на первом екране.
Если листать список то на втором екране номер sy-curow будет как на первом екране однако информация не будет соответствовать информации первого екрана . Как выловить строку списка используя sy-curow ?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Работа со списками
СообщениеДобавлено: Чт, сен 03 2015, 09:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
oko_5 Вам LAT дал правильный ответ. С помощью sy-curow корректно определить строку списка не получится. Смотрите курс BC405 старых версий системы

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа со списками
СообщениеДобавлено: Чт, сен 03 2015, 10:20 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 09:51
Сообщения: 421
Пол: Женский
В моем случае
loop at itab1.
write: / itab1-sum,itab1-oz,itab1-noz,itab1-data+6(4).
hide: itab1-oz.
endloop.
когда я далее пишу
AT LINE-SELECTION.
read table itab1 index itab1-oz. Какое значение itab1-oz я должна указать ?
Мне нужна что б после выбора строки спика вывести в отдельном окошке детальное значение этой строки(для конкретного значения itab1-oz ) из другой таблицы itab ? Приблизительно так .
AT LINE-SELECTION.
read table itab1 index itab1-oz. * Какое значение itab1-oz я должна указать ?
WINDOW STARTING AT 10 15 ENDING AT 50 23 .
loop at itab.
if itab-oz = itab1-oz.
write: / itab-sum,itab-data,itab-oz,itab1-noz,itab-data+6(4).
endif.
endloop.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Работа со списками
СообщениеДобавлено: Чт, сен 03 2015, 10:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
oko_5: почитайте 405 курс или хелп
1) оператор hide привязывает к выведенной строке информацию, которую вы указываете как ее операнд. После выовда списка, не забудьте затереть эту строку
2) при выполнении AT LINE-SELECTION, в ту же переменную происходит восстановление из памяти данных привязанных к строке экранного списка. Только нужно учитывать еще номера уровней списка, с которыми вы работаете (поле sy-lsind). после использования следует снова затереть значение в этой переменной, иначе вы не сможете различить ситуацию "щелкнули по строке, к которой ничего не было привязано"
в вашем примере (предполагаем, что поле oz содержит в каждой строке уникальное значение для всей внутренней таблицы)
Code:
loop at itab1.
  write: / itab1-sum,itab1-oz,itab1-noz,itab1-data+6(4).
  hide: itab1-oz.   "здесь мы привязываем к каждой строке выводимого списка уникальный ключ строки внутр. таблицы
endloop.

clear itab1-oz.

AT LINE-SELECTION.
  if itab1-oz is not initial.  "проверям, что щелкнули по строке, для которой запоминали ключ
*в случае нескольких уровней списка, надо добавить анализ sy-lsind
    read table itab1 with key oz = itab1-oz. "считываем по уникальному ключ строку таблицы
    if sy-subrc = 0.
*делаем то что нам нужно
    endif.
    clear itab1-oz. "зачищаем для дальнейшего корректного использования 
  endif.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа со списками  Тема решена
СообщениеДобавлено: Чт, сен 03 2015, 11:23 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 09:51
Сообщения: 421
Пол: Женский
Спасибо! Получилось !


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

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


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

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


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

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