Outlook-Termin in Apex erzeugen

Weil ich es immer mal wieder gebraucht habe und es vielleicht auch Anderen so geht, zeige ich hier kurz, wie man in Apex einen Outlook-Termin (VCS-Datei) erzeugen kann.

Es reicht, auf einer leeren Seite einen Prozess „Before Header“ anzulegen und diesen mit folgendem Code zu füllen:

declare
v_titel         varchar2(100);
v_begin         date;
v_end           date;
v_description   varchar2(512);
v_ort           varchar2(100);
begin

v_titel       := 'Titel des Termins';
v_description := 'Nähere Beschreibung des Termins';
v_begin       := to_char('27.03.2007', 'YYYYMMDD');
v_end         := to_char('28.03.2007', 'YYYYMMDD');
v_ort         := 'Location des Termins';

--
-- Falls in der Beschreibung Leerzeilen u.ä. enthalten sind,
-- müssen diese vorher umgewandelt werden
--
v_description := replace(v_description,chr(13),'=0D=0A');
v_description := replace(v_description,chr(10));

owa_util.mime_header('application/hbs-vcs', FALSE);
htp.p('Content-Disposition: attachment; filename="termin.vcs"');
owa_util.http_header_close;
         
          htp.prn('BEGIN:VCALENDAR' || chr(13) || CHR(10));
          htp.prn('PRODID;ENCODING=QUOTED-PRINTABLE:Termin' || chr(13) || CHR(10));
          htp.prn('VERSION:1.0' || chr(13) || CHR(10));
          htp.prn('BEGIN:VEVENT' || chr(13) || CHR(10));
          htp.prn('TZ:-1' || chr(13) || CHR(10));
          htp.prn('DTSTART:' || v_begin || chr(13) || CHR(10));
          htp.prn('DTEND:' || v_end || chr(13) || CHR(10));
          htp.prn('LOCATION;ENCODING=QUOTED-PRINTABLE:Ort ' || v_ort || chr(13) || CHR(10));
          htp.prn('DESCRIPTION;ENCODING=QUOTED-PRINTABLE:' || v_description || chr(13) || CHR(10));

          htp.prn('SUMMARY:' || v_titel || chr(13) || CHR(10));
          htp.prn('END:VEVENT' || chr(13) || CHR(10));
          htp.prn('END:VCALENDER' || chr(13) || CHR(10));

htmldb_application.g_unrecoverable_error := true;
end;

Nun ruft man diese Seite per Button oder Link auf. Für den Link habe ich mir einen kleinen Briefumschlag gemalt und als Symbol hinterlegt. Statt der festen Werte im Script kann man auch per SELECT die Werte dynamisch aus einer Tabelle holen. Ich habe sie hier nur für das Beispiel fest vorbelegt.

Dieser Beitrag wurde unter Allgemein abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

1 Response to Outlook-Termin in Apex erzeugen

  1. Pingback: Outlook-Termin versenden | hilpers

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.