IBM i RPG parts-inventory demo (rpg-demo) — ibmi-rpg pipeline + greenscreen behavior test
  • Shell 81.3%
  • RPGLE 18.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-03 20:27:48 +00:00
.vscode feat: .vscode/rpglint.json — RPGLE lint config (indent/casing/qualified-DS) for the pipeline's pre-compile rpglint gate 2026-06-30 14:37:11 +02:00
QDDSSRC feat(rpg-demo): 0.1.0 — parts-inventory IBM i app (PARTPF/PARTLF/PARTSDF/PARTMNT/PARTINQ) + zelnet --play behavior test + source extractor 2026-06-30 11:10:50 +00:00
QRPGLESRC feat(partmnt): field validation (chkInput subproc) + 4 recorded behavior reels (v0.1.4) 2026-06-30 18:30:24 +02:00
scripts feat: environment libraries — LIB-targeted compile (CHGCURLIB in-job) + objects.env manifest 2026-07-03 21:28:17 +02:00
CHANGELOG.md release: v0.1.6 (auto-cadence) 2026-07-03 20:27:47 +00:00
extract.sh feat(rpg-demo): 0.1.0 — parts-inventory IBM i app (PARTPF/PARTLF/PARTSDF/PARTMNT/PARTINQ) + zelnet --play behavior test + source extractor 2026-06-30 11:10:50 +00:00
README.md docs(readme): point Build/test at test-*.sh reels, not removed test-partmnt.sh 2026-07-01 14:52:29 +02:00
test-1-add.sh feat: environment libraries — LIB-targeted compile (CHGCURLIB in-job) + objects.env manifest 2026-07-03 21:28:17 +02:00
test-2-update.sh feat: environment libraries — LIB-targeted compile (CHGCURLIB in-job) + objects.env manifest 2026-07-03 21:28:17 +02:00
test-3-duplicate.sh feat: environment libraries — LIB-targeted compile (CHGCURLIB in-job) + objects.env manifest 2026-07-03 21:28:17 +02:00
test-4-required.sh feat: environment libraries — LIB-targeted compile (CHGCURLIB in-job) + objects.env manifest 2026-07-03 21:28:17 +02:00
VERSION release: v0.1.6 (auto-cadence) 2026-07-03 20:27:47 +00:00

rpg-demo

A small but deliberately "hard to import" IBM i / RPG application — a parts inventory — built to exercise the ibmi-rpg pipeline taxonomy end-to-end: compile on a real IBM i (pub400) over zelnet's Host Server client, and test greenscreen behavior headless via zelnet --play.

What it is

  • Database: QDDSSRC/PARTPF.pf (physical file, packed-decimal qty/price, keyed by part number) + QDDSSRC/PARTLF.lf (logical file, alternate key).
  • Greenscreen: QDDSSRC/PARTSDF.dspf (the 5250 display).
  • Programs: QRPGLESRC/PARTMNT.rpgle (maintenance — add/change/delete/inquire) + QRPGLESRC/PARTINQ.rpgle (read-only inquiry).

Build / test / extract

  • bash scripts/deploy.sh — compile the PF -> LF -> DSPF -> RPG DAG on pub400 + load sample data.
  • for t in test-*.sh; do bash "$t"; done — drive PARTMNT's live panel headless and assert (the four behavior reels — add / update / duplicate / required — the behavior gate).
  • bash extract.sh — pull the source members back off the box into Git (the import round-trip).

Run it interactively: zelnet term pub400.com -> CALL SOMEARA1/PARTMNT (F3 exits).

The pipeline compiles via the prebuilt-zelnet ibmi-builder image; compile-success and the zelnet --play behavior test are the gates. The IBM i objects stay on the box — the release is a provenance tag.