Документация iSZN

pkServerOps.sql

Сообщения об ошибках

Error_NoServerOp

PROCEDURE Error_NoServerOp(iRegionID PLS_INTEGER, iServerOpID PLS_INTEGER);

Описание

Генерирует exception «Серверная операция не существует».

Error_NoParam

PROCEDURE Error_NoParam(iRegionID PLS_INTEGER, iParamID PLS_INTEGER);

Описание

Генерирует exception «Параметр не существует».

Error_NoParamWithName

PROCEDURE Error_NoParamWithName(iRegionID PLS_INTEGER, iServerOpID PLS_INTEGER, sParamName VARCHAR2);

Описание

Генерирует exception «Параметр с заданным именем не существует».

Error_InvalidLogKind

PROCEDURE Error_InvalidLogKind(iLogKind PLS_INTEGER);

Описание

Вызывает exception “Недопустимый вид протокола”.

Получение наименований различных объектов.

GetServerOpName

FUNCTION GetServerOpName(iRegionID PLS_INTEGER, iServerOpID PLS_INTEGER, iNameKind PLS_INTEGER, iDisplayMode PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование серверной операции.
Параметры:

  • iRegionID, iServerOpID - ключ серверной операции;
  • iNameKind - вид наименования: 1 - наименование; 2 - краткое наименование;
  • iDisplayMode - определяет формат вывода (см. uszn.pkGen.FormatNameWithRKey);
  • iStrict - определяет поведение при отсутствии серверной операции.

GetParamName

FUNCTION GetParamName(iRegionID PLS_INTEGER, iParamID PLS_INTEGER, iNameKind PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование параметра серверной операции.
Параметры:

  • iRegionID, iParamID - ключ параметра;
  • iNameKind - вид наименования: 1 - наименование; 2 - отображаемое наименование;
  • iStrict - определяет поведение при отсутствии параметра.

Работа с таблицей состояния операции (r$_server_operation_progress)

OpCleanup

PROCEDURE OpCleanup;

Описание

Помечает неактивными закончившиеся операции (операции, сессии которых неактивны).

OpStart

Описание

Инициализирует запись операции, возвращая ID созданной записи. Должна вызываться в начале операции или отдельной её стадии.

OpSetProgress

PROCEDURE OpSetProgress(iID PLS_INTEGER, iCountTotal PLS_INTEGER, iCountDone PLS_INTEGER);

Описание

Обновляет прогресс операции. Если iCountDone>iCountTotal, то iCountDone приравнивается iCountTotal.

OpSetRegionID

PROCEDURE OpSetRegionID(iID PLS_INTEGER, iOpRegionID PLS_INTEGER);

Описание

Обновляет ID района операции.

OpSetMessage

PROCEDURE OpSetMessage(iID PLS_INTEGER, sMessage VARCHAR2);

Описание

Обновляет сообщение операции.

OpSetFailureMessage

PROCEDURE OpSetFailureMessage(iID PLS_INTEGER, sMessage VARCHAR2);

Описание

Приращивает счётчик сбоев и обновляет сообщение операции.

OpFinish

PROCEDURE OpFinish(iID PLS_INTEGER);

Описание

Сигнализирует об окончании операции.

OpAbort

PROCEDURE OpAbort(iID PLS_INTEGER);

Описание

Сигнализирует о необходимости прерывания операции.

OpIsActive

Описание

Возвращает 1, если операция активна.

OpIsAborted

Описание

Возвращает 1, если операции подан сигнал прерывания пользователем.

OpGetData

FUNCTION OpGetData(iID PLS_INTEGER) RETURN TServerOpProgressData;

Описание

Возвращает все данные записи из r$_server_operation_progress.

OpGetFailCount

FUNCTION OpGetFailCount(iID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает количество сбоев, произошедших при выполнении операции.

Работа с блокировками

OpLockRegion

PROCEDURE OpLockRegion(iOpRegionID PLS_INTEGER, iOpID PLS_INTEGER, iProcRegionID PLS_INTEGER);

Описание

Устанавливает блокировку для серверной операции в заданном районе.
Параметры:

  • iOpRegionID, iOpID - ключ серверной операции;
  • iProcRegionID - ID района, который требуется заблокировать.

Если район уже заблокирован или серверная операция не существует, возникает exception.

OpLockRegions

PROCEDURE OpLockRegions(iOpRegionID PLS_INTEGER, iOpID PLS_INTEGER, iiProcRegionIDs uszn.TIntegerList);

Описание

Устанавливает блокировку для серверной операции в заданных районах.
Параметры:

  • iOpRegionID, iOpID - ключ серверной операции;
  • iiProcRegionIDs - список ID районов, которые требуется заблокировать.

Если какой-нибудь из этих районов уже заблокирован или серверная операция не существует, возникает exception.

OpUnlockRegion

PROCEDURE OpUnlockRegion(iOpRegionID PLS_INTEGER, iOpID PLS_INTEGER, iProcRegionID PLS_INTEGER);

Описание

Снимает блокировку для серверной операции в заданных районах для текущей сессии.
Параметры:

  • iOpRegionID, iOpID - ключ серверной операции;
  • iProcRegionID - ID района, который требуется разблокровать.

OpUnlockRegions

PROCEDURE OpUnlockRegions(iOpRegionID PLS_INTEGER, iOpID PLS_INTEGER, iiProcRegionIDs uszn.TIntegerList);

Описание

Снимает блокировку для серверной операции в заданных районах для текущей сессии.
Параметры:

  • iOpRegionID, iOpID - ключ серверной операции;
  • iiProcRegionIDs - список ID районов, которые требуется разблокровать.

Если iiProcRegionIDs=null, блокировка снимается со всех районов.

Работа с файлами протокола

OpenLogFile

FUNCTION OpenLogFile(sFileDir VARCHAR2, sFileName VARCHAR2, bAutoFlush BOOLEAN := TRUE, sFileMode VARCHAR2 := 'a') RETURN TServerOpLog;

Описание

Инициализирует протоколирование в файл.
Параметры:

  • sFileDir - каталог для файла протокола; в настоящее время это должен быть каталог UTL_FILE_DIR;
  • sFileName - имя файла протокола;
  • bAutoFlush - выполняется ли Flush при записи очередной строки в протокол;
  • sFileMode - режим открытия файла (см. Utl_File.FOpen).

Открывает файл протокола и возвращает инициализированную запись протокола.

OpenLogClob

FUNCTION OpenLogClob RETURN TServerOpLog;

Описание

Инициализирует протоколирование в CLOB и возвращает инициализированную запись протокола.

CloseLogFile

PROCEDURE CloseLogFile(LOG IN OUT NOCOPY TServerOpLog);

Описание

Закрывает протокол. Если протоколирование ведётся в файл, закрывает файл протокола, иначе возникает exception.

LogFormatString

FUNCTION LogFormatString(sString VARCHAR2, bTimeStamp BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Форматирует строку для записи в протокол.

GetSeparatorString

FUNCTION GetSeparatorString(iKind PLS_INTEGER := NULL) RETURN VARCHAR2;

Описание

Возвращает строку-разделитель заданного вида.
Параметры:

  • iKind - вид разделителя: null - просто перенос строки; 1 - строка из «-»; 2 - строка из «=»; 3 - строка из «*»; 4 - строка из «#»;.

LogWriteString

PROCEDURE LogWriteString(hFile UTL_FILE.File_Type, sString VARCHAR2, bTimeStamp BOOLEAN := TRUE, bFlush BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Пишет строку в файл протокола.
Параметры:

  • hFile - дескриптор файла протокола;
  • sString - записываемая строка;
  • bTimeStamp - True, если нужно писать дату/время;
  • bFlush - True, если нужно выполнять FFlush после вывода строки;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

LogWriteString

PROCEDURE LogWriteString(cLog IN OUT NOCOPY CLOB, sString VARCHAR2, bTimeStamp BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Пишет строку в CLOB.
Параметры:

  • cLog - CLOB с данными протокола;
  • sString - записываемая строка;
  • bTimeStamp - True, если нужно писать дату/время;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

LogWriteString

PROCEDURE LogWriteString(LOG IN OUT NOCOPY TServerOpLog, sString VARCHAR2, bTimeStamp BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Пишет строку в протокол.
Параметры:

  • Log - протокол серверной операции;
  • sString - записываемая строка;
  • bTimeStamp - True, если нужно писать дату/время;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

LogWriteSeparator

PROCEDURE LogWriteSeparator(hFile UTL_FILE.File_Type, iKind PLS_INTEGER := NULL, bFlush BOOLEAN := FALSE);

Описание

Пишет строку-разделитель в файл протокола.
Параметры:

  • hFile - дескриптор файла протокола;
  • iKind - вид разделителя.

LogWriteSeparator

PROCEDURE LogWriteSeparator(cLog IN OUT NOCOPY CLOB, iKind PLS_INTEGER := NULL);

Описание

Пишет строку-разделитель в CLOB.
Параметры:

  • cLog - CLOB с данными протокола;
  • iKind - вид разделителя.

LogWriteSeparator

PROCEDURE LogWriteSeparator(LOG IN OUT NOCOPY TServerOpLog, iKind PLS_INTEGER := NULL);

Описание

Пишет строку-разделитель в протокол.
Параметры:

  • Log - протокол серверной операции;
  • iKind - вид разделителя.

LogWriteStrings

PROCEDURE LogWriteStrings(hFile UTL_FILE.File_Type, Strings IN uszn.pkGen.TStrings4000);

Описание

Записывает строки в протокол. Если была записана хотя бы одна строка, в конце выполняется FFlush.

LogWriteStrings

PROCEDURE LogWriteStrings(cLog IN OUT NOCOPY CLOB, Strings IN uszn.pkGen.TStrings4000);

Описание

Записывает строки в CLOB.

LogWriteStrings

PROCEDURE LogWriteStrings(LOG IN OUT NOCOPY TServerOpLog, Strings IN uszn.pkGen.TStrings4000);

Описание

Записывает строки в протокол. Если запись ведётся в файл и была записана хотя бы одна строка, в конце выполняется FFlush.

LogStart

PROCEDURE LogStart(hFile UTL_FILE.File_Type, sOpName VARCHAR2);

Описание

Пишет в протокол информацию о старте.
Параметры:

  • hFile - дескриптор файла протокола;
  • sOpName - отображаемое наименование задачи.

Функция дополнительно инициализирует параметры состояния задачи и возвращает новый распределённый ID задачи.

LogStart

FUNCTION LogStart(hFile UTL_FILE.File_Type, sOpName VARCHAR2) RETURN PLS_INTEGER;

LogStart

PROCEDURE LogStart(cLog IN OUT NOCOPY CLOB, sOpName VARCHAR2);

Описание

То же, но запись осуществляется в CLOB.

LogStart

FUNCTION LogStart(cLog IN OUT NOCOPY CLOB, sOpName VARCHAR2) RETURN PLS_INTEGER;

LogStart

PROCEDURE LogStart(LOG IN OUT NOCOPY TServerOpLog, sOpName VARCHAR2);

Описание

То же, но запись осуществляется в TServerOpLog.

LogStart

FUNCTION LogStart(LOG IN OUT NOCOPY TServerOpLog, sOpName VARCHAR2) RETURN PLS_INTEGER;

LogFinish

PROCEDURE LogFinish(hFile UTL_FILE.File_Type, iOpID PLS_INTEGER, sErrMessage VARCHAR2 := NULL);

Описание

Сигнализирует о завершении задачи (записывает соответствующие значения в параметры состояния задачи) и записывает
в протокол итоги и время обработки.
Параметры:

  • hFile - дескриптор файла протокола;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sErrMessage - сообщение об ошибке; если оно имеется и задача завершена со сбоями, то выводится вместо стандартного сообщения «Задача завершена со сбоями».

LogFinish

PROCEDURE LogFinish(cLog IN OUT NOCOPY CLOB, iOpID PLS_INTEGER, sErrMessage VARCHAR2 := NULL);

Описание

Сигнализирует о завершении задачи (записывает соответствующие значения в параметры состояния задачи) и записывает
в протокол итоги и время обработки.
Параметры:

  • cLog - данные протокола;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sErrMessage - сообщение об ошибке; если оно имеется и задача завершена со сбоями, то выводится вместо стандартного сообщения «Задача завершена со сбоями».

LogFinish

PROCEDURE LogFinish(LOG IN OUT NOCOPY TServerOpLog, iOpID PLS_INTEGER, sErrMessage VARCHAR2 := NULL);

Описание

Сигнализирует о завершении задачи (записывает соответствующие значения в параметры состояния задачи) и записывает
в протокол итоги и время обработки.
Параметры:

  • Log - протокол серверной операции;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sErrMessage - сообщение об ошибке; если оно имеется и задача завершена со сбоями, то выводится вместо стандартного сообщения «Задача завершена со сбоями».

LogWriteMessage

PROCEDURE LogWriteMessage(hFile UTL_FILE.File_Type, iOpID PLS_INTEGER, sMessage VARCHAR2, bTimeStamp BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Выводит в протокол сообщение и устанавливает его для операции. При этом выполняется Flush.
Параметры:

  • hFile - дескриптор файла протокола;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sMessage - текст сообщения;
  • bTimeStamp - True, если нужно писать дату/время;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

LogWriteMessage

PROCEDURE LogWriteMessage(cLog IN OUT NOCOPY CLOB, iOpID PLS_INTEGER, sMessage VARCHAR2, bTimeStamp BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Выводит в протокол сообщение и устанавливает его для операции.
Параметры:

  • cLog - данные протокола;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sMessage - текст сообщения;
  • bTimeStamp - True, если нужно писать дату/время;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

LogWriteMessage

PROCEDURE LogWriteMessage(LOG IN OUT NOCOPY TServerOpLog, iOpID PLS_INTEGER, sMessage VARCHAR2, bTimeStamp BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Выводит в протокол сообщение и устанавливает его для операции. Если протоколирование осуществляется в файл,
выполняется Flush.
Параметры:

  • Log - протокол серверной операции;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sMessage - текст сообщения;
  • bTimeStamp - True, если нужно писать дату/время;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

LogWriteFailureInfo

PROCEDURE LogWriteFailureInfo(hFile UTL_FILE.File_Type, iOpID PLS_INTEGER, sErrMsg VARCHAR2, bTimeStamp BOOLEAN := TRUE, bFlush BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Выводит в протокол сообщение об ошибке, приращивая счётчик сбоев в таблице статуса.
Параметры:

  • hFile - дескриптор файла протокола;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sErrMsg - текст сообщения об ошибке;
  • bTimeStamp - True, если нужно писать дату/время;
  • bFlush - True, если нужно выполнять FFlush после вывода строки;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

LogWriteFailureInfo

PROCEDURE LogWriteFailureInfo(cLog IN OUT NOCOPY CLOB, iOpID PLS_INTEGER, sErrMsg VARCHAR2, bTimeStamp BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Выводит в протокол сообщение об ошибке, приращивая счётчик сбоев в таблице статуса.
Параметры:

  • cLog - данные протокола;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sErrMsg - текст сообщения об ошибке;
  • bTimeStamp - True, если нужно писать дату/время;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

LogWriteFailureInfo

PROCEDURE LogWriteFailureInfo(LOG IN OUT NOCOPY TServerOpLog, iOpID PLS_INTEGER, sErrMsg VARCHAR2, bTimeStamp BOOLEAN := TRUE, iLogLevel PLS_INTEGER := 0);

Описание

Выводит в протокол сообщение об ошибке, приращивая счётчик сбоев в таблице статуса.
Параметры:

  • Log - протокол серверной операции;
  • iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
  • sErrMsg - текст сообщения об ошибке;
  • bTimeStamp - True, если нужно писать дату/время;
  • iLogLevel - уровень вложенности (количество добавляемых табуляций).

Работа с параметрами серверных операций

GetParamID

FUNCTION GetParamID(iRegionID PLS_INTEGER, iServerOpID PLS_INTEGER, sParamName VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID параметра серверной операции по его имени.
Параметры:

  • iRegionID, iServerOpID - ключ серверной операции;
  • sParamName - имя параметра;
  • iStrict - определяет поведение функции при отсутствии параметра.

GetParamValueName

FUNCTION GetParamValueName(iRegionID PLS_INTEGER, iParamID PLS_INTEGER, iValueID PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование значения параметра серверной операции по его ID.
Параметры:

  • iRegionID, iParamID - ключ параметра;
  • iValueID - значение параметра.

Поддерживаются следующие типы данных:

  • Logical;
  • PickList;
  • MultiPickList;
  • LookupID;
  • MultiLookupID.

Для остальных типов данных вызывается exception.
Если значение iValueID=null, для поддерживаемых типов данных возвращает null.

GetParamValueName

FUNCTION GetParamValueName(iRegionID PLS_INTEGER, iParamID PLS_INTEGER, VALUE uszn.TRgnKey, iRgnPrefixType PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Аналогична предыдущей, но используется для типа данных LookupRKey и MultiLookupRKey.
Дополнительный параметр:

  • iRgnPrefixType - вид регионального префикса: 0 - отсутствует; 1 - есть только у районов, отличных от 0; 2 - есть у всех районов.

GetParamValueName

FUNCTION GetParamValueName(iRegionID PLS_INTEGER, iServerOpID PLS_INTEGER, sParamName VARCHAR2, iValueID PLS_INTEGER) RETURN VARCHAR2;

Описание

Аналогичны предыдущим, но поиск параметра производится по имени.

GetParamValueName

FUNCTION GetParamValueName(iRegionID PLS_INTEGER, iServerOpID PLS_INTEGER, sParamName VARCHAR2, VALUE uszn.TRgnKey, iRgnPrefixType PLS_INTEGER := 0) RETURN VARCHAR2;

Разное

ValidateDatabaseState

PROCEDURE ValidateDatabaseState(iCheckConstraintsEnabled PLS_INTEGER);

Описание

Проверяет состояние БД на пригодность для запуска серверной операции.
При обнаружении проблем вызывает соответствующий exception.
Параметры:

  • iCheckConstraintsEnabled - проверять ли включённость ограничений целостности (0/1).

FormatTimeStamp

FUNCTION FormatTimeStamp(t TIMESTAMP) RETURN VARCHAR2;

Описание

Форматирует TimeStamp для протокола.