# Drill-Through Constant and Structure Definitions

The following constants and structures are defined specifically for use with Drill-Through:

Constants for Drill-Through

C Main Drill-Through Structures (GUI Wizard: essdt.dll)

- ESS_DTBUFFER_T
- ESS_DTDATA_T
- ESS_DTHEADER_T

C Main Drill-Through Structures (No GUI Wizard: essdtapi.dll)

- ESS_DTAPICOLUMN_T
- ESS_DTAPIDATA_T
- ESS_DTAPIHEADER_T
- ESS_DTAPIINFO_T
- ESS_DTAPIREPORT_T

## Constants for Drill-Through

The following constants define various values used by Drill-Through functions and structures in the Essbase API.

## C Main Drill-Through Constants
(GUI Wizard: essdt.dll)

### Maximum String Lengths

The following constants define the maximum lengths of various string types in the Essbase API. All of these constants include the terminating NULL character:

Constant | Definition
ESS_ALIASNAMELEN | Maximum length of an alias table name
ESS_APPNAMELEN | Maximum length of an application name
ESS_CRDB_MAXIMUM | Maximum dimension number for a Currency database
ESS_DBNAMELEN | Maximum length of a database name
ESS_DESCLEN | Maximum length of an application or database description
ESS_DESCRIPTION_LEN | Maximum string length (255) used for drill-through
ESS_DTREPORT_NAME | Maximum string length (80) used for drill-through
ESS_FTRNAMELEN | Maximum length of a filter name
ESS_LINELEN | Maximum length of a line in a report
ESS_MAX_DATALEN | Maximum string length (255) used for drill-through
ESS_MAX_NAME | Maximum string length (30) used for drill-through
ESS_MBRCOMMENTEXLEN | Maximum length of an extended member comment
ESS_MBRNAMELEN | Maximum length of a member name
ESS_NAMELEN | Maximum length of a general name
ESS_PASSWORDLEN | Maximum length of a user password
ESS_PATHLEN | Maximum length of a file path name
ESS_OBJNAMELEN | Maximum length of an object name
ESS_SVRNAMELEN | Maximum length of a server name
ESS_USERNAMELEN | Maximum length of a user or group name

## Pointer Types

Data Type | Essbase Type | Description
char | *ESS_PCHAR_T | pointer to char
unsigned char | *ESS_PUCHAR_T | pointer to unsigned char
short | *ESS_PSHORT_T | pointer to short
unsigned short | *ESS_PUSHORT_T | pointer to unsigned short
long | *ESS_PLONG_T | pointer to long
unsigned long | *ESS_PULONG_T | pointer to unsigned long
double | *ESS_PDOUBLE_T | pointer to double
float | *ESS_PFLOAT_T | pointer to float
ESS_ACCESS_T | *ESS_PACCESS_T | pointer to Essbase access level
ESS_BOOL_T | *ESS_PBOOL_T | pointer to boolean
ESS_DTAPIHINST_T | *ESS_PDTAPIHINST_T | pointer to a drill-through initialization structure
ESS_DTHINST_T | *ESS_PDTHINST_T | pointer to a drill-through initialization structure
ESS_HCTX_T | *ESS_PHCTX_T | pointer to Essbase API context handle
ESS_HINST_T | *ESS_PHINST_T | pointer to Essbase API instance handle
ESS_HCTX_T | *ESS_PHCTX_T | pointer to Essbase API context handle
ESS_SIZE_T | *ESS_PSIZE_T | pointer to size of a memory block
ESS_STR_T | *ESS_PSTR_T | pointer to string
ESS_VOID_T | *ESS_PVOID_T | pointer to void

### C Main Drill-Through Constants
(No GUI Wizard: essdtapi.dll)

Maximum String Lengths

The following constants define the maximum lengths of various string types in the Essbase API. All of these constants include the terminating NULL character:

Constant | Definition
ESS_ALIASNAMELEN | Maximum length of an alias table name
ESS_APPNAMELEN | Maximum length of an application name
ESS_CRDB_MAXIMUM | Maximum dimension number for a Currency database
ESS_DBNAMELEN | Maximum length of a database name
ESS_DESCLEN | Maximum length of an application or database description
ESS_DESCRIPTION_LEN | Maximum string length (255) used for drill-through
ESS_DTREPORT_NAME | Maximum string length (80) used for drill-through
ESS_FTRNAMELEN | Maximum length of a filter name
ESS_LINELEN | Maximum length of a line in a report
ESS_MAX_DATALEN | Maximum string length (255) used for drill-through
ESS_MAX_NAME | Maximum string length (30) used for drill-through
ESS_MBRCOMMENTEXLEN | Maximum length of an extended member comment
ESS_MBRNAMELEN | Maximum length of a member name
ESS_NAMELEN | Maximum length of a general name
ESS_PASSWORDLEN | Maximum length of a user password
ESS_PATHLEN | Maximum length of a file path name
ESS_OBJNAMELEN | Maximum length of an object name
ESS_SVRNAMELEN | Maximum length of a server name
ESS_USERNAMELEN | Maximum length of a user or group name

### Drill-Through Connection Values for uInputOption in ESS_DTAPIINFO_T

The following constants define input values to connect to the Hyperion Integration Server for drill-through.

Constant | Definition
ESS_DTAPI_PROMPT_HISNAME | A value for uInputOption which means that the user can connect to the Hyperion Integration Server to perform a drill-through
ESS_DTAPI_PROMPT_LOGIN | A value for uInputOption which means that a password is required to connect to the Hyperion Integration Server to perform a drill-through

## Pointer Types

Data Type | Essbase Type | Description
char | *ESS_PCHAR_T | pointer to char
unsigned char | *ESS_PUCHAR_T | pointer to unsigned char
short | *ESS_PSHORT_T | pointer to short
unsigned short | *ESS_PUSHORT_T | pointer to unsigned short
long | *ESS_PLONG_T | pointer to long
unsigned long | *ESS_PULONG_T | pointer to unsigned long
double | *ESS_PDOUBLE_T | pointer to double
float | *ESS_PFLOAT_T | pointer to float
ESS_ACCESS_T | *ESS_PACCESS_T | pointer to Essbase access level
ESS_BOOL_T | *ESS_PBOOL_T | pointer to boolean
ESS_DTAPIHINST_T | *ESS_PDTAPIHINST_T | pointer to a drill-through initialization structure
ESS_DTHINST_T | *ESS_PDTHINST_T | pointer to a drill-through initialization structure
ESS_HCTX_T | *ESS_PHCTX_T | pointer to Essbase API context handle
ESS_HINST_T | *ESS_PHINST_T | pointer to Essbase API instance handle
ESS_HCTX_T | *ESS_PHCTX_T | pointer to Essbase API context handle
ESS_SIZE_T | *ESS_PSIZE_T | pointer to size of a memory block
ESS_STR_T | *ESS_PSTR_T | pointer to string
ESS_VOID_T | *ESS_PVOID_T | pointer to void