如果你正在看 IBM i 相关的岗位,会发现一个反复出现的词:RPG。而在 RPG 的多个版本里,RPG Ⅲ 是很多存量系统里真正跑着的那一代代码。这带来一个现实的缺口——招聘要求写着「熟悉 RPG」,但进了项目组,摆在面前的是几十万行 RPG Ⅲ 老程序,看也看不懂,改也不敢改。

这门课针对的就是这个缺口。它不是从「什么是编程」讲起,而是假定你已经知道变量、循环、条件判断大概是怎么回事,然后把 RPG Ⅲ 在 IBM i 上特有的那套写法、那套限制、那套绕不过去的规矩讲清楚。

先说清楚:这门课不解决什么

如果你完全没有接触过 IBM i(也就是常说的 AS/400),也没写过任何一门语言,那这门课会让你有点吃力——它不会花大量篇幅去铺垫操作系统命令行、库(Library)、源文件(Source File)这些前置概念。你需要自己补一点 5250 终端操作和 DDS 的基础,才能跟上。

同样,它不会把你变成系统架构师。RPG Ⅲ 本身是一门面向过程、面向报表和文件处理的商用语言,它的强项是把数据库读写、打印输出、子程序调用做扎实,而不是做现代意义上的分层架构。认清这一点,学起来心态会稳很多。

RPG Ⅲ 的坑,基本都在这些地方

RPG Ⅲ 和现在常见的自由格式 RPG 差别很大。它的代码是列敏感的——同样的字母敲在不同列上,意思完全不同。规格表(Specification)怎么填、第几列放什么,是初学者最容易反复踩的地方。

  • 程序周期(Program Cycle)和主文件、副文件的自动处理逻辑,为什么有时候程序「自己就跑起来了」。
  • 指示器(Indicator)的用法与滥用,01–99 和 KA–KY 这些到底该在什么场景下用。
  • 数组、表(Tables)、数据结构的定义与查找,尤其是 LOKUP 和 MOVEA 这类操作。
  • 子程序(Subroutine)与 GOTO 的取舍,以及怎么在别人留下的 GOTO 网里理出执行顺序。
  • 文件操作里的 READ、CHAIN、SETLL、READE,以及文件结束指示器带来的循环写法。
  • 和显示文件、打印文件打交道时的字段命名与输出控制。

这些点在文档里单看都不难,难的是拼在一起读一段真实代码时能不能还原出作者的本意。课程里的练习价值就在这里——不是让你抄一遍,而是让你把一段给定代码的执行路径说清楚。

看完之后你应该能回答这几个问题

判断自己有没有学到位,别用「看完了」当标准,用能不能答上来当标准:

  • 给定一个 RPG Ⅲ 源成员,你能在五分钟内说清它读了哪些文件、按什么顺序处理、最后输出了什么吗?
  • 要在现有程序里加一个字段并输出到报表,你知道要动哪几张规格表、顺序是什么吗?
  • 程序跑出来结果不对,你会先怀疑指示器、文件定义还是子程序调用?
  • 一个用指示器控制全部逻辑的老程序,你能在不破坏原有行为的前提下做小范围修改吗?

如果这几个问题你答得含糊,说明还需要回到具体章节再练。如果答得上来,那这门课对你来说基本达到目的了——你能接手维护,而不是只能旁观。

配套练习怎么用才不白费

RPG Ⅲ 是一门「敲错一列就报错」的语言,光看不动手,几乎不可能形成肌肉记忆。建议的学习方式是:每看完一个主题,先在脑子里把代码结构默写一遍,再对照资料包里的示例改几个字段、改一个条件,观察结果变化。特别是文件操作和指示器部分,改一处看一处,比连着看完三章再回头练效率高得多。

另外,手边最好有一份 IBM i 的官方 RPG Ⅲ 参考手册(ILE RPG Reference 里也保留了兼容说明),遇到列位置、操作码含义不确定时去查,比凭印象猜要可靠。课程能帮你建立主线,手册帮你补细节,两者不冲突。

最后提醒一句:RPG Ⅲ 是存量技术,学它的目的是能读懂和维护跑在生产线上的系统,而不是追新。想清楚这一点,投入的时间才算花在刀刃上。

IBM i——RPGⅢ Programming【推荐就业】

课程详情

课程详情

课程名称:IBM i——RPGⅢ Programming【推荐就业】

课程简介:本课程旨在帮助学员全面掌握IBM i平台下的RPGⅢ编程技能,通过系统学习,学员能够迅速掌握知识点、技巧和编程思路,实现即学即用,快速获得编程成就感。

适合人群

  • 希望从事IBM i系统编程工作的专业人士
  • 对RPG编程感兴趣,希望提升编程技能的开发者
  • 有志于在IT行业发展的初学者

学习收获

  • 掌握RPGⅢ编程基础知识和高级概念
  • 熟悉RPG编程的常用技巧和最佳实践
  • 能够独立完成IBM i平台下的编程任务
  • 提升编程能力和职业竞争力

课程亮点

  • 系统全面:从RPG基础到高级概念,全面覆盖RPG编程知识体系
  • 实战导向:结合实际案例,让学员快速掌握编程技巧
  • 互动教学:通过课堂讨论和练习,提高学员的编程能力
  • 推荐就业:课程内容与行业需求紧密结合,助力学员顺利就业

课程目录

01 RPG Basic
  01 RPG Intro and Display Hello.mp4
  02 Variables.mp4
  03 Data Structures.mp4
  04 Operation Codes(一).mp4
  05 Operation Codes(二).mp4
  06 Data Area Operations(一).mp4
  07 Data Area Operations(二).mp4
02 Control Structures
  01 IF Statement.mp4
  02 SELECT Statement.mp4
  03 Loop Statements.mp4
03 Modular Programming
  01 Subroutine.mp4
  02 CASxx Statement.mp4
  03 TAG and GOTO Statements.mp4
04 Debugging Handling
  01 Debugging Program.mp4
05 Advanced RPG Concepts
  01 Physical File Handling(一).mp4
  02 Physical File Handling(二).mp4
  03 Display File Handling(一).mp4
  04 Display File Handling(二).mp4
  05 Subfile File Handling.mp4
  06 Printer File Handling.mp4
  07 《ILE RPG Programming》考试.txt