IBM i を、無料で、本物で触れる場所があります。PUB400.COM です。

この連載は、そこで手を動かすための演習集です。1回30分。読んで分かった気になるのでは なく、指が覚えるまで打つことを目指します。だから毎回、最後に「何も見ずにもう一度」を 置いています。

誰に向けて書いているか

Unix や Linux には慣れているが、IBM i はまったく知らない人です。

この層がいちばん苦しみます。用語を調べれば出てきますが、世界の区切り方が違うので 対応表が埋まらない。「ライブラリーはディレクトリーのようなもの」で進むと三歩目で 矛盾します(入れ子にならないので)。

だから操作と同じだけ、概念に紙幅を割きます。IBM i を長く使っている人には 当たり前すぎて誰も書かないことを、わざわざ書きます。

なぜ「脊髄反射」か

IBM i は、知識より手順が体に入っているかで速さが変わります。F3 で抜ける、 F4 で引数を出す、F9 で前の命令を戻す。考えて思い出すものではなく、反射で出るべき ものです。

ただし反射は地図があって初めて意味を持ちます。だから概念の回と演習の回を 交互に置いています。

前置き

  • 実機です。 壊しても大丈夫な砂場ではありません。共有システムなので、他人の 邪魔をしない範囲で遊びます
  • PUB400 は個人が善意で公開している無料サービスです。重い処理を延々流したりしないこと
  • 画面は IBM i 7.5(5770SS1 V7R5M0)のものです

公開済み

  1. 第1回 Unix 使いのための IBM i 地図 — 手は動かさない。世界の区切り方が違うことだけ先に飲み込む
  2. 第2回 PUB400 に繋ぐ — 無料の本物の IBM i に入って、メインメニューを読む

全体の見取り図

概と付いているのが概念の回です。手はあまり動かしません。 本数は目安で、書いてみて割れたり縮んだりします。

第1部 入口(1〜7)

     
1 概 Unix 使いのための IBM i 地図
2   PUB400 に繋ぐ
3   コマンド行の作法 — Erase EOF、F9、F4、F3とF12
4 概 メッセージとジョブログ — エラーは文字列ではなくオブジェクト
5 概 ライブラリー・リスト — $PATH が全部に効く世界
6   オブジェクトを見る — WRKOBJ DSPOBJD WRKLIB
7   スプール — 出力はどこへ行くのか

第2部 ソースと編集(8〜12)

     
8 概 ソース物理ファイル — なぜソースが「表」なのか
9   SEU の桁と FMT 定規
10   SEU の行コマンド — I D C M を反射にする
11   PDM で回す — 一覧から直してコンパイル
12 概 IFS — 同居しているもう一つの世界

第3部 データベース(13〜21)

     
13 概 レコード — バイトの流れではない
14   DDS で物理ファイルを作る
15   データを入れる — UPDDTA
16 概 論理ファイル — 索引でもビューでもあるもの
17   SQL で触る — STRSQL
18 概 CREATE TABLE と CRTPF は何が違うのか
19   結合と集計
20   ジャーナルとコミット
21   SQL サービス — システムを QSYS2.* で覗く

第4部 画面(22〜28)

     
22 概 5250 — 画面は文字の流れではなくデータ構造
23   DDS で画面を作る — 定数と入力
24 概 標識 — 画面の条件分岐
25   機能キーと AID
26   サブファイル(1)一覧を出す
27   サブファイル(2)ページ送りと SFLEND
28   窓と色 — WINDOW WDWBORDER

第5部 プログラム(29〜37)

     
29 概 プログラムもオブジェクト — コンパイルで何ができるのか
30   CL(1)変数と条件
31   CL(2)MONMSG — エラーを捕まえる
32   RPG 自由形式の基本
33   RPG でファイルを読む — CHAIN と READ
34   RPG で画面を出す — EXFMT
35   RPG でサブファイル
36 概 ILE — モジュール、バインド、活動化グループ
37   組み込み SQL — SQLRPGLE

第6部 動かす(38〜44)

     
38 概 ジョブ — プロセスとどう違うのか
39   バッチに投げる — SBMJOB とジョブ待ち行列
40 概 サブシステム — 仕事の置き場
41 概 権限 — オブジェクトごとの鍵、採用権限
42   デバッガ — STRDBG
43   SSH と PASE — もう一つの IBM i
44   まとめ — Unix 使いが最後まで引っかかること

書けないかもしれない回

PUB400 は共有システムです。試してみて、できなければ「できなかった」と 書いて削ります。できないこと自体が、共有システムの実務感覚を教えてくれます。

いま怪しいと思っているのは、権限(41)・サブシステム(40)・ジャーナル(20) あたりです。

関連

同じ作者が pocket400 というアプリも作って います。5250 の画面・DDS・SQL・RPG の有界な部分集合を手元で動かすもので、 実機に繋がずに形を覚えるためのものです。この連載とは逆向き(砂場 → 実機)の 関係になります。

実機との差は docs/terminal-design.md に記録しています。この連載で実機を触って分かったことは、そちらにも反映しています。