A Retrieval Method normally modifies the value supplied to it in i64FieldValue and may also adjust this value in bits as supplied in iFieldSize. When a sequence of Retrieval Methods is invoked, these values are initialized to the value and size of the current field. The end result of such a sequence is either to change the value and/or size of the current field or to set the value and size of a variable. The actual setting of the value and size of the field (i64CurrentField and isizbitCurrentField) or variable is done behind the scenes.
It is quite acceptable and sometimes useful for a Retrieval Method to operate without changing either i64FieldValue or iFieldSize. The typical case would be where the method stores the field value and/or size into a Decoder Data Object. This use of a Retrieval Method is discussed later on.
Here is a simple example:
RETRIEVING_DATA
METHOD AndMask___
/* AND the current field with the parameter */
CODE
i64FieldValue = i64FieldValue & i64Param1;
ENDCODE
PARAM "Mask to apply to data" int64