Главная страница

Руководство для участников курса Версия курса 2й квартал 2005 г. Продолжительность курса 5 Дн. Номер материала 50072594


Скачать 38.91 Mb.
НазваниеРуководство для участников курса Версия курса 2й квартал 2005 г. Продолжительность курса 5 Дн. Номер материала 50072594
АнкорBC400_RU_ECC_2005.pdf
Дата13.04.2017
Размер38.91 Mb.
Формат файлаpdf
Имя файлаBC400_RU_ECC_2005.pdf
ТипРуководство
#4748
страница18 из 23
1   ...   15   16   17   18   19   20   21   22   23
Глава 9: Диалоги пользователя
BC400
Результат
Выдержка из исходного текста: SAPBC400UDS_DYNPRO_2
REPORT
sapbc400uds_dynpro_2.
CONSTANTS: actvt_display TYPE activ_auth VALUE ’03’,
actvt_change TYPE activ_auth VALUE ’02’.
PARAMETERS pa_anum TYPE sbook-agencynum.
* workarea for SELECT
DATA wa_sbook TYPE sbook.
* workarea for data communication with screen
TABLES sdyn_book.
START-OF-SELECTION.
SELECT carrid connid fldate bookid
FROM sbook
INTO CORRESPONDING FIELDS OF wa_sbook
WHERE agencynum = pa_anum.
AUTHORITY-CHECK OBJECT ’S_CARRID’
ID ’CARRID’ FIELD wa_sbook-carrid
ID ’ACTVT’
FIELD actvt_display.
IF sy-subrc = 0.
WRITE: / wa_sbook-carrid COLOR col_key,
wa_sbook-connid COLOR col_key,
wa_sbook-fldate COLOR col_key,
wa_sbook-bookid COLOR col_key.
HIDE: wa_sbook-carrid,
wa_sbook-connid,
wa_sbook-fldate,
wa_sbook-bookid.
ENDIF.
ENDSELECT.
CLEAR wa_sbook.
AT LINE-SELECTION.
Продолжение на следующей странице
312
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
AUTHORITY-CHECK OBJECT ’S_CARRID’
ID ’CARRID’ FIELD wa_sbook-carrid
ID ’ACTVT’
FIELD actvt_change.
IF sy-subrc = 0.
SELECT SINGLE * FROM sbook INTO wa_sbook
WHERE carrid = wa_sbook-carrid
AND
connid = wa_sbook-connid
AND
fldate = wa_sbook-fldate
AND
bookid = wa_sbook-bookid.
IF sy-subrc = 0.
MOVE-CORRESPONDING wa_sbook TO sdyn_book.
CALL SCREEN 100.
ELSE.
MESSAGE s176(bc400).
ENDIF.
ELSE .
MESSAGE s047(bc400) WITH wa_sbook-carrid.
ENDIF.
CLEAR wa_sbook.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
313

Глава 9: Диалоги пользователя
BC400
314
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Упражнение 16: Экраны: динамическое
определение следующего экрана
Цели упражнения
Выполнив это упражнение, вы сможете

создавать на экранах кнопки

анализировать коды функций, инициируемых пользователем посредством кнопок, для соответствующего управления выполнением программы

настраивать динамическое определение последующих экранов
Практический пример
На экране программы ZBC400_ _DYNPRO_1 ## необходимо внедрить две
кнопки с соответствующими функциями.
Задание 1:
Определение кнопок
1.
Расширьте программу ZBC400_##_DYNPRO_1 или скопируйте шаблон SAPBC400UDS_DYNPRO_2 с присвоением ему нового имени
ZBC400_##_DYNPRO_3 для дальнейшей обработки.
2.
На экране определите кнопку для возврата к основному списку
(Назад) и кнопку для сохранения измененных данных в базе данных
(Сохранить).
Имя кнопки
Текст
Код функции
PUSH_BACK
Назад
BACK
PUSH_SAVE
Сохранить (или пиктограмма
ICON_SYSTEM_SAVE)
SAVE
Задание 2:
Внедрение динамического управления последующими экранами
1.
Присвойте имя экранному полю типа "OK" и определите объект данных с таким же именем (и соответствующим типом) в программе.
Рекомендуется использовать имя OK_CODE.
Продолжение на следующей странице
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
315

