DISPLAY is the eyes of IBM MQ administration. Every troubleshooting shift starts with DISPLAY QSTATUS and DISPLAY CHSTATUS; every change ticket should attach DISPLAY output before and after ALTER. Unlike DEFINE or DELETE, DISPLAY is read-only—it cannot break production by itself, though sharing DISPLAY output with sensitive attributes in public tickets can leak architecture hints. Beginners must learn the difference between definition DISPLAY (what is configured) and status DISPLAY (what is happening now). This tutorial catalogs the DISPLAY variants you use daily, explains key fields like CURDEPTH and CHSTATUS, teaches WHERE filtering, covers ALL versus specific attributes, shows multi-object asterisk syntax, and ties DISPLAY to monitoring automation and dspmq on the command line.
DISPLAY QLOCAL('ORDERS.IN') returns MAXDEPTH, DEFPSIST, BOQNAME, GET, PUT, and other definition fields stored in the repository. DISPLAY QSTATUS('ORDERS.IN') returns CURDEPTH (how many messages are waiting now), IPPROCS (count of applications opened for GET), OPPROCS (opened for PUT), and other dynamic metrics. A queue can have MAXDEPTH 100000 but CURDEPTH 0 (healthy) or CURDEPTH equal to MAXDEPTH (critical). Comparing both explains whether the problem is configuration limit or consumer failure.
123456DISPLAY QLOCAL('ORDERS.IN') MAXDEPTH DEFPSIST BOQNAME GET PUT DISPLAY QSTATUS('ORDERS.IN') CURDEPTH IPPROCS OPPROCS * MAXDEPTH — configured cap from QLOCAL definition * CURDEPTH — live count; compare to MAXDEPTH for percent full * IPPROCS — consumers connected; zero may mean dead app * OPPROCS — producers connected
DISPLAY CHSTATUS('PARTNER.SDR') shows CHSTATUS (BINDING, RUNNING, RETRYING, STOPPED, and others), SUBSTATE for detail, MSGSENT and MSGRCVD counters, LASTMSGDT for idle detection, and CONNAME resolution. During incidents run DISPLAY CHSTATUS(*) WHERE(CHSTATUS NE RUNNING) on the hub. Pair with DISPLAY QSTATUS on the channel transmission queue—depth growing while RETRYING confirms messages stuck waiting for network or partner.
| Command | Shows | Use when |
|---|---|---|
| DISPLAY QMGR ALL | Queue manager attributes | Baseline config review |
| DISPLAY QSTATUS(*) CURDEPTH | All queue depths | Backlog hunt |
| DISPLAY CHSTATUS(*) | All channel states | After network change |
| DISPLAY LSSTATUS(*) | Listener status | Inbound fails |
| DISPLAY SUB(*) | Subscriptions | Pub/sub missing |
WHERE clauses use attribute names and operators EQ, NE, GT, LT, LE, GE, and LK for like patterns on some displays. Example: DISPLAY QSTATUS(*) WHERE(CURDEPTH GT 1000) lists queues with more than one thousand messages. DISPLAY CHSTATUS(*) WHERE(CHSTATUS EQ RETRYING) isolates failing channels. Filters save time and make scripts readable for on-call runbooks.
1234DISPLAY QSTATUS(*) WHERE(CURDEPTH GT 0) CURDEPTH MAXDEPTH DISPLAY CHSTATUS(*) WHERE(CHSTATUS EQ RETRYING) DISPLAY QUEUE(*) WHERE(QTYPE EQ QLOCAL) MAXDEPTH * GT — greater than; combine filters per IBM syntax for your release
DISPLAY QLOCAL('X') ALL dumps every attribute—verbose but complete for exports. Listing specific attributes keeps tickets readable. dmpmqcfg and configuration export tools often use DISPLAY ALL under the hood. For learning, run ALL once in lab, then practice finding three attributes that matter for your role.
DISPLAY QMGR shows dead letter queue name, default transmission queue, platform, version, and CHLAUTH state. DISPLAY LISTENER and LSSTATUS show whether inbound TCP is active. DISPLAY TOPIC and DISPLAY SUB map pub/sub topology. DISPLAY CLUSQMGR and CLUSTER objects support cluster routing incidents. DISPLAY AUTHINFO and CHLAUTH records document security—mask sensitive fields in shared logs.
Scripts parse DISPLAY output for CURDEPTH thresholds. Modern estates prefer metrics APIs (Prometheus, REST) but DISPLAY remains the universal fallback when dashboards lie or agents fail. Capture periodic DISPLAY QSTATUS snapshots during peak for capacity studies. grep and awk on runmqsc output are still valid ops skills.
DISPLAY is reading the gauges on the machine—fuel level (CURDEPTH), whether a belt is moving (CHSTATUS RUNNING), and the sticker spec on the part (MAXDEPTH from QLOCAL)—without turning screws (ALTER).
DISPLAY is peeking into the mailbox to count letters and check the sign on the door that says how full it can get—without taking letters out or changing the sign.
Put ten messages in a lab queue; compare DISPLAY QLOCAL MAXDEPTH to QSTATUS CURDEPTH.
Stop a channel; run WHERE filter to find non-RUNNING channels.
Build a one-line runbook: queue full triage using three DISPLAY commands.
1. CURDEPTH is shown by:
2. DISPLAY CHSTATUS shows:
3. WHERE clause is used to:
4. DISPLAY is: