PICSPEC 組み込み関数は、CHARACTER から PICTURE タイプへデータをキャストします。
|
式 x は、コンパイル時に既知となる長さの CHARACTER NONVARYING でなければなりません。
y は、最初の引数と同じ長さの外部表記を持つ、有効な PICTURE を指定する文字リテラルでなければなりません。
結果は、2 番目の引数によって指定された PICTURE タイプになります。
EDIT 組み込み関数とは異なり、変換は行われず、最初の引数がピクチャーに有効なデータを保持しているかを調べるチェックも行われません。
UNSPEC 組み込み関数のように、データの「タイプ」だけが変更されます。
そのため、例えば PICSPEC(x,'(5)9') では、x は CHAR(5) でなければなりませんが (ピクチャー指定 '(5)9' の長さは 4 文字であるものの、外部表記では 5 つの文字が必要なため)、x は実際に 5 つの数字を含んでいるかどうかチェックされることはありません。
N = N + PICSPEC(X,'(5)9') という記述によって x が CHAR から PIC'(5)9' に変換されることはありませんが (この変換ではライブラリー呼び出しが必要)、x の内容は、PIC'(5)9' であると宣言されたかのように扱われます。