TCF-Framework-Integration/db/UDO_P_EQCONFIG_DATASET_MAKE.prc

55 lines
3.0 KiB
SQL
Raw Permalink 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 procedure UDO_P_EQCONFIG_DATASET_MAKE
/* Формирование сведений о наработках единицы оборудования для прогноза */
(
NEQCONFIG in number, -- Рег. номер единицы оборудования
DBEG in date, -- Дата "С"
DEND in date, -- Дата "По"
NDATASET_IDENT out number, -- Идентификатор буфера данных
NDATASET_CONFIG_IDENT out number, -- Идентификатор буфера описания данных
NREQUEST_CONFIG_IDENT out number -- Идентификатор буфера описания запроса
)
is
CREQUEST_CONFIG clob; -- Буфер для описания запроса
begin
/* НАЧАЛО: Временная заглушка с отладочными данными (удалить) */
/* create table UDO_T_FILE_BUFFER as select * from FILE_BUFFER; */
for C in (select T.* from UDO_T_FILE_BUFFER T)
loop
if (C.BDATA is null) then
NDATASET_CONFIG_IDENT := GEN_IDENT();
P_FILE_BUFFER_INSERT(NIDENT => NDATASET_CONFIG_IDENT,
CFILENAME => C.FILENAME,
CDATA => C.DATA,
BLOBDATA => C.BDATA);
else
NDATASET_IDENT := GEN_IDENT();
P_FILE_BUFFER_INSERT(NIDENT => NDATASET_IDENT, CFILENAME => C.FILENAME, CDATA => C.DATA, BLOBDATA => C.BDATA);
end if;
end loop;
/* Сформируем описание параметров выборки (ПРИ УДАЛЕНИИ ЗАГЛУШКИ ЭТО НАДО ОСТАВИТЬ) */
NREQUEST_CONFIG_IDENT := GEN_IDENT();
UDO_PKG_EQUIPDS_BASE.UTL_FORECAST_RQ_MAKE_CFG(DBEG => DBEG, DEND => DEND, NINTERVAL => 1, CRQ_CFG => CREQUEST_CONFIG);
P_FILE_BUFFER_INSERT(NIDENT => NREQUEST_CONFIG_IDENT,
CFILENAME => TO_CHAR(NREQUEST_CONFIG_IDENT) || '.xml',
CDATA => CREQUEST_CONFIG,
BLOBDATA => null);
return;
/* КОНЕЦ: Временная заглушка с отладочными данными (удалить) */
/* Обратимся к еденице оборудования */
for C in (select T.COMPANY,
T.RN
from EQCONFIG T
where T.RN = NEQCONFIG)
loop
/* Соберём данные */
UDO_PKG_EQUIPDS_DATAPROCESS.DATASET_CONF_SET(NCOMPANY => C.COMPANY,
NEQCONFIG => C.RN,
DBEG => DBEG,
DEND => DEND,
NLENGTH_GB => 1,
NDATASET_IDENT => NDATASET_IDENT,
NDATASET_CONFIG_IDENT => NDATASET_CONFIG_IDENT);
end loop;
end UDO_P_EQCONFIG_DATASET_MAKE;
/