Transaction Log Data Set

To track changes and additions to the SAS Clinical Standards Toolkit, all metadata management macros write one or more transaction records to a transaction log data set.
Note: Transaction records are not written when a macro is run in test mode.
The columns that are written to the transaction log data set are shown in this table.
Columns Written to the Transaction Log Data Set
Column
Label
Format
Valid Values
cststandard
Name of standard
$20
cststandardversion
Standard version
$20
cstuser
SAS user ID
$32
cstmacro
CST macro used
$32
cstfilepath
System file path
$2048
cstmessage
Message text
$500
cstcurdtm
Date/time of transaction (ISO8601)
E8601DT.
cstdataset
CST Data set
$41
cstcolumn
CST Data set column
$32
cstactiontype
Transaction type ADD|DELETE|UPDATE
$8
ADD|DELETE|UPDATE
cstentity
Transaction entity DATASET|COLUMN|RECORD
$8
DATASET|COLUMN|RECORD
Here are the values for cstactiontype:
  • ADD: An entity was added.
  • DELETE: An entity was deleted.
  • UPDATE: An entity was modified.
Here are the values for cstentity:
  • DATASET: A SAS data set was acted on.
  • COLUMN: A SAS column was acted on.
  • RECORD: A SAS data set record was acted on.
The default transaction log data set is stored in global standards library directory/logs as transactionlog.sas7bdat. This location and data set name are set in the %CST_GETSTATIC AUTOCALL macro using the static variable names CST_LOGGING_PATH and CST_LOGGING_DS, respectively. This default location and name can be modified by overriding the %CST_GETSTATIC macro or by setting the value of the global macro variable _cstTransactionDS to a reachable libref.dataset value before calling any metadata management macro.
Two support macros (%CSTUTILGETDSLOCK and %CSTUTILLOGEVENT) interact with the transaction log data set to determine whether the data set is locked (by another SAS process or by another user) and to control writing data to the data set.