When a CICS region is started, CMF should generate a set of data dictionary records. These records should appear at the beginning of the SMF dump that is taken for this region. If the MICS DAY040 step reads these data dictionary records before the "regular" type 110 records, then you will not even see any messages about missing data dictionary records. It appears that sometimes your SMF dumps do have this first run of data dictionary records and sometimes they do not.
The CIC06024E message in the MICS LOG indicates that MICS cannot find any data dictionary records for the particular f.e.SYSID=ABCD and CICSID=EFGH. When CMF type 110 records are the input data source for MICS/CICS, MICS needs to identify individual fields on these records by means of data dictionary information that must be input to MICS before MICS can interpret the type 110 records that actually contain the data. When MICS reads data dictionary records, it stores the information on the DETAIL.CICCDC01 file. Since this file will be available every time that the DAY040 step is run, the problem should not occur after the data dictionary information has been stored in it. Thus the data dictionary records should be input at least once for any CICS system.
Here are possible solutions to the problem.
- To make sure that you have data dictionary records on the input file, a systems programmer could run the CICS utility called DFHMNDUP to produce a file containing data dictionary records. Once this file has been produced, it should be concatenated ahead of the regular type 110 input records the first time that the new CICS system is being input to the DAY040 step using the INPUTSMF DD statement.
- It is possible to copy observations from one DETAIL.CICCDC01 file to another, if it is done carefully. There will be no problem if the CICS versions remain the same. Here is a sample job that can do this:
// jobcard //STEP1 EXEC MICSDBx //TESTDET DD DISP=SHR,DSN= (DETAIL timespan from test unit) //SYSIN DD * DATA TSTCDC; SET TESTDET.CICCDC01; IF CICSID='EFGH'; DATA PRODCDC; SET DETAIL.CICCDC01; DATA BOTHCDC; SET TSTCDC PRODCDC; PROC SORT DATA=BOTHCDC OUT=DETAIL.CICCDC01; BY %CDCSEQ(TS=DETAIL); RUN; /* Note that the temporary SAS dataset called TSTCDC will have just the data dictionary observations for CICSID='EFGH'. You could change the value of CICSID to some other value as TSTCDC is being created if a new value of CICSID is appropriate.
MICS needs a new set of data dictionary records for a particular region only when the CICS release changes. Thus it would be a good practice to run the DFHMNDUP utility for all CICS regions after a CICS upgrade.