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

General SPI Programming Guidelines
SPI Programming Manual427506-006
5-26
Dividing Your Definition File Into Sections
any of your fields are of odd length, filler bytes might appear where you dont want
them.
In the TAL declarations, make arrays have a lower bound of zero.
Represent time intervals in microsecond precision and stored in fields of the SPI
type ZSPI-DDL-TIMESTAMP.
Dividing Your Definition File Into Sections
Organize your definitions such that someone who wants to build a DDL dictionary
containing your subsystems definitions can simply ?SOURCE in your entire
subsysDDL file, and can compile your definitions into a dictionary already containing
the definitions for another subsystem.
One way to accomplish this is to set up a subvolume containing these two files:
-------------------- file subsysDDL -------------------
!
! subsystem name (release date)
!
! Depends on ZSPIDDL
!
?SECTION BUILDING-BLOCKS
building-block-only DEFS, that is, DEFs whose output a requester
program using the interface would have no need
of using
?SECTION REQUESTER-VISIBLE-1
DEFs the user of the interface needs to have
?SECTION REQUESTER-VISIBLE-2
constants, token codes, token maps, subsystem ID
?SECTION REQUESTER-VISIBLE-3
DEF declaring the buffer structure
------------------ end file subsysDDL -----------------
------------------- file subsysROOT -------------------
?DICT !
?SOURCE $SYSTEM.ZSPIDEF.ZSPIDDL
?SOURCE subsysDDL (BUILDING-BLOCKS)
?TAL subsysTAL!
?COBOL subsysCOB!
?C subsysC!
?TACL subsysTACL!
?SOURCE subsysDDL (REQUESTER-VISIBLE-1)
?SETSECTION CONSTANTS
?SOURCE subsysDDL (REQUESTER-VISIBLE-2)
?SETSECTION
?SOURCE subsysDDL (REQUESTER-VISIBLE-3)
----------------- end file subsysROOT -----------------
To generate the definition files, enter a command line such as:
DDL /IN subsysROOT, OUT $S/