NetBatch Management Programming Manual

Sample Programs
NetBatch Management Programming Manual522462-003
C-32
Sample TACL Macros
Example C-3. Sample SPI TACL Macros
?SECTION spiextacl ROUTINE
== #################################################################### ==
== #
# ==
== # This TACL macro demonstrates the subsystem programmatic
# ==
== # interface (SPI)to the NetBatch scheduler. The macro performs
# ==
== # two functions:
# ==
== # * Submits a job to scheduler $ZBAT
# ==
== # * Executes a STATUS JOB command on the submitted job
# ==
== # and displays some of the job's details
# ==
== #
# ==
== #################################################################### ==
== Load the TACL segment files if they aren't already loaded
[#IF NOT [#VARIABLEINFO /EXISTENCE/ :zbat] |THEN|
ATTACHSEG SHARED $ISV.ZSPIDEF.ZBATSEGF :zbat
#SET #USELIST :zbat [#USELIST]
]
[ #IF NOT [#VARIABLEINFO /EXISTENCE/ :spi ] |THEN|
ATTACHSEG SHARED $ISV.ZSPIDEF.ZSPISEGF :spi
#SET #USELIST :spi [#USELIST]
]
#FRAME
== Push the variables to be used by routines
#PUSH schd
#SET schd $ZBAT
#PUSH zbat^ss^status, ss^error
#PUSH zbat^error^var, zbat^data^var, zbat^prompt^var
#PUSH zbat^all^done, zbat^wait^for^it^result, zbat^return^error
#PUSH work^area
== Define the structures used by routines
[#DEF zbat^spi^buffer STRUCT LIKE zbat^ddl^msg^buffer;]
[#DEF zbat^job^def STRUCT LIKE zbat^ddl^def^job;]
[#DEF zbat^job^status STRUCT LIKE zbat^ddl^status^job;]
[#DEF zbat^retcode STRUCT
BEGIN
INT retcode;
END;
]
[#DEF zbat^jobnumber STRUCT
BEGIN
(continued)