Глава 9: Диалоги пользователя
BC400
2.
Выполните навигацию в логике выполнения. Создайте PAI-модуль посредством навигации вперед. В этом модуле внедрите следующую обработку кода функции:
Код функции
Операция
BACK
Назад к основному списку
SAVE
Вывод информационного сообщения 060
класса сообщений BC400 и возврат к основному списку
Любая другая операция Повторная обработка экрана 100 3.
Проверьте, что при выборе Enter всегда появляется экран 100,
независимо от истории навигации. Для этого в модуле PBO должно быть инициализировано поле ok-кода.
316
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Решение 16: Экраны: динамическое
определение следующего экрана
Задание 1:
Определение кнопок
1.
Расширьте программу ZBC400_##_DYNPRO_1 или скопируйте шаблон SAPBC400UDS_DYNPRO_2 с присвоением ему нового имени
ZBC400_##_DYNPRO_3 для дальнейшей обработки.
a)
Этот шаг выполняется в соответствии с обычной процедурой.
2.
На экране определите кнопку для возврата к основному списку
(Назад) и кнопку для сохранения измененных данных в базе данных
(Сохранить).
Имя кнопки
Текст
Код функции
PUSH_BACK
Назад
BACK
PUSH_SAVE
Сохранить (или пиктограмма
ICON_SYSTEM_SAVE)
SAVE
a)
Этот шаг выполняется в соответствии с описанием в учебных материалах.
Задание 2:
Внедрение динамического управления последующими экранами
1.
Присвойте имя экранному полю типа "OK" и определите объект данных с таким же именем (и соответствующим типом) в программе.
Рекомендуется использовать имя OK_CODE.
a)
Этот шаг выполняется в соответствии с описанием в учебных материалах.
b)
См. выдержку из исходного текста в примере решения.
2.
Выполните навигацию в логике выполнения. Создайте PAI-модуль посредством навигации вперед. В этом модуле внедрите следующую обработку кода функции:
Продолжение на следующей странице
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
317

Глава 9: Диалоги пользователя
BC400
Код функции
Операция
BACK
Назад к основному списку
SAVE
Вывод информационного сообщения 060
класса сообщений BC400 и возврат к основному списку
Любая другая операция Повторная обработка экрана 100
a)
См. выдержку из исходного текста в примере решения.
3.
Проверьте, что при выборе Enter всегда появляется экран 100,
независимо от истории навигации. Для этого в модуле PBO должно быть инициализировано поле ok-кода.
a)
См. выдержку из исходного текста в примере решения.
Результат
Выдержка из исходного текста: SAPBC400UDS_DYNPRO_3
REPORT
sapbc400uds_dynpro_3.
CONSTANTS: actvt_display TYPE activ_auth VALUE ’03’,
actvt_change TYPE activ_auth VALUE ’02’.
PARAMETERS pa_anum TYPE sbook-agencynum.
* workarea for SELECT
DATA wa_sbook TYPE sbook.
* workarea for data communication with screen
TABLES sdyn_book.
* variable for function code of user action
DATA ok_code LIKE sy-ucomm.
START-OF-SELECTION.
SELECT carrid connid fldate bookid
FROM sbook
INTO CORRESPONDING FIELDS OF wa_sbook
WHERE agencynum = pa_anum.
AUTHORITY-CHECK OBJECT ’S_CARRID’
Продолжение на следующей странице
318
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
ID ’CARRID’ FIELD wa_sbook-carrid
ID ’ACTVT’
FIELD actvt_display.
IF sy-subrc = 0.
WRITE: / wa_sbook-carrid COLOR col_key,
wa_sbook-connid COLOR col_key,
wa_sbook-fldate COLOR col_key,
wa_sbook-bookid COLOR col_key.
HIDE: wa_sbook-carrid,
wa_sbook-connid,
wa_sbook-fldate,
wa_sbook-bookid.
ENDIF.
ENDSELECT.
CLEAR wa_sbook.
AT LINE-SELECTION.
AUTHORITY-CHECK OBJECT ’S_CARRID’
ID ’CARRID’ FIELD wa_sbook-carrid
ID ’ACTVT’
FIELD actvt_change.
IF sy-subrc = 0.
SELECT SINGLE * FROM sbook INTO wa_sbook
WHERE carrid = wa_sbook-carrid
AND
connid = wa_sbook-connid
AND
fldate = wa_sbook-fldate
AND
bookid = wa_sbook-bookid.
IF sy-subrc = 0.
MOVE-CORRESPONDING wa_sbook TO sdyn_book.
CALL SCREEN 100.
ELSE.
MESSAGE s176(bc400).
ENDIF.
ELSE .
MESSAGE s047(bc400) WITH wa_sbook-carrid.
ENDIF.
CLEAR wa_sbook.
Продолжение на следующей странице
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
319

Глава 9: Диалоги пользователя
BC400
*&--------------------------------------------------------------*
*&
Module
CLEAR_OK_CODE
OUTPUT
*
*&--------------------------------------------------------------*
*&
text
*
*&--------------------------------------------------------------*
MODULE clear_ok_code OUTPUT.
CLEAR ok_code.
ENDMODULE.
" CLEAR_OK_CODE
OUTPUT
*&--------------------------------------------------------------*
*&
Module
USER_COMMAND_0100
INPUT
*
*&--------------------------------------------------------------*
*&
text
*
*&--------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN ’BACK’.
SET SCREEN 0.
WHEN ’SAVE’.
MOVE-CORRESPONDING sdyn_book TO wa_sbook.
MESSAGE i060(bc400).
SET SCREEN 0.
ENDCASE.
ENDMODULE.
" USER_COMMAND_0100
INPUT
Логика выполнения для экрана 100:
PROCESS BEFORE OUTPUT.
MODULE clear_ok_code.
PROCESS AFTER INPUT.
MODULE user_command_100.
320
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Экран
Резюме по уроку
Теперь вы сможете:

перечислять атрибуты экранов и пояснять преимущества их использования

внедрять простые экраны с полями ввода и вывода и экранными кнопками, а также вызывать их из соответствующей программы

пояснять и внедрять внутреннюю программную обработку для вызовов экранов
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
321

Глава 9: Диалоги пользователя
BC400
Урок:
Интерфейс пользователя
Обзор урока
На этом уроке рассматривается присвоение заголовка списку и экрану.
Кроме того, здесь описывается создание статуса списка (с использованием стандартных функций списка), а также статуса экрана, связанного с компонентами статуса списка.
Цели урока
Прослушав этот урок, вы сможете

внедрять GUI-заголовок

внедрять GUI-статус (строка меню, символьная строка инструментов и строка кнопок) для списка и экрана

выполнять ведение присвоения функциональных клавиш для экрана
Практический пример
Необходимо создать интерфейсы пользователя (заголовок и статус) для экранов программы.
Интерфейс пользователя
Рисунок 182: GUI-заголовок и GUI-статус экрана (обзор)
322
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Интерфейс пользователя
Интерфейс пользователя каждого экрана состоит из следующих элементов:

Строка заголовка содержит заголовок текущего экрана
(GUI-заголовок).

Строка меню содержит выпадающие меню с пунктами и/или подменю
(каскадные меню), позволяющими получить доступ к соответствующим функциям программы.
Меню Система и Справка присутствуют на каждом экране в
SAP-системе и всегда включают в себя одни и те же функции. Эти меню невозможно изменить или скрыть.
На каждом экране в SAP-системе имеется стандартная строка
инструментов, которая всегда содержит стандартные кнопки,
предназначенные для доступа к часто используемым функциям. Кнопки тех функций, использовать которые в данном приложении невозможно,
отображаются серым цветом.
Присвоение функциональных клавиш для данного экрана можно вывести на экран путем щелчка правой кнопкой мыши. В идеальном случае функциональные клавиши должны обеспечивать доступ ко всем функциям меню, активируемым посредством пунктов меню.
Строка кнопок предназначена для доступа к часто используемым функциям экрана.
Строка меню, стандартная строка инструментов, присвоение функциональных клавиш и строка кнопок составляют GUI-статус.
Для использования определенного GUI-заголовка или GUI-статуса на каком-либо экране их необходимо присвоить этому экрану. Это действие выполняется посредством ABAP-операторов SET TITLEBAR и SET
PF-STATUS
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
323

Глава 9: Диалоги пользователя
BC400
Рисунок 183: Внедрение GUI-заголовка
Имеется два способа внедрения GUI-заголовка для экрана:

Можно вначале создать GUI-заголовок посредством контекстного меню, вызываемого из списка объектов требуемой программы, и затем присвоить его соответствующему экрану при помощи оператора SET
TITLEBAR

Можно создать GUI-заголовок посредством навигации вперед из соответствующего оператора SET TITLEBAR требуемой программы
(см. рисунок выше).
Максимальная длина заголовка составляет 20 символов.
GUI-заголовок, присвоенный экрану, наследуется всеми последующими экранам. Если каждый из последующих экранов должен иметь собственный заголовок, необходимо создать отдельный заголовок для каждого экрана.
324
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Интерфейс пользователя
Рисунок 184: Интерфейс пользователя для программы-образца (цель)
Интерфейс пользователя программы-образца должен иметь следующие свойства:

