Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

BC400_RU_ECC_2005

.pdf
Скачиваний:
1457
Добавлен:
21.05.2015
Размер:
40.8 Mб
Скачать

BC400

Урок: Работа со структурами

Оператор MOVE-CORRESPONDING используется для копирования содержимого исходной структуры в целевую структуру по отдельным компонентам. Учитываются только те компоненты, которые имеют одно и то же имя в исходной и целевой структуре. Все другие структурные компоненты остаются неизменными.

Присвоение отдельных значений можно выполнить с помощью оператора

MOVE.

Рисунок 68: Структуры в режиме отладки

В отладчике можно отслеживать содержимое поля структуры путем ввода имени структуры в области Имена полей или его копирования из исходного текста путем двойного щелчка. Просмотреть структурный компонент можно с помощью двойного щелчка по имени структуры в области Имена полей.

 

© 2006 г. SAP AG All rights reserved. Авторские

111

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

112

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Работа со структурами

Упражнение 6: Работа со структурами

Цели упражнения

Выполнив это упражнение, вы сможете

отслеживать поток данных с помощью ABAP-отладчика и пояснять связь между выполняемыми блоками операторов

использовать ABAP-оператор MOVE-CORRESPONDING для присвоения значений в структурах

Практический пример

Необходимо проанализировать ABAP-программу в целях проверки времени и способов переноса данных между определенными структурированными объектами данных.

Задание 1:

Выполнение программы в режиме отладки

1.Запустите программу SAPBC400WBS_GETTING_STARTED. На экране выбора введите значение LH в поле Авиакомпания. В поле команды введите /h, затем нажмите Enter. Для выполнения программы нажмите F8. Будет выполнен переход в режим отладки.

2.Убедитесь в том, что все объекты данных имеют начальные значения. Перенесите все объекты данных, определенные в программе, в ракурс поля. Просмотрите типизацию и содержимое структурных компонентов.

Рекомендация: В программе оператор TABLES sbc400_carrier определяет переменную структуры, имя

иструктура которой совпадают с аналогичными атрибутами указанной структуры словаря данных SBC400_CARRIER. Этот нестандартный и неинтуитивный тип определения структуры используется только для программирования экранов. Определенная в программе структура используется в качестве интерфейса для обмена данными между программой

иэкраном. Для получения дополнительной информации см. соответствующие упражнения в разделе о программировании экранов.

3.Выполните шаги программы с использованием функции пошагового выполнения.

Продолжение на следующей странице

 

© 2006 г. SAP AG All rights reserved. Авторские

113

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

Задание 2:

Анализ содержимого полей

1.Какие поля структуры WA_SCARR заполняются с помощью оператора SELECT? Какое значение принимает системное поле SY-SUBRC после выполнения этого оператора?

2.Теперь проверьте процесс копирования полей из структуры WA_SCARR в структуру SBC400_CARRIER. Какие значения полей копируются?

3.ABAP-оператор CALL SCREEN 100 используется для обработки экрана 100. Каковы технические имена полей на экране?

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

Enter.

Какие объекты данных программы выведены теперь в списке? Каковы их значения?

Продолжение на следующей странице

114

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Работа со структурами

Задание 3:

Контроль структуры списка

1.Теперь проверьте процесс составления списка с помощью оператора

WRITE.

Рекомендация: После выполнения первого оператора WRITE в строке инструментов появляется дополнительная кнопка. Эта кнопка используется для просмотра созданного буфера списка. Однако строка буфера списка выводится на экран только при его закрытии, т. е. при открытии следующей строки.

Задание 4:

Установка точек прерывания и изменение содержимого поля

1.Перезапустите программу в режиме отладки. Установите точку прерывания для всех операторов WRITE.

Также установите точку наблюдения для структуры WA_SCARR.

Продолжите выполнение программы путем выбора Дальше и проверьте причины остановки программы в каждом конкретном случае.

2.Перезапустите программу в режиме отладки. Установите точку прерывания для оператора CALL SCREEN и выполняйте программу до тех пор, пока не будет достигнут этот оператор. Перед обработкой экрана присвойте произвольное имя внутреннему программному

полю UNAME структуры SBC400_CARRIER.

Рекомендация: Для изменения значения поля в отладчике выберите Изменение содержимого поля в области Имена полей.

Теперь выполните оператор CALL SCREEN. Что отображается на экране?

 

© 2006 г. SAP AG All rights reserved. Авторские

115

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

Решение 6: Работа со структурами

Задание 1:

Выполнение программы в режиме отладки

1.Запустите программу SAPBC400WBS_GETTING_STARTED. На экране выбора введите значение LH в поле Авиакомпания. В поле команды введите /h, затем нажмите Enter. Для выполнения программы нажмите F8. Будет выполнен переход в режим отладки.

a)Этот шаг выполняется в соответствии с описанием.

