无法创建标签大于 40 的 xpt 文件 (Sas8)

Not able to create xpt file (Sas8) label greater than 40

TS-140 记录布局不工作。 下面是大于 40 的变量的 header 部分。 HEADER 记录*****LABELV8 HEADER 记录!!!!!!!!nnnnn 其中 nnnnn 是长标签的变量数。

我们可以得到任何样本xpt (sas8) 文件吗(至少一个标签大于40)。

在 SAS Universal Viewer 的文件打开菜单中,它肯定是 V5 传输文件。 V5 格式仅支持 SAS 版本 5 中存在的限制。因此 8 个字符名称,40 个字符标签,字符变量的最大长度为 200。

但看起来它确实支持更长的值。至少在使用版本 1.42 时。

示例代码:

data v8;
  attrib var1 label=
'This label is so long that it will have more than 40 characters';
  input (var1 var2 ThisNameIsMoreThan8Chars) (:.);
cards;
1 2 3
4 5 6
;

%loc2xpt(libref=work,memlist=V8,filespec=xpt,format=auto);

结果文件:

305   data _null_;
306    infile xpt lrecl=80 recfm=f;
307    input;
308    list;
309   run;

NOTE: The infile XPT is:
      Filename=...,
      File Size (bytes)=1440

RULE:     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
1         HEADER RECORD*******LIBV8   HEADER RECORD!!!!!!!000000000000000000000000000000

2   CHAR  SAS     SAS     SASLIB  9.1     LIN X64.                        07JUN21:11:11:51
    ZONE  54522222545222225454442232322222444253302222222222222222222222223345433333333333
    NUMR  3130000031300000313C92009E100000C9E0864000000000000000000000000007A5E21A11A11A51
3         07JUN21:11:11:51
4         HEADER RECORD*******MEMBV8  HEADER RECORD!!!!!!!000000000000000001600000000140
5         HEADER RECORD*******DSCPTV8 HEADER RECORD!!!!!!!000000000000000000000000000000

6   CHAR  SAS     V8                              SASDATA 9.1     LIN X64.07JUN21:11:11:51
    ZONE  54522222532222222222222222222222222222225454454232322222444253303345433333333333
    NUMR  3130000068000000000000000000000000000000313414109E100000C9E0864007A5E21A11A11A51
7         07JUN21:11:11:51
8         HEADER RECORD*******NAMSTV8 HEADER RECORD!!!!!!!000000000300000000000000000000

9   CHAR  ........var1    This label is so long that it will have         ........
    ZONE  00000000767322225667266666267276266662766726727666266762222222220000000022222222
    NUMR  020001016121000048930C125C09303F0CFE704814094079CC081650000000000000000000000000

10  CHAR  ........var1                            .?..........................var2
    ZONE  00000000767322222222222222222222222222220300000000000000000000000000767322222222
    NUMR  00000000612100000000000000000000000000000F01010000000000000002000102612200000000

11  CHAR                                              ........        ........var2
    ZONE  22222222222222222222222222222222222222222222000000002222222200000000767322222222
    NUMR  00000000000000000000000000000000000000000000000000000000000000000001612200000000

12  CHAR                      ............................ThisName
    ZONE  22222222222222222222000000000000000000000000000056674666222222222222222222222222
    NUMR  0000000000000000000001010100000000000000020001034893E1D5000000000000000000000000

13  CHAR                          ........        ........ThisNameIsMoreThan8Chars
    ZONE  22222222222222222222222200000000222222220000000056674666474676566634667722222222
    NUMR  0000000000000000000000000000000000000000000000024893E1D593DF25481E83812300000000

14  CHAR  ....................
    ZONE  00000000000000000000222222222222222222222222222222222222222222222222222222222222
    NUMR  01010100000000000000000000000000000000000000000000000000000000000000000000000000
15        HEADER RECORD*******LABELV8 HEADER RECORD!!!!!!!1

16  CHAR  .....?var1This label is so long that it will have more than 40 characters
    ZONE  00000376735667266666267276266662766726727666266762667627666233266676676772222222
    NUMR  01040F612148930C125C09303F0CFE704814094079CC081650DF250481E040038121345230000000
17        HEADER RECORD*******OBSV8   HEADER RECORD!!!!!!!              2
18        123456
NOTE: 18 records were read from the infile XPT.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds