htp.p Ausgaben in SQL*Plus ausgeben

06.
Mai
2007
Veröffentlicht von: Marco Patzwahl

APEX (formerly known as HTMLDB) ist inzwischen in aller Munde, aber einige entwickeln weiterhin mit dem Basis-Package htp..

APEX (formerly known as HTMLDB) ist inzwischen in aller Munde, aber einige entwickeln weiterhin mit dem Basis-Package htp. Nur lässt sich leider in PL/SQL Programmen mit htp.p-Aufrufen schlecht debuggen. Wie wäre es denn, wenn die Ausgaben, die für den Webbrowser gedacht waren, z.B. in SQL*PLus ausgegeben würden?

Im folgenden Beispiel haben wir drei Ausgaben mit htp.p umgelenkt:

DECLARE
  vNames owa.vc_arr;
  vValues owa.vc_arr;
BEGIN
  htp.init;
  vNames(1)  := 'REQUEST_PROTOCOL';
  vValues(1) := 'HTTP';
  owa.init_cgi_env(
  num_params => 1,
  param_name => vNames,
  param_val => vValues );

/* Ihr bisheriger PL/SQL Code mit Aufrufen des htp.p Packages */
  htp.p(' Zeile 1');
  htp.p(' Zeile 2');
  htp.p(' Zeile 3');
/* Ende ihres Blocks mit htp.p Aufrufen */

/* Umlenken der htp Ausgabe auf die aktuelle Session */
  owa_util.showpage;
END;
/


Ausgabe in SQL*PLus:

Content-type: text/html
Content-length: 27
Zeile 1
Zeile 2
Zeile 3

PL/SQL

Jede Menge Know-how für Sie!

In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.