2.Убедитесь в том, что все объекты данных имеют начальные значения. Перенесите все объекты данных, определенные в программе, в ракурс поля. Просмотрите типизацию и содержимое структурных компонентов.

Рекомендация: В программе оператор TABLES sbc400_carrier определяет переменную структуры, имя

иструктура которой совпадают с аналогичными атрибутами указанной структуры словаря данных SBC400_CARRIER. Этот нестандартный и неинтуитивный тип определения структуры используется только для программирования экранов. Определенная в программе структура используется в качестве интерфейса для обмена данными между программой

иэкраном. Для получения дополнительной информации см. соответствующие упражнения в разделе о программировании экранов.

a)Этот шаг выполняется в соответствии с описанием в учебных материалах.

3.Выполните шаги программы с использованием функции пошагового выполнения.

a)Этот шаг выполняется в соответствии с описанием в учебных материалах.

Задание 2:

Анализ содержимого полей

1.Какие поля структуры WA_SCARR заполняются с помощью оператора SELECT? Какое значение принимает системное поле SY-SUBRC после выполнения этого оператора?

Ответ: Все, "0"

Продолжение на следующей странице

116

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Работа со структурами

2.Теперь проверьте процесс копирования полей из структуры WA_SCARR в структуру SBC400_CARRIER. Какие значения полей копируются?

Ответ: Значение полей с одинаковыми именами: MANDT, CARRID, CARRNAME и CURRCODE.

3.ABAP-оператор CALL SCREEN 100 используется для обработки экрана 100. Каковы технические имена полей на экране?

Ответ:

SBC400_CARRIER-CARRID SBC400_CARRIER-CARRNAME SBC400_CARRIER-CURRCODE SBC400_CARRIER-UNAME SBC400_CARRIER-UZEIT SBC400_CARRIER-DATUM

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

Enter.

Какие объекты данных программы выведены теперь в списке? Каковы их значения?

Ответ: В списке содержатся поля вспомогательной структуры программы SBC400_CARRIER.

На экране отображаются или вводятся значения именно этих полей.

Задание 3:

Контроль структуры списка

1.Теперь проверьте процесс составления списка с помощью оператора

WRITE.

Рекомендация: После выполнения первого оператора WRITE в строке инструментов появляется дополнительная кнопка. Эта кнопка используется для просмотра созданного буфера списка. Однако строка буфера списка выводится на экран только при его закрытии, т. е. при открытии следующей строки.

a)Этот шаг выполняется в соответствии с описанием.

Продолжение на следующей странице

 

© 2006 г. SAP AG All rights reserved. Авторские

117

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

Задание 4:

Установка точек прерывания и изменение содержимого поля

1.Перезапустите программу в режиме отладки. Установите точку прерывания для всех операторов WRITE.

Также установите точку наблюдения для структуры WA_SCARR.

Продолжите выполнение программы путем выбора Дальше и проверьте причины остановки программы в каждом конкретном случае.

a)Для установки точки прерывания, относящейся к определенному оператору, выберите Точки прерывания → Точка прерывания для → Оператор .... В диалоговом окне введите WRITE.

b)В диалоговом окне введите имя структуры WA_SCARR для создания точки наблюдения.

c)Программа останавливается в каждой точке прерывания и при каждом вызове точки наблюдения.

2.Перезапустите программу в режиме отладки. Установите точку прерывания для оператора CALL SCREEN и выполняйте программу до тех пор, пока не будет достигнут этот оператор. Перед обработкой экрана присвойте произвольное имя внутреннему программному

полю UNAME структуры SBC400_CARRIER.

Рекомендация: Для изменения значения поля в отладчике выберите Изменение содержимого поля в области Имена полей.

Теперь выполните оператор CALL SCREEN. Что отображается на экране?

a)Этот шаг выполняется в соответствии с описанием.

b)На экране в поле Пользователь отображается имя, ранее указанное в отладчике. Для получения дополнительной информации о переносе полей между экраном и программой см. соответствующий раздел.

118

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Работа со структурами

Резюме по уроку

Теперь вы сможете:

определять структурированные объекты данных (переменные структуры)

использовать базовые ABAP-операторы для структурированных объектов данных

анализировать структурированные объекты данных в режиме отладки

 

© 2006 г. SAP AG All rights reserved. Авторские

119

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

Урок: Работа с внутренними таблицами

Обзор урока

На этом уроке рассматриваются способы определения внутренних таблиц и их использования в ABAP-программах. После этого выполняется анализ внутренних таблиц в ABAP-отладчике во время выполнения.

Цели урока

Прослушав этот урок, вы сможете

определять внутренние таблицы

использовать базисные ABAP-операторы с внутренними таблицами

анализировать внутренние таблицы в режиме отладки

Практический пример

Предполагается использовать табличные переменные в качестве хранилищ данных для программ с последующим поиском семантических ошибок в этих программах посредством ABAP-отладчика.

Работа с внутренними таблицами

Рисунок 69: Внутренние таблицы: варианты использования

120

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]