$NUMBER(データベースを利用した通番採番関数)
オブジェクトクラス「FunctionInfo」を使用して、資産管理システムのデータベースでユニークな番号を採番します。指定した機能IDとサブ機能ID単位で、1〜4,294,967,295の10けたの整数を採番します。
4,294,967,295を超えた場合、1に戻ります。また、10けたに満たない場合は、前に0を挿入します。
形式
返却値=$NUMBER(機能ID,サブ機能ID)
指定する値
-
返却値
取得した通番を設定する変数名を指定します。
-
機能ID
オブジェクトクラス「FunctionInfo」で規定した用途の値を定数または変数で指定します。定数を指定する場合は、「'(シングルクォーテーション)」で囲みます。
-
サブ機能ID
オブジェクトクラス「FunctionInfo」で規定された用途の中でカテゴリ分けをする場合、任意の文字列を1〜251バイトで指定します。サブ機能IDは、定数または変数で指定します。定数を指定する場合は、「'(シングルクォーテーション)」で囲みます。
終了状態
処理の終了状態とその内容を次に示します。
終了状態 |
内容 |
---|---|
NORMAL |
正常終了 |
NODATA |
− |
ERROR |
− |
スクリプト中断 |
次のどちらかを示す
|
注意事項
オブジェクトクラス「FunctionInfo」には、「機能ID」に対応した排他制御用のロックレコードも登録する必要があります。
機能ID「USER」、サブ機能ID「Number」の場合に、「FunctionInfo」にインポートするデータファイルの例を次に示します。
OP,CreationClassName,FunctionID,ExtendID,UpdateDate,SequenceNo a,FunctionInfo,USER,Number,2003/1/1,0 a,FunctionInfo,USER,NumberLock,2003/1/1,0
記述例
機能ID「USER」、サブ機能ID「Number」を使用して番号(0000000001)を取得する場合の記述例を次に示します。
[SET_VALUE] VAL = $NUMBER('USER' , 'Number') MSG = 'NUMBER = ' +VAL $ECHO(MSG)
- 実行結果
-
NUMBER = 0000000001