日本語PDF

232 OWA_UTIL

OWA_UTILパッケージには、CGI環境変数値の取得、クライアントに戻されたデータの出力、HTML表の問合せ結果の出力などの操作を実行するユーティリティ・サブプログラムが含まれます。

参照:

このパッケージの実装の詳細は、次のマニュアルを参照してください。

この章のトピックは、次のとおりです:

232.1 OWA_UTILの概要

OWA_UTILパッケージには、3つのタイプのユーティリティ・サブプログラムが含まれます。

  • 動的に生成したSQLコード付きのページが作成可能な動的SQL文ユーティリティ。

  • CGI環境変数の値の取得、およびURLのリダイレクトが実行可能なHTMLユーティリティ。

  • 日付処理が訂正可能なデート・ユーティリティ。日付の値はHTMLの単純な文字列ですが、Oracle Databaseによってデータ・タイプとして処理されます。

232.2 OWA_UTILのタイプ

OWA_UTILは、タイプを使用して情報の作成を指定します。

232.2.1 DATETYPEデータ・タイプ

TODATEファンクションはこのタイプの項目をDATEタイプに変換します。これはデータベースでデータとして解釈され、適切に処理されます。CHOOSE_DATEプロシージャを使用すると、ユーザーは目的の日付を選択できます。

TYPE dateType IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER;

232.2.2 IDENT_ARRデータ・タイプ

このデータ・タイプは、配列に使用されます。

TYPE ident_arr IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;

232.2.3 IP_ADDRESSデータ・タイプ

このデータ・タイプは、OWA_SECパッケージのGET_CLIENT_IPファンクションによって使用されます。

TYPE ip_address IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;

232.3 OWA_UTILサブプログラムの要約

この表は、OWA_UTILサブプログラムを示し、簡単に説明しています。

表232-1 OWA_UTILパッケージのサブプログラム

サブプログラム 説明

BIND_VARIABLESファンクション

SQL問合せを準備して、その問合せに変数をバインドします。

CALENDARPRINTプロシージャ

カレンダを印刷します。

CELLSPRINTプロシージャ

HTML表の問合せのコンテンツを印刷します。

CHOOSE_DATEプロシージャ

ユーザーが日付を選択できるHTMLフォーム要素を生成します。

GET_CGI_ENVファンクション

指定したCGI環境変数の値を戻します。

GET_OWA_SERVICE_PATHファンクション 

PL/SQLゲートウェイの仮想フルパスを戻します。

GET_PROCEDUREファンクション

PL/SQLゲートウェイによって起動されたプロシージャの名前を戻します。

HTTP_HEADER_CLOSEプロシージャ

HTTPヘッダーをクローズします。

LISTPRINTプロシージャ

問合せからのデータを含むHTMLフォーム要素を生成します。

MIME_HEADERプロシージャ

HTTPヘッダーにContent-Type行を生成します。

PRINT_CGI_ENVプロシージャ

すべてのCGI環境変数およびその値のリストを生成します。

REDIRECT_URLプロシージャ

HTTPヘッダーに場所の行を生成します。

SHOWPAGEプロシージャ

SQL*PlusのHTPおよびHTFパッケージによって生成されたページを印刷します。

SHOWSOURCEプロシージャ

指定したサブプログラムのソースを印刷します。

SIGNATUREプロシージャ

PL/SQLエージェントによって生成されたページであることを示す行を印刷します。

STATUS_LINEプロシージャ

HTTPヘッダーにステータスの行を生成します。

TABLEPRINTファンクション

データベースの表から、データをHTML表として印刷します。

TODATEファンクション

dateTypeデータを標準PL/SQL日付タイプに変換します。

WHO_CALLED_MEプロシージャ

プロシージャのコール元の情報を戻します。

232.3.1 BIND_VARIABLESファンクション

このファンクションは、SQL問合せに変数をバインドしてSQL問合せを準備し、その出力をオープン・カーソルに格納します。このファンクションを、動的に生成された問合せを送信するプロシージャに対するパラメータとして使用します。25までのバインド変数を指定できます。

