MQCFST - String parameter
Use this page to view the structure of an MQCFST parameter and the declarations for the following programming languages: C, COBOL, PL/I, RPG/ILE, S/390 assembler, and Visual Basic
The MQCFST structure describes a string parameter. Following the links to the declarations is a description of the fields making up the MQCFST structure:
- C language
- COBOL language
- PL/I language ( z/OS only)
- RPG/ILE language ( IBM i only)
- System/390 assembler-language ( z/OS only)
- Visual Basic language ( Windows only)
The MQCFST structure ends with a variable-length character string; see the String field for further details.
- Type
-
Description: Indicates that the structure type is MQCFST and describes a string parameter. Data type: MQLONG. Value: - MQCFT_STRING
- Structure defining a string.
- StrucLength
-
Description: Length in bytes of the MQCFST structure, including the string at the end of the structure (the String field). Data type: MQLONG. - Parameter
-
Description: Identifies the parameter with a value that is contained in the structure. Data type: MQLONG. Values: Dependent on the event message. - CodedCharSetId
-
Description: Coded character set identifier of the data in the String field. Data type: MQLONG. - StringLength
-
Description: Length in bytes of the data in the String field; zero or greater. Data type: MQLONG. - String
-
Description: The value of the parameter identified by the Parameter field. In MQFMT_EVENT messages, trailing blanks can be 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.
Data type: MQCHAR x StringLength Value: The string can contain any characters that are in the character set defined by CodedCharSetId, and that are valid for the parameter identified by Parameter. Language considerations: The way that this field is declared depends on the programming language: - For the C programming language, the field is declared as an array with one element. Storage for the structure should be allocated dynamically, and pointers used to address the fields within it.
- For the COBOL, PL/I, System/390 assembler, and Visual Basic programming languages, the field is omitted from the structure declaration. When an instance of the structure is declared, the user should include MQCFST in a larger structure, and declare additional fields following MQCFST, to represent the String field as required.
A null character in the string is treated as normal data, and does not act as a delimiter for the string. This means that when a receiving application reads an 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).
C language declaration
typedef struct tagMQCFST { MQLONG Type; /* Structure type */ MQLONG StrucLength; /* Structure length */ MQLONG Parameter; /* Parameter identifier */ MQLONG CodedCharSetId; /* Coded character set identifier */ MQLONG StringLength; /* Length of string */ MQCHAR String[1]; /* String value - first character */ } MQCFST;
COBOL language declaration
** MQCFST structure 10 MQCFST. ** Structure type 15 MQCFST-TYPE PIC S9(9) BINARY. ** Structure length 15 MQCFST-STRUCLENGTH PIC S9(9) BINARY. ** Parameter identifier 15 MQCFST-PARAMETER PIC S9(9) BINARY. ** Coded character set identifier 15 MQCFST-CODEDCHARSETID PIC S9(9) BINARY. ** Length of string 15 MQCFST-STRINGLENGTH PIC S9(9) BINARY.
PL/I language declaration
dcl 1 MQCFST 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 StringLength fixed bin(31); /* Length of string */
RPG/ILE declaration ( IBM i only)
D*..1....:....2....:....3....:....4....:....5....:....6....:....7.. D* MQCFST Structure D* D* Structure type D STTYP 1 4I 0 D* Structure length D STLEN 5 8I 0 D* Parameter identifier D STPRM 9 12I 0 D* Coded character set identifier D STCSI 13 16I 0 D* Length of string D STSTL 17 20I 0
S/390 assembler-language declaration
MQCFST DSECT MQCFST_TYPE DS F Structure type MQCFST_STRUCLENGTH DS F Structure length MQCFST_PARAMETER DS F Parameter identifier MQCFST_CODEDCHARSETID DS F Coded character set * identifier MQCFST_STRINGLENGTH DS F Length of string MQCFST_LENGTH EQU *-MQCFST Length of structure ORG MQCFST MQCFST_AREA DS CL(MQCFST_LENGTH)
Visual Basic language declaration
Type MQCFST Type As Long ' Structure type StrucLength As Long ' Structure length Parameter As Long ' Parameter identifier CodedCharSetId As Long ' Coded character set identifier StringLength As Long ' Length of string End TypeParent topic: Structure data types