Eingabeparameter
Parameter | Typ | Beschreibung |
---|---|---|
TYPENAME |
VARCHAR(100) |
Typ Name |
RECORDID |
INTEGER |
Record ID |
SESSIONID |
VARCHAR(255) |
Session ID |
SERVERID |
VARCHAR(100) |
Server ID |
Ausgabeparameter
Parameter | Typ | Beschreibung |
---|---|---|
RESULT |
SMALLINT |
Gibt an ob dies schon gelocked ist. |
Beschreibung
Prüft bei den DABiS Premium Modulen, ob ein Datensatz für eine bestimmte Session/Server-Kombination reserviert ist.
Definition
CREATE PROCEDURE IS_RECORD_LOCKED_SESSION(
TYPENAME VARCHAR(100),
RECORDID INTEGER,
SESSIONID VARCHAR(255),
SERVERID VARCHAR(100))
RETURNS (
RESULT SMALLINT)
AS
declare variable CURRENTSERVERID varchar(100);
declare variable CURRENTSESSIONID varchar(255);
declare variable CURRENTLOCKTIME date;
declare variable CURRENTRECORDID integer;
begin
/* prueft, ob ein Datensatz fuer eine bestimmte Session/Server-Kombination
reserviert ist */
result = 0;
currentrecordid = null;
/* Testen, ob es den Record gibt
spaeter vielleicht
if (typename = 'BLOCK') then
begin
select BKID from bloecke where bloecke.bkid = :recordid into :currentrecordid;
end
else if (typename = '') then
begin
OK = 1;
end
*/
/* testweise, bis die existenz des records ermittelt wird (s.o.)*/
currentrecordid = recordid;
if (currentrecordid is not null) then
begin
select RLSESSIONID, RLLOCKTIME, RLSERVERID from RECORDLOCKS where RLTYPENAME = :typename and RLRECORDID = :recordid into :CURRENTSESSIONID, :CURRENTLOCKTIME, :currentserverid;
if ((currentsessionid = sessionid) and (currentserverid = serverid)) then
begin
result = 1;
end
end
end
![]() ![]() ![]() |