Skip to main content

Difference between release, hold and barr status

Written by Charnjit Singh Dharival

What is the difference between holding an order, and barring it?


How each option is picked up

The dropdown gadgets translate directly into a W-ACTION code. The resulting stored status on each order item (COR-ORDER-STATUS) is:

  • "R" (Release) → stored as SPACE / blank (released is the "normal" empty status)

  • "H" (Hold) → stored as "H"

  • "B" (Barr) → stored as "B"

(For reference, "C" = Complete, and complete items are skipped by the status change: IF COR-ORDER-STATUS = "C" GO TO BD-NEXT.)

Difference in behaviour

Release Order ("R") — Puts the order back to normal/open. The stored status becomes blank, and if the item has a master schedule (COR-MS), it is reinstated via BDC-REINSTATE-MS, which restores the master schedule quantity to the outstanding amount (COR-QTY-ORDERED - COR-QTY-DELIVERED).

Hold Order ("H") — Marks the order as held so it will not proceed (e.g. not be picked/despatched), but it is a soft stop. Like release, if there is a master schedule it is reinstated rather than removed, and crucially it does not touch allocations or pick notes. So a held order keeps its stock allocation intact and can simply be released again later.

Barr Order ("B") — This is the "hardest" stop and does the most work. In addition to setting the status to "B", barring will:

  1. Reverse a confirmed pick note if one exists (BDE-REVERSE-CONFIRM, which calls ASC_API_COR_REVERSE_CONFIRM_S).

  2. Remove any master schedule for the item via BDB-INITIALISE-MS, which zeroises the master schedule quantity (MOVE 0 TO MSC-QTY).

  3. Zeroise the allocation: it reduces the part's customer allocations (PMA-CUSTOMER-ALLOCATIONS) by the allocated qty and sets COR-QTY-ALLOCATED to zero, freeing that stock back up.

  4. Remove lot allocations by calling LTDELALC (BDD-CALL-LTDELALC).

Summary

Option

Status stored

Master schedule

Allocation / stock

Pick note

Release (R)

blank (open)

reinstated

untouched

untouched

Hold (H)

H

reinstated

untouched

untouched

Barr (B)

B

removed (zeroised)

freed (deallocated)

reversed if confirmed

  • Release returns an order to normal processing.

  • Hold is a temporary/soft stop that preserves the order's stock allocation and schedule so it can be easily released again.

  • Barr is a hard stop that actively unwinds the order; removing its master schedule, releasing its stock allocations (customer and lot), and reversing any confirmed pick note.

The same values are also used elsewhere for reporting e.g. order-value totals are bucketed into W-HELD-ORDER-VAL ("H"), W-BAR-ORDER-VAL ("B"), and W-REL-ORDER-VAL.

  • Hold does not stop the production process itself; it does not cancel the master schedule, does not deallocate stock, and existing production demand remains (shown as "held" demand in MRP).

  • Hold does stop the despatch / picking / invoicing process; held lines are skipped for despatch confirmation, despatch‑note printing and invoicing.

  • The one production‑planning effect is that MRP will not raise new suggested orders to cover held demand (it parks it in the HNEED/held bucket), but it does not halt work already in progress.

Contrast this with Barr ("B"), which is the hard stop that actually unwinds production/supply: it removes the master schedule, frees the allocation, and reverses a confirmed pick note and also blocks allocation entirely.

  • Putting an order on hold stops the Pick Note from being generated/printed; the pick-note build loop skips "H" and "B" orders, and the reprint routine only handles released orders.

  • But "stopping picking" isn't only the pick note; the hold also blocks despatch confirmation and invoicing further down the line.

  • Recall that stock allocation is still permitted for held orders, so hold prevents the paperwork/despatch, not the reservation of stock.

Did this answer your question?