266 lines
11 KiB
SQL
266 lines
11 KiB
SQL
create or replace package PKG_P8PANELS_PE as
|
||
|
||
/* Список аргументов пользовательской процедуры */
|
||
procedure USERPROCS_DESC
|
||
(
|
||
SCODE in varchar2, -- Мнемокод пользовательской процедуры
|
||
COUT out clob -- Сериализованный список аргументов
|
||
);
|
||
|
||
/* Получение списка панелей */
|
||
procedure PANEL_LIST
|
||
(
|
||
COUT out clob -- Сериализованный список панелей
|
||
);
|
||
|
||
/* Считывание базовой информации о панели */
|
||
procedure PANEL_ATTRS_GET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
NCHECK_ACCESS in number := 1, -- Признак проверки прав доступа (0 - нет, 1 - да)
|
||
COUT out clob -- Базовой информация о панели
|
||
);
|
||
|
||
/* Считывание базовой информации о панели (по мнемокоду) */
|
||
procedure PANEL_ATTRS_GET_BY_CODE
|
||
(
|
||
SCODE in varchar2, -- Мнемокод панели
|
||
NCHECK_ACCESS in number := 1, -- Признак проверки прав доступа (0 - нет, 1 - да)
|
||
COUT out clob -- Базовой информация о панели
|
||
);
|
||
|
||
/* Добавление панели */
|
||
procedure PANEL_INSERT
|
||
(
|
||
SCODE in varchar2, -- Мнемокод
|
||
SNAME in varchar2, -- Наименование
|
||
NRN out number -- Рег. номер добавленной панели
|
||
);
|
||
|
||
/* Исправление панели */
|
||
procedure PANEL_UPDATE
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
SCODE in varchar2, -- Мнемокод
|
||
SNAME in varchar2 -- Наименование
|
||
);
|
||
|
||
/* Удаление панели */
|
||
procedure PANEL_DELETE
|
||
(
|
||
NRN in number -- Рег. номер панели
|
||
);
|
||
|
||
/* Установка признака "готовности" панели */
|
||
procedure PANEL_READY_SET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
NREADY in number -- Флаг готовности к использованию (0 - нет, 1 - да)
|
||
);
|
||
|
||
/* Установка признака "публичности" панели */
|
||
procedure PANEL_PBL_SET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
NPBL in number -- Флаг публичности (0 - приватный, 1 - публичный)
|
||
);
|
||
|
||
/* Импорт панели из файла */
|
||
procedure PANEL_IMPORT
|
||
(
|
||
CPANEL in clob, -- Описание импортируемой панели
|
||
NRN out number -- Рег. номер импортированной панели
|
||
);
|
||
|
||
/* Получение описания панели */
|
||
procedure PANEL_DESC_GET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
COUT out clob -- Сериализованное описание панели
|
||
);
|
||
|
||
/* Сохранение описания панели */
|
||
procedure PANEL_DESC_SET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
CPANEL in clob -- Описание панели
|
||
);
|
||
|
||
end PKG_P8PANELS_PE;
|
||
/
|
||
create or replace package body PKG_P8PANELS_PE as
|
||
|
||
/* Описание пользовательской процедуры */
|
||
procedure USERPROCS_DESC
|
||
(
|
||
SCODE in varchar2, -- Мнемокод пользовательской процедуры
|
||
COUT out clob -- Сериализованный список аргументов
|
||
)
|
||
is
|
||
begin
|
||
/* Базовое описание пользовательской процедуры */
|
||
PKG_P8PANELS_PE_BASE.USERPROCS_DESC(SCODE => SCODE, COUT => COUT);
|
||
end USERPROCS_DESC;
|
||
|
||
/* Получение списка панелей */
|
||
procedure PANEL_LIST
|
||
(
|
||
COUT out clob -- Сериализованный список панелей
|
||
)
|
||
is
|
||
begin
|
||
/* Базово сформируем список */
|
||
COUT := PKG_P8PANELS_PE_BASE.PANEL_LIST_GET(SUSER => UTILIZER());
|
||
end PANEL_LIST;
|
||
|
||
/* Считывание базовой информации о панели */
|
||
procedure PANEL_ATTRS_GET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
NCHECK_ACCESS in number := 1, -- Признак проверки прав доступа (0 - нет, 1 - да)
|
||
COUT out clob -- Базовой информация о панели
|
||
)
|
||
is
|
||
begin
|
||
/* Если права необходимо проверить */
|
||
if (NCHECK_ACCESS = 1) then
|
||
/* Проверим права доступа */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ACCESS_VIEW(NRN => NRN, SUSER => UTILIZER());
|
||
end if;
|
||
/* Считываем базовую информацию о панели */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ATTRS_GET(NRN => NRN, COUT => COUT);
|
||
end PANEL_ATTRS_GET;
|
||
|
||
/* Считывание базовой информации о панели (по мнемокоду) */
|
||
procedure PANEL_ATTRS_GET_BY_CODE
|
||
(
|
||
SCODE in varchar2, -- Мнемокод панели
|
||
NCHECK_ACCESS in number := 1, -- Признак проверки прав доступа (0 - нет, 1 - да)
|
||
COUT out clob -- Базовой информация о панели
|
||
)
|
||
is
|
||
NRN PKG_STD.TREF; -- Рег. номер панели
|
||
begin
|
||
/* Считываем рег. номер панели */
|
||
PKG_P8PANELS_PE_BASE.PANEL_FIND_BY_CODE(NFLAG_SMART => 0, NFLAG_OPTION => 0, SCODE => SCODE, NRN => NRN);
|
||
/* Если права необходимо проверить */
|
||
if (NCHECK_ACCESS = 1) then
|
||
/* Проверим права доступа */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ACCESS_VIEW(NRN => NRN, SUSER => UTILIZER());
|
||
end if;
|
||
/* Считываем базовую информацию о панели */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ATTRS_GET(NRN => NRN, COUT => COUT);
|
||
end PANEL_ATTRS_GET_BY_CODE;
|
||
|
||
/* Добавление панели */
|
||
procedure PANEL_INSERT
|
||
(
|
||
SCODE in varchar2, -- Мнемокод
|
||
SNAME in varchar2, -- Наименование
|
||
NRN out number -- Рег. номер добавленной панели
|
||
)
|
||
is
|
||
begin
|
||
/* Базовое добавление */
|
||
PKG_P8PANELS_PE_BASE.PANEL_INSERT(SCODE => SCODE, SNAME => SNAME, NRN => NRN);
|
||
end PANEL_INSERT;
|
||
|
||
/* Исправление панели */
|
||
procedure PANEL_UPDATE
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
SCODE in varchar2, -- Мнемокод
|
||
SNAME in varchar2 -- Наименование
|
||
)
|
||
is
|
||
begin
|
||
/* Проверим права доступа */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ACCESS_MODIFY(NRN => NRN, SUSER => UTILIZER());
|
||
/* Базовое исправление */
|
||
PKG_P8PANELS_PE_BASE.PANEL_UPDATE(NRN => NRN, SCODE => SCODE, SNAME => SNAME);
|
||
end PANEL_UPDATE;
|
||
|
||
/* Удаление панели */
|
||
procedure PANEL_DELETE
|
||
(
|
||
NRN in number -- Рег. номер панели
|
||
)
|
||
is
|
||
begin
|
||
/* Проверим права доступа */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ACCESS_MODIFY(NRN => NRN, SUSER => UTILIZER());
|
||
/* Базовое удаление */
|
||
PKG_P8PANELS_PE_BASE.PANEL_DELETE(NRN => NRN);
|
||
end PANEL_DELETE;
|
||
|
||
/* Установка признака "готовности" панели */
|
||
procedure PANEL_READY_SET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
NREADY in number -- Флаг готовности к использованию (0 - нет, 1 - да)
|
||
)
|
||
is
|
||
begin
|
||
/* Проверим права доступа */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ACCESS_MODIFY(NRN => NRN, SUSER => UTILIZER());
|
||
/* Базовая установка признака готовности */
|
||
PKG_P8PANELS_PE_BASE.PANEL_READY_SET(NRN => NRN, NREADY => NREADY);
|
||
end PANEL_READY_SET;
|
||
|
||
/* Установка признака "публичности" панели */
|
||
procedure PANEL_PBL_SET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
NPBL in number -- Флаг публичности (0 - приватный, 1 - публичный)
|
||
)
|
||
is
|
||
begin
|
||
/* Проверим права доступа */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ACCESS_MODIFY(NRN => NRN, SUSER => UTILIZER());
|
||
/* Базовая установка признака публичности */
|
||
PKG_P8PANELS_PE_BASE.PANEL_PBL_SET(NRN => NRN, NPBL => NPBL);
|
||
end PANEL_PBL_SET;
|
||
|
||
/* Импорт панели из файла */
|
||
procedure PANEL_IMPORT
|
||
(
|
||
CPANEL in clob, -- Описание импортируемой панели
|
||
NRN out number -- Рег. номер импортированной панели
|
||
)
|
||
is
|
||
begin
|
||
/* Базовое импортирование панели */
|
||
PKG_P8PANELS_PE_BASE.PANEL_IMPORT(CPANEL => CPANEL, NRN => NRN);
|
||
end PANEL_IMPORT;
|
||
|
||
/* Получение описания панели */
|
||
procedure PANEL_DESC_GET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
COUT out clob -- Сериализованное описание панели
|
||
)
|
||
is
|
||
begin
|
||
/* Проверим права доступа */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ACCESS_VIEW(NRN => NRN, SUSER => UTILIZER());
|
||
/* Получим описание панели */
|
||
COUT := PKG_P8PANELS_PE_BASE.PANEL_DESC_GET(NRN => NRN);
|
||
end PANEL_DESC_GET;
|
||
|
||
/* Сохранение описания панели */
|
||
procedure PANEL_DESC_SET
|
||
(
|
||
NRN in number, -- Рег. номер панели
|
||
CPANEL in clob -- Описание панели
|
||
)
|
||
is
|
||
begin
|
||
/* Проверим права доступа */
|
||
PKG_P8PANELS_PE_BASE.PANEL_ACCESS_MODIFY(NRN => NRN, SUSER => UTILIZER());
|
||
/* Сохраняем описание панели */
|
||
PKG_P8PANELS_PE_BASE.PANEL_DESC_SET(NRN => NRN, CPANEL => CPANEL);
|
||
end PANEL_DESC_SET;
|
||
|
||
end PKG_P8PANELS_PE;
|
||
/
|