Record data

The rest of the bytes in each record are used for the record data. These 1024 bytes contain different fields depending on the record type:

RAM
  1. (8 bytes) The version number of the RAM. This value may be displayed to users by CARMA clients.
  2. (8 bytes) The programming language the RAM is written in. Select from the following list of valid values: "C", "COBOL", "PLI". (Alternatively, "PL1" may be used.)
  3. (8 bytes) The version number of the repository that the RAM is compatible with. This value may be displayed to users by CARMA clients.
  4. (8 bytes) The version number of CARMA that the RAM is compatible with. This value may be displayed to users by CARMA clients.
  5. (8 bytes) The name of the RAM DLL
Action
Note: The combined width of fields (1) and (3) below should be less than or equal to 1023.
  1. (0 to 1023 bytes) A list of the parameter IDs used by the action. The IDs listed should be separated by commas. Do not use a trailing comma at the end of the list.
  2. (1 byte) The pipe character, "|". This symbol is used to denote the separation between the parameter ID list and the return value ID list.
    Note: This character must be included even if either the parameter ID list or the return value ID list is empty. However, it should not be included if both the parameter ID list and return value ID list are empty.
  3. (0 to 1023 bytes) A list of the return value IDs used by the action. The IDs listed should be separated by commas. Do not use a trailing comma at the end of the list.
Disabled action
(1024 bytes) Empty spaces. No data is required for disabled actions.
Parameter
  1. (16 bytes) The data type of the parameter. Choose from the following available values: "INT", "LONG", "DOUBLE", "STRING".
  2. (16 bytes) The length of the parameter. This is either a precision (for parameters of type "DOUBLE") or field width (for parameters of type "STRING"). Specify this value numerically (for example, as "12" instead of "twelve"). Use an arbitrary value if the parameter type is neither "DOUBLE" nor "STRING".
  3. (1 byte) A "Y" or "N" to indicate whether this parameter does or does not (respectively) have a constant value.
Return value
  1. (16 bytes) The data type of the return value. Choose from the following available values: "INT", "LONG", "DOUBLE", "STRING".
  2. (16 bytes) The length of the return value. This is either a precision (for return values of type "DOUBLE") or field width (for return values of type "STRING"). Specify this value numerically (for example, as "12" instead of "twelve"). Use an arbitrary value if the return value type is neither "DOUBLE" nor "STRING".
Field
(64 bytes) The Metadata Key used to identify the metadata to be displayed. Optionally, this can be left all spaces, then the Name value (taken from the CRASTRS VSAM) will be used for the Metadata Key.
Identifier
(1024 bytes) A unique RAM identifier used to identify the RAM. If a unique ID is provided, the RAM will be selected by its unique ID, and the ramId field will be ignored.

The following table summarizes the CRADEF data formats for each of the CAF object types.

Table 1. CRADEF data formats for each CAF object type. (The "Type" column lists the abbreviated type characters instead of the full type names.) The number of bytes reserved for each field is specified in parentheses (a "*" indicates a variable-length field). Fields marked as "Unused" should be filled entirely with spaces.
Type 1024-Byte Data
R
(8 bytes)
RAM Version
(8 bytes)
Programming
Language
(8 bytes)
Repository Version
(8 bytes)
CARMA Version
(8 bytes)
DLL Name
A
(* bytes)
Parameter ID List
(1 byte)
List Separator Pipe
(* bytes)
Return Value ID List
D
(1024 bytes)
Unused
P
(16 bytes)
Type
(16 bytes)
Length
(1 byte)
Constant
T
(16 bytes)
Type
(16 bytes)
Length
F
(64 bytes)
Metadata Key
I
(1024 bytes)
Identifier