X

Oracle Application Express
Tipps, Tricks und Best Practice

  • APEX
    February 22, 2017

PL/SQL-Logik im Hintergrund mit Fortschrittsbalken

Carsten Czarski
Consulting Member of technical Staff

Logo für Scheduler Jobs im HintergrundPL/SQL Logik in APEX ist etwas völlig Normales und findet nahezu überall täglich statt. Gelegentlich kommt es aber vor, dass aus APEX heraus solche PL/SQL-Logik angestoßen werden soll, die länger laufen wird. Hinterlegt man diese ganz normal als PL/SQL-Prozess auf einer Anwendungsseite, so müsste der Anwender mit dem Browser warten, bis der Prozess durchgelaufen ist. Das kann für bis zu einer Minute gerade noch akzeptabel sein, dauert es aber länger, so muss der PL/SQL-Prozess in den Hintergrund gebracht werden.

In diesem Community-Tipp erfahren Sie, wie Sie PL/SQL-Code mit dem Paket DBMS_SCHEDULER im Hintergrund ausführen, den Status Ihres Jobs abfragen und dem Endanwender als "Fortschrittsbalken" präsentieren können.

Join the discussion

Comments ( 2 )
  • Dirk Strack Tuesday, March 27, 2018
    Hallo Herr Czarski,

    Ihr Bericht über die Verwendung von DBMS_SCHEDULER hat mir sehr gefallen.
    Mit dem Aufruf
    apex_util.set_workspace('{my workspace}');
    wird nebenbei auch die Context Variable sys_context('APEX$SESSION​','WORKSPACE_ID') gesetzt.
    Gibt es einen einfachen Weg auch die Variablen sys_context('APEX$SESSION​','APP_SESSION') und syscontext('APEX$SESSION','APP_USER') zu setzen?
  • Carsten Czarski Wednesday, March 28, 2018
    Hallo Herr Strack,

    ... noch nicht - aber mit APEX 18.1 wird es den neuen API-Call APEX_SESSION.CREATE_SESSION geben, der genau das erlaubt ...

    Beste Grüße

    -Carsten Czarski
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.