--- 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. ## 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.