RecordOrientedDataSetWriterPattern
The RecordOrientedDataSetWriterPattern pattern is used to write data to a z/OS data set.
Supporting classes
- ZFileStreamOrientedTextWriter: Writes text data
- ZFileStreamOrientedByteWriter: Writes byte data
- ZFileRecordOrientedDataWriter: Writes sequential data
Required properties
The following properties are required for the pattern.
Property name Value Description PATTERN_IMPL_CLASS Java class name Class implementing RecordOrientedDatasetWriterPattern interface DSNAME Data set name For example, USER216.BATCH.RECORD.OUTPUT
Optional properties
The following properties are optional for the pattern.
Property name Value Description ds_parameters Parameters used to open the data set. Default for ZFileRecordOrientedDataWriter is wb,recfm=fb,type=record,lrecl=80 and Default for
ZFileStreamOrientedByteWriter and ZFileStreamOrientedTextWriter are wtdebug true or false (default is false) Enable detailed tracing on this batch datastream. EnablePerformanceMeasurement true or false (default is false) Calculates the total time spent in the batch data-streams and the processRecord method, if we are using the GenericXDBatchStep. EnableDetailedPerformanceMeasurement true or false (default is false) Provides a more detailed breakdown of time spent in each method of the batch data-streams. file.encoding Encoding of the file. For example, CP1047
Interface definition
/** * * This pattern is used to write data to z/OS dataset using * jzos apis */ public interface RecordOrientedDatasetWriterPattern { /** * This method is called during the job setup phase allowing * the user to do initialization. * The properties are the ones passed in the xJCL * @param props */ public void initialize(Properties props); /** * This method should be used to write the given * object into the dataset * @param out * @param record * @throws IOException */ public void writeRecord(ZFile out, Object record) throws IOException; /** * This method should be used to write header information * if any * @param out * @throws IOException */ public void writeHeader(ZFile out) throws IOException; /** * This method can be optionally called during process step to explicity * initialize and write the header. * @param header */ public void writeHeader(ZFile out, Object header); }
xJCL example
<batch-data-streams> <bds> <logical-name>outputStream</logical-name> <props> <prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoWriter"/> <prop name="DSNAME" value="USER216.BATCH.RECORD.OUTPUT"/> <prop name="ds_parameters" value="wt"/> <prop name="file.encoding" value="CP1047"/> <prop name="debug" value="${debug}"/> </props> <impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.ZFileStreamOrientedByteWriter</impl-class> </bds> </batch-data-streams>
Related:
Batch data stream framework and patterns Use the batch data stream framework JDBCReaderPattern JDBCWriterPattern ByteReaderPattern ByteWriterPattern FileReaderPattern FileWriterPattern (ZOS) RecordOrientedDatasetReaderPattern JPAReaderPattern