cheat sheet

CICS CEMT

Drive the CICS Master Terminal transaction — INQUIRE, SET, and PERFORM verbs for programs, tasks, files, connections, and region-level operations like NEWCOPY refresh and SNAP dumps.

CICS CEMT — Master Terminal Operator Reference

What it is

CEMT (Customer Information Control System — Extended Master Terminal) is the IBM-supplied transaction that an authorised CICS operator types into a 3270 terminal (or web/REST equivalent) to inspect and control a running CICS region. It is the runtime control plane for CICS — the place to refresh a freshly compiled program with NEWCOPY, open/close a VSAM file, drop a hung task, restart an MRO/IPIC connection, snap a region for diagnostics, or shut a region cleanly. CEMT is paired with the resource definition transactions CEDA/CEDB (which edit the CSD definitions on disk) and the debugger CEDF (which traps EXEC CICS calls inside a single transaction); CEMT touches the active in-storage copies of resources, while CEDA/CEDB touch the definitions that will be installed on the next pickup.

The current supported releases are CICS TS 6.1 (2023), 6.2 (2024), and 6.3 (general availability September 2025; January 2026 update adds OpenTelemetry, AI-agent integration, and a config simplification tool). All CEMT verbs documented here are stable across the 6.x stream; 6.3 extends Zowe Explorer for CICS TS so the same INQUIRE/SET/PERFORM actions are now driveable from VS Code with alphabetically sorted resource trees, JVM-server Enable/Disable actions, TS-queue and Shared-TS-queue groupings, and the CICS Resource Inspector for any resource.

Install

CEMT is part of every IBM CICS Transaction Server installation — there is no separate install. Access depends on RACF/ESM permitting your userid to run the CEMT transaction (resource class TCICSTRN).

text
(* Verify your CEMT authority from a CICS terminal *)
CEMT INQUIRE TASK

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Tas(0000041) Tra(CEMT) Sus Ter(L001) Use(ALICE   ) Uow(...) Hty(ZCIOWAIT)
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.42.17  DATE: 05/25/26

If RACF blocks you, the terminal shows NOT AUTHORIZED. Ask the security admin for READ on TCICSTRN.CEMT and on each resource class you intend to manipulate.

Syntax

CEMT verbs follow a strict verb object [filter] [option=value...] pattern. Almost everything can be abbreviated to the shortest unique prefix — CEMT I PROG and CEMT INQUIRE PROGRAM are identical.

text
CEMT verb       object[(filter)] [option(value)] [option(value)]...
CEMT INQUIRE    PROGRAM(MYPGM*)            INQUIRE / I  — read-only listing
CEMT SET        PROGRAM(MYPGM) NEWCOPY     SET     / S  — change state
CEMT PERFORM    SHUT[DOWN]                 PERFORM / P  — region-wide action
CEMT DISCARD    PROGRAM(MYPGM)             DISCARD / D  — remove from in-storage table

Output: (none — exits 0 on success)

Verbs can be issued from any CEMT-eligible terminal, from console (MODIFY cicsname,CEMT ...), from another program via EXEC CICS INQUIRE/SET/PERFORM, or via Zowe (zowe cics ...).

Essential verbs and abbreviations

VerbAbbrevPurpose
INQUIREIDisplay current state of one or many resources
SETSChange state of one or many resources (open, close, enable, newcopy)
PERFORMPRegion-wide action (SHUTDOWN, SNAP, STATISTICS, RESET, SECURITY REBUILD)
DISCARDDRemove a resource definition from the active region
RESYNCRESResync in-doubt UOWs after a restart
ObjectAbbrevResource family
PROGRAMPROGLoad modules + tables (PPT entries)
TRANSACTIONTRATransaction definitions (PCT entries)
TASKTASCurrently dispatched units of work
FILEFILVSAM/BDAM files + remote files
CONNECTIONCONNMRO/ISC/IPIC connections to other regions
TDQUEUETDQTransient data queues
TSQUEUETSQTemporary storage queues
JOURNALNAMEJOULogger streams
TCPIPSERVICETCPIPSSockets / web listeners
DSNAMEDSNData set views of files
TERMINALTERVTAM and 3270 terminals
URIMAPURIHTTP routing
WEBSERVICEWEBSSOAP/REST pipeline bindings

