Документация iSZN
pkQE.sql
Exceptions
Error_NoGenericDatatype
PROCEDURE Error_NoGenericDatatype(iID PLS_INTEGER);
Описание
– Внутренняя ошибка
Internal_Error exception;
pragma exception_init(Internal_Error, -20099);
– Ошибка при формировании условия по критерию
Get_Where_Clause_Error exception;
pragma exception_init(Get_Where_Clause_Error, -20100);
/* Не найдена запись справочника
Генерирует exception «Базовый тип данных не существует».
Error_NoDatatype
PROCEDURE Error_NoDatatype(iID PLS_INTEGER);
Описание
Генерирует exception «Тип данных не существует».
Error_NoCondition
PROCEDURE Error_NoCondition(iID PLS_INTEGER);
Описание
Генерирует exception «Условие не существует».
Error_NoOperandKind
PROCEDURE Error_NoOperandKind(iID PLS_INTEGER);
Описание
Генерирует exception «Вид операнда не существует».
Error_NoDataRef
PROCEDURE Error_NoDataRef(iID PLS_INTEGER);
Описание
Генерирует exception «Ссылка на данные не существует».
Error_NoCommonColumn
PROCEDURE Error_NoCommonColumn(iID PLS_INTEGER);
Описание
Генерирует exception «Общий столбец не существует».
Error_NoDataSourceColumn
PROCEDURE Error_NoDataSourceColumn(iID PLS_INTEGER);
Описание
Генерирует exception «Столбец источника данных не существует».
Error_NoDataRefColumn
PROCEDURE Error_NoDataRefColumn(iID PLS_INTEGER);
Описание
Генерирует exception «Столбец ссылки на данные не существует».
Error_NoDataSourceSubject
PROCEDURE Error_NoDataSourceSubject(iID PLS_INTEGER);
Описание
Генерирует exception «Субъект источника данных не существует».
Error_NoEntity
PROCEDURE Error_NoEntity(iID PLS_INTEGER);
Описание
Генерирует exception «Сущность не существует».
Error_NoEntityKey
PROCEDURE Error_NoEntityKey(iID PLS_INTEGER);
Описание
Генерирует exception «Ключ сущности не существует».
Error_NoSelection
PROCEDURE Error_NoSelection(iID PLS_INTEGER);
Описание
Генерирует exception «Выборка не существует».
Error_NoSDRInstance
PROCEDURE Error_NoSDRInstance(iID PLS_INTEGER);
Описание
Генерирует exception «Экземпляр ссылки на данные выборки не существует».
Error_NoEKConversion
PROCEDURE Error_NoEKConversion(iID PLS_INTEGER);
Описание
Генерирует exception «Преобразование ключей сущностей не существует».
Error_NoConditionUsageVariant
PROCEDURE Error_NoConditionUsageVariant(iID PLS_INTEGER);
Описание
Генерирует exception «Вариант использования условия не существует».
Error_CriterionIsNotARoot
PROCEDURE Error_CriterionIsNotARoot(iRgnID PLS_INTEGER, iID PLS_INTEGER);
Описание
– Генерирует exception «Набор критериев не существует»
procedure Error_NoCriterionSet(iRgnID Pls_Integer, iID Pls_Integer, iTempTable Pls_Integer);
pragma restrict_references(Error_NoCriterionSet, WNDS, WNPS, RNDS, RNPS);
– Генерирует exception «Критерий не существует»
procedure Error_NoCriterion(iRgnID Pls_Integer, iID Pls_Integer, iTempTable Pls_Integer);
pragma restrict_references(Error_NoCriterion, WNDS, WNPS, RNDS, RNPS);
– Генерирует exception «Операнд критерия не существует». Если задан вид операнда iOperandKindID, его наименование
– добавляется к описанию операнда.
procedure Error_NoCriterionOperand(iRgnID Pls_Integer, iID Pls_Integer, iTempTable Pls_Integer, iOperandKindID Pls_Integer := null);
pragma restrict_references(Error_NoCriterionOperand, WNDS, WNPS, RNPS);
/* Запись рабочей таблицы не удовлетворяет требованиям
Генерирует exception «Критерий не является корневым».
Error_InvalidCritGroupMode
PROCEDURE Error_InvalidCritGroupMode(iRgnID PLS_INTEGER, iID PLS_INTEGER, iGroupRequired PLS_INTEGER);
Описание
Генерирует exception «Критерий [не] является группой». При iGroupRequired=0 выдаётся сообщение «является группой», в противном случае - «не является».
Error_InvalidOperandCount
PROCEDURE Error_InvalidOperandCount(iActualCount PLS_INTEGER);
Описание
– Генерирует exception «Внутренняя ошибка»
procedure Error_InternalError(sMsg Varchar2);
pragma restrict_references(Error_InternalError, WNDS, WNPS, RNDS, RNPS);
– Генерирует exception «Ошибка при формировании условия по критерию»
procedure Error_GetWhereClauseError(iRegionID Pls_Integer, iID Pls_Integer, iConditionID Pls_Integer, sMsg Varchar2);
pragma restrict_references(Error_GetWhereClauseError, WNDS, WNPS, RNDS, RNPS);
/* Ошибки в данных критериев
Генерирует exception «Неверное количество операндов».
Error_OperandMismatch
PROCEDURE Error_OperandMismatch;
Описание
Генерирует exception «Несоответствие операндов условию».
Error_InvalidOperandKind
PROCEDURE Error_InvalidOperandKind(iKindID PLS_INTEGER);
Описание
Генерирует exception «Недопустимый вид операнда».
Error_EmptyValueList
PROCEDURE Error_EmptyValueList;
Описание
Генерирует exception «Пустой список значений».
Error_EmptySubquery
PROCEDURE Error_EmptySubquery;
Описание
Генерирует exception «Пустое выражение подзапроса».
CriterionSetExists
FUNCTION CriterionSetExists(iRgnID PLS_INTEGER, iID PLS_INTEGER, iTempTable PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Проверяет, существует ли набор критериев. Возвращает 1, если существует, в противном случае 0.
iRgnID, iID - ключ набора.
iTempTable - в какой таблице выполнять поиск:
- 0 - в рабочей
- 1 - во временной.
CriterionExists
FUNCTION CriterionExists(iRgnID PLS_INTEGER, iID PLS_INTEGER, iTempTable PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Проверяет, существует ли критерий. Возвращает 1, если существует, в противном случае 0.
iRgnID, iID - ключ критерия.
iTempTable - в какой таблице выполнять поиск:
- 0 - в рабочей
- 1 - во временной.
CheckCriterionSetExists
PROCEDURE CheckCriterionSetExists(iRgnID PLS_INTEGER, iID PLS_INTEGER, iTempTable PLS_INTEGER);
Описание
Проверяет, что набор критериев существует, иначе вызывает Error_NoCriterionSet
iRgnID, iID - ключ критерия.
iTempTable - в какой таблице выполнять поиск:
- 0 - в рабочей
- 1 - во временной.
CheckCriterionExists
PROCEDURE CheckCriterionExists(iRgnID PLS_INTEGER, iID PLS_INTEGER, iTempTable PLS_INTEGER);
Описание
Проверяет, что критерий существует, иначе вызывает Error_NoCriterion
iRgnID, iID - ключ критерия.
iTempTable - в какой таблице выполнять поиск:
- 0 - в рабочей
- 1 - во временной.
CriterionOperandExists
FUNCTION CriterionOperandExists(iRgnID PLS_INTEGER, iID PLS_INTEGER, iTempTable PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Проверяет, существует ли операнд критерия. Возвращает 1, если существует, в противном случае 0.
iRgnID, iID - ключ операнда.
iTempTable - в какой таблице выполнять поиск:
- 0 - в рабочей
- 1 - во временной.
CheckCriterionOperandExists
PROCEDURE CheckCriterionOperandExists(iRgnID PLS_INTEGER, iID PLS_INTEGER, iTempTable PLS_INTEGER);
Описание
Проверяет, что операнд критерия существует, иначе вызывает Error_NoCriterionOperand.
iRgnID, iID - ключ операнда.
iTempTable - в какой таблице выполнять поиск:
- 0 - в рабочей
- 1 - во временной.
Наименования объектов
GetGenericDatatypeName
FUNCTION GetGenericDatatypeName(iID PLS_INTEGER, iNameKind PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование базового типа данных.
iNameKind - вид наименования:
- 1 - наименование
- 2 - отображаемое наименование.
GetDatatypeName
FUNCTION GetDatatypeName(iID PLS_INTEGER, iNameKind PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование типа данных.
iNameKind - вид наименования:
- 1 - наименование
- 2 - отображаемое наименование.
GetConditionName
FUNCTION GetConditionName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование условия.
GetOperandKindName
FUNCTION GetOperandKindName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование вида операнда.
GetDataRefName
FUNCTION GetDataRefName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование ссылки на данные.
GetCommonColumnName
FUNCTION GetCommonColumnName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование общего столбца.
GetDataSourceColumnName
FUNCTION GetDataSourceColumnName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование столбца источника данных.
GetDataSourceSubjectName
FUNCTION GetDataSourceSubjectName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование субъекта источника данных.
GetEntityName
FUNCTION GetEntityName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование сущности.
GetEntityKeyName
FUNCTION GetEntityKeyName(iID PLS_INTEGER, iFullyQualified PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование ключа сущности. При iFullyQualified=1 наименование отображается в виде <Сущность>.<Ключ>.
GetSelectionName
FUNCTION GetSelectionName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование выборки.
GetSDRInstanceName
FUNCTION GetSDRInstanceName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование экземпляра ссылки на данные выборки.
GetConditionUsageVariantName
FUNCTION GetConditionUsageVariantName(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает наименование варианта использования условия.
GetDefaultEntityKeyID
FUNCTION GetDefaultEntityKeyID(iEntityID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID ключа сущности по умолчанию. При отсутствии сущности или её ключа по умолчанию поведение определяется параметром iStrict.
Сервисные функции для формирования SQL-выражений
SQL_Brackets
Описание
Заключает выражение s в скобки, если оно непустое.
SQL_And
Описание
Объединяет два операнда условием and.
SQL_Or
Описание
Объединяет два операнда условием or.
SQL_Upper
Описание
Возвращает выражение вида Upper(<value>).
SQL_ToUpperCase
Описание
Возвращает выражение вида Upper(<value>) или <VALUE> в зависимости от того, является ли выражение s константой. bIsConstant - является ли выражение константой.
SQL_MakeLikePattern
FUNCTION SQL_MakeLikePattern(s VARCHAR2, bWildcardBefore BOOLEAN, bWildcardAfter BOOLEAN, bIsConstant BOOLEAN) RETURN VARCHAR2 deterministic;
Описание
Возвращает выражение для шаблона с использованием оператора like. bWildcardBefore - добавлять ли в начале шаблона символ %. bWildcardAfter - добавлять ли в конце шаблона символ %. bIsConstant - является ли выражение константой.
Работа с временными таблицами
GetTempCriterionSetID
FUNCTION GetTempCriterionSetID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Распределяет и возвращает временный ID набора критериев во временной таблице.
GetTempCriterionID
FUNCTION GetTempCriterionID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Распределяет и возвращает временный ID критерия во временной таблице.
GetTempOperandID
FUNCTION GetTempOperandID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Распределяет и возвращает временный ID операнда во временной таблице.
ClearTempCriteriaTables
PROCEDURE ClearTempCriteriaTables;
Описание
Очищает временные таблицы с критериями.
DeleteCritSetFromTempTables
PROCEDURE DeleteCritSetFromTempTables(iRegionID PLS_INTEGER, iSetID PLS_INTEGER);
Описание
Удаляет из временной таблицы с критериями набор критериев, критерии и их операнды.
LoadCritSetIntoTempTables
PROCEDURE LoadCritSetIntoTempTables(iRegionID PLS_INTEGER, iSetID PLS_INTEGER);
Описание
Загружает набор критериев, критерии их операнды из рабочих таблиц во временные. iRegionID-iSetID - ключ исходного набора критериев в рабочей таблице.
CreateTemporaryCritSet
FUNCTION CreateTemporaryCritSet(iRegionID PLS_INTEGER, iOriginalSetID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
То же самое, но для набора критериев, самих критериев и их операндов распределяются временные ID. Возвращает ID созданного набора во временной таблице. iRegionID-iOriginalSetID - ключ исходного набора критериев в рабочей таблице.
SaveCritSetIntoWorkTables
FUNCTION SaveCritSetIntoWorkTables(iRegionID PLS_INTEGER, iTempSetID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Сохраняет набор критериев с операндами из временных таблиц в рабочие.
iRegionID-iSetID - ключ набора критериев во временной таблице.
Если iSetID представляет собой временный идентификатор набора, при сохранении создаётся новый набор, в этом случае
- всем критериям и операндам распределяются новые ID.
Если iSetID представляет собой существующий идентификатор, операнды и критерии сохраняются вместо существующих, в
- этом случае новые ID распределяются только для операндов и критериев с временными ID.
Функция возвращает ID сохранённого набора в рабочей таблице.
SaveCritSetIntoWorkTables
PROCEDURE SaveCritSetIntoWorkTables(iRegionID PLS_INTEGER, iTempSetID PLS_INTEGER);
CritGroup_Create
PROCEDURE CritGroup_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOwnerID PLS_INTEGER, iSetID PLS_INTEGER, iIsNegative PLS_INTEGER, iConditionID PLS_INTEGER, iOrderNum PLS_INTEGER);
Описание
– Создаёт во временной таблице набор критериев.
procedure CritSet_Create(iRegionID Pls_Integer, iID Pls_Integer, iTemplateID Pls_Integer, iOutDocID Pls_Integer, iOutDocBandID Pls_Integer, iSelectionID Pls_Integer);
– Обновляет данные набора критериев.
procedure CritSet_Update(iRegionID Pls_Integer, iID Pls_Integer, iTemplateID Pls_Integer, iOutDocID Pls_Integer, iOutDocBandID Pls_Integer, iSelectionID Pls_Integer);
/* Группы критериев
Создаёт во временной таблице критерий-группу.
CritGroup_Update
PROCEDURE CritGroup_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOwnerID PLS_INTEGER, iIsNegative PLS_INTEGER, iConditionID PLS_INTEGER, iOrderNum PLS_INTEGER);
Описание
Обновляет данные критерия-группы.
Operand_Constant_Create
PROCEDURE Operand_Constant_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, sValue VARCHAR2, iDatatypeID PLS_INTEGER);
Описание
– Создаёт во временной таблице критерий.
procedure Crit_Create(iRegionID Pls_Integer, iID Pls_Integer, iOwnerID Pls_Integer, iSetID Pls_Integer, iIsNegative Pls_Integer, iConditionID Pls_Integer, iCaseSensitive Pls_Integer, iOrderNum Pls_Integer);
– Обновляет данные критерия.
procedure Crit_Update(iRegionID Pls_Integer, iID Pls_Integer, iOwnerID Pls_Integer, iIsNegative Pls_Integer, iConditionID Pls_Integer, iCaseSensitive Pls_Integer, iOrderNum Pls_Integer);
– Удаляет из временной таблицы критерии с указанными ID.
procedure Criteria_Delete(iRegionID Pls_Integer, iiIDs in uszn.TIntegerList);
/* Операнды
Создаёт во временной таблице операнд-константу.
Operand_Constant_Update
PROCEDURE Operand_Constant_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, sValue VARCHAR2, iDatatypeID PLS_INTEGER);
Описание
Обновляет данные операнда-константы.
Operand_CommonColumn_Create
PROCEDURE Operand_CommonColumn_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, iCommonColumnID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — общий столбец.
Operand_CommonColumn_Update
PROCEDURE Operand_CommonColumn_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, iCommonColumnID PLS_INTEGER);
Описание
Обновляет данные операнда — общего столбца.
Operand_DSColumn_Create
PROCEDURE Operand_DSColumn_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, iDRInstanceID PLS_INTEGER, iDSColumnID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — столбец источника данных.
Operand_DSColumn_Update
PROCEDURE Operand_DSColumn_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, iDRInstanceID PLS_INTEGER, iDSColumnID PLS_INTEGER);
Описание
Обновляет данные операнда — столбца источника данных.
Operand_DSSubject_Create
PROCEDURE Operand_DSSubject_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, iDRInstanceID PLS_INTEGER, iDSSubjectID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — субъект источника данных.
Operand_DSSubject_Update
PROCEDURE Operand_DSSubject_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, iDRInstanceID PLS_INTEGER, iDSSubjectID PLS_INTEGER);
Описание
Обновляет данные операнда — субъект источника данных.
Operand_ConstantList_Create
PROCEDURE Operand_ConstantList_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, sValues VARCHAR2, iDatatypeID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — список констант.
Operand_ConstantList_Update
PROCEDURE Operand_ConstantList_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, sValues VARCHAR2, iDatatypeID PLS_INTEGER);
Описание
Обновляет данные операнда — списка констант.
Operand_SubqueryColumn_Create
PROCEDURE Operand_SubqueryColumn_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, iDSColumnID PLS_INTEGER, iSubqueryCriterionID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — выборку значений столбца.
Operand_SubqueryColumn_Update
PROCEDURE Operand_SubqueryColumn_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, iDSColumnID PLS_INTEGER, iSubqueryCriterionID PLS_INTEGER);
Описание
Обновляет данные операнда — выборки значений столбца.
Operand_SubquerySubject_Create
PROCEDURE Operand_SubquerySubject_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, iDSSubjectID PLS_INTEGER, iSubqueryCriterionID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — выборку экземпляров субъекта.
Operand_SubquerySubject_Update
PROCEDURE Operand_SubquerySubject_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, iDSSubjectID PLS_INTEGER, iSubqueryCriterionID PLS_INTEGER);
Описание
Обновляет данные операнда — выборки экземпляров субъекта.
Operand_CustomExpr_Create
PROCEDURE Operand_CustomExpr_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, sExpression VARCHAR2, iDatatypeID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — произвольное SQL-выражение.
Operand_CustomExpr_Update
PROCEDURE Operand_CustomExpr_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, sExpression VARCHAR2, iDatatypeID PLS_INTEGER);
Описание
Обновляет данные операнда — произвольного SQL-выражения.
Operand_ConstEntity_Create
PROCEDURE Operand_ConstEntity_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, sKeyValue VARCHAR2, iEntityID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — константу-сущность.
Operand_ConstEntity_Update
PROCEDURE Operand_ConstEntity_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, sKeyValue VARCHAR2, iEntityID PLS_INTEGER);
Описание
Обновляет данные операнда — константы-сущности.
Operand_ConstEntityList_Create
PROCEDURE Operand_ConstEntityList_Create(iRegionID PLS_INTEGER, iID PLS_INTEGER, iCriterionID PLS_INTEGER, iOrderNum PLS_INTEGER, sKeyValues VARCHAR2, iEntityID PLS_INTEGER);
Описание
Создаёт во временной таблице операнд — список констант-сущностей.
Operand_ConstEntityList_Update
PROCEDURE Operand_ConstEntityList_Update(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOrderNum PLS_INTEGER, sKeyValues VARCHAR2, iEntityID PLS_INTEGER);
Описание
Обновляет данные операнда — списка констант-сущностей.
Operands_Delete
PROCEDURE Operands_Delete(iRegionID PLS_INTEGER, iiIDs IN uszn.TIntegerList);
Описание
Удаляет из временной таблицы операнды с указанными ID.
End user - функции для получения условий с помощью критериев
GetWhereClause
FUNCTION GetWhereClause(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для заданного критерия. iRegionID, iCriterionID - ключ критерия во временной таблице. При iInverted=0 возвращается прямое условие, в противном случае - обратное.
GetCritSetWhereClause
FUNCTION GetCritSetWhereClause(iRegionID PLS_INTEGER, iSetID PLS_INTEGER, iInverted PLS_INTEGER, iForce PLS_INTEGER) RETURN CLOB;
Описание
Возвращает текст условия WHERE для указанного набора критериев.
iRegionID, iSetID - ключ набора критериев в рабочей таблице.
iForce - определяет поведение при пустом условии WHERE:
- 0 - возвращает null.
- 1 - возвращает фиктивное условие, всегда равное True для прямого условия, False для обратного.
При iInverted=0 возвращается прямое условие, в противном случае - обратное.
CheckCriterionValid
PROCEDURE CheckCriterionValid(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInvertedMode PLS_INTEGER := NULL);
Описание
Проверяет, что для указанного условия удаётся успешно получить текст условия.
iRegionID, iCriterionID - ключ критерия во временной таблице.
iInvertedMode:
- 0 - проверять только для прямого условия
- 1 - проверять только для обратного условия
- null - проверять оба варианта.
Загрузка информации об объектах
LoadCondition
FUNCTION LoadCondition(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN TQECondition;
Описание
Возвращает информацию об условии. При отсутствии данных поведение определяется параметром iStrict.
LoadSDRInstance
FUNCTION LoadSDRInstance(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN TQESDRInstance;
Описание
Возвращает информацию об экземпляре ссылки на данные выборки. При отсутствии данных поведение определяется параметром iStrict.
LoadCriterionSet
FUNCTION LoadCriterionSet(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN TQECriterionSet;
Описание
Возвращает информацию о наборе критериев. При отсутствии данных поведение определяется параметром iStrict.
LoadCriterion
FUNCTION LoadCriterion(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN TQECriterion;
Описание
Возвращает информацию о критерии. При отсутствии данных поведение определяется параметром iStrict.
LoadCriterionOperand
FUNCTION LoadCriterionOperand(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN TQECriterionOperand;
Описание
Возвращает информацию об операнде критерия. При отсутствии данных поведение определяется параметром iStrict.
Сервисные функции для формирования условий
GetGenericDatatypeID
FUNCTION GetGenericDatatypeID(iDatatypeID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает базовый тип данных для указанного типа данных. Если тип данных не существует, возникает exception. Если типу данных не сопоставлен базовый тип данных, возвращает null.
GetDatatypeComponentCount
FUNCTION GetDatatypeComponentCount(iDatatypeID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает количество компонентов типа данных. Для примитивных типов возвращает 1.
GetEntityKeyDatatypeID
FUNCTION GetEntityKeyDatatypeID(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает тип данных ключа сущности.
GetEKConversionID
FUNCTION GetEKConversionID(iEntityKeyIDFrom PLS_INTEGER, iEntityKeyIDTo PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID преобразования ключа сущности iEntityKeyIDFrom в iEntityKeyIDTo. Если ключи совместимы, но преобразование между ними не требуется, возвращает null. Если ключи несовместимы или какой-либо из ключей не существует, поведение определяется параметром iStrict.
GetCritSetRootCriterionID
FUNCTION GetCritSetRootCriterionID(iRegionID PLS_INTEGER, iSetID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID корневого критерия для указанного набора критериев. iRegionID, iSetID - ключ набора критериев во временной таблице. При отсутствии набора поведение определяется параметром iStrict.
GetRootCriterionID
FUNCTION GetRootCriterionID(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID корневого критерия для указанного критерия. iRegionID, iCriterionID - ключ критерия во временной таблице. При отсутствии критерия поведение определяется параметром iStrict.
GetSubqueryRootCriterionID
FUNCTION GetSubqueryRootCriterionID(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID корневого критерия подзапроса, непосредственно в котором используется указанный критерий. iRegionID, iCriterionID - ключ критерия во временной таблице. При отсутствии критерия поведение определяется параметром iStrict.
GetCriterionSubqueryLevel
FUNCTION GetCriterionSubqueryLevel(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает уровень вложенности подзапроса для указанного критерия. iRegionID, iCriterionID - ключ критерия во временной таблице. При отсутствии критерия поведение определяется параметром iStrict.
GetConditionUsageVariantID
FUNCTION GetConditionUsageVariantID(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID варианта использования указанного условия.
iRegionID, iCriterionID - ключ критерия во временной таблице.
iStrict - определяет поведение при отсутствии критерия, а также при отсутствии или неоднозначном определении варианта использования.
IsSubjectInDataRef
FUNCTION IsSubjectInDataRef(iDataRefID PLS_INTEGER, iSubjectID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Определяет, представлен ли субъект iSubjectID каким-либо ключом в ссылке на данные iDataRefID. Возвращает 1, если субъект представлен в ссылке на данные, иначе возвращает 0.
GetBestDataRefColumnID
FUNCTION GetBestDataRefColumnID(iDataSourceColumnID PLS_INTEGER, iDataRefID PLS_INTEGER, iSearchMetric OUT INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает столбец ссылки на данные с минимальной поисковой метрикой, соответствующий указанному столбцу источника данных. Если ссылка на данные явно не задана, она выбирается с учётом суммарной поисковой метрики ссылки на данные и столбца ссылки на данные. iDataSourceColumnID - ID столбца источника данных. iDataRefID - ID ссылки на данные (если null, рассматриваются все возможные ссылки). iSearchMetric - поисковая метрика для указанного столбца вместе с метрикой ссылки на данные. iStrict - определяет поведение при отсутствии соответствующего столбца ссылки на данные.
GetBestDataRefIDForDSCols
FUNCTION GetBestDataRefIDForDSCols(iiDSColumnIDs uszn.TIntegerList, iSearchMetric OUT INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Выбирает оптимальную ссылку на данные для списка столбцов источников данных. iiDSColumnIDs - список ID столбцов источников данных. iSearchMetric - суммарная поисковая метрика для указанных столбцов вместе с метрикой ссылки на данные. iStrict - определяет поведение при пустом списке столбцов, а также при отсутствии общей ссылки на данные.
GetBestDataRefIDForSubject
FUNCTION GetBestDataRefIDForSubject(iSubjectID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Выбирает оптимальную ссылку на данные для указанного субъекта источника данных. iSubjectID - ID субъекта. iStrict - определяет поведение при отсутствии общей ссылки на данные.
GetBestDataRefInfoForCriterion
PROCEDURE GetBestDataRefInfoForCriterion(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iDataRefID OUT PLS_INTEGER, sDataRefAlias OUT VARCHAR2);
Описание
Определяет, какая ссылка на данные должна использоваться для операндов заданного критерия, если она у них не
- указана явно.
iRegionID, iCriterionID - ключ критерия во временной таблице.
iDataRefID - ID найденной ссылки на данные (null, если ссылка не требуется).
sDataRefAlias - алиас, который должен использоваться для ссылки на данные (null, если ссылка не требуется).
Если ссылка на данные требуется, но не найдена, генерируется exception.
GetBestDataRefInfoForSubjectSQ
PROCEDURE GetBestDataRefInfoForSubjectSQ(iRegionID PLS_INTEGER, iSubqueryOperandID PLS_INTEGER, iDataRefID OUT PLS_INTEGER, sDataRefAlias OUT VARCHAR2);
Описание
Определяет, какая ссылка на данные должна использоваться для операнда-выборки субъектов. iRegionID, iSubqueryOperandID - ключ операнда-подзапроса во временной таблице. iDataRefID - ID найденной ссылки на данные (null, если ссылка не требуется). sDataRefAlias - алиас, который должен использоваться для ссылки на данные (null, если ссылка не требуется). Если ссылка на данные требуется, но не найдена, генерируется exception.
GetBestEntityKeyID
FUNCTION GetBestEntityKeyID(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iDataRefID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ключ сущности, по которому будет производиться сравнение операндов-субъектов заданного критерия. iRegionID, iCriterionID - ключ критерия во временной таблице. iDataRefID - ID ссылки на данные для тех операндов, у которых она не задана явно.
GetEntityOperandsInfo
FUNCTION GetEntityOperandsInfo(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iDataRefID PLS_INTEGER, sDataRefAlias VARCHAR2) RETURN TEntityOperandInfoList;
Описание
Возвращает информацию об использовании в операциях операндов-сущностей. iRegionID, iCriterionID - ключ критерия во временной таблице. iDataRefID - ID ссылки на данные для тех операндов, у которых она не задана явно. sDataRefAlias - алиас ссылки на данные для тех операндов, у которых она не задана явно.
GetTypedConstValue
FUNCTION GetTypedConstValue(sConstValue VARCHAR2, iDatatypeID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Приводит хранимое значение константы указанного типа данных к выражению соответствующего типа.
sConstValue - значение-константа в том виде, в котором она хранится в БД.
iDatatypeID - ID типа данных.
iStrict - определяет поведение при отсутствии типа данных, а также при любой ошибке, возникающей в процессе преобразования.
GetTypedConstValueList
FUNCTION GetTypedConstValueList(sConstValueList VARCHAR2, iDatatypeID PLS_INTEGER, sDelimiter VARCHAR2, iStrict PLS_INTEGER) RETURN CLOB;
Описание
Приводит хранимый список значений-констант указанного типа данных к списку выражений соответствующего типа.
sConstValueList - список значений-констант в том виде, в котором он хранится в БД (значения разделяются переводом строки).
iDatatypeID - ID типа данных значения.
sDelimiter - разделитель между возвращаемыми значениями.
iStrict - определяет поведение при отсутствии типа данных, а также при любой ошибке, возникающей в процессе преобразования.
GetConstEntityKeyValue
FUNCTION GetConstEntityKeyValue(sConstValue VARCHAR2, iDatatypeID PLS_INTEGER, iStrict PLS_INTEGER) RETURN uszn.pkGen.TStrings4000;
Описание
Преобразует хранимое значение ключа константы-сущности в список значений компонентов ключа.
sConstValue - значение-константа в том виде, в котором она хранится в БД.
iDatatypeID - ID типа данных.
iStrict - определяет поведение при отсутствии типа данных, а также при любой ошибке, возникающей в процессе преобразования.
GetConstEntityKeyValueList
FUNCTION GetConstEntityKeyValueList(sConstValueList VARCHAR2, iDatatypeID PLS_INTEGER, iStrict PLS_INTEGER) RETURN TConstEntityKeyValueList;
Описание
Преобразует хранимый список значений ключей констант-сущностей в список значений ключей, в котором каждый ключ
представлен списком значений компонентов.
sConstValueList - Список значений констант-сущностей в том виде, в котором он хранится в БД (значения разделяются переводами строк).
iDatatypeID - ID типа данных ключа.
iStrict - определяет поведение при отсутствии типа данных, а также при любой ошибке, возникающей в процессе преобразования.
EntityKeyValueListToStr
FUNCTION EntityKeyValueListToStr(KeyColumns IN TEntityOpKeyColumnInfoList, iUpperCase PLS_INTEGER) RETURN CLOB;
Описание
Преобразует список значений ключей в строку; если ключ содержит более одного компонента, набор столбцов ключа
заключается в скобки. Значения компонентов и ключи разделяются запятыми.
KeyColumns - информация о столбцах ключей.
iUpperCase - приводить ли к верхнему регистру значения компонентов (0-нет, 1-да). Применяется только для компонентов текстового типа.
ConvertEntityKey
FUNCTION ConvertEntityKey(iConversionID PLS_INTEGER, SourceValues IN uszn.pkGen.TStrings4000, iIsConstant PLS_INTEGER, iStrict PLS_INTEGER) RETURN uszn.pkGen.TStrings4000;
Описание
Выполняет преобразование ключа сущности.
iConversionID - ID преобразования.
SourceValues - список значений компонентов исходного ключа (одно значение, если исходный тип данных примитивный).
iIsConstant - является ли исходное значение константой (0-нет, 1-да).
При отсутствии преобразования в зависимости от значения параметра iStrict возвращает исходное значение либо
- вызывает exception.
GetCommonColumnText
FUNCTION GetCommonColumnText(iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает SQL-выражение указанного общего столбца. При отсутствии такого столбца поведение определяется параметром iStrict.
GetDataRefColumnText
FUNCTION GetDataRefColumnText(iID PLS_INTEGER, sDataRefAlias VARCHAR2, iStrict PLS_INTEGER) RETURN VARCHAR2;
Описание
Возвращает SQL-выражение столбца источника данных. iID - ID столбца ссылки на данные. sDataRefAlias - алиас ссылки на данные. При любых ошибках поведение определяется параметром iStrict.
GetDataRefQueryText
FUNCTION GetDataRefQueryText(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iDataRefID PLS_INTEGER, sDataRefAlias VARCHAR2, iStrict PLS_INTEGER) RETURN CLOB;
Описание
Возвращает SQL-выражение указанной ссылки на данные. iRegionID, iCriterionID - ключ корневого критерия подзапроса во временной таблице. При любых ошибках поведение определяется параметром iStrict.
GetFullOperandText
FUNCTION GetFullOperandText( iRegionID PLS_INTEGER, iOperandID PLS_INTEGER, iActualDataRefID PLS_INTEGER, sActualDataRefAlias VARCHAR2, iUpperCase PLS_INTEGER, iReplaceLikePattern PLS_INTEGER, iWildcardBefore PLS_INTEGER, iWildcardAfter PLS_INTEGER, iStrict PLS_INTEGER) RETURN CLOB;
Описание
Возвращает полный текст операнда критерия.
iRegionID, iOperandID - ключ операнда во временной таблице.
iActualDataRefID - ID ссылки на данные, если операнд использует ссылку на данные, и она не задана явно.
sActualDataRefAlias - алиас ссылки на данные, если операнд использует ссылку на данные, и она не задана явно.
iUpperCase - должно ли значение операнда приводиться к верхнему регистру (0-нет, 1-да); применяется, если базовый тип данных чувствителен к регистру.
iReplaceLikePattern - выполнять ли замену символов \, _ и % на \\, \_ и \% соответственно.
iWildcardBefore, iWildcardAfter - добавлять ли wildcard % до и после значения выражения соответственно (0-нет, 1-да). При iReplaceLikePattern=0 игнорируется.
iStrict - определяет поведение при любых ошибках.
GetDSColumnsSubquery
FUNCTION GetDSColumnsSubquery(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iiDSColumnIDs uszn.TIntegerList, iUpperCase PLS_INTEGER, iSelectNull PLS_INTEGER, iSkipNullValues PLS_INTEGER) RETURN CLOB;
Описание
Возвращает текст подзапроса, выбирающего указанные столбцы источника данных.
iRegionID, iCriterionID - ключ критерия, накладываемого на подзапрос, во временной таблице (null, если критерий не используется).
iiDSColumnIDs - список ID выбираемых столбцов источника данных.
iUpperCase - должно ли значение выбираемого столбца приводиться к верхнему регистру (0-нет, 1-да); применяется, если базовый тип данных чувствителен к регистру.
iSelectNull - выбирать null вместо столбцов iiDSColumnIDs (0-нет, 1-да).
iSkipNullValues - исключать строки, содержащие null-значения хотя бы в одном из выбираемых столбцов (0-нет, 1-да).
GetSubjectKeySubquery
FUNCTION GetSubjectKeySubquery(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, SubjectOperand IN TEntityOperandInfo, iUpperCase PLS_INTEGER, iSelectNull PLS_INTEGER, iSkipNullValues PLS_INTEGER) RETURN CLOB;
Описание
Возвращает текст подзапроса, выбирающего экземпляры указанного субъекта.
iRegionID, iCriterionID - ключ критерия, накладываемого на подзапрос, во временной таблице (null, если критерий не используется).
Subject - информация о выбираемом операнде-субъекте.
iUpperCase - должно ли значение выбираемого столбца приводиться к верхнему регистру (0-нет, 1-да); применяется, если ключ субъекта чувствителен к регистру.
iSelectNull - выбирать null вместо субъекта (0-нет, 1-да).
iSkipNullValues - исключать строки, содержащие null-значения хотя бы в одном из выбираемых столбцов (0-нет, 1-да).
IsCriterionWithEntities
FUNCTION IsCriterionWithEntities(iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает, являются ли операнды критерия сущностями: 0-нет, 1-да. iRegionID, iCriterionID - ключ критерия во временной таблице. iStrict - определяет поведение при отсутствии критерия.
Сервисные функции для формирования выражений WHERE для критериев определённого вида
GetWhereClause_Group
FUNCTION GetWhereClause_Group( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, sNormalOperator VARCHAR2, sOppositeOperator VARCHAR2) RETURN CLOB;
Описание
Возвращает условие WHERE для заданного критерия-группы. iRegionID, iCriterionID - ключ критерия во временной таблице. При iInverted=0 возвращается прямое условие, в противном случае - обратное. sNormalOperator - прямой оператор для объединения элементов группы. sOppositeOperator - обратный оператор для объединения элементов группы.
GetWhereClause_EKEquality
FUNCTION GetWhereClause_EKEquality( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, iIsNotEqual PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для сравнения на равенство ключей сущности для заданного критерия.
iRegionID, iCriterionID - ключ критерия во временной таблице.
При iInverted=0 возвращается прямое условие, в противном случае - обратное.
iIsNotEqual:
- 0 - условие «=»
- 1 - условие «<>».
GetWhereClause_Binary
FUNCTION GetWhereClause_Binary( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, sNormalOperator VARCHAR2, sOppositeOperator VARCHAR2) RETURN CLOB;
Описание
Возвращает условие WHERE для сравнения двух операндов для заданного критерия. iRegionID, iCriterionID - ключ критерия во временной таблице. При iInverted=0 возвращается прямое условие, в противном случае - обратное. sNormalOperator - прямой оператор сравнения. sOppositeOperator - обратный оператор сравнения. iAllowSubjects - допускается ли применять условие к субъектам (0-нет, 1-да).
GetWhereClause_PatternMatch
FUNCTION GetWhereClause_PatternMatch( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, iTemplateKind PLS_INTEGER, iIsNotLike PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для условий [not] like.
iRegionID, iCriterionID - ключ критерия во временной таблице.
При iInverted=0 возвращается прямое условие, в противном случае - обратное.
iTemplateKind - вид шаблона:
- 0 - условие «начинается с»
- 1 - условие «заканчивается на»
- 2 - условие «содержит»
- 3 - условие «соответствует шаблону»
iIsNotLike:
- 0 - условие like
- 1 - условие not like.
GetWhereClause_Range
FUNCTION GetWhereClause_Range( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, iIsNotBetween PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для условий [not] between.
iRegionID, iCriterionID - ключ критерия во временной таблице.
При iInverted=0 возвращается прямое условие, в противном случае - обратное.
iIsNotBetween:
- 0 - условие between
- 1 - условие not between.
GetWhereClause_CheckIsNull
FUNCTION GetWhereClause_CheckIsNull( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, iForceCheck PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для условия Is Null. iRegionID, iCriterionID - ключ критерия во временной таблице. При iInverted=0 возвращается прямое условие, в противном случае - обратное. iForceCheck - применять ли условие для not null-полей (0-нет, 1-да).
GetWhereClause_CheckLogical
FUNCTION GetWhereClause_CheckLogical( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, iCheckIsTrue PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для условия истина/ложь. iRegionID, iCriterionID - ключ критерия во временной таблице. При iInverted=0 возвращается прямое условие, в противном случае - обратное. iCheckIsTrue - применять ли условие «истина» (1) или «ложь» (0).
GetWhereClause_In_General
FUNCTION GetWhereClause_In_General( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, iIsNotIn PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для условия In List|Select для обычных значений, не являющихся сущностями.
iRegionID, iCriterionID - ключ критерия во временной таблице.
При iInverted=0 возвращается прямое условие, в противном случае - обратное.
iIsNotIn:
- 0 - условие in
- 1 - условие not in.
GetWhereClause_In_Entities
FUNCTION GetWhereClause_In_Entities( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER, iIsNotIn PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для условия In List|Select для сущностей.
iRegionID, iCriterionID - ключ критерия во временной таблице.
При iInverted=0 возвращается прямое условие, в противном случае - обратное.
iIsNotIn:
- 0 - условие in
- 1 - условие not in.
GetWhereClause_CheckExists
FUNCTION GetWhereClause_CheckExists( iRegionID PLS_INTEGER, iCriterionID PLS_INTEGER, iInverted PLS_INTEGER) RETURN CLOB;
Описание
Возвращает условие WHERE для условия [Not] Exists. iRegionID, iCriterionID - ключ критерия во временной таблице. При iInverted=0 возвращается прямое условие, в противном случае - обратное.