Previous Topic: Generation Data Groups

Next Topic: Cold Start a Request Using GDGs


GDGs Support

CA SOLVE:FTS supports GDG transmission and the receipt of data sets into GDGs. The GDGs usage can significantly extend the flexibility associated with transmitting data at regular intervals, perhaps with the use of timer commands.

GDG usage is indicated when the FROM data set name or the TO data set name on the transmission definition panel is specified in one of the following formats:

A.B(0)
A.B(+n)
A.B(-n)

The absolute generation number, as represented by (+n) or (-n), is determined during the first allocation of the data set before the commencement of transmission. This determination is made when the transmission request is first scheduled rather than when the transmission definition or transmission request is entered. There may be a delay between entering a transmission request and its scheduling, pending the availability of the link to the receiving host and a suitable transmission initiator to perform the transmission.

When the data set represented by the specified relative generation number (as at the start of the transmission) is identified, CA SOLVE:FTS is not affected by subsequent changes caused by new generations being added to the GDG.

GDS Support Example

Consider the case where a GDG with a data set name of GDG.IN is transmitted to a sequential data set with a data set name of SEQ.OUT. The generation data group was defined to support a maximum of four entries. Entries in excess of this number cause the operating system to delete the oldest entry. Currently three generations exist. They are GDG.IN.G0003V00, GDG.IN.00002V00, and GDG.IN.00001V00.

Note: The fourth generation GDG.IN.00004V00 is not yet created.

The current relative generations are:

Absolute Generation

Relative Generation

GDG.IN.00003V00

GDG.IN(0)

GDG.IN.G0002V00

GDG.IN(-1)

GDG.IN.00001V00

GDG.IN(-2)

For example, assume that we want to transmit the latest generation, GDG.IN(0), to the data set SEQ.OUT.

The transmission definition is defined with the FROM data set as GDG.IN(0) and the TO data set as SEQ.OUT, the transmission request is entered and the request scheduled.

When scheduled, CA SOLVE:FTS analyzes the FROM data set name and determines that a GDG is transmitted. It then determines the absolute generation number at that time. In our example, this is the data set GDG.IN.00003V00. Having determined the actual data set name to use, it remembers this name and proceeds with the transmission.

Any displays of the transmission request from this point gives the absolute data set name being used (in our case GDG.IN.G0003V00) rather than the relative generation number as entered in the original transmission definition. The original transmission definition has not been changed and is still GDG.IN(0). This technique must be used to ensure that CA SOLVE:FTS is not affected by subsequent changes to the GDG by the addition of extra data sets during the transmission.

Assume that our request commences transmission, but, before completion, the transmission is interrupted by a link failure. The link failure may prevent the restart of the transmission until the fault on the link is corrected. During this time, a new data set is added to the GDG.

The status of the GDG is now:

Absolute Generation

Relative Generation

GDG.IN.G0004V00

GDG.IN(0)

GDG.IN.G0003V00

GDG.IN(-1)

GDG.IN.00002V00

GDG.IN(-2)

GDG.IN.G0001V00

GDG.IN(-3)

The link fault is corrected, and CA SOLVE:FTS can restart the request. If the request restarted on the data set specified in the original transmission definition, (GDG.IN(0)) the incorrect data set GDG.IN.G0004V00 would be selected and the transmission would either fail with I/O errors or incorrect data would be transmitted.

CA SOLVE:FTS protects against this situation by resolving the data set name before starting the transmission and the checkpointing this resolved name. Thus, transmission is restarted correctly on the data set GDG.IN.G0003V00.

The same applies at the receiver, if the receiving data set is a GDG that was specified as a relative generation number.

You can also enter the data set names as absolute generation numbers, for example, MY.GDG.G0123V00.