Table of Contents

Search

  1. Preface
  2. Introduction to PowerExchange Utilities
  3. createdatamaps - Data Map Creation Utility
  4. DTLCCADW - Adabas PCAT Utility
  5. DTLCUIML - IMS Log Marker Utility
  6. DTLINFO - Release Information Utility
  7. DTLREXE - Remote Execution Utility
  8. DTLUAPPL - Restart Token Utility
  9. DTLUCBRG - Batch Registration Utility
  10. DTLUCDEP - CDEP Maintenance Utility
  11. DTLUCSR2 - IDMS SR2 and SR3 Records Utility
  12. DTLUCUDB - DB2 for Linux, UNIX, and Windows CDC Utility
  13. DTLULCAT and DTLULOGC - IDMS Log Catalog Utilities
  14. DTLURDMO - Data Map Utility
  15. DTLUTSK - Task Control Utility
  16. EDMLUCTR - Log Scan and Print Utility
  17. EDMXLUTL - Event Marker Utility
  18. HOSTENT - TCP/IP Address Reporter Utility
  19. PWXCATMY - MySQL Catalog Utility
  20. PWXUCCLPRT - Print Log Summary Utility
  21. PWXUCDCT - Logger for Linux, UNIX, and Windows Utility
  22. PWXUCREG - Capture Registration Suspend Utility
  23. PWXUCRGP - Capture Registrations Print Utility
  24. PWXUDMX - Data Maps Update Time ECSA Memory Utility
  25. PWXUGSK - SSL Reporting Utility for z/OS
  26. PWXUMAP - Map List Utility
  27. PWXUSSL - PowerExchange SSL Reporting Utility

How the createdatamaps Utility Determines RID Fields

How the createdatamaps Utility Determines RID Fields

When you configure the control file to find RID fields, the utility performs the following steps:
  1. Identifies candidate RID fields in the metadata model. Alternatively, if you define the fieldOffset element, validates the value that you provide.
  2. Obtains the candidate RID values from sample data records.
  3. Matches the possible metadata layouts against sample data records, and sets the RID field and values when a good match is achieved.
If the copybook includes multiple 01 levels, the utility performs these steps for each 01 level.

Step 1 - Identifying Candidate RID Fields

The createdatamaps utility examines the COBOL copybook metadata to find candidate RID fields. The utility then determines the offset and length of the candidate RID fields.
Alternatively, if you define the fieldOffset element, the utility validates the value that you provide.
The utility uses the following principles to find candidate RID fields:
  • The utility must identify at least one candidate RID field from the metadata records. If the utility finds no candidate RID fields, it stops processing the copybook for RID fields.
  • RID fields must be at the same offset and have the same width for all record layouts based on a copybook.
The following element in the control file configures Step 1 processing:
  • ridConfig.fieldWidth. Maximum number of bytes of an RID field.

Step 2 - Reading RID Values from Sample Data

The createdatamaps utility reads data records from the data file that is specified in the seqFileName or vsamFileName element in the control file. The utility uses the field lengths and offsets of each candidate RID field from Step 1 to read the values of the candidate RID fields in the data file. Alternatively, if you define the fieldOffset element, the utility uses the fieldOffset value to find RID values in the data file.
The utility rejects candidate RID fields based on certain checks. For example, the number of data values might exceed the maximum number of record types.
The utility uses the following principles:
  • The output of Step 2 must be one RID field selected from the candidates. If more than one candidate field conforms to all the checks, the utility selects the first candidate field.
  • If no candidate RID fields remain after Step 2, the utility stops processing the copybook for RID fields.
  • Candidate fields are rejected if any of the following conditions apply:
    • The list of discovered RID values for the field exceeds the limit.
    • Two data records of different lengths have the same RID value.
The following elements in the control file are used in Step 2 processing:
  • ridConfig.recordTypeLimit. Maximum number of distinct values in a valid RID field.
  • ridConfig.readRecordLimit. Maximum number of data records to read from each data source.
  • seqFileName or vsamFileName. Full path and file name of the sequential or VSAM data set that the utility reads.

Step 3 - Matching Record Layouts Against Data Records

The utility internally generates all possible record layouts, up to the number of layouts that the maxRedefines element specifies. The utility matches each possible layout against data records.
For each record layout, the utility checks the following conditions:
  • The record length matches the length of at least one data record.
  • Each field in the layout can possibly describe the data.
For each record layout that meets both conditions, the utility creates a record and a table for the layout and assigns an RID value to the record.
For each record layout that does not meet both conditions, the utility performs one of the following actions, depending on how you define the excludeUnmatchedRecords element:
  • If excludeUnmatchedRecords = true, the utility excludes the layout from the data map.
  • If excludeUnmatchedRecords = false or is not defined, the utility creates a record and a table for the layout but does not assign an RID value to the record.
The utility uses the following principles:
  • This step is successful if at least one matching record layout exists for each data record type, that is, for each known RID value. This result is not guaranteed if the number of generated record layouts, limited by maxRedefines, is less than the number of data record types.
  • Multiple record layouts might match a data record. All of these matching layouts are included in the data map. You can open the data map in the PowerExchange Navigator to view and select the correct record.
The following elements in the control file configures Step 3 processing:
  • CopybookParserConfig.maxRedefines. The maximum number of redefines is the upper limit on the number of generated record layouts, and therefore the maximum number of record layouts to match against data records.
  • excludeUnmatchedRecords. If true, generates a data map record only for those layouts for which the utility finds a valid data record ID.

0 COMMENTS

We’d like to hear from you!