You will NOT get an error using refmod in the 1st 2 cases. They are treated as GROUP moves.
Try it . You'll see that I'm correct.
Re. the 3rd case, see "When the sending item is alphanumeric" below. This is from the Zos Cobol manual. The move will be successful (even w/alpha chars) but any arith functions will fail.
The following rules outline the execution of valid elementary moves. When the receiving field is:
Numeric or Numeric-edited:
Except where zeros are replaced because of editing requirements, alignment by decimal point and any necessary zero filling take place, as described under "Alignment rules" in topic 22.214.171.124.
If the receiving item is signed, the sign of the sending item is placed in the receiving item, with any necessary sign conversion. If the sending item is unsigned, a positive operational sign is generated for the receiving item.
If the receiving item is unsigned, the absolute value of the sending item is moved, and no operational sign is generated for the receiving item.
When the sending item is alphanumeric, the data is moved as if the sending item were described as an unsigned integer.
When the sending item is floating-point, the data is first converted to either a binary or internal decimal representation and is then moved.
De-editing allows moving a numeric-edited data item into a numeric or numeric-edited receiver. The compiler accomplishes this by first establishing the unedited value of the numeric-edited item (this value can be signed), then moving the unedited numeric value to the receiving numeric or numeric-edited data item.