当記事の著作権はIBMに帰属します。
詳細はこらちを参照ください。こちら
※この記事は、z/OS 3.1のシステムを使用しています。
BOUNDS
ISPFエディター画面で
.xxカラム目~xxカラム目だけ、Change Allで置換したい
.xxカラム目~xxカラム目だけ、削除したい
といったように、範囲指定をして編集作業を進めたいと感じたことはないでしょうか。
そんな要望に応えるBOUNDS行コマンドについてご紹介します。
BOUNDSはテーブルの作成、編集であったり、大量のSYSINカードを生成する時に役立ちます。
⇒この’’<>’の間が 現在設定されている境界桁(範囲)です。
③例えば、7カラム目~17カラム目を境界桁に指定したい場合は、
下図のように7カラム目、17カラム目に’’<>’’を入力してCtrlキー実行⇒境界桁が更新されます。
※カラム位置の表示は、「COLSコマンド」を用いましょう。

実際に、BOUNDSを使用した例をいくつかご紹介します。
<範囲指定の置換>
7カラム目~17カラム目の「TEST1」を「HOGE1」に置換してみましょう。
まずは境界桁を更新して、C TEST1 HOGE1 ALLを実行

⇩
範囲指定した場所のみ、HOGE1へ置換されていますね!
<範囲指定の削除①>
7カラム目~17カラム目の「TEST2」のみ削除してみましょう。
まずは境界桁を更新して、C TEST2 ’’ ALLを実行

⇩
範囲指定した場所のみ、TEST2が削除されていますね!
<範囲指定の削除②>
削除して空白ができてしまった場合、左に詰める手法です。
対象範囲を指定するBOUNDSと「((」を利用し、6桁分左へ移動させます。
(何桁分移動かは、COLSコマンドで調べましょう。)

⇩
移動できました!👏
<戻すとき>
BOUNDSは現在編集中の画面を抜けても有効になったままなので、
別ファイルを修正しようとした際、Change Allでの置換などが想定外の動きをする恐れがあります。
BOUNDSの使用が終わったら、必ず元に戻すようにしましょう。
戻し方は、「=BNDS」行の’’<>’’を 削除してCtrlキーを実行するだけです。
そうすると、レコード長に合わせた最大の境界桁に自動で戻してくれます!👏
本記事はチーム活動の一環です。背景や目的はこちらにまとめています。→ リンク
この記事は、IBM Community Japanの主催する2025年ナレッジモール研究における「メインフレーム若手技術者の広場」の成果物です。




