Design of the sample

 

When you start the sample, it displays a screen map that has fields for:

The first two fields are for user input. The last two fields are filled by the application: they show the word INHIBITED or the word ALLOWED.

The application validates the values that you enter in the first two fields. It checks that the queue name starts with the characters CSQ4SAMP and that you entered one of the three valid requests in the Action field. The application converts all your input to uppercase, so we cannot use any queues with names that contain lowercase characters.

If you enter inquire in the Action field, the flow through the program logic is:

  1. Open the queue using the MQOPEN call with the MQOO_INQUIRE option

  2. Call MQINQ using the selectors MQIA_INHIBIT_GET and MQIA_INHIBIT_PUT

  3. Close the queue using the MQCLOSE call

  4. Analyze the attributes that are returned in the IntAttrs parameter of the MQINQ call and move the words INHIBITED or ALLOWED, as appropriate, to the relevant screen fields

If you enter inhibit in the Action field, the flow through the program logic is:

  1. Open the queue using the MQOPEN call with the MQOO_SET option

  2. Call MQSET using the selectors MQIA_INHIBIT_GET and MQIA_INHIBIT_PUT, and with the values MQQA_GET_INHIBITED and MQQA_PUT_INHIBITED in the IntAttrs parameter

  3. Close the queue using the MQCLOSE call

  4. Move the word INHIBITED to the relevant screen fields

If you enter allow in the Action field, the application performs similar processing to that for an inhibit request. The only differences are the settings of the attributes and the words displayed on the screen.

When the application opens the queue, it uses the default connection handle to the queue manager. (CICS establishes a connection to the queue manager when you start your CICS system.) The application can trap the following errors at this stage:

For other MQI errors, the application displays the completion and reason codes.

 

Parent topic:

The Queue Attributes sample


fg18390_