COBOL-DB2程序中使用的DCLGEN和宿主变量的用途和目的是什么
COBOL-DB2程序可以从多个DB2表中查询/更新/插入/删除数据。然而,为了实现这一点,我们必须满足两个主要条件。
将DB2表的结构通知给COBOL-DB2程序。这包括这些列的所有列和数据类型。
每列的相应主机变量。宿主变量在程序逻辑中用于将数据从DB2移动到程序,反之亦然。每个表列都有一个基于其数据类型的主变量。例如,对于数据类型为CHAR(2)的表列,应该有一个与PICX(2)等效的COBOL数据类型的主变量。
DCLGEN实用程序帮助我们自动生成表结构和主机变量。使用这个实用程序,我们只需要给出DB2表名,它就会返回表结构和PDS成员中的主机变量。我们可以使用如下的INCLUDE语句在COBOL-DB2程序的工作存储部分中简单地使用这个PDS成员-
EXEC SQL INCLUDE ORDERD END-EXEC
ORDERD是使用DCLGEN实用程序生成的PDS成员。这将具有ORDERS表的结构和所有列的主变量。例如,数据类型为CHAR(30)和TIMESTAMP的ORDER_ID和ORDER_DATE列将有一个主变量为ORDER-IDPICX(30)和ORDER-DATEPICX(26)respectively.If我们要使用这个主变量来移动从DB2到程序的数据,然后我们可以有-
EXEC SQL EXEC SQL SELECT ORDER_DATE INTO :ORDER-DATE, FROM ORDERS WHERE ORDER_ID = :ORDER-ID END-EXEC END-EXEC