一部の言語には、ソートプログラムまたはデータベースシステムで正しいアルファベット順にソートできない文字が含まれています。システム関数 SORTKEY
を使用すると、このような "正しくソートされない" 文字をアルファベット順で "正しくソートされる" 別の文字に変換できます。
Natural プログラム内で SORTKEY
関数を使用すると、ユーザー出口 NATUSKnn
が呼び出されます。nn は現在の言語コード(システム変数 *LANGUAGE
の現在の値)です。
NATUSKnn
ユーザー出口は、CALL
インターフェイスを使用して C プログラミング言語で書き込むことができます。SORTKEY
で指定した文字列はユーザー出口に渡されます。ユーザー出口は、この文字列の "正しくソートされない" 文字を対応する "正しくソートされる" 文字に変換するようにプログラミングされている必要があります。続けて、変換された文字列が Natural
プログラムで使用され、さらに処理が実行されます。
注意:
変換テーブルが指定されていません。
NATUSKnn
は CALL
インターフェイスを使用して呼び出されます。C 関数のパラメータには、次の値があります。
パラメータ | Contents |
---|---|
1 | 引数の数。 |
2 | オペランドへのポインタの配列。 |
3 | 各オペランドのフィールド情報の配列。 |
Natural システム関数 #OP1=SORTKEY(#OP2)
を使用する場合、ソースオペランドはインデックス 0 の配列にあり、ターゲットオペランド(#OP1
)はインデックス 1 の配列にあります。
ユーザー出口のサンプル natusk01.c はソースフォームで提供されます。これは英語に適用され、文字列内のすべての英語の小文字を大文字に変換します。サンプルは <install-dir>/natural/samples/sysexuex に用意されています。ここには他のユーザー出口も含まれています。
この例のソースコードには、SORTKEY
の特定のユーザー出口を書き込むために必要なすべてのコメントが含まれています。
リンケージ規則およびロード規則については、CALL
ステートメントを参照してください。