9.91 GET_CHAR_AREA
文字データ・エリアから文字列を取得します。
各製品の対応
LANSA/AD |
使用可 |
Visual LANSA for Windows |
使用可 |
Visual LANSA for Linux |
使用可 |
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
データ・エリア名 |
1 |
10 |
||
2 |
A |
任意 |
ライブラリ名 デフォルト:*LIBL。データ・エリアが、*LDAまたは*GDAの場合、この引数は *LIBLとする必要があります。 |
1 |
10 |
||
3 |
A |
任意 |
データ・エリアのロック Y - データ・エリアをロックする N - データ・エリアをロックしない デフォルト:N。データ・エリアが、*LDAまたは*GDAの場合、この引数は無視されます。 |
1 |
1 |
||
4 |
N |
任意 |
取得開始位置。デフォルト:1桁目 |
1 |
5 |
0 |
0 |
必須 |
データ・エリアが*LDAまたは*GDAの場合 |
||||||
5 |
N |
任意 |
取得長さ デフォルト:完全長 |
1 |
4 |
0 |
0 |
必須 |
データ・エリアが*LDAまたは*GDAの場合 |
注:開始位置、長さを指定する場合は、必ず「両方」の値を引数に指定する必要があります。
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
任意 |
戻される値 |
1 |
2000 |
例
COMPIDという名前のデータ・エリアから会社名を取得します。ジョブの現在のライブラリ・リストを使ってデータ・エリアを検索します。
USE BUILTIN(GET_CHAR_AREA) WITH_ARGS(COMPID) TO_GET(#COMPANY)
QTEMPライブラリのUSERINFOというデータ・エリアの101から110バイト目までのデータを取得して、結果を#OUTQというフィールドに挿入します。
USE BUILTIN(GET_CHAR_AREA)
WITH_ARGS(USERINFO QTEMP N 101 10) TO_GET(#OUTQ)
注意:*LDAまたは*GDAを処理する場合は、開始位置と長さを指定する必要があります。これらの引数が指定されていない場合、プログラムは異常終了します。* ローカル・データ・エリア(*LDA)の1バイト目から30バイトの情報を取得します。注:ファンクションの引数でロックするように指定されていても、*LDAデータ・エリアはロックされません。
DEFINE FIELD(#RETVAL) TYPE(*CHAR) LENGTH(30)
USE BUILTIN(GET_CHAR_AREA) WITH_ARGS('''*LDA''' '''*LIBL''' N 1 30) TO_GET(#RETVAL)
グループ・ジョブのあるジョブがグループ・データ・エリア(*GDA)に渡したいくつかの情報を取得します。情報は*GDAの20バイト目から50バイト目に入っています。
DEFINE FIELD(#RETVAL) TYPE(*CHAR) LENGTH(30)
USE BUILTIN(GET_CHAR_AREA) WITH_ARGS('''*GDA''' '''*LIBL''' N 20 30) TO_GET(#RETVAL)