9.78 GET_CHAR_AREA

注意 9.1 組み込み関数の規則     利用オプション

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

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

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)