Входные параметры
Параметр | Тип | Описание |
---|---|---|
REGDATE |
DATE |
|
CONTRACTID |
INTEGER |
|
SERVICEID |
INTEGER |
|
CROPID |
INTEGER |
|
CLASSID |
INTEGER |
|
BUHQUALITYID |
INTEGER |
|
Выходные параметры
Параметр | Тип | Описание |
---|---|---|
COST |
DECIMAL(15,4) |
|
CONTRACTCOSTDATE |
DATE |
|
PRIVILEGEDAYS |
INTEGER |
|
WEIGHT |
INTEGER |
|
HUMB |
NUMERIC(4,2) |
|
DIRTB |
NUMERIC(4,2) |
|
SCB |
NUMERIC(4,2) |
|
Описание
(Нет описания для процедуры GET_CONTRACT_COSTS_EXP)
Определение
CREATE PROCEDURE GET_CONTRACT_COSTS_EXP(
REGDATE DATE,
CONTRACTID INTEGER,
SERVICEID INTEGER,
CROPID INTEGER,
CLASSID INTEGER,
BUHQUALITYID INTEGER)
RETURNS (
COST DECIMAL(15,4),
CONTRACTCOSTDATE DATE,
PRIVILEGEDAYS INTEGER,
WEIGHT INTEGER,
HUMB NUMERIC(4,2),
DIRTB NUMERIC(4,2),
SCB NUMERIC(4,2))
AS
declare variable QUALITYID integer;
declare variable FRACTION numeric(4,2);
begin
select GET_CONTRACT_COSTS.COST, GET_CONTRACT_COSTS.CONTRACTCOSTDATE,
GET_CONTRACT_COSTS.PRIVILEGEDAYS, GET_CONTRACT_COSTS.WEIGHT,
GET_CONTRACT_COSTS.QUALITYID, GET_CONTRACT_COSTS.HUMB,
GET_CONTRACT_COSTS.DIRTB, GET_CONTRACT_COSTS.SCB
from GET_CONTRACT_COSTS(:REGDATE, :CONTRACTID, :SERVICEID, :CROPID, :CLASSID)
into :COST, :CONTRACTCOSTDATE, :PRIVILEGEDAYS, :WEIGHT, :QUALITYID, :HUMB, :DIRTB, :SCB;
if (:SERVICEID = 5) then begin
for
select QDATA.QUALITYVALUE
from CROPPARAMS
join QUALITYDATA on ((QUALITYDATA.QUALITYID = :QUALITYID)
and (QUALITYDATA.QUALITYTYPEID = CROPPARAMS.QUALITYTYPEID))
join QUALITYDATA QDATA on ((QDATA.QUALITYID = :BUHQUALITYID)
and (QDATA.QUALITYTYPEID = QUALITYDATA.QUALITYTYPEID))
where ((CROPPARAMS.CROPPARAMTYPEID = 31)
and (CROPPARAMS.CROPID = -1)
and (CROPPARAMS.PARENTID = 13))
into :FRACTION
do
DIRTB = coalesce(:DIRTB,0) + coalesce(:FRACTION,0);
end
suspend;
end