Файловый обмен

Материал из Wiki ГКБ
Перейти к навигации Перейти к поиску

Описание структуры и команд входящего файла

  1. Все входящие файлы архивируется в формате ZIP;
  2. Файлы должны иметь расширение ZIP;
  3. Имена файлов могут быть любыми на усмотрение страховой компании, но они не должны повторяться;
  4. Внутри входящего архивного файла могут быть несколько входящих командных файлов;
  5. Все даты передаются в ЕСБД в формате ДД.ММ.ГГГГ, разделитель целой и дробной части – «.»(точка), разделитель разрядов – отсутствует. Логические поля имеют варианты значения True, False
  6. Все ключевые поля (идентификаторы) имеют тип «число» размером 11 байт. Для обозначения вставки используется ключ меньше нуля. В ответе будет возвращено, какой отрицательный ключ был заменен реальным ключом ЕСБД.
  7. Команды входящих командных файлов
Имя команды Назначение
:GETTABLEDATA= запрос данных
:TABLE= передача данных для вставки/изменения/удаления записи из таблицы
:CHILDTABLE= обеспечивает единую транзакцию. Записи будут сохранены, только в случае если была сохранена запись из команды :TABLE
:DYNAMICCHILDTABLE= Аналогична команде :CHILDTABLE, только связь с :TABLE – динамическая

Описание структуры и команд файла-ответа

  1. На каждый непустой входящий файл, система формирует файл ответа, причем:
    Имя файла – имеет формат <Имя_входящего_файла>.ANS.ZIP;
    Файл заархивирован в формате ZIP;
    Внутри архивного файла-ответа содержатся файлы ответов на командные файлы содержавшиеся во входящем файле;
    Имена файлов ответов имеют формат <Имя_командного_файла>.ANS
  2. Команды файлов ответов:
Имя команды Назначение :CRCERROR Ошибка контрольной суммы
:ERROR= Ошибка с описанием и указанием номера строки
:TABLE= Записи таблицы, сформированные по запросу :GETTABLEDATA
:CHANGEID Список выданных ключей

Принцип формирования файла

  1. Каждая команда начинается с новой строки без пробелов;
  2. Все команды, кроме табличных команд, пишутся в одну строку;
  3. Все ключевые поля (идентификаторы) имеют тип «число» размером 11 байт. Для обозначения вставки используется ключ меньше нуля. В ответе будет возвращено, какой отрицательный ключ был заменен реальным ключом ЕСБД.
  4. Табличные данные передаются в виде:
  • В строках, следующих за командой, перечисляется список имен полей, разделенных символом табуляции. После строки с именами полей указываются строки с данными, поля которых также разделяются символом табуляции. Конец блока определяется концом файла, либо строкой, содержащей следующую команду.
  • Пример:
:<ИМЯ_КОМАНДЫ>
ПОЛЕ1<символ_табуляции>ПОЛЕ2<символ_табуляции>ПОЛЕ3
ЗНАЧЕНИЕ1<символ_табуляции>ЗНАЧЕНИЕ2<символ_табуляции>ЗНАЧЕНИЕ3
ЗНАЧЕНИЕ1<символ_табуляции>ЗНАЧЕНИЕ2<символ_табуляции>ЗНАЧЕНИЕ3