Файловый обмен: различия между версиями
Перейти к навигации
Перейти к поиску
GetDriverClass(aClientID NUMBER, aOnDate DATE) RETURN NUMBER – возвращает идентификатор класса «бонус-малус», где:
aClientID – идентификатор клиента ЕСБД;
aOnDate - дата на которую необходимо получить класс;
GetDriverClassText( aClientID NUMBER, aOnDate DATE) RETURN VARCHAR2 – возвращает название класса «бонус-малус», где:
aClientID – идентификатор клиента ЕСБД;
aOnDate - дата на которую необходимо получить класс; Пример: :GETTABLEDATA=CLIENTS;CONDITION=GetDriverClass(tab99.Client_ID,SYSDATE)<>5;COLUMNS=CLIENT_ID,GetDriverClass(tab99.Client_ID,SYSDATE) AS CLASS Команда: TABLE Назначение: Вставка/редактирование/удаление данных. Данная команда используется во входящем файле – в качестве команды вставки/изменения данных таблицы, либо в файле ответа – в качестве результата команды. Синтаксис: :TABLE = <Имя_таблицы>
Поле1<символ_табуляции>Поле2<символ_табуляции>Поле3
Значение1<символ_табуляции>Значение2<символ_табуляции>Значение3
…
Поле1<символ_табуляции>Поле2<символ_табуляции>Поле3
Значение1<символ_табуляции>Значение2<символ_табуляции>Значение3
Admin (обсуждение | вклад) (→Описание структуры и команд файла-ответа: edit probf2) |
Admin (обсуждение | вклад) (proba) |
||
Строка 1: | Строка 1: | ||
===Описание структуры и команд входящего файла=== | ===Описание структуры и команд входящего файла=== | ||
+ | |||
#Все входящие файлы архивируется в формате ZIP; | #Все входящие файлы архивируется в формате ZIP; | ||
#Файлы должны иметь расширение ZIP; | #Файлы должны иметь расширение ZIP; | ||
Строка 24: | Строка 25: | ||
|Аналогична команде :CHILDTABLE, только связь с :TABLE – динамическая | |Аналогична команде :CHILDTABLE, только связь с :TABLE – динамическая | ||
|} | |} | ||
+ | |||
===Описание структуры и команд файла-ответа=== | ===Описание структуры и команд файла-ответа=== | ||
+ | |||
#На каждый непустой входящий файл, система формирует файл ответа, причем:<br>Имя файла – имеет формат <Имя_входящего_файла>.ANS.ZIP;<br>Файл заархивирован в формате ZIP;<br>Внутри архивного файла-ответа содержатся файлы ответов на командные файлы содержавшиеся во входящем файле;<br>Имена файлов ответов имеют формат <Имя_командного_файла>.ANS | #На каждый непустой входящий файл, система формирует файл ответа, причем:<br>Имя файла – имеет формат <Имя_входящего_файла>.ANS.ZIP;<br>Файл заархивирован в формате ZIP;<br>Внутри архивного файла-ответа содержатся файлы ответов на командные файлы содержавшиеся во входящем файле;<br>Имена файлов ответов имеют формат <Имя_командного_файла>.ANS | ||
#Команды файлов ответов: | #Команды файлов ответов: | ||
Строка 56: | Строка 59: | ||
|:<ИМЯ_КОМАНДЫ><br>ПОЛЕ1<символ_табуляции>ПОЛЕ2<символ_табуляции>ПОЛЕ3<br>ЗНАЧЕНИЕ1<символ_табуляции>ЗНАЧЕНИЕ2<символ_табуляции>ЗНАЧЕНИЕ3<br>ЗНАЧЕНИЕ1<символ_табуляции>ЗНАЧЕНИЕ2<символ_табуляции>ЗНАЧЕНИЕ3 | |:<ИМЯ_КОМАНДЫ><br>ПОЛЕ1<символ_табуляции>ПОЛЕ2<символ_табуляции>ПОЛЕ3<br>ЗНАЧЕНИЕ1<символ_табуляции>ЗНАЧЕНИЕ2<символ_табуляции>ЗНАЧЕНИЕ3<br>ЗНАЧЕНИЕ1<символ_табуляции>ЗНАЧЕНИЕ2<символ_табуляции>ЗНАЧЕНИЕ3 | ||
|} | |} | ||
+ | |||
===Описание команд=== | ===Описание команд=== | ||
+ | |||
Команда :'''GETTABLEDATA''' | Команда :'''GETTABLEDATA''' |
Версия от 10:25, 31 июля 2008
Описание структуры и команд входящего файла
- Все входящие файлы архивируется в формате ZIP;
- Файлы должны иметь расширение ZIP;
- Имена файлов могут быть любыми на усмотрение страховой компании, но они не должны повторяться;
- Внутри входящего архивного файла могут быть несколько входящих командных файлов;
- Все даты передаются в ЕСБД в формате ДД.ММ.ГГГГ, разделитель целой и дробной части – «.»(точка), разделитель разрядов – отсутствует. Логические поля имеют варианты значения True, False
- Все ключевые поля (идентификаторы) имеют тип «число» размером 11 байт. Для обозначения вставки используется ключ меньше нуля. В ответе будет возвращено, какой отрицательный ключ был заменен реальным ключом ЕСБД.
- Команды входящих командных файлов
Имя команды | Назначение |
---|---|
:GETTABLEDATA= | запрос данных |
:TABLE= | передача данных для вставки/изменения/удаления записи из таблицы |
:CHILDTABLE= | обеспечивает единую транзакцию. Записи будут сохранены, только в случае если была сохранена запись из команды :TABLE |
:DYNAMICCHILDTABLE= | Аналогична команде :CHILDTABLE, только связь с :TABLE – динамическая |
Описание структуры и команд файла-ответа
- На каждый непустой входящий файл, система формирует файл ответа, причем:
Имя файла – имеет формат <Имя_входящего_файла>.ANS.ZIP;
Файл заархивирован в формате ZIP;
Внутри архивного файла-ответа содержатся файлы ответов на командные файлы содержавшиеся во входящем файле;
Имена файлов ответов имеют формат <Имя_командного_файла>.ANS - Команды файлов ответов:
Имя команды | Назначение |
---|---|
:CRCERROR | Ошибка контрольной суммы |
:ERROR= | Ошибка с описанием и указанием номера строки |
:TABLE= | Записи таблицы, сформированные по запросу :GETTABLEDATA |
:CHANGEID | Список выданных ключей |
Принцип формирования файла
- Каждая команда начинается с новой строки без пробелов;
- Все команды, кроме табличных команд, пишутся в одну строку;
- Все ключевые поля (идентификаторы) имеют тип «число» размером 11 байт. Для обозначения вставки используется ключ меньше нуля. В ответе будет возвращено, какой отрицательный ключ был заменен реальным ключом ЕСБД.
- Табличные данные передаются в виде:
- В строках, следующих за командой, перечисляется список имен полей, разделенных символом табуляции. После строки с именами полей указываются строки с данными, поля которых также разделяются символом табуляции. Конец блока определяется концом файла, либо строкой, содержащей следующую команду.
- Пример:
:<ИМЯ_КОМАНДЫ> ПОЛЕ1<символ_табуляции>ПОЛЕ2<символ_табуляции>ПОЛЕ3 ЗНАЧЕНИЕ1<символ_табуляции>ЗНАЧЕНИЕ2<символ_табуляции>ЗНАЧЕНИЕ3 ЗНАЧЕНИЕ1<символ_табуляции>ЗНАЧЕНИЕ2<символ_табуляции>ЗНАЧЕНИЕ3 |
Описание команд
Команда :GETTABLEDATA
Назначение: Запрос данных из ЕСБД
Синтаксис:
Команда пишется в одной строке. Конец командного блока определяется концом файла, либо строкой, содержащей следующую команду.
Доступные функции:GetDriverClass(aClientID NUMBER, aOnDate DATE) RETURN NUMBER – возвращает идентификатор класса «бонус-малус», где:
aClientID – идентификатор клиента ЕСБД;
aOnDate - дата на которую необходимо получить класс;
GetDriverClassText( aClientID NUMBER, aOnDate DATE) RETURN VARCHAR2 – возвращает название класса «бонус-малус», где:
aClientID – идентификатор клиента ЕСБД;
aOnDate - дата на которую необходимо получить класс; Пример: :GETTABLEDATA=CLIENTS;CONDITION=GetDriverClass(tab99.Client_ID,SYSDATE)<>5;COLUMNS=CLIENT_ID,GetDriverClass(tab99.Client_ID,SYSDATE) AS CLASS Команда: TABLE Назначение: Вставка/редактирование/удаление данных. Данная команда используется во входящем файле – в качестве команды вставки/изменения данных таблицы, либо в файле ответа – в качестве результата команды. Синтаксис: :TABLE = <Имя_таблицы>
Поле1<символ_табуляции>Поле2<символ_табуляции>Поле3
Значение1<символ_табуляции>Значение2<символ_табуляции>Значение3
…
- CHILDTABLE=<Имя_дочерней_таблицы>
Поле1<символ_табуляции>Поле2<символ_табуляции>Поле3
Значение1<символ_табуляции>Значение2<символ_табуляции>Значение3
Имя таблицы | Имя таблицы, из которой осуществляется выборка |
---|---|
Условия | SQL условия, ограничивающие записи (алиас таблицы выборки, для подзапросов - tab99). При работе с полями типа «Дата» используется преобразование TO_DATE(’01.01.2007’,’dd.mm.yyyy’) |
Колонки |