The alphanumeric type (A) is straightforward: for each character the program maintains a byte of storage. There are no extra bytes at the beginning or end. The size of the field is determined by the program from a DEFINE command or from the data dictionary.
A numeric field (type N) is in the standard IEEE floating point format and is contained in 8 bytes of storage independent of the display size of the field.
A byte field (type B) can have a value from 0 through 255.
A logical field (type L) can have only two values, .TRUE. or .FALSE. Internally .TRUE. is 1 and .FALSE. is 0 and uses 1 byte of memory.
An integer field (type I) can have a value from -32768 through 32767. It is maintained in standard IEEE low byte low format and uses 2 bytes of memory. This is know as a Short integer. Signed 16-bit.
A record field (type R) can have a value from -2,147,483,648 through 2,147,483,647 . It is maintained in standard IEEE format and uses 4 bytes of memory. This field can also be thought of as being a long or double integer and can be used in that manner. This is known as a Long Integer. Signed 32-bit.
A date field (type D) is kept in a special format that corresponds to that used by Btrieve. This format is low byte day value, next byte month value and high word year value, total 4 bytes memory used. All values are kept in binary format.
A time field (type T) is kept in a special format that corresponds to that used by Btrieve. This format is low byte hundredths of seconds, next byte seconds, next byte minutes, and high byte hours, total 4 bytes memory used. All values are kept in binary format.
An F-Pointer field (type F) is a compound field. The low byte contains the type of the field being pointed to; F - standard field, C - constant, or X - expression. The high double-word is the location of the field specification within the field list segment within the program being run, for a total of 5 bytes memory used. This field type is not usable outside of TAS Professional. However, it has great use within a program and is the smallest pointer value.
A P-Pointer field (type P) is a compound field. This field is closer to the standard far pointers in C. The low double-word is the location value, the next byte is the field type (a single alpha character as listed above), next byte is the number of decimal characters, the next double-word is the internal size in bytes, and the final double-word is the display size in characters, for a total of 14 bytes memory used. The reason for the complexity of this field is so that you can pass this value to an external program (non-TAS) and know everything necessary about the field. The location value points to the actual field value in memory, not at the field list. You can add and subtract values to/from a P-Pointer field location using integers. However, all other parts of the field cannot be changed.
Page url: http://www.cassoftware.com/tas/manual/internalspecifications.htm