Входные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
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
         
         
         
       |