Procedura-CheckBusOrder

Parametry:

NázevPopisDatový typ
ABusOrder_IDChar(10)
ABusOrderSel_IDChar(10)
ABusOrderWithChildrenChar(1)
ABusOrderWithNullChar(1)

Návratové hodnoty:

NázevPopisDatový typ
ABoolResultInteger

Tělo:

BEGIN
  IF (:ABusOrderWithChildren IN ('1', 'A')) THEN BEGIN
    /* vcetne podrizenych */
    SELECT COUNT(*)
      FROM BusOrders Bx
      WHERE ((Bx.ID = :ABusOrder_ID) OR ((:ABusOrderWithNull IN ('1', 'A')) and (:ABusOrder_ID is null))) AND (Bx.Hidden = 'N') AND
        ( (Bx.ID in (select OBJ_ID from SELDAT where SEL_ID = :ABusOrderSel_ID)) OR
          (Bx.ID in (select ID from SYS$BusOrders2 where Superior_ID in (select OBJ_ID from SELDAT where SEL_ID = :ABusOrderSel_ID))) )
      INTO :ABoolResult;
  END
  ELSE BEGIN
    /* pouze za ty vybrane bez podrizenych */
    SELECT COUNT(*)
      FROM BusOrders Bx
      WHERE ((Bx.ID = :ABusOrder_ID) OR ((:ABusOrderWithNull IN ('1', 'A')) and (:ABusOrder_ID is null))) AND (Bx.Hidden = 'N') AND (Bx.ID in (select OBJ_ID from SELDAT where SEL_ID = :ABusOrderSel_ID))
      INTO :ABoolResult;
  END
END;

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