Структуры
Структура может включать в себя элементарные типы данных, другие структуры или табличные типы. Структуры могут быть вложены на любую глубину. Структуры позволяют централизованно поддерживать поля, когда аналогичные поля используются в нескольких объектах (например, программах, интерфейсах функциональных модулей и т. д.).
Структура – набор полей с указанием типов данных, средств
поиска и ссылочных таблиц. По своей сути, структура это слепок одной записи
таблицы. То есть, таблица физически хранит какие-то данные в базе данных и
таких данных может быть много. Структура хранится только в памяти программы и
всегда содержит только одну запись данных.
Компоненты структуры могут включать в себя элементарные типы, ссылочные типы или упакованные типы.
Элементарные типы(Elementary types) можно определить, обратившись к элементу данных, от которого тип может получить технические и семантические атрибуты, или к предварительно определенному типу, для которого тип данных, длина и любые десятичные знаки назначаются вручную.
Ссылочные типы(Referenced types) могут быть определены либо как ссылки на данные, либо как ссылки на объекты. Ссылки на данные можно указать с помощью элемента данных, который определяет ссылку на данные, или с помощью предопределенного словаря данных ABAP типа, длины и любых десятичных знаков. Ссылки на объекты можно указать с помощью элемента данных с глобальной ссылкой на класс или интерфейс.
Упакованный тип(Boxed types) могут быть определены в структуре SAP NetWeaver 7.0 EHP 2. Упакованный типы помогают уменьшить объем памяти в программах ABAP и повысить производительность. При использовании система не выделяет начальную память. Память выделяется одной структуре, и все данные подобного типа указывают на эту память, в отличие от структуры с элементарными типами, в которой каждый объект данных типа занимает свое собственное начальное пространство памяти. Это называется разделением первоначальной ценности. Память распределяется между несколькими объектами данных, которые используют этот тип.
Ссылочные типы не занимают начального места в памяти, поэтому упакованные типы находятся где-то между элементарными и ссылочными типами. Другими словами, начальная память упакованного типов намного меньше, чем у элементарных типов, но больше, чем у ссылочных типов.
Эффективность упакованной структуры обусловлена начальным разделением значений, при котором все вхождения похожих данных ссылаются на одну и ту же начальную память. Однако первоначальное совместное использование отменяется при следующих обстоятельствах:
-Во время присвоения ссылочному полю (Field Symbols)
-Когда компонент передается в любую из подпрограмм (процедуры и т.п.)
-Когда мы получаем доступ через ссылочную переменною (GET REFERENCE OF)
Операторы CLEAR и FREE не возвращают упакованные компоненты в первоначальное состояние (не сбрасывают выделенную память), а только приводят их компоненты в исходное (initial) состояние.
Комментарии
Отправить комментарий