我的显示文件“EMPID”中有一个字段。
此字段必须自动生成并受到保护。
如果我要使用数据区,我是如何在我的RPG(不是rpgle)中包含这个。在rpg.Please指南中自动生成数字的其他可能方法是什么。
重新编辑: 使用数据区域,它就像一个魅力:
请注意以下代码:
C*** ARATWO IS NAME OF DATA AREA OBJECT
C *NAMVAR DEFN ARATWO 40
C *LOCK IN ARATWO
C Z-ADDARATWO EMP 40
C ADD 1 EMP
C Z-ADDEMP ARATWO
C OUT ARATWO
感谢所有的帮助。
答案 0 :(得分:3)
您可以在RPG中使用SQL。 两种可能性: 首先 SEQUENCE SQL 创建序列my_lib / my_sequence ...... ..
第二个:PF(表格)中的自动增量字段 在DB2 SQL中,您可以创建一个表(Phisical File),其字段定义为 始终作为身份生成 例如:
create table MY_LIB/MY_FILE (
Id_Auto int not null generated always as identity,
Filed2 int not null with default,
Field3 char(10) not null with default,
PRIMARY KEY (Id_Auto)
);
这样,对该文件的每个INSERT操作都会自动增加字段Id_Auto的值。
insert into MY_LIB/MY_FILE (Field2, Field3) values(10, 'Paolo');
set My_Var = IDENTITY_VAL_LOCAL()
在这两个操作之后,Id_Auto字段会自动递增,您可以使用IDENTITY_VAL_LOCAL()
函数在My_Var中获取其值
侨
答案 1 :(得分:1)
RPG User's Guide的第11章提供了在RPG中使用数据区域的示例。