汎用関数は、Net.Data による Web ページの作成を援助する関数であり、 他のカテゴリーには適合しません。汎用関数は次のとおりです。
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
入力ストリングの単一引用符を 2 つの単一引用符と置き換えます。
構文
@DTW_ADDQUOTE(stringIn, stringOut)
@DTW_rADDQUOTE(stringIn)
@DTW_mADDQUOTE(stringMult, stringMult2, ..., stringMultn)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | stringIn | IN | 変数またはリテラル・ストリング。DTW_mADDQUOTE は複数の入力ストリングをもつことができます。 |
ストリング | stringOut | OUT | stringIn の変更形式が含まれている変数。 |
ストリング | stringMult | INOUT |
|
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
使用上の注意
入力が Web ブラウザーから取得される場合に、この関数をすべての SQL INPUT ステートメントに使用するものと考えてみます。 たとえば、以下の例のように O'Brien をラストネームとして入力すると、 単一引用符がエラーになることがあります。
INSERT INTO USER1.CUSTABLE (LNAME, FNAME) VALUES ('O'Brien', 'Patrick')
DTW_ADDQUOTE 関数を使用すると、SQL ステートメントを変更してエラーを防止することができます。
INSERT INTO USER1.CUSTABLE (LNAME, FNAME) VALUES ('O''Brien', 'Patrick')
例
例 1: エクストラ単一引用符を OUT パラメーターに追加します。
@DTW_ADDQUOTE(string1,string2)
例 2 エクストラ単一引用符を関数呼び出しの戻り値に追加します。
@DTW_rADDQUOTE("The title of the article is 'Once upon a time'")
例 3: エクストラ単一引用符を関数呼び出しの各 INOUT パラメーターに追加します。
@DTW_mADDQUOTE(string1,string2)
例 4: DB2 表に挿入するデータにエクストラ単一引用符を挿入します。
%FUNCTION(DTW_SQL) insertName(){ INSERT INTO USER1.CUSTABLE (LNAME,FNAME) VALUES ('@DTW_rADDQUOTE(lastname)', '@DTW_rADDQUOTE(firstname)') %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X |
|
|
|
|
|
|
|
|
目的
マクロ処理の結果として生成された、部分的または完全な Web ページをキャッシュします。
構文
@DTW_CACHE_PAGE(cacheid, url, age, status)
値
パラメーター | 用途 | 説明 |
---|---|---|
cache_id | IN | ページを入れるキャッシュを識別するストリング変数。 |
cached_page_ID | IN | 後続の DTW_CACHE_PAGE キャッシュ要求でキャッシュ・ページを見付けるために使用する識別子が含まれているストリング変数。 このストリングを URL にすることができます。 |
age | IN | 時間の長さ (秒数) が含まれているストリング変数。
このパラメーターは、
ページの有効期限が切れたかどうかを決定します。
ページが age よりも古い場合には、このページはブラウザーに送信されません。
age が -1 として指定され、ページがキャッシュに入っていると、 Net.Data は、それの経過日数とは無関係に、それをキャッシュから直接 Web ブラウザーに送信します。 Net.Data は、キャッシュ内でページの置換は行いません。 |
status | OUT | キャッシュ・ページの状態を示すストリング変数。使用できる値は小文字です。
|
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1001 | 入力パラメーターにヌル値が含まれています。 |
1002 | 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
1007 | パラメーターに無効な値が含まれています。 |
使用上の注意
要求されたページがキャッシュに入っていないか、 または既存のキャッシュ・ページが age の値よりも古ければ、 Net.Data は新規の出力ページを生成します。マクロが正常に完了すると、Net.Data は新規ページをブラウザーに送信し、このページをキャッシュします。
拡張キャッシング・アプリケーションの場合は、マクロの先頭ではなく、 処理時の特定の時点でキャッシングを決定しなければならないときに、 関数をマクロの指定位置に配置することができます。 たとえば、照会または関数呼び出しからいくつの行が戻されたかに基づいて、 キャッシングの決定を行わなければならない場合があります。
例
例 1: マクロの先頭に DTW_CACHE_PAGE() 関数を入れて、 すべての HTML 出力を取り込みます。
%IF (customer_status == "Classic") @DTW_CACHE_PAGE("mymacro.mac", "http://www.mypage.org", "-1", status) %ENDIF % DEFINE { ...%} ... %HTML (OUTPUT) { <title>This is the page title </head> <body> <center> This is the Main Heading <p>It is $(time). Have a nice day! </body> </html> %}
例 2: キャッシングの決定が HTML 出力の予期サイズに依存しているため、 関数を HTML ブロックに入れます。
%DEFINE { ...%} ... %FUNCTION(DTW_SQL) count_rows(){ select count(*) from customer %REPORT{ %ROW{ @DTW_ASSIGN(ALL_ROWS, V1) %} %} %} %FUNCTION(DTW_SQL) all_customers(){ select * from customer %} %HTML (OUTPUT) { <html> <head> <title>This is the customer list </head> <body> @count_rows() %IF ($(ALL_ROWS) > "100") @DTW_CACHE_PAGE("mymacro.mac", "http://www.mypage.org", "-1", status) %ENDIF @all_customers() </body> </html> %}
この例では、HTML の予期サイズに基づいて、ページのキャッシングまたは検索を行います。 HTML 出力ページは、 データベース表に 101 行以上含まれているときにのみキャッシングの価値があると考えられます。 Net.Data は、マクロを実行した後、常に、 OUTPUT ブロックのテキスト This is the customer list をブラウザーに送信します。 関数呼び出しの後に続く行 @count_rows() は、 IF ブロックの条件が満たされたときにキャッシングまたは検索されます。 両方の部分が組み合わさって、完全な Net.Data 出力ページが形成されます。
例 3: キャッシュ ID とキャッシュ・ページ ID を動的に検索します。
%HTML (OUTPUT) { %IF (customer == "Joe Smith") @DTW_CACHE_PAGE(@DTW_rGETENV("DTW_MACRO_FILENAME"), @DTW_rGETENV("URL"),"-1", status) %ENDIF ... <html> <head> <title>This is the page title</title> </head> <body> <center> <h3>This is the Main Heading</h3> <p>It is @DTW_rDATE(). Have a nice day! </body> </html> %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
構文
@DTW_DATE(format, stringOut)
@DTW_DATE(stringOut)
@DTW_rDATE(format)
@DTW_rDATE()
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | format | IN | データ形式を指定する変数またはリテラル・ストリング。有効な形式としては、以下のものがあります。
デフォルトは N です。 |
ストリング | stringOut | OUT | 指定形式の日付が含まれている変数。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1001 | 入力パラメーターにヌル値が含まれています。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
1007 | パラメーターに無効な値が含まれています。 |
例
例 1: 一般日付形式
@DTW_DATE(results)
例 2: 欧州日付形式
@DTW_DATE("E", results)
例 3: 米国日付形式
%HTML(report){ <P>This report created on @DTW_rDATE("U").
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
即時にマクロから出ることを指定します。Net.Data は、 DTW_EXIT() が Web ブラウザーに呼び出される前に生成された Web ページをいずれも送信します。
構文
@DTW_EXIT()
戻りコード
戻りコード | 説明 |
---|---|
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
使用上の注意
例
例 1: マクロを終了します。
%HTML(cache_example) { <html> <head> <title>This is the page title</title> </head> <body> <center> <h3>This is the Main Heading</h3> <!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!> <! Joe Smith sees a very short page !> <!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!> %IF (customer == "Joe Smith") @DTW_EXIT() %ENDIF ... </body> </html> %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
指定された Cookie の値を戻します。
構文
@DTW_GETCOOKIE(IN cookie_name, OUT cookie_value)
@DTW_rGETCOOKIE(IN cookie_name)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | cookie_name | IN | cookie の名前を指定する変数またはリテラル・ストリング。 |
ストリング | cookie_value | OUT | ユーザー状態情報などの関数が検索する cookie の値を含む変数。
OS/400 および OS/390 ユーザーの場合: cookie の値が URL スタイルのエンコードを含む場合 (たとえば "%20")、cookie の値は、値が戻される前に復号されます。
ワークステーション・ユーザーの場合: cookie の値が URL スタイルのエンコードを含む場合 (たとえば "%20")、cookie の値は、値が戻される前に復号されることは ありません。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1001 | 入力パラメーターにヌル値が含まれています。 |
1002 | 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
8000 | cookie が検出できません。 |
使用上の注意
2 つの異なる HTTP 要求にて cookie を定義し検索してください。 cookie が表示されるのは、クライアントに送信された後だけであるため、 同じ HTTP 要求で定義された cookie を入手しようとすると、 予期しない結果を受け取る可能性があります。
例
例 1: ユーザー ID 情報とパスワード情報を含む cookie を検索します。
@DTW_GETCOOKIE("mycookie_name_for_userID", userID) @DTW_GETCOOKIE("mycookie_name_for_password", password)
例 2: ユーザー情報を集める前に、 ユーザーのための cookie が存在するかどうかを判別します。
%MESSAGE { 8000 : "" : continue %} %HTML(welcome) { <html> <body> <h1>Net.Data Club</h1> @DTW_GETCOOKIE("NDC_name", name) %IF ($(RETURN_CODE) == "8000") %{ The cookie is not found. %} <form method="post" action="remember"> <p>Welcome to the club. Please enter your name.<br> <input name="name"> <input type="submit" value="submit"><br> </form> %ELSE <p>Hi, $(name). Welcome back. %ENDIF </body> </html> %}
HTML ウェルカム・セクションでは、 cookie NDC_name が存在するかどうかを検査します。 cookie が存在する場合には、ブラウザーに個別設定されたあいさつが表示されます。 cookie が存在しない場合には、ユーザー名を要求するプロンプトがブラウザーに表示され、 そのユーザー名を HTML remember セクションに通知します。 以下のように、このセクションはユーザー名を cookie NDC_name に設定します。
%HTML(remember) { <html> <body> <H1>Net.Data Club</H1> @DTW_SETCOOKIE("NDC_name", name, "expires=Wednesday, 01-Dec-2010 00:00:00;path=/") <p>Thank you. <p><a href="welcome">Come back</a> </body> </html> %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
指定された環境変数の値を戻します。
構文
@DTW_GETENV(envVarName, envVarValue)
@DTW_rGETENV(envVarName)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | envVarName | IN | 変数またはリテラル・ストリング。 |
ストリング | envVarValue | OUT | envVarName に指定された環境変数の値。この値が見付からないと、 ヌル・ストリングが戻されます。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
使用上の注意
ENVVAR ステートメントを使用して、環境変数の値を参照することもできます。 詳しくは、 ENVVAR ステートメント を参照してください。
例
例 1: OUT パラメーター上の PATH ステートメントの値を戻します。
@DTW_GETENV(myEnvVarName, myEnvVarValue)
例 2 PATH ステートメントの値を戻します。
@DTW_rGETENV(myPath)
例 3: サーバー・プロトコルの値を戻します。
The server is @DTW_rGETENV("SERVER_PROTOCOL").
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
指定された構成変数の値を戻します。
構文
@DTW_GETINIDATA(iniVarName, iniVarValue)
@DTW_rGETINIDATA(iniVarName)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | iniVarName | IN | 変数またはリテラル・ストリング。 |
ストリング | iniVarValue | OUT | iniVarName に指定された構成変数の値。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
使用上の注意
例
例 1: Net.Data パス変数値を戻します。
@DTW_GETINIDATA(myEnvVarName, myEnvVarValue)
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
選択した文字を、HTML 文字エスケープ・コードを使用してエンコードします。
構文
@DTW_HTMLENCODE(stringIn, stringOut)
@DTW_rHTMLENCODE(stringIn)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | stringIn | IN | 変数またはリテラル・ストリング。 |
ストリング | stringOut | OUT | 特定の文字が HTML 文字エスケープ・コードによって置き換えられた変更入力ストリングが含まれている変数。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
使用上の注意
文字 | 名前 | コード |
SPACE | スペース |   |
" | 二重引用符 | " |
# | 番号記号 | # |
% | パーセント | % |
& | アンパーサンド | & |
[ | 左大括弧 | ( |
] | 右大括弧 | ) |
+ | プラス | + |
\ | スラッシュ | / |
: | コロン | : |
; | セミコロン | ; |
< | より小 (LT) | < |
= | 等しい | =: |
> | より大 (GT) | >: |
? | 疑問符 | ?: |
@ | アットマーク | @ |
/ | 円記号 | \ |
^ | カラット | ^ |
{ | 左中括弧 | { |
| | 縦線 | | |
} | 右中括弧 | } |
~ | ティルド | ~ |
例
例 1: スペース文字をエンコードします。
@DTW_HTMLENCODE(string1,string2)
例 2: スペース、'より小' 符号、および等号をエンコードします。
@DTW_rHTMLENCODE("X <= 10")
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
@DTW_HTMLENCODE と同じ機能を実行しますが、 単一引用符 (') を ' としてエンコードもします。 DTW_QHTMLENCODE が使用する HTML 文字エスケープ・コードが、表 42 に示されています。
構文
@DTW_QHTMLENCODE(stringIn, stringOut)
@DTW_rQHTMLENCODE(stringIn)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | stringIn | IN | 変数またはリテラル・ストリング。 |
ストリング | stringOut | OUT | 特定の文字が HTML 文字エスケープ・コードによって置き換えられた、 変更形式 stringIn が含まれている変数。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
例
例 1: アポストロフィとスペースをエンコードします。
@DTW_QHTMLENCODE(string1,string2)
例 2: アポストロフィ、スペース、およびアンパーサンドをエンコードします。
@DTW_rQHTMLENCODE("John's & Jane's")
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
電子メール (e-mail) メッセージを動的に作成し、送信します。
構文
@DTW_SENDMAIL(IN Sender, IN Recipient, IN Message, IN Subject, IN CarbonCopy, IN BlindCarbonCopy, IN ReplyTo, IN Organization)
@DTW_SENDMAIL(IN Sender, IN Recipient, IN Message, IN Subject, IN CarbonCopy, IN BlindCarbonCopy, IN ReplyTo)
@DTW_SENDMAIL(IN Sender, IN Recipient, IN Message, IN Subject, IN CarbonCopy, IN BlindCarbonCopy)
@DTW_SENDMAIL(IN Sender, IN Recipient, IN Message, IN Subject, IN CarbonCopy)
@DTW_SENDMAIL(IN Sender, IN Recipient, IN Message, IN Subject)
@DTW_SENDMAIL(IN Sender, IN Recipient, IN Message)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | sender | IN | 作成者のアドレスを指定する変数またはリテラル・ストリング。
このパラメーターは必須です。有効な形式は、次のとおりです。
|
ストリング | recipient | IN | このメッセージの送信先の電子メール・アドレスを指定する変数またはリテラル・ストリング。
この値には、コンマ (,) で区切られた複数の受信側を含むことができます。このパラメーターは必須です。
有効な recipient の形式は次のとおりです。
|
ストリング | message | IN | 電子メール・メッセージのテキストを含む変数またはリテラル・ストリング。 このパラメーターは必須です。 |
ストリング | subject | IN | 対象行のテキストを含む変数またはリテラル・ストリング。 これはオプション・パラメーターです。 ヌル・ストリング ("") を指定して、追加のパラメーターを指定する必要があります。 |
ストリング | CarbonCopy | IN | 電子メール・アドレスまたは追加の受信側の名前と電子メールアドレスを含む変数またはリテラル・ストリング。 この値には、コンマ (,) で区切られた複数の追加の受信側を含むことができます。 有効な受信側形式については、 Recipient パラメーターを参照してください。 これはオプション・パラメーターです。 ヌル・ストリング ("") を指定して、追加のパラメーターを指定する必要があります。 |
ストリング | BlindCarbonCopy | IN | 電子メール・アドレスまたは追加の受信側の名前と電子メールアドレスを含む変数またはリテラル・ストリング。 ただし、受信側は電子メールのヘッダーには表示されません。 この値には、コンマ (,) で区切られた複数の追加の受信側を含むことができます。 有効な受信側形式については、 Recipient パラメーターを参照してください。 これはオプション・パラメーターです。 ヌル・ストリング ("") を指定して、追加のパラメーターを指定する必要があります。 |
ストリング | ReplyTo | IN | このメッセージの応答を返す電子メール・アドレスを含む変数またはリテラル・ストリング。
これはオプション・パラメーターです。ヌル・ストリング ("") を指定して、
追加のパラメーターを指定する必要があります。有効な ReplyTo の形式は次のとおりです。
|
ストリング | Organization | IN | sender の編成名を含む変数またはリテラル・ストリング。 これはオプション・パラメーターです。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1001 | 入力パラメーターにヌル値が含まれています。 |
1002 | 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
7000 | 指定した SMTP サーバーに Net.Data が接続できません。 |
7001 | Net.Data が電子メール・メッセージを指定した SMTP サーバーに中継しようとした際に、 SMTP エラーが発生しました。 |
7002 | 指定された SMTP サーバーが、 拡張シンプル・メール転送プロトコル (SMTP) をサポートしません。 |
使用上の注意
Net.Data for OS/390 ユーザーの場合、 SMTP サーバーへの電子メール・メッセージを変更する必要はありません。
ロケール | 文字セット | OS/2 または UNIX コード・ページ | Windows NT コード・ページ |
---|---|---|---|
U.S、西欧 | "iso-8859-1" | 819 | 1252 |
日本 | "x-sjis" | 943 | 932 |
中国 (簡体字) | "gb2312" | 1381 | 936 |
韓国 | "euc-kr" | 970 | 949 |
中国 (繁体字) | "big5" | 950 | 950 |
例
例 1 : 単一の電子メール・メッセージを作成し送信する関数呼び出し
@DTW_SENDMAIL("<ibmuser1@ibm.com>", "<ibmuser2@ibm.com>", "There is a meeting at 9:30.", "Status meeting")
DTW_SENDMAIL 関数は、以下の情報を含む電子メール・メッセージを送信します。
Date: Mon, 3 Apr 1998 09:54:33 PST To: <ibmuser2@ibm.com> From: <ibmuser1@ibm.com> Subject: Status meeting There is a meeting at 9:30.
Date の情報はシステム日時関数を使用して構成され、 SMTP 固有のデータ形式で形式化されます。
例 2 : 複数の受信者側、カーボン・コピーと受信停止カーボン・コピーの受信者側、 および会社名を含む電子メール・メッセージを作成し送信する関数呼び出し
@DTW_SENDMAIL("IBM User 1 <ibmuser1@ibm.com>", "IBM User 2 <ibmuser2@ibm.com>, IBM User 3 <ibmuser3@ibm.com>, IBM User 4 <ibmuser4@ibm.com>", "There is a meeting at 9:30.", "Status meeting", "IBM User 5 <ibmuser5@ibm.com>", "IBM User 6 <ibmuser6@ibm.com", "meeting@ibm.com", "IBM")
DTW_SENDMAIL 関数は、以下の情報を含む電子メール・メッセージを送信します。
Date: Mon, 3 Apr 1998 09:54:33 PST To: IBM User 2 <ibmuser2@ibm.com>, IBM User 3 <ibmuser3@ibm.com>, IBM User 4 <ibmuser4@ibm.com> CC: IBM User 5 <ibmuser5@ibm.com> BCC: IBM User 6 <ibmuser6@ibm.com> From: IBM User 1 <ibmuser1@ibm.com> ReplyTo: meeting@ibm.com Organzation: IBM Subject: Status meeting There is a meeting at 9:30.
例 3: Web 形式インターフェースを経由して電子メールを作成し送信するマクロ
%HTML(start) { <html> <body> <h1>Net.Data E-Mail Example</h1> <form method="post" action="sendemail"> <p>To:<br><input name="recipient"><p> Subject:<br><input name="subject"><p> Message:<br><textarea name=message rows=20 cols=40> </textarea><p> <input type="submit" value="Send E-mail"><br> </form> </body> </html> %} %HTML(sendemail) { <html> <body> <h1>Net.Data E-Mail Example</h1> @DTW_SENDMAIL("Net.Data E-mail Service <netdata@us.ibm.com>", recipient, message, subject) <p>E-mail has been sent out. </body> </html> %}
このマクロは、Web 形式インターフェースを経由して電子メールを送信します。 HTML 開始セクションには、受信側の電子メール・アドレス、主題、 およびメッセージを入力することができる形式が表示されます。 ユーザーが「電子メールの送信」ボタンをクリックすると、 HTML (sendemail) セクションで指定される受信側に、メッセージが送信されます。 このセクションでは DTW_SENDMAIL を呼び出し、 Web 形式から獲得したパラメーターを使用して、 送信側と受信側だけでなく、電子メールの内容も判別します。 電子メールを送信してしまうと、 確認通知が表示されます。
例 4 : SQL 照会を使用して、受信側のリストを判別するマクロ
%Function(DTW_SQL) mailing_list(IN message) { SELECT EMAIL_ADDRESS FROM CUSTOMERS WHERE ZIPCODE='CA' %REPORT { Sending out product information to all customers who live in California...<P> %ROW { @DTW_SENDMAIL("John Doe Corp. <John.Doe@doe.com>", V1, message, "New Product Release") E-mail sent out to customer $(V1).<BR> %} %} %}
このマクロは、 顧客データベースから出された SQL 照会の結果で判別される顧客の指定したグループに、 自動化された電子メール・メッセージを送信します。 SQL 照会は、顧客の電子メール・アドレスも検索します。 電子メールの内容は message の値で判別され、 静的または動的であることができます (たとえば、ほかの SQL 照会を使用して、 製品のバージョン番号またはさまざまなオファリングの価格を動的に指定することができます)。
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
クライアント・システムで cookie の設定をする JavaScript コードを生成します。
構文
@DTW_SETCOOKIE(IN cookie_name, IN cookie_value, IN advanced_options)
@DTW_SETCOOKIE(IN cookie_name, IN cookie_value)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | cookie_name | IN | cookie の名前を指定する変数またはリテラル・ストリング |
ストリング | cookie_value | IN | cookie の値を指定する変数またはリテラル・ストリング
セミコロン、コンマ、およびスペースを cookie_value のパーツとして使用しないでください。これらが必要な場合は、Net.Data 関数 DTW_rURLESCSEQ を使用して、 DTW_SETCOOKIE に渡す前に、特殊文字を含むストリングを処理します。たとえば、次のようにします。 @DTW_SETCOOKIE("my_cookie_name", @DTW_rURLESCSEQ("my cookie value")) |
ストリング | advanced_options | IN | セミコロンで区切られた任意選択の属性を含むストリングで、cookie を定義するために使用します。
属性には以下のものがあります。
拡張オプションに関する追加情報は、 http://home.netscape.com にある Netscape cookie 仕様を参照してください。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1001 | 入力パラメーターにヌル値が含まれています。 |
1002 | 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
使用上の注意
例
例 1: セキュア高機能オプションとともに、 ユーザー ID 情報およびパスワード情報を含む cookie を定義します。
@DTW_SETCOOKIE("mycookie_name_for_userID", "User1") @DTW_SETCOOKIE("mycookie_name_for_password", "sd3dT", "secure")
例 2: 有効期限高機能オプションを含む cookie を定義します。
@DTW_SETCOOKIE("mycookie_name_for_userID", "User1", "expires=Wednesday 01-Dec-2010 00:00:00") @DTW_SETCOOKIE("mycookie_name_for_password", "sd3dT", "expires=Wednesday, 01-Dec-2010 00:00:00;secure")
関数呼び出しは 1 行に指定しなくてはなりません。 この例では、フォーマットの都合上、改行してあります。
例 3: ユーザー情報を集める前に、 ユーザーのための cookie が存在するかどうかを定義します。
%HTML(welcome) { <html> <body> <h1>Net.Data Club</h1> @DTW_GETCOOKIE("NDC_name", name) %IF ($(RETURN_CODE) == "8000") %{ The cookie is not found. %} <form method="post" action="remember"> <p>Welcome to the club. Please enter your name.<br> <input name="name"> <input type="submit" value="submit"><br> </form> %ELSE <p>Hi, $(name). Welcome back. %ENDIF </body> </html> %}
HTML (welcome) セクションでは、cookie NDC_name が存在するかどうかを検査します。 cookie が存在する場合には、ブラウザーに個別設定されたあいさつが表示されます。 cookie が存在しない場合には、ユーザー名を要求するプロンプトがブラウザーに表示され、 そのユーザー名を HTML (remember) セクションに通知します。 このセクションでは、以下のように、ユーザー名を cookie NDC_name に記録します。
%HTML(remember) { <html> <body> <H1>Net.Data Club> @DTW_SETCOOKIE("NDC_name", name, "expires=Wednesday, 01-Dec-2010 00:00:00;path=/") <p>Thank you. <p><a href="welcome">Come back</a> </body> </html> %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
指定値をもつ環境変数を割り当て、前の値を戻します。
構文
@DTW_SETENV(envVarName, envVarValue, prevValue)
@DTW_rSETENV(envVarName, envVarValue)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | envVarName | IN | 環境変数を表す変数またはリテラル・ストリング。 |
ストリング | envVarValue | IN | 環境変数が割り当てられた値が含まれている変数またはリテラル・ストリング。 |
ストリング | prevValue | OUT | 前の環境変数値が含まれている変数。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1001 | 入力パラメーターにヌル値が含まれています。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
使用上の注意
環境変数の以前の値が検出できなければ、 空ストリングが戻されます。
例
例 1: 前のパスの値を戻します。
@DTW_SETENV("PATH", "myPath", prevValue)
例 2: 前のパスの値を戻し、PATH の値を割り当てます。
@DTW_rSETENV("PATH", "myPath")
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
現行システム時刻を指定された形式で戻します。
構文
@DTW_TIME(stringIn, stringOut)
@DTW_TIME(stringOut)
@DTW_rTIME(stringIn)
@DTW_rTIME()
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | stringIn | IN | 時刻形式を指定する変数またはリテラル・ストリング。有効な形式は、次のとおりです。
|
ストリング | stringOut | OUT | 指定形式の時刻が含まれている変数。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
1007 | パラメーターに無効な値が含まれています。 |
例
例 1: 24 時間クロック形式。
@DTW_TIME(results)
例 2: 常用時刻形式。
@DTW_TIME("C", results)
例 3: 関数呼び出しにより、午前 0 時以降の分数を戻します。
@DTW_rTIME("M")
例 4: 関数呼び出しにより、デフォルトの時刻とデータ形式を戻します。
%REPORT{ <P>This report was created at @DTW_rTIME(), @DTW_rDATE(). %}
AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
URL に使用できない選択文字をエスケープ値 (URL エンコード・コードとも呼ばれます) と置き換えます。
構文
@DTW_URLESCSEQ(stringIn, stringOut)
@DTW_rURLESCSEQ(stringIn)
値
データ型 | パラメーター | 用途 | 説明 |
---|---|---|---|
ストリング | stringIn | IN | 変数またはリテラル・ストリング。 |
ストリング | stringOut | OUT | 対応する 16 進エスケープ値に置き換えられる URL に使用できない文字をもつ入力ストリングが含まれている変数。 |
戻りコード
戻りコード | 説明 |
---|---|
-1001 | サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。 |
1003 | 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。 |
1005 | 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。 |
1006 | 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。 |
使用上の注意
この関数を使用して、表 56 にリストされている任意の文字を他のマクロまたは HTML ブロックに渡します。
文字 | 名前 | コード |
SPACE | スペース | %20 |
" | 二重引用符 | %22 |
# | 番号記号 | %23 |
% | パーセント | %25 |
& | アンパーサンド | %26 |
+ | プラス | %2B |
\ | 円記号 | %2F |
: | コロン | %3A |
; | セミコロン | %3B |
< | より小 (LT) | %3C |
= | 等しい | %3D |
> | より大 (GT) | %3E |
? | 疑問符 | %3F |
@ | アットマーク | %40 |
[ | 左大括弧 | %5B |
/ | スラッシュ | %5C |
] | 右大括弧 | %5D |
^ | カラット | %5E |
{ | 左中括弧 | %7B |
| | 縦線 | %7C |
} | 右中括弧 | %7D |
~ | ティルド | %7E |
例
例 1: string1 内のスペースとアンパーサンドをそのエスケープ値に置き換え、結果を string2 に割り当てます。
@DTW_URLESCSEQ(string1,string2)
例 2: スペースおよびアンパーサンド文字をそのエスケープ・コードに置き換えます。
@DTW_rURLESCSEQ("Guys & Dolls")
例 3: ROW ブロックの DTW_rURLESCSEQ を使用し、 スペースとアットマークをそのエスケープ・コードに置き換えます。
%ROW{ <P><a href="fullRpt.mac/input?name=@DTW_rURLESCSEQ(V1)&email=@DTW_rULRESCSEQ(V2)"> $(V1)</a> %}
<P><a href="fullrpt.mac/input?name=Patrick%20O'Brien&email="obrien%40ibm.com"> Patrick O'Brien</a>
アプリケーション・ユーザーが名前 "Patrick O'Brien" をクリックすると、 名前と電子メール・アドレスに指定された値が URL の照会ストリング内にフローし、 Net.Data が fullrpt.mac マクロの入力セクションを実行します。