The REDEFINES allows you to provide a redefinition of a name, redefinition of the PIC clause for the name or both.
05 ONE-TYPE-DATA PIC 9(5).
05 TWO-TYPE-DATA REDEFINES ONE-TYPE-DATA PIC 9(4).
05 ONE-NAME PIC X(3).
05 TWO-NAME REDEFINES ONE-NAME.
Note that the second example doesn't redefine the PIC clause, just redefines the name. (The original name will still work of course;just gives it a second name which that is used sometimes for internal tables)
How you use a REDEFINED name in a program is simply by referring to that name, so you can use it in both INPUT and OUTPUT.
Recently I used a REDEFINES statement in INPUT where one field of data could be a Sales figure, an hourly wage rate or a fixed salary rate (sales figure was 9(5), the hourly was 9(2)V99 and the salary was 9(3)V99).
Another good mention is the original definition must be the LARGEST PIC clause, redefines can't be any larger in size than the original statement.
BTW I'm a COBOL student too

Chris Green
Computer Information Systems Student
Cayuga Community College -- Fulton