DSNACICS存储过程:DFHCOMMAREA中传递COMP与COMP-3字段的疑问
DSNACICS存储过程中DFHCOMMAREA传递S9(4) COMP类型数据的长度说明
S9(4) COMP是COBOL中的半字带符号二进制类型,无论实际存储的数值是多少(哪怕是2),它的固定存储长度都是2字节。这是二进制类型的特性,和字符型(如X(3))需要用空格补位到定义长度的逻辑完全不同。- 在CICS的DFHCOMMAREA场景下,传递这类二进制数据时,必须严格按照其定义的字节长度传递,不能随意增减。值2的二进制表示为带符号的16位数据:最高位(符号位)为0(表示正数),低15位存储数值2的二进制
000000000000010,对应十六进制是X'0002',占满2字节。 - 结论:传入值2时,DFHCOMMAREA中需要传递2个字节的二进制数据。
内容的提问来源于stack exchange,提问作者Techie1888
相关产品推荐
相关产品推荐

