For whatever purpose, you might consider resetting the input offset pointer to the start of the record and re-read the fields again with alternate variable names.
Scott Barry
SBBWorks, Inc.
1 data _null_;
2 infile datalines dsd dlm=',';
3 length b x_b $20;
4 input @;
5 input a $ b $ @1 @;
6 input x_a $ x_b $ @;
7 input c $;
8 putlog _all_;
9 list;
10 datalines;
b=y12345678 x_b=y12345678 a=x x_a=x c=z _ERROR_=0 _N_=1
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+---
11 x,y12345678,z
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
12 run