構文

OWA_UTIL.BIND_VARIABLES(
   theQuery       IN       VARCHAR2   DEFAULT NULL,
   bv1Name        IN       VARCHAR2   DEFAULT NULL,
   bv1Value       IN       VARCHAR2   DEFAULT NULL,
   bv2Name        IN       VARCHAR2   DEFAULT NULL,
   bv2Value       IN       VARCHAR2   DEFAULT NULL,
   bv3Name        IN       VARCHAR2   DEFAULT NULL,
   bv3Value       IN       VARCHAR2   DEFAULT NULL,
        ...
   bv25Name       IN       VARCHAR2   DEFAULT NULL,
   bv25Value      IN       VARCHAR2   DEFAULT NULL)
 RETURN INTEGER;

パラメータ

表232-2 BIND_VARIABLESファンクションのパラメータ

パラメータ 説明

theQuery

SELECT文になる必要があるSQL問合せ文。

bv1Name

変数の名前。

bv1Value

変数の値。

戻り値

オープン・カーソルを識別する整数。

232.3.2 CALENDARPRINTプロシージャ

これらのプロシージャは、HTMLで境界線付きのカレンダを作成します。カレンダの各日付には、任意の数のハイパーテキスト・リンクを含むことができます。

このプロシージャには2つのバージョンがあります。

  • バージョン1は、VARCHAR2文字列に格納されているハード・コードされた問合せを使用します。

  • バージョン2は、BIND_VARIABLESファンクションで準備された動的問合せを使用します。

構文

OWA_UTIL.CALENDARPRINT(
   p_query        IN       VARCHAR2,
   p_mf_only      IN       VARCHAR2   DEFAULT 'N');

OWA_UTIL.CALENDARPRINT(
   p_cursor       IN       INTEGER,
   p_mf_only      IN       VARCHAR2   DEFAULT 'N');

パラメータ

表232-3 CALENDARPRINTプロシージャのパラメータ

パラメータ 説明

p_query

PL/SQL問合せ。

p_cursor

p_queryと同じ書式を含むPL/SQLカーソル。

p_mf_only

"N"(デフォルト)の場合、生成されたカレンダには日曜から土曜が含まれます。それ以外の場合は、月曜から金曜日のみが含まれます。

使用上のノート

問合せを次のように設計します。

  • 1列目は「DATE」です。これは、プロシージャによって生成されたカレンダ出力を持つ問合せに生成された情報と相互に関連しています。

  • この問合せ出力は、ORDER BYを使用してこの列でソートする必要があります。

  • 2列目には、印刷する日付のテキストを含めます(ある場合)。

  • 3列目には、生成したリンクの参照先を含めます。2列目の各項目は、この列で指定されたリンク先へのハイパーテキスト・リンクになります。この列が省略されると、2列目の項目は単純なテキストになり、リンクされません。

232.3.3 CELLSPRINTプロシージャ

このプロシージャは、SQL問合せの出力からHTML表を生成します。SQL基本データ単位はHTMLセルに、またSQL行はHTML行にマップされます。HTML表を開始および終了するためのコードを記述する必要があります。

このプロシージャのバージョンは9つあります。

  • 1つ目のバージョンは、問合せの結果を索引表に渡します。問合せを実行して、CELLSPRINTがフォーマットを実行します。SQL問合せの出力からのHTML表の生成について、より詳細に制御するには、HTFパッケージのFORMAT_CELLファンクションを使用します。

  • 2つ目および3つ目のバージョンは、問合せまたはカーソルによって戻された行(指定された最大値まで)を表示します。

  • 4つ目および5つ目のバージョンは、指定した行数をHTML表から排除します。4つ目および5つ目のバージョンを使用すると、非表示フォーム要素で見られる最後の行を保存することにより、結果セット内をスクロールできます。

  • 6から9番目のバージョンは、行カウント出力パラメータを戻す点を除き、最初の4つのバージョンと同じです。

構文

OWA_UTIL.CELLSPRINT(
   p_colCnt          IN    INTEGER,
   p_resultTbl       IN    vc_arr,

   p_format_numbers  IN    VARCHAR2   DEFAULT NULL);

OWA_UTIL.CELLSPRINT(
   p_theQuery        IN    VARCHAR2,
   p_max_rows        IN    NUMBER     DEFAULT 100,
   p_format_numbers  IN    VARCHAR2   DEFAULT NULL);

OWA_UTIL.CELLSPRINT(
   p_theCursor       IN    INTEGER,
   p_max_rows        IN    NUMBER     DEFAULT 100,
   p_format_numbers  iN    VARCHAR2   DEFAULT NULL);

OWA_UTIL.CELLSPRINT(
   p_theQuery        IN    VARCHAR2,
   p_max_rows        IN    NUMBER     DEFAULT 100,
   p_format_numbers  IN    VARCHAR2   DEFAULT NULL,
   p_skip_rec        IN    NUMBER      DEFAULT 0,
   p_more_data       OUT   BOOLEAN);

OWA_UTIL.CELLSPRINT(
   p_theCursor       IN    INTEGER,
   p_max_rows        IN    NUMBER     DEFAULT 100,
   p_format_numbers  IN    VARCHAR2   DEFAULT NULL,
   p_skip_rec        IN    NUMBER     DEFAULT 0,
   p_more_data       OUT   BOOLEAN);

OWA_UTIL.CELLSPRINT(
   p_theQuery        IN    VARCHAR2,
   p_max_rows        IN    NUMBER     DEFAULT 100,
   p_format_numbers  IN    VARCHAR2   DEFAULT NULL,
   p_reccnt          OUT   NUMBER);

OWA_UTIL.CELLSPRINT(
   p_theCursor       IN    INTEGER,
   p_max_rows        IN    NUMBER     DEFAULT 100,
   p_format_numbers  IN    VARCHAR2   DEFAULT NULL,
   p_reccnt          OUT   NUMBER);

OWA_UTIL.CELLSPRINT(
   p_theQuery        IN    VARCHAR2,
   p_max_rows        IN    NUMBER     DEFAULT 100,
   p_format_numbers  IN    VARCHAR2   DEFAULT NULL,
   p_skip_rec        IN    NUMBER     DEFAULT 0,
   p_more_data       OUT   BOOLEAN
   p_reccnt          OUT   NUMBER);

OWA_UTIL.CELLSPRINT(
   p_theCursor       IN    INTEGER,
   p_max_rows        IN    NUMBER     DEFAULT 100,
   p_format_numbers  IN    VARCHAR2   DEFAULT NULL,
   p_skip_rec        IN    NUMBER     DEFAULT 0,
   p_more_data       OUT   BOOLEAN,
   p_reccnt          OUT   NUMBER);

パラメータ

表232-4 CELLSPRINTプロシージャのパラメータ

パラメータ 説明

p_query

PL/SQL問合せ。

p_colCnt

表内の列数。

p_theQuery

SQL SELECT文。

p_theCursor

カーソルID。これは、BIND_VARIABLESファンクションからの戻り値である場合もあります。

p_max_rows

印刷する行の最大数。

p_format_numbers

このパラメータの値がNULLでない場合、数字フィールドは最適に調整され、小数点以下2桁に丸められます。

p_skip_rec

HTML表から排除する行数。

p_more_data

問合せまたはカーソル内にさらに多くの行がある場合はTRUE、それ以外の場合はFALSEです。

p_reccnt

問合せによって戻された行数。この値には、スキップされた行(ある場合)は含まれません。

p_resultTbl

問合せの結果を含む索引表。問合せの各エントリは、1つの列の値に対応します。

このプロシージャでの生成結果は、次のようになります。

<tr><td>QueryResultItem</td><td>QueryResultItem</td></tr>...

232.3.4 CHOOSE_DATEプロシージャ

このプロシージャは、ユーザーが年、月および日を選択できる3つのHTMLフォーム要素を生成します。

構文

OWA_UTIL.CHOOSE_DATE(
   p_name         IN       VARCHAR2,
   p_date         IN       DATE       DEFAULT SYSDATE);

パラメータ

表232-5 CHOOSE_DATEプロシージャのパラメータ

パラメータ 説明

p_name

フォーム要素の名前。

p_date

HTMLページが表示されたときに選択した最初の日付。

使用上のノート

<SELECT NAME="p_name" SIZE="1">
<OPTION value="01">1
     ...
<OPTION value="31">31
</SELECT>
-
<SELECT NAME="p_name" SIZE="1">
<OPTION value="01">JAN
     ...
<OPTION value="12">DEC
</SELECT>
-
<SELECT NAME="p_name" SIZE="1">
<OPTION value="1992">1992
     ...
<OPTION value="2002">2002
</SELECT>

232.3.5 GET_CGI_ENVファンクション

このファンクションは、指定したCGI環境変数の値を戻します。

構文

OWA_UTIL.GET_CGI_ENV(
   param_name       IN      VARCHAR2)
 RETURN VARCHAR2;

パラメータ

表232-6 GET_CGI_ENVファンクションのパラメータ

パラメータ 説明

param_name

CGI環境変数の名前。大文字と小文字は区別されません。

戻り値

指定したCGI環境変数の値。値が定義されていない場合、このファンクションはNULLを戻します。

232.3.6 GET_OWA_SERVICE_PATHファンクション

このファンクションは、要求を処理するPL/SQLゲートウェイの仮想フルパスを戻します。

構文

OWA_UTIL.GET_OWA_SERVICE_PATH
 RETURN VARCHAR2;

戻り値

要求を処理するPL/SQLゲートウェイの仮想パス。

232.3.7 GET_PROCEDUREファンクション

このファンクションは、PL/SQLゲートウェイによって起動されたプロシージャの名前を戻します。

構文

OWA_UTIL.GET_PROCEDURE
 RETURN VARCHAR2;

戻り値

プロシージャの名前。プロシージャがパッケージで定義されている場合は、パッケージ名も含みます。

232.3.8 HTTP_HEADER_CLOSEプロシージャ

このプロシージャは、HTTPヘッダーをクローズする改行文字を生成します。

構文

OWA_UTIL.HTTP_HEADER_CLOSE;

戻り値

HTTPヘッダーをクローズする改行文字。

使用上のノート

232.3.9 LISTPRINTプロシージャ

このプロシージャは、SQL問合せの出力からHTML選択リスト・フォーム要素を生成します。

このプロシージャのバージョンは2つあります。

  • 1つ目のバージョンには、ハードコードされたSQL問合せが含まれます。

  • 2つ目のバージョンは、BIND_VARIABLESファンクションを使用して準備された動的問合せを使用します。

構文

OWA_UTIL.LISTPRINT(
   p_theQuery     IN       VARCHAR2,
   p_cname        IN       VARCHAR2,
   p_nsize        IN       NUMBER,
   p_multiple     IN       BOOLEAN   DEFAULT FALSE);

OWA_UTIL.LISTPRINT(
   p_theCursor    IN    INTEGER,
   p_cname        IN       VARCHAR2,
   p_nsize        IN       NUMBER,
   p_multiple     IN       BOOLEAN   DEFAULT FALSE);

パラメータ

表232-7 LISTPRINTプロシージャのパラメータ

パラメータ 説明

p_theQuery

SQL問合せ。

p_theCursor

カーソルID。これは、BIND_VARIABLESファンクションからの戻り値である場合もあります。

p_cname

HTMLフォーム要素の名前。

p_nsize

フォーム要素のサイズ(ユーザーがスクロールせずに表示できる項目の数を制御します)。

p_multiple

複数の選択を許可するかどうかを指定します。

使用上のノート

問合せの出力内の列は、次の方法で処理されます。

  • 1列目では、返信する値を指定します。これらの値は、OPTIONタグのVALUE属性に対するものです。

  • 2列目では、ユーザーが表示する値を指定します。

  • 3列目では、OPTIONタグで行をSELECTEDとしてマークするかどうかを指定します。値がNULLでない場合、行はSELECTEDです。

<SELECT NAME="p_cname" SIZE="p_nsize">
<OPTION SELECTED value='value_from_the_first_column'>value_from_the_second_column
<OPTION SELECTED value='value_from_the_first_column'>value_from_the_second_column
     ...
</SELECT>

232.3.10 MIME_HEADERプロシージャ

このプロシージャは、スクリプトが戻すデフォルトのMIMEヘッダーを変更します。このプロシージャは必ずHTP.PRINTまたはHTP.PRNコールの前に実行して、デフォルトのMIMEヘッダーを使用しないようにスクリプトに指示する必要があります。

構文

OWA_UTIL.MIME_HEADER(
   ccontent_type    IN       VARCHAR2   DEFAULT 'text/html',
   bclose_header    IN       BOOLEAN    DEFAULT TRUE,
   ccharset         IN       VARCHAR2   DEFAULT NULL);

パラメータ

表232-8 MIME_HEADERプロシージャのパラメータ

パラメータ 説明

ccontent_type

生成するMIMEタイプ。

bclose_header

HTTPヘッダーをクローズするかどうかを指定します。TRUEの場合、2つの改行が送信され、HTTPヘッダーがクローズします。それ以外の場合は、1つの改行が送信されて、HTTPヘッダーは開いたままになる。

ccharset

使用する文字セット。文字セットは、MIMEタイプがTEXTタイプの場合にのみ有効です。このため、この文字セットは、渡されたMIMEタイプがTEXTタイプの場合にのみ、Content-Typeヘッダーにのみタグ付けされます。他のMIMEタイプ('IMAGE'など)には、タグ付きの文字セットがありません。

Content-type: <ccontent_type>; charset=<ccharset>

たとえば、次のように入力したとします。

owa_util.mime_header('text/plain', false, 'ISO-8859-4')

生成結果は、次のようになります。

Content-type: text/plain; charset=ISO-8859-4\n

232.3.11 PRINT_CGI_ENVプロシージャ

このプロシージャは、PL/SQLゲートウェイによって使用可能になったすべてのCGI環境変数およびその値を、ストアド・プロシージャに生成します。

構文

OWA_UTIL.PRINT_CGI_ENV;

このプロシージャは、次の形式でリストを生成します。

cgi_env_var_name = value\n

232.3.12 REDIRECT_URLプロシージャ

このプロシージャは、アプリケーション・サーバーが、指定したURLにアクセスするように指定します。URLには、戻る先のWebページか、実行するプログラムのいずれかを指定します。

構文

OWA_UTIL.REDIRECT_URL(
   curl           IN       VARCHAR2
   bclose_header  IN       BOOLEAN    DEFAULT TRUE);

パラメータ

表232-9 REDIRECT_URLプロシージャのパラメータ

パラメータ 説明

curl

アクセスするURL。

bclose_header

HTTPヘッダーをクローズするかどうかを指定します。TRUEの場合、2つの改行が送信され、HTTPヘッダーがクローズします。それ以外の場合は、1つの改行が送信されて、HTTPヘッダーは開いたままになる。

使用上のノート

このプロシージャは、HTPプロシージャまたはHTFファンクションのコールの前に実行する必要があります。

このプロシージャでの生成結果は、次のようになります。

Location: <curl>\n\n

232.3.13 SHOWPAGEプロシージャ

このプロシージャは、SQL*PlusのプロシージャのHTML出力を印刷します。

このプロシージャでは、HTMLページを生成するHTPまたはHTFパッケージを使用する必要があります。また、このプロシージャは、HTPまたはHTFページ生成サブプログラムがコールされた後、および他のHTPまたはHTFサブプログラムが直接的または間接的にコールされる前に発行する必要があります。

構文

OWA_UTIL.SHOWPAGE;

使用上のノート

  • このメソッドは、静的データが入力されたページの生成に便利です。

  • このプロシージャは、 DBMS_OUTPUT パッケージを使用し、各行32767文字までに限定されます。全体のバッファ・サイズは1,000,000バイトです。

HTPプロシージャの出力は、SQL*Plus、SQL*DBAまたはOracle Server Managerで表示されます。たとえば:

SQL> set serveroutput on
SQL> spool gretzky.html
SQL> execute hockey.pass("Gretzky")
SQL> execute owa_util.showpage
SQL> exit

これは、Webブラウザからアクセス可能なHTMLページを生成します。

232.3.14 SHOWSOURCEプロシージャ

このプロシージャは、指定したプロシージャ、ファンクションまたはパッケージのソースを印刷します。パッケージに属するプロシージャまたはファンクションが指定されている場合、パッケージ全体が表示されます。

構文

OWA_UTIL.SHOWSOURCE (
   cname      IN     VARCHAR2);

パラメータ

表232-10 SHOWSOURCEプロシージャのパラメータ

パラメータ 説明

cname

ソースを表示するファンクションまたはプロシージャ。

232.3.15 SIGNATUREプロシージャ

このプロシージャは、HTMLドキュメント上で、署名行が後に続くHTML行を生成します。

パラメータが指定されていると、プロシージャは、そのパラメータのPL/SQLソースを表示するためのハイパーテキスト・リンクも生成します。このリンクはSHOWSOURCEプロシージャをコールします。

構文

OWA_UTIL.SIGNATURE;

OWA_UTIL.SIGNATURE (
   cname        IN        VARCHAR2);

パラメータ

表232-11 SIGNATUREプロシージャのパラメータ

パラメータ 説明

cname

ソースを表示するファンクションまたはプロシージャ。

パラメータがない場合、プロシージャは次のような行を生成します。

This page was produced by the PL/SQL Agent on August 9, 2001 09:30.

パラメータがある場合、プロシージャはHTMLドキュメントに次のような署名行を生成します。

This page was produced by the PL/SQL Agent on 8/09/01 09:30
View PL/SQL Source

232.3.16 STATUS_LINEプロシージャ

このプロシージャは、クライアントに標準のHTTPステータス・コードを送信します。

このプロシージャはhtp.printまたはhtp.prnコールの前に実行して、ステータス・コードがコンテンツ・データではなくヘッダーの一部として戻されるようにする必要があります。

構文

OWA_UTIL.STATUS_LINE(
   nstatus        IN       INTEGER,
   creason        IN       VARCHAR2   DEFAULT NULL,
   bclose_header  IN       BOOLEAN    DEFAULT TRUE);

パラメータ

表232-12 STATUS_LINEプロシージャのパラメータ

パラメータ 説明

nstatus

ステータス・コード。

creason

ステータス・コードの文字列。

bclose_header

HTTPヘッダーをクローズするかどうかを指定します。TRUEの場合、2つの改行が送信され、HTTPヘッダーがクローズします。それ以外の場合は、1つの改行が送信されて、HTTPヘッダーは開いたままになる。

このプロシージャでの生成結果は、次のようになります。

Status: <nstatus> <creason>\n\n

232.3.17 TABLEPRINTファンクション

このファンクションは、データベース表から事前フォーマットされた表またはHTML表のいずれか(ユーザーのブラウザの機能に依存する)を生成します。

構文

OWA_UTIL.TABLEPRINT(
   ctable         IN       VARCHAR2,
   cattributes    IN       VARCHAR2   DEFAULT NULL,
   ntable_type    IN       INTEGER    DEFAULT HTML_TABLE,
   ccolumns       IN       VARCHAR2   DEFAULT '*',
   cclauses       IN    VARCHAR2   DEFAULT NULL,
   ccol_aliases   IN       VARCHAR2   DEFAULT NULL,
   nrow_min       IN       NUMBER     DEFAULT 0,
   nrow_max       IN       NUMBER     DEFAULT NULL)
 RETURN BOOLEAN;

