Документация 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
FUNCTION OpStart(sName VARCHAR2) RETURN PLS_INTEGER;
Описание
Инициализирует запись операции, возвращая 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
FUNCTION OpIsActive(iID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает 1, если операция активна.
OpIsAborted
FUNCTION OpIsAborted(iID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает 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
Описание
Инициализирует протоколирование в CLOB и возвращает инициализированную запись протокола.
CloseLogFile
Описание
Закрывает протокол. Если протоколирование ведётся в файл, закрывает файл протокола, иначе возникает 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
Описание
Пишет строку-разделитель в CLOB.
Параметры:
- cLog - CLOB с данными протокола;
- iKind - вид разделителя.
LogWriteSeparator
Описание
Пишет строку-разделитель в протокол.
Параметры:
- Log - протокол серверной операции;
- iKind - вид разделителя.
LogWriteStrings
Описание
Записывает строки в протокол. Если была записана хотя бы одна строка, в конце выполняется FFlush.
LogWriteStrings
Описание
Записывает строки в CLOB.
LogWriteStrings
Описание
Записывает строки в протокол. Если запись ведётся в файл и была записана хотя бы одна строка, в конце выполняется FFlush.
LogStart
Описание
Пишет в протокол информацию о старте.
Параметры:
- hFile - дескриптор файла протокола;
- sOpName - отображаемое наименование задачи.
Функция дополнительно инициализирует параметры состояния задачи и возвращает новый распределённый ID задачи.
LogStart
FUNCTION LogStart(hFile UTL_FILE.File_Type, sOpName VARCHAR2) RETURN PLS_INTEGER;
LogStart
Описание
То же, но запись осуществляется в CLOB.
LogStart
LogStart
Описание
То же, но запись осуществляется в TServerOpLog.
LogStart
LogFinish
PROCEDURE LogFinish(hFile UTL_FILE.File_Type, iOpID PLS_INTEGER, sErrMessage VARCHAR2 := NULL);
Описание
Сигнализирует о завершении задачи (записывает соответствующие значения в параметры состояния задачи) и записывает
в протокол итоги и время обработки.
Параметры:
- hFile - дескриптор файла протокола;
- iOpID - ID задачи; если null, запись статуса задачи в БД не обновляется;
- sErrMessage - сообщение об ошибке; если оно имеется и задача завершена со сбоями, то выводится вместо стандартного сообщения «Задача завершена со сбоями».
LogFinish
Описание
Сигнализирует о завершении задачи (записывает соответствующие значения в параметры состояния задачи) и записывает
в протокол итоги и время обработки.
Параметры:
- 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
Описание
Форматирует TimeStamp для протокола.