Problem Note 69595: Using "Import Terms" fails with the error "The SAS System stopped processing this step because of insufficient memory" in SAS® Business Rules Manager
When you use Import Terms in SAS Business Rules Manager to import terms from a large data table, the following pop-up error is received:

This issue occurs for tables that have character variables with a length of 32,767 and a large number of records (rows). For example, a table with four character variables with a length of 32,767 and 20 million records causes this issue when 92 GB of memory is available on the system. If there is less memory on the system, a smaller input data table could cause this issue.
The Import Terms action imports the metadata for a table and also analyzes the table to retrieve the table's domain value. For a large table, retrieving and storing the domain value is a memory expensive task. This is especially true if that table contains many discrete values.
The domain value is used to help define rules. For example, when an IN list is defined for a term with the domain value, a list of the possible term values is provided that you can select to add. Here is the description of domain values from the Specify Domain Values section of the SAS® Decision Manager 3.3 documentation:
"Domain values are the set of expected values for a term. Domain values are not used to validate rules. They are used to enable faster and easier rule authoring. They are displayed in the Equation Editor, which enables you to add a value to an expression by double-clicking on the value."
To work around this issue, use Import Terms with a table with zero records so that it does not import the domain value. This makes the import quicker and uses less memory. However, as described above, the list of the expected values for terms is not provided to help with defining rules.
The following is an example of DATA step code that creates a zero row table from the original table:
data libname.zerorowfile; /*new dataset to be created in libname library*/
set libname.currentfile; /* points to the current dataset in libname library */
if _N_ < 1; /* _N_ is the observation number; < 1 is no observations */
run;
Operating System and Release Information
| SAS System | SAS Business Rules Manager | Microsoft® Windows® for x64 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 8 Enterprise 32-bit | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 8 Enterprise x64 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 8 Pro 32-bit | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 8 Pro x64 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 8.1 Enterprise 32-bit | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 8.1 Enterprise x64 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 8.1 Pro 32-bit | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 8.1 Pro x64 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 10 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows 11 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2008 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2008 R2 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2008 for x64 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2012 Datacenter | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2012 R2 Datacenter | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2012 R2 Std | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2012 Std | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2016 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2019 | 3.3 | | 9.4 TS1M7 | |
| Microsoft Windows Server 2022 | 3.3 | | 9.4 TS1M7 | |
| Windows 7 Enterprise 32 bit | 3.3 | | 9.4 TS1M7 | |
| Windows 7 Enterprise x64 | 3.3 | | 9.4 TS1M7 | |
| Windows 7 Home Premium 32 bit | 3.3 | | 9.4 TS1M7 | |
| Windows 7 Home Premium x64 | 3.3 | | 9.4 TS1M7 | |
| Windows 7 Professional 32 bit | 3.3 | | 9.4 TS1M7 | |
| Windows 7 Professional x64 | 3.3 | | 9.4 TS1M7 | |
| Windows 7 Ultimate 32 bit | 3.3 | | 9.4 TS1M7 | |
| Windows 7 Ultimate x64 | 3.3 | | 9.4 TS1M7 | |
| 64-bit Enabled AIX | 3.3 | | 9.4 TS1M7 | |
| 64-bit Enabled Solaris | 3.3 | | 9.4 TS1M7 | |
| HP-UX IPF | 3.3 | | 9.4 TS1M7 | |
| Linux for x64 | 3.3 | | 9.4 TS1M7 | |
| Solaris for x64 | 3.3 | | 9.4 TS1M7 | |
*
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.
When you use "Import Terms" in SAS Business Rules Manager to import terms from a large data table, there might not be enough memory to complete the task. A pop-up message appears with "java.lang.RuntimeException...ERROR: The SAS System stopped processing this step because of insufficient memory.."
| Type: | Problem Note |
| Priority: | medium |
| Date Modified: | 2022-10-06 08:05:22 |
| Date Created: | 2022-09-30 20:11:22 |