ZFIELD image detail as of Model 204 V7.5: Difference between revisions
Jump to navigation
Jump to search
(Inserted UTF-16 and OICHUNK fields plus some minor cleanup. Made all lines LE 71 bytes for copy/paste into SOUL full-screen editor.) |
mNo edit summary |
||
Line 3: | Line 3: | ||
********************************************************************* | ********************************************************************* | ||
* The ZFIELD image contains the following sections: * | * The ZFIELD image contains the following sections: * | ||
* - NAME: fieldname ( | * - NAME: fieldname (255 bytes, left justified, blank filled) * | ||
* - FDEF1: first set of field attributes (67 bytes) * | * - FDEF1: first set of field attributes (67 bytes) * | ||
* - LOOPVAR: loop control item for $LSTFLD (16 bytes) * | * - LOOPVAR: loop control item for $LSTFLD (16 bytes) * |
Revision as of 17:03, 11 October 2013
IMAGE ZFIELD ********************************************************************* * The ZFIELD image contains the following sections: * * - NAME: fieldname (255 bytes, left justified, blank filled) * * - FDEF1: first set of field attributes (67 bytes) * * - LOOPVAR: loop control item for $LSTFLD (16 bytes) * * - FDEF2: second set of field attributes (152 bytes) * * * * FDEF is an item which overlays FDEF1, LOOPVAR, and FDEF2, so that * * you can do some thing such as the following: * * * * %ZFIELD:FDEF = $LSTFLD(fileName,fieldName) * * IF %ZFIELD:DEFAULT.VALUE.LENGTH GT 0 THEN * * PRINT 'Default value:' AND - * * $SUBSTR(%ZFIELD:DEFAULT.VALUE,1, - * * %ZFIELD:DEFAULT.VALUE.LENGTH) * * END IF * *...other references to items in ZFIELD * ********************************************************************* NAME IS STRING LEN 255 DEFER.Y_N IS STRING LEN 1 FRV.Y_N IS STRING LEN 1 KEY.Y_N IS STRING LEN 1 MANY.VALUED.Y_N IS STRING LEN 1 CODED.Y_N IS STRING LEN 1 STRING.Y_N IS STRING LEN 1 NUMERIC.RANGE.Y_N IS STRING LEN 1 INVISIBLE.Y_N IS STRING LEN 1 SECURED.Y_N IS STRING LEN 1 UPDATE.IN.PLACE.Y_N IS STRING LEN 1 OCCURS.Y_N IS STRING LEN 1 FLOAT.Y_N IS STRING LEN 1 ORD.NUM.Y_N IS STRING LEN 1 ORD.CHAR.Y_N IS STRING LEN 1 PURE.DBCS.Y_N IS STRING LEN 1 MIXED.DBCS.Y_N IS STRING LEN 1 UNIQUE.Y_N IS STRING LEN 1 AT.MOST.ONE.Y_N IS STRING LEN 1 OCCURS.ONCE.Y_N IS STRING LEN 1 AT AT.MOST.ONE.Y_N * It is recommended that you do not use OCCURS.ONCE.Y_N,but use * AT.MOST.ONE.Y_N instead, to avoid confusion with EXACTLY.ONE.Y_N CLOB.Y_N IS STRING LEN 1 BLOB.Y_N IS STRING LEN 1 FIELDGROUP.Y_N IS STRING LEN 1 IN.FIELDGROUP.Y_N IS STRING LEN 1 EXACTLY.ONE.Y_N IS STRING LEN 1 ********* Following items are blank if FILEORG X'100' is off ****** ********* or for a fieldgroup: ****** *N(one),A(ll),L(it): STORE.DEFAULT IS STRING LEN 1 *N(one),A(ll),L(it): STORE.NULL IS STRING LEN 1 ********* End of blanked items for some cases ********************** DATETIME.Y_N IS STRING LEN 1 UTF.8.Y_N IS STRING LEN 1 LENGTH.CONSTRAINT.Y_N IS STRING LEN 1 * Following two fields are meaningful only * if LENGTH.CONSTRAINT.Y_N EQ 'Y': LENGTH.GE IS BINARY LEN 1 UNSIGNED LENGTH.LE IS BINARY LEN 1 UNSIGNED MINLOBE IS BINARY LEN 1 UNSIGNED *****The following 2 items contain M204 internals information: ***** DICTIONARY.CODE IS STRING LEN 2 NOSTRIP * Previous item is the table A locator value DICTIONARY.CODE.BINARY IS BINARY LEN 2 UNSIGNED AT DICTIONARY.CODE * To display in hex: PRINT $C2X(%ZFIELD:DICTIONARY.CODE) * To display in decimal: PRINT %ZFIELD:DICTIONARY.CODE.BINARY ***** The following 2 items contain M204 internals information: ***** FIELDGROUP.DICTIONARY.CODE IS STRING LEN 2 NOSTRIP * Previous item is the dictionary code of containing fieldgroup FIELDGROUP.DICTIONARY.CODE.BINARY IS BINARY LEN 2 UNSIGNED - AT FIELDGROUP.DICTIONARY.CODE * To display in hex: PRINT $C2X(%ZFIELD:FIELDGROUP.DICTIONARY.CODE) * To display in decimal: PRINT %ZFIELD:FIELDGROUP.DICTIONARY UTF.16.Y_N IS STRING LEN 1 OICHUNK.Y_N IS STRING LEN 1 OICHUNK.TARGET.DICT.CODE IS BINARY LEN 2 UNSIGNED OICHUNK.SIZE IS BINARY LEN 4 UNSIGNED FUTURE.EXPANSION IS STRING LEN 11 NOSTRIP *****The following 2 items contain M204 internals information: ***** FIELD.CODE IS STRING LEN 4 NOSTRIP * In the previous item, an OCCURS field has the locator for the * fixed-length field description and a non-OCCURS field has the * table A locator value (high order zeroes followed by two bytes * which are the same as DICTIONARY.CODE): FIELD.CODE.BINARY IS BINARY LEN 4 UNSIGNED AT FIELD.CODE * To display in hex: PRINT $C2X(%ZFIELD:FIELD.CODE) * To display in decimal: PRINT %ZFIELD:FIELD.CODE.BINARY ORDERED.Y_N IS STRING LEN 1 LENGTH IS BINARY LEN 1 UNSIGNED LEVEL IS BINARY LEN 1 UNSIGNED LRESERVE IS BINARY LEN 1 UNSIGNED NRESERVE IS BINARY LEN 1 UNSIGNED SPLITPCT IS BINARY LEN 1 UNSIGNED NO.OF.IMMEDIATES IS BINARY LEN 1 UNSIGNED OCCURS IS BINARY LEN 1 UNSIGNED PAD.CHAR IS STRING LEN 1 ********************************************************************* * End of FDEF1 section * ********************************************************************* FDEF1 IS STRING LEN 67 AT DEFER.Y_N NOSTRIP BIN1 IS BINARY LEN 4 UNSIGNED BIN2 IS BINARY LEN 4 UNSIGNED BIN3 IS BINARY LEN 4 UNSIGNED BIN4 IS BINARY LEN 4 UNSIGNED LOOPVAR IS STRING LEN 16 AT BIN1 NOSTRIP ********************************************************************* * Start of FDEF2 section********************************************* DEFAULT.VALUE.LENGTH IS BINARY LEN 1 UNSIGNED DEFAULT.VALUE IS STRING LEN 31 NOSTRIP PAD X'00' RANGE.CONSTRAINT.TYPE IS STRING LEN 1 * Previous item is: I(nteger), F(loat), D(atetime), or blank RANGE.CONSTRAINT.MINIMUM.FLAG IS STRING LEN 2 NOSTRIP * Previous item is: GE, GT,or blank RANGE.CONSTRAINT.MINIMUM.INTEGER IS BINARY LEN 4 RANGE.CONSTRAINT.MINIMUM.FLOAT IS FLOAT LEN 8 - AT RANGE.CONSTRAINT.MINIMUM.INTEGER RANGE.CONSTRAINT.MINIMUM.DATETIME IS STRING LEN 20 - AT RANGE.CONSTRAINT.MINIMUM.INTEGER RANGE.CONSTRAINT.MAXIMUM.FLAG IS STRING LEN 2 NOSTRIP RANGE.CONSTRAINT.MAXIMUM.INTEGER IS BINARY LEN 4 RANGE.CONSTRAINT.MAXIMUM.FLOAT IS FLOAT LEN 8 - AT RANGE.CONSTRAINT.MAXIMUM.INTEGER RANGE.CONSTRAINT.MAXIMUM.DATETIME IS STRING LEN 20 - AT RANGE.CONSTRAINT.MAXIMUM.INTEGER LIKE.LENGTH IS BINARY LEN 1 UNSIGNED LIKE IS STRING LEN 47 NOSTRIP AUTOMATIC.TYPE IS STRING LEN 6 * AUTOMATIC.TYPE values (left justified, blank padded): * 'CTO' - A count occurrences field * 'CRDT' - A creation date/time field * 'CRUS' - A creation user field * 'UPDT' - An update date/time field * 'UPUS' - An update user field * 'CRDTU' - A creation UTC date/time field * 'UPDTU' - An update UTC date/time field * 'CAT' - A concatenated field * 'OICHNK'- An OI chunk field * Otherwise, AUTOMATIC.TYPE is all blanks AUTOMATIC.VALUE IS STRING LEN 21 ********************************************************************* * The image area starting with item AUTOMATIC.VALUE is redefined * * below as needed, based on the value of AUTOMATIC.TYPE: * ********************************************************************* ***** The following 2 items contain M204 internals information: ***** COUNTED.FIELD.DICTIONARY.CODE IS STRING LEN 2 NOSTRIP - AT AUTOMATIC.VALUE * Previous item is dictionary code of field which is counted for CTO COUNTED.FIELD.DICTIONARY.CODE.BINARY IS BINARY LEN 2 UNSIGNED - AT COUNTED.FIELD.DICTIONARY.CODE * To display in hex: * PRINT $C2X(%ZFIELD:COUNTED.FIELD.DICTIONARY.CODE) * To display in decimal: * PRINT %ZFIELD:COUNTED.FIELD.DICTIONARY.CODE.BINARY * Rest of automatic field info is for CONCAT fields: ESCAPE.CANCEL.Y_N IS STRING LEN 1 - AT AUTOMATIC.VALUE SEPARATOR.NONE.Y_N IS STRING LEN 1 SEPARATOR IS STRING LEN 1 NOSTRIP ESCAPE IS STRING LEN 1 NOSTRIP NUMBER.OF.CONCATENATED.FIELDS IS BINARY LEN 1 UNSIGNED *****The following 2 items contain M204 internals information: ***** CONCATENATED.FIELD.DICTIONARY.CODES IS STRING LEN 2 NOSTRIP - OCCURS 8 CONCATENATED.FIELD.DICTIONARY.CODES.BINARY IS BINARY LEN 2 - UNSIGNED OCCURS 8 AFTER NUMBER.OF.CONCATENATED.FIELDS * To display in hex: * PRINT $C2X(%ZFIELD:CONCATENATED.FIELD.DICTIONARY.CODES(%I)) * To display in decimal: * PRINT %ZFIELD:CONCATENATED.FIELD.DICTIONARY.CODES.BINARY(%I) ********************************************************************* * End of automatic field info * ********************************************************************* ********************************************************************* * End of FDEF2 section * ********************************************************************* FDEF2 IS STRING LEN 152 AT DEFAULT.VALUE.LENGTH FDEF IS STRING LEN 235 AT FDEF1 END IMAGE