Procedura-CheckDivision

Parametry:

NázevPopisDatový typ
ADivision_IDChar(10)
ADivisionSel_IDChar(10)
ADivisionsWithChildrenChar(1)

Návratové hodnoty:

NázevPopisDatový typ
ABoolResultInteger

Tělo:

BEGIN
  /* Procedura vrátí kladne cislo vetsi nez nula tehdy, jestlize je
  predane stredisko v subselektu za strediska */
  IF (:ADivisionsWithChildren IN ('1', 'A')) THEN BEGIN
    /* vcetne podrizenych */
    SELECT COUNT(*)
      FROM Divisions Bx
      WHERE (Bx.ID = :ADivision_ID) AND (Bx.Hidden = 'N') AND
        ( (Bx.ID in (select OBJ_ID from SELDAT where SEL_ID = :ADivisionSel_ID)) OR
          (Bx.ID in (select ID from SYS$Divisions2 where Superior_ID in (select OBJ_ID from SELDAT where SEL_ID = :ADivisionSel_ID))) )
      INTO :ABoolResult;
  END
  ELSE BEGIN
    /* pouze za ty vybrane bez podrizenych */
    SELECT COUNT(*)
      FROM Divisions Bx
      WHERE (Bx.ID = :ADivision_ID) AND (Bx.Hidden = 'N') AND (Bx.ID in (select OBJ_ID from SELDAT where SEL_ID = :ADivisionSel_ID))
      INTO :ABoolResult;
  END
END;

Generated by ABRA Software a.s. 27.10.2021 16:34:15