db2 - IBM i (AS400) 记录格式是什么

标签 db2 ibm-midrange rpgle

我已经开始在 ILE RPG 中进行一些编程,我对一件事感到好奇 - 记录格式到底是什么?我知道它必须在物理/逻辑/显示文件中定义,但它到底是做什么的?在一本 97 年的旧 RPG 书籍中,我发现“每种记录格式都定义了在单个 I/O 操作中向工作站写入或读取的内容”

在另一本书中,我发现记录格式描述记录中的字段的定义(例如长度,类型如字符或十进制?)。

最后,“物理文件中的每条记录都必须具有相同的记录布局”究竟是什么意思?

我现在有点困惑。仍然不确定什么是记录格式:F.

最佳答案

Still not sure what is record format :F

F 规范:该规范也称为文件规范。在这里,我们声明了我们将在程序中使用的所有文件。这些文件可以是物理文件、逻辑文件、显示文件或打印机文件中的任何一个。 F 规范中没有声明消息文件。

what exactly means that "every record within a physical file must have an identical record layout"?

一个物理文件中的每条记录都具有相同的布局。

让我们制作一个 40 个字符的记录布局。

----|---10----|---20----|---30----|---40
20150130  DEBIT     00002100
20150130  CREDIT    00012315

带有数字的栏不是记录布局的一部分。它在那里,所以我们可以计算列数。

记录布局中的第一个字段是 yyyymmdd 格式的日期。这需要 8 个字符,从位置 1 到位置 8。

第二个字段是 2 个空格,从位置 9 到位置 10。

第三个字段是借/贷指示符。从位置 11 到位置 20 共 10 个字符。

第四个字段是借/贷金额。它占用8个位置,从位置21到位置28。格式假定为9(6)V99。换句话说,第 26 位和第 27 位之间有一个隐含的小数点。

第五个字段是更多的空格,从第 29 位到第 40 位。

此文件中的每条记录都有这 5 个字段,所有字段的定义方式相同。

关于db2 - IBM i (AS400) 记录格式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28239193/

相关文章:

sql - 将 int YYYYMMDD 转换为日期 AS400

c++ - SQL_TXN_SERIALIZABLE 优于 DB2 和 C++ 中的 SQL_TXN_REPEATABLE_READ

mysql - 使用 db2 配置 mysql 链接服务器

java - 如何修复错误 "java.lang.ClassNotFoundException: sun.io.ByteToCharConverter"

c# - 针对指定 *LIBL 而不是特定库的 AS400 执行 SQL

ibm-midrange - 如何在RPGLE中获取字符类型变量的长度?

java - 从 JNDI 获取连接 >15 分钟!

error-handling - AS400- MOVEA无法编译,无法将十进制数据结构移动到十进制数组

RPGLE 打印到命令窗口

file - AS400 文件 - 将 PF 和 LF 转换为 SQL