Problem Note 13406: Informat name truncated with creating a character informat with the
CNTLIN= option in PROC FORMAT
When creating a character informat from a control data set, PROC FORMAT
ignores the 7th and/or 8th 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.
| 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 |