begin
OUT_DISPLAYNAME = '';
SELECT F.Name, AQ.Name, A.Firm_ID, A.Subject
FROM CRMActivities A
LEFT JOIN Firms F ON F.ID = A.Firm_ID
JOIN CRMActivityqueues AQ ON AQ.ID = A.ActQueue_ID
WHERE A.ID = :IN_ACTIVITY_ID
INTO mFirmName, mActQueueName, mFirmID, mSubject;
if ((IN_Modifier <> 2) and
((mActQueueName like '!%') or (mActQueueName like '#%'))) then
mActQueueName = '';
if ((IN_Modifier <> 3) and
((mFirmID is Null) or (mFirmName like '!%') or (mFirmName like '#%'))) then
mFirmName = '';
if ((IN_Modifier <> 4) and
((mSubject is Null) or (Trim(mSubject)='') or (mSubject like '!%') or (mSubject like '#%'))) then
mSubject = '';
if (IN_Modifier = 0) then
if (mSubject = '') then
OUT_DISPLAYNAME = Trim('; ' from (mFirmName || '; ' || mActQueueName));
else
OUT_DISPLAYNAME = Trim('; ' from (mFirmName || '; ' || mSubject || '; ' || mActQueueName));
else if (IN_Modifier = 1) then
if (mFirmName = '') then
OUT_DISPLAYNAME = Trim('; ' from (mSubject || '; ' || mActQueueName));
else
OUT_DISPLAYNAME = Trim('; ' from (mSubject || '; ' || mFirmName || '; ' || mActQueueName));
else if (IN_Modifier = 2) then
OUT_DISPLAYNAME = mActQueueName;
else if (IN_Modifier = 3) then
OUT_DISPLAYNAME = mFirmName;
else if (IN_Modifier = 4) then
OUT_DISPLAYNAME = mSubject;
else
OUT_DISPLAYNAME = '';
SUSPEND;
end