# MQRC 2003: Unit of work backed out

Source: https://wndsoftware.com/mainframe-errors/mqrc-2003

### MQRC 2003: Unit of work backed out

MQRC 2003 means an IBM MQ unit of work was backed out or cannot commit. Find the earlier failure before deciding which transaction to retry.


#### Other names for this code

Also written as `RC2003`, `reason code 2003`, `MQ error 2003`, `MQRC_BACKED_OUT`, `07D3`, `0x07D3`.


### What it means

Reason 2003 concerns the transaction, not just the last message call. A commit or disconnect can report that work was rolled back. On distributed MQ, a message call can also discover that the current unit of work has already become uncommittable, for example after a logging failure.

The completion code depends on the call: it can be a warning or a failure. IBM documents platform differences, including a narrower batch case on z/OS. Preserve the call name when handing the incident to support.


#### A troubleshooting example

A consumer gets an order under syncpoint and produces two output messages. The first output succeeds; a later call fails and commit reports 2003. The incident record should contain all three operations, rather than just the commit line. Replaying one output independently could create an inconsistent order trail. Reproduce the failed path with a test order, confirm that the input is available again after backout, and verify that the application processes the whole order once when the underlying resource problem is removed.


### Common causes

- An earlier operation failed and left the current unit of work unable to commit.
- The queue manager could not obtain the logging resources needed for the transaction.
- An asynchronous consumer discovers that its unit of work has been backed out.


### How to find the problem

- Read backward from the first 2003 in the application log. Capture every MQ completion and reason code within that same unit of work.
- Compare the application timestamp with queue manager error messages. Separate the operational cause from the later rollback notification.
- Identify who coordinates the transaction: MQ, CICS, IMS or an external transaction manager. Do not assume every application owns its commit.
- List the intended business operation and its message gets, puts and database changes. Establish which resources actually participated in that transaction.


### How to fix it

- Resolve the earlier failure before replaying work. Repeating only the last put can break the intended relationship between the transaction operations.
- For an MQ-coordinated unit of work that cannot commit, follow the documented backout path. Use the environment-specific coordinator for managed transactions.
- Retry the complete business unit only when its outcome and external side effects have been reconciled. Use an application identifier to detect duplicate processing.


### What it looks like


```text
Illustrative diagnostic notes; not an IBM message template.
MQGET order: syncpoint
MQPUT output: earlier reason code recorded here
MQCMIT: Reason=2003
Investigate the earlier failure before retry.
```


### IBM documentation

[IBM MQ 9.4: 2003 MQRC_BACKED_OUT](https://www.ibm.com/docs/en/ibm-mq/9.4.x?topic=codes-2003-07d3-rc2003-mqrc-backed-out). Use the documentation for your installed release.

[Report a correction to WND Software](https://wndsoftware.com/contact#message).

Technical reviewer: [Albert Joseph](https://wndsoftware.com/authors/albert-joseph), WND Software.

Updated 2026-10-23. IBM documentation checked for this article. Written in our own words. For the full reference, check IBM’s MQ documentation for your version.


### Related codes

[MQRC 2024 MQRC_SYNCPOINT_LIMIT_REACHED Read →](https://wndsoftware.com/mainframe-errors/mqrc-2024)
[MQRC 2072 MQRC_SYNCPOINT_NOT_AVAILABLE Read →](https://wndsoftware.com/mainframe-errors/mqrc-2072)
[MQRC 2009 MQRC_CONNECTION_BROKEN Read →](https://wndsoftware.com/mainframe-errors/mqrc-2009)

### Questions


#### Does 2003 mean only the last put failed?

No. It describes the unit of work. Review the complete transaction and its earlier return codes.


#### Is MQRC 2003 always a failure completion code?

No. IBM documents warning and failure completions depending on the call and environment. Log both CompCode and Reason.

[IBM MQ reason codes](https://wndsoftware.com/mainframe-errors/mq-reason-codes) · [MQRC 2002](https://wndsoftware.com/mainframe-errors/mqrc-2002) · [MQRC 2009](https://wndsoftware.com/mainframe-errors/mqrc-2009)

[← All error codes](https://wndsoftware.com/mainframe-errors/)