パラメータ

表232-13 TABLEPRINTファンクションのパラメータ

パラメータ 説明

ctable

データベース表。

cattributes

そのままの状態でタグに含まれるその他の属性。

ntable_type

表を生成する方法。<TABLE>タグを使用して表を生成するにはHTML_TABLEを指定し、また<PRE>タグを使用して表を生成するにはPRE_TABLEを指定します。これらは定数です。

  • HTML_TABLE CONSTANT INTEGER := 1;

  • PRE_TABLE CONSTANT INTEGER := 2;

ccolumns

生成された表に含める、ctableからのカンマ区切りリスト。

cclauses

データベース表から取り出す行を指定し、それらを並べる方法を指定する、WHEREまたはORDER BY句。

ccol_aliases

生成された表に対する、ヘッダーのカンマ区切りリスト。

nrow_min

取り出された行のうちの、表示する最初の行。

nrow_max

取り出された行のうちの、表示する最後の行。

戻り値

nrow_max要求を超える行がある場合はTRUEを、それ以外の場合はFALSEを返します。

使用上のノート

  • RAW列はサポートされていますが、LONG RAW列はサポートされていません。LONG RAW列へ参照すると、「Not Printable」という結果が出力されます。

  • このファンクションでは、cattributesは最後のパラメータではなく2番目のパラメータであることに注意してください。

HTML表をサポートしないブラウザでは、次のプロシージャを作成します。

CREATE OR REPLACE PROCEDURE showemps IS 
  ignore_more BOOLEAN; 
BEGIN 
  ignore_more := OWA_UTIL.TABLEPRINT('emp', 'BORDER', OWA_UTIL.PRE_TABLE); 
END;

次のようなURLを要求します。

http://myhost:7777/pls/hr/showemps 

クライアントに次の結果が戻されます。

<PRE> 
----------------------------------------------------------------- 
| EMPNO |ENAME |JOB      |MGR   |HIREDATE   | SAL | COMM | DEPTNO | 
----------------------------------------------------------------- 
| 7369| SMITH  | CLERK   | 7902 | 17-DEC-80 | 800 |      | 20 | 
| 7499| ALLEN  | SALESMAN| 7698 | 20-FEB-81 | 1600 | 300 | 30 | 
| 7521| WARD   | SALESMAN| 7698 | 22-FEB-81 | 1250 | 500 | 30 | 
| 7566| JONES  | MANAGER | 7839 | 02-APR-81 | 2975 |     | 20 | 
| 7654| MARTIN | SALESMAN| 7698 | 28-SEP-81 | 1250 | 1400| 30 | 
| 7698| BLAKE  | MANAGER | 7839 | 01-MAY-81 | 2850 |     | 30 | 
| 7782| CLARK  | MANAGER | 7839 | 09-JUN-81 | 2450 |     | 10 | 
| 7788| SCOTT  | ANALYST | 7566 | 09-DEC-82 | 3000 |     | 20 | 
| 7839| KING   | PRESIDENT |    | 17-NOV-81 | 5000 |     | 10 | 
| 7844| TURNER | SALESMAN| 7698 | 08-SEP-81 | 1500 | 0   | 30 | 
| 7876| ADAMS  | CLERK   | 7788 | 12-JAN-83 | 1100 |     | 20 | 
| 7900| JAMES  | CLERK   | 7698 | 03-DEC-81 | 950  |     | 30 | 
| 7902| FORD   | ANALYST | 7566 | 03-DEC-81 | 3000 |     | 20 | 
| 7934| MILLER | CLERK   | 7782 | 23-JAN-82 | 1300 |     | 10 | 
------------------------------------------------------------------- 
</PRE>

部署10の従業員、およびそれらの従業員のID、名前、月給のみを表示するには、次のプロシージャを作成します。

CREATE OR REPLACE PROCEDURE showemps_10 IS 
 ignore_more BOOLEAN; 
