ソートキー計算のユーザー出口 - NATUSKnn

一部の言語には、ソートプログラムまたはデータベースシステムで正しいアルファベット順にソートできない文字が含まれています。システム関数 SORTKEY を使用すると、このような "正しくソートされない" 文字をアルファベット順で "正しくソートされる" 別の文字に変換できます。

Natural プログラム内で SORTKEY 関数を使用すると、ユーザー出口 NATUSKnn が呼び出されます。nn は現在の言語コード(システム変数 *LANGUAGE の現在の値)です。

NATUSKnn ユーザー出口は、CALL インターフェイスを使用して C プログラミング言語で書き込むことができます。SORTKEY で指定した文字列はユーザー出口に渡されます。ユーザー出口は、この文字列の "正しくソートされない" 文字を対応する "正しくソートされる" 文字に変換するようにプログラミングされている必要があります。続けて、変換された文字列が Natural プログラムで使用され、さらに処理が実行されます。

注意:
変換テーブルが指定されていません。

NATUSKnnCALL インターフェイスを使用して呼び出されます。C 関数のパラメータには、次の値があります。

パラメータ Contents
1 引数の数。
2 オペランドへのポインタの配列。
3 各オペランドのフィールド情報の配列。

Natural システム関数 #OP1=SORTKEY(#OP2) を使用する場合、ソースオペランドはインデックス 0 の配列にあり、ターゲットオペランド(#OP1)はインデックス 1 の配列にあります。

ユーザー出口のサンプル natusk01.c はソースフォームで提供されます。これは英語に適用され、文字列内のすべての英語の小文字を大文字に変換します。サンプルは <install-dir>/natural/samples/sysexuex に用意されています。ここには他のユーザー出口も含まれています。

この例のソースコードには、SORTKEY の特定のユーザー出口を書き込むために必要なすべてのコメントが含まれています。

リンケージ規則およびロード規則については、CALL ステートメントを参照してください。