Problem Note 1526: PARMBUFF option causes values not to be assigned to keyword parameters
According to the macro documentation for PARMBUFF if a macro definition
includes both a set of parameters and the PARMBUFF option, the macro
invocation should cause the parameters to receive values and cause the
entire invocation list of values to be assigned to SYSPBUFF. It does
assign the entire list to SYSPBUFF, but if you have keyword parameters
defined they do not get assigned values.
Example:
%macro test(b=) / parmbuff;
%put &syspbuff;
%put *&b*;
%mend;
%test(1 2 3 4 5,b=100)
Incorrect results:
MLOGIC(TEST): %PUT &syspbuff
(1 2 3 4 5,b=100)
MLOGIC(TEST): %PUT *&b*
**
Correct results:
MLOGIC(TEST): %PUT &syspbuff
(1 2 3 4 5,b=100)
MLOGIC(TEST): %PUT *&b*
*100*
Operating System and Release Information
| Product Family | Product | System | Reported Release | Fixed Release* |
| SAS System | Base SAS | Microsoft Windows 95/98 | 8 TS M0 | 8.1 TS1M0 |
| Microsoft Windows NT Workstation | 8 TS M0 | 8.1 TS1M0 |
| OpenVMS VAX | 8 TS M0 | 8.1 TS1M0 |
| Solaris | 8 TS M0 | 8.1 TS1M0 |
| IRIX | 8 TS M0 | 8.1 TS1M0 |
| 64-bit Enabled Solaris | 8 TS M0 | 8.1 TS1M0 |
| OS/2 | 8 TS M0 | 8.1 TS1M0 |
| ABI+ for Intel Architecture | 8 TS M0 | 8.1 TS1M0 |
| z/OS | 8 TS M0 | 8.1 TS1M0 |
| HP-UX | 8 TS M0 | 8.1 TS1M0 |
| OpenVMS Alpha | 8 TS M0 | 8.1 TS1M0 |
| CMS | 8 TS M0 | 8.1 TS1M0 |
| 64-bit Enabled HP-UX | 8 TS M0 | 8.1 TS1M0 |
| Tru64 UNIX | 8 TS M0 | 8.1 TS1M0 |
| 64-bit Enabled AIX | 8 TS M0 | 8.1 TS1M0 |
| AIX | 8 TS M0 | 8.1 TS1M0 |
*
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: | low |
| Topic: | SAS Reference ==> Macro
|
| Date Modified: | 2000-01-24 14:09:47 |
| Date Created: | 1999-12-16 14:46:10 |