====== pears.CollectionItemDescription ====== Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. ===== Original SQL ===== COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."CollectionItemDescription" IS {create function CollectionItemDescription /* Application Maintained Function / Procedure - DO NOT EDIT*/ ( in CollectionID char(20),in ItemType char(2),in ItemID char(20) ) returns varchar(250) begin declare rv varchar(250); -- DECLARE CNote LONG VARCHAR; /* Item Types P -person, C -company, E -employment, L -placement, R -progress, T -timesheet (full), I -Invoice, */ /* V -vacancy, Q -timesheet query, 0 -contact event, S - Shift, Z- Provisional Timesheet */ /* can use collectionid to get type */ case ItemType when 'O' then set rv = 'Contact Event' when 'H' then select name into rv from collection where collectionID = ItemID when 'E' then select string(person.name,', ',company.name) into rv from employment key join(company,person) where employmentid = ItemID when 'P' then select name into rv from person where personid = ItemID when 'Q' then select name into rv from person key join tsquerylog where tsquerylogid = ItemID when 'T' then select string(serialnumber,' - ',name) into rv from person key join temptimesheet where temptimesheetid = ItemID when 'S' then select ShiftSerialNumber into rv from tempshift key join tempshiftplan where tempshiftid = ItemID when 'Z' then select string(serialnumber,' - ',name) into rv from person key join tempprovtimesheet where tempprovtimesheetid = ItemID when 'R' then select string(p.name,' - ',c.name) into rv from person key join progress key join vacancy key join employment key join company where progressid = ItemID when 'C' then select string(name,', ',addr1,', ',postcode) into rv from company where companyid = ItemID when 'I' then select string(ourref,' - ',(select name from company where companyid = GetInvoiceCompanyID(AccountCode))) into rv from IQacDocument where DocumentID = ItemID when 'V' then select string(v.Position,' - ',c.Name) into rv from Company as c key join Employment as e key join Vacancy as v where v.VacancyID = ItemID when 'L' then select string(Person.Name,' as ',Employment.Position,' at ',Company.Name) into rv from Placement key join(Employment key join Person,Vacancy key join Employment as ce key join Company) where Placement.PlacementID = ItemID end case; /*if ItemType <> 'H' then select trim(substr(notes,1,35)) into CNote from collection where ID = ItemID; if CNote > '' then set rv = string(rv,' - ',CNote) end if end if;*/ return rv end }