All item handling activities for one application are stored in an item handle structure. This handle is passed as a parameter to most item handling functions. The structure contains the following types of information:
A group table – an array of all groups available in the application. Each group includes information specific to that table:
- An item list of all items and keysets selected for that table. All selected items are attached to one of the group tables.
- A list of all keysets selected for that table
- A list of structures and keysets if the group is a structure
- Set information, with database information including the set structure. The set structure is not accessed directly. The items are bound to the proper location in the set structure.
- Calendar information including the data needed to identify periods for time series data.
- Key information for the current data loaded.
- Indexes directly to the items without the group context.
All item lists use a common CRSP_ITM structure for an item. It is identified by itm_name and keyset and contains pointers to the data objects plus pointers to relevant information in the reference arrays.
CRSPAccess provides a high level and flexible programming mechanism to support the large and changing set of supported data items. These item handling functions organize all items into groups (tables) based on an application identifier tied to a defined set of data using a standard notation and data structure. Users can specify any number of items with a standard mutation and traverse these items by group or look up individual fields. Item handling will work with any database with reference data. The CRSPAccess Programmers Guide contains functions for the CRSP Stock and Index data.