How to Modify a Consumable asset record after it has been Consumed


This should never need to be done. Once an asset is consumed, it is gone from the world, and so nothing should need to do anything more with the Consumable Asset (alm_consumable) record. Because of that, there are out-of-box Access Control (ACL) Rules to prevent this happening.

However, mistakes can happen, and it may be necessary to correct the state, or number remaining, to bring it back to life.

2 ACL rules prevent Consumed Consumables being edited:

If you open either of those you will see the Condition that includes 'State' IS NOT 'Consumed'

Release or Environment

These specific SYS IDs are in New York, and at least several versions prior to that. Different ACLs might conceivably be involved in future versions. Turning on "Session Debug" for "Debug Security" would allow you to easily see which ACLs are relevant on a consumed consumable form.


Note: This is a temporary procedure, which needs to be reverted afterwards. In normal use, Consumed Consumables  need to remain read-only.

  1. Log in as an admin role user, with security_admin enabled
  2. For each of these 2x ACL records:
    • record/write: alm_asset.
    • record/write: alm_asset.*
  3. Open the record(s)
  4. In the Condition builder, click the 'X' button to remove the 'State is not Consumed' condition
  5. Save the record(s), but keep them open.
  6. Do whatever it is you need to do to your Consumable Asset records:
  7. Check you have the 'Versions' related list on your ACL form, and add it if necessary using Configure -> Related Lists
  8. Open the previous Version record listed that has the values Source = "System Upgrades: glide...", meaning it is the out-of-box version.
  9. On the Update Versions form, click the "Revert to this version" related link:

The 2 ACL Rule records will now be back as the Out-of-box version, and so won't break anything in your next upgrade. (If you had simply re-entered the condition and saved the ACL again, this change would have remained as your customisation, and been skipped in the next upgrade, meaning you will not get future upgrades to these ACL rules, which is bad because this could break functionality in future versions.)