DISPLAY (MQSC)

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 Versus DISPLAY QSTATUS

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.

shell
1
2
3
4
5
6
DISPLAY 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 and Channel Triage

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.

Common DISPLAY commands
CommandShowsUse when
DISPLAY QMGR ALLQueue manager attributesBaseline config review
DISPLAY QSTATUS(*) CURDEPTHAll queue depthsBacklog hunt
DISPLAY CHSTATUS(*)All channel statesAfter network change
DISPLAY LSSTATUS(*)Listener statusInbound fails
DISPLAY SUB(*)SubscriptionsPub/sub missing

WHERE Filtering

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.

shell
1
2
3
4
DISPLAY 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

ALL and Attribute Lists

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, LISTENER, TOPIC, SUB, CLUSQMGR

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.

Automation and Monitoring

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.

Explainer: Dashboard Gauges

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).

Explain Like I'm Five: DISPLAY

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.

Practice Exercises

Exercise 1

Put ten messages in a lab queue; compare DISPLAY QLOCAL MAXDEPTH to QSTATUS CURDEPTH.

Exercise 2

Stop a channel; run WHERE filter to find non-RUNNING channels.

Exercise 3

Build a one-line runbook: queue full triage using three DISPLAY commands.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. CURDEPTH is shown by:

  • DISPLAY QSTATUS
  • DISPLAY QMGR only
  • DELETE QLOCAL
  • START CHANNEL

2. DISPLAY CHSTATUS shows:

  • Channel runtime state
  • Message payload
  • RACF password
  • JCL

3. WHERE clause is used to:

  • Filter DISPLAY results
  • Delete messages
  • Put messages
  • Format disk

4. DISPLAY is:

  • Read-only
  • Always creates objects
  • Same as ALTER
  • Only on z/OS
Published
Read time21 min
AuthorMainframeMaster
Verified: IBM MQ 9.4 documentation