### AS400程序员培训手册(中级)知识点详解
#### 一、程序代码行的编写
**2.1 最简单的RPGLE程序**
RPGLE(RPG IV Enhanced)是一种高级编程语言,专为IBM i系列(原AS/400)设计。最简单的RPGLE程序通常包括基础的程序结构,例如程序头、主程序部分和结束语句。程序头包含了程序的基本信息,如程序名、程序类型等;主程序部分则是实际的业务逻辑所在。
**2.2 举例准备**
为了更好地理解RPGLE程序的编写过程,本章节提供了一些示例程序。这些示例涵盖了基本的编程概念,如变量声明、条件判断、循环控制等。通过这些示例,初学者可以快速掌握RPGLE的基础语法。
**2.3 简单的程序流程**
本节介绍了如何构建一个简单的程序流程。在RPGLE中,程序流程通常由一系列的指令组成,这些指令按照预定的顺序执行。了解基本的流程控制语句(如IF、DO等)对于编写高效的程序至关重要。
**2.4 常见的程序流程**
这里列举了一些常见的程序流程结构,如分支结构(IF-THEN-ELSE)、循环结构(DO-WHILE/DO-UNTIL)等。这些结构是构成复杂应用程序的基础。
**2.5 F行说明**
- **2.5.1 内容说明**:F行主要用于定义文件,包括输入文件和输出文件。它指定了文件的名称、文件类型、文件结构等信息。
- **2.5.2 常用例子**:提供了具体的F行示例,帮助读者理解如何正确地定义文件。
- **2.5.3 补充说明**:补充了F行的一些特殊用途,如定义临时文件或特定类型的文件。
**2.6 D行说明**
- **2.6.1 内容说明**:D行用于定义变量,包括局部变量和全局变量。通过D行可以指定变量的数据类型、长度等属性。
- **2.6.2 常用例子**:给出了一些D行的实例,展示了如何定义不同类型和长度的变量。
- **2.6.3 补充说明**:进一步解释了D行的高级用法,如如何定义复杂的变量类型。
**2.7 入口参数**
入口参数是指程序在被调用时需要传递的参数。这部分内容详细介绍了如何在RPGLE程序中定义和使用入口参数。
**2.8 C行说明**
- **2.8.1 写在前面**:介绍了C行的基本概念及其在程序中的作用。
- **2.8.2 内容说明**:C行用于执行计算或数据转换等操作。详细说明了C行的基本语法和使用场景。
- **2.8.3 ILE操作码分类**:将C行的操作码按照字母顺序进行了分类介绍。
- **2.8.4 ILE操作码**:逐一讲解了各个操作码的功能和使用方法。
#### 二、和程序相关的数据库知识
**3.1 LF(逻辑文件)**
- **3.1.1 逻辑文件概念**:逻辑文件是AS/400中用于访问物理文件的一种方式。它为物理文件提供了一个抽象层,使得应用程序可以通过逻辑文件来访问物理文件。
- **3.1.2 逻辑文件对效率的影响**:通过合理的逻辑文件设计可以显著提高数据访问的速度和效率。
**3.2 MEMBER**
MEMBER是指数据库文件中的记录集合。这部分内容介绍了如何管理和使用MEMBER。
**3.3 游标**
- **3.3.1 游标的概念**:游标是在数据库查询结果集中逐行移动的一种机制。游标允许应用程序一次处理一条记录。
- **3.3.2 不同操作码对应的游标的处理**:详细说明了不同的操作码如何与游标交互。
- **3.3.3 “有且仅有”的游标**:解释了在某些情况下必须使用游标的场景。
- **3.3.4 LOVAL、HIVAL对应的游标操作**:阐述了如何在特定条件下使用游标。
**3.4 事务处理--COMMIT**
- **3.4.1 概念描述**:事务是一组操作的集合,它们作为一个整体被提交或回滚。
- **3.4.2 使用方法**:说明了如何在RPGLE程序中使用COMMIT命令来管理事务。
- **3.4.3 注意事项**:列举了一些在使用事务处理时需要注意的事项。
**3.5 关于锁表的问题LCKW**
这部分内容介绍了在RPGLE程序中如何处理锁表问题,特别是LCKW(Lock Workstation)操作码的使用。
#### 三、DEBUG调试以及常见出错信息
**4.1 写在前面**
这部分内容强调了调试的重要性,并简要介绍了调试的基本概念。
**4.2 常规用法**
- **4.2.1 程序编译**:概述了程序编译的过程和步骤。
- **4.2.2 执行DEBUG命令**:介绍了如何使用DEBUG命令进入调试模式。
- **4.2.3 运行程序**:解释了如何在调试模式下运行程序。
- **4.2.4 在DEBUG模式中进行调试**:给出了具体的调试技巧和方法。
- **4.2.5 跟踪被当前程序调用的程序**:讲解了如何跟踪子程序的执行情况。
- **4.2.6 一定要退出DEBUG模式**:强调了完成调试后退出调试模式的重要性。
- **4.2.7 补充**:补充了一些额外的调试技巧。
**4.3 跟踪批处理程序**
这部分内容专门针对批处理程序的调试方法进行了介绍。
**4.4 常见的出错信息**
- **4.4.1 编译程序时的出错信息**:列举了一些常见的编译错误,并提供了相应的解决方案。
- **4.4.2 运行时的出错信息**:详细说明了运行时可能出现的错误类型及处理方法。
#### 四、CL、CMD
**5.1 CL程序**
- **5.1.1 基本认识**:CL是Command Language的缩写,是一种用于编写系统命令和脚本的语言。
- **5.1.2 CL程序的常用语法及命令**:介绍了CL语言的基本语法和常用的命令。
- **5.1.3 不常用的语法**:列举了一些不太常用的CL语法。
**5.2 CMD**
CMD是指在AS/400系统中执行的各种命令。这部分内容介绍了CMD的基本概念及其使用方法。
#### 五、屏幕文件及使用
这部分内容涉及了如何在RPGLE程序中创建和使用屏幕文件,以便与用户进行交互。
#### 六、实用技巧
**7.1 数组**
- **7.1.1 简述**:介绍了数组的基本概念。
- **7.1.2 定义**:说明了如何定义数组。
- **7.1.3 初始化**:解释了如何初始化数组。
- **7.1.4 使用方法**:给出了使用数组的具体方法。
- **7.1.5 补充**:补充了一些关于数组使用的注意事项。
**7.2 结构体**
- **7.2.1 简述**:介绍了结构体的基本概念。
- **7.2.2 结构体的定义**:说明了如何定义结构体。
- **7.2.3 初始化**:解释了如何初始化结构体。
- **7.2.4 使用方法**:给出了使用结构体的具体方法。
- **7.2.5 结构体中的数组**:说明了如何在结构体中嵌套数组。
- **7.2.6 定义时,独立变量与结构体变量的区别**:比较了独立变量和结构体变量之间的差异。
- **7.2.7 不带OCCURS关键字的结构体定义**:解释了如何在没有使用OCCURS关键字的情况下定义结构体。
**7.3 按内部序号来读文件**
这部分内容详细介绍了如何使用内部序号来读取文件。
**7.4 常驻内存命令SETOBJACC**
- **7.4.1 简述**:介绍了SETOBJACC命令的基本概念。
- **7.4.2 命令说明**:解释了SETOBJACC命令的具体含义。
- **7.4.3 使用说明**:给出了使用SETOBJACC命令的方法。
- **7.4.4 补充说明**:补充了一些关于SETOBJACC命令的注意事项。
**7.5 数据队列的使用**
- **7.5.1 数据队列的说明**:介绍了数据队列的基本概念。
- **7.5.2 CRTDTAQ建立数据队列**:说明了如何创建数据队列。
- **7.5.3 DLTDTAQ删除数据队列**:解释了如何删除数据队列。
- **7.5.4 系统API**
- **7.5.4.1 QSNDDTAQ发送数据队列**:说明了如何使用QSNDDTAQ API发送数据到队列。
- **7.5.4.2 QRCVDTAQ接收数据队列**:解释了如何使用QRCVDTAQ API从队列中接收数据。
- **7.5.4.3 QCLRDTAQ清除数据队列**:说明了如何使用QCLRDTAQ API清空队列。
- **7.5.4.4 QMHQRDQD检索数据队列**:解释了如何使用QMHQRDQD API检索队列中的数据。
**7.6 使用系统API的入手方法**
- **7.6.1 调用说明**:介绍了如何调用系统API。
- **7.6.2 关于USRSPACE**:解释了USRSPACE在API调用中的作用。
- **7.6.3 一些可能常用的API**:列举了一些常用的系统API。
#### 七、其它
**8.1 报表打印**
这部分内容涉及了如何在RPGLE程序中生成和打印报表。
**8.2 SQLRPGLE**
这部分内容介绍了如何在RPGLE程序中使用SQL语句。
**8.3 SAVF,备份与恢复**
这部分内容介绍了如何使用SAVF命令进行备份和恢复操作。
**8.4 菜单--MENU**
这部分内容介绍了如何在AS/400系统中创建和使用菜单。
**8.5 实用命令**
这部分内容列举了一些实用的AS/400命令,以供参考。
**8.6 关于代码风格的几点想法**
这部分内容分享了一些关于编写高质量RPGLE代码的建议。
2024-07-31 10:43:13
590KB
AS400
1