Application Programming Guide
- Application Programming Guide
- About this book
- Who this book is for
- What we need to know to understand this book
- How to use this book
- Appearance of text in this book
- Terms used in this book
- Summary of changes
- Changes for this edition (plug-in version 6.0.2.11)
- Changes for the previous edition (SC34-6595-01)
- Designing applications that use WebSphere MQ
- Introduction to message queuing
- What is message queuing?
- What is a message?
- Message descriptor
- Message channel agent
- What is a message queue?
- What is a queue manager?
- What is a cluster?
- What is a shared queue, a queue-sharing group, and intra-group queuing?
- What is a WebSphere MQ client?
- Main features of message queuing
- WebSphere MQ clients and servers
- Benefits of message queuing to the application designer and developer
- What can you do with WebSphere MQ products?
- WebSphere MQ for z/OS
- WebSphere MQ for non-z/OS platforms
- Overview of application design
- Planning your design
- Using WebSphere MQ objects
- Designing your messages
- WebSphere MQ techniques
- Waiting for messages
- Correlating replies
- Set and using context information
- Starting WebSphere MQ programs automatically
- Generating WebSphere MQ reports
- Clusters and message affinities
- Application programming
- Call interface
- Design for performance: hints and tips
- Programming platforms
- Applications for more than one platform
- Testing WebSphere MQ applications
- WebSphere MQ messages
- Message descriptor
- Types of message
- Datagrams
- Request messages
- Reply messages
- Report messages
- Types of report message
- Report message options
- Reports and segmented messages
- For reports generated by WebSphere MQ
- For reports generated by applications
- Retrieval of reports
- Back-level queue managers
- Format of message control information and message data
- Format of message control information
- Format of message data
- Application data conversion
- Conversion at the sending queue manager
- Built-in formats
- Application-defined formats
- Conversion at the receiving queue manager
- Coded character sets
- Message priorities
- Message groups
- Message persistence
- Selecting messages from queues
- Messages that fail to be delivered
- Messages that are backed out
- Reply-to queue and queue manager
- Message context
- Identity context
- Origin context
- WebSphere MQ objects
- Queue managers
- Attributes of queue managers
- Queue managers and workload management
- Queue-sharing groups
- Queues
- Types of queue
- Types of local queue
- Attributes of queues
- Remote queues
- Alias queues
- Model queues
- Dynamic queues
- Properties of temporary dynamic queues
- Properties of permanent dynamic queues
- Uses of dynamic queues
- Recommendations for uses of dynamic queues
- Transmission queues
- Initiation queues
- Dead-letter (undelivered message) queues
- System command queues
- System default queues
- Namelists
- Process definitions
- Authentication information objects
- Channels
- Storage classes
- Listeners
- Services
- Rules for naming WebSphere MQ objects
- Queue names
- Process definition, authentication information object, and namelist names
- Channel names
- Reserved object names
- Handling program errors
- Locally determined errors
- Failure of an MQI call
- System interruptions
- Messages containing incorrect data
- Using report messages for problem determination
- Creating report messages
- Requesting and receiving (MQGET) report messages
- Remotely determined errors
- Problems delivering a message
- Retry message delivery
- Return message to sender
- Using the dead-letter (undelivered message) queue
- Dead-letter queue processing
- Writing a WebSphere MQ application
- Introducing the Message Queue Interface
- What is in the MQI?
- Calls
- Syncpoint calls
- WebSphere MQ for z/OS calls
- i5/OS calls
- WebSphere MQ calls on other platforms
- Data conversion
- Structures
- Elementary data types
- WebSphere MQ data definitions
- WebSphere MQ stub programs and library files
- WebSphere MQ for z/OS
- WebSphere MQ for iSeries
- WebSphere MQ for Windows
- WebSphere MQ for AIX
- WebSphere MQ for HP-UX
- PA-RISC platform
- IA64 (IPF) platform
- WebSphere MQ for Linux
- WebSphere MQ for Solaris
- Parameters common to all the calls
- Using connection and object handles
- Understanding return codes
- Specifying buffers
- Programming language considerations
- Coding in C
- Parameters of the MQI calls
- Parameters with undefined data type
- Data types
- Manipulating binary strings
- Manipulating character strings
- Initial values for structures
- Initial values for dynamic structures
- Use from C++
- Coding in COBOL
- Named constants
- Coding in System/390 assembler language
- Names
- Using the MQI calls
- Declaring constants
- Specifying the name of a structure
- Specifying the form of a structure
- Controlling the listing
- Specifying initial values for fields
- Writing reenterable programs
- Using CEDF
- Coding in RPG
- Coding in PL/I
- Structures
- Named constants
- Coding in Visual Basic
- z/OS batch considerations
- UNIX signal handling
- Unthreaded applications
- Threaded applications
- Synchronous signals
- Asynchronous signals
- Additional considerations for threaded client applications
- Additional considerations
- Fastpath (trusted) applications
- MQI function calls within signal handlers
- Signals during MQI calls
- User exits and installable services
- VMS exit handlers
- Connecting to and disconnecting from a queue manager
- Connecting to a queue manager using the MQCONN call
- Scope of MQCONN or MQCONNX
- Connecting to a queue manager using the MQCONNX call
- Restrictions for trusted applications
- Shared (thread independent) connections with MQCONNX
- Shared connection usage notes
- MQCONNX environment variable
- Disconnecting programs from a queue manager using MQDISC
- When no MQDISC is issued
- Authority checking
- Opening and closing objects
- Opening objects using the MQOPEN call
- Scope of an object handle
- Identifying objects (the MQOD structure)
- Name resolution
- Using the options of the MQOPEN call
- MQOPEN option for cluster queue
- MQOPEN option for putting messages
- MQOPEN option for browsing messages
- MQOPEN options for removing messages
- MQOPEN options for setting and inquiring about attributes
- MQOPEN options relating to message context
- MQOPEN option for alternate user authority
- MQOPEN option for queue manager quiescing
- MQOPEN option for resolving local queue names
- Creating dynamic queues
- Opening remote queues
- Closing objects using the MQCLOSE call
- Putting messages on a queue
- Putting messages on a local queue using the MQPUT call
- Specifying handles
- Defining messages using the MQMD structure
- Specifying options using the MQPMO structure
- The data in your message
- Putting messages on a remote queue
- Controlling context information
- Passing identity context
- Passing all context
- Set identity context
- Set all context
- Putting one message on a queue using the MQPUT1 call
- Distribution lists
- Opening distribution lists
- Using the MQOD structure
- Using the MQOR structure
- Using the MQRR structure
- Using the MQOPEN options
- Putting messages to a distribution list
- Using the MQPMR structure
- Using MQPUT1
- Some cases where the put calls fail
- Getting messages from a queue
- Getting messages from a queue using the MQGET call
- Specifying connection handles
- Describing messages using the MQMD structure and the MQGET call
- Specifying MQGET options using the MQGMO structure
- Specifying the size of the buffer area
- The order in which messages are retrieved from a queue
- Priority
- Logical and physical ordering
- Grouping logical messages
- Putting and getting a group that spans units of work
- Getting a particular message
- Type of index
- Handling messages greater than 4 MB long
- Increasing the maximum message length
- Message segmentation
- Segmentation and reassembly by queue manager
- Application segmentation
- Application segmentation of logical messages
- Putting and getting a segmented message that spans units of work
- Reference messages
- Using the MQRMH and MQMD structures
- Waiting for messages
- Signaling
- To set a signal
- When the message arrives
- Skipping backout
- Application data conversion
- Conversion of EBCDIC newline characters
- Browsing messages on a queue
- The browse cursor
- Queues in FIFO (first in, first out) sequence
- Queues in priority sequence
- Uncommitted messages
- Change to queue sequence
- Using the queue's index
- Browsing messages when the message length is unknown
- Removing a message that you have browsed
- Browsing messages in logical order
- Browsing messages in groups
- Browsing and retrieving destructively
- Some cases where the MQGET call fails
- Writing data-conversion exits
- Invoking the data-conversion exit
- Data conversion on z/OS
- Writing a data-conversion exit program
- Skeleton source file
- Convert characters call
- Utility for creating conversion-exit code
- Invoking the CSQUCVX utility on z/OS
- z/OS data definition statements
- Error messages in Windows systems, and UNIX systems
- Valid syntax
- Example of valid syntax for the input data set
- COBOL
- System/390 assembler
- PL/I
- Writing a data-conversion exit program for WebSphere MQ for iSeries
- Writing a data-conversion exit program for WebSphere MQ for z/OS
- Writing a data-conversion exit for WebSphere MQ on UNIX systems
- UNIX environment
- Non-threaded environment
- Threaded environment
- Compiling data-conversion exits on UNIX and Linux
- On AIX
- 32 bit applications
- Non-threaded
- Threaded
- 64 bit applications
- Non-threaded
- Threaded
- On HP-UX
- PA-RISC platform
- 32 bit applications
- Non-threaded
- Threaded
- 64 bit applications
- Non-threaded
- Threaded
- Itanium platform
- 32 bit applications
- Non-threaded
- Threaded
- 64 bit applications
- Non-threaded
- Threaded
- On Linux
- 31 bit applications (zSeries platform)
- Non-threaded
- Threaded
- 32 bit applications
- Non-threaded
- Threaded
- 64 bit applications
- Non-threaded
- Threaded
- On Solaris
- SPARC platform
- 32 bit applications
- 64 bit applications
- x86-64 platform
- 32 bit applications
- 64 bit applications
- Writing a data-conversion exit for WebSphere MQ for Windows
- Inquiring about and setting object attributes
- Inquiring about the attributes of an object
- Some cases where the MQINQ call fails
- Set queue attributes
- Committing and backing out units of work
- Syncpoint considerations in WebSphere MQ applications
- Syncpoints in WebSphere MQ for z/OS applications
- Syncpoints in CICS Transaction Server for OS/390 and CICS for MVS/ESA applications
- Syncpoints in IMS applications
- Syncpoints in z/OS batch applications
- Committing changes using the MQCMIT call
- Backing out changes using the MQBACK call
- Transaction management and recoverable resource manager services
- RRS availability
- DB2 stored procedures
- Syncpoints in CICS for AS/400 applications
- Syncpoints in WebSphere MQ for Windows, WebSphere MQ for iSeries, and WebSphere MQ on UNIX systems
- Local units of work
- Global units of work
- Internal syncpoint coordination
- External syncpoint coordination
- Interfaces to external syncpoint managers
- Interfaces to the i5/OS external syncpoint manager
- Starting WebSphere MQ applications using triggers
- What is triggering?
- Prerequisites for triggering
- Conditions for a trigger event
- Controlling trigger events
- Example of the use of trigger type EVERY
- Example of the use of trigger type FIRST
- Example of the use of trigger type DEPTH
- Special case of trigger type FIRST
- Designing an application that uses triggered queues
- Trigger messages and units of work
- Getting messages from a triggered queue
- Trigger monitors
- Trigger monitors on z/OS
- Trigger monitors on UNIX and Windows systems
- For CICS:
- WebSphere MQ for iSeries trigger monitors
- Properties of trigger messages
- Persistence and priority of trigger messages
- Queue manager restart and trigger messages
- Trigger messages and changes to object attributes
- Format of trigger messages
- When triggering does not work
- How CKTI detects errors
- How CSQQTRMN detects errors
- How RUNMQTRM detects errors
- Using and writing API exits
- Introducing API exits
- Why use API exits
- How you use API exits
- How to configure WebSphere MQ for API exits
- How to write an API exit
- What happens when an API exit runs?
- Compiling API exits
- On Solaris
- SPARC platform
- 32 bit applications
- 64 bit applications
- x86-64 platform
- 32 bit applications
- 64 bit applications
- On AIX
- 32 bit applications
- Non-threaded
- Threaded
- 64 bit applications
- Non-threaded
- Threaded
- On HP-UX
- PA-RISC platform
- 32 bit applications
- Non-threaded
- Threaded
- 64 bit applications
- Non-threaded
- Threaded
- Itanium platform
- 32 bit applications
- Non-threaded
- Threaded
- 64 bit applications
- Non-threaded
- Threaded
- On Linux
- 31 bit applications (zSeries platform)
- Non-threaded
- Threaded
- 32 bit applications
- Non-threaded
- Threaded
- 64 bit applications
- Non-threaded
- Threaded
- On Windows systems
- On i5/OS
- Reference information
- External control blocks
- WebSphere MQ API exit parameter structure (MQAXP)
- How queue managers process exit functions
- WebSphere MQ API exit context structure (MQAXC)
- The exit chain area and exit chain area header (MQACH)
- External constants
- C language typedefs
- The exit entry point registration call (MQXEP)
- MQXEP C language invocation
- MQXEP C function prototype
- Invoking exit functions
- General rules for API exit routines
- The execution environment
- Set up the exit execution environment
- Cleaning up the exit execution environment
- The API exit functions
- Backout - MQ_BACK_EXIT
- C language invocation
- Begin - MQ_BEGIN_EXIT
- C language invocation
- Close - MQ_CLOSE_EXIT
- C language invocation
- Commit - MQ_CMIT_EXIT
- C language invocation
- Connect and connect extension - MQ_CONNX_EXIT
- C language invocation
- Disconnect - MQ_DISC_EXIT
- C language invocation
- Get - MQ_GET_EXIT
- C language invocation
- Initialization - MQ_INIT_EXIT
- C language invocation
- Inquire - MQ_INQ_EXIT
- C language invocation
- Open - MQ_OPEN_EXIT
- C language invocation
- Put - MQ_PUT_EXIT
- C language invocation
- Put1 - MQ_PUT1_EXIT
- C language invocation
- Set - MQ_SET_EXIT
- C language invocation
- Termination - MQ_TERM_EXIT
- C language invocation
- General information on invoking exit functions
- What happens when exits fail
- Example error handling for exit functions
- What if the ExitResponse fields are incorrectly set
- Using and writing applications on WebSphere MQ for z/OS
- Environment-dependent WebSphere MQ for z/OS functions
- Program debugging facilities
- Syncpoint support
- Recovery support
- The WebSphere MQ for z/OS interface with the application environment
- The batch adapter
- RRS batch adapter
- Migration
- The CICS adapter
- CICS adapter performance considerations
- Adapter trace points
- Abends
- CICS AEY9 abends
- QLOP abends
- Using the CICS Execution Diagnostic Facility
- The IMS adapter
- Writing z/OS UNIX System Services applications
- The API-crossing exit for z/OS
- Using the API-crossing exit
- Defining the exit program
- How the exit is invoked
- Communicating with the exit program
- Writing your own exit program
- Usage notes
- The sample API-crossing exit program, CSQCAPX
- Design of the sample exit program
- Preparing and using the API-crossing exit
- WebSphere MQ Workflow
- Application programming with shared queues
- Serializing your applications
- Applications that are not suitable for use with shared queues
- Deciding whether to share non-application queues
- Migrating your existing applications to use shared queues
- Using and writing WebSphere MQ-CICS bridge applications for z/OS
- Distributed program link applications
- Using CICS DPL programs with the bridge
- CICS DPL bridge message structure
- Application programming for the CICS DPL bridge
- Programming CICS DPL transactions in the distributed environment
- Set fields in the MQMD and MQCIH structures (DPL)
- Set the MQMD fields
- Set the MQCIH fields
- Managing MsgId and CorrelId in a unit of work (DPL)
- 3270 applications
- Using CICS transactions with the bridge
- Using CICS bridge vectors
- CICS 3270 bridge message structure
- Inbound messages
- Outbound messages
- Application programming for the CICS 3270 bridge
- Example: Invoking CEMT I TASK from an application
- Defining variables
- Writing applications using CICS Basic Mapping Support
- Interpreting outbound SEND MAP and RECEIVE MAP vectors
- SEND MAP vectors
- RECEIVE MAP vectors
- Example of an ADSDL and an ADS
- Transactions with start data
- Transactions with EXEC CICS syncpoint
- Programming CICS transactions in the distributed environment
- From 3270 legacy to 3270 bridge - an example
- Exact emulation - no optimization
- Improved emulation, with optimization
- Set fields in the MQMD and MQCIH structures (3270)
- Set the MQMD fields
- Set the MQCIH fields
- Managing MsgId and CorrelId in a unit of work (3270)
- Information applicable to both DPL and 3270
- Set the open options and put message options for the bridge request queue
- Error handling by the CICS bridge
- Debugging CICS bridge applications
- Application data structure terminology
- IMS and IMS Bridge applications on WebSphere MQ for z/OS
- Writing IMS applications using WebSphere MQ
- Syncpoints in IMS applications
- MQI calls in IMS applications
- Server applications
- Enquiry applications
- Writing WebSphere MQ-IMS bridge applications
- How the WebSphere MQ-IMS bridge deals with messages
- Mapping WebSphere MQ messages to IMS transaction types
- If the message cannot be put to the IMS queue
- IMS bridge feedback codes
- The MQMD fields in messages from the IMS bridge
- The MQIIH fields in messages from the IMS bridge
- Reply messages from IMS
- Using alternate response PCBs in IMS transactions
- Sending unsolicited messages from IMS
- Message segmentation
- Data conversion
- Sending messages to the WebSphere MQ-IMS bridge
- Receiving messages from the WebSphere MQ-IMS bridge
- Writing your program
- Writing WebSphere MQ applications to invoke IMS conversational transactions
- Triggering
- Writing programs containing IMS commands
- Object-oriented programming with WebSphere MQ
- What is in the WebSphere MQ Object Model?
- Classes
- Object references
- Return codes
- Programming language considerations
- Coding in C++
- Coding in Java
- Coding in ActiveX
- Building a WebSphere MQ application
- Building your application on AIX
- Preparing C programs
- Linking libraries
- Preparing COBOL programs
- Preparing COBOL programs using IBM COBOL Set for AIX
- Preparing COBOL programs using Micro Focus COBOL
- Preparing CICS programs
- TXSeries CICS support
- Preparing CICS COBOL programs using IBM COBOL Set for AIX
- Preparing CICS COBOL programs using Micro Focus COBOL
- Preparing CICS C programs
- CICS C sample transaction
- Building your application on HP-UX
- Preparing C programs
- PA-RISC platform
- IA64 (IPF) platform
- Linking libraries
- Preparing COBOL programs
- Using Micro Focus Server Express with WebSphere MQ on the IA64 (IPF) platform
- Programs to run in the WebSphere MQ client environment
- Preparing CICS programs
- TXSeries CICS support
- CICS C sample transaction
- Preparing CICS COBOL programs using Micro Focus COBOL
- Address Space models supported by WebSphere MQ for HP-UX on IA64 (IPF)
- Building your application on Linux
- Preparing C programs
- Building 31-bit applications
- Building 32-bit applications
- Building 64-bit applications
- Linking libraries
- Preparing COBOL programs
- Preparing COBOL programs using Micro Focus COBOL
- Building your application on i5/OS
- Preparing C programs
- Preparing COBOL programs
- Preparing CICS programs
- Preparing RPG programs
- SQL programming considerations
- i5/OS programming considerations
- QMQM activation group
- Building your application on Solaris
- Preparing C programs
- Building applications on x86-64
- Building applications on SPARC
- Linking libraries
- Preparing COBOL programs
- Preparing CICS programs
- TXSeries CICS support
- Preparing CICS COBOL programs using Micro Focus COBOL
- Preparing CICS C programs
- CICS C sample transaction
- Building your application on Windows systems
- Preparing C programs
- Preparing CICS and Transaction Server programs
- Preparing COBOL programs
- Preparing CICS and Transaction Server programs
- Preparing Visual Basic programs
- SSPI security exit
- Introduction to security exits
- What the security exit does
- WebSphere MQ access control and Windows principals
- Building your application on z/OS
- Preparing your program to run
- Building z/OS batch applications
- Building CICS applications
- Building IMS (BMP or MPP) applications
- Building z/OS UNIX System Services applications
- Dynamically calling the WebSphere MQ stub
- Debugging your programs
- Debugging CICS programs
- CICS trace
- Debugging TSO programs
- Using lightweight directory access protocol services with WebSphere MQ for Windows
- What is a directory service?
- What is LDAP?
- Using LDAP with WebSphere MQ
- LDAP sample program
- Building the sample program
- Configuring the directory
- Configuring the IBM eNetwork LDAP server
- Configuring the Netscape directory server
- Running the sample program
- Program design
- Sample WebSphere MQ programs
- Sample programs (all platforms except z/OS)
- Features demonstrated in the sample programs
- Samples for Linux and UNIX systems
- Samples for WebSphere MQ for Windows
- Visual Basic samples for WebSphere MQ for Windows
- Samples for WebSphere MQ for iSeries
- Preparing and running the sample programs
- i5/OS
- UNIX systems
- Windows systems
- Running the sample programs
- On all platforms except i5/OS
- On i5/OS
- Length of queue name
- Inquire, Set, and Echo examples
- The Put sample programs
- Running the amqsput and amqsputc samples
- Running the amq0put sample
- Running the AMQSPUT4 C sample
- Running the AMQ0PUT4 COBOL sample
- Design of the Put sample program
- The Distribution List sample program
- Running the Distribution List sample, amqsptl0
- Design of the Distribution List sample
- The Browse sample programs
- UNIX systems and Windows systems
- i5/OS
- Design of the Browse sample program
- The Browser sample program
- The Get sample programs
- Running the amqsget and amqsgetc samples
- Running the amq0get sample
- Running the AMQSGET4 and the AMQ0GET4 samples
- Design of the Get sample program
- The Reference Message sample programs
- Notes for i5/OS users
- Running the Reference Message samples
- Design of the Put Reference Message sample (amqsprma.c, AMQSPRM4)
- Design of the Reference Message Exit sample (amqsxrma.c, AMQSXRM4)
- Compiling the Reference Message Exit sample
- On AIX
- On HP-UX
- On Linux
- On i5/OS
- On Solaris
- On Windows systems
- Design of the Get Reference Message sample (amqsgrma.c, AMQSGRM4)
- The Request sample programs
- Running the amqsreq0.c, amqsreq, and amqsreqc samples
- Running the amq0req0.cbl sample
- Running the AMQSREQ4 sample
- Running the AMQ0REQ4 sample
- Running the Request sample using triggering
- UNIX systems, and Windows systems
- i5/OS
- Design of the Request sample program
- The Inquire sample programs
- Design of the Inquire sample program
- The Set sample programs
- Design of the Set sample program
- The Echo sample programs
- Design of the Echo sample programs
- The Data-Conversion sample program
- Design of the data-conversion sample
- The Triggering sample programs
- Running the amqstrg0.c, amqstrg, and amqstrgc samples
- Running the AMQSTRG4 sample
- Design of the triggering sample
- Running the AMQSERV4 sample
- Design of the trigger server
- Ending the triggering sample programs on i5/OS
- Running the samples using remote queues
- Database coordination samples
- Creating the databases and tables
- Precompiling, compiling, and linking the samples
- Precompiling in C
- Precompiling in COBOL
- Compiling and linking
- Running the samples
- C samples
- COBOL samples
- The CICS transaction sample
- TUXEDO samples
- Building the server environment
- To build the server environment for WebSphere MQ for AIX:
- To build the server environment for WebSphere MQ for Solaris:
- To build the server environment for WebSphere MQ for HP-UX:
- To build the server environment for WebSphere MQ for Windows:
- Server sample program for TUXEDO
- Put sample program for TUXEDO
- Get sample for TUXEDO
- Encina sample program
- Building the AMQSXAE0.C sample
- Dead-letter queue handler sample
- The Connect sample program
- Running the amqscnxc sample
- The API exit sample program
- Configuring for the sample exit
- Using the SSPI security exit on Windows systems
- Object code
- Source code
- Sample programs for WebSphere MQ for z/OS
- Features demonstrated in the sample applications
- Put samples
- Get samples
- Browse sample
- Print Message sample
- Queue Attributes sample
- Mail Manager sample
- Credit Check sample
- The Message Handler sample
- Distributed queuing exit samples
- Data-conversion exit samples
- Preparing and running sample applications for the batch environment
- Names of the sample batch applications
- Preparing sample applications for the TSO environment
- Names of the sample TSO applications
- Preparing the sample applications for the CICS environment
- QLOP abend
- Names of the sample CICS applications
- Preparing the sample application for the IMS environment
- Names of the sample IMS application
- The Put samples
- Design of the Put sample
- The Put samples for the batch environment
- Usage notes
- The Put samples for the CICS environment
- Usage notes
- The Get samples
- Design of the Get sample
- The Get samples for the batch environment
- Usage notes
- The Get samples for the CICS environment
- Usage notes
- The Browse sample
- Design of the Browse sample
- Language-dependent design considerations
- The Print Message sample
- Design of the sample
- The Queue Attributes sample
- Design of the sample
- The Mail Manager sample
- Preparing the sample
- Preparing the sample for the TSO environment
- Running the sample
- Design of the sample
- Menu program
- Get-mail and display-message programs
- Send-mail program
- Nickname program
- The Credit Check sample
- Preparing and running the Credit Check sample
- Entering information in the inquiry panels
- Design of the sample
- User interface program (CSQ4CVB1)
- Credit application manager (CSQ4CVB2)
- Startup logic
- Getting a message
- Processing the message retrieved
- Sending an answer
- Recovery of partially-completed inquiries
- Checking-account program (CSQ4CVB3)
- Distribution program (CSQ4CVB4)
- Agency-query program (CSQ4CVB5/CSQ4CCB5)
- Design considerations
- Separate inquiry and reply queues in the CAM
- How the sample handles errors
- How the sample handles unexpected messages
- How the sample uses syncpoints
- How the sample uses message context information
- Use of message and correlation identifiers in the CAM
- The Credit Check sample with multiple queue managers
- The IMS extension to the Credit Check sample
- Design of the IMS checking-account program (CSQ4ICB3)
- The Message Handler sample
- Preparing and running the sample
- Using the sample
- Design of the sample
- Object validation program
- Message list program
- Message content program
- C language examples
- Connecting to a queue manager
- Disconnecting from a queue manager
- Creating a dynamic queue
- Opening an existing queue
- Closing a queue
- Putting a message using MQPUT
- Putting a message using MQPUT1
- Getting a message
- Getting a message using the wait option
- Getting a message using signaling
- Inquiring about the attributes of an object
- Set the attributes of a queue
- COBOL examples
- Connecting to a queue manager
- Disconnecting from a queue manager
- Creating a dynamic queue
- Opening an existing queue
- Closing a queue
- Putting a message using MQPUT
- Putting a message using MQPUT1
- Getting a message
- Getting a message using the wait option
- Getting a message using signaling
- Inquiring about the attributes of an object
- Set the attributes of a queue
- System/390 assembler-language examples
- Connecting to a queue manager
- Disconnecting from a queue manager
- Creating a dynamic queue
- Opening an existing queue
- Closing a queue
- Putting a message using MQPUT
- Putting a message using MQPUT1
- Getting a message
- Getting a message using the wait option
- Getting a message using signaling
- Inquiring about and setting the attributes of a queue
- PL/I examples
- Connecting to a queue manager
- Disconnecting from a queue manager
- Creating a dynamic queue
- Opening an existing queue
- Closing a queue
- Putting a message using MQPUT
- Putting a message using MQPUT1
- Getting a message
- Getting a message using the wait option
- Getting a message using signaling
- Inquiring about the attributes of an object
- Set the attributes of a queue
- WebSphere MQ data definition files
- C language include files
- Visual Basic module files
- COBOL copy files
- System/390 assembler-language macros
- PL/I include files
- Coding standards on 64 bit platforms
- Preferred data types
- Standard data types
- 32-bit UNIX applications
- 64-bit UNIX applications
- Windows 64–bit applications
- Coding considerations on Windows
- HANDLE hf;
- size_t len fgets
- printf
- char *ptr
- alignBytes
- alignBytes
- len
- sscanf
- Programming interface information
- Trademarks