Problem Note 13406: Informat name is truncated during creation of a character informat with the CNTLIN= option in PROC FORMAT
When creating a character informat from a control data set, PROC FORMAT
ignores the seventh and/or eighth characters of the informat name stored in the
FMTNAME column of the control data set.
In the following example, the informat name will be truncated to
ABCDEFHI.
data infmt;
fmtname='$abcdefghi';
type='J';
start='1';
label='YES';
run;
proc format cntlin=infmt fmtlib;
run;
The circumvention to the problem when creating the control data set with
DATA step code, is to make sure the informat name is preceded by an '@'.
The '@' indicates an informat.
fmtname='@$abcdefghi';
In this example, the informat name is truncated to ABCDEFI.
proc format cntlout=outinfmt;
invalue $abcdefghi '1'='NO';
run;
proc format cntlin=outinfmt fmtlib;
run;
The circumvention to the problem when using a control data set created
by the CNTLOUT= option, is to append the '@' using a DATA step prior to
PROC FORMAT CNTLIN=.
data outinfmt;
set outinfmt;
if type='J' and fmtname ^=: '@$' then do;
if fmtname=:'$' then fmtname='@'||fmtname;
else if fmtname=:'@' then fmtname='@$'||substr(fmtname,2);
else fmtname='@$'||fmtname;
end;
run;
A fix for SAS 9.1.3 (9.1 TS1M3) for this issue is available at:
http://www.sas.com/techsup/download/hotfix/e9_sbcs_prod_list.html#013406
For customers running SAS with Asian Language Support (DBCS), this
fix should be downloaded from:
http://www.sas.com/techsup/download/hotfix/e9_dbcs_prod_list.html#013406
Operating System and Release Information
SAS System | Base SAS | Microsoft Windows XP Professional | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft Windows NT Workstation | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft Windows Server 2003 Enterprise Edition | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft Windows Server 2003 Standard Edition | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft Windows 2000 Professional | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft Windows 2000 Server | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft Windows Server 2003 Datacenter Edition | 9 TS M0 | 9.1 TS1M3 SP1 |
Solaris | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft Windows 2000 Advanced Server | 9 TS M0 | 9.1 TS1M3 SP1 |
Microsoft Windows 2000 Datacenter Server | 9 TS M0 | 9.1 TS1M3 SP1 |
HP-UX | 9 TS M0 | 9.1 TS1M3 SP1 |
Linux | 9 TS M0 | 9.1 TS1M3 SP1 |
64-bit Enabled Solaris | 9 TS M0 | 9.1 TS1M3 SP1 |
z/OS | 9 TS M0 | 9.1 TS1M3 SP1 |
HP-UX IPF | 9 TS M0 | 9.1 TS1M3 SP1 |
64-bit Enabled HP-UX | 9 TS M0 | 9.1 TS1M3 SP1 |
OpenVMS Alpha | 9 TS M0 | 9.1 TS1M3 SP1 |
64-bit Enabled AIX | 9 TS M0 | 9.1 TS1M3 SP1 |
Tru64 UNIX | 9 TS M0 | 9.1 TS1M3 SP1 |
AIX | 9 TS M0 | 9.1 TS1M3 SP1 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
Informat name is truncated during creation of a character informat with the CNTLIN= option in PROC FORMAT.
Type: | Problem Note |
Priority: | medium |
Topic: | SAS Reference ==> Procedures ==> FORMAT
|
Date Modified: | 2005-01-03 12:42:22 |
Date Created: | 2004-09-23 12:01:15 |