begin 
 ignore_more := OWA_UTIL.TABLEPRINT
    ('EMP', 'BORDER', OWA_UTIL.PRE_TABLE, 
     'empno, ename, sal', 'WHERE deptno=10 ORDER BY empno', 
     'Employee Number, Name, Salary'); 
END; 

次のようなURLを要求します。

http://myhost:7777/pls/hr/showemps_10 

クライアントに次の結果が戻されます。

<PRE>
------------------------------------- 
| Employee Number |Name    | Salary | 
------------------------------------- 
| 7782            | CLARK  | 2450   |
| 7839            | KING   | 5000   | 
| 7934            | MILLER | 1300   | 
------------------------------------- 
</PRE>

HTML表をサポートするブラウザでHTML表内の部署表を表示するには、次のプロシージャを作成します。

CREATE OR REPLACE PROCEDURE showdept IS 
 ignore_more BOOLEAN; 
BEGIN 
 ignore_more := oWA_UTIL.TABLEPRINT('dept', 'BORDER'); 
END; 

次のようなURLを要求します。

http://myhost:7777/pls/hr/showdept 

クライアントに次の結果が戻されます。

<TABLE BORDER> 
<TR> 
<TH>DEPTNO</TH> 
<TH>DNAME</TH> 
<TH>LOC</TH> 
</TR> 
<TR> 
<TD ALIGN="LEFT">10</TD> 
<TD ALIGN="LEFT">ACCOUNTING</TD> 
<TD ALIGN="LEFT">NEW YORK</TD> 
</TR> 
<TR> 
<TD ALIGN="LEFT">20</TD> 
<TD ALIGN="LEFT">RESEARCH</TD> 
<TD ALIGN="LEFT">DALLAS</TD> 
</TR> 
<TR> 
<TD ALIGN="LEFT">30</TD> 
<TD ALIGN="LEFT">SALES</TD> 
<TD ALIGN="LEFT">CHICAGO</TD> 
</TR> 
<TR> 
<TD ALIGN="LEFT">40</TD> 
<TD ALIGN="LEFT">OPERATIONS</TD> 
<TD ALIGN="LEFT">BOSTON</TD> 
</TR> 
</TABLE> 

Webブラウザはこれをフォーマットして、次の表のように表示します。

DEPTNO DNAME LOC

10

ACCOUNTING

NEW YORK

20

RESEARCH

DALLAS

30

SALES

CHICAGO

232.3.18 TODATEファンクション

このファンクションは、DATETYPEデータ・タイプを標準のOracle DATEタイプに変換します。

構文

OWA_UTIL.TODATE(
   p_dateArray      IN     dateType) 
 RETURN DATE;

パラメータ

表232-14 TODATEファンクションのパラメータ

パラメータ 説明

p_dateArray

変換する値。

232.3.19 WHO_CALLED_MEプロシージャ

このプロシージャは、これを起動したPL/SQLコード・ユニットについての情報を(出力パラメータ形式で)戻します。

構文

OWA_UTIL.WHO_CALLED_ME(
   owner          OUT      VARCHAR2,
   name           OUT      VARCHAR2,
   lineno         OUT      NUMBER,
   caller_t       OUT      VARCHAR2);

パラメータ

表232-15 WHO_CALLED_MEプロシージャのパラメータ

パラメータ 説明

owner

プログラム・ユニットの所有者。

name

プログラム・ユニットの名前。コール元のプログラム・ユニットがパッケージにラップされている場合はパッケージの名前になり、コール元のプログラム・ユニットがスタンドアロンのプロシージャまたはファンクションの場合はプロシージャまたはファンクションの名前になります。コール元のプログラム・ユニットが無名ブロックの一部である場合はNULLになります。

lineno

コールが実行されたプログラム・ユニット内の行番号。

caller_t

コールが実行されたプログラム・ユニットのタイプ。可能なタイプは、パッケージ本体、無名ブロック、プロシージャおよびファンクションです。プロシージャおよびファンクションは、スタンドアロンのプロシージャおよびファンクションに対してのみです。