INQUIRE — read the running region

INQUIRE is read-only and the safest verb to learn first. The filter inside parentheses supports * and + wildcards (* = any chars, + = one char). With no filter CICS returns every resource of that type — fine for TASK, but I PROG() can list thousands of entries; always filter.

text
CEMT I PROG(MYPGM*)

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Prog(MYPGM01 ) Len(00012480) Ass Pro Ena   Pri Cob Ful
 Prog(MYPGM02 ) Len(00008704) Ass Pro Ena   Pri Cob Ful
 Prog(MYPGMUT1) Len(00001536) Ass Pro Ena   Pri Asm Ful
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.43.10  DATE: 05/25/26

Reading the abbreviated status flags:

FlagMeaning
AssAssembled / resolved load module address
ProProgram (vs Map or Partitionset)
Ena / DisEnabled / Disabled
Pri / ShaPrivate (CDSA) / Shared (RDSA) storage
Cob / Asm / Pli / Le370 / JavaLanguage environment
Ful / StuFully resolved / Stub only

Type any field over the abbreviation to flip state — e.g., type Dis over Ena and press Enter and CEMT issues the equivalent SET PROGRAM(...) DISABLED. This is the on-panel "overtype to modify" pattern unique to CEMT.

INQUIRE PROGRAM — language modules and tables

INQUIRE PROGRAM shows the active copy of any module CICS has loaded — application programs, map sets, partition sets, and user exits. Each entry has a load address, length, language family, and ENABLED/DISABLED flag; the USECOUNT column reveals whether anything is actively using the module right now.

text
CEMT I PROG(MYPGM01)

Output:

text
 Prog(MYPGM01 ) Len(00012480) Ass Pro Ena   Pri Cob Ful
   Library(DFHRPL  ) Lpa(No) Use(00000412) Sha(Sha) Ces(Ceds)
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.45.02  DATE: 05/25/26

Useful filter expansions:

text
CEMT I PROG(MYPGM*) ENABLED
CEMT I PROG(MYPGM*) LANGUAGE(COBOL)
CEMT I PROG(MYPGM*) USECOUNT(0)             (* candidates for discard *)
CEMT I PROG(MYPGM*) NEWCOPY                 (* shows only modules awaiting refresh *)
CEMT I PROG(*) RESCOUNT(0) ENABLED          (* loaded but currently inactive *)

Output: (filter narrows the listing; same column layout as above)

SET PROGRAM — hot deploy with NEWCOPY

SET PROGRAM(...) NEWCOPY re-reads the module from the DFHRPL concatenation and refreshes the in-storage copy without bouncing the region. This is the canonical zero-downtime application deploy on CICS: link-edit into a load library in DFHRPL, then issue NEWCOPY to swap the running version. CICS only completes the swap when no transaction currently has the module loaded (USECOUNT=0); active tasks finish on the old copy and any subsequent EXEC CICS LINK picks up the new one.

text
CEMT S PROG(MYPGM01) NEWCOPY

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Prog(MYPGM01 ) Len(00012544) Ass Pro Ena   Pri Cob Ful
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.46.18  DATE: 05/25/26

Other SET verbs against PROGRAM:

text
CEMT S PROG(MYPGM01) PHASEIN              (* refresh, allow in-flight tasks on old copy *)
CEMT S PROG(MYPGM01) DISABLED              (* prevent new LINKs without dropping it *)
CEMT S PROG(MYPGM01) ENABLED
CEMT S PROG(MYPGM01) CEDF                  (* enable CEDF debugger for this program *)
CEMT S PROG(MYPGM01) NOCEDF
CEMT S PROG(MYPGM*) NEWCOPY                (* refresh a whole family in one shot *)

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Prog(MYPGM01 ) Len(00012544) Ass Pro Ena
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.46.50  DATE: 05/25/26

