システム・マクロ
ここでは、最も一般的なシステム・マクロを使用する方法を説明します。
これらのマクロを使用できるようにする方法
ここで説明するマクロは、%RegisteredObjectOpens in a new tab のすべてのサブクラスで使用できます。%RegisteredObjectOpens in a new tab の拡張でないルーチンまたはクラスでこれらのマクロを使用できるようにするには、以下の該当するファイルをインクルードします。
-
状態関連のマクロの場合は、%occStatus.inc をインクルードします。
-
メッセージ関連のマクロの場合は、%occMessages.inc をインクルードします。
どのインクルード・ファイルが必要になるかについては、以下に示す各マクロを参照してください。
そのような文の構文は以下のとおりです。
#include %occStatus
これらのインクルード・ファイルでは、大文字と小文字が区別されます。外部で定義されたマクロの使用法の詳細は、"外部マクロ (インクルード・ファイル) の参照" を参照してください。
マクロ・リファレンス
マクロ名では大文字と小文字が区別されます。InterSystems IRIS では、以下のマクロが提供されます。
ADDSC マクロは、%Status コード (sc2) を既存の %StatusOpens in a new tab コード (sc1) に付加します。このマクロには %occStatus.inc が必要です。
EMBEDSC マクロは、%Status コード (sc2) を既存の %StatusOpens in a new tab コード (sc1) 内に埋め込みます。このマクロには %occStatus.inc が必要です。
ERROR マクロは、オブジェクト・エラー・コード (errorcode) を使用して、%Status オブジェクトを作成します。オブジェクト・エラー・コードの関連テキストは、%1、%2 などの形式の引数を数個受け付けます。その後、ERROR はそれらの引数を、errorcode (arg1、arg2 など) に続くマクロ引数に置換します。その際には、この追加引数の順序に基づいて置換されます。このマクロには %occStatus.inc が必要です。
システム定義のエラー・コードのリストは、"一般的なエラー・メッセージ" を参照してください。
FormatMessage マクロを使用すると、同じマクロ呼び出し内で、メッセージ・ディクショナリからテキストを取得し、メッセージ引数をテキストに置き換えることができます。%StringOpens in a new tab を返します。
引数 | 説明 |
---|---|
language | RFC1766Opens in a new tab 言語コード。Web アプリケーション内では、%response.Language を指定して既定のロケールを使用できます。 |
domain | メッセージ・ドメイン。Web アプリケーション内では、%response.Domain を指定できます。 |
id | メッセージ ID。 |
default | language、domain、および id で識別されるメッセージが見つからない場合に使用する文字列。 |
arg1、arg2 など | メッセージ引数の置換テキスト。これらはすべてオプションなので、メッセージに引数がない場合でも $$$FormatMessage を使用できます。 |
メッセージ・ディクショナリについては、"文字列のローカライズとメッセージ・ディクショナリ" を参照してください。
このマクロには %occMessages.inc が必要です。
%Library.MessageDictionaryOpens in a new tab の FormatMessage() インスタンス・メソッドも参照してください。
FormatText マクロは入力テキスト・メッセージ (text) を受け入れます。このテキスト・メッセージには %1、%2 などの形式で引数を含めることができます。FormatText はそれらの引数を、text 引数 (arg1、arg2 など) に続くマクロ引数に置換します。その際には、この追加引数の順序に基づいて置換されます。その後、結果の文字列を返します。 このマクロには %occMessages.inc が必要です。
FormatTextHTML マクロは入力テキスト・メッセージ (text) を受け入れます。このテキスト・メッセージには %1、%2 などの形式で引数を含めることができます。FormatTextHTML はそれらの引数を、text 引数 (arg1、arg2 など) に続くマクロ引数に置換します。その際には、この追加引数の順序に基づいて置換されます。またこのマクロは、その結果に HTML エスケープを適用します。その後、結果の文字列を返します。 このマクロには %occMessages.inc が必要です。
FormatTextJS マクロは入力テキスト・メッセージ (text) を受け入れます。このテキスト・メッセージには %1、%2 などの形式で引数を含めることができます。FormatTextJS はそれらの引数を、text 引数 (arg1、arg2 など) に続くマクロ引数に置換します。その際には、この追加引数の順序に基づいて置換されます。またこのマクロは、その結果に JavaScript エスケープを適用します。その後、結果の文字列を返します。 このマクロには %occMessages.inc が必要です。
GETERRORCODE マクロは、指定の %Status コード (sc) のエラー・コード値を返します。 このマクロには %occStatus.inc が必要です。
GETERRORMESSAGE マクロは、指定の %Status コード (sc) から、エラー・メッセージ値の、num で指定されている部分を返します。 例えば、num=1 は SQLCODE エラー番号を返し、num=2 はエラー・メッセージ・テキストを返します。このマクロには %occStatus.inc が必要です。
ISERR マクロは、指定の %Status コード (sc) がエラー・コードの場合に True を返します。それ以外は False を返します。このマクロには %occStatus.inc が必要です。
ISOK マクロは、指定の %Status コード (sc) が正常に完了した場合に True を返します。それ以外は False を返します。このマクロには %occStatus.inc が必要です。
OK マクロは、正常終了を表す %Status コードを作成します。このマクロには %occStatus.inc が必要です。
Text マクロは、ローカライズに使用されます。Text マクロは、コンパイル時に新しいメッセージを生成し、実行時にはそのメッセージを取得するコードを生成します。 このマクロには %occMessages.inc が必要です。
TextHTML マクロは、ローカライズに使用されます。Text マクロと同じ処理を実行し、その結果に HTML エスケープを適用します。その後、結果の文字列を返します。 このマクロには %occMessages.inc が必要です。
TextJS マクロは、ローカライズに使用されます。Text マクロと同じ処理を実行し、その結果に JavaScript エスケープを適用します。その後、結果の文字列を返します。 このマクロには %occMessages.inc が必要です。
ThrowOnError マクロは、指定された %Status コード (sc) を評価します。sc がエラー状態を示す場合、ThrowOnError は THROW 操作を実行して、%Exception.StatusExceptionOpens in a new tab タイプの例外を例外ハンドラにスローします。このマクロには %occStatus.inc が必要です。詳細は、"TRY-CATCH メカニズム" を参照してください。
THROWONERROR マクロは式 (expr) を評価します。その式の値は %Status コードと見なされ、マクロは sc として渡された変数内に %StatusOpens in a new tab コードを格納します。%StatusOpens in a new tab がエラーの場合、THROWONERROR は THROW 処理を実行し、%Exception.StatusExceptionOpens in a new tab タイプの例外を例外ハンドラへスローします。このマクロには %occStatus.inc が必要です。
ThrowSQLCODE マクロは、指定された SQLCODE とメッセージを使用し、THROW 処理を実行して、%Exception.SQLOpens in a new tab タイプの例外を例外ハンドラへスローします。このマクロには %occStatus.inc が必要です。詳細は、"TRY-CATCH メカニズム" を参照してください。
ThrowSQLIfError マクロは、指定された SQLCODE とメッセージを使用し、THROW 処理を実行して、%Exception.SQLOpens in a new tab タイプの例外を例外ハンドラへスローします。このマクロは、SQLCODE が 0 未満 (エラーを示す負の数字) の場合に、この例外をスローします。このマクロには %occStatus.inc が必要です。詳細は、"TRY-CATCH メカニズム" を参照してください。
ThrowStatus マクロは、指定された %Status コード (sc) を使用し、THROW 処理を実行して、%Exception.StatusExceptionOpens in a new tab タイプの例外を例外ハンドラへスローします。このマクロには %occStatus.inc が必要です。詳細は、"TRY-CATCH メカニズム" を参照してください。