永続的なマクロ関数は、 単一トランザクション内でどのマクロ・ブロックが永続的であるのかを定義できるようにして、 Net.Data におけるトランザクション処理をサポートします。 これらの関数を使用して、トランザクションの開始と終了、 そのトランザクションを通じて永続的な HTML ブロック、 そのトランザクション内の変数の効力範囲、 およびトランザクションの変更内容をコミットまたはロールバックするかどうかを定義してください。
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
| X |
|
|
|
目的
永続的なマクロを起動するために使用されるトランザクション・ハンドルを定義します。
構文
@DTW_ACCEPT(handle, timeout)
@DTW_ACCEPT(handle)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | handle | IN | この永続トランザクションで後続のマクロを起動するために URL で使用されるトランザクション・ハンドルを指定する、 変数またはリテラル・ストリング。 |
整数 | timeout | IN | このポートをサービスするジョブが応答を待つ時間を秒単位で指定する、 変数またはリテラル・ストリング。 この値は、DTW_STATIC() 関数で指定されたタイムアウト値をオーバーライドします。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1001 | 入力パラメーターにヌル値が含まれています。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1007 | パラメーターに無効な値が含まれています。 |
8200 | マクロ・パーシスタンスが使用可能ではありません。 |
8201 | 永続的組み込み関数がシーケンス外で呼び出されました。 |
使用上の注意
トランザクション・ハンドルは、マクロ内の各 HTML ブロックの先頭で呼び出され、 最後の論理ブロックまで実行されなければなりません。 最後の論理ブロックには、DTW_TERMINATE() への呼び出しが含まれています。なんらかのテキストがブラウザーに出力されるまでに DTW_ACCEPT() または DTW_TERMINATE() への呼び出しが見つからない場合には、 Net.Data エラーが発生します。
例
例 1:
%DEFINE handle = "" @DTW_RTVHANLDE(handle) %HTML(REPORT) { @DTW_ACCEPT(handle) ... %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
| X |
|
|
|
目的
コミットメント制御されているリソースに対して最後のコミットメント境界以降に行われた、 保留中の変更を永続的なものにし、新規コミットメント境界を設定します。
構文
@DTW_COMMIT()
値
なし。
戻りコード
戻りコード | 説明 |
---|---|
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
例
例 1: コミットを指定します。
@DTW_COMMIT() %HTML(report){ %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
| X |
|
|
|
目的
最後のコミットメント境界を現行コミットメント境界として再設定します。 Net.Data が実行されているプロセスに関連して、 コミットメント制御されているリソースに対して最後のコミットメント境界以降に行われたすべての変更が、 バックアウトされます。
構文
@DTW_ROLLBACK()
値
なし。
戻りコード
戻りコード | 説明 |
---|---|
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
例
例 1: ロールバックを指定します。
@DTW_ROLLBACK() %HTML(report){ %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
| X |
|
|
|
目的
スレッド情報、タイム・スタンプ、 および現行ユーザーの組み合わせに基づいて計算される、 複数の別個の起動を通じてこのマクロに固有なトランザクション・ハンドルを生成して戻します。
構文
@DTW_RTVHANDLE(handle)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | handle | OUT | 現行の永続マクロ用の固有なトランザクション・ハンドルが入る変数。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
使用上の注意
トランザクション・ハンドルを使用すると、 永続的なトランザクションの一部として指定された URL が HTTP サーバーに固有なものになり、 有効な要求として確実に識別されるようになります。
例
例 1: トランザクション・ハンドルを検索するために使用される handle 変数を定義します。
%DEFINE handle = "" @DTW_RTVHANLDE(handle)
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
| X |
|
|
|
目的
マクロ全体が永続的であることを示します。
構文
@DTW_STATIC(timeout)
@DTW_STATIC()
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
整数 | timeout | IN | このトランザクションを処理するプロセスが応答を待つ時間を秒単位で指定する、 変数またはリテラル・ストリング。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1001 | 入力パラメーターにヌル値が含まれています。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1007 | パラメーターに無効な値が含まれています。 |
8202 | パーシスタンスを使用可能にできません。 |
使用上の注意
例
例 1: タイムアウト値を 60 に指定する DTW_STATIC() への呼び出し
@DTW_STATIC("60")
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
| X |
|
|
|
目的
永続的なトランザクションを終了します。 コミットメント制御されているリソースに対して最後のコミットメント境界以降に行われた、 すべての変更を永続的なものにします。
構文
@DTW_TERMINATE()
値
なし。
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
8200 | マクロ・パーシスタンスが使用可能ではありません。 |
8201 | 永続的組み込み関数がシーケンス外で呼び出されました。 |
使用上の注意
例
例 1: 永続的なトランザクションを終了します。
%HTML(QUIT){ @DTW_TERMINATE() ... %}