What I don't understand is why you don't just use
MOVE WS-ORIGINAL-AMT TO <numeric-variable>
since 184.108.40.206.1 of the COBOL Language Reference
manual on the MOVE statement explicitly states
When the sending item is numeric-edited, the compiler de-edits the sending data to establish the unedited value of the numeric-edited item (this value can be signed). The unedited numeric value is used in the move to the receiving numeric or numeric-edited data item.
Due to the size of WS-ORIGINAL-AMT you might have to use ARITH(EXTEND) compiler option, but that's no big deal.