The following information and example can help you determine whether the objects you specify in data group object entries will be selected for replication. MIMIX determines which replication process will be used only after it determines whether the library-based object will be replicated.
Data group object entry commands support several special values that can be specified for the Object type (OBJTYPE) parameter to simplify creating configuration. Each of these special values identify a group of object types which have similar processing needs, making the object entry capable of being a match for any transaction whose object type is part of the group. These special values are:
-
*JRNALL - All object types that can be journaled are selected. This includes, *DTAARA, *DTAQ, and *FILE (with attributes of PF-DTA, PF38-DTA, LF, LF38, PF-SRC, and PF38-SRC) objects.
-
*JRNFILE - All file types that can be journaled are selected. This includes *FILE objects with attributes of PF-DTA, PF38-DTA, LF, LF38, PF-SRC, and PF38-SRC.
-
*NONJRN - All object types that cannot be journaled are selected. For *FILE objects, this includes attributes other than PF-DTA, PF38-DTA, LF, LF38, PF-SRC, and PF38-SRC.
-
*STRJRN - All object types that are specified for journal-centric configuration in the data group can be selected. A data group object entry that specifies *STRJRN is not evaluated by replication processes. Instead, it is used by the Libraries (#OBJATR) audit and by deploy processing to ensure that journaling is started for not-journaled objects matching the specified criteria and the configured journal-centric object types. When *STRJRN is specified, the process type (PRCTYPE) must be Include (*INCLD) and name-mapping is not allowed.
When determining whether to process a journal entry for a library-based object, MIMIX looks for a match between the object information in the journal entry and one of the data group object entries. If the data group has identified object types *DTAARA, *DTAQ, *FILE, or *LIB for journal-centric configuration, MIMIX also looks for a match within the list of objects journaled to the user journal of the data group. The library name is the first search element, then followed by the object type, attribute (for files and device descriptions), and the object name. The most significant match found (if any) is checked to determine whether to include or exclude the journal entry in replication.
Table 5 shows how MIMIX checks a journal entry for a match with a data group object entry or the list of journaled objects for a journal-centric data group. The columns are arranged to show the priority of the elements within the object entry, with the most significant (library name) at left and the least significant (object name) at right.
Search Order |
Library Name |
Object Type1 |
Attribute2 |
Object Name |
---|---|---|---|---|
1 |
Exact |
Exact |
Exact |
Exact |
2 |
Exact |
Exact |
Exact |
Generic* |
3 |
Exact |
Exact |
Exact |
*ALL |
4 |
Exact |
Exact |
*ALL |
Exact |
5 |
Exact |
Exact |
*ALL |
Generic* |
6 |
Exact |
Exact |
*ALL |
*ALL |
7 |
Exact |
*JRNFILE, *JRNALL, or *NONJRN |
n/a |
Exact |
8 |
Exact |
*JRNFILE, *JRNALL, or *NONJRN |
n/a |
Generic* |
9 |
Exact |
*JRNFILE, *JRNALL, or *NONJRN |
na/ |
*ALL |
10 |
Exact |
*ALL |
Exact |
Exact |
11 |
Exact |
*ALL |
Exact |
Generic* |
12 |
Exact |
*ALL |
Exact |
*ALL |
13 |
Exact |
*ALL |
*ALL |
Exact |
14 |
Exact |
*ALL |
*ALL |
Generic* |
15 |
Exact |
*ALL |
*ALL |
*ALL |
16 |
Generic* |
Exact |
Exact |
Exact |
17 |
Generic* |
Exact |
Exact |
Generic* |
18 |
Generic* |
Exact |
Exact |
*ALL |
19 |
Generic* |
Exact |
*ALL |
Exact |
20 |
Generic* |
Exact |
*ALL |
Generic* |
21 |
Generic* |
Exact |
*ALL |
*ALL |
22 |
Generic* |
*JRNFILE, *JRNALL, or *NONJRN |
n/a |
Exact |
23 |
Generic* |
*JRNFILE, *JRNALL, or *NONJRN |
n/a |
Generic* |
24 |
Generic* |
*JRNFILE, *JRNALL, or *NONJRN |
n/a |
*ALL |
25 |
Generic* |
*ALL |
Exact |
Exact |
26 |
Generic* |
*ALL |
Exact |
Generic* |
27 |
Generic* |
*ALL |
Exact |
*ALL |
28 |
Generic* |
*ALL |
*ALL |
Exact |
29 |
Generic* |
*ALL |
*ALL |
Generic* |
30 |
Generic* |
*ALL |
*ALL |
*ALL |
31 *EXCLD only |
*ALL |
Exact |
Exact |
Exact |
32 *EXCLD only |
*ALL |
Exact |
Exact |
Generic* |
33 *EXCLD only |
*ALL |
Exact |
Exact |
*ALL |
34 *EXCLD only |
*ALL |
Exact |
*ALL |
Exact |
35 *EXCLD only |
*ALL |
Exact |
*ALL |
Generic* |
36 *EXCLD only |
*ALL |
Exact |
*ALL |
*ALL |
37 *EXCLD only |
*ALL |
*JRNFILE, *JRNALL, or *NONJRN |
n/a |
Exact |
38 *EXCLD only |
*ALL |
*JRNFILE, *JRNALL, or *NONJRN |
n/a |
Generic* |
39 *EXCLD only |
*ALL |
*JRNFILE, *JRNALL, or *NONJRN |
n/a |
*ALL |
40 *EXCLD only |
*ALL |
*ALL |
Exact |
Exact |
41 *EXCLD only |
*ALL |
*ALL |
Exact |
Generic* |
42 *EXCLD only |
*ALL |
*ALL |
Exact |
*ALL |
43 *EXCLD only |
*ALL |
*ALL |
*ALL |
Exact |
44 *EXCLD only |
*ALL |
*ALL |
*ALL |
Generic* |
45 *EXCLD only |
*ALL |
*ALL |
*ALL |
*ALL |
LAST |
Object types specified for JRNCENTRIC in data group3 |
1Object type values *JRNFILE, *JRNALL, and *NONJRN represent groups of object types. When a match is found to an object type within a group, any value specified for the Attribute is ignored. The group *JRNFILE is considered higher precedence than *JRNALL if both are specified with the same values for Library. 2The extended object attribute is only checked for objects of type *FILE and *DEVD. 3The last criteria to be checked is whether the object type is specified for JRNCENTRIC in the data group. This criteria provides an implied include match for all objects of the specified types that are journaled to the data group’s user journal. |
When MIMIX evaluates object entries to find which entry is the most specific match for a spooled file, after checking the library name, object type, attribute, and object name, then if Replicate spooled files is Yes, MIMIX checks the Spooled file criteria parameter elements: Spooled file name, Job name, and Job user, in that order.
When configuring data group object entries, the flexibility of the generic support allows a variety of include and exclude combinations for a given library or set of libraries. But, generic name support can also cause unexpected results if it is not well planned. Consider the search order shown in Table 5 when configuring data group object entries to ensure that objects are not unexpectedly included or excluded in replication.
Example using default configuration options - For example, say you that you have a data group configured with data group object entries like those shown in Table 7. The journal entries MIMIX is evaluating for replication are shown in Table 6.
Object Type |
Library |
Object |
---|---|---|
*PGM |
FINANCE |
BOOKKEEP |
*FILE |
FINANCE |
ACCOUNTG |
*DTAARA |
FINANCE |
BALANCE |
*DTAARA |
FINANCE |
ACCOUNT1 |
*SPLF |
FINANCE |
ACCOUTQ |
A transaction is received from the system journal for program BOOKKEEP in library FINANCE. MIMIX will replicate this object since it fits the criteria of the first data group object entry shown in Table 7.
A transaction for file ACCOUNTG in library FINANCE would also be replicated since it fits the third entry.
A transaction for data area BALANCE in library FINANCE would not be replicated since it fits the second entry, an Exclude entry.
Entry |
Source Library |
Object Type |
Object Name |
Attribute |
Process Type |
---|---|---|---|---|---|
1 |
Finance |
*PGM |
*ALL |
*ALL |
*INCLD |
2 |
Finance |
*DTAARA |
*ALL |
*ALL |
*EXCLD |
3 |
Finance |
*ALL |
acc* |
*ALL |
*INCLD |
Likewise, a transaction for data area ACCOUNT1 in library FINANCE would not be replicated. Although the transaction fits both the second and third entries shown in Table 7, the second entry determines whether to replicate because it provides a more significant match in the second criteria checked (object type). The second entry provides an exact match for the library name, an exact match for object type, and a object name match to *ALL. Therefore, the data area named ACCOUNT1 is excluded.
In order for MIMIX to process the data area ACCOUNT1, an additional data group object entry with process type *INCLD could be added for object type of *DTAARA with an exact name of ACCOUNT1 or a generic name ACC*.
Finance |
*DTAARA |
ACCOUNT1 - OR - acc* |
*ALL |
*INCLD |
The example in Table 8 shows the data group object entries needed to replicate all spooled files in output queues beginning with ACC, except for those in the ACCOUTQ output queue.
Because spooled file objects in the ACCOUTQ output queue are excluded, the transaction for spooled file objects from Table 6 would not be replicated.
When replicating spooled files, MIMIX also considers the values specified in the data group object entries for the Replicate Spooled Files parameter and the Spooled file criteria parameter elements Spooled file name, Job name, and Job user. See Identifying spooled files for replication for additional information about replicating spooled files.
Entry |
Source Library |
Object Type |
Object Name |
Attribute |
Replicate Spooled File |
Spooled file criteria:
|
Process Type |
---|---|---|---|---|---|---|---|
1 |
Finance |
*SPLF |
ACCOUTQ |
*ALL |
*YES |
*ALL *ALL *ALL |
*EXCLD |
2 |
Finance |
*ALL |
ACC* |
*ALL |
*YES |
*ALL *ALL *ALL |
*INCLD |
Example for a journal-centric configuration: When using a journal-centric configuration, your evaluation must include what is journaled to the user journal of the data group, and what else might need to be replicated that cannot be journaled. Consider the example objects listed in Table 9.
Object Type |
Library |
Object |
Journal-Capable? |
Replication Needed? |
---|---|---|---|---|
*PGM |
FINANCE |
BOOKKEEP |
No |
Yes |
*FILE |
FINANCE |
ACCOUNTG |
Yes |
Yes |
*DTAARA |
FINANCE |
BALANCE |
Yes |
Yes |
*DTAARA |
FINANCE |
ACCOUNT1 |
Yes |
Yes |
*SPLF |
FINANCE |
ACCOUTQ |
No |
Yes |
*DTAQ |
JOEDOE |
TESTENV |
Yes |
No |
*FILE |
JOEDOE |
TMPFILE |
Yes |
No |
We’re going to assume that the journal-capable objects in libraries FINANCE and JOEDOE are journaled to the user journal, J1, identified by the data group. The data group supports both system and user journal replication (TYPE(*ALL)) and its Use journal-centric config. (JRNCENTRIC) parameter specifies either *ALL or the object types *DTAARA, *DTAQ, *FILE, and *LIB.
Transactions in the user journal for file ACCOUNTG and data areas BALANCE and ACCOUNT1 are evaluated and replicated because of the object types specified for journal-centric configuration in the data group. MIMIX does not need to find a match within data group object entries for these objects because they were journaled to journal J1 at the time the data group started.
Data group object entries are needed to exclude transactions for other objects journaled to journal J1 that you do not want or need to replicate, such as temporary file TMPFILE and data queue TESTENV in library JOEDOE. Unless there is an explicit exclude entry that would prevent replication, MIMIX automatically detects that newly created objects that are journaled to the user journal of the data group and ensures they are tracked as objects to be replicated.
Data group object entries are also needed to process system journal transactions for objects that cannot be journaled, such as program BOOKKEEP and spooled files for object ACCOUTQ.
Table 10 shows the object entries needed in the journal-centric data group to result in the desired configuration for the objects shown in Table 9.
Entry |
Source Library |
Object Type |
Object Name |
Attribute |
Replicate Spooled File |
Spooled file criteria:
|
Process Type |
Cooperate with Database |
---|---|---|---|---|---|---|---|---|
1 |
FINANCE |
*NONJRN |
*ALL |
*INCLD |
*YES |
|||
2 |
*ALL |
*ALL |
TMP* |
*EXCLD |
||||
3 |
JOEDOE |
*DTAQ |
*ALL |
*EXCLD |
||||
4 |
FINANCE |
*ALL |
ACC* |
*ALL |
*YES |
*ALL *ALL *ALL |
*INCLD |
Finally, one more data group entry would be needed for you to ensure that any new objects in library FINANCE that are capable of being journaled have journaling started so that they can be replicated by this journal-centric data group.
5 |
FINANCE |
*STRJRN |
*ALL |
*ALL |
*NO |
*INCLD |