文字列一括変換

【2009/09/13 original author WATANABE】

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”というメンバーが必要、ということです。中身は空でも、どんな文字列が入っていようが問題ないのですが、このメンバーが存在していることが必要です。

  • サンプルJCL

EXEC文のPARMステートメントで、動作モードを指定します。基本的には、PARM=’CHECK’でチェックをしてから、PARM=’UPDATE’で更新しましょう。!!!!!!に指定した文字列を$$$$$$に変換します。

【2009/09/13 original author WATANABE】