相同的结构-DDS与DDL-文件和级别ID

时间:2019-03-26 01:30:30

标签: sql ibm-midrange ddl

在IBM i(as / 400)中,我希望针对DDL和DDS创建的文件(表)运行相同的程序。使用“ CALL qsys2.generate_sql” API,我能够将DDS转换为DLL。 但是,一旦编译,我将获得不同的文件和成员级别ID。

这是DDS和DLL代码的非常简单的示例...

A          R TST_RC                                    
A            ORDER_NUM      8S 0       TEXT('ORFER_NO')    
A            ORDER_CUST    20A         TEXT('CUST NO')     

..

CREATE TABLE MYLIB.MYTABLE (                                               
   ORDER_NUM NUMERIC(8, 0) NOT NULL DEFAULT 0 , 
   ORDER_CUST CHAR(20) CCSID 37 NOT NULL DEFAULT '' )      
   RCDFMT TST_RC ;   
;                                                           

1 个答案:

答案 0 :(得分:4)

文件和成员级别标识符将始终不同。这不是问题,但是如果格式相同,则格式级别标识符将相同。是引起级别检查的格式级别标识符。因此,在您的示例中,文件和成员级别的标识符是不同的,但是两个文件将具有相同的格式级别的标识符,即我的系统上的332FE538F73DB。它甚至应该与系统上的格式级别相同。因此,这些文件可以互换使用而无需进行级别检查。

使用DSPFD,这是您需要寻找的 screenshot of DSPFD output