Token für erweiterte Abfrage
Mit dieser Erweiterung der erweiterten Suchabfrage ermöglichen wir den Zugriff auf selbst definierte Felder innerhalb der Suchkriterien mittels Token. Konkret wird es möglich sein, ein Datum aus den Suchkriterien direkt in der erweiterten Suchabfrage zu referenzieren und entsprechend für eine gezielte Einschränkung der Suchergebnisse zu nutzen.
Technische Lösung
Als Platzhalter dient der der COLUMN Parameter aus den Metadaten. Wenn das Suchkriterium nicht in der "normalen" whereClause erscheinen soll, kann das mit in den Metadaten via USEFORSEARCH=false gelöst werden.
Meine Beispielabfrage mit Verwendung eines selbst definierten Feldes (tp_stichtag) als Parameter:
select tp.SID,
u.username as tp_UserCreate,
/*tp.bookingTime as tp_stichtag,*/
c.schedFinishDate as contract_schedFinishDate
from f4mbs.dbo.transpos tp
left outer join f4mbs.dbo.auser u on u.sid = tp.fk_usercreate_sid
inner join f4mbs.dbo.Trans t on t.sid=tp.FK_Trans_SID
inner join Contract c on c.sid = t.FK_Contract_SID
where tp.FK_RecordState_SID=0
and t.FK_Action_SID=28
and (c.schedFinishDate is null or c.schedFinishDate > '##tp_stichtag##')
and (c.validFrom is null or c.validFrom > '##tp_stichtag##')
/*
JOIN=tp.SID, JOINTYPE=INNER JOIN;
COLUMN=tp_UserCreate, RB=Erzeuger, ORDERNR=98;
COLUMN=contract_schedFinishDate, RB=Lieferdatum, ORDERNR=99;
COLUMN=tp_stichtag, RB=Stichtag, ORDERNR=1, ISCRITERIA=true, OPERATOR=3, INPUTTYPE=date, USEFORSEARCH=false;