So geht das nicht.
Leg Dir eine Variable an, hol Dir den Rückgabewert der ersten Methode und rufe die zweite damit auf:
Delphi-Quellcode:
CREATE TRIGGER TAB_ANWESENHEIT_BIU1 FOR TAB_ANWESENHEIT
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
DECLARE VARIABLE IMITARBEITERID INTEGER;
DECLARE VARIABLE MyID INTEGER
BEGIN
IF (NEW.ANWESENHEIT_ID IS NULL) THEN
BEGIN
NEW.ANWESENHEIT_ID = GEN_ID(GEN_TAB_ANWESENHEIT_ID,1);
MyID = null;
select
p.wert
from
Psearch_mitid(vnummer) p
into
:MyID
if (:MyID is not null) then
EXECUTE PROCEDURE PADD_MITARBEITER(:MyID);
END
ELSE
BEGIN
UPDATE TAB_ANWESENHEIT SET
OUT_TIME = CURRENT_TIME;
END
END
Das müßtest Du noch anpassen, aber so wirds funktionieren.