Deferring Loading of PCT Entries

You can control whether to load all PCT entries at startup or to defer the loading of some or all PCT entries until the corresponding transaction ID is entered.

The advantages of loading all PCT entries at startup are:

These advantages are particularly important in a production environment, where you need fast response times and stable region definition. The disadvantage is that if there are many PCT entries to load, the startup time is increased and the shared memory usage will be high.

You can control the loading of PCT entries with the Defer Install field on the CICS SIT page of ESMAC.

If you defer loading PCT entries, when you enter a transaction ID that is not currently loaded into memory, CICS searches the groups specified in the original startup list in reverse order. If a PCT entry for the transaction ID is found, it is dynamically loaded into memory for subsequent use. If the transaction ID is not found, a TRANSIDERR occurs as normal.

Note: If a group specified as deferred is empty at startup, it will not be searched subsequently for PCT entries.

The following examples assume that resources are defined as shown.

Assume the RDF defines the resources shown below.

Figure 1. Resource Definition File for Example 1
Resource Definition File for Example 1

Using DEFSIT1, the following entries are loaded into memory at startup (in addition to the DFH group entries):

  •  (TRN2,PROG2) from DEFGRP1
  •  (TRN3,PROG3) from DEFGRP1
  •  (TRN4,PROG4) from DEFGRP2
  •  (TRN1,PROG5) from DEFGRP2

The entry for (TRN1,PROG5) from DEFGRP2 is used instead of the entry for TRN1 in DEFGRP1. This is because DEFGRP2 occurs later than DEFGRP1 in the startup list.

Assume the RDF defines the resources shown below.

Figure 2. Resource Definition File for Example 2
Resource Definition File for Example 2

Starting the region with DEFSIT2, deferred PCT loading is enabled for all groups in the startup list. No PCT entries are loaded into memory at startup. When the enterprise server is running, if the transaction ID TRN3, for example, is entered from a client, the system will:

  •  Search DEFGRP2 for a PCT entry=TRN3. Result: Not found
  •  Search DEFGRP1 for a PCT entry=TRN3. Result: Found. Load the definition into memory

Subsequent uses of the transaction ID TRN3 will find the PCT entry in memory, so no searching of the resource definition file takes place. Similarly, if the transaction ID TRN1 is entered from a client, the system searches for and finds the definition in DEFGRP2.

This will find the same definition for TRN1 as shown in Resource Definition File for Example 1 above.

Assume the RDF defines the resources shownbelow.

Figure 3. Resource Definition File for Example 3
Resource Definition File for Example 3

The third type of deferred PCT load allows you to specify the number of groups that will have the loading of their PCT definitions deferred. In this case, the deferred group count is set to 1, so the loading of PCT definitions from DEFGRP2 is deferred.

The number of groups to defer is counted back from the end of the startup list.

In this case, at system startup, the following PCT definitions are loaded into memory:

  •  (TRN1,PROG1) from DEFGRP1
  •  (TRN2,PROG2) from DEFGRP1
  •  (TRN3,PROG3) from DEFGRP1

The definition for transaction ID TRN1 is now taken from DEFGRP1 and not from DEFGRP2.