Текущее время: Вс, июл 27 2025, 02:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Вопросы новичка по работе с экранами
СообщениеДобавлено: Пн, сен 19 2011, 09:55 
Специалист
Специалист

Зарегистрирован:
Пн, сен 07 2009, 07:20
Сообщения: 146
Добрый день! Подскажите, пожалуйста, новичку по работе с экранами!

1. Можно ли обращаться к элементам экрана по имени, а не через цикл LOOP AT SCREEN ?
2 . Как реализуется признак модификации экрана, т.е. чтобы система контролировала, что данные в нем изменены и спрашивала, необходимо ли сохранить данные или нет или как понять, что поля на экране изменялись?
3. Как можно реализовать загрузку данных из записей таблицы базы данных в поля экрана не перечисляя их???
4. Можно ли передавать параметры при проектеровке транзакции или необходимо получать их из базы в зависисмости от кода транзакции,
например, чтобы в зависимости от некоторых значений параметров скрыть или показать некоторые поля???


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопросы новичка по работе с экранами
СообщениеДобавлено: Пн, сен 19 2011, 10:47 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Silver написал(а):
Добрый день! Подскажите, пожалуйста, новичку по работе с экранами!

1. Можно ли обращаться к элементам экрана по имени, а не через цикл LOOP AT SCREEN ?
2 . Как реализуется признак модификации экрана, т.е. чтобы система контролировала, что данные в нем изменены и спрашивала, необходимо ли сохранить данные или нет или как понять, что поля на экране изменялись?
3. Как можно реализовать загрузку данных из записей таблицы базы данных в поля экрана не перечисляя их???
4. Можно ли передавать параметры при проектеровке транзакции или необходимо получать их из базы в зависисмости от кода транзакции,
например, чтобы в зависимости от некоторых значений параметров скрыть или показать некоторые поля???

Что бы не было лишних вопросов и т.п. изучите как минимум ABAP User Dialogs, а ещё лучше соответствующий курс BC4xx

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы новичка по работе с экранами
СообщениеДобавлено: Пн, сен 19 2011, 10:57 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Цитата:
Подскажите, пожалуйста, новичку по работе с экранами!

Курс BC410, транзакция abapdocu

Цитата:
1. Можно ли обращаться к элементам экрана по имени, а не через цикл LOOP AT SCREEN ?

К атрибутам - нет, к значениям - пожалуйста.

Цитата:
2 . Как реализуется признак модификации экрана, т.е. чтобы система контролировала, что данные в нем изменены и спрашивала, необходимо ли сохранить данные или нет или как понять, что поля на экране изменялись?

Code:
    chain.
      field:<поле2>,<поле 2>,.. <поле n>
        module check_input on chain-request.
    endchain.


Цитата:
3. Как можно реализовать загрузку данных из записей таблицы базы данных в поля экрана не перечисляя их???

Непонятно, что и где вы перечисляете. Посмотрите пример простейшего вывода таблицы в abapdocu.

Цитата:
4. Можно ли передавать параметры при проектеровке транзакции или необходимо получать их из базы в зависисмости от кода транзакции,
например, чтобы в зависимости от некоторых значений параметров скрыть или показать некоторые поля???

Масса вариантов, зависит все от конкретного случая.
  • Можно к транзакции создать транзакцию с параметрами
  • Можно создать транзакцию с вариантом
  • Можно каждую транзакцию вызывать со своим экраном, со своей логикой, где и будут задаваться параметры.
  • Можно по каждой транзакции вызывать свой метод класса, в котором и будут задаваться зависимые от транзакции параметры


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы новичка по работе с экранами
СообщениеДобавлено: Пн, сен 19 2011, 13:41 
Специалист
Специалист

Зарегистрирован:
Пн, сен 07 2009, 07:20
Сообщения: 146
Спасибо за ответы. Курс обязательно почитаю.
Есть дополнительные вопросы по пояснению.
1. Т.е. для того, чтобы программно сделать поле экрана не видимым необходимо перебрать все поля и найти нужное? Напрямую обратиться нельзя?
2. К вопросу о загрузке данных в экран. У меня есть таблица с определенными полями. Например, таблица TEST, у нее есть поля: Code, Name. Я располаю на экране поля ввода TEST-Code, TEST-Name. Получается, что я должен явно присвоить каждому полю значение по полученной из базы записи? Например, запрос: select ..... INTO wa ... where ...
Потом,
TEST-Code = wa-code.
TEST-Name = wa-name.
Других вариантов нет, кроме как все поля присваивать? Может есть какая-нибудь функция, которая по совпадению имен выполнит присвоение из структуры?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопросы новичка по работе с экранами
СообщениеДобавлено: Пн, сен 19 2011, 13:54 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Цитата:
1. Т.е. для того, чтобы программно сделать поле экрана не видимым необходимо перебрать все поля и найти нужное? Напрямую обратиться нельзя?

Да
Цитата:
Может есть какая-нибудь функция, которая по совпадению имен выполнит присвоение из структуры?

Функции есть. См встроенную справку, курсы и примеры.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы новичка по работе с экранами
СообщениеДобавлено: Пн, сен 19 2011, 13:56 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Silver написал(а):
Спасибо за ответы. Курс обязательно почитаю.
Есть дополнительные вопросы по пояснению.
1. Т.е. для того, чтобы программно сделать поле экрана не видимым необходимо перебрать все поля и найти нужное? Напрямую обратиться нельзя?
2. К вопросу о загрузке данных в экран. У меня есть таблица с определенными полями. Например, таблица TEST, у нее есть поля: Code, Name. Я располаю на экране поля ввода TEST-Code, TEST-Name. Получается, что я должен явно присвоить каждому полю значение по полученной из базы записи? Например, запрос: select ..... INTO wa ... where ...
Потом,
TEST-Code = wa-code.
TEST-Name = wa-name.
Других вариантов нет, кроме как все поля присваивать? Может есть какая-нибудь функция, которая по совпадению имен выполнит присвоение из структуры?

Вы всё-таки начните читать курсы, чтобы мы для Вас не дублировали их содержимое через форум.
По поводу полей
(1) - да, необходимо перебрать всё до нужного. Других методов доступа к атрибутам полей на данный момент е существует.
(2) - что мешает Вам читать данные сразу в структуру TEST?
Что мешает воспользоваться оператором MOVE-CORRESPONDING?
Внимательно изучите концепцию организации ABAP программ - многие вопросы уйдут.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы новичка по работе с экранами
СообщениеДобавлено: Пн, сен 19 2011, 21:56 
Специалист
Специалист

Зарегистрирован:
Пн, сен 07 2009, 07:20
Сообщения: 146
Спасибо. Будем рыть :)


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

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


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

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


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

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