1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM i (駆け出し)日記:Rational Developer for i (RDi)でソース編集とコンパイルと諸々Tips

Last updated at Posted at 2025-10-16

RDiを実際に使用してソースを編集してみる

RDiのバージョン:9.8.0.5

環境設定

PVS利用の場合はトンネリングの設定が必要

Opensshもしくはターミナルで以下のポートを追加してください。

ssh [PVSアカウント]@[PVSのIP] -L 22:localhost:22 -L 50000:localhost:23 -L 446:localhost:446 -L 449:localhost:449 -L 2001:localhost:2001 -L 2002:localhost:2002 -L 2003:localhost:2003 -L 2007:localhost:2007 -L 2323:localhost:2323 -L 2300:localhost:2300 -L 3001:localhost:3001 -L 3002:localhost:3002 -L 8470:localhost:8470 -L 8471:localhost:8471 -L 8472:localhost:8472 -L 8473:localhost:8473 -L 8474:localhost:8474 -L 8475:localhost:8475 -L 8476:localhost:8476 -o ExitOnForwardFailure=yes -o ServerAliveInterval=15 -o ServerAliveCountMax=3
  • 8470: IBM i セントラルサーバー
  • 8475: IBM i リモート コマンド サーバー
  • 8476: IBM i サインオンサーバー
  • 446: IBM i DRDA® (レコード アクセス) サーバー
  • 449: IBM i サーバー マッパー サーバー
    参考:RDiのポートについて(英語のBlog)

Windows10未満でOpensshが利用できない場合は、別紙のPuTTyでの設定方法を参考にしてください。

RDiの起動

  1. Windowsのスタートメニューから、「IBM Sofrware Delivery Platform」、「IBM Rationl
    Developer for i V9.8」をクリックして起動します。

  2. ワークスペースランチャーが表示されます。
    ワークスペースとは、これから行う作業環境を保存するフォルダです。
    1台のPCを1人のユーザーが占有して使用するのであれば特にワークスペースを変更する必要はありません、OKボタンを押します。

  3. RDiが起動され「ようこそ」ページが表示されます。「ようこそ」は✖️ボタンで閉じます。

  4. リモート・システム・ビューの新規接続の下にIBM iがありますので、右クリックして新規接続をクリックします。
    image.png

  • ホスト名:localhost
  • 接続名:自動的にホスト名と同じに名前になりますが、任意の名前に変更できます。
  • 記述:任意の説明を記入します。
    image-23.png

セキュア通信方式を使用のチェックを外します。
「終了」をクリックします。これで接続が可能になりました。
image-1.png

接続設定

  1. 接続名を右クリックし、プロパティを開きます。
    image-48.png

  2. ご自身のライブラリー(STUDENTXX)を追加し、追加ボタンを押します

image-47.png

※IBM iと接続された後、ライブラリー・リストに指定したライブラリーが追加されます(ADDLIBLEコマンドが実行されます)。

※現行ライブラリーにライブラリーを指定することもできます。

  1. IBM iと接続します。右クリックし、「接続」を選択します。
    image-5.png

  2. ユーザー・プロファイルでログインします。ユーザーID、パスワード、それぞれ入力し、「OK」ボタンを押します。

パスワード横のボタンを押すことでパスワードが表示されます。
(あくまで一例、以前ハンズオンで利用したID/パスワードで現在この環境は存在しません)
image-86.png

  1. 接続が成功すると、リモート・システム・ビューにライブラリーが表示されます。

「User libraries」の下にご自身のライブラリーが表示されます。
image-50.png

  1. プロパティを開き、必要なサービスが開始/接続されているかを確認します。
    接続されていなければ、接続を押します。

image-46.png

固定長ソースメンバーの編集/コンパイル

固定長のRPGLEプログラムをRDiで編集し、コンパイルを実施します。
コンパイル実施後、プログラムを実行し、スプールファイルを確認します。

前提

