This document describes how to perform an add-on install of the SQL Option into an existing CV.
Release : All supported releases
The process is described in overall terms at Adding IDMS SQL. This document provides more detail.
The CATSYS segment in the SYSTEM catalog needs to have the attributes FOR SQL and its areas DDLCAT, DDLCATX and DDLCATL have STAMP BY AREA, TABLE and AREA respectively. Most likely that is already the case. However, depending on when IDMS was originally installed, it is possible that these attributes are not set in which case, they must be changed manually. The only way to do this is to DROP and re-CREATE CATSYS with the correct attributes. This process is described at Add-on Installation for IDMS SQL (Manual Method) under the sub-heading Convert CATSYS, but it must be performed (manually) even if the Using CAISAG method (which does not otherwise do it) is used. Note that the act of DROPping CATSYS will disconnect it from all DMCLs to which it was previously connected and remove any override attributes that were assigned, so they will also need to be re-established manually. The attributes can be seen from the INCLUDE SEGMENT CATSYS section of the DISplay of the DMCL.
The CAISAG Configuration
An add-on CAISAG configuration process similar to the original configuration must be run. This process will make the necessary changes to the CV and also create one instance of an SQL catalog segment. This catalog segment will be added to the default application dictionary for the CV - the name of this dictionary is normally APPLDICT but it is something that can be configured and is assigned in the VARBLIST parameter APPLDICT (for convenience, the term APPLDICT is used throughout this document).
Make the following changes to the VARBLIST member in the CAISAG.CONFIG library:
GTJ000OP = YES
GJUPGRAD = NO
BEGINMEM = SQL
GT0ADDON = YES
ADDSYSQL = YES
ADDQDEMO = YES
Run the CAISAG job. This will generate jobs named SQL00 to SQL18 in the CAISAG.CONFIG library. The generated jobs should be reviewed to be sure the updates are to the correct DMCL, dictionary and dbnames for your environment.
Some of the jobs are empty. The following is a description of the jobs that are not, and what function they perform.
Job 02 copies the new RHDCPINT source and link-edit statements to CUSTOM.SRCLIB(RHDCPINT) and CUSTOM.LNKLIB(RHDCPINT) respectively. The #DEFPINT macro should be uncommented for all of the previously configured components and now also "CA IDMS SQL".
Job 03 assembles and links RHDCPINT.
Job 05 allocates the physical datasets for SYSSQL (the catalog segment for APPLDICT) and the sample SQL database segments, PROJSEG and SQLDEMO.
Job 06 creates INCLUDE MEMBERS containing DD statements that will be used by the remaining jobs. Ideally this will not change anything from when it was run during the initial configuration, but should be run anyway.
Job 08 adds SYSSQL to the DMCL, and includes it in the APPLDICT dbname.
Job 10 formats SYSSQL and initializes it with the source from TABLEDDL and VIEWDDL.
Note: If using GJCVMODE=YES, job 10 must be manually broken in to two parts between the FORMSQL and SQLTDDL steps, and the CV cycled in between the two parts.
Job 15 adds PROJSEG and SQLDEMO to the DMCL, and formats and loads them with data.
Note: If using GJCVMODE=YES, job 15 must be manually broken in to two parts between the FORMSQLD and APPLDEMO steps, and the CV cycled in between the two parts.
Job 17 copies any new programs and tasks from system 99 to the live system. This is a generic step performed at the end of any configuration but in this case there are no new programs or tasks. It also runs a PRINT SPACE against the new segments.
Of the above jobs, the CV level updates are made by jobs 02, 03, 05 (steps ALCD#QEM, ALCD#QIF, ALCD#PRJ and ALCD#QIX), 06, 15 and 17. The APPLDICT catalog segment is created by jobs 05 (steps ALCD#$CT, ALCD#$CL and ALCD#$CX), 08 and 10.
If you have more user-defined application dictionaries that contain the definitions of network databases that you want to access with SQL, you will have to create the catalog segment for those dictionaries manually. This process is described at How to add a new SQL catalog segment to an existing dictionary.