Usage Note 60388: Array behavior is different in SAS® High-Performance Risk 3.8 and later
In SAS High-Performance Risk 3.8 and later, it is necessary to use the NOSYM option to avoid truncated output arrays from risk functions (call routines) if they have a length longer than the declared length. Otherwise, these arrays are truncated to the declared length. The NOSYM option in the array declaration indicates that the array is dynamic, and the array might have a length longer than the declared length. In project runs, if the output array has been truncated, the log includes a warning.
An example of using the NOSYM option to declare dynamic arrays follows.
proc compile env=envlib outlib=envlib;
method instave kind=computed;
array ranked_vals[1] / nosym;
array indices[1] / nosym;
call get_ranked_values('VALUE', ., ranked_vals, indices);
n = dim(ranked_vals);
sum = 0;
do i=1 to n;
sum += ranked_vals[i];
end;
xmean = sum/n;
instave = xmean;
endmethod;
run;
Operating System and Release Information
| SAS System | SAS High-Performance Risk | Solaris for x64 | 3.8 | | 9.4 TS1M4 | |
| Linux for x64 | 3.8 | | 9.4 TS1M4 | |
| 64-bit Enabled Solaris | 3.8 | | 9.4 TS1M4 | |
| 64-bit Enabled AIX | 3.8 | | 9.4 TS1M4 | |
| Microsoft® Windows® for x64 | 3.8 | | 9.4 TS1M4 | |
*
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.
In SAS High-Performance Risk 3.8 and later, it is necessary to use the NOSYM option to avoid truncated risk function output arrays if they have a length longer than the declared length.
| Type: | Usage Note |
| Priority: | |
| Topic: | Analytics ==> Financial Analysis
|
| Date Modified: | 2017-05-09 14:22:18 |
| Date Created: | 2017-05-01 17:25:39 |