--- layout: article title: CAS Tables description: Dealing with CAS (in-memory) Tables in Data Controller og_image: /img/SAS-Viya-and-CAS-300x249.png --- !!! warning Work in Progress! # CAS Tables CAS Tables require special consideration in Data Controller with regards to the following topics: - System Account - Loading - Unloading - Special Variables ## System Account Despite having a shared SYSUSERID, the SPRE session will (by default) authenticate using the logged-in user credentials. To get around this, it is necessary to set up the CAS connection in the autoexec - ie, before the user takes over the session. The code snippet will be: ```sas %let _CASHOST_ = ; %let _CASPORT_ = 5570; cas dcsession authdomain="" sessopts=(caslib=casuser); ``` The credentials need to be first placed in the viya credentials service as described [here](https://go.documentation.sas.com/doc/en/pgmsascdc/v_073/casref/n0z3r80fjqpobvn1lvegno9gefni.htm#p11ynzjbz96oq1n17rgt2utv6swj). Another approach can be to use the `AUTHINFO="authentication-file" option, as described [here](https://go.documentation.sas.com/doc/en/pgmsascdc/v_073/casref/n0z3r80fjqpobvn1lvegno9gefni.htm#n174yddgn85756n1v5q4yb881xa0). Note that since the CAS connection is using a shared account, the CASUSER library is never shown in the DC interface. ## Loading It can happen that a CAS table is configured in Data Controller but not loaded into memory. In this case, when a user selects the table, it will be automatically loaded. ### REPLACE Load Type The REPLACE load type (which replaces all rows in the target table with the staged data) is now fully supported on CAS tables. This works the same way as it does for regular SAS datasets - see [MPE_TABLES](/dcc-tables/#loadtype) for general REPLACE documentation. ## Unloading After an approval, the in-memory version of the CAS Table will be updated. To apply this to the underlying file on disk, the following code must be executed (eg in a POST APPROVE HOOK): ```sas proc casutil; save casdata="mytable" incaslib="mycaslib" casout="mytable" outcaslib="mycaslib" replace; quit; ``` ## Special Variables Processing of data in Data Controller is performed in SPRE with SAS datasets - and as such, it is not possible to process character variables longer than 32k or other CAS specific data types. ## Temporary Table Cleanup If a CAS load fails partway through, any temporary tables created during the process are cleaned up automatically - no manual intervention is required.