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

pkTSrv.sql

Error_NoRegion

PROCEDURE Error_NoRegion(iRegionID PLS_INTEGER);

Описание

Вызывает exception «Район не найден».

Error_NoUser

PROCEDURE Error_NoUser(sUserName VARCHAR2);

Описание

Вызывает exception «Пользователь <UserName> не найден».

Error_NoUser

PROCEDURE Error_NoUser(iID PLS_INTEGER);

Описание

Вызывает exception «Пользователь с ID=... не найден».

Error_NoUserGroup

PROCEDURE Error_NoUserGroup(iID PLS_INTEGER);

Описание

Вызывает exception «Группа пользователей с ID=... не найдена».

Error_NoUserGroup

PROCEDURE Error_NoUserGroup(rGUID RAW);

Описание

Вызывает 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

FUNCTION GetRegionName RETURN VARCHAR2;

Описание

Возвращает наименование района текущего пользователя.

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

FUNCTION GetGenericObjRolePrivs(sObjName VARCHAR2) RETURN VARCHAR2;

Описание

Возвращает список базовых привилегий роли 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

PROCEDURE CheckSysPriv(sPrivName VARCHAR2, sOperation VARCHAR2 := NULL);

CheckUser

PROCEDURE CheckUser(sRequiredUser VARCHAR2);

Описание

Проверяет, что текущий пользователь - указанный.

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

FUNCTION GetUserFIOPost(sUserName VARCHAR2) RETURN VARCHAR2;

Описание

Возвращает Фамилию И. О. (должность) пользователя СУБД или sUserName, если такой пользователь в

  • Системе не зарегистрирован.

GetUserFIO

FUNCTION GetUserFIO(sUserName VARCHAR2) RETURN VARCHAR2;

Описание

Возвращает Фамилию И. О. пользователя СУБД или sUserName, если такой пользователь в Системе не

  • зарегистрирован.

GetUserPost

FUNCTION GetUserPost(sUserName VARCHAR2) RETURN VARCHAR2;

Описание

Возвращает должность пользователя СУБД или null, если такой пользователь в Системе не зарегистрирован.

GetUserEmail

FUNCTION GetUserEmail(sUserName VARCHAR2) RETURN VARCHAR2;

Описание

Возвращает email пользователя СУБД или null, если такой пользователь в Системе не зарегистрирован.

GetUserPhones

FUNCTION GetUserPhones(sUserName VARCHAR2) RETURN VARCHAR2;

Описание

Возвращает телефоны пользователя СУБД или 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

PROCEDURE CheckUserAgentAssigned(sUsername VARCHAR2 := USER);

Описание

Проверяет, что у пользователя задана организация-агент. Если это не так, возникает 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.