文字列一括変換

By 渡辺 - Posted: 2009/09/13 Last updated: 2009/10/10 - 2 Comments
CPPUPDTE(IPOUPDTE)というロードモジュールを知っていますか?
システムを導入しているような人なら、よくご存じかと思いますが、簡単にいうと文字列一括変換を
するためのツールです。

通常、何かの文字列を変換する、というと、ISPFでCHANGEコマンドを利用したりしますが、
対象のメンバー・ライブラリが大量にあると、ミスも多発しますし、なによりも時間がかかります。
そこで、このようなツールを利用するわけです。

IBMシステムでは、ServerPac(システムの構成がまとまっている統合パッケージ)を利用して
システムを導入すると、一緒に格納されてきます。

CPPUPDTEのプログラム・ディレクトリ(機能や使い方を含むドキュメント)は、
CPPUPDTE program for ServerPac(英語のサイト)にありますので、参照してみてください
(和訳版はありません)。

まずは、システムにCPPUPDTE(IPOUPDTE)が入っているかどうか、確認をしてみましょう。
デフォルトでは、hlq.order_number.LOADLIBというネーミングのライブラリーに格納されています。
hlq.order_number.SCPPLOADというネーミングのデータセットの場合もあるようです。

上記にない場合は、そのシステム管理者に確認をしてみましょう。
私もそうですが、たいていは、ServerPac導入用のライブラリ、というものは削除してしまったり、
別の場所へ退避したりします。
場合によっては、LNKLSTに関連づけられたライブラリに入っているかもしれません。
ロードモジュールの格納ライブラリの探し方の記事を参照して、探してみましょう。

システムで使用できることが確認できたら、早速使ってみましょう。

CPPUPDTE(IPOUPDTE)を使う上で重要なのは、変換対象のライブラリに
“$$$COIBM”というメンバーが必要、ということです。
中身は空でも、どんな文字列が入っていようが問題ないのですが、このメンバーが
存在していることが必要です。

Posted in ありがたいサンプルJCL • • Top Of Page

2 Responses to “文字列一括変換”

Comment from A+F_EQ_19
Time 2009年12月21日 at 13:07

はじめまして。30年近く、メインフレームに携わっています。
『CPPUPDTE』は残念ながら知りませんでした。ツールプログラムを実行する時など、使えそうですね。また、1つ知識が増えました。
ここで書くのが適切かどうかわかりませんが、IBM社のマシンには、わりと『BUILDPRM』というプログラムが入っていました。機能としては、JCLのEXECパラメータを確か、SYSUT1で指定したファイルに書き出すプログラムでした。
ツールプログラム等、SYSIN形式でパラメータを指定する場合があり、これではJCLプロシジャーの変数では与えられないので、これを使ってプロシジャー変数にしたりしていました。この『BUILDPRM』というプログラムはどのような位置付けのプログラムなのか、教えていただけると幸いです。

Comment from S360-195
Time 2009年12月26日 at 22:35

>『BUILDPRM』というプログラムはどのような位置付けのプログラムなのか

私の知る限り『BUILDPRM』は日本IBM技術理事の大沼啓希さんが1970年代中頃に書いたプログラムです。
1974年に世に出たMVSをサポートする日本IBM本社部門のLarge Systems Support Center (LSSC)で必要に迫られて書いたと言っていました。目的はコンソールからDASDのInitializeとかCLIP(VOLSERの変更)を容易に行えるようにする事だったそうです。当時は未だSPF(今のISPF)も無くPunch Cardが主体でしたのでコンソールからのキーインだけでDASDIやCLIPが出来るのは非常に便利でした。
プログラムはAssemblerで書かれています。
そしてお客様やフィールドのSEが、IBM本社(六本木)の機械室に来てS/370 Model 158やModel 168を使ってMVSをテストする時に使うMVSのFloor SystemにBUILDPRMを入れていました。 
便利だと言うことでフィールドのSEやお客様がコピーされていって、それが今でも使われているという事だと思います。
少なくともIBMの正式なプログラムではありません。 
当時は著作権がどうのこうのという時代ではありませんでしたし、彼は必要な人は誰が使っても良いといってました。今で言えばフリーウェアでしょうか。
個人的には大沼さんにお願いして何処かのWebサイトにでも置いていただくのが良いと思いますが、どうでしょうか。

蛇足:あのIBFBR14でも幾つかのAPARがありましたが、大沼さんが作ったBUILDPRMは35年以上にわたってバグ無しというのは大したものですし、35年以上も前のプログラムがz10のz/OS V1.10でも問題無く動くのはIBM Mainframeの素晴らしさですね。