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 Antwort zu 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.