PL/I 中的编码 ( 仅限z/OS® )

PL/I 中为 IBM® MQ 编码时的有用信息。

结构

结构使用 BASED 属性进行声明,因此除非程序声明结构的一个或多个实例,否则请勿占用任何存储器。

可以使用 like 属性来声明结构的实例,例如:
dcl my_mqmd    like MQMD; /* one instance */
dcl my_other_mqmd like MQMD; /* another one */

结构字段使用 INITIAL 属性进行声明;当 like 属性用于声明结构的实例时,该实例继承为该结构定义的初始值。 只需设置所需值与初始值不同的字段。

PL/I 不分区大小写,因此可以采用小写、大写或混合大小写的形式对调用、结构字段和常量的名称进行编码。

命名常量

命名常量声明为宏变量;因此,未被程序引用的命名常量在已编译过程中不占用任何存储器。

但是,在编译程序时,必须指定导致源由宏预处理器处理的编译器选项。

所有宏变量都是字符变量,即使表示数字值的宏变量也如此。 虽然这可能看似难以想象,但在宏处理器替换宏变量后,不会导致任何数据类型冲突,例如:
%dcl MQMD_STRUC_ID char;
%MQMD_STRUC_ID = '''MD ''';

%dcl MQMD_VERSION_1 char;
%MQMD_VERSION_1 = '1';