Документация iSZN
pkTSrv.sql
Error_NoRegion
PROCEDURE Error_NoRegion(iRegionID PLS_INTEGER);
Описание
Вызывает exception «Район не найден».
Error_NoUser
Описание
Вызывает exception «Пользователь <UserName> не найден».
Error_NoUser
PROCEDURE Error_NoUser(iID PLS_INTEGER);
Описание
Вызывает exception «Пользователь с ID=... не найден».
Error_NoUserGroup
PROCEDURE Error_NoUserGroup(iID PLS_INTEGER);
Описание
Вызывает exception «Группа пользователей с ID=... не найдена».
Error_NoUserGroup
Описание
Вызывает exception «Группа пользователей с GUID=... не найдена».
Error_NoSysPriv
PROCEDURE Error_NoSysPriv(iSysPrivID PLS_INTEGER);
Описание
Вызывает exception «Системная привилегия не найдена».
Error_NoRole
PROCEDURE Error_NoRole(iRoleID PLS_INTEGER);
Описание
Вызывает exception «Роль не найдена».
Error_NoTask
PROCEDURE Error_NoTask(iTaskID PLS_INTEGER);
Описание
Вызывает exception «Задача с ID=... не найдена».
Error_NotALeafRegion
PROCEDURE Error_NotALeafRegion(iRegionID PLS_INTEGER);
Описание
Вызывает exception «Район не является листьевым».
Районы
GetRegionID
FUNCTION GetRegionID RETURN PLS_INTEGER;
Описание
Возвращает ID района текущего пользователя.
GetRegionName
Описание
Возвращает наименование района текущего пользователя.
GetRegionName
FUNCTION GetRegionName(iID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;
Описание
Возвращает наименование района по его ID. iStrict определяет поведение при отсутствии такого района.
GetRegionNameWithPrefix
FUNCTION GetRegionNameWithPrefix(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование района с префиксом [ddd] по его ID, где ddd - ID района. iStrict определяет поведение при отсутствии такого района.
GetPrefixRegionName
FUNCTION GetPrefixRegionName(iRgnID uszn.tsrv_regions.id%TYPE, iNoZeroRgn PLS_INTEGER := 1) RETURN VARCHAR2;
Описание
Возвращает наименование района iRgnID в квадратных скобках. Если iNoZeroRgn!=0, то для iRgnID=0 возвращает пустую строку.
IsLeafRegion
FUNCTION IsLeafRegion(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает, является ли район листьевым (0/1). Если район не существует, возникает exception.
CheckIsLeafRegion
PROCEDURE CheckIsLeafRegion(iRegionID PLS_INTEGER);
Описание
Проверяет, что указанный район является листьевым, в противном случае вызывает exception. Если район не существует, возникает exception.
GetLowestCommonRgnID
FUNCTION GetLowestCommonRgnID(iiValues uszn.pkGen.TIntegers) RETURN PLS_INTEGER;
Описание
Возвращает ID самого низкого по иерархии района. Если район не согласованы или не существуют, возникает exception. Если список пустой, возвращает null.
Пользователи, роли, привилегии
CheckUserExists
PROCEDURE CheckUserExists(iUserID PLS_INTEGER);
Описание
Проверяет существование пользователя. При отсутствии такого пользователя вызывает exception.
CheckRoleExists
PROCEDURE CheckRoleExists(iRoleID PLS_INTEGER);
Описание
Проверяет существование роли. При отсутствии такой роли вызывает exception.
CheckSysPrivExists
PROCEDURE CheckSysPrivExists(iSysPrivID PLS_INTEGER);
Описание
Проверяет существование системной привилегии. При отсутствии вызывает exception.
GetRoleName
FUNCTION GetRoleName(iRoleID PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает имя роли Системы по её ID.
GetGenericRoleObjPriv
FUNCTION GetGenericRoleObjPriv(iRoleID PLS_INTEGER, sObjName VARCHAR2) RETURN PLS_INTEGER;
Описание
Возвращает базовую привилегию роли iRoleID на объект схемы USZN с именем sObjName:
- 0 = нет;
- 1 = Execute;
- 2 = Read;
- 3 = Write.
GetGenericObjRolePrivs
Описание
Возвращает список базовых привилегий роли iRoleID на объект схемы USZN с именем sObjName.
Список привилегий возвращается в виде: <ID роли>,<привилегия>,..., где значения привилегий равны:
- 1 = Execute;
- 2 = Read;
- 3 = Write.
Список сортируется по ID роли. Выводятся только ненулевые привилегии ролей.
GetGenericRoleObjPrivActual
FUNCTION GetGenericRoleObjPrivActual(iRoleID PLS_INTEGER, sObjOwner VARCHAR2, sObjName VARCHAR2) RETURN PLS_INTEGER;
Описание
Возвращает фактическую базовую привилегию роли iRoleID на объект sObjOwner.sObjName с учётом привилегий,
предоставленных пользователю PUBLIC:
- 0 = нет;
- 1 = Execute;
- 2 = Read;
- 3 = Write.
GetCurUserGenericTableObjPriv
FUNCTION GetCurUserGenericTableObjPriv(sObjOwner VARCHAR2, sObjName VARCHAR2) RETURN PLS_INTEGER;
Описание
Возвращает базовую привилегию текущего пользователя на указанный табличный объект (таблица, представление,
последовательность):
- 0 = нет;
- 1 = чтение (SELECT);
- 2 = запись (любая из INSERT, UPDATE или DELETE).
GetCurUserObjPrivs
FUNCTION GetCurUserObjPrivs(sObjName VARCHAR2) RETURN PLS_INTEGER;
Описание
Возвращает набор привилегий текущего пользователя на указанный объект схемы USZN в виде набора битовых флагов,
объединённых оператором OR:
- 1 = EXECUTE;
- 2 = SELECT;
- 4 = INSERT;
- 8 = DELETE;
- 16 = UPDATE.
Если привилегии отсутствуют, возвращает 0.
GetCurUserGenericObjPriv
FUNCTION GetCurUserGenericObjPriv(sObjName VARCHAR2) RETURN PLS_INTEGER;
Описание
Возвращает базовую привилегию текущего пользователя на указанный объект схемы USZN:
- 0 = нет;
- 1 = Execute;
- 2 = Read;
- 3 = Write.
GetUserSysPriv
FUNCTION GetUserSysPriv(iPrivID PLS_INTEGER, iUserID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает наличие привилегии iPrivID для пользователя iUserID:
0 = нет;
1 = есть;
2 = есть с опцией inheritable (может передавать и отбирать её у других пользователей).
GetUserSysPriv
FUNCTION GetUserSysPriv(sPrivName VARCHAR2, iUserID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
То же самое, но ищет по системному имени привилегии.
GetUserSysPriv
FUNCTION GetUserSysPriv(iPrivID PLS_INTEGER, sUserName VARCHAR2) RETURN PLS_INTEGER;
Описание
То же самое по имени пользователя.
GetUserSysPriv
FUNCTION GetUserSysPriv(sPrivName VARCHAR2, sUserName VARCHAR2) RETURN PLS_INTEGER;
GetCurUserSysPriv
FUNCTION GetCurUserSysPriv(iPrivID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
То же самое для текущего пользователя.
GetCurUserSysPriv
FUNCTION GetCurUserSysPriv(sPrivName VARCHAR2) RETURN PLS_INTEGER;
IsSysPrivManaged
FUNCTION IsSysPrivManaged(iPrivID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает, может ли текущий пользователь изменять указанную системную привилегию пользователям (0/1).
SetUserSysPriv
PROCEDURE SetUserSysPriv(iPrivID PLS_INTEGER, iUserID PLS_INTEGER, iNewPriv PLS_INTEGER);
Описание
Устанавливает привилегию iPrivID для пользователя iRegionID-iUserID. Если iNewPriv:
= 0 - удаляет
= 1 - устанавливает без опции inheritable
= 2 - устанавливает с опцией inheritable.
CheckSysPriv
PROCEDURE CheckSysPriv(iPrivID PLS_INTEGER, sOperation VARCHAR2 := NULL);
Описание
Проверяет наличие привилегии у текущего пользователя, и если её нет, вызывает Exception «Недостаточно привилегий».
CheckSysPriv
CheckUser
Описание
Проверяет, что текущий пользователь - указанный.
GetUserID
FUNCTION GetUserID(sUserName VARCHAR2 := NULL) RETURN PLS_INTEGER;
Описание
Возвращает ID пользователя по его имени. Если sUserName=null, то возвращает ID текущего пользователя. Если
- пользователь с заданным именем не найден, вызывает exception.
GetUserRegionID
FUNCTION GetUserRegionID(sUserName VARCHAR2) RETURN PLS_INTEGER;
Описание
Возвращает ID района пользователя по его имени. Если пользователь с заданным именем не найден, вызывает exception.
GetUserRegionID
FUNCTION GetUserRegionID(iID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID района пользователя по его ID. Если пользователь с заданным ID не найден, вызывает exception.
GetUserName
FUNCTION GetUserName(iID PLS_INTEGER := NULL) RETURN VARCHAR2;
Описание
Возвращает имя пользователя СУБД по ID пользователя Системы. Если ID пользователя=null, то возвращает имя текущего пользователя. Если пользователь с заданным ключом не найден, вызывает exception.
GetUserFIOPost
Описание
Возвращает Фамилию И. О. (должность) пользователя СУБД или sUserName, если такой пользователь в
- Системе не зарегистрирован.
GetUserFIO
Описание
Возвращает Фамилию И. О. пользователя СУБД или sUserName, если такой пользователь в Системе не
- зарегистрирован.
GetUserPost
Описание
Возвращает должность пользователя СУБД или null, если такой пользователь в Системе не зарегистрирован.
GetUserEmail
Описание
Возвращает email пользователя СУБД или null, если такой пользователь в Системе не зарегистрирован.
GetUserPhones
Описание
Возвращает телефоны пользователя СУБД или null, если такой пользователь в Системе не зарегистрирован.
IsRoleGrantedToUser
FUNCTION IsRoleGrantedToUser(iRoleID PLS_INTEGER, sUserName VARCHAR2) RETURN PLS_INTEGER;
Описание
Возвращает:
2, если роль iRoleID предоставлена пользователю Oracle sUserName с правом передачи (ADMIN OPTION)
1, если предоставлена без права передачи
0, если не предоставлена.
GetUserAgent
PROCEDURE GetUserAgent(iUserID PLS_INTEGER, iAgentRegionID OUT PLS_INTEGER, iAgentID OUT PLS_INTEGER);
Описание
Получает ключ агента, к которому относится пользователь, по ключу пользователя.
Входные параметры:
- iUserID - ID пользователя.
Выходные параметры:
- iAgentRegionID, iAgentID - ключ агента.
Если пользователь не существует, возвращает null.
GetUserAgent
PROCEDURE GetUserAgent(sUsername VARCHAR2, iAgentRegionID OUT PLS_INTEGER, iAgentID OUT PLS_INTEGER);
Описание
Получает ключ агента, к которому относится пользователь, по имени пользователя.
Входные параметры:
- sUsername - имя пользователя.
Выходные параметры:
- iAgentRegionID, iAgentID - ключ агента.
Если пользователь не существует, возвращает null.
SetUserAgent
PROCEDURE SetUserAgent(iUserID PLS_INTEGER, iAgentRegionID PLS_INTEGER, iAgentID PLS_INTEGER);
Описание
Устанавливает связь пользователя с организацией-агентом, к которой он относится.
Параметры:
- iUserID - ID пользователя;
- iAgentRegionID, iAgentID - ключ агента; null, если связь требуется удалить.
Если текущий пользователь не имеет привилегии на изменение агента пользователя, возникает exception.
CheckUserAgentAssigned
Описание
Проверяет, что у пользователя задана организация-агент. Если это не так, возникает exception.
Параметры:
- sUsername - имя пользователя; по умолчанию текущий пользователь СУБД.
Группы пользователей
GetUserGroupGUID
FUNCTION GetUserGroupGUID(iID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN RAW;
Описание
Возвращает GUID группы пользователей по её ID.
GetUserGroupID
FUNCTION GetUserGroupID(rGUID RAW, iStrict PLS_INTEGER := 1) RETURN PLS_INTEGER;
Описание
Возвращает ID группы пользователей по её GUID.
GetUserGroupName
FUNCTION GetUserGroupName(iID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN VARCHAR2;
Описание
Возвращает наименование группы пользователей по её ID.
GetUserGroupName
FUNCTION GetUserGroupName(rGUID RAW, iStrict PLS_INTEGER := 1) RETURN VARCHAR2;
Описание
Возвращает наименование группы пользователей по её GUID.
Членство пользователей в группах
IsUserInGroup
FUNCTION IsUserInGroup(iUserID PLS_INTEGER, iGroupID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает информацию о нахождении пользователя в группе.
Параметры:
- iUserID - ID пользователя;
- iGroupID - ID группы.
Возвращает:
- 0 - если пользователь не находится в составе группы;
- 1 - если пользователь находится в составе группы и группа не является группой по умолчанию;
- 2 - если пользователь находится в составе группы и группа является группой по умолчанию.
Если текущий пользователь не имеет системной привилегии ISYSPRIV_VIEW_USERS_IN_GROUPS, возникает exception.
GetUserGroupMemberCount
FUNCTION GetUserGroupMemberCount(iGroupID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает количество пользователей в указанной группе.
AddUserToGroup
PROCEDURE AddUserToGroup(iUserID PLS_INTEGER, iGroupID PLS_INTEGER);
Описание
Добавляет пользователя в группу, если он там ещё не находится.
Параметры:
- iUserID - ID пользователя;
- iGroupID - ID группы.
RemoveUserFromGroup
PROCEDURE RemoveUserFromGroup(iUserID PLS_INTEGER, iGroupID PLS_INTEGER);
Описание
Удаляет пользователя из группы, если он в ней находится.
Параметры:
- iUserID - ID пользователя;
- iGroupID - ID группы.
SetDefaultUserGroup
PROCEDURE SetDefaultUserGroup(iUserID PLS_INTEGER, iGroupID PLS_INTEGER);
Описание
Устанавливает для пользователя группу по умолчанию.
Параметры:
- iUserID - ID пользователя;
- iGroupID - ID группы.
Если пользователь не находится в данной группе, возникает exception.
Если iGroupID - null, группа по умолчанию будет отсутствовать.
Задачи
GetTaskID
FUNCTION GetTaskID(sAppITCID VARCHAR2, sSubTaskITCID VARCHAR2, sParams VARCHAR2, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;
Описание
Возвращает ID задачи по её sAppITCID, sSubTaskITCID, sParams. Если не найдена, то при iStrict=0 возвращает null,
- при iStrict!=0 вызывает exception.
GetTaskRight
FUNCTION GetTaskRight(iTaskID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает право текущего пользователя на задачу iTaskID:
- 0: право не определено или отсутствует;
- 1: чтение;
- 2: запись;
- 3: администрирование.
GetTaskRight
FUNCTION GetTaskRight(sAppITCID VARCHAR2, sSubTaskITCID VARCHAR2, sParams VARCHAR2, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;
Описание
То же, находит задачу по параметрам. Если найти не удалось, то при iStrict=0 возвращает null, при iStrict!=0
- вызывает exception.
GetTaskName
FUNCTION GetTaskName(iTaskID PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование задачи iTaskID.
Сессии
SessionStartup
PROCEDURE SessionStartup;
Описание
Вызывается при запуске сервера задач. Регистрирует текущий сеанс, а также удаляет неактивные сеансы из списка. При достижении максимального количества сессий, определяемого текущей лицензией, вызывает exception.