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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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