日立(VOS3)のCLISTの特殊機能その1(配列変数)

By 岡田 - Posted: 2014/03/14 Last updated: 2014/03/14 - Leave a Comment
印刷用ページの表示 印刷用ページの表示
こんにちは、、
昨年11月からの久々の投稿です。
あれからいろいろあり、現在無職です

本題に戻ります


日立(VOS3)はIBM互換なので、CLISTが存在します
日立のCLISTが持つ特殊機能の一つである「配列変数」について書きたいと思います

※ここでいう「特殊機能」とは、VOS3のマニュアルに書かれていない機能(一般ユーザには解らない機能)の事を差します

今回の「配列変数」と次回投稿予定の「多分岐」は私が長年VOS3のエンジニアとして従事して導き出した機能です

以下のCLISTを見てください
—-+—-1—-+—-2—-+—-3—-+—-4—-+—-5—-+—-6—-+—-7—-+—-8
01 PROC 0
02 CONTROL CONLIST LIST SYMLIST
03 SET &A1 = 1
04 SET &A2 = 11
05 SET &A3 = 111
06 SET &I = 1
07 LOOP: +
08 SET &X = &NRSTR(&&AA&I)
09 SET &O = &STR(&X)
10 SET &I = &EVAL(&I + 1)
11 IF &I > 3 THEN GOTO OWARI
12 GOTO LOOP
13 OWARI : EXIT

これは配列変数を解りやすく理解して戴くために作成した例題です

A1からA3までの配列変数を用意し、それぞれにユニークな値を入れます
それをLOOPの中で変化する変数&Iによって呼び出すものです

上記のCLISTを実行すると、、
&Iが1の時、&O(A1)は”1”
&Iが2の時、&O(A2)は”11”
&Iが3の時、&O(A3)は”111”となります

トレースとして2行目のCONTROLで”LIST CONLIST SYMLIST”を入れていますので、ご確認ください


CLISTは(私の身の回りでは)あまり評価されておらず、顧客から機能追加の要望があると、すぐに高級言語に走る風潮があります。
高級言語で機能を実現させるという事は、業務プログラムを書かせて、PGに作らせて運用に乗せるという流れになりますが、これには多くの時間と切り出しによる費用が発生する事になります。いわゆる業務方の仕事です

しかし、CLISTで機能追加が出来れば、運用方で設計からテスト、リリースまでを運用(維持)費用の中で行う事になり、顧客としても費用の捻出を削減できるほか、時間を多く割くことなく実現可能です。
(実際に上記の配列変数の機能を持ったCLISTを作って、運用に入れていました。もう20年以上前の話ですが、、)

他社(Z/OSなど)で同等の事ができるかは私の方で確認ができません。
各自でご確認をおねがいします。
Posted in 日立VOS3システム編 • • Top Of Page