参照・編集対象のソース・ファイルに利用ユーザーがアクセスできるよう、必要に応じて権限(*OBJOPR/*READ/*UPD 等)を付与してください。

例:GRTOBJAUT OBJ(STUDENTXX/QRPGLESRC) …(具体的な権限付与は運用ポリシーに合わせて実施)

物理ファイルの確認

今回使用する物理ファイル「TOKMSP」の中身を確認します。
TOKMSP.mbrを右クリックし、テーブルでの表示をクリックします。
image-70.png
image-71.png

「データテーブル」タブに表形式でデータが表示されます。

image-72.png

ソースメンバーの編集

「LPEX エディター」を用いてソースメンバーを編集します。

RSEのオブジェクトビューから、ライブラリー(STUDENTXX) → ソース・ファイル(QRPGLESRC) → ソース・メンバー(ILE10R) を辿り、対象メンバー(ILE10R)を右クリック
image-55.png

アプリケーションから開く → LPEX エディター を選択して開く
image-12.png

※PowerVSの接続状況により、表示に時間がかかる場合があります。右下にメンバーのダウンロード状況が表示されます。
image-43.png

ソース・プロンプター

ソースを完成させます。
RPG/DDS いずれも、ソース行にカーソル → F4 でプロンプター起動します
<この状態でF4を押す>
image.png

<ソースプロンプターが開く>
image.png

今回は以下のように記入していきます。

  • 行タイプに「H:制御」を入力
    以下のように入力します。

    • キーワード:「DATEDIT (*YMD)」
      image-19.png
      変更が終わったら、適用ボタンを押します。
      image-20.png
  • 行タイプに「F:ファイル記述」を選択します。

  • 以下のように入力し、適用ボタンを押します。

    • ファイル名:TOKMSP
    • ファイル・タイプ:「I」
    • ファイル指定:「F」
    • ファイルフォーマット:「E」
    • レコードアドレスタイプ:「K」
    • 装置:「DISK」

image-21.png

  • 行タイプを「C:演算拡張演算項目2」に変更します。同様に以下のように入力します。
    • 演算命令と拡張:READ
    • 拡張演算項目2:TOKMSP

image-22.png

  • 行タイプを「O:出力、レコードID」に変更します。同様に以下のように入力します。
    • ファイル名QPRINT
    • タイプ:「E」
    • EXCEPT名:MEISAI
    • 印刷後スペース:「1」

image-39.png

<参考>行の挿入と削除:

SEU 風の行コマンド(C, M, D など)も LPEX で扱えます。Enter で前行の種別を引き継がないようにする設定も可能です。
例)左側のメニューバーにて挿入したい場合は「I」、削除したい場合は「D」を選択することで、行の挿入・削除ができます。

image-15.png

コンパイル

編集したソースをCtrl+Sで保存します。
保存した後、QRPGLESRC/ILE10R を右クリック→コンパイル→CRTBNDRPGを選択します。
image-16.png

コンパイルが完了すると結果がコマンドログおよびエラーリストに表示されます。

<コマンドログ>
image-64.png

<エラーリスト>
image-65.png

コンパイルしたプログラムの存在を確認します、
ライブラリを右クリックし、更新します。

image-67.png

STUDENT に生成されたプログラムILE10Rを確認します。

image-66.png

プログラム実行

プログラムを実行します。
RDiのコマンドログの下方のコマンドから実行します。
5250画面からの実行も可能です、その場合はジョブが異なるため5250画面側でもライブラリーリストを更新してください
image-51.png
image-52.png

まずCALLコマンド実行前にスプールを出力するOUTQを作成し、属性を変更します。

CRTOUTQ OUTQ(STUDENTXX/STUDENTXXQ) 
OVRPRTF FILE(QPRINT) OUTQ(STUDENTXX/STUDENTXXQ)

その後プログラムを実行します。

CALL STUDENT/ILE10R

WRKOUTQ STUDENTXX/STUDENTXXQでスプールファイルを確認するか、ACSのプリンター出力から印刷内容を確認します。

image-69.png

image-68.png

<参考>固定長ソースをFF RPGに変換

固定長ソースを全選択肢、右クリックをすると「選択をフリー・フォームに変換」が表示されます。
こちらを実行することで固定長ソースをFF RPGに変換できます。

image-44.png

RDiでのストリング検索およびコンパイルについて

「管理エリア」にカーソルを合わせ、RDiの検索(Ctrl+H)で表示される「IBM i Search / Multi-File Search」でライブラリ/ソースファイル/メンバーをまたいだ文字列検索が可能です。
右側の「リモート検索欄」に結果が表示されます。
検索でヒットしたものに対して複数選択を実施し、コンパイルすることが可能です。
image.png

スクリーンデザイナーで画面ファイルを編集

Screen Designerを使用し、画面ファイルHIN010Sを編集しコンパイルを実施する。
その後、関連プログラムHIN010のコンパイルも実施したのち、5250画面でプログラムを実行し、挙動を確認する。

Screen Designer の起動

ライブラリ(STUDENTXX)->ファイル(QDDSSRC)->HIN010Sを右クリックし、Screen Designerを選択します。

image-25.png

Screen Designer が起動します。

画面レイアウトの基本操作

「設計ビュー」にてレコード様式を選択します。
画面上部の「設計ページ画面制御」からFMT01を選択します。

image-73.png

「パレット・ビュー」にて、レコードおよびフィールドの追加を行います。

image-74.png

ドラッグアンドドロップで、設計ビューにレコード/フィールドの追加ができます。

今回はパレットから時刻定数を選択します。

image-30.png

ドロップで配置したい位置に持っていきます。

image-31.png

今回は時間と日付が空欄になっています、入力してみてください

「プロパティー・ビュー」にて、レコードやフィールドの定義を設定/確認します。

image-76.png

選択した要素はプロパティー・ビューで各項目(基本/ファンクション/キーワード 等)を編集できます。

プロパティを確認したい要素を右クリックすると、プロパティー・ビューが表示されます。

image-33.png

<プロパティー・ビューの中身>

image-32.png

「アウトライン・ビュー」にてレコードやフィールド定義の確認が一覧でできます。

image-77.png

ソース・メンバーの表示と連携

設計横のソースをクリックすることで、DDSソースの表示ができます。

image-78.png

↑このボタンです

image-79.png

Screen Designerで設計した要素は LPEXエディターと連動しています。
右上でビューの切り替えを実施できます。

image-80.png

image-83.png

コンパイル(CRTDSPF)

保存(Ctrl+S)したのち、コンパイルを実施します

ソース・メンバー(QDDSSRC/HIN010S)を右クリック → [コンパイル(プロンプト)→ CRTDSPF]を選択します。
image-84.png

コマンド・ログで作成結果が確認できます。

image-85.png

プログラム(QRPGLRSRC/HIN010)もコンパイルを実施します。

image-36.png

実行確認

プログラムを実行します。
今回は対話型のため、5250画面からプログラムをCallします。
※5250画面上でライブラリリストにSTUDENTXXを追加してください。
CALL (STUDENTXX/HIN010)
を実施。

以下のような対話式プログラムが表示されます。

image-40.png

参考

デバッグ機能の起動

※本ハンズオンでは使用していない3825ポートへのトンネリングを実施してください。

設定にてデバッグサーバーの設定を確認します。
プログラムの実行中に実働ファイルを更新する場合は、設定の「IBM i デバッグ」の実働ファイルを更新するにチェックを入れてください。

image-57.png

設定が完了したら適用して閉じるを選択します。

localhostの下にあるオブジェクトを右クリックし、リモートサーバー-> デバッグ->開始を選択します。
image-56.png

※5250画面からSTRBGSSVRコマンドを起動するのと同じ操作をしています。

RDiからエントリーブレークポイントを設定する「サービスエントリーポイント機能」を起動します。

デバッグを行いたいプログラムを右クリックし、「デバッグまたはコード・カバレッジ(サービス・エントリー)」「サービス・エントリー・ポイントの設定」を選択します。

image-58.png

サービス・エントリー・ポイントがしく設定されたことを示すメッセージおよび「IBM i サービス・エントリー・ポイント」ビューが表示されます。

image-59.png

プログラムをCallすると以下のような切り替え画面が表示されます。

image-60.png

切り替えを押すとデバッグ・パースペクティブが表示されます。
image-62.png

SQLの実行

localhostの下にあるオブジェクトを右クリックし、
リモートサーバー->SQLスクリプト実行の軌道を選択します。

image-63.png

ACSのSQLスクリプト実行画面が起動します。

接続ポートについて

今回トンネリングしたポートの内訳を以下に記載いたします。

ローカル:リモート サービス名(IBM i) 主な用途(代表クライアント) 備考
22 → 22 SSH (sshd) SSHログイン/ポートフォワード ローカル22は既存sshdと競合の可能性。任意のローカル番号に変えてもOK(例: -L 10022:localhost:22)。
50000 → 23 Telnet (TN5250/平文) 5250エミュレータ(ACS 5250等) 50000はローカル便宜ポート。先の23はIBM i側Telnet。暗号化は992推奨。
446 → 446 DRDA/DDM(平文) Db2 DRDAクライアント(RDi/ACSでは通常は8471/9471) 検証用や暗号化不要時。TLSなら448を使用。
449 → 449 Server Mapper 各ホストサーバ仲介/RDi/ACSで必須 847x系とセットで開けることが多い。
2001 → 2001 HTTP Administration (*ADMIN) 管理UI(HTTP) 新Navigator for i 証明書管理など管理群の基盤。
2002 → 2002 Navigator for i (HTTP) 新Navigator(非TLS) 通常は2003(HTTPS)を推奨。
2003 → 2003 Navigator for i (HTTPS) 新Navigator(TLS) 運用は基本こちら。
2007 → 2007 Digital Certificate Manager (HTTPS) 証明書管理 7.6でもDCMで証明書配布を実施。
2323 → 2323 Operations Console (LAN) LANコンソール HMCなしの接続で利用。
2300 → 2300 Operations Console (LAN) LANコンソール 環境により必要。
3001 → 3001 Operations Console (LAN) LANコンソール 3002と併用されることが多い。
3002 → 3002 Operations Console (LAN/安全側) LANコンソール 3001とセットで許可。
8470 → 8470 as-central(中央) RDi/ACSの基盤サービス 8470〜8476はホストサーバ群。
8471 → 8471 as-database(DB) ACSのRun SQL、RDiのDB連携 JDBC/ODBC/SQL系はこちらが本線。
8472 → 8472 as-dtaq(データキュー) データキュー操作 必要時のみ開放。
8473 → 8473 as-file(IFS) IFS操作(RDi/ACS)
8474 → 8474 as-netprt(ネット印刷) プリンタ関連
8475 → 8475 as-rmtcmd(リモートコマンド) RDi/ACSのRMTCMD RDi操作で重要。
8476 → 8476 as-signon(サインオン) 認証/セッション確立 RDi/ACS接続時の必須ポート。
3825 → 3825 デバッガー RDi統合デバッガ 今回は未使用、デバッガー利用時はトンネリング必須。

メンバー編集ができない場合

  • レコードアクセスサービスの使用状況を確認

image-28.png

使用不可になっていた場合、DDM request accessがREJECTされている可能性があります。
DSPNETAでDDMサーバーへの権限を確認します。
REJECTだった場合はCHGNETA DDMACC(*OBJAUT)実施後、
以下コマンド実施でDDMサーバーを再起動します。
ENDTCPSVR SERVER(*DDM)
ENDPJ SBS(QUSRWRK) PGM(QSYS/QRWTSRVR) OPTION(*IMMED) STRTCPSVR SERVER(*DDM)

  • 権限を確認
    ソースファイルの権限を確認します
DSPOBJAUT OBJ(STUDENT/QRPGLESRC) OBJTYPE(*FILE)

権限がなかった場合は以下を実行

CHGAUT OBJ(‘/QSYS.LIB/STUDENTXX.LIB/QRPGLESRC.FILE’) USER(*PUBLIC) DTAAUT(*RWX) OJAUT(*ALL)
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?