NEWCOPY vs PHASEIN: NEWCOPY requires USECOUNT=0 and fails with NOTAVAILABLE if anything is using the program. PHASEIN always succeeds — it loads the new copy alongside the old, lets active tasks complete on the old, and routes new entries to the new. Use PHASEIN for non-reentrant programs only after you have understood the dual-copy memory implications.

INQUIRE TASK — what's running right now

INQUIRE TASK lists every dispatched and suspended unit of work in the region. Each task has a Tas(nnn) task number, the transaction code that started it (Tra(....)), the terminal it owns (Ter(....)), the userid (Use(........)), state (Run/Sus/Dis), and — if suspended — the resource it is waiting on (Hty(...)).

text
CEMT I TASK

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Tas(0000041) Tra(CEMT) Sus Ter(L001) Use(ALICE   ) Pri( 1) Hty(ZCIOWAIT)
 Tas(0000099) Tra(TRX1) Run Ter(L042) Use(BOB     ) Pri( 1)
 Tas(0000124) Tra(TRX2) Sus Ter(L055) Use(CAROL   ) Pri( 1) Hty(FCIOWAIT)
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.47.30  DATE: 05/25/26

Common suspension types (HTYPE) and what they mean:

HTYPEWait reason
ZCIOWAITTerminal I/O — user has not pressed Enter
FCIOWAITFile control I/O (VSAM/CICS file)
KCCOMPATCompatibility wait — older API path
DBCTLWAITIMS DBCTL backend
DB2EOTDb2 thread wait
EXCWAITExternal call (e.g. MQ, sockets)
LOCKWAITWaiting on a CICS enqueue
JCIOWAITJournal commit

To target a single task and inspect or purge it:

text
CEMT I TASK(0000124)
CEMT S TASK(0000124) PURGE                 (* polite abend AICA *)
CEMT S TASK(0000124) FORCEPURGE            (* stronger abend ASRD, skips some cleanup *)
CEMT S TASK(0000124) KILL                  (* last resort — may leave UOW in-doubt *)

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Tas(0000124) Tra(TRX2) Run Ter(L055) Use(CAROL   )
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.48.05  DATE: 05/25/26

Purge ladder: always try PURGE first — it lets the task back out cleanly. Escalate to FORCEPURGE only if PURGE hangs, and to KILL only when the storage manager is itself stuck. KILL on a UOW that holds Db2 or MQ locks will leave them in-doubt and require manual resolution.

INQUIRE FILE — open, close, and disable VSAM files

INQUIRE FILE reports each FCT (File Control Table) entry — VSAM clusters, BDAM data sets, remote files, and CICS data tables — with current open status, access intent, and the underlying DSN.

text
CEMT I FILE(CUSTFILE)

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Fil(CUSTFILE) Vsa Ope Ena Rea Upd Add Bro Del
   Dsn( ALICE.PROD.CUSTFILE ) Bas( CUSTFILE )
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.49.12  DATE: 05/25/26

Flag summary: Ope/Clo (open/closed), Ena/Dis (enabled/disabled), then access intent — Rea read, Upd update, Add add, Bro browse, Del delete. Common SET operations:

text
CEMT S FILE(CUSTFILE) CLOSED               (* close after quiescing in-flight UOWs *)
CEMT S FILE(CUSTFILE) DISABLED             (* prevent new opens *)
CEMT S FILE(CUSTFILE) OPEN                 (* reopen after a backup/HSM recall *)
CEMT S FILE(CUSTFILE) ENABLED
CEMT S FILE(CUSTFILE) DSNAME(ALICE.PROD.CUSTFILE.V2)   (* swap underlying VSAM cluster *)
CEMT S FILE(CUSTFILE) READ NOUPDATE NOADD              (* downgrade to read-only *)

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Fil(CUSTFILE) Vsa Clo Dis
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.49.50  DATE: 05/25/26

Backup window pattern: to back up an active VSAM file safely, S FILE(...) CLOSED DISABLED first; once INQUIRE shows Clo Dis, run the IDCAMS REPRO or DFDSS dump; then S FILE(...) OPEN ENABLED. Closing alone is not enough — CICS will reopen on the next access.

INQUIRE CONNECTION (alias I CONN) displays each link to another CICS region or system. The state flags reveal whether the connection is IN service, OUT of service, ACQuired, or RELeased, and identify the protocol (MRO, LU61, LU62, IPIC, EXCI).

text
CEMT I CONN

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Con(TOR1) Net(CICSTOR1 ) Ins Acq Mro
 Con(AOR1) Net(CICSAOR1 ) Ins Acq Ipi
 Con(REM1) Net(REMOTE1  ) Out Rel Lu62
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.50.40  DATE: 05/25/26

Recover or quiesce a connection:

text
CEMT S CONN(REM1) INSERVICE                (* allow new conversations *)
CEMT S CONN(REM1) OUTSERVICE               (* drain, then refuse new conversations *)
CEMT S CONN(REM1) ACQUIRED                 (* bring up the underlying VTAM/IPIC session *)
CEMT S CONN(REM1) RELEASED                 (* tear down sessions *)
CEMT S CONN(REM1) NOTPENDING               (* force out-of-doubt UOWs to back out *)

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Con(REM1) Net(REMOTE1  ) Ins Acq Lu62
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.51.15  DATE: 05/25/26

For IPIC (IP InterCommunications), the underlying TCP socket is governed by an IPCONN resource — CEMT I IPCONN and S IPCONN(...) ACQUIRED|RELEASED give the same controls at the IP layer.

INQUIRE TDQUEUE and TSQUEUE — transient and temporary storage

CICS holds two kinds of queue: transient data (TDQUEUE) survives shutdown if defined as extrapartition or extrapartition+logged, and is the classic interface to spool/printers/sequential files; temporary storage (TSQUEUE) is in-memory scratch space (or aux-storage backed) that lasts only for the region or until purged.

text
CEMT I TDQ(CSMT)
CEMT I TSQ(MYQUEUE*)

Output:

text
 Tdq(CSMT) Ext Ope Ena Out Sys
   Dsn( SYS1.CICS.CSMTLOG ) Members(00000)
 Tsq(MYQUEUE1) Items(00012) Loc(Aux) Length(00001024)
 Tsq(MYQUEUE2) Items(00003) Loc(Mai) Length(00000512)
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 09.52.05  DATE: 05/25/26

Useful actions:

text
CEMT S TDQ(CSMT) CLOSED                    (* close before swapping the underlying DSN *)
CEMT S TDQ(CSMT) OPEN
CEMT S TSQ(MYQUEUE1) PURGE                 (* delete contents *)

Output: (state changes summary, same panel layout as I TDQ / I TSQ)

PERFORM — region-wide actions

PERFORM triggers a region-level operation that has no single "resource" target. The four most-used variants are SHUTDOWN, SNAP, STATISTICS, and RESET.

PERFORM SHUTDOWN

PERFORM SHUTDOWN brings the region down gracefully, running PLT shutdown programs in order. Add IMMEDIATE to skip the PLT (data may be lost) and DUMP to take a system dump as part of the shutdown.

text
CEMT P SHUT
CEMT P SHUT IMMEDIATE
CEMT P SHUT DUMP
CEMT P SHUT TAKEOVER                       (* XRF alternate takes over *)

Output:

text
RESPONSE: NORMAL                       TIME: 09.55.00  DATE: 05/25/26
DFHTM1715  CICSPRD1 CICS is being quiesced by userid ALICE  in transaction CEMT.

PERFORM SNAP and PERFORM DUMP

PERFORM SNAP writes a region snapshot to the CICS dump dataset for diagnostics — useful when a region is misbehaving but you do not want to shut it down. PERFORM DUMP is similar but typically yields an SVC dump that can be processed by IPCS.

text
CEMT P SNAP DUMPCODE(MYSNAP01)
CEMT P SNAP DUMPCODE(MYSNAP01) TITLE('Memory pressure investigation 09:56')

Output:

text
RESPONSE: NORMAL                       TIME: 09.56.05  DATE: 05/25/26
DFHDU0202  CICSPRD1 A transaction dump of dumpid 0001/0007 has been taken.

PERFORM STATISTICS and PERFORM RESET

PERFORM STATISTICS writes the current interval of statistics to SMF (type 110); PERFORM RESET resets transaction-class peak counters back to zero — handy at the start of a benchmark window.

text
CEMT P STAT
CEMT P STAT RECORD                         (* explicit SMF write *)
CEMT P STAT IMMEDIATE                      (* write and reset interval *)
CEMT P RESET                               (* reset peak counters *)

Output:

text
RESPONSE: NORMAL                       TIME: 09.57.10  DATE: 05/25/26
DFHST0001  CICSPRD1 Statistics record written.

PERFORM SECURITY REBUILD

Triggers CICS to re-RACLIST the resource classes — needed after a SETROPTS RACLIST(...) REFRESH on a class that does not auto-propagate.

text
CEMT P SECURITY REBUILD

Output:

text
RESPONSE: NORMAL                       TIME: 09.58.00  DATE: 05/25/26
DFHXS1100  CICSPRD1 Resource security profiles have been rebuilt.

DISCARD — remove a resource from the active region

DISCARD removes the in-storage definition of a resource without touching the CSD on disk. The resource must be disabled or closed first; CICS refuses to discard anything in use.

text
CEMT S PROG(MYPGM01) DISABLED
CEMT D PROG(MYPGM01)

CEMT S FILE(OLDFILE) CLOSED DISABLED
CEMT D FILE(OLDFILE)

CEMT D TRA(XYZ1)                           (* requires INQUIRE TRA showing DIS first *)

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Prog(MYPGM01 )
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 10.00.05  DATE: 05/25/26

Discarded resources can be re-installed by CEDA INSTALL from the CSD or by a CICSPlex SM INSTALL.

CEMT vs CEDA vs CEDB vs CEDF — pick the right tool

These four transactions are often confused. They operate at different layers and the consequences of mixing them up range from a no-op to a corrupted CSD.

TransactionOperates onPersistenceTypical use
CEMTActive in-storage resources of the running regionUntil next region restartRefresh module, open/close file, drop task
CEDACSD (CICS System Definition file) — the on-disk catalogue of all resourcesPermanent — survives restartsDefine a new program, transaction, file, group
CEDBSame CSD as CEDA but with INSTALL disabledPermanentSafe browsing/editing without accidental install
CEDFSingle transaction's EXEC CICS callsNone — per-task onlyStep debugger for application development

The deploy cycle is: CEDA to define the resource on the CSD, CEDA INSTALL GROUP(...) to materialise it in the running region, then CEMT to manage its day-to-day state. CEDB is CEDA with training wheels — exactly the same panel layout but the INSTALL and COPY commands are blocked, useful for production read-only browsing.

text
(* Typical deploy of a brand-new program *)
CEDA DEFINE PROGRAM(NEWPGM) GROUP(ALICEGRP) LANGUAGE(COBOL)
CEDA INSTALL GROUP(ALICEGRP)
CEMT I PROG(NEWPGM)                        (* verify it's loaded *)

(* Refresh after recompile *)
CEMT S PROG(NEWPGM) NEWCOPY

Output:

text
INSTALL SUCCESSFUL
 Prog(NEWPGM  ) Len(00009216) Ass Pro Ena   Pri Cob Ful

CEDF — debugging without leaving CEMT

CEDF is the Execution Diagnostic Facility — CICS's built-in step-debugger for application transactions. It is launched from a separate terminal or, more typically, enabled per-program from CEMT itself with S PROG(...) CEDF.

text
CEMT S PROG(MYPGM01) CEDF
CEDF L042                                   (* trap transactions running on term L042 *)

Output:

text
EXEC INTERFACE BLOCK BEFORE EXECUTION
 EIBTIME=100501  EIBDATE=2026/146  EIBTRNID=TRX1
 EIBTRMID=L042   EIBTASKN=99      EIBCPOSN=1
COMMAND: EXEC CICS READ FILE('CUSTFILE') INTO(...) RIDFLD(...)
PF1=UNDEFINED ... PF9=STOP  PF10=PREV DISPLAY ...

PF keys inside CEDF: PF9 stops debugging, PF12 aborts the transaction, PF1PF8 walk between command-before/command-after/EIB/abend views. Disable when done:

text
CEMT S PROG(MYPGM01) NOCEDF

Output:

text
 Prog(MYPGM01 ) Len(00012544) Ass Pro Ena   Pri Cob Ful Noc

Issuing CEMT from outside the region

CEMT does not require an interactive 3270. The same verbs can be driven from MODIFY console commands, programs, and Zowe.

text
(* From z/OS console — MVS MODIFY *)
F CICSPRD1,CEMT I PROG(MYPGM01)
F CICSPRD1,CEMT S PROG(MYPGM01) NEWCOPY
F CICSPRD1,CEMT P SHUT

(* From inside a CICS program *)
EXEC CICS INQUIRE PROGRAM('MYPGM01') LENGTH(LEN)
EXEC CICS SET     PROGRAM('MYPGM01') NEWCOPY
EXEC CICS PERFORM SHUTDOWN

(* From a workstation via Zowe *)
zowe cics refresh program MYPGM01 --region-name CICSPRD1
zowe cics get resource CICSProgram --region-name CICSPRD1 --criteria "PROGRAM=MYPGM*"

Output:

text
IEE600I REPLY TO 02 IS;CEMT
DFHAC2236  CICSPRD1 CEMT issued by ALICE: SET PROGRAM(MYPGM01) NEWCOPY
DFHAC2237  CICSPRD1 NEWCOPY for program MYPGM01 completed.

Common pitfalls

  1. NEWCOPY silently no-ops when USECOUNT > 0 — the panel shows NOTAVAILABLE in the bottom right but the listing still appears normal. Run CEMT I PROG(...) first; if Use(...) is non-zero, either use PHASEIN (knowing the dual-copy implications) or wait for active tasks to finish.
  2. Overtyping the wrong column — CEMT's overtype-to-modify is convenient but typing into the length field or DSN field of I FILE is interpreted as a SET; always check the bottom response line for RESPONSE: NORMAL before walking away.
  3. SHUT IMMEDIATE in a transactional region — skips PLT shutdown which often holds final commit logic. Use plain SHUT and let PLT run; only escalate to IMMEDIATE after SHUT is documented to hang.
  4. Confusing CEDA INSTALL with CEMT NEWCOPYCEDA INSTALL GROUP(...) creates the in-storage entry from the CSD; CEMT S PROG(...) NEWCOPY refreshes an already-installed module. Issuing NEWCOPY against a program that has never been installed returns PROGRAM NOT FOUND.
  5. Forgetting CICS holds the load module open — adding a new copy to the front of the DFHRPL concatenation is invisible until NEWCOPY (or MVS SET PROG(...,REFRESH) for LPA-resident modules).
  6. KILL without a backout plan — terminates a UOW that may hold cross-system in-doubts; the recoverable resources need manual resync via CEMT RESYNC or CRMD afterwards.
  7. CEMT against the wrong region — IDs like CICSPRD1 and CICSPRD2 differ by one character. Confirm APPLID= in the response line before issuing destructive SET/DISCARD verbs.
  8. Wildcards that match too muchCEMT S PROG(*) NEWCOPY will queue a refresh for every module in the region; on a large production region this is rarely what you wanted. Always run the equivalent I PROG(...) first to preview the matched list.

Real-world recipes

Hot-deploy a compiled module without a region bounce

The canonical CICS hot-deploy: link-edit the new copy into a load library on DFHRPL, then refresh the in-storage entry. Verify usage is zero before issuing NEWCOPY to avoid the NOTAVAILABLE race.

text
(* From a 3270 terminal — first check usage *)
CEMT I PROG(MYPGM01)

(* If Use(00000000), refresh now *)
CEMT S PROG(MYPGM01) NEWCOPY

(* If Use is non-zero, choose between waiting and PHASEIN *)
CEMT S PROG(MYPGM01) PHASEIN

(* Optional: verify the new length matches what link-edit produced *)
CEMT I PROG(MYPGM01)

Output:

text
 Prog(MYPGM01 ) Len(00012544) Ass Pro Ena   Pri Cob Ful Use(00000000)

Quiesce a VSAM file for an offline backup

CICS will keep the file open as long as the FCT entry is enabled. The full quiesce-backup-resume cycle disables, closes, runs the IDCAMS backup as a batch job, then reverses.

text
(* From CEMT *)
CEMT S FILE(CUSTFILE) CLOSED DISABLED
CEMT I FILE(CUSTFILE)                      (* confirm Clo Dis *)
text
//BACKUP   JOB (ACCT),'BACKUP CUSTFILE',CLASS=A,MSGCLASS=X,
//             USER=ALICE
//STEP1    EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
   REPRO INDATASET(ALICE.PROD.CUSTFILE) -
         OUTDATASET(ALICE.BKUP.CUSTFILE.D2026.D146) -
         REPLACE
/*
text
(* Once the backup JOB completes RC=0 *)
CEMT S FILE(CUSTFILE) OPEN ENABLED
CEMT I FILE(CUSTFILE)                      (* confirm Ope Ena *)

Output:

text
 Fil(CUSTFILE) Vsa Ope Ena Rea Upd Add Bro Del
   Dsn( ALICE.PROD.CUSTFILE )

Triage a runaway transaction

A user reports their screen is frozen on transaction TRX2. The pattern is: list active tasks, identify the suspended task, inspect its wait reason, attempt PURGE, escalate if needed.

text
CEMT I TASK
CEMT I TASK(0000124)                       (* drill into the suspected task *)

Output:

text
 Tas(0000124) Tra(TRX2) Sus Ter(L055) Use(CAROL   ) Hty(FCIOWAIT)
   Pri( 1) Sta(D) Pur(P) For(N) ... Res(CUSTFILE)

The Res(CUSTFILE) makes the cause obvious — the task is waiting on the VSAM file you closed in the previous recipe. Either reopen the file or purge the task:

text
CEMT S TASK(0000124) PURGE
CEMT I TASK(0000124)                       (* if still there *)
CEMT S TASK(0000124) FORCEPURGE

Output:

text
 Tas(0000124) Tra(TRX2) NOT FOUND

Bulk refresh after a code drop

After a CI/CD job link-edits twelve modules into ALICE.PROD.LOADLIB, the operator refreshes them as a batch.

text
CEMT I PROG(MYPGM*) USECOUNT(0)            (* preview which can refresh now *)
CEMT S PROG(MYPGM*) NEWCOPY
CEMT I PROG(MYPGM*) NEWCOPY                (* shows any pending refreshes *)

Output:

text
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Prog(MYPGM01) Len(00012544) Ass Pro Ena
 Prog(MYPGM02) Len(00008832) Ass Pro Ena
 Prog(MYPGM03) Len(00001664) Ass Pro Ena
 ... 12 results.
SYSID=CICA APPLID=CICSPRD1
RESPONSE: NORMAL                       TIME: 10.12.40  DATE: 05/25/26

For modules still showing under I PROG(...) NEWCOPY because usage was non-zero, schedule a PHASEIN retry through Zowe in CI:

text
zowe cics refresh program MYPGM04 --region-name CICSPRD1
zowe cics refresh program MYPGM07 --region-name CICSPRD1

Output:

text
success: true
message: PROGRAM refresh requested.

Snap a region under memory pressure without bouncing it

When SDSF shows storage shortage messages (DFHSM0131), capture state for diagnostics before deciding whether to recycle.

text
CEMT P SNAP DUMPCODE(MEMPRES1) TITLE('Storage shortage 10:14 - capture before recycle')
CEMT I TASK                                (* count suspended on storage waits *)
CEMT I PROG(*) USECOUNT(0) ENABLED         (* discard candidates *)

Output:

text
DFHDU0202  CICSPRD1 A transaction dump of dumpid 0001/0008 has been taken.

Follow up by discarding unused modules to free DSA without a shutdown:

text
CEMT S PROG(MYPGMUT1) DISABLED
CEMT D PROG(MYPGMUT1)

Output:

text
 Prog(MYPGMUT1)
RESPONSE: NORMAL                       TIME: 10.15.05  DATE: 05/25/26

Drain an MRO connection for a partner-region restart

Before the AOR is recycled, take the routing TOR's connection out of service so new transactions land elsewhere; let in-flight UOWs complete, then release.

text
CEMT S CONN(AOR1) OUTSERVICE
CEMT I CONN(AOR1)                          (* confirm Out *)
CEMT I TASK                                (* watch in-flight tasks on AOR1 drain *)
CEMT S CONN(AOR1) RELEASED                 (* once tasks are clear *)

Output:

text
 Con(AOR1) Net(CICSAOR1 ) Out Rel Ipi
RESPONSE: NORMAL                       TIME: 10.20.30  DATE: 05/25/26

Once the AOR has been restarted by its operator:

text
CEMT S CONN(AOR1) ACQUIRED INSERVICE
CEMT I CONN(AOR1)

Output:

text
 Con(AOR1) Net(CICSAOR1 ) Ins Acq Ipi

Run CEMT from a Zowe pipeline

A CI pipeline running on a Linux build agent can refresh a CICS module after a successful link-edit using Zowe.

bash
# Build agent — refresh the program after deploy step
zowe cics refresh program MYPGM01 \
  --region-name CICSPRD1 \
  --cics-plex PLEX1

Output:

text
success: true
message: PROGRAM refresh requested.
bash
# Fetch current state to confirm
zowe cics get resource CICSProgram \
  --region-name CICSPRD1 \
  --criteria "PROGRAM=MYPGM01"

Output:

text
success: true
recordcount: 1
records:
  - program: MYPGM01
    status: ENABLED
    language: COBOL
    length: 12544
    progtype: PROGRAM
    sharestatus: PRIVATE

Driving CEMT from VS Code via Zowe Explorer

The Zowe Explorer for CICS TS extension (refreshed throughout 2025-2026) gives a tree view over the same resources CEMT manages. From VS Code you can right-click a program, file, or JVM server in the CICS tree and trigger the equivalent of CEMT SET ... NEWCOPY / OPEN / ENABLE without opening a 3270 session. As of the January 2026 update, the CICS tree sorts resources alphabetically, the bundlepart enable status is shown directly in the label and icon, the Files tree merges local and remote CICS files, and the TS Queues tree groups TS and Shared TS queues. Combined with the CICS Resource Inspector, this is the recommended path for application developers who need the same outcomes as CEMT but want to stay in their IDE.

bash
zowe cics get resource CICSProgram \
  --region-name CICSPRD1 \
  --criteria "PROGRAM=MYPGM*"

zowe cics refresh program MYPGM01 --region-name CICSPRD1
zowe cics enable program MYPGM01  --region-name CICSPRD1
zowe cics disable program MYPGM01 --region-name CICSPRD1

Output:

text
success: true
message: PROGRAM refresh requested.

Quick reference card

text
INQUIRE   verbs:  PROG TASK FILE CONN TDQ TSQ TER TRA TCPIPS URI DSN
SET       state:  ENABLED DISABLED OPEN CLOSED INSERVICE OUTSERVICE
                  ACQUIRED RELEASED NEWCOPY PHASEIN CEDF NOCEDF PURGE
                  FORCEPURGE KILL READ NOUPDATE NOADD NODELETE
PERFORM   verbs:  SHUTDOWN [IMMEDIATE|DUMP|TAKEOVER]
                  SNAP DUMPCODE(...) TITLE('...')
                  STATISTICS [RECORD|IMMEDIATE]
                  RESET
                  SECURITY REBUILD
DISCARD   PROG | TRA | FILE | CONN | TDQ | TSQ (after disabled/closed)
Wildcards:        * = any chars   + = exactly one char
Filters:          ENABLED DISABLED OPEN CLOSED USECOUNT(0) LANGUAGE(COBOL)
                  RESCOUNT(0) NEWCOPY (pending only)
From console:     F regionname,CEMT verb object(...)
From a program:   EXEC CICS INQUIRE|SET|PERFORM ...
From workstation: zowe cics {refresh|get resource|set resource} ...

Sources