MQCFIF - PCF integer filter parameter
The MQCFIF structure describes an integer filter parameter. The format name in the message descriptor is MQFMT_ADMIN.
The MQCFIF structure is used in Inquire commands to provide a filter condition. This filter condition is used to filter the results of the Inquire command and return to the user only those objects that satisfy the filter condition.
When an MQCFIF structure is present, the Version field in the MQCFH structure at the start of the PCF must be MQCFH_VERSION_3 or higher.
On z/OS®, a single filter parameter only is allowed. If multiple MQCFIF, MQCFSF and MQCFBF, or MQCFBF parameters are specified, the PCF command fails with error MQRCCF_TOO_MANY_FILTERS (MQRCCF 3248).
Fields for MQCFIF
- Type (MQLONG)
- Structure type.
This indicates that the structure is an MQCFIF structure describing an integer filter parameter. The value must be:
- MQCFT_INTEGER_FILTER
- Structure defining an integer filter.
- StrucLength (MQLONG)
- Structure length.
This is the length in bytes of the MQCFIF structure. The value must be:
- MQCFIF_STRUC_LENGTH
- Length of command format integer-parameter structure.
- Parameter (MQLONG)
- Parameter identifier.
This identifies the parameter that is to be filtered on. The value of this identifier depends on the parameter to be filtered on. Any of the parameters which can be used in the Inquire command can be used in this field.
The parameter is from the following groups of parameters:- MQIA_*
- MQIACF_*
- MQIAMO_*
- MQIACH_*
- Operator (MQLONG)
- Operator identifier.
This identifies the operator that is being used to evaluate whether the parameter satisfies the filter-value.
Possible values are:
- MQCFOP_GREATER
- Greater than
- MQCFOP_LESS
- Less than
- MQCFOP_EQUAL
- Equal to
- MQCFOP_NOT_EQUAL
- Not equal to
- MQCFOP_NOT_LESS
- Greater than or equal to
- MQCFOP_NOT_GREATER
- Less than or equal to
- MQCFOP_CONTAINS
- Contains a specified value. Use MQCFOP_CONTAINS when filtering on lists of values or integers.
- MQCFOP_EXCLUDES
- Does not contain a specified value. Use MQCFOP_EXCLUDES when filtering on lists of values or integers.
See the FilterValue description for details telling you which operators can be used in which circumstances.
- FilterValue (MQLONG)
- Filter value identifier.
This specifies the filter-value that must be satisfied.
Depending on the parameter, the value and the permitted operators can be:- An explicit integer value, if the parameter takes a single integer value.
We can only use the following operators:
- MQCFOP_GREATER
- MQCFOP_LESS
- MQCFOP_EQUAL
- MQCFOP_NOT_EQUAL
- MQCFOP_NOT_GREATER
- MQCFOP_NOT_LESS
- An MQ constant, if the parameter takes a single value from a possible set of values (for example, the value MQCHT_SENDER on the ChannelType parameter). We can only use MQCFOP_EQUAL or MQCFOP_NOT_EQUAL.
- An explicit value or an MQ constant, as the case might be, if the parameter takes a list of values. We can use either MQCFOP_CONTAINS or MQCFOP_EXCLUDES. For example, if the value 6 is specified with the operator MQCFOP_CONTAINS, all items where one of the parameter values is 6 are listed.
For example, if you need to filter on queues that are enabled for put operations in your Inquire Queue command, the parameter would be MQIA_INHIBIT_PUT and the filter-value would be MQQA_PUT_ALLOWED.
The filter value must be a valid value for the parameter being tested.
- An explicit integer value, if the parameter takes a single integer value.
We can only use the following operators:
C language declaration
typedef struct tagMQCFIF { MQLONG Type; /* Structure type */ MQLONG StrucLength; /* Structure length */ MQLONG Parameter; /* Parameter identifier */ MQLONG Operator; /* Operator identifier */ MQLONG FilterValue; /* Filter value */ } MQCFIF;
COBOL language declaration
** MQCFIF structure 10 MQCFIF. ** Structure type 15 MQCFIF-TYPE PIC S9(9) BINARY. ** Structure length 15 MQCFIF-STRUCLENGTH PIC S9(9) BINARY. ** Parameter identifier 15 MQCFIF-PARAMETER PIC S9(9) BINARY. ** Operator identifier 15 MQCFIF-OPERATOR PIC S9(9) BINARY. ** Filter value 15 MQCFIF-FILTERVALUE PIC S9(9) BINARY.
PL/I language declaration ( z/OS only)
dcl 1 MQCFIF based, 3 Type fixed bin(31), /* Structure type */ 3 StrucLength fixed bin(31), /* Structure length */ 3 Parameter fixed bin(31), /* Parameter identifier */ 3 Operator fixed bin(31) /* Operator identifier */ 3 FilterValue fixed bin(31); /* Filter value */
System/390 assembler-language declaration ( z/OS only)
MQCFIF DSECT MQCFIF_TYPE DS F Structure type MQCFIF_STRUCLENGTH DS F Structure length MQCFIF_PARAMETER DS F Parameter identifier MQCFIF_OPERATOR DS F Operator identifier MQCFIF_FILTERVALUE DS F Filter value MQCFIF_LENGTH EQU *-MQCFIF Length of structure ORG MQCFIF MQCFIF_AREA DS CL(MQCFIF_LENGTH)
Visual Basic language declaration ( Windows only)
Type MQCFIF Type As Long ' Structure type StrucLength As Long ' Structure length Parameter As Long ' Parameter identifier Operator As Long ' Operator identifier FilterValue As Long ' Filter value End Type Global MQCFIF_DEFAULT As MQCFIF
RPG language declaration ( IBM® i only)
D* MQCFIF Structure D* D* Structure type D FIFTYP 1 4I 0 INZ(3) D* Structure length D FIFLEN 5 8I 0 INZ(16) D* Parameter identifier D FIFPRM 9 12I 0 INZ(0) D* Operator identifier D FIFOP 13 16I 0 INZ(0) D* Condition identifier D FIFFV 17 20I 0 INZ(0) D*