8.79 GET_CHAR_AREA

文字データ・エリアから文字列を取得します。

 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

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)