boe 发表于 2013-7-12 00:08 
不知理解对了没有
var3 = put(compress(osid||put(pid,z4.)), $13.);
非常正确
data test;
input osid $9. pid ;
var3 = cats(osid, put(pid, z4.));
var4 = put(compress(osid||put(pid,z4.)), $13.);
var5 = osid||put(pid, z4.);
datalines;
441802222 087
440781221 10
440703240 1000
; run;
proc contents data=test; run;
Alphabetic List of Variables and Attributes
# Variable Type Len
1 osid Char 9
2 pid Num 8
3 var3 Char 200
4 var4 Char 13
5 var5 Char 13