Your browser does not allow storing cookies. We recommend enabling them.


Accessing Generation Data Groups (GDG)

SSH Tectia Server for IBM z/OS supports generation data groups defined in ICF. Reading GDG ALLs is not supported. SSH Tectia Server for IBM z/OS will not create GDG bases or model datasets.


SSH Tectia file transfers are atomic. Running "sget gdg.base(0) file1" two times in succession might retrieve different files. A loop of "sput file1 gdg.base(+1)" commands might fill the GDG with identical files and roll off all the previous generations.


sftpg3 allows you to navigate to a GDG base and to a prefix of a base.


GDSs are normal datasets. The long name format (ls -l) will show all details.

Listing a base with -l will show full details of the GDSs. The listing may contain datasets that are not in the GDG index but do have dataset names that have the GDG name as a prefix.

It is possible but not recommended to use dataset names which have the GDG base name as a prefix but are not GDS names. For example:

sftp> cd //'USER1.GENGRP'
MVS prefix `'USER1.GENGRP.'' is the current directory.
The working directory `'USER1.GENGRP.'' is a generation data group.
sftp> ls -l
Volume Referred    Recfm Lrecl BlkSz Dsorg    Space  Dsname
S6SYS1 Jan 03 2007 VB     1000 27998 PS       50001  G0006V00.IMPOSTOR
S6SYS1 Jan 02 2007 VB     1000 27998 PS       50001  G0007V00
S6SYS1 Jan 02 2007 VB     1024 27998 PS       50001  G0008V09
S6SYS1 Jan 02 2007 VB     1024 27998 PS       50001  G0077V99
S6SYS1 Jan 02 2007 VB     1024 27998 PS       50001  G0088V99
S6SYS1 Jan 04 2007 VB     1024 27998 PS       50001  G0100V00
S6SYS1 Jan 02 2007 FB       80 27920 PS       50001  GARBAGE

You cannot navigate to a prefix that ends in a GnnnnVnn qualifier. Thus you cannot do "cd G0006V00" or "ls //'USER1.GENGRP.G0006V00'" in the example above.

If the GDG has the NOSCRATCH option, GDSs are retained when they are rolled off. sftpg3 shows datasets based on the prefix - it does not show which datasets are in the GDG and which are not.

Access by Relative DSN

scpg3 and sftpg3 give full access with relative generation numbers for reading and writing. For example, to read the previous and the latest generation, and create a new generation, do the following:

sftp> cd //'ABC.XYZ'
sftp> sget '-1' /tmp/yesterday
sftp> sget 0 /tmp/current
sftp> sput /tmp/new '+1'

z/OS may require you to specify a model dataset when creating a new GDS. SSH Tectia does not support the DCB=dsn specification, but you can use the LIKE attribute. Specify it with the site command (in sftpg3):

sftp> sput /tmp/new '+1'

GDG ALL is not supported (that is, reading all the generations as a concatenation).

A new GDS is rolled in immediately. You can not read it back as (+1) (you can do this in JCL, where the GDS generations are rolled in at the end of the job).

GDSs can be removed and renamed by the relative GDS name. On a rename operation, the new name must not be a relative GDS name.

Access by Absolute DSN

With absolute GDS names you can do all the things possible with other datasets.

Writing a dataset with a last qualifier with the GnnnnVnn format requires that there exists a suitable GDG base. If the generation exists it is overwritten. If if does not, the new file is inserted in its place in the GDG and older GDGs are rolled off, if necessary.




What to read next:

  • Reduce Secure Shell risk. Get to know the NIST 7966.

    The NISTIR 7966 guideline from the Computer Security Division of NIST is a direct call to action for organizations regardless of industry and is a mandate for the US Federal government.
    Download now
  • ISACA Practitioner Guide for SSH

    With contributions from practitioners, specialists and SSH.COM experts, the ISACA “SSH: Practitioner Considerations” guide is vital best practice from the compliance and audit community.
    Download now