s = CS.Data.readCase(dataId := ...,
key := ... ‖ uuid := ... ‖ position := ...
ʃ, serializationOptions := ...ʅ)
| Argument | Description | Types / Required |
| dataId | The resource ID returned by Data.open, or a dictionary name. | number, string
recommended |
| key | The key (case IDs) of a case. | string
not required |
| uuid | The UUID of a case. | string
not required |
| position | The "position" of a case. | number
not required |
| serializationOptions | Options for how the case should be serialized. | object
not required |
The data source is identified using
dataId. If specified as a string, it references the data source that is connected to a dictionary that is part of an application. If specified as a number, it is processed as a
resource ID returned by
Data.open. This typically references non-application data sources. While optional, this should generally be specified explicitly. (If there is only one data source open, the resource ID can be calculated implicitly.)
- key: When specifying a key (case IDs), only non-deleted cases are matched.
- uuid: Specifying a case's UUID allows matching on all cases, including deleted cases. Note that not all data sources use UUIDs.
- position: Identification by the "location" of the case in the data source also matches on all cases. Note that the position value can change when the data source is modified.
One of these case identifiers must be specified. If multiple identifiers are specified, uuid is prioritized over position, which is prioritized over key.
Because CSPro optimizes the reading of case data, you may need to disable the dictionary's
Read Optimization setting when using this action on external dictionaries or in batch applications.
The action returns the case object.
The action throws an exception if any of its arguments are not specified in a valid form, or if:
- The data source ID is not valid.
- The specified case does not exist in the data source.
- There is an error interacting with the data source.
// read a case with a specific key
const caseData = CS.Data.readCase({
dataId: "CLIMATE_DICT",
key: "010112600910970251",
serializationOptions: {
writeLabels: true
}
});
// display the value of all ID items along with their labels
for (const [name, idOrRecord] of Object.entries(caseData.CLIMATE_LEVEL)) {
if (!Array.isArray(idOrRecord)) {
print(`${name}: ${idOrRecord.code} - ${idOrRecord.label}`);
}
}