Домены

ABAP Домены

Домены

Домен – объект словаря данных, задающий область допустимых значений, тип данных и формат вывода для поля. Домен описывает данные с технической точки зрения. С помощью домена мы определяем длину поля, тип, свойства вывода, подпрограмму преобразования, диапазон возможных значений. 

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

Вкладка «Определение»


Формат:

-Тип данных. Базовый тип данных для домена.

-Число позиций. Общее число позиций, включая десятичные разряды. Например, если позиций 5, а десятичных разрядов 2, то мы имеем десятичное число формата 123.45 Три позиций целочисленной части и две позиции дробной части.

Свойства вывода. 
Определяют, как поля, относящиеся к элементу данных, который использует этот домен, отображаются на экранах или при использовании оператора WRITE. В разделе находятся следующие параметры:

-Длина вывода: значение длины вывода определяется на основе выбранного типа элементарных данных. Это значение можно переопределить, сохранив значение в этом поле. Выходная длина поля должна определяться на основе любых символов форматирования в поле. Например, для поля даты внутренняя длина равна 8 (ГГГГММДД), но выходная длина должна быть больше, чтобы вместить любые разделители (ДД-ММ-ГГГГ).

-Ausgabestil. Стиль вывода домену, представляющему собой десятичную дробь с плавающей запятой, следует назначить стиль вывода, выбрав один из доступных вариантов. С помощью стиля вывода вы определяете, используется ли "коммерческая запись" (добавляется знак), "математическая запись" (добавляется знак) или одна из трех возможных экспоненциальных записей.

-Подпрограммы преобразования. Подпрограммы преобразования (также называемые выходами преобразования) — это специальные функциональные модули, созданные с использованием соглашений об именах CONVERSION_EXIT_XXXXX_INPUT и CONVERSION_EXIT_XXXX_OUTPUT, где XXXXX — пятизначное имя процедуры преобразования.

Для каждой процедуры преобразования существуют функциональные модули ввода и вывода. Если поле экрана ссылается на элемент данных, к которому привязан этот домен, и если процедура преобразования поддерживается для домена, то функциональный модуль _INPUT вызывается для каждого ввода на экране, а функциональный модуль _OUTPUT вызывается для вывода на экран. Это позволяет преобразовывать данные во внутренние и внешние форматы.

Например, пользователь вводит дату во внешнем формате (ДД-ММ-ГГГГ), и это значение передается процедуре преобразования (функциональный модуль _INPUT), которая преобразует дату во внутренний формат (ГГГГММДД), используемый программой. может использоваться внутри (скажем, в предложении select WHERE). Когда эта дата выводится на экран, она преобразуется во внешний формат (функциональный модуль _OUTPUT) и отображается пользователю.

В этом поле можно сохранить пятисимвольное имя процедуры преобразования. Имя подпрограммы преобразования также может быть назначено непосредственно полям экрана. Если вы хотите создать пользовательскую процедуру преобразования, вы можете сделать это в построителе функций, следуя соглашению об именах для процедур преобразования. Функциональные модули выхода преобразования должны иметь один обязательный параметр в качестве ВХОДА и один обязательный параметр в качестве ВЫХОДА. Входной параметр будет принимать значение, а выходной параметр будет отдавать преобразованное значение.

Знак числа: Если тип данных является числовым, то этот параметр можно выбрать, чтобы отображать отрицательный знак для отрицательных значений на экранах.

Строчные буквы: для полей символьного типа установка этого параметра гарантирует, что значение не будет преобразовано в верхний регистр. Например, когда вы вводите значение в поле экрана выбора, значение автоматически преобразуется в верхний регистр при передаче в программу. Когда вы устанавливаете это значение в домене поля, значение не будет преобразовано и будет передано как есть в поле программы.

Формат времени: для полей времени (типа TIMS) формат времени может быть установлен как 12-часовой или 24-часовой формат.

Вкладка «Диапазон значений»

Вкладка Диапазон значений позволяет вам сохранить диапазон значений для полей, которые ссылаются на элементы данных, к которым привязан домен. Здесь вы можете установить фиксированные значения, интервалы (диапазон значений) или их комбинацию. Диапазон значений может быть определен для элементарных типов данных CHAR, NUMC, DEC, INT1, INT2 и INT4. Для полей типа CHAR и NUMC диапазон значений указывает допустимые входные значения для экранных полей, которые относятся к элементу данных, к которому привязан домен.

К полю ввода не привязана помощь по поиску; диапазон значений отображается в качестве справки по вводу. Диапазон значений игнорируется для содержимого объектов данных в программах ABAP и полях базы данных. Краткий текст может сохраняться для каждого отдельного значения и затем отображаться в справке по вводу, если для справки по вводу используется диапазон значений.

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

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

Комментарии