MQCFSL - String list parameter


The MQCFSL structure describes a string list parameter in an event message.

Type

Description: This indicates that the structure is an MQCFSL structure describing a string-list parameter.
Datatype: MQLONG.
Initial value: MQCFT_STRING_LIST.
Valid value:

MQCFT_STRING_LIST
Structure defining a string list.

StrucLength

Description: This is the length in bytes of the MQCFSL structure, including the data at the end of the structure (the Strings field). The length must be a multiple of four, and must be sufficient to contain all of the strings; any bytes between the end of the strings and the length defined by the StrucLength field are not significant.
Datatype: MQLONG.
Initial value: MQCFSL_STRUC_LENGTH_FIXED.
Valid value:

MQCFSL_STRUC_LENGTH_FIXED
Length of fixed part, that is the length excluding the Strings field, of the command format string-list parameter structure.

Parameter

Description: This identifies the parameter whose values are contained in the structure. The values that can occur in this field depend on the value of the Command field in the MQCFH structure.
Datatype: MQLONG.
Initial value: 0.

CodedCharSetId

Description: This specifies the coded character set identifier of the data in the Strings field.
Datatype: MQLONG.
Initial value: MQCCSI_DEFAULT.
Valid value:

MQCFSI_DEFAULT
Default character set identifier. The string data is in the character set defined by the CodedCharSetId field in the MQ header structure that precedes the MQCFH structure, or by the CodedCharSetId field in the MQMD if the MQCFH structure is at the start of the message.

Count

Description: Number of strings present in the Strings field; it must be zero or greater.
Datatype: MQLONG.
Initial value: 0.

StringLength

Description: This is the length in bytes of one parameter value, that is the length of one string in the Strings field; all of the strings are this length. The length must be zero or greater, and need not be a multiple of four.
Datatype: MQLONG.
Initial value: 0.

String

Description: This is a set of string values for the parameter identified by the Parameter field. The number of strings is given by the Count field, and the length of each string is given by the StringLength field. The strings are concatenated together, with no bytes skipped between adjacent strings. The total length of the strings is the length of one string multiplied by the number of strings present (that is, StringLength×Count).

In MQFMT_EVENT messages, trailing blanks are omitted from string parameters (that is, the string may be shorter than the defined length of the parameter). StringLength gives the length of the string actually present in the message.

Note:
In the MQCFSL structure, a null character in a string is treated as normal data, and does not act as a delimiter for the string. This means that when a receiving application reads a MQFMT_EVENT message, the receiving application receives all of the data specified by the sending application. The data may, of course, have been converted between character sets (for example, by the receiving application specifying the MQGMO_CONVERT option on the  MQGET  call).

In contrast, when the queue manager reads an MQFMT_ADMIN message from the command input queue, the queue manager processes the data as though it had been specified on an MQI call. This means that within each string, the first null and the characters following it (up to the end of the string) are treated as blanks.

Datatype: MQCHAR × StringLength×Count.
Initial value: Null string. (Present only in C).

 

COBOL language declaration (MQCFSL)

**   MQCFSL structure
  10 MQCFSL.
**    Structure type
   15 MQCFSL-TYPE           PIC S9(9) BINARY.
**    Structure length
   15 MQCFSL-STRUCLENGTH    PIC S9(9) BINARY.
**    Parameter identifier
   15 MQCFSL-PARAMETER      PIC S9(9) BINARY.
**    Coded character set identifier
   15 MQCFSL-CODEDCHARSETID PIC S9(9) BINARY.
**    Count of parameter values
   15 MQCFSL-COUNT          PIC S9(9) BINARY.
**    Length of one string
   15 MQCFSL-STRINGLENGTH   PIC S9(9) BINARY.

 

PL/I language declaration (MQCFSL)

dcl
 1 MQCFSL based,
  3 Type           fixed bin(31), /* Structure type */
  3 StrucLength    fixed bin(31), /* Structure length */
  3 Parameter      fixed bin(31), /* Parameter identifier */
  3 CodedCharSetId fixed bin(31), /* Coded character set identifier */
  3 Count          fixed bin(31), /* Count of parameter values */
  3 StringLength   fixed bin(31); /* Length of one string */

 

RPG/ILE declaration (MQCFSL) (OS/400 only)

     D*..1....:....2....:....3....:....4....:....5....:....6....:....7..
     D* MQCFSL Structure
     D*
     D* Structure type
     D  SLTYP                  1      4I 0
     D* Structure length
     D  SLLEN                  5      8I 0
     D* Parameter identifier
     D  SLPRM                  9     12I 0
     D* Coded character set identifier
     D  SLCSI                 13     16I 0
     D* Count of parameter values
     D  SLCNT                 17     20I 0
     D* Length of one string
     D  SLSTL                 21     24I 0

 

System/390 assembler-language declaration (MQCFSL) (z/OS only)

MQCFSL                 DSECT
MQCFSL_TYPE            DS   F  Structure type
MQCFSL_STRUCLENGTH     DS   F  Structure length
MQCFSL_PARAMETER       DS   F  Parameter identifier
MQCFSL_CODEDCHARSETID  DS   F  Coded character set identifier
MQCFSL_COUNT           DS   F  Count of parameter values
MQCFSL_STRINGLENGTH    DS   F  Length of one string
*
MQCFSL_LENGTH          EQU  *-MQCFSL
                       ORG  MQCFSL
MQCFSL_AREA            DS   CL(MQCFSL_LENGTH)

 

Visual Basic language declaration (MQCFSL) (Windows systems only)

Type MQCFSL
  Type           As Long 'Structure type'
  StrucLength    As Long 'Structure length'
  Parameter      As Long 'Parameter identifier'
  CodedCharSetId As Long 'Coded character set identifier'
  Count          As Long 'Count of parameter values'
  StringLength   As Long 'Length of one string'
End Type