В списке и экране присутствует одна и та же строка меню. В то же время, выполнимые функции выводятся как доступные для выбора
(черным цветом) только на текущем экране. Функции, не имеющие значения и не выполнимые на текущем экране, отображаются как недоступные (серым цветом).

В строке инструментов в качестве доступных отображаются только те кнопки, которые относятся к функциям, выполнимым на текущем экране. Остальные кнопки являются недоступными для выбора (серым цветом).
Необходимо внедрить единый интерфейс для всей программы.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
325

Глава 9: Диалоги пользователя
BC400
Рисунок 185: Наследование статуса последующими экранами
После присвоения GUI-статуса какому-либо экрану этот статус наследуется всеми последующими экранами. Если каждый из последующих экранов должен иметь свой статус, необходимо установить отдельный статус для каждого экрана. Эта ситуация иллюстрируется на следующем рисунке:
Рисунок 186: Установка статуса для каждого экрана
326
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Интерфейс пользователя
Рисунок 187: Многократное использование ранее определенных
подобъектов посредством ссылочной обработки
В целях упрощения ведения статуса экрана можно не создавать заново такие подобъекты, как строка меню, строка кнопок и строка инструментов с присвоением функциональных клавиш. Вместо этого следует использовать
ссылки на соответствующие подобъекты уже созданного статуса списка.
При этом потребуется определить каждый статус по отдельности и задать функции, которые являются выполнимыми на соответствующем экране и должны быть определены как доступные для выбора (активные).
Рисунок 188: Внедрение GUI-статуса для списка
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
327

Глава 9: Диалоги пользователя
BC400
Для внедрения статуса экрана имеются те же две возможности, что и при внедрении GUI-заголовка:

Сначала с использованием списка объектов программы создается
GUI-статус, а затем он присваивается экрану посредством оператора
SET PF-STATUS
; либо

GUI-статус создается посредством навигации вперед из соответствующего оператора SET PF-STATUS в программе.
Выберите тип статуса “ Статус диалога , предназначенный для использования в качестве статуса стандартных экранов.
Максимальная длина имени статуса составляет 20 символов.
Для ведения статусов используется редактор меню .
Рекомендация: Если выбрано имя STATUS_nnnn, предлагаемое по умолчанию в логике выполнения для данного PBO-модуля, и создание PBO-модуля выполняется здесь же посредством навигации вперед, то в модуле автоматически создаются два оператора:
SET PF-STATUS
и SET TITLEBAR
, которые затем комментируются. После этого можно удалить символы комментариев (звездочки), ввести описания заголовка и статуса, а затем создать заголовок и статус посредством навигации вперед.
328
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Интерфейс пользователя
Рисунок 189: Добавление шаблона
Для загрузки доступного статуса (стандартного статуса для списка или экрана выбора, статуса другой программы) в обрабатываемый статус в качестве шаблона можно использовать путь по меню Дополнительная
информация → Корректировка шаблона в редакторе меню. Эта функция позволяет загружать подобъекты любого статуса в текущий статус.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
329

Глава 9: Диалоги пользователя
BC400
Рисунок 190: Ведение строки меню в редакторе меню
При необходимости для строки меню могут автоматически предлагаться стандартные значения, которые можно изменить.
Строка меню может содержать до восьми меню: непосредственно можно определить до шести из них, меню Система и Справка являются стандартными и добавляются автоматически.
330
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
06-04-2006

BC400
Урок: Интерфейс пользователя
Рисунок 191: Ведение присвоения функциональных клавиш в
редакторе меню
Присвоение функциональных клавиш осуществляется в трех областях:
Стандартная строка инструментов
Каждая кнопка в стандартной строке инструментов связана с определенной фиксированной функциональной клавишей (или комбинацией функциональных клавиш). Например, кнопка со значком
дискеты связана с комбинацией клавиш Ctrl+S. Это означает,
что функции, которые присвоены кнопкам стандартной строки инструментов путем указания соответствующего кода функции, могут также быть вызваны посредством соответствующей функциональной клавиши (или комбинации клавиш).
Рекомендуемые значения функциональных клавиш
В системе имеются некоторые функции, которые, как правило, следует присваивать типичным для них функциональным клавишам. Это те функции, для которых используется стандартное, привычное для пользователя присвоение. Поэтому не рекомендуется изменять эти присвоения без наличия на то серьезных причин.
Свободные функциональные клавиши
Здесь перечислены все остальные функциональные клавиши (и их комбинации), которые можно присваивать кодам функций в произвольном порядке.
06-04-2006
© 2006 г. SAP AG All rights reserved. Авторские права защищены.
331

1   ...   15   16   17   18   19   20   21   22   23


написать администратору сайта