SPI Programming Manual (G06.24+, H06.03+, J06.03+)

SPI Internal Structures
SPI Programming Manual427506-006
C-9
Token-Map Example
CONSTANT zbat-tnm-jobinfo VALUE IS 63.
TOKEN-MAP zbat-map-jobinfo VALUE IS zbat-tnm-jobinfo
DEF IS zbat-ddl-jobinfo.
VERSION "C00" FOR znumber THROUGH zlocation.
END
generate this TAL output:
?SECTION ZBAT^TNM^JOBINFO
Literal ZBAT^TNM^JOBINFO = 63;
?SECTION ZBAT^DDL^JOBINFO
STRUCT ZBAT^DDL^JOBINFO^DEF (*);
BEGIN
INT ZNUMBER;
INT ZPRIORITY;
STRUCT ZLOCATION;
BEGIN
STRUCT Z^C;
BEGIN STRING BYTE [0:7]; END;
STRUCT Z^S = Z^C;
BEGIN
INT Z^I[0:3];
END;
STRING Z^B[0:7] = Z^C;
END;
END;
?SECTION ZBAT^TNM^JOBINFO
Literal ZBAT^TNM^JOBINFO = 63;
?SECTION ZBAT^MAP^JOBINFO
Define ZBAT^MAP^JOBINFO = [ 2303, 63, 12, 17152, 1024,
2136 ]#;
Literal ZBAT^MAP^JOBINFO^WLN = 6;
Structures can be changed in a version-compatible way only by adding fields at the
end of the structure. Changing the DDL to add new fields for user ID and job class
would look like:
?DICT
?TAL ZTAL !
DEFINITION zbat-ddl-jobinfo.
02 znumber TYPE zspi-ddl-int.
02 zpriority TYPE zspi-ddl-int.
02 zlocation TYPE zspi-ddl-char8
SPI-NULL "X".
02 zuserid-is-present TYPE zspi-ddl-boolean.
02 zuserid TYPE zspi-ddl-userid.
02 zjobclass TYPE zspi-ddl-int.
END
CONSTANT zbat-tnm-jobinfo VALUE IS 63.