Enscribe Programmer's Guide
PROC DO^THE^WORK MAIN;
BEGIN
LITERAL name^length = 3,
num^altkeys = 2,
num^altkey^files = 1,
item^list^len = 14;
INT error;
INT error2;
INT namelen;
STRING .filename [0:name^length-1] := "INV";
INT .item^list [0:item^list^len-1];
STRUCT value^list;
BEGIN
INT file^type;
INT file^code;
INT rec^len;
INT block^len;
INT key^offset;
INT key^length;
INT pri^extent;
INT sec^extent;
INT fileformat; !format 2
INT altkeys;
STRUCT altkey^descr [0:num^altkeys-1];
BEGIN
STRING key^specifier [0:1];
INT key^length;
INT key^offset;
INT key^filenum;
INT null^value;
INT attributes;
END;
INT num^alt^key^files;
STRUCT name^length^info [0:num^altkey^files-1];
BEGIN
INT file^name^len;
END;
STRING file^names [0:5];
END;
namelen := name^length;
item^list ':=' [ZSYS^VAL^FCREAT^FILETYPE,
ZSYS^VAL^FCREAT^FILECODE,
ZSYS^VAL^FCREAT^LOGICALRECLEN,
ZSYS^VAL^FCREAT^BLOCKLEN,
ZSYS^VAL^FCREAT^KEYOFFSET,
ZSYS^VAL^FCREAT^KEYLEN,
ZSYS^VAL^FCREAT^PRIMEXTENTSIZE,
ZSYS^VAL^FCREAT^SCNDEXTENTSIZE,
ZSYS^VAL^FCREAT^FILEFORMAT, !format 2
ZSYS^VAL^FCREAT^NUMALTKEYS,
ZSYS^VAL^FCREAT^ALTKEYDESC,
ZSYS^VAL^FCREAT^NUMALTKEYFILES,
ZSYS^VAL^FCREAT^ALTFILELEN,
ZSYS^VAL^FCREAT^ALTFILENAMES ];
value^list.file^type := 3; ! key-sequenced
value^list.file^code := 1001;
value^list.rec^len := 54;
value^list.block^len := 4096;
value^list.key^offset := 0;
Creating Key-Sequenced Files 81