SHSAM, SHISAM, and GSAM databases
You typically use simple hierarchical sequential access method (SHSAM), simple hierarchical indexed sequential access method (SHISAM), and generalized sequential access method (GSAM) databases either when converting a non-database system to IMS or when passing data from one application program to another.
When converting from a non-database system to IMS, SHSAM, SHISAM, and GSAM databases allow existing programs, using z/OS® access methods, to remain usable during the conversion to IMS. This is possible because the format of the data in these databases is the same as in the z/OS data sets.
When a database (or non-database) application program passes data to a database (or non-database) application program, it first puts the data in a SHSAM, SHISAM, or GSAM database. The database (or non-database) application program then accesses the data from these databases.
If you have application programs that need access to both IMS and z/OS data sets, you can use SHSAM, SHISAM, or GSAM. Which one you use depends on what functions you need. The following table compares the characteristics and functions available for each of the three types of databases.
| Characteristics and functions | SHSAM | SHISAM | GSAM |
|---|---|---|---|
| Uses hierarchical structure | NO | NO | NO |
| Uses segment prefixes | NO | NO | NO |
| Supports variable-length records | NO | NO | YES |
| Supports checkpoint/restart | NO | YES1 | YES1 |
| Compatible with non-IMS data sets | YES | YES | YES |
| Supports VSAM as the operating system access method | NO | YES | YES |
| Supports BSAM as the operating system access method | YES | NO | YES |
| Accessible from a batch region | YES | YES | YES |
| Accessible from a batch message processing region | YES | YES | YES |
| Accessible from a message processing region | YES | YES | NO |
| Supports logging support | NO | YES | NO |
| Supports GET calls | YES | YES | YES |
| Supports ISRT calls | YES2 | YES | YES3 |
| Supports CICS®-DBCTL | YES | YES | NO |
| Supports DCCTL | NO | NO | YES |
- Using symbolic checkpoints
- To load database only
- Allowed only at the end of the data set