P8-Panels/db/PKG_P8PANELS_PE.pck

266 lines
11 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
/