Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 1 Using TIBCO Object Service Broker Utilities : S6BBRTBL (Batch Load)

S6BBRTBL (Batch Load)
The S6BBRTBL utility performs the following functions:
If you are loading data from an unloaded table, you must unload each table to a separate file and run S6BBRTBL individually for each of the unloaded tables.
Refer to Appendix C, Null Handling for a description of how null values are treated by the batch load utilities. S6BBRTBL considers certain field values to be null equivalents, whether or not they came from TIBCO Object Service Broker tables.
Invocation
These are the tasks in using the batch load utility:
These tasks are described in detail in the following sections.
 
Task A Define the Table
Define the table in TIBCO Object Service Broker if it is not already defined. For information on defining a table, refer to TIBCO Object Service Broker Managing Data.
Task B Build Secondary Indexes, if Required
If the table is new and you require secondary indexes, run the SIXBUILD tool against the empty table for each field on which you require a secondary index. For information about the SIXBUILD tool, refer to TIBCO Object Service Broker Shareable Tools.
If the table already contains data and you want to add secondary indexes, you should use the S6BBRSIX (Batch Secondary Index Build for TDS Tables) utility.
Task C Define your Input and Output with Control Cards
Define your input and output data with control cards. You can define these control cards in one of two ways:
Task D Program Data Validation or Adjustments if Required
With the batch load utilities, you can program data validation or adjustments using the three exit points provided. These exit programs must be written in assembler. Informational messages are returned if these exit points are not used.
You can use the three exit points to tailor your data during the load process. These exit points occur:
These exit points are discussed in detail in the following sections.
Post Read Exit
You can use this exit to validate records or to adjust certain field values immediately after an input record is read.
The post read exit gains control immediately following the read of the input record. The following three parameters are passed in a parameter list pointed to by register 1:
An 80-byte work area is provided to the exit for its own use. This work space is exclusive to this exit point.
Your program can manipulate a field value in any way, provided that you stay within the semantic and syntax type defined for that field.
Upon return from the exit, register 15 must be zero to continue processing the record or non-zero to ignore it. The exit must be assembled and linked in the step library; its name and entry point must be S6BBRTL1.
Post Fixed Length Formatting
You can use this exit to validate records or to adjust certain field values after the data is organized into fixed length format. The record is in sequence as indicated by the parameter and field index tables. The exit passes the following parameters in a parameter list pointed to by register 1:
An 80 byte work area is provided to the exit for its own use. This work area is exclusive to this exit point.
Upon return from the exit, register 15 must be zero to continue processing the record or non-zero to ignore it. The exit must be assembled and linked in the step library. Its name and entry point must be S6BBRTL2.
Pre-TIBCO Object Service Broker Formatting
You use this exit when you load tables with an IDgen specification (that is, a system generated primary key). This exit gains control after the primary key is generated and just before the fixed length internal record is compressed into TIBCO Object Service Broker format. You can use this exit to manipulate the primary key value.
Upon return from the exit, register 15 must be zero to continue processing the record or non-zero to ignore it. The exit must be assembled and linked in the step library. Its name and entry point must be S6BBRTL3.
Internal Table Definition
The following contains the definition table DSECT used by the batch load program. This assembler code is in the TIBCO Object Service Broker release package in the HRNBRDT member of the MACRO data set. The table start address is passed in the three user exits described earlier in this section.

 
DTDSECT DSECT
*
* DEFINITION CONTROL CARD TRANSLATION DSECT
*
DTINAME DS CL36 INPUT FIELD NAME
DTHNAME DS CL16 NAME OF FIELD OR PARM
*
DTILEN DS H INPUT FIELD LENGTH
DTIDEC DS H INPUT DECIMAL POSITION
DTIOFFST DS H OFFSET IF FIXED LENGTH
DTISYNTX DS CL1 INPUT FIELD SYNTAX
*
DTHTPSYN DS 0CL2 TYPE/SYNTAX COMBINED
DTHTYPE DS CL1 SEMANTIC TYPE
DTHSYNTX DS CL1 SYNTAX
DTHKYTYP DS CL1 KEY TYPE
DTHLEN DS H OUTPUT LENGTH
DTHDEC DS H OUTPUT DECIMAL POSITION
*
DTHFLD# DS H FIELD NUMBER
DTHPRM# DS H PARM NUMBER
DTWOFFST DS H OFFSET WITHIN FL DATAROW
DTXOFFST DS H OFFSET WITHIN INDEX RECORD
DS H UNUSED
DTTEST@ DS AL4 TEST CONVERSION VALUE ADDRESS
         DS F                  UNUSED
DTKDESC@ DS A ADDR OF KDESC OF THIS KEY
DTHNULLF DS CL1 NULL FLAG; NON-ZERO = NULL
DS CL3 UNUSED
DTNULVAL DS CL16 USER NULL REPRESENTATION
DTNULCNT DS F COUNT # DEFAULT NULLS
DS A UNUSED
DTLENGTH EQU *-DTDSECT LENGTH OF ENTRY

 
Task E Define Your JCL and Run the Batch Load Utility
After assembling and linking your option exit point programs, you can define your JCL and run the batch load utility.
Execution JCL
The S6BBRTBL member of the JCL data set distributed with TIBCO Object Service Broker contains sample JCL required to run this utility for a TDS table.
This sample is provided as a reference only; modify the JCL for your needs.
Following are descriptions of the DD names in the sample JCL:
Fixed block 80 bytes. This file contains the control cards describing the input file and the table you want to load. Create this file manually or with the control card preparation facility.
Fixed or variable block; a partitioned data set member, a sequential data set, or a VSAM data set. This file contains the data you want to load into a table.
Record format FBA, 132 bytes. If you specify a data set, make the block size a multiple of 132. This file contains the output execution audit trail.
Task F Back Up the Segment and Run Batch Pointer Check
To ensure the integrity of your continuous backup after running the batch load utility, you must back up the segment containing the new data. For information about backing up a segment, refer to TIBCO Object Service Broker for z/OS Managing Backup and Recovery.
If S6BBRTBL fails, you must run the S6BBRPTR (Batch Pointer Check) utility against the segment or its backup to ensure the integrity of your data.
Messages
Batch load messages are documented in TIBCO Object Service Broker Messages With Identifiers.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved