The USERDATA step reads a known number of bytes and returns these as the user data of the message. USERDATA requires to know the number of bytes to read, from one of these sources:
USERDATA step in the protocol definition.USERDATA step in the protocol definition.USERDATA keyword. If the protocol definition contains a DATALENGTH/HEXLENGTH step and an explicitly given length in the USERDATA step as well, the length specified with the USERDATA step has precedence.