====== pears.CreateICSFile ====== 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"."CreateICSFile" IS {create function CreateICSFile /* Application Maintained Function / Procedure - DO NOT EDIT*/ (in puid char(20), pLocation char(200) ,pnotes long varchar ,pStartTime timestamp, pEndTime timestamp ,pdescription char(200), ppriority smallint, precurrance smallint, ppopup smallint, ppopuptype char(1) ) returns long varchar begin declare "rv" long varchar; declare @createdstr char(20); declare @startstr char(20); declare @endstr char(20); declare @uid char(20); declare crlf char(2); set rv = ''; set crlf = char(13)+char(10); if pdescription = '' then return; end if; if pstarttime is null then return; end if; if isnull(puid,'')='' then set @uid=uniquekey('x') else set @uid=puid; end if; set rv = 'BEGIN:VCALENDAR'+crlf; set rv = rv + 'PRODID:-//IQX//EN'+crlf; set rv = rv + 'VERSION:2.0' +crlf; set rv = rv + 'BEGIN:VEVENT' +crlf; set rv = rv + 'UID:'+@uid+crlf; select dateformat(current utc timestamp,'yyyymmddThhnn00'), dateformat(pstarttime,'yyyymmddThhnn00'), dateformat(isnull(pendtime, pstarttime),'yyyymmddThhnn00') into @createdstr, @startstr, @endstr; set rv = rv + 'CREATED:'+@createdstr+crlf; if trim(isnull(pnotes ,'')) <>'' then set rv = rv + 'DESCRIPTION:'+pnotes+crlf; end if; set rv = rv + 'DTSTAMP:'+@createdstr+crlf; set rv = rv + 'DTSTART:'+@startstr+crlf; set rv = rv + 'DTEND:'+@endstr+crlf; if isnull(plocation,'') <> '' then set rv = rv + 'LOCATION:'+plocation+crlf; end if; if isnull(ppriority,0) > 0 then set rv = rv + 'PRIORITY:'+string(ppriority)+crlf; end if; if isnull(precurrance,0) > 0 then set rv = rv + 'RRULE:FREQ=DAILY;COUNT='+string(precurrance)+';BYDAY=MO'+crlf; end if; set rv = rv + 'SEQUENCE:0'+crlf; set rv = rv + 'SUMMARY:'+pdescription + crlf; if (isnull(ppopup,0) > 0) and (isnull(ppopuptype, '') in ('D','M')) then set rv = rv + 'BEGIN:VALARM'+ crlf; set rv = rv + 'TRIGGER:-PT'+string(ppopup)+ppopuptype+ crlf; set rv = rv + 'DESCRIPTION:Reminder'+ crlf; set rv = rv + 'END:VALARM'+ crlf; end if; set rv = rv + 'END:VEVENT'+crlf; set rv = rv + 'END:VCALENDAR'; return "rv"; END }