The situations when field "redirect" is protected are coded in MSO877.CBL, under MSM877A-GRP-ATTRIBUTES SECTION -search for "protect". Below is my reading of the code:
(a) Transaction type is 'spaces' or transaction has been deleted (I would think this indicates some unusual situation, eg someone deleted the source record eg a purchase requisition on msf230, while it is still queued on MSF877 for authorisation)
(b) transaction type is other than 'work order' and Authorisation Reason is 'spaces', ie: you cannot redirect a transaction unless a reason is specified (given that transaction is other than a work order)
(c) a reason is recorded, and:
- msf877 authorisation reason is '04' = 'loan requested', or:
- msf877 authorisation status is 'N', or:
- transaction was declared 'read-only' by this program because it failed various validation tests (see below)
(d) transaction type is 'work order' and transaction was declared 'read-only' by this program because it failed various validation tests, see below:
If your transaction is in one of the 'read-only' situations above, we need to check further the source code as it may denote several reasons for some error in the records.