Так же можно формировать условие по нескольким условиям, при этом значения в filterField, filterValue и filterCond должны разделяться запятыми. filterCond в этом случае не имеет условий по умолчанию. Условия объединяются по логическому 'И'.

Пример запроса с несколькими условиями

<getNSI>

<tableName value="T_INV_TRANSP_CLAUSE"/>

<filterField value="TRANSPCLAUSE_ID, TRANSPCLAUSE_ID, CC_IDTARIFMARK, DESCRIPTION"/>

<filterCond value="&gt;,&lt;,is, like"/>

<filterValue value="100,900,NULL,%сертификат%"/>

</getNSI>

Будет сформированы записи, имеющие TRANSPCLAUSE_ID в диапазоне от 100 до 900, пустое поле CC_ID и содержащие в поле DESCRIPTION текст “сертификат”.

Запрос по справочнику опасных грузов, принадлежащих тарифной группе НЕФТЬ И НЕФТЕПРОДУКТЫ:

<getNSI>

<tableName value="DF_DANGER"/>

<filterField value="ETSNG"/>

<filterCond value="like"/>

<filterValue value="2%"/>

</getNSI>

При задании значений по условию fromTransID будут выбираться значения из запрашиваемой таблицы имеющие поле Trans_ID > fromTransID. При этом выдаваемое количество записей будет ограничиваться – будет выдано примерно 200 (или больше записей – для условия чтобы текущий Trans_ID был выбран полностью). По умолчанию fromTransID имеет значение равное 0.

Справочники НСИ содержит поля RecDateBegin и RecDateEnd – эти поля нужны для определения действующей записи.

НЕ нашли? Не то? Что вы ищете?

Например, как работает удаление записей: у такой записи изменится
поле TransID и выставится RecDateEnd = дате удаления.

Также работает и изменение текущей записи - старая удаляется описанным
способом и заводится новая запись с тем же ID и нужными значениями. Т. е. при получении каждой записи, кроме внесения новых записей, необходимо обновить имеющиеся данные с таким же ID. Пример:

UPDATE station

set RecDateEnd=(дата начала новой записи)

WHERE RecDateEnd>(дата начала новой записи)

and ST_ID=(ID станции)

and TRANS_ID<(trans_id новой записи)

Если в справочнике есть поля RecDateBegin и RecDateEnd и нет поля Trans_ID, то выдаваемые записи будут ограничены условием: RecDateBegin <= (текущая дата) и RecDateEnd > (текущая дата) – т. е. будут выданы только действующие записи. Если задать условие на данные поля, то это ограничение снимается.

В большинстве случаях таблицы без поля Trans_ID и полей RecDateBegin и RecDateEnd малы по размеру, и обновление можно проводить, полностью вычитывая и заменяя данные.

Также можно поступать с таблицами, не имеющими поля TransID и имеющие поля RecDateBegin и RecDateEnd. Однако, если это нежелательно, то для определения удаленные или изменненые записи с определенной даты (например, с последнего обновления НСИ) для таких таблиц необходимо выполнить два запроса:

-  с определением удаленных записей: RecDateEnd > (дата определения) и RecDateEnd < (текущая дата)

-  с получением новых записей: RecDateBegin > (дата определения), RecDateBegin <= (текущая дата) и RecDateEnd > (текущая дата)

Ответ запроса приведен в пункте «Данные нормативно-справочной информации»

4.  Описание доступной НСИ.

4.1.  Грузы

Назначение: Классификатор грузов

Таблица: FREIGHT

Поле

Тип данных

Первичный ключ

Комментарий

TRANS_ID

NUMBER(9)

*

Номер транзакции

FR_ID

NUMBER(8)

*

Условный идентификатор

RECDATENEW

DATE

Дата появления записи в таблице

RECDATEBEGIN

DATE

Дата ввода в действие

RECDATEEND

DATE

Дата вывода из действия

ORDER_NO

VARCHAR(40)

Номер приказа на изменение классификатора

FR_CODE_ETSNG

VARCHAR2(6)

Код ЕТСНГ

FR_GG_NUMBER

NUMBER(3)

Идентификатор группы груза

(Sum_Freight. GG_Number)

FR_CODE_GNG

VARCHAR2(2)

Код ГНГ

FR_SHORT_NAME

VARCHAR2(15)

Наименование сокр

FR_NAME

VARCHAR2(150)

Наименование полное

FR_CLASS

VARCHAR2(2)

Класс груза

FR_GO6_ID

NUMBER(2)

Код груза по ГО-6(GO6_Freight. GO6_CODE)

FR_GO10_ID

NUMBER(2)

Код груза по ГО-10, ГО-10А, ЦО-29 (GO10_Freight. GO10_CODE)

FR_CO11_ID

NUMBER(2)

Код груза по ЦО-11

GUARD

CHAR(1)

Признак обязательной охраны

SKOROPORT

CHAR(1)

Признак скоропортящегося груза

NAVAL

CHAR(1)

Груз можно везти навалом

NASIP

CHAR(1)

Груз можно везти насыпью

NALIV

CHAR(1)

Груз можно везти наливом

KARANTIN

CHAR(1)

Карантинный груз

OPENVAGONS

CHAR(1)

Признак перевозки на открытом подвижном составе

SOPROVOD

CHAR(1)

Груз требует сопровождения

SMERZ

CHAR(1)

Признак смерзающегося груза

ALPH_EXIST

CHAR(1)

Признак не группирующего груза - присутствие в алфавитном справочнике

EXACT_NAME

CHAR(1)

Требует ввода точного наименования

FR_CO15_ID

NUMBER (3)

ID группы по ЦО-15(FREIGHT_CO15.CO15_ID)

4.2.  Грузы ГНГ

Назначение: Гармонизированная номенклатура грузов (устарело)

Таблица: GNG_FREIGHT

Поле

Тип данных

Первичный ключ

Комментарий

TRANS_ID

NUMBER(9)

*

Номер транзакции

GF_ID

NUMBER(5)

*

Условный идентификатор

RECDATENEW

DATE

Дата появления записи в таблице

RECDATEBEGIN

DATE

Дата ввода в действие

RECDATEEND

DATE

Дата вывода из действия

ORDER_NO

VARCHAR(40)

Номер приказа на изменение классификатора

GF_CODE

VARCHAR2(6)

Код груза

ETSNG

VARCHAR2(3)

Соотв. грузы ЕТСНГ(первые 3зн. кода ЕТСНГ)

GF_NAME

VARCHAR2(175)

Наименование груза

GNG_FREIGHT_2001_GF_CODE

VARCHAR2(8)

DOPKOD

VARCHAR2(8)

4.3.  Грузы ГНГ 2001

Назначение: Гармонизированная номенклатура грузов (8-значные грузы ГНГ)

Таблица: GNG_FREIGHT_2001

Поле

Тип данных

Первичный ключ

Комментарий

TRANS_ID

NUMBER(9)

*

Номер транзакции

GF_ID

NUMBER(5)

*

Условный идентификатор

RECDATENEW

DATE

Дата появления записи в таблице

RECDATEBEGIN

DATE

Дата ввода в действие

RECDATEEND

DATE

Дата вывода из действия

ORDER_NO

VARCHAR(40)

Номер приказа на изменение классификатора

GF_CODE

VARCHAR2(8)

Код груза

GF_NAME

VARCHAR2(1000)

Наименование груза

ETSNG

VARCHAR2(31)

Соотв. грузы ЕТСНГ (первые 3 зн. кода ЕТСНГ) может быть список через запятую

GF_CODE_OLD

VARCHAR2(6)

Старый код ГНГ

FR_ID

NUMBER(8)

Ссылка на груз ЕТСНГ

4.4.  Группы груза

Назначение: Номенклатурные группы

Таблица: SUM_FREIGHT

Поле

Тип данных

Первичный ключ

Комментарий

TRANS_ID

NUMBER(9)

*

Номер транзакции

GG_NUMBER

NUMBER(3)

*

Порядковый номер

RECDATENEW

DATE

Дата появления записи в таблице

RECDATEBEGIN

DATE

Дата ввода в действие

RECDATEEND

DATE

Дата вывода из действия

ORDER_NO

VARCHAR(40)

Номер приказа на изменение классификатора

GG_NAME

VARCHAR2(150)

Наименование номенклатурных групп

GG_CHAR_NAME

VARCHAR2(2)

Буквенное обозначение групп (шифр)

STAT_MIN

NUMBER(3)

Минимальная норма загрузки данного груза на вагон

STAT_MAX

NUMBER(3)

Максимальная норма загрузки данного груза на вагон

GG_TYPE

CHAR(1)

Для фиктивных групп (40,41,42) должен быть 1, для всех остальных - null

GG_NEED_WEIGHT

CHAR(1)

Признак необходимости указания веса груза в п. д.

4.5.  Дороги

Назначение: Классификатор железных дорог СНГ

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21