Developing MQI applications with IBM MQ
IBM MQ provides support for C, Visual Basic, COBOL, Assembler, RPG, pTAL, and PL/I. These procedural languages use the message queue interface (MQI) to access message queuing services.
For detailed information about how to write the applications in your chosen language, see the subtopics.
For an overview of the call interface for procedural languages, see Call descriptions. This topic contains a list of the MQI calls, and each call shows you how to code the calls in each of these languages.
IBM MQ provides data definition files to help you to write the applications. For a full description, see IBM MQ data definition files.
To help you choose which procedural language to code your programs in, consider the maximum length of the messages that your programs will process. If your programs will process only messages of a known maximum length, we can code them in any of the supported languages. If you do not know the maximum length of the messages that the programs will have to process, the language you choose will depend on whether we are writing a CICS, IMS, or batch application:
- IMS and batch
- Code the programs in C, PL/I, or assembler language to use the facilities these languages offer for obtaining and releasing arbitrary amounts of memory. Alternatively, you could code your programs in COBOL, but use assembler language, PL/I, or C subroutines to get and release storage.
- CICS
- Code the programs in any language supported by CICS. The EXEC CICS interface provides the calls for managing memory, if necessary.
- IBM MQ data definition files
IBM MQ provides data definition files to help you to write the applications. - Writing a procedural application for queuing
Use this information to learn about writing queuing applications, connecting to and disconnecting from a queue manager, publish/subscribe, and opening and closing objects. - Writing client procedural applications
What we need to know to write client applications on IBM MQ using a procedural language. - User exits, API exits, and IBM MQ installable services
This topic contains links to information about using and developing these programs. - Building a procedural application
We can write an IBM MQ application in one of several procedural languages, and run the application on several different platforms. - Handling procedural program errors
This information explains errors associated with the applications MQI calls either when it makes a call, or when its message is delivered to its final destination. - Multicast programming
Use this information to learn about the IBM MQ Multicast programming tasks such as connecting to a queue manager and exception reporting. - Coding in C
Note the information in the following sections when coding IBM MQ programs in C. - Coding in Visual Basic
Information to consider when coding IBM MQ programs in Microsoft Visual Basic. Visual Basic is supported only on Windows. - Coding in COBOL
Note the information in the following section when coding IBM MQ programs in COBOL. - Coding in System/390 assembler language (Message queue interface)
Note the information in the following sections when coding IBM MQ for z/OS programs in assembler language. - Coding IBM MQ programs in RPG (IBM i only)
In the IBM MQ documentation, the parameters of calls, the names of data types, the fields of structures, and the names of constants are all described using their long names. In RPG, these names are abbreviated to six or fewer uppercase characters. - Coding in pTAL (HP Integrity NonStop Server only)
Note the information in the following section when coding IBM MQ programs in pTAL, for use with HP Integrity NonStop Server. - Coding in PL/I (z/OS only)
Useful information when coding for IBM MQ in PL/I. - Use the IBM MQ sample procedural programs
These sample programs are written in procedural languages, and demonstrate typical uses of the Message Queue Interface (MQI). IBM MQ programs on different platforms.
Related concepts
Related information