为我的VSAM KSDS定义备用索引时出现问题。上面写着
IDC3211I KEYWORD 'DATA' IS IMPROPER 下面是我的VSAM KSDS定义:
DEFINE CLUSTER -
(NAME(IBMUSER.TEST.SAMPLE.KSDS) -
VOLUMES(ZASYS1) -
TRACKS(15 15) -
INDEXED -
SHAREOPTIONS(1 3) UNIQUE -
RECORDSIZE(100 100) -
KEYS(18 0) -
DATA(NAME(IBMUSER.TEST.SAMPLE.KSDS.DATA))-
INDEX(NAME(IBMUSER.TEST.SAMPLE.KSDS.INDEX)) 这是我的备用索引定义:
DEFINE AIX (NAME(IBMUSER.TEST.SAMPLE.AIX)-
RELATE(IBMUSER.TEST.SAMPLE.KSDS) -
CISZ(4096) -
FREESPACE(20,20) -
KEYS(20,19) -
NONUNIQUEKEY -
UPGRADE -
RECORDSIZE(61,61) -
DATA(NAME(IBMUSER.TEST.SAMPLE.AIX.DATA))-
INDEX(NAME(IBMUSER.TEST.SAMPLE.AIX.INDEX)) 我不明白为什么它说关键字数据是不适当的。
发布于 2021-11-01 20:50:41
有几个问题。第一个问题是命令中的语法问题。
DEFINE CLUSTER -
( -
NAME(IBMUSER.TEST.SAMPLE.KSDS) -
TRACKS(15 15) -
INDEXED -
VOLUMES(ZMSHR1) -
SHAREOPTIONS(1 3) UNIQUE -
RECORDSIZE(100 100) -
KEYS(18 0) -
DATA(NAME(IBMUSER.TEST.SAMPLE.KSDS.DATA)) -
IDC3211I KEYWORD 'DATA' IS IMPROPER
INDEX(NAME(IBMUSER.TEST.SAMPLE.KSDS.INDEX))
IDC3202I ABOVE TEXT BYPASSED UNTIL NEXT COMMAND. CONDITION CODE IS 12 这是因为在结束CLUSTER部分的KEYS子句后缺少右括号。添加如下所示的闭括号将完成DEFINE CLUSTER部分。
DEFINE CLUSTER -
( -
NAME(IBMUSER.TEST.SAMPLE.KSDS) -
TRACKS(15 15) -
INDEXED -
VOLUMES(ZMSHR1) -
SHAREOPTIONS(1 3) UNIQUE -
RECORDSIZE(100 100) -
KEYS(18 0) -
) -
DATA(NAME(IBMUSER.TEST.SAMPLE.KSDS.DATA)) -
INDEX(NAME(IBMUSER.TEST.SAMPLE.KSDS.INDEX))
IDC0508I DATA ALLOCATION STATUS FOR VOLUME ZMSHR1 IS 0
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME ZMSHR1 IS 0
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0 当这个问题得到纠正时,您将得到另一个错误,因为您需要为AIX指定一个空间和卷。使用下面的定义,其中包含AIX所需的参数。
DEFINE AIX -
( -
NAME(IBMUSER.TEST.SAMPLE.AIX) -
TRACKS(15 15) -
VOLUMES(ZMSHR1) -
RELATE(IBMUSER.TEST.SAMPLE.KSDS) -
CISZ(4096) -
FREESPACE(20,20) -
KEYS(20,19) -
NONUNIQUEKEY -
UPGRADE -
RECORDSIZE(61,61) -
) -
DATA(NAME(IBMUSER.TEST.SAMPLE.AIX.DATA)) -
INDEX(NAME(IBMUSER.TEST.SAMPLE.AIX.INDEX)) 完成任务以完成集群的创建,随后是ALTERNATEINDEX。我对语句进行了格式化,使其更具可读性:
//IDCAMS JOB CLASS=A,NOTIFY=&SYSUID
//STEP0010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE IBMUSER.TEST.SAMPLE.KSDS
DELETE IBMUSER.TEST.SAMPLE.AIX
SET MAXCC = 0
DEFINE CLUSTER( -
NAME(IBMUSER.TEST.SAMPLE.KSDS) -
TRACKS(15 15) -
INDEXED -
VOLUMES(ZMSHR1) -
SHAREOPTIONS(1 3) UNIQUE -
RECORDSIZE(100 100) -
KEYS(18 0) -
) -
DATA( -
NAME(IBMUSER.TEST.SAMPLE.KSDS.DATA) -
) -
INDEX( -
NAME(IBMUSER.TEST.SAMPLE.KSDS.INDEX) -
)
DEFINE AIX( -
NAME(IBMUSER.TEST.SAMPLE.AIX) -
TRACKS(15 15) -
VOLUMES(ZMSHR1) -
RELATE(IBMUSER.TEST.SAMPLE.KSDS) -
CISZ(4096) -
FREESPACE(20,20) -
KEYS(20,19) -
NONUNIQUEKEY -
UPGRADE -
RECORDSIZE(61,61) -
) -
DATA( -
NAME(IBMUSER.TEST.SAMPLE.AIX.DATA)) -
) -
INDEX( -
NAME(IBMUSER.TEST.SAMPLE.AIX.INDEX) -
)
/*
// https://stackoverflow.com/questions/69795910
复制相似问题