Документация iSZN
pkGenericSvc.sql
Сообщения об ошибках
Error_OutMessageLocked
PROCEDURE Error_OutMessageLocked(iRegionID PLS_INTEGER, iID PLS_INTEGER);
Описание
Вызывает exception “Исходящее сообщение ... заблокировано”.
Error_NoOutgoingMessage
PROCEDURE Error_NoOutgoingMessage(iRegionID PLS_INTEGER, iID PLS_INTEGER);
Описание
Вызывает exception “Исходящее сообщение ... не найдено”.
Error_NoOutMessageCall
PROCEDURE Error_NoOutMessageCall(iRegionID PLS_INTEGER, iID PLS_INTEGER);
Описание
Вызывает exception “Запись отправки исходящего сообщения ... не найдена”.
Error_NoOutMsgCallProcessing
PROCEDURE Error_NoOutMsgCallProcessing(iRegionID PLS_INTEGER, iID PLS_INTEGER);
Описание
Вызывает exception “Запись обработки отправленного исходящего сообщения ... не найдена”.
Error_OutMsgIsNotDelivered
PROCEDURE Error_OutMsgIsNotDelivered(iRegionID PLS_INTEGER, iCallID PLS_INTEGER);
Описание
Вызывает exception “Исходящее сообщение ... не было доставлено”.
Error_ResponseHasNoData
PROCEDURE Error_ResponseHasNoData(iRegionID PLS_INTEGER, iCallID PLS_INTEGER);
Описание
Вызывает exception “Ответ не содержит данных”.
Привилегии
CheckOutMsgServicePriv
PROCEDURE CheckOutMsgServicePriv(iRegionID PLS_INTEGER, iMessageID PLS_INTEGER, iPriv PLS_INTEGER);
Описание
Проверяет привилегии пользователя на сервис для исходящего сообщения.
Параметры:
- iRegionID, iMessageID - ключ исходящего сообщения;
- iPriv - сумма битовых флагов проверяемых привилегий.
Если сообщение не существует или пользователь не имеет указанных привилегий, возникает exception.
Конфигурация
GetMaxFailedOutMsgCallCount
FUNCTION GetMaxFailedOutMsgCallCount RETURN PLS_INTEGER;
Описание
Возвращает максимальное количество сбоев при отправке исходящего сообщения, после которого его отправка прекращается.
GetFailedOutMsgCallTimeout
FUNCTION GetFailedOutMsgCallTimeout(iFailCount PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает интервал в секундах между повторными вызовами в случае сбоя при отправке исходящего сообщения. TODO: необходимо иметь настройки в зависимости от вида сведений!!!
GetOutMsgTimeoutSecs
FUNCTION GetOutMsgTimeoutSecs(iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iIsFirstCall PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает задержку в секундах до отправки исходящего сообщения с момента постановки его в очередь или после
получения ответа, требующего повторной отправки.
Параметры:
- iOperationRegionID, iOperationID - ключ операции;
- iIsFirstCall - первая ли это отправка сообщения (1) или повторная (0);
- iStrict - определяет поведение, если операция не существует, значение атрибута не задано или ошибочно.
GetDefaultParticipantKey
PROCEDURE GetDefaultParticipantKey(iRegionID PLS_INTEGER, iStrict PLS_INTEGER, iParticipantRgnID OUT PLS_INTEGER, iParticipantID OUT PLS_INTEGER);
Описание
Возвращает районный ключ участника взаимодействия по умолчанию.
Значение берётся из региональных настроек экземпляра Системы.
Входные параметры:
- iRegionID - ID района, для которого необходимо получить значение настройки;
- iStrict - определяет поведение при отсутствии значения настройки.
Выходные параметры:
- iParticipantRgnID, iParticipantID - ключ участника взаимодействия или null.
GetDefaultParticipantSlurpKey
FUNCTION GetDefaultParticipantSlurpKey(iRegionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает Slurp-ключ участника взаимодействия по умолчанию.
Значение берётся из региональных настроек экземпляра Системы.
Параметры:
- iRegionID - ID района, для которого необходимо получить значение настройки;
- iStrict - определяет поведение при отсутствии значения настройки.
Работа с запросами и ответами
AllocateNewOutMessageID
FUNCTION AllocateNewOutMessageID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает новый ID записи исходящего сообщения в заданном районе.
AllocateNewOutMsgCallID
FUNCTION AllocateNewOutMsgCallID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает новый ID записи отправки исходящего сообщения в заданном районе.
AllocateNewOutMsgCallProcID
FUNCTION AllocateNewOutMsgCallProcID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает новый ID записи обработки результатов ответа на исходящее сообщение в заданном районе.
CreateMessageDataRFile
FUNCTION CreateMessageDataRFile(iRegionID PLS_INTEGER, bData BLOB, iIsResponse PLS_INTEGER, sMediaType VARCHAR2, iCompressionMethod PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Создаёт в хранилище файлов запись с данными запроса или ответа.
Параметры:
- iRegionID - ID района;
- bData - содержимое файла;
- iIsResponse - являются ли эти данные ответом (0/1);
- sMediaType - тип содержимого файла;
- iCompressionMethod - метод сжатия; константа из числа pkFile.ICompressMethod_xxx; если null, сжатие не используется.
Возвращает ID созданной записи или null, если запись не создавалась.
CheckOutMessageExists
PROCEDURE CheckOutMessageExists(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER);
Описание
Проверяет, что исходящее сообщение существует, и если это не так, вызывает exception.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения.
LockOutgoingMessage
PROCEDURE LockOutgoingMessage(iRegionID PLS_INTEGER, iMessageID PLS_INTEGER);
Описание
Устанавливает эксклюзивную блокировку на исходящее сообщение.
Параметры:
- iRegionID, iMessageID - ключ сообщения.
Если сообщение не существует или заблокировано, возникает exception.
GetOutMessagePDocID
FUNCTION GetOutMessagePDocID(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID документа с данными запроса.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения.
Если исходящее сообщение не существует, возникает exception.
SchedulePDocRequest
FUNCTION SchedulePDocRequest( iRegionID PLS_INTEGER, iRequestPDocID PLS_INTEGER, iServiceRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iSenderRegionID PLS_INTEGER, iSenderID PLS_INTEGER, iRecipientRegionID PLS_INTEGER, iRecipientID PLS_INTEGER, iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iWorkflowRecID PLS_INTEGER := NULL) RETURN PLS_INTEGER;
Описание
Создаёт и ставит в очередь на отправку запрос SendRequest на основе персонального документа.
Параметры:
- iRegionID, iRequestPDocID - ключ экземпляра персонального документа;
- iServiceRegionID, iOperationID - ключ операции веб-сервиса для отправки сообщения;
- iSenderRegionID, iSenderID - ключ отправителя запроса; если null, берётся отправитель по умолчанию из районных настроек экземпляра Системы;
- iRecipientRegionID, iRecipientID - ключ получателя запроса;
- iAudOriginID - ID источника события для аудита по документу;
- sAudNotes - примечания для аудита по документу;
- iWorkflowRecID - ID записи сценария обработки; null, если сценарий обработки не используется.
Для подготовки данных запроса вызывается соответствующий SQL-сценарий операции сервиса.
Возвращает ID записи исходящего сообщения.
Если пользователь не имеет необходимых привилегий на экземпляр персонального документа или на сервис,
возникает exception.
ScheduleCustomRequest
FUNCTION ScheduleCustomRequest( iRegionID PLS_INTEGER, iServiceRegionID PLS_INTEGER, iOperationID PLS_INTEGER, bMessageData BLOB, sPathParams VARCHAR2, iSenderRegionID PLS_INTEGER, iSenderID PLS_INTEGER, iRecipientRegionID PLS_INTEGER, iRecipientID PLS_INTEGER, iWorkflowRecID PLS_INTEGER := NULL) RETURN PLS_INTEGER;
Описание
Создаёт и ставит в очередь на отправку запрос SendRequest с произвольными данными.
Параметры:
- iRegionID - ID района;
- iServiceRegionID, iOperationID - ключ операции веб-сервиса для отправки сообщения;
- bMessageData - данные запроса; null, если данные запроса не требуются;
- sPathParams - параметры, передаваемые в URL сервиса в виде списка name=value;
- iSenderRegionID, iSenderID - ключ отправителя запроса; если null, берётся отправитель по умолчанию из районных настроек экземпляра Системы;
- iRecipientRegionID, iRecipientID - ключ получателя запроса;
- iWorkflowRecID - ID записи сценария обработки; null, если сценарий обработки не используется.
Если данные запроса не заполнены (null), то для подготовки данных запроса вызывается соответствующий SQL-сценарий
операции сервиса (при наличии).
Возвращает ID записи исходящего сообщения.
Если пользователь не имеет необходимых привилегий на сервис, возникает exception.
ScheduleOutMessage
FUNCTION ScheduleOutMessage(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, dSendTime DATE) RETURN DATE;
Описание
Ставит существующее исходящее сообщение в очередь на отправку в заданное время.
Возвращает предыдущее значение времени отправки.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения;
- dSendTime - желаемая дата и время отправки сообщения.
Если сообщение не содержит данных, не существует, заблокировано или пользователь не имеет необходимых привилегий,
возникает exception.
UnscheduleOutMessage
FUNCTION UnscheduleOutMessage(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN DATE;
Описание
Отменяет отправку исходящего сообщения. Возвращает предыдущее значение предполагаемого времени отправки.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения.
Если исходящее сообщение не существует, заблокировано или пользователь не имеет необходимых привилегий,
возникает exception.
RepeatFailedOutMsgCall
PROCEDURE RepeatFailedOutMsgCall(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER);
Описание
Ставит исходящее сообщение, последняя отправка которого завершилась неудачно, в очередь на повторную отправку.
Выполняется только в том случае, если отправка сообщения ещё не запланирована, в противном случае заданное время
отправки остаётся без изменения.
Сообщение также не ставится в очередь на повторную отправку, если неудачных попыток не было или последняя попытка
отправки была успешной.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения.
Если исходящее сообщение не существует или заблокировано, возникает exception.
GetCallToProcessKeys
FUNCTION GetCallToProcessKeys(iiRegionIDs uszn.TIntegerList, iMaxRecordCount PLS_INTEGER) RETURN uszn.TRgnKeyList;
Описание
Возвращает список ключей записей об отправке сообщений, подлежащих обработке.
Параметры:
- iiRegionIDs - список ID рабочих районов;
- iMaxRecordCount - максимальное допустимое количество записей, которое возвращает функция.
Возвращается список ключей только тех записей, на обработку которых текущий пользователь имеет право.
GetOutMsgResultData
FUNCTION GetOutMsgResultData(iRegionID PLS_INTEGER, iCallID PLS_INTEGER, iStrictHasData PLS_INTEGER) RETURN BLOB;
Описание
Возвращает данные ответа на отправленное сообщение.
Параметры:
- iRegionID, iCallID - ключ записи об отправке сообщения;
- iStrictHasData - определяет поведение при отсутствии данных.
Запрос должен существовать и быть успешно отправлен.
Если данные ответа отсутствуют, возникает exception.
ProcessOutMsgResult
FUNCTION ProcessOutMsgResult(iRegionID PLS_INTEGER, iCallID PLS_INTEGER, iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL) RETURN PLS_INTEGER;
Описание
Обрабатывает результат запроса.
Параметры:
- iRegionID, iCallID - ключ записи об отправке запроса;
- iAudOriginID - ID источника события для аудита по документу;
- sAudNotes - примечания для аудита по документу.
Запрос должен существовать и быть успешно отправлен.
Возвращает ID записи с информацией об обработке.
GetCallState
FUNCTION GetCallState(iRegionID PLS_INTEGER, iCallID PLS_INTEGER) RETURN uszn.pkSMEVCall.TCallState;
Описание
Возвращает состояние записи об отправке исходящего сообщения.
Параметры:
- iRegionID, iCallID - ключ записи об отправке сообщения.
Если запись об отправке сообщения не существует, возникает exception.
GetCallProcessingState
FUNCTION GetCallProcessingState(iRegionID PLS_INTEGER, iCallProcessingID PLS_INTEGER) RETURN uszn.pkSMEVCall.TCallProcessingState;
Описание
Возвращает состояние записи об обработке отправленного исходящего сообщения.
Параметры:
- iRegionID, iCallProcessingID - ключ записи об обработке отправленного сообщения.
Если запись об обработке отправленного сообщения не существует, возникает exception.
GetLastOutMsgCallID
FUNCTION GetLastOutMsgCallID(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID последней записи отправки исходящего сообщения.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения.
Если сообщение ещё ни разу не отправлялось, возвращает null.
Если исходящее сообщение не существует, возникает exception.
GetLastOutMsgSendTime
FUNCTION GetLastOutMsgSendTime(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN DATE;
Описание
Возвращает дату и время последней попытки отправки исходящего сообщения.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения.
Если попыток отправки не было, возвращает null.
Если исходящее сообщение не существует, возникает exception.
GetLastFailedOutMsgCallCount
FUNCTION GetLastFailedOutMsgCallCount(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает количество произошедших подряд сбоев при отправке исходящего сообщения, начиная с последней отправки,
допускающих повторную отправку сообщения до достижения максимально допустимого количества сбоев.
Параметры:
- iRegionID, iOutMessageID - ключ исходящего сообщения.
Если сообщение ещё ни разу не отправлялось, возвращает 0.
Если исходящее сообщение не существует, возникает exception.