Команда "Container.Accept" - принятие нового контейнера на хранение

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

Команда "Container.Accept" - принятие нового контейнера на хранение

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

Команда сообщает серверу, что нужно принять новый контейнер на постоянное хранение. "Новый" - значит отсутствующий в базе АСК.

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

1. Отдача команды путем добавления записи в таблицу sarmat.command_gas
Команда отдается путем добавления записи в таблицу sarmat.command_gas.
Передаются поля:
  • Command_type_id=11
  • Container_ID = ID контейнера в базе Заказчика
  • Container_Type = ID типоразмера контейнера из информационной базы заказчика
  • Container_barcode = Штрих-код контейнера
  • Cell_id = ID ячейки (из соотв. таблицы Заказчика) откуда нужно забрать контейнер
Если система не найдет контейнер в таблице sarmat.container по ID, то она добавит его автоматически с указанными в команде параметрами.

Возвращает поля:
  • «State» результат выполнения команды:
    • = 0 команда в процессе добавления
    • = 1 команда принята АСК к выполнению
    • = 2 ошибка выполнения команды
    • = 3 команда начала выполняться
    • = 5 команда успешно выполнена
  • в поле «cell_out_name» наименование той ячейки, в которую будет помещен контейнер на хранение. Может заполниться не сразу после добавления команды, а через какое-то время.
  • в поле «zone_letter» (символьное) заполняется ABC-зона, куда будет помещен товар на постоянное хранение. Поле заполняется по времени одновременно с «cell_out_name».

Пример добавления команды:

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

insert into sarmat.command_gas (command_type_id,container_id,container_barcode ,CONTAINER_TYPE , cell_id)
values(11,4429407999,'BX-99527',1,106704) returning ID into :CMDID;


2. Отдача команды путем вызова pl-sql функции из пакета sarmat.api
Чтобы дать команду на прием нового контейнера, используйте pl-sql функцию sarmat.api.Container_Accept_by_ID со следующими параметрами:
  • Container_ID = ID контейнера в базе Заказчика
  • Container_Type = ID типоразмера контейнера из информационной базы заказчика
  • Container_barcode = Штрих-код контейнера
  • Cell_id = ID ячейки (из соотв. таблицы Заказчика) откуда нужно забрать контейнер
Пример вызова:

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

declare
  cmd_id number;
begin
  cmd_id:= sarmat.api.Container_Accept_by_ID(4429407442,'BX-99527',1,106704);
end;
/

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