Often programmers will create multiple versions of a program in order to test various functions. Sites using MQ-Series may need a method for testing these various program versions.
The typical way to invoke various versions of a program is a using the DCUF TEST command. In an MQ-Series environment, a site might be tempted to use this to test various versions of a program. However, MQ-Series support was implemented with the intention that it would be used in a production environment, not for testing. The use of multiple program versions is usually used in a test environment. So these are basically configured to be used in different environments.
To implement some sort of testing protocol in an MQ environment, the use of distinct task codes would be easiest to test different program versions. Documentation for the TASK statement in the Sysgen manual indicates that a TASK statement can invoke a specific version of a program.
TASK COBPROG1 INVOKES COBPROG VERSION 1
TASK COBPROG2 INVOKES COBPROG VERSION 2
However, as the manual states, "This parameter has no effect on runtime operations." So that will not have any impact on the MQ-Series run-time environment. To invoke different program versions, then, the program would need to be link-edited under different names, with a distinct task code for each:
TASK COBPROG1 INVOKES COBPROGA.
TASK COBPROG2 INVOKES COBPROGB.