begin
/* nejdrive dohledame zacatek posloupnosti predavani aktivit */
mFirstActivity_ID = ACurrentActivity_ID;
mActivity_ID = mFirstActivity_ID;
while (mActivity_ID is not null) do begin
mFirstActivity_ID = mActivity_ID;
mActivity_ID = null;
select Source_ID from CRMActivities
where ID = :mFirstActivity_ID
into mActivity_ID;
end
/* a ted uz jenom posloupnost projdeme */
mQueue = mFirstActivity_ID;
while (mQueue <> '') do begin
mFirstActivity_ID = cast(ib_get_token(mQueue, ';') as char(10));
mQueue = ib_delete_token(mQueue, ';');
while (mFirstActivity_ID is not null) do begin
mActivity_ID = null;
ADeliveredActivity_ID = mFirstActivity_ID;
suspend;
mIndex = 0;
for select ID from CRMActivities
where Source_ID = :mFirstActivity_ID
into mTmp_ID do begin
if (mIndex = 0) then
mActivity_ID = mTmp_ID;
else begin
if (mQueue <> '') then
mQueue = mQueue || ';';
mQueue = mQueue || mTmp_ID;
end
mIndex = mIndex + 1;
end
mFirstActivity_ID = mActivity_ID;
end
end
end;