このリポジトリは、IBM i(AS/400)システム向けに開発されたサンプルプログラム集です。主にRPG ILE(RPGLE)言語を使用して、小売業の業務システムを想定した品目マスタ管理システムのサンプルが含まれています。
- 品目マスタ管理システム - 商品の情報を管理
- 帳票出力機能 - 各種一覧表の印刷
- 画面照会機能 - 品目マスタの照会画面
小売業を想定した以下の業務機能:
- 品目(商品)マスタの管理
- 売上管理
- 在庫管理
- 帳票出力
020-FF_RPG_samples-main/
├── QDDSSRC/ # データベース定義ソース
├── QDSPSRC/ # ディスプレイファイル
├── QPRTSRC/ # プリンタファイル
├── QRPGLESRC/ # RPG ILEソースコード
├── SAVF/ # セーブファイル
└── misc/ # その他ファイル
└── printSamples/ # 印刷サンプル(PDF)
- HINMSP.PF - 品目マスタ物理ファイル
- HINMSL01.LF - 品目マスタ論理ファイル
- JUMEIP.PF - 受注明細物理ファイル
- JUMIDP.PF - 受注見出し物理ファイル
- TOKMSP.PF - 得意先マスタ物理ファイル
- SIRMSP.PF - 仕入先マスタ物理ファイル
- IPL010D.DSPF - 品目マスタ照会画面(シンプル版)
- IPL020D.DSPF - 品目マスタ照会画面(サブファイル版)
- BPL010P.PRTF - 品目マスタ一覧表
- BPL020P.PRTF - 得意先別受注一覧表
- BPL030P.PRTF - 地区別受注一覧表
- BPL010@YU1.RPGLE - 品目マスタ一覧表(基本版)
- BPL010@YU2.RPGLE - 品目マスタ一覧表(改良版)
- BPL010@YU3.SQLRPGLE - 品目マスタ一覧表(SQL版)
- BPL010@YU9.RPGLE - 品目マスタ一覧表(最終版)
- BPL020シリーズ - 品目マスタ一覧表(拡張版)
- BPL030シリーズ - 品目マスタ一覧表(詳細版)
- IPL010@YU2.RPGLE - 品目マスタ照会プログラム
- IPL020@YU2.RPGLE - 品目マスタ照会プログラム(拡張版)
- @USHIDAY10.RPGLE - RPG ILE固定形式記述サンプル
- @USHIDAY11.RPGLE - RPG ILE記述サンプル(拡張版)
- DCLDS1シリーズ - データ構造定義サンプル
- BPL010P.pdf - 品目マスタ一覧表印刷サンプル
- BPL020P.pdf - 品目マスタ一覧表印刷サンプル(拡張版)
- BPL030P.pdf - 品目マスタ一覧表印刷サンプル(詳細版)
- RPG ILE(RPGLE) - メインプログラミング言語
- SQL RPG ILE(SQLRPGLE) - SQL埋め込み版RPG
- DDS(Data Description Specifications) - データベース・ファイル定義
- IBM i(AS/400)システム
- 日付編集:*YMD形式
- 小数点編集:'0.'形式
- 品目マスタ(HINMSP) - 品目番号をキーとした商品情報
- 得意先マスタ(TOKMSP) - 顧客情報管理
- 仕入先マスタ(SIRMSP) - 仕入先情報管理
- 受注関連ファイル - 受注見出し・明細管理
erDiagram
HINMSP {
string HNBANG PK "品目番号"
string HNNAKN "品名(カナ)"
string HNNAKJ "品名(漢字)"
string HNVEND FK "仕入先番号"
numeric HNTEIK "定価"
numeric HNGENK "原価"
numeric HNGSUR "当月売上数量"
numeric HNNSUR "当年売上数量"
numeric HNGKIN "当月売上金額"
numeric HNNKIN "当年売上金額"
}
TOKMSP {
string TKBANG PK "得意先番号"
string TKNAKN "得意先名(カナ)"
string TKNAKJ "得意先名(漢字)"
string TKADR1 "住所1"
string TKADR2 "住所2"
string TKTIKU "地区コード"
string TKPOST "郵便番号"
string TKTELE "電話番号"
numeric TKGURI "当月売上高"
numeric TKNURI "当年売上高"
numeric TKZURI "前年売上高"
numeric TKUZAN "売掛金残高"
numeric TKGEND "信用限度額"
numeric TKNYUK "最終入金日"
string TKSIME "締め日コード"
}
SIRMSP {
string SRBANG PK "仕入先番号"
string SRNAKN "仕入先名(カナ)"
string SRNAKJ "仕入先名(漢字)"
numeric SRKZAN "買掛残高"
numeric SRGKIN "仕入金額(当月)"
numeric SRNKIN "仕入金額(当年)"
}
JUMIDP {
string JHTOKB FK "得意先番号"
numeric JHCHUB PK "受注番号"
numeric JHDATE "受注日付"
string JHTCHU "得意先注文番号"
numeric JHKING "受注金額"
numeric JHGYOS "明細行数"
string JHOKUB "送り状番号"
string JHYUSO "輸送コード"
string JHSHUK "出荷先"
string JHTEKI "摘要"
string JHTIKU "地区コード"
}
JUMEIP {
string JDTOKB FK "得意先番号"
numeric JDCHUB PK,FK "受注番号"
numeric JDGYOB PK "行番号"
string JDHINB FK "品目番号"
numeric JDSURY "受注数量"
numeric JDUTAN "売単価"
numeric JDKING "明細金額"
}
%% リレーションシップ
SIRMSP ||--o{ HINMSP : "仕入先"
TOKMSP ||--o{ JUMIDP : "得意先"
JUMIDP ||--o{ JUMEIP : "受注"
HINMSP ||--o{ JUMEIP : "品目"
-
品目マスタ(HINMSP) ← 仕入先マスタ(SIRMSP)
- 1つの仕入先から複数の品目を仕入れ
- HINMSP.HNVEND → SIRMSP.SRBANG
-
得意先マスタ(TOKMSP) ← 受注見出し(JUMIDP)
- 1つの得意先から複数の受注
- JUMIDP.JHTOKB → TOKMSP.TKBANG
-
受注見出し(JUMIDP) ← 受注明細(JUMEIP)
- 1つの受注に複数の明細行
- JUMEIP.JDCHUB → JUMIDP.JHCHUB
-
品目マスタ(HINMSP) ← 受注明細(JUMEIP)
- 1つの品目が複数の受注明細で使用
- JUMEIP.JDHINB → HINMSP.HNBANG
- 仕入先マスタで仕入先情報を管理
- 品目マスタで商品情報と仕入先を関連付け
- 得意先マスタで顧客情報を管理
- 受注見出しで受注の基本情報を得意先と関連付け
- 受注明細で受注の詳細を品目と関連付け
- 外部キー制約により参照整合性を保証
- 複合主キー(受注番号+行番号)による明細管理
- マスタデータの一元管理による整合性確保
商品の基本情報と売上実績を管理するマスタファイル
| フィールド名 | データ型 | 長さ | 小数 | 説明 |
|---|---|---|---|---|
| HNBANG | 文字 | 5 | - | 品目番号(キー) |
| HNNAKN | 文字 | 20 | - | 品名(カナ) |
| HNNAKJ | 文字 | 20 | - | 品名(漢字) |
| HNVEND | 文字 | 5 | - | 仕入先番号 |
| HNTEIK | 数値 | 5 | 0 | 定価 |
| HNGENK | 数値 | 5 | 0 | 原価 |
| HNGSUR | 数値 | 5 | 0 | 当月売上数量 |
| HNNSUR | 数値 | 5 | 0 | 当年売上数量 |
| HNGKIN | 数値 | 7 | 0 | 当月売上金額 |
| HNNKIN | 数値 | 7 | 0 | 当年売上金額 |
主キー: HNBANG(品目番号)
顧客の基本情報と取引実績を管理するマスタファイル
| フィールド名 | データ型 | 長さ | 小数 | 説明 |
|---|---|---|---|---|
| TKBANG | 文字 | 5 | - | 得意先番号(キー) |
| TKNAKN | 文字 | 20 | - | 得意先名(カナ) |
| TKNAKJ | 文字 | 20 | - | 得意先名(漢字) |
| TKADR1 | 文字 | 20 | - | 住所1 |
| TKADR2 | 文字 | 20 | - | 住所2 |
| TKTIKU | 文字 | 2 | - | 地区コード |
| TKPOST | 文字 | 6 | - | 郵便番号 |
| TKTELE | 文字 | 13 | - | 電話番号 |
| TKGURI | 数値 | 9 | 0 | 当月売上高 |
| TKNURI | 数値 | 9 | 0 | 当年売上高 |
| TKZURI | 数値 | 9 | 0 | 前年売上高 |
| TKUZAN | 数値 | 9 | 0 | 売掛金残高 |
| TKGEND | 数値 | 9 | 0 | 信用限度額 |
| TKNYUK | 数値 | 6 | 0 | 最終入金日 |
| TKSIME | 文字 | 1 | - | 締め日コード |
主キー: TKBANG(得意先番号)
仕入先の基本情報と取引実績を管理するマスタファイル
| フィールド名 | データ型 | 長さ | 小数 | 説明 |
|---|---|---|---|---|
| SRBANG | 文字 | 5 | - | 仕入先番号(キー) |
| SRNAKN | 文字 | 20 | - | 仕入先名(カナ) |
| SRNAKJ | 文字 | 20 | - | 仕入先名(漢字) |
| SRKZAN | 数値 | 9 | 0 | 買掛残高 |
| SRGKIN | 数値 | 9 | 0 | 仕入金額(当月) |
| SRNKIN | 数値 | 9 | 0 | 仕入金額(当年) |
主キー: SRBANG(仕入先番号) 注意: QEOLFFでは未使用のファイル
受注の基本情報を管理するトランザクションファイル
| フィールド名 | データ型 | 長さ | 小数 | 説明 |
|---|---|---|---|---|
| JHTOKB | 文字 | 5 | - | 得意先番号 |
| JHCHUB | 数値 | 5 | 0 | 受注番号(キー) |
| JHDATE | 数値 | 6 | 0 | 受注日付 |
| JHTCHU | 文字 | 5 | - | 得意先注文番号 |
| JHKING | 数値 | 7 | 0 | 受注金額 |
| JHGYOS | 数値 | 3 | 0 | 明細行数 |
| JHOKUB | 文字 | 5 | - | 送り状番号 |
| JHYUSO | 文字 | 2 | - | 輸送コード |
| JHSHUK | 文字 | 20 | - | 出荷先 |
| JHTEKI | 文字 | 20 | - | 摘要 |
| JHTIKU | 文字 | 2 | - | 地区コード |
主キー: JHCHUB(受注番号)
受注の明細情報を管理するトランザクションファイル
| フィールド名 | データ型 | 長さ | 小数 | 説明 |
|---|---|---|---|---|
| JDTOKB | 文字 | 5 | - | 得意先番号 |
| JDCHUB | 数値 | 5 | 0 | 受注番号(キー1) |
| JDGYOB | 数値 | 3 | 0 | 行番号(キー2) |
| JDHINB | 文字 | 5 | - | 品目番号 |
| JDSURY | 数値 | 5 | 0 | 受注数量 |
| JDUTAN | 数値 | 5 | 0 | 売単価 |
| JDKING | 数値 | 7 | 0 | 明細金額 |
主キー: JDCHUB(受注番号)+ JDGYOB(行番号) 注意: QEOLFFでは未使用のファイル
- HINMSL01.LF - 品目マスタ(品名カナ順)
- ソート順: HNNAKN(品名カナ)
- TOKMSL01.LF - 得意先マスタ(郵便番号順)※未使用
- ソート順: TKPOST(郵便番号)
- TOKMSL02.LF - 得意先マスタ(得意先名カナ順)※未使用
- ソート順: TKNAKN(得意先名カナ)
- TOKMSL03.LF - 得意先マスタ(地区・得意先番号順)※未使用
- ソート順: TKTIKU(地区コード)+ TKBANG(得意先番号)
- JUMIDL01.LF - 受注見出し(得意先・受注番号順)
- ソート順: JHTOKB(得意先番号)+ JHCHUB(受注番号)
- JUMIDL02.LF - 受注見出し(地区・得意先・受注番号順)
- ソート順: JHTIKU(地区コード)+ JHTOKB(得意先番号)+ JHCHUB(受注番号)
- JUCHUL01.LF - 受注合計ビュー(見出し・明細結合)※未使用
- 受注見出しと受注明細を結合したマルチフォーマット論理ファイル
単一レコード照会を行うシンプルな画面設計
- PANEL01: メイン照会パネル
- 画面タイトル: 「品目マスター照会」
- 入力フィールド: 品目番号(5文字)
- システム日付・時刻の自動表示
- エラーメッセージ表示機能
- F3キー: 終了機能(CF03)
- PAGEUP/PAGEDOWN: ページ制御
- 入力検証: 該当品番存在チェック
- 属性制御: 強調表示(DSPATR)
| フィールド名 | 属性 | 位置 | 説明 |
|---|---|---|---|
| IX1BANG | 5A B | 5行27列 | 品目番号入力フィールド |
| DATE | システム | 1行70列 | システム日付(Y編集) |
| TIME | システム | 2行70列 | システム時刻 |
複数レコード表示可能なサブファイル形式の画面設計
-
PANEL01: 見出しパネル
- 画面タイトル: 「品目マスター照会」
- 検索条件: 品目名(カナ)による部分一致検索
-
SFL01: サブファイルレコード(明細行)
- 1画面に最大6件表示(SFLPAG(6))
- サブファイルサイズ: 24件(SFLSIZ(24))
-
CTL01: サブファイル制御レコード
- 表示制御とヘッダー情報
| 項目 | データ型 | 位置 | 説明 |
|---|---|---|---|
| DNO | 2,0 | 9行2列 | 行番号 |
| DHNBANG | 5A | 9行6列 | 品目番号 |
| DHNNAKJ | 20A | 9行14列 | 品目名(漢字) |
| DHNTEIK | 5,0 | 9行37列 | 定価 |
| DHNGENK | 5,0 | 9行46列 | 原価 |
| DHNGSUR | 5,0 | 9行58列 | 当月売上数量 |
| DHNNSUR | 5,0 | 9行70列 | 当年売上数量 |
| DHNNAKN | 20A | 10行7列 | 品目名(カナ)※青色表示 |
| DHNGKIN | 7,0 | 10行55列 | 当月売上金額 |
| DHNNKIN | 7,0 | 10行67列 | 当年売上金額 |
- 部分一致検索: 品目名カナによる絞り込み
- MORE機能: 24件を超える場合の続き表示
- スクロール: PageUp/PageDownによる画面送り
- カラー表示: 青色での項目強調
品目マスタの全件を一覧表示する基本的な帳票
-
PHEAD1: ページヘッダー
- プログラム名: BPL010
- タイトル: 「品目マスター一覧表」
- システム日付、ページ番号
- カラムヘッダー
-
PITEM1: 明細行
- 品目情報の詳細表示
| フィールド名 | データ型 | 位置 | 説明 |
|---|---|---|---|
| PI1HNBANG | 5A | 4列 | 品目番号 |
| PI1HNNAKJ | 20O | 17列 | 品目名(漢字) |
| PI1HNNAKN | 20A | 42列 | 品目名(カナ) |
| PI1HNTEIK | 5,0 | 65列 | 定価(編集コード1) |
| PI1HNGENK | 5,0 | 76列 | 原価(編集コード1) |
| PI1HNGSUR | 5,0 | 91列 | 当月売上数量(編集コード1) |
| PI1HNGKIN | 7,0 | 102列 | 当月売上金額(編集コードJ) |
得意先ごとの受注状況を一覧表示する帳票
-
PHEAD1: ページヘッダー
- プログラム名: BPL020
- タイトル: 「得意先別受注一覧表」
- カラムヘッダー
-
PITEM1: 明細行(得意先別受注情報)
-
PTOTAL1: 最終計行
- レコード件数、受注金額合計、平均金額
| フィールド名 | データ型 | 位置 | 説明 |
|---|---|---|---|
| PI1JHTOKB | 5A | 7列 | 得意先番号 |
| PI1TKNAKJ | 20O | 19列 | 得意先名(漢字) |
| PI1JHCHUB | 5,0 | 48列 | 受注番号 |
| PI1JHGYOS | 3,0 | 64列 | 明細行数(編集コードZ) |
| PI1JHKING | 7,0 | 72列 | 受注金額(編集コードJ) |
| フィールド名 | データ型 | 位置 | 説明 |
|---|---|---|---|
| PT1KENSU | 3,0 | 50列 | レコード件数 |
| PT1GOKEI | 9,0 | 70列 | 受注金額合計 |
| PT1HEIKIN | 7,0 | 102列 | 平均金額 |
地区コード別に受注状況を集計表示する帳票
-
PHEAD1: ページヘッダー
- プログラム名: BPL030
- タイトル: 「地区別受注一覧表」
- 地区コード・地区名表示
-
PTOTAL1: 得意先別小計行
-
PTOTAL2: 地区別合計行
| フィールド名 | データ型 | 位置 | 説明 |
|---|---|---|---|
| PH1JHTIKU | 2A | 18列 | 地区コード |
| PH1TIKNAM | 8O | 31列 | 地区名 |
| フィールド名 | データ型 | 位置 | 説明 |
|---|---|---|---|
| PT1JHTOKB | 5A | 5列 | 得意先番号 |
| PT1TKNAKJ | 20O | 19列 | 得意先名(漢字) |
| PT1_REC | 4,0 | 46列 | レコード数 |
| PT1_KING | 9,0 | 57列 | 受注金額 |
| PT1_AVR | 7,0 | 77列 | 平均金額 |
| フィールド名 | データ型 | 位置 | 説明 |
|---|---|---|---|
| PT2_REC | 5,0 | 45列 | レコード件数 |
| PT2_KING | 10,0 | 55列 | 受注金額合計 |
| PT2_AVR | 7,0 | 77列 | 平均金額 |
- 編集コード1: 数値のゼロサプレス(先頭ゼロ除去)
- 編集コードJ: 日本円形式(3桁区切りカンマ)
- 編集コードZ: ゼロ値の場合は空白表示
- 編集コードY: 日付のYY/MM/DD形式
- 固定幅フォント: 等幅フォントでの正確な桁揃え
- 段組み表示: 複数行にわたる項目の効果的配置
- 視認性向上: スペーシング(SPACEA)による読みやすさ確保
目的: RPG ILEで廃止予定の固定形式記述方法の学習用サンプル
特徴:
- 固定形式記述: 伝統的なRPG固定形式の記述例
- 基本演算: 加算、減算、乗算、除算の基本演算
- 文字列操作: CAT、CHECK、SCAN、SUBSTなどの文字列処理
- ファイル操作: LOOKUP、MOVEA、XFOOTなどの配列操作
- 標識操作: SETON、SETOFF、比較演算
- 日付処理: TIME、ADDDURによる日付時刻操作
学習要素:
- 固定形式のC仕様書記述方法
- 古いRPGからの移行時の参考コード
- 非推奨機能の理解
目的: 固定形式から自由形式への変換例を示すサンプル
特徴:
- FREE形式:
**FREEによる完全自由形式記述 - 新旧対比: 固定形式コードをコメントで併記
- 関数活用: %CHECK、%DIV、%LOOKUPなどの組み込み関数
- プロシージャ: CALLP、DCL-PRによるプロシージャ呼び出し
- モダン制御: FOR-ENDFOR、IF-ENDIF構造
学習要素:
- 固定形式から自由形式への移行方法
- モダンなRPG記述技法
- 組み込み関数の活用方法
DCLDS1@YU1.RPGLE - データ構造サンプル(固定形式)
目的: RPGにおける各種データ構造定義の学習サンプル
特徴:
- SDS(Program Status Data Structure): プログラム状況データ構造
- UDS(User Data Area): ローカルデータ域
- 複合データ構造: OVERLAY、分割フィールド定義
- システム情報: プログラム名、ジョブ名、ユーザー名の取得
学習要素:
- システム情報の取得方法
- データ域の活用
- フィールド分割技法
DCLDS1@YU2.RPGLE - データ構造サンプル(自由形式)
目的: 自由形式でのデータ構造定義の学習サンプル
特徴:
- DCL-DS: 自由形式データ構造宣言
- PSDS: プログラム状況データ構造(自由形式)
- DTAARA: データ域定義(自由形式)
- OVERLAY: フィールド重複定義
学習要素:
- 自由形式でのデータ構造記述
- モダンなシステム情報取得
- メンテナンスしやすいコード構造
BPL010@YU1.RPGLE - 品目マスタ一覧表(固定形式版)
目的: 品目マスタの全件一覧を印刷する基本的な帳票プログラム
技術仕様:
- 記述形式: 固定形式RPG
- ファイル処理: DISK入力、PRINTER出力
- 処理方式: 順次読み取り(READ)
- キー処理: KLIST、SETLL、KFLD
機能:
- 品目マスタ全件読み取り
- ページヘッダー出力(日付、ページ番号)
- 明細行出力(品目情報)
- ゼロ件時の見出し出力
BPL010@YU2.RPGLE - 品目マスタ一覧表(自由形式版)
目的: BPL010@YU1の自由形式移植版
技術仕様:
- 記述形式: 完全自由形式(**FREE)
- 改良点: CTL-OPT、DCL-F、DCL-DS活用
- 標識改善: *IN80をW#FG_OF変数に置換
- 処理改善: %KDS、%EOF関数活用
特徴:
- 読みやすいコード構造
- 標準関数の積極活用
- メンテナンス性の向上
BPL010@YU3.SQLRPGLE - 品目マスタ一覧表(SQL版)
目的: SQL埋め込み処理の学習サンプル
技術仕様:
- 記述形式: 自由形式 + 埋め込みSQL
- データアクセス: カーソル処理
- 活性化グループ: DFTACTGRP(*NO)使用
- プロシージャ: カーソル操作の関数化
SQL機能:
- DECLARE CURSOR: カーソル宣言
- OPEN/FETCH/CLOSE: カーソル操作
- ORDER BY: ソート指定
- FOR READ ONLY: 読み取り専用指定
プロシージャ:
@OPEN_CURSOR(): カーソルオープン@FETCH_CURSOR(): レコード読み取り@CLOSE_CURSOR(): カーソルクローズ
BPL010@YU9.RPGLE - 品目マスタ一覧表(最終完成版)
目的: 宣言順序を正しく整理した完成版
技術改良:
- 宣言順序: CTL-OPT→変数定義→ファイル定義→DS定義
- コメント強化: 各セクションの説明追加
- 構造改善: 論理的な記述順序の徹底
BPL020@YU1.RPGLE - 得意先別受注一覧表(固定形式版)
目的: 得意先ごとの受注状況を集計する帳票
技術仕様:
- 結合処理: 受注見出し + 得意先マスタ
- 論理ファイル: JUMIDL01使用
- CHAIN処理: 得意先マスタ参照
- 集計処理: 件数、金額、平均の計算
業務機能:
- 得意先別受注一覧
- レコード件数集計
- 受注金額合計・平均計算
- 見つからない得意先の*表示
BPL020@YU2.RPGLE - 得意先別受注一覧表(自由形式版)
目的: BPL020@YU1の自由形式移植版
技術改良:
- 自由形式記述の活用
- %KDS、%FOUND関数の使用
- EVAL(H)による除算処理
- 可読性向上
BPL030@YU1.RPGLE - 地区別受注一覧表(固定形式版)
目的: 地区→得意先の2段階集計帳票
技術仕様:
- キーブレイク処理: 地区・得意先の階層制御
- テーブル処理: CTDATA、DIM、ALT活用
- 複数集計: 得意先別・地区別の2段階集計
- LOOKUP処理: 地区名称の参照
集計機能:
- 得意先別小計(PT1)
- 地区別合計(PT2)
- 階層的なブレイク処理
BPL030@YU3.SQLRPGLE - 地区別受注一覧表(SQL版)
目的: 複雑な集計処理のSQL実装例
技術仕様:
- 結合SQL: 受注見出し + 得意先マスタ
- NULL処理: NULL標識配列の活用
- QUALIFIED DS: 構造化データ定義
- %LOOKUP: 配列検索の活用
SQL機能:
- 複数テーブル結合
- NULL値の適切な処理
- ORDER BY複数キー指定
IPL010@YU2.RPGLE - 品目マスタ照会(単一画面版)
目的: 品目番号による単一レコード照会
技術仕様:
- 画面制御: EXFMT、WRITE使用
- INDDS: 標識データ構造活用
- キー処理: SETLL、CHAIN、READ、READP
- 状態管理: W#CTL変数による画面制御
画面機能:
- 品目番号入力
- 詳細情報表示
- 前レコード/次レコード移動
- F3終了、PageUp/PageDown対応
- エラーメッセージ表示
IPL020@YU2.RPGLE - 品目マスタ照会(サブファイル版)
目的: 部分一致検索によるリスト表示
技術仕様:
- サブファイル: SFL、SFLCTL使用
- 部分一致: 品目名カナによる検索
- 相対レコード: #RRN01による行管理
- 論理ファイル: HINMSL01(カナ順)使用
サブファイル機能:
- 品目名カナ検索
- 最大24件、1画面6件表示
- スクロール機能
- MORE表示制御
- 詳細項目の2行表示
- 段階的学習: 固定形式→自由形式→SQL版の段階的発展
- 実用性: 実際の業務で使用可能な機能実装
- 保守性: 読みやすく変更しやすいコード構造
- 教育効果: 各技術要素の学習に最適化
- @: サブルーチン名プレフィックス
- W#: ワーク変数プレフィックス
- PI1: プリンタ項目プレフィックス
- IX1: 画面入力項目プレフィックス
- 標識活用: *IN60、*IN61等でエラー制御
- %FOUND: ファイル存在チェック
- %EOF: ファイル終端チェック
- SQL状態: SQLSTT'00000'等で状態確認
このサンプル集は「RPG教育」を目的として作成されており、以下の学習要素が含まれています:
- 基本的なRPG ILE記述方法
- ファイル操作(読み取り、書き込み)
- 画面表示・入力処理
- 帳票出力処理
- SQL埋め込み処理
- エラーハンドリング
- BPL - Batch Print List(帳票出力)
- IPL - Interactive Program List(画面処理)
- @YU - 作成者識別子
- 数字 - バージョン番号
- 開発会社: 株式会社中部システム
- 作成者: Y.USHIDA
- 作成日: 2023年5月-6月
- 管理番号: CSC-202305-001
- このサンプルコードは教育目的で作成されています
- 実際の運用環境で使用する場合は、適切なテストとカスタマイズが必要です
- IBM i特有の機能を使用しているため、他のプラットフォームでは動作しません