Команда "Container.Remove" - оповещение сервера об ручном извлечении контейнера из ячейки

korvin
Администратор
Сообщения: 201
Зарегистрирован: 18 ноя 2017, 15:36

Команда "Container.Remove" - оповещение сервера об ручном извлечении контейнера из ячейки

Сообщение korvin » 27 авг 2020, 10:58

Команда сообщает серверу, что указанный контейнер извлечен из АСК за его пределы. Данная команда может использоваться:
  1. при пополнении контейнера товаром, для указания системе, что контейнер извлечен и ячейка освободилась;
  2. при отборе товара из контейнера, для указания системе, что контейнер извлечен и ячейка освободилась;
  3. для извлечения пустого контейнера из системы
Дать команду можно двумя разными способами:
  1. путем добавления записи в таблицу sarmat.command_gas;
  2. путем вызова pl-sql функции sarmat.api.Container_Remove_by_ID.
Оба варианта идентичны по сути, и отличаются лишь формой.
В случае, если параметры выполнения команды заданы неверно, формируется программное исключение raise с соотв. кодом ошибки.

1. Отдача команды путем добавления записи в таблицу sarmat.command_gas
Команда отдается путем добавления записи в таблицу sarmat.command_gas.
Передаются поля:
  • Command_type_id=13
  • Container_id = ID контейнера из соответствующей таблицы Заказчика
Возвращает поля:
«State» результат выполнения команды:
= 0 команда в процессе добавления
= 1 команда принята АСК к выполнению
= 2 ошибка выполнения команды
= 5 команда успешно выполнена

Чтобы узнать ID, присваиваемое сервером команде, используйте конструкцию 'returning'. Пример добавления команды для извлечения контейнера:

Код: Выделить всё

insert into sarmat.command_gas (command_type_id,container_id )
values(13, 4429407442) returning ID into :CMDID;


2. Отдача команды путем вызова pl-sql функции из пакета sarmat.api
Чтобы дать команду на ручное извлечение контейнера из ячейки, используйте pl-sql функцию sarmat.api.Container_Remove_by_ID со следующими параметрами:
  • container_id = ID извлекаемого контейнера в базе Заказчика.
Пример вызова:

Код: Выделить всё

declare
  cmd_id number;
begin
  cmd_id:= sarmat.api.Container_Remove_by_ID(4429407442);
end;
/

Вернуться в «АСК Гамма»