Application Programming Guide

  1. Application Programming Guide

  2. About this book

  3. Who this book is for

  4. What we need to know to understand this book

  5. How to use this book

  6. Appearance of text in this book

  7. Terms used in this book

  8. Summary of changes

  9. Changes for this edition (plug-in version 6.0.2.11)

  10. Changes for the previous edition (SC34-6595-01)

  11. Designing applications that use WebSphere MQ

  12. Introduction to message queuing

  13. What is message queuing?

  14. What is a message?

  15. Message descriptor

  16. Message channel agent

  17. What is a message queue?

  18. What is a queue manager?

  19. What is a cluster?

  20. What is a shared queue, a queue-sharing group, and intra-group queuing?

  21. What is a WebSphere MQ client?

  22. Main features of message queuing

  23. WebSphere MQ clients and servers

  24. Benefits of message queuing to the application designer and developer

  25. What can you do with WebSphere MQ products?

  26. WebSphere MQ for z/OS

  27. WebSphere MQ for non-z/OS platforms

  28. Overview of application design

  29. Planning your design

  30. Using WebSphere MQ objects

  31. Designing your messages

  32. WebSphere MQ techniques

  33. Waiting for messages

  34. Correlating replies

  35. Set and using context information

  36. Starting WebSphere MQ programs automatically

  37. Generating WebSphere MQ reports

  38. Clusters and message affinities

  39. Application programming

  40. Call interface

  41. Design for performance: hints and tips

  42. Programming platforms

  43. Applications for more than one platform

  44. Testing WebSphere MQ applications

  45. WebSphere MQ messages

  46. Message descriptor

  47. Types of message

  48. Datagrams

  49. Request messages

  50. Reply messages

  51. Report messages

  52. Types of report message

  53. Report message options

  54. Reports and segmented messages

  55. For reports generated by WebSphere MQ

  56. For reports generated by applications

  57. Retrieval of reports

  58. Back-level queue managers

  59. Format of message control information and message data

  60. Format of message control information

  61. Format of message data

  62. Application data conversion

  63. Conversion at the sending queue manager

  64. Built-in formats

  65. Application-defined formats

  66. Conversion at the receiving queue manager

  67. Coded character sets

  68. Message priorities

  69. Message groups

  70. Message persistence

  71. Selecting messages from queues

  72. Messages that fail to be delivered

  73. Messages that are backed out

  74. Reply-to queue and queue manager

  75. Message context

  76. Identity context

  77. Origin context

  78. WebSphere MQ objects

  79. Queue managers

  80. Attributes of queue managers

  81. Queue managers and workload management

  82. Queue-sharing groups

  83. Queues

  84. Types of queue

  85. Types of local queue

  86. Attributes of queues

  87. Remote queues

  88. Alias queues

  89. Model queues

  90. Dynamic queues

  91. Properties of temporary dynamic queues

  92. Properties of permanent dynamic queues

  93. Uses of dynamic queues

  94. Recommendations for uses of dynamic queues

  95. Transmission queues

  96. Initiation queues

  97. Dead-letter (undelivered message) queues

  98. System command queues

  99. System default queues

  100. Namelists

  101. Process definitions

  102. Authentication information objects

  103. Channels

  104. Storage classes

  105. Listeners

  106. Services

  107. Rules for naming WebSphere MQ objects

  108. Queue names

  109. Process definition, authentication information object, and namelist names

  110. Channel names

  111. Reserved object names

  112. Handling program errors

  113. Locally determined errors

  114. Failure of an MQI call

  115. System interruptions

  116. Messages containing incorrect data

  117. Using report messages for problem determination

  118. Creating report messages

  119. Requesting and receiving (MQGET) report messages

  120. Remotely determined errors

  121. Problems delivering a message

  122. Retry message delivery

  123. Return message to sender

  124. Using the dead-letter (undelivered message) queue

  125. Dead-letter queue processing

  126. Writing a WebSphere MQ application

  127. Introducing the Message Queue Interface

  128. What is in the MQI?

  129. Calls

  130. Syncpoint calls

  131. WebSphere MQ for z/OS calls

  132. i5/OS calls

  133. WebSphere MQ calls on other platforms

  134. Data conversion

  135. Structures

  136. Elementary data types

  137. WebSphere MQ data definitions

  138. WebSphere MQ stub programs and library files

  139. WebSphere MQ for z/OS

  140. WebSphere MQ for iSeries

  141. WebSphere MQ for Windows

  142. WebSphere MQ for AIX

  143. WebSphere MQ for HP-UX

  144. PA-RISC platform

  145. IA64 (IPF) platform

  146. WebSphere MQ for Linux

  147. WebSphere MQ for Solaris

  148. Parameters common to all the calls

  149. Using connection and object handles

  150. Understanding return codes

  151. Specifying buffers

  152. Programming language considerations

  153. Coding in C

  154. Parameters of the MQI calls

  155. Parameters with undefined data type

  156. Data types

  157. Manipulating binary strings

  158. Manipulating character strings

  159. Initial values for structures

  160. Initial values for dynamic structures

  161. Use from C++

  162. Coding in COBOL

  163. Named constants

  164. Coding in System/390 assembler language

  165. Names

  166. Using the MQI calls

  167. Declaring constants

  168. Specifying the name of a structure

  169. Specifying the form of a structure

  170. Controlling the listing

  171. Specifying initial values for fields

  172. Writing reenterable programs

  173. Using CEDF

  174. Coding in RPG

  175. Coding in PL/I

  176. Structures

  177. Named constants

  178. Coding in Visual Basic

  179. z/OS batch considerations

  180. UNIX signal handling

  181. Unthreaded applications

  182. Threaded applications

  183. Synchronous signals

  184. Asynchronous signals

  185. Additional considerations for threaded client applications

  186. Additional considerations

  187. Fastpath (trusted) applications

  188. MQI function calls within signal handlers

  189. Signals during MQI calls

  190. User exits and installable services

  191. VMS exit handlers

  192. Connecting to and disconnecting from a queue manager

  193. Connecting to a queue manager using the MQCONN call

  194. Scope of MQCONN or MQCONNX

  195. Connecting to a queue manager using the MQCONNX call

  196. Restrictions for trusted applications

  197. Shared (thread independent) connections with MQCONNX

  198. Shared connection usage notes

  199. MQCONNX environment variable

  200. Disconnecting programs from a queue manager using MQDISC

  201. When no MQDISC is issued

  202. Authority checking

  203. Opening and closing objects

  204. Opening objects using the MQOPEN call

  205. Scope of an object handle

  206. Identifying objects (the MQOD structure)

  207. Name resolution

  208. Using the options of the MQOPEN call

  209. MQOPEN option for cluster queue

  210. MQOPEN option for putting messages

  211. MQOPEN option for browsing messages

  212. MQOPEN options for removing messages

  213. MQOPEN options for setting and inquiring about attributes

  214. MQOPEN options relating to message context

  215. MQOPEN option for alternate user authority

  216. MQOPEN option for queue manager quiescing

  217. MQOPEN option for resolving local queue names

  218. Creating dynamic queues

  219. Opening remote queues

  220. Closing objects using the MQCLOSE call

  221. Putting messages on a queue

  222. Putting messages on a local queue using the MQPUT call

  223. Specifying handles

  224. Defining messages using the MQMD structure

  225. Specifying options using the MQPMO structure

  226. The data in your message

  227. Putting messages on a remote queue

  228. Controlling context information

  229. Passing identity context

  230. Passing all context

  231. Set identity context

  232. Set all context

  233. Putting one message on a queue using the MQPUT1 call

  234. Distribution lists

  235. Opening distribution lists

  236. Using the MQOD structure

  237. Using the MQOR structure

  238. Using the MQRR structure

  239. Using the MQOPEN options

  240. Putting messages to a distribution list

  241. Using the MQPMR structure

  242. Using MQPUT1

  243. Some cases where the put calls fail

  244. Getting messages from a queue

  245. Getting messages from a queue using the MQGET call

  246. Specifying connection handles

  247. Describing messages using the MQMD structure and the MQGET call

  248. Specifying MQGET options using the MQGMO structure

  249. Specifying the size of the buffer area

  250. The order in which messages are retrieved from a queue

  251. Priority

  252. Logical and physical ordering

  253. Grouping logical messages

  254. Putting and getting a group that spans units of work

  255. Getting a particular message

  256. Type of index

  257. Handling messages greater than 4 MB long

  258. Increasing the maximum message length

  259. Message segmentation

  260. Segmentation and reassembly by queue manager

  261. Application segmentation

  262. Application segmentation of logical messages

  263. Putting and getting a segmented message that spans units of work

  264. Reference messages

  265. Using the MQRMH and MQMD structures

  266. Waiting for messages

  267. Signaling

  268. To set a signal

  269. When the message arrives

  270. Skipping backout

  271. Application data conversion

  272. Conversion of EBCDIC newline characters

  273. Browsing messages on a queue

  274. The browse cursor

  275. Queues in FIFO (first in, first out) sequence

  276. Queues in priority sequence

  277. Uncommitted messages

  278. Change to queue sequence

  279. Using the queue's index

  280. Browsing messages when the message length is unknown

  281. Removing a message that you have browsed

  282. Browsing messages in logical order

  283. Browsing messages in groups

  284. Browsing and retrieving destructively

  285. Some cases where the MQGET call fails

  286. Writing data-conversion exits

  287. Invoking the data-conversion exit

  288. Data conversion on z/OS

  289. Writing a data-conversion exit program

  290. Skeleton source file

  291. Convert characters call

  292. Utility for creating conversion-exit code

  293. Invoking the CSQUCVX utility on z/OS

  294. z/OS data definition statements

  295. Error messages in Windows systems, and UNIX systems

  296. Valid syntax

  297. Example of valid syntax for the input data set

  298. COBOL

  299. System/390 assembler

  300. PL/I

  301. Writing a data-conversion exit program for WebSphere MQ for iSeries

  302. Writing a data-conversion exit program for WebSphere MQ for z/OS

  303. Writing a data-conversion exit for WebSphere MQ on UNIX systems

  304. UNIX environment

  305. Non-threaded environment

  306. Threaded environment

  307. Compiling data-conversion exits on UNIX and Linux

  308. On AIX

  309. 32 bit applications

  310. Non-threaded

  311. Threaded

  312. 64 bit applications

  313. Non-threaded

  314. Threaded

  315. On HP-UX

  316. PA-RISC platform

  317. 32 bit applications

  318. Non-threaded

  319. Threaded

  320. 64 bit applications

  321. Non-threaded

  322. Threaded

  323. Itanium platform

  324. 32 bit applications

  325. Non-threaded

  326. Threaded

  327. 64 bit applications

  328. Non-threaded

  329. Threaded

  330. On Linux

  331. 31 bit applications (zSeries platform)

  332. Non-threaded

  333. Threaded

  334. 32 bit applications

  335. Non-threaded

  336. Threaded

  337. 64 bit applications

  338. Non-threaded

  339. Threaded

  340. On Solaris

  341. SPARC platform

  342. 32 bit applications

  343. 64 bit applications

  344. x86-64 platform

  345. 32 bit applications

  346. 64 bit applications

  347. Writing a data-conversion exit for WebSphere MQ for Windows

  348. Inquiring about and setting object attributes

  349. Inquiring about the attributes of an object

  350. Some cases where the MQINQ call fails

  351. Set queue attributes

  352. Committing and backing out units of work

  353. Syncpoint considerations in WebSphere MQ applications

  354. Syncpoints in WebSphere MQ for z/OS applications

  355. Syncpoints in CICS Transaction Server for OS/390 and CICS for MVS/ESA applications

  356. Syncpoints in IMS applications

  357. Syncpoints in z/OS batch applications

  358. Committing changes using the MQCMIT call

  359. Backing out changes using the MQBACK call

  360. Transaction management and recoverable resource manager services

  361. RRS availability

  362. DB2 stored procedures

  363. Syncpoints in CICS for AS/400 applications

  364. Syncpoints in WebSphere MQ for Windows, WebSphere MQ for iSeries, and WebSphere MQ on UNIX systems

  365. Local units of work

  366. Global units of work

  367. Internal syncpoint coordination

  368. External syncpoint coordination

  369. Interfaces to external syncpoint managers

  370. Interfaces to the i5/OS external syncpoint manager

  371. Starting WebSphere MQ applications using triggers

  372. What is triggering?

  373. Prerequisites for triggering

  374. Conditions for a trigger event

  375. Controlling trigger events

  376. Example of the use of trigger type EVERY

  377. Example of the use of trigger type FIRST

  378. Example of the use of trigger type DEPTH

  379. Special case of trigger type FIRST

  380. Designing an application that uses triggered queues

  381. Trigger messages and units of work

  382. Getting messages from a triggered queue

  383. Trigger monitors

  384. Trigger monitors on z/OS

  385. Trigger monitors on UNIX and Windows systems

  386. For CICS:

  387. WebSphere MQ for iSeries trigger monitors

  388. Properties of trigger messages

  389. Persistence and priority of trigger messages

  390. Queue manager restart and trigger messages

  391. Trigger messages and changes to object attributes

  392. Format of trigger messages

  393. When triggering does not work

  394. How CKTI detects errors

  395. How CSQQTRMN detects errors

  396. How RUNMQTRM detects errors

  397. Using and writing API exits

  398. Introducing API exits

  399. Why use API exits

  400. How you use API exits

  401. How to configure WebSphere MQ for API exits

  402. How to write an API exit

  403. What happens when an API exit runs?

  404. Compiling API exits

  405. On Solaris

  406. SPARC platform

  407. 32 bit applications

  408. 64 bit applications

  409. x86-64 platform

  410. 32 bit applications

  411. 64 bit applications

  412. On AIX

  413. 32 bit applications

  414. Non-threaded

  415. Threaded

  416. 64 bit applications

  417. Non-threaded

  418. Threaded

  419. On HP-UX

  420. PA-RISC platform

  421. 32 bit applications

  422. Non-threaded

  423. Threaded

  424. 64 bit applications

  425. Non-threaded

  426. Threaded

  427. Itanium platform

  428. 32 bit applications

  429. Non-threaded

  430. Threaded

  431. 64 bit applications

  432. Non-threaded

  433. Threaded

  434. On Linux

  435. 31 bit applications (zSeries platform)

  436. Non-threaded

  437. Threaded

  438. 32 bit applications

  439. Non-threaded

  440. Threaded

  441. 64 bit applications

  442. Non-threaded

  443. Threaded

  444. On Windows systems

  445. On i5/OS

  446. Reference information

  447. External control blocks

  448. WebSphere MQ API exit parameter structure (MQAXP)

  449. How queue managers process exit functions

  450. WebSphere MQ API exit context structure (MQAXC)

  451. The exit chain area and exit chain area header (MQACH)

  452. External constants

  453. C language typedefs

  454. The exit entry point registration call (MQXEP)

  455. MQXEP C language invocation

  456. MQXEP C function prototype

  457. Invoking exit functions

  458. General rules for API exit routines

  459. The execution environment

  460. Set up the exit execution environment

  461. Cleaning up the exit execution environment

  462. The API exit functions

  463. Backout - MQ_BACK_EXIT

  464. C language invocation

  465. Begin - MQ_BEGIN_EXIT

  466. C language invocation

  467. Close - MQ_CLOSE_EXIT

  468. C language invocation

  469. Commit - MQ_CMIT_EXIT

  470. C language invocation

  471. Connect and connect extension - MQ_CONNX_EXIT

  472. C language invocation

  473. Disconnect - MQ_DISC_EXIT

  474. C language invocation

  475. Get - MQ_GET_EXIT

  476. C language invocation

  477. Initialization - MQ_INIT_EXIT

  478. C language invocation

  479. Inquire - MQ_INQ_EXIT

  480. C language invocation

  481. Open - MQ_OPEN_EXIT

  482. C language invocation

  483. Put - MQ_PUT_EXIT

  484. C language invocation

  485. Put1 - MQ_PUT1_EXIT

  486. C language invocation

  487. Set - MQ_SET_EXIT

  488. C language invocation

  489. Termination - MQ_TERM_EXIT

  490. C language invocation

  491. General information on invoking exit functions

  492. What happens when exits fail

  493. Example error handling for exit functions

  494. What if the ExitResponse fields are incorrectly set

  495. Using and writing applications on WebSphere MQ for z/OS

  496. Environment-dependent WebSphere MQ for z/OS functions

  497. Program debugging facilities

  498. Syncpoint support

  499. Recovery support

  500. The WebSphere MQ for z/OS interface with the application environment

  501. The batch adapter

  502. RRS batch adapter

  503. Migration

  504. The CICS adapter

  505. CICS adapter performance considerations

  506. Adapter trace points

  507. Abends

  508. CICS AEY9 abends

  509. QLOP abends

  510. Using the CICS Execution Diagnostic Facility

  511. The IMS adapter

  512. Writing z/OS UNIX System Services applications

  513. The API-crossing exit for z/OS

  514. Using the API-crossing exit

  515. Defining the exit program

  516. How the exit is invoked

  517. Communicating with the exit program

  518. Writing your own exit program

  519. Usage notes

  520. The sample API-crossing exit program, CSQCAPX

  521. Design of the sample exit program

  522. Preparing and using the API-crossing exit

  523. WebSphere MQ Workflow

  524. Application programming with shared queues

  525. Serializing your applications

  526. Applications that are not suitable for use with shared queues

  527. Deciding whether to share non-application queues

  528. Migrating your existing applications to use shared queues

  529. Using and writing WebSphere MQ-CICS bridge applications for z/OS

  530. Distributed program link applications

  531. Using CICS DPL programs with the bridge

  532. CICS DPL bridge message structure

  533. Application programming for the CICS DPL bridge

  534. Programming CICS DPL transactions in the distributed environment

  535. Set fields in the MQMD and MQCIH structures (DPL)

  536. Set the MQMD fields

  537. Set the MQCIH fields

  538. Managing MsgId and CorrelId in a unit of work (DPL)

  539. 3270 applications

  540. Using CICS transactions with the bridge

  541. Using CICS bridge vectors

  542. CICS 3270 bridge message structure

  543. Inbound messages

  544. Outbound messages

  545. Application programming for the CICS 3270 bridge

  546. Example: Invoking CEMT I TASK from an application

  547. Defining variables

  548. Writing applications using CICS Basic Mapping Support

  549. Interpreting outbound SEND MAP and RECEIVE MAP vectors

  550. SEND MAP vectors

  551. RECEIVE MAP vectors

  552. Example of an ADSDL and an ADS

  553. Transactions with start data

  554. Transactions with EXEC CICS syncpoint

  555. Programming CICS transactions in the distributed environment

  556. From 3270 legacy to 3270 bridge - an example

  557. Exact emulation - no optimization

  558. Improved emulation, with optimization

  559. Set fields in the MQMD and MQCIH structures (3270)

  560. Set the MQMD fields

  561. Set the MQCIH fields

  562. Managing MsgId and CorrelId in a unit of work (3270)

  563. Information applicable to both DPL and 3270

  564. Set the open options and put message options for the bridge request queue

  565. Error handling by the CICS bridge

  566. Debugging CICS bridge applications

  567. Application data structure terminology

  568. IMS and IMS Bridge applications on WebSphere MQ for z/OS

  569. Writing IMS applications using WebSphere MQ

  570. Syncpoints in IMS applications

  571. MQI calls in IMS applications

  572. Server applications

  573. Enquiry applications

  574. Writing WebSphere MQ-IMS bridge applications

  575. How the WebSphere MQ-IMS bridge deals with messages

  576. Mapping WebSphere MQ messages to IMS transaction types

  577. If the message cannot be put to the IMS queue

  578. IMS bridge feedback codes

  579. The MQMD fields in messages from the IMS bridge

  580. The MQIIH fields in messages from the IMS bridge

  581. Reply messages from IMS

  582. Using alternate response PCBs in IMS transactions

  583. Sending unsolicited messages from IMS

  584. Message segmentation

  585. Data conversion

  586. Sending messages to the WebSphere MQ-IMS bridge

  587. Receiving messages from the WebSphere MQ-IMS bridge

  588. Writing your program

  589. Writing WebSphere MQ applications to invoke IMS conversational transactions

  590. Triggering

  591. Writing programs containing IMS commands

  592. Object-oriented programming with WebSphere MQ

  593. What is in the WebSphere MQ Object Model?

  594. Classes

  595. Object references

  596. Return codes

  597. Programming language considerations

  598. Coding in C++

  599. Coding in Java

  600. Coding in ActiveX

  601. Building a WebSphere MQ application

  602. Building your application on AIX

  603. Preparing C programs

  604. Linking libraries

  605. Preparing COBOL programs

  606. Preparing COBOL programs using IBM COBOL Set for AIX

  607. Preparing COBOL programs using Micro Focus COBOL

  608. Preparing CICS programs

  609. TXSeries CICS support

  610. Preparing CICS COBOL programs using IBM COBOL Set for AIX

  611. Preparing CICS COBOL programs using Micro Focus COBOL

  612. Preparing CICS C programs

  613. CICS C sample transaction

  614. Building your application on HP-UX

  615. Preparing C programs

  616. PA-RISC platform

  617. IA64 (IPF) platform

  618. Linking libraries

  619. Preparing COBOL programs

  620. Using Micro Focus Server Express with WebSphere MQ on the IA64 (IPF) platform

  621. Programs to run in the WebSphere MQ client environment

  622. Preparing CICS programs

  623. TXSeries CICS support

  624. CICS C sample transaction

  625. Preparing CICS COBOL programs using Micro Focus COBOL

  626. Address Space models supported by WebSphere MQ for HP-UX on IA64 (IPF)

  627. Building your application on Linux

  628. Preparing C programs

  629. Building 31-bit applications

  630. Building 32-bit applications

  631. Building 64-bit applications

  632. Linking libraries

  633. Preparing COBOL programs

  634. Preparing COBOL programs using Micro Focus COBOL

  635. Building your application on i5/OS

  636. Preparing C programs

  637. Preparing COBOL programs

  638. Preparing CICS programs

  639. Preparing RPG programs

  640. SQL programming considerations

  641. i5/OS programming considerations

  642. QMQM activation group

  643. Building your application on Solaris

  644. Preparing C programs

  645. Building applications on x86-64

  646. Building applications on SPARC

  647. Linking libraries

  648. Preparing COBOL programs

  649. Preparing CICS programs

  650. TXSeries CICS support

  651. Preparing CICS COBOL programs using Micro Focus COBOL

  652. Preparing CICS C programs

  653. CICS C sample transaction

  654. Building your application on Windows systems

  655. Preparing C programs

  656. Preparing CICS and Transaction Server programs

  657. Preparing COBOL programs

  658. Preparing CICS and Transaction Server programs

  659. Preparing Visual Basic programs

  660. SSPI security exit

  661. Introduction to security exits

  662. What the security exit does

  663. WebSphere MQ access control and Windows principals

  664. Building your application on z/OS

  665. Preparing your program to run

  666. Building z/OS batch applications

  667. Building CICS applications

  668. Building IMS (BMP or MPP) applications

  669. Building z/OS UNIX System Services applications

  670. Dynamically calling the WebSphere MQ stub

  671. Debugging your programs

  672. Debugging CICS programs

  673. CICS trace

  674. Debugging TSO programs

  675. Using lightweight directory access protocol services with WebSphere MQ for Windows

  676. What is a directory service?

  677. What is LDAP?

  678. Using LDAP with WebSphere MQ

  679. LDAP sample program

  680. Building the sample program

  681. Configuring the directory

  682. Configuring the IBM eNetwork LDAP server

  683. Configuring the Netscape directory server

  684. Running the sample program

  685. Program design

  686. Sample WebSphere MQ programs

  687. Sample programs (all platforms except z/OS)

  688. Features demonstrated in the sample programs

  689. Samples for Linux and UNIX systems

  690. Samples for WebSphere MQ for Windows

  691. Visual Basic samples for WebSphere MQ for Windows

  692. Samples for WebSphere MQ for iSeries

  693. Preparing and running the sample programs

  694. i5/OS

  695. UNIX systems

  696. Windows systems

  697. Running the sample programs

  698. On all platforms except i5/OS

  699. On i5/OS

  700. Length of queue name

  701. Inquire, Set, and Echo examples

  702. The Put sample programs

  703. Running the amqsput and amqsputc samples

  704. Running the amq0put sample

  705. Running the AMQSPUT4 C sample

  706. Running the AMQ0PUT4 COBOL sample

  707. Design of the Put sample program

  708. The Distribution List sample program

  709. Running the Distribution List sample, amqsptl0

  710. Design of the Distribution List sample

  711. The Browse sample programs

  712. UNIX systems and Windows systems

  713. i5/OS

  714. Design of the Browse sample program

  715. The Browser sample program

  716. The Get sample programs

  717. Running the amqsget and amqsgetc samples

  718. Running the amq0get sample

  719. Running the AMQSGET4 and the AMQ0GET4 samples

  720. Design of the Get sample program

  721. The Reference Message sample programs

  722. Notes for i5/OS users

  723. Running the Reference Message samples

  724. Design of the Put Reference Message sample (amqsprma.c, AMQSPRM4)

  725. Design of the Reference Message Exit sample (amqsxrma.c, AMQSXRM4)

  726. Compiling the Reference Message Exit sample

  727. On AIX

  728. On HP-UX

  729. On Linux

  730. On i5/OS

  731. On Solaris

  732. On Windows systems

  733. Design of the Get Reference Message sample (amqsgrma.c, AMQSGRM4)

  734. The Request sample programs

  735. Running the amqsreq0.c, amqsreq, and amqsreqc samples

  736. Running the amq0req0.cbl sample

  737. Running the AMQSREQ4 sample

  738. Running the AMQ0REQ4 sample

  739. Running the Request sample using triggering

  740. UNIX systems, and Windows systems

  741. i5/OS

  742. Design of the Request sample program

  743. The Inquire sample programs

  744. Design of the Inquire sample program

  745. The Set sample programs

  746. Design of the Set sample program

  747. The Echo sample programs

  748. Design of the Echo sample programs

  749. The Data-Conversion sample program

  750. Design of the data-conversion sample

  751. The Triggering sample programs

  752. Running the amqstrg0.c, amqstrg, and amqstrgc samples

  753. Running the AMQSTRG4 sample

  754. Design of the triggering sample

  755. Running the AMQSERV4 sample

  756. Design of the trigger server

  757. Ending the triggering sample programs on i5/OS

  758. Running the samples using remote queues

  759. Database coordination samples

  760. Creating the databases and tables

  761. Precompiling, compiling, and linking the samples

  762. Precompiling in C

  763. Precompiling in COBOL

  764. Compiling and linking

  765. Running the samples

  766. C samples

  767. COBOL samples

  768. The CICS transaction sample

  769. TUXEDO samples

  770. Building the server environment

  771. To build the server environment for WebSphere MQ for AIX:

  772. To build the server environment for WebSphere MQ for Solaris:

  773. To build the server environment for WebSphere MQ for HP-UX:

  774. To build the server environment for WebSphere MQ for Windows:

  775. Server sample program for TUXEDO

  776. Put sample program for TUXEDO

  777. Get sample for TUXEDO

  778. Encina sample program

  779. Building the AMQSXAE0.C sample

  780. Dead-letter queue handler sample

  781. The Connect sample program

  782. Running the amqscnxc sample

  783. The API exit sample program

  784. Configuring for the sample exit

  785. Using the SSPI security exit on Windows systems

  786. Object code

  787. Source code

  788. Sample programs for WebSphere MQ for z/OS

  789. Features demonstrated in the sample applications

  790. Put samples

  791. Get samples

  792. Browse sample

  793. Print Message sample

  794. Queue Attributes sample

  795. Mail Manager sample

  796. Credit Check sample

  797. The Message Handler sample

  798. Distributed queuing exit samples

  799. Data-conversion exit samples

  800. Preparing and running sample applications for the batch environment

  801. Names of the sample batch applications

  802. Preparing sample applications for the TSO environment

  803. Names of the sample TSO applications

  804. Preparing the sample applications for the CICS environment

  805. QLOP abend

  806. Names of the sample CICS applications

  807. Preparing the sample application for the IMS environment

  808. Names of the sample IMS application

  809. The Put samples

  810. Design of the Put sample

  811. The Put samples for the batch environment

  812. Usage notes

  813. The Put samples for the CICS environment

  814. Usage notes

  815. The Get samples

  816. Design of the Get sample

  817. The Get samples for the batch environment

  818. Usage notes

  819. The Get samples for the CICS environment

  820. Usage notes

  821. The Browse sample

  822. Design of the Browse sample

  823. Language-dependent design considerations

  824. The Print Message sample

  825. Design of the sample

  826. The Queue Attributes sample

  827. Design of the sample

  828. The Mail Manager sample

  829. Preparing the sample

  830. Preparing the sample for the TSO environment

  831. Running the sample

  832. Design of the sample

  833. Menu program

  834. Get-mail and display-message programs

  835. Send-mail program

  836. Nickname program

  837. The Credit Check sample

  838. Preparing and running the Credit Check sample

  839. Entering information in the inquiry panels

  840. Design of the sample

  841. User interface program (CSQ4CVB1)

  842. Credit application manager (CSQ4CVB2)

  843. Startup logic

  844. Getting a message

  845. Processing the message retrieved

  846. Sending an answer

  847. Recovery of partially-completed inquiries

  848. Checking-account program (CSQ4CVB3)

  849. Distribution program (CSQ4CVB4)

  850. Agency-query program (CSQ4CVB5/CSQ4CCB5)

  851. Design considerations

  852. Separate inquiry and reply queues in the CAM

  853. How the sample handles errors

  854. How the sample handles unexpected messages

  855. How the sample uses syncpoints

  856. How the sample uses message context information

  857. Use of message and correlation identifiers in the CAM

  858. The Credit Check sample with multiple queue managers

  859. The IMS extension to the Credit Check sample

  860. Design of the IMS checking-account program (CSQ4ICB3)

  861. The Message Handler sample

  862. Preparing and running the sample

  863. Using the sample

  864. Design of the sample

  865. Object validation program

  866. Message list program

  867. Message content program

  868. C language examples

  869. Connecting to a queue manager

  870. Disconnecting from a queue manager

  871. Creating a dynamic queue

  872. Opening an existing queue

  873. Closing a queue

  874. Putting a message using MQPUT

  875. Putting a message using MQPUT1

  876. Getting a message

  877. Getting a message using the wait option

  878. Getting a message using signaling

  879. Inquiring about the attributes of an object

  880. Set the attributes of a queue

  881. COBOL examples

  882. Connecting to a queue manager

  883. Disconnecting from a queue manager

  884. Creating a dynamic queue

  885. Opening an existing queue

  886. Closing a queue

  887. Putting a message using MQPUT

  888. Putting a message using MQPUT1

  889. Getting a message

  890. Getting a message using the wait option

  891. Getting a message using signaling

  892. Inquiring about the attributes of an object

  893. Set the attributes of a queue

  894. System/390 assembler-language examples

  895. Connecting to a queue manager

  896. Disconnecting from a queue manager

  897. Creating a dynamic queue

  898. Opening an existing queue

  899. Closing a queue

  900. Putting a message using MQPUT

  901. Putting a message using MQPUT1

  902. Getting a message

  903. Getting a message using the wait option

  904. Getting a message using signaling

  905. Inquiring about and setting the attributes of a queue

  906. PL/I examples

  907. Connecting to a queue manager

  908. Disconnecting from a queue manager

  909. Creating a dynamic queue

  910. Opening an existing queue

  911. Closing a queue

  912. Putting a message using MQPUT

  913. Putting a message using MQPUT1

  914. Getting a message

  915. Getting a message using the wait option

  916. Getting a message using signaling

  917. Inquiring about the attributes of an object

  918. Set the attributes of a queue

  919. WebSphere MQ data definition files

  920. C language include files

  921. Visual Basic module files

  922. COBOL copy files

  923. System/390 assembler-language macros

  924. PL/I include files

  925. Coding standards on 64 bit platforms

  926. Preferred data types

  927. Standard data types

  928. 32-bit UNIX applications

  929. 64-bit UNIX applications

  930. Windows 64–bit applications

  931. Coding considerations on Windows

  932. HANDLE hf;

  933. size_t len fgets

  934. printf

  935. char *ptr

  936. alignBytes

  937. alignBytes

  938. len

  939. sscanf

  940. Programming interface information

  941. Trademarks