Текущее время: Сб, июл 26 2025, 04:27

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


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

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


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

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