Providing Source Code for Initial CM evolveIT Discovery
When providing your Cobol system assets to us for discovery and creation of your initial CM evolveIT repository, please consider the following:
Format
Source code should be provided as individual source files in standard Windows 7-bit ASCII text format zip’ed as a Microsoft Windows directory. Please note that when using FTP from the mainframe where an EBCDIC to ASCII conversion is performed, take care that no characters are translated into Control Z.
Source
Please supply source for all of the following that are assets of your system. If you are not aware of the full interaction set, we can complete the discovery and then tell you what source code is missing. (Keep in mind that CM evolveIT will identify missing assets by finding unresolved references in the source code assets provided. It is possible that each new set of source code provided may contain references to additional missing source code assets.)
Explanation of this can be found in the CICS/TS 4.2 manual Resource Definition Guide at IBM.COM
A summary explanation of the record layout in this file appears in “CICS File Extract format” below.
Special note* The output dataset must have these attributes.
Organization . . . : PS
Record format . . . : F
Record length . . . : 1536
Block size . . . . : 1536
CICS Resources
How to limit the number of resources that need to be extracted.
GRPLIST is a CICS system initialization parameter that will contain up to four “lists” of groups that contain the resources that we may need to look at. We only want to extract the resources from the groups that are used by the application.
The resources that we are interested in are: programs, files (FCT), queues (TDQ), transactions (PCT), and mapsets. We can include an input dataset pointed to by the CRFINPT DD that will control which resources are extracted. CRFINPT is a sequential file containing 80-byte records. Each record contains one object or keyword to be cross-referenced. The CRFINPT file should contain the following entries (one per line):
PROGRAM
TRANSACTION
FILE
TDQ
MAPSET
The JCL sample below can be used to extract the data once you have narrowed down the groups you want to use.
//JOBCARD JOB MSGCLASS=H,CLASS=A,NOTIFY=&SYSUID
//*-----------------------------------------------
//*CSD EXTRACT
//*-----------------------------------------------
//EXTRACT EXEC PGM=DFHCSDUP,
// PARM=’CSD(READONLY)’
//SYSPRINT DD SYSOUT=*
//CDBOUT DD SYSOUT=*
//CRFOUT DD SYSOUT=*
//CRFINPT DD DSN=<your input dataset>,DISP=SHR
//*
//STEPLIB DD DSN=<cicshlq>.SDFHLOAD,DISP=SHR
//DFHCSD DD DSN=<your CSD dataset>,DISP=SHR
//SYSOUT DD *
//FOROUT DD DSN=<your output dataset>,DISP=SHR
//SYSIN DD *
EXTRACT GROUP(program group) USERPROGRAM(DFH0FORC) OBJECTS
EXTRACT GROUP(FCT group) USERPROGRAM(DFH0FORC) OBJECTS
EXTRACT GROUP(TDQ group) USERPROGRAM(DFH0FORC) OBJECTS
EXTRACT GROUP(PCT group) USERPROGRAM(DFH0FORC) OBJECTS
EXTRACT GROUP(mapset group) USERPROGRAM(DFH0FORC) OBJECTS
/*
//
NOTES:
1. The FOROUT dataset must have a record size of 1536
2. The USERPROGRAM can be DFH$FORA for assembler, DFH0FORC for COBOL, and DFH$FORP for PL/I.
3. The EXTRACT statement can also use LIST(listname) to get all of the groups in the list
4. The CRFINPT dataset DCB parameters must be DSORG=PS, RECFM=F, LRECL=80, and BLKSIZE=80.
Structure
Please divide the files into named directories for each of the file types described above and zip each group at the directory level. If you have multiple source sets of any component type, please provide a separate directory for each set. (Copybook1, Copybook2)
Other Information
Please write a few words as a TXT or DOC that explain the directory structure that you are providing.
Transfer
We can accept ZIP files up to 10MB. If however, you have larger sets of source code assets, we can supply an FTP location where you can upload your source code. (For security reasons we suggest that most customers use our FTP option.
Commands for FTP of multiple members from a PDS:
To transfer multiple members of a PDS and assign the member name as the
filename on the target server directory, the following FTP control commands are
required.
CD: Change directory command to set the target
server directory name for the transfer.
Syntax: CD \your\target\directory\name
LCD: Local Change Directory command to identify the PDS name for mass
transfer.
Syntax: LCD YOUR.PDS.NAME
MPUT: Multiple Put command to specify mass transfer of members in the
PDS. (Asterisk denotes transfer of all members in the PDS.)
Syntax: MPUT (*)
Example:
CD \Your\Target\Directory
LCD YOUR.PDS.NAME
MPUT (*)
This will transfer each member of the PDS to the server as individual text files.
CICS File Extract format
The file extracted from CICS using the instructions above is expected to contain records formatted according to the following rules:
Record Type
The first 4 characters of each line define the CICS item type defined on the line. This in turn defines the format of the line (defined in the following tables)
Column 1-4 value |
Type of CICS item |
FILE |
File |
MAPS |
Mapset |
PROG |
Program |
TDQU |
CICS Queue |
TRAN |
CICS Transaction |
File Items
|
Field Start |
Field End |
Field Length |
Type |
1 |
4 |
4 |
File Name1 |
5 |
12 |
8 |
System ID |
13 |
15 |
3 |
File Group |
16 |
20 |
5 |
Description |
21 |
78 |
58 |
File Name |
79 |
230 |
152 |
Filler |
231 |
259 |
29 |
File Alias |
159 |
162 |
4 |
Filler |
263 |
266 |
4 |
CICS Region |
267 |
270 |
4 |
File Name2 |
271 |
278 |
8 |
Filler |
279 |
1536 |
1258 |
Mapset Items
|
Field Start |
Field End |
Field Length |
Type |
1 |
4 |
4 |
Mapset Name |
5 |
12 |
8 |
System ID |
13 |
15 |
3 |
Map Group |
16 |
20 |
5 |
Description |
21 |
78 |
58 |
Filler |
79 |
1536 |
1458 |
Program Items
|
Field Start |
Field End |
Field Length |
Type |
1 |
4 |
4 |
Program |
5 |
12 |
8 |
System ID |
13 |
15 |
3 |
Prog Group |
16 |
20 |
5 |
Description |
21 |
78 |
58 |
Language |
79 |
86 |
8 |
Filler |
87 |
1536 |
1450 |
CICS Queue Items
|
Field Start |
Field End |
Field Length |
Type |
1 |
4 |
4 |
Queue Name |
5 |
12 |
8 |
System ID |
13 |
15 |
3 |
Queue Group |
16 |
20 |
5 |
Description |
21 |
78 |
58 |
Queue Type |
79 |
86 |
8 |
Filler |
87 |
89 |
3 |
Log File |
90 |
141 |
52 |
Log File Def |
141 |
199 |
59 |
Filler |
200 |
219 |
20 |
Tran to Start |
220 |
223 |
4 |
Filler |
224 |
249 |
26 |
Queue Name |
250 |
253 |
4 |
CICS Region |
254 |
257 |
4 |
Filler |
258 |
1536 |
1279 |
CICS Transaction Items
|
Field Start |
Field End |
Field Length |
Type |
1 |
4 |
4 |
Tran ID1 |
5 |
12 |
8 |
System ID |
13 |
15 |
3 |
Tran Group |
16 |
20 |
5 |
Description |
21 |
78 |
58 |
Tran Program |
79 |
86 |
8 |
Filler |
87 |
159 |
73 |
CICS Region |
160 |
163 |
4 |
Tran ID 2 |
164 |
171 |
8 |
Filler |
172 |
1536 |
1365 |