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

n В момент INITIALIZATION вы можете установить значения по умолчанию для экрана выбора.
n Поля для выбора данных определены в структуре QPPNP, для поля PNPTIMED возможны следующие значения:
D = контрольная дата
M = месяц
Y = год
P = прошлый период вплоть до текущей даты
F = будущий период, начиная с текущей даты.
n Поля для выбора лиц определены в Include-программе DBPNPSEL. В данном случае речь идет о внутренних таблицах, которые нужно заполнять с помощью APPEND.

n Стандартная последовательность сортировки - в восходящем порядке по табельным номерам.
n Функциональная клавиша Сортировать позволяет сортировать данные аналитического отчета по организационным критериям.
n Опция сортировки делает возможной, например, иерархическую сортировку списка по подразделам персонала и исполнителям, а также сортировку сотрудников по алфавиту.
n Для сортировки подходят все поля инфо-типа "Oрганизационное присвоение". Последовательность сортировки определяется пользователем.
n Для аналитических отчетов, относящихся к определенному периоду, можно выбрать различные типы сортировки.
n Если выбор был произведен по коду поиска, то табельные номера будут сортироваться в последовательности кода поиска.
n Если отчету в атрибутах присваивается класс (например ___X2001), который разрешает доступ через организационную структуру, то данные персонала будут выводиться согласно выбранной организационной структуре.

n Вы можете определить способ выбора данных для Ваших отчетов с помощью IMG. Перечисленные ниже опции доступа могут использоваться как для диалоговой, так и для фоновой обработки:
n 1 Поля выбора логической базы данных за исключением соединенных полей передаются непосредственно в базу данных.
n 2 При выборке массива выполняется массовое обращение к базе данных. Благодаря этому сокращается число физических обращений к базе данных и повышается скорость обработки.
3 Комбинация опций 1 и 2 дает наивысшую производительность.
n Для опций 1 и 3 необходимо проверить, имеются ли необходимые системные предпосылки (база данных, профили базы данных).
n Если выбраны опции 2 и 3, то отчет занимает больше места в оперативной памяти, поскольку при этом используются более крупные внутренние таблицы.





n Аналитические отчеты могут быть закодированы либо по отдельности, то есть каждый инфо-тип обрабатывается в собственном цикле PROVIDE, либо по нескольким инфо-типам, то есть в одном цикле PROVIDE могут быть одновременно представлены и обработаны данные из двух или более инфо-типов. Для этого в качестве источника данных необходимо перечислить инфо-типы, подлежащие обработке.
n Поскольку все данные персонала со временем могут меняться, при соединении данных инфо-типов (JOIN), необходимо учитывать зависимость от времени. Данные персонала действительны не всегда, а только в течение периода действия.
n Поэтому результатом СОЕДИНЕНИЯ будет являться один или несколько интервалов, в которых действительны данные обоих инфо-типов.
n При анализе по контрольной дате в одной записи данных предоставляются действительные на текущий момент данные обоих инфо-типов.
n Практически СОЕДИНЕНИЕ является логической операцией базы данных на оси времени. На основании периодов, заданных для соединяемых инфо-типов, образуются новые периоды, в которых действительны все данные, то есть образуются новые записи инфо-типов. Это позволяет выявить временные взаимосвязи между инфо-типами.

n В ракурсе СОЕДИНЕНИЕ можно комбинировать любое количество инфо-типов.
n Следует учитывать, что любое изменение в одном из соединяемых инфо-типов ведет к разделению периода выбора.

n Каждый инфо-тип или подтип снабжен временной привязкой.
Привязка 1: сохранение без пропусков времени и без перекрытий
Привязка 2: сохранение с пропусками времени без перекрытий,
без двойного наложения
Привязка 3: допускаются пропуски и перекрытия
n Временную привязку инфо-типа можно определить в редакторе следующим образом:
Вызовите с помощью функций Утилиты à Справка по... справку по инфо-типам и введите четырехзначный номер инфо-типа. Затем выберите просмотр таблицы инфо-типов. Если временная привязка помечена знаком ‚T‘, это значит, что она записана в таблицу подтипов T591A.
n Если для инфо-типа в один момент времени или в одном периоде имеется несколько действующих записей (временная привязка 3), то невозможно решить, какие данные действительны для субинтервала соединения. Из этого следует ограничение для соединения: данные соединяемых инфо-типов в любой момент времени должны быть однозначно определены.
n Таким образом, соединение возможно только для инфо-типов с временной привязкой 1 или 2.

n Если инфо-типы СОЕДИНЕНИЯ имеют подтипы, то обработка ограничивается одним подтипом. Это происходит с условием WHERE, в котором запрашивается подтип.
n В этом примере в первом субинтервале представлены исключительно данные сотрудников. Запись является несодержательной, поскольку задача соединения - представить данные из всех участвующих инфо-типов - не выполнена.
n С помощью переменной Pnnnn_VALID можно обнаружить, что в субинтервале представлены только неполные данные.
n Во время выполнения отчета эта переменная образуется для каждого инфо-типа Pnnnn, который участвует в соединении.
n Если в субинтервале имеются данные для инфо-типа Pnnnn, то его переменная Pnnnn_VALID содержит в себе X.

n Выбор одного или нескольких полей одного инфо-типа для обработки называется ПРОЕКЦИЕЙ.
n Проекция на определенные поля устанавливает, что для анализа интересны только содержание этих полей и изменения этого содержания во времени.
n Проекция как и соединение - это логический ракурс данных, направленный на одно или несколько полей одного инфо-типа.
n Проекцию можно также рассматривать как операцию на оси времени. В тех случаях, когда изменяется содержание одного из полей проекции, образуются новые периоды действия. Значения полей, не включенных в проекцию, находятся в неопределенном состоянии, то есть они больше нерелевантны для вывода.
n Если содержание одного из полей проекции не изменяется в рамках нескольких записей данных, то периоды действия этих записей объединяются.
n Вид проекции, при котором записи данных сжимаются, называется сжатие.

n Вместо символа * в операторе PROVIDE, который обозначает все поля инфо-типа, используются пятизначные имена тех полей инфо-типа, на которые выполняется проекция.
n Символ * при простом PROVIDE означает, что проекция выполняется на все поля инфо-типа.
n Оператор PROVIDE может объединять соединение и проекцию.
n Также как и при соединении записи инфо-типа в проекции не должны перекрываться по времени. Данные должны быть однозначными. Это значит, что проекция допустима только для временных привязок 1 и 2.
n Логический период действия определяется данными в полях инфо-типа BEGDA и ENDDA.

n Оба логических ракурса данных инфо-типа, Соединение и Проекция, могут быть объединены.
n При этом данные совместно считываются из нескольких инфо-типов и, таким образом, создаются новые неполные периоды. Поскольку из инфо-типов выбираются только важные для анализа поля, неполные периоды снова группируются.
n Таким образом, периоды действия, связанные по содержанию, объединяются; отчет включает в себя данные соответствующих полей инфо-типов за определенный период времени.

n Для быстрого ввода данных и экономии места при сохранении данные инфо-типов, как правило, кодируются в виде ключей (например: инфо-тип P0001, ключ должности). При обработке инфо-типа тексты или атрибуты ключей считываются из соответствующих управляющих таблиц.
n В управляющих таблицах данные хранятся в зависимости от времени. То есть, эти данные имеют период действия.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 |


