WebSphere MQ Workflow
Global Container Maintenance Tool - Quick Reference

Note: This document must be printed in landscape format!

With IBM WebSphere MQ Workflow Version 3.5.0, you can use shared global container tables in the MQ Workflow Runtime database. The data of similar global containers can be stored in one database table. In earlier versions of MQ Workflow, a table was created for every process template that used the global container. Sometimes, these global containers had similar data structures and consequently they had similar global container tables in the run-time database.

You can use the Global Container Maintenance Tool (GCMT) to merge or split these global container tables in the run-time database.  The GCMT allows you to merge global container tables into one table to reduce the overhead in the database. It also allows you to split a merged global container table. This can be useful if you want to change the data of one global container and keep the data structure of the other one.

The GCMT can be used with MQ Workflow 3.5. The tool runs on all supported platforms. For further information about the concepts of shared global container tables, see the MQ Workflow Programming Guide.

Prerequisites

There are several conditions that must be fulfilled if you want to use the GCMT successfully. Not all of the process templates use global containers and not all of the global containers can be merged. The global container tables of two process templates can be merged if they have the same data structure or if the global container table of the smaller global container is completely transferable to the global container table of the larger global container. The merging of global containers is shown in the following example:

There are two process templates using global containers with the following data structures:

GCMT_example

GCMT_example2

Template1 uses GCMT_example
Template2 uses GCMT_example2

You can merge these global container tables. Although the data structures are not identical, the two data fields of GCMT_example have the same attribute name and attribute type as the first two fields of GCMT_example2. To be able to merge the global containers, for all of the data fields in the smaller global container table, there must be a data field in the same position in the larger global container.

The second example shows two global container data structures that cannot be merged, although they look similar to the global containers in the first example:

GCMT_example3
GCMT_example4
Template3 uses GCMT_example3
Template4 uses GCMT_example4

While Template4 uses the same global container data structure as Template2 in the first example, the data structure GCMT_example and GCMT_example3 look similar too, but the positions of the data fields in GCMT_example3 have changed. The global container tables cannot be merged. There is still a string data field named Field2 in both data structures but in GCMT_example3 it is in the first position and in GCMT_example4 it is in the second. If you tried to merge the global container tables, you would write the values of Field2 from GCMT_example3 into Field1 from GCMT_example4 , which is impossible.

So if you want to merge two global container tables, ensure that the data fields have the same name, the same type, and the same position in the data structure. Only global container tables that fulfill these prerequisites can be merged with the GCMT.

Starting the GCMT

You can find general installation instructions in the installation instructions for the MQ Workflow database tools.

You can use the following command to start the GCMT from the command prompt:
java com.ibm.workflow.util.dbTools.GCMT [Options]

The options are:

        -u <username>           MQ Workflow user with database administrator rights
        -p <password>           password of MQ Workflow user
        -q <customization HLQ>  MQ Workflow Customization HLQ (z/OS only)				
        -y <configuration id>   MQ Workflow configuration ID 
        -l <DB2 location>       location name of the DB2 subsystem (optional)(z/OS only)
        -s <DB2 schema>         DB2 system group object qualifier (z/OS only)

The tool prompts you for values if you do not specify them in the command line. The DB2 location name is optional and will not be prompted if you specify command line parameters.

Using the GCMT

The GCMT makes fundamental changes to the run-time database. Therefore it is recommended that you make a backup copy of your run-time database, before you use the GCMT.

The main menu

If your log-on information is correct, the main menu is displayed:

               ----------------------------MAIN-MENU-------------------------------- 
              | (m)  --> merge the GC-Tables of two process templates             |     
              | (s)  --> split the GC-Table of two merged process templates       |    
              | (l)  --> display listings                                         |     
              | (x)  --> Exit                                                     |     
               --------------------------------------------------------------------- 
              

To carry out an action, type the corresponding letter on the command line and press Enter:

  • To split the global container table of two process templates which have the same global container table, type s
  • To merge the global container tables of two process templates which have different global container tables, type m
  • To get several listings about process templates using global container tables, type l
  • To exit the tool, type x

Merging two process templates

To merge the global container tables of two process templates, type m in the main menu. The prerequisites for merging global container tables are explained in Prerequisites to use the GCMT.

After the main menu you will be prompted for the name of the two process templates that you want to merge and the name of the merged global container table. Instead of the name of the second template, you can type ?.

You will get a list of all of the process templates that can be merged with the first process template. If you want to merge the global container table of one of these templates with the global container table of the first template, type the number from the list for this process template. If you do not want to merge any template from the list, type X

You can merge the two process templates into one of the old global container tables or into a completely new one. If you decide to create a new table, the name of the global container table must start with GC_ .

              Please enter the name of the first process template: 
              template1
               
              Please enter the name of the second process template:
              template2
              
              Please enter the name of the global container table you want to merge the process 
              templates into:
              GC_MergeTable

After you enter the parameters, the GCMT merges the two global container tables.

Splitting a global container table

To split a global container table that is used by two process templates, type s in the main menu.

You will be prompted for the names of the process templates for which you want to have different global container tables and the new global container table. The global container table entries of the first process template you enter will be stored in a new global container table. If you want one of the process templates to stay in the old global container table, enter its name for the second process template.

The global container table name you enter must start with GC_ . This will be the new global container table for the first process template.


              The global container data of the first process template will be transfered from 
              the shared global container to a new global container table.
              Please enter the name of the first process template:
              template1_toSplitTable
              
              Please enter the name of the second process template:
              template2
              
              Please enter the name of the global container table you would like to create for 
              "template1_toSplitTable":
              GC_SplitTable

After you enter the parameters, the GCMT splits the two process templates.

Using the listings

The listings show you information about which process templates use global containers or whether you can merge two process templates. To display the listings menu type l in the main menu.

               ----------------------------------LISTINGS---------------------------------------
| (a)  --> list all process templates with global containers | | (c)  --> list process templates with a certain global container table | | (t)  --> list process templates with the same global container table | | (m)  --> list process templates that could be merged with a certain template | | (x)  --> Back to main menu |
---------------------------------------------------------------------------------

To carry out an action, type the corresponding letter on the command line and press Enter.

  • To get a list of all of the process templates that use a global container, type a

  • To get a list of the process templates that use a specific global container, type c.
    You will be prompted for the name of a global container table. You will get a list of all of the process templates that use this table.

  • To get a list of the process templates that use the same global container table, type t.
    You will be prompted for the name of a process template. You will get a list of all of the process templates that use the same global container table as the specified process template.

  • To get a list of process templates with global containers that can be merged, type m.
    You will be prompted for the name of a process template. You will get a list of all of the process templates that can be merged with the specified process template.

 

Subheadings


Prerequisites









Splitting a global container table

Using the listings
     (Back to the top)