Message priorities within message classes in DB/DC and DCCTL

When developing your scheduling algorithm, you must know the priority and transaction code for each message class. This information helps you set up test levels of queue loading.

To develop your scheduling algorithm, draw a matrix that lists each priority and transaction code. Group all those transactions that belong to a class. You can then test the contents by setting up test levels of queue loading and apply the class and priority algorithms. Such a matrix is illustrated in Table 1.
Table 1. Matrix for message classes and priorities
Class Priority Transaction Code PSB Name
001 5 TRANX PGMX
3 TRAND PGMD
2 TRANA PGMA
003 10 TRANY PGMY
005 10 TRANC PGMC
5 TRANB PGMB

If an available region specifies a message class priority of 1, 5, 3 and if two transactions are in each queue, PGMX is scheduled first and both TRANXs are processed. If no other transactions are received, the order of processing is TRAND, TRANA, TRANC, TRANB, and TRANY.

Notice how the order of message class prioritizing (specified in the region JCL) causes class 3 to be processed last.

If another message region that specifies message classes 1, 5, 3 is started during the processing of TRAND, the region begins processing with PGMA. Whichever region completes message class 1 transactions first schedules PGMC.