NATURAL's REINPUT Statement

REINPUT can change field attributes when executed:

REINPUT 'FIELD NEEDS HELP' MARK FIELD *#BUG (AD=I)
or change the color of the field:
REINPUT 'FIELD NEEDS HELP' MARK FIELD *#BUG (CD=YE)

May provide temporary protection for additional field(s):

REINPUT 'FIELD NEEDS MORE HELP' MARK FIELD *#BUG *#BOMB (AD=P) *OOPS (AD=P)

A REINPUT statement may provide temporary protection 

for all fields except the target field: REINPUT (AD=P) 'FIELD NEEDS MORE HELP' MARK FIELD *#BUG

May provide access to selected fields during the temporary

protection (from above):
REINPUT (AD=P) 'FIELDS NEED MORE HELP'
  MARK FIELD *#BUG *#BOMB *#OOPS
Protects all fields except #BUG, #BOMB, and #OOPS

May concatenate multiple fields (maximum of 7) into
user message:
REINPUT 'FIELD ERROR:1::2::3:',#BUG,#BOMB,#OOPS
May invoke (user or application) error message stored 
via SYSERR utility:
REINPUT WITH *9123
May expand the amount of text available for the error 
message (must be incorporated via SYSERR during editing):

REINPUT WITH *9123 'BUG0099'
Here’s another variation on REINPUT:

As you might know, the FULL option instructs Natural
to display any screen field that has changed as a result
of a program statement executed between the INPUT and
the REINPUT (normally the “changed” field displays the
original screen value). This rule also applies to any
control variables attached to screen fields:
0010 DEFINE DATA LOCAL
0020 1 #F1(A20)
0030 1 #F2(A20) INIT <'Protected'>
0040 1 #F3(A20)
0050 1 #F1CV(C)
0060 1 #F2CV(C)
0070 1 #F3CV(C)
0080 END-DEFINE
0090 MOVE (AD=NP) TO #F2CV
0100 INPUT (AD=M) #F1(CV=#F1CV) / #F2(CV=#F2CV) / #F3(CV=#F3CV)
0110 IF #F2 = 'Protected'
0120 RESET #F2CV
0130 REINPUT 'Change F2 please' MARK *#F2
0140 * REINPUT FULL 'Change F2 please' MARK *#F2
0150 END-IF
0160 END
The reset doesn’t “change” the CV setting (from line 0090)
as one might suspect when the REINPUT on line 0130 is executed.
But it will permit the typing of data into the field with using
line 0140 instead.