MQCFBF - PCF byte string filter parameter

The MQCFBF structure describes a byte string filter parameter. The format name in the message descriptor is MQFMT_ADMIN.

The MQCFBF structure is used in Inquire commands to provide a filter description. This filter description is used to filter the results of the Inquire command and return to the user only those objects that satisfy the filter description.

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).

When an MQCFBF structure is present, the Version field in the MQCFH structure at the start of the PCF must be MQCFH_VERSION_3 or higher.


Fields for MQCFBF

    Type (MQLONG)
    Structure type. This indicates that the structure is a MQCFBF structure describing a byte string filter parameter. The value must be:

      MQCFT_BYTE_STRING_FILTER
      Structure defining a byte string filter.

    StrucLength (MQLONG)
    Structure length.

    This is the length, in bytes, of the MQCFBF structure, including the string at the end of the structure (the FilterValue field). The length must be a multiple of 4, and must be sufficient to contain the string. Bytes between the end of the string and the length defined by the StrucLength field are not significant.

    The following constant gives the length of the fixed part of the structure, that is the length excluding the FilterValue field:

      MQCFBF_STRUC_LENGTH_FIXED
      Length of fixed part of command format filter string-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.

    The parameter is one of the following:

    • MQBACF_EXTERNAL_UOW_ID
    • MQBACF_Q_MGR_UOW_ID
    • MQBACF_ORIGIN_UOW_ID (on z/OS only)

    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

    FilterValueLength (MQLONG)
    Length of filter-value string.

    This is the length, in bytes, of the data in the FilterValue field. This must be zero or greater, and does not need to be a multiple of 4.

    FilterValue (MQBYTE x FilterValueLength)
    Filter value.

    This specifies the filter-value that must be satisfied. Use this parameter where the response type of the filtered parameter is a byte string.

    Note: If the specified byte string is shorter than the standard length of the parameter in MQFMT_ADMIN command messages, the omitted characters are assumed to be blanks. If the specified string is longer than the standard length, it is an error.


C language declaration

typedef struct tagMQCFBF {
   MQLONG  Type;               /* Structure type */
   MQLONG  StrucLength;        /* Structure length */
   MQLONG  Parameter;          /* Parameter identifier */
   MQLONG  Operator;           /* Operator identifier */
   MQLONG  FilterValueLength;  /* Filter value length */
   MQBYTE  FilterValue[1];     /* Filter value -- first byte */
  } MQCFBF;


COBOL language declaration

**   MQCFBF structure
  10  MQCFBF.
** Structure type 
  15  MQCFBF-TYPE PIC S9(9) BINARY.
** Structure length 
  15  MQCFBF-STRUCLENGTH PIC S9(9) BINARY.
** Parameter identifier 
  15  MQCFBF-PARAMETER PIC S9(9) BINARY.
** Operator identifier 
  15  MQCFBF-OPERATOR PIC S9(9) BINARY.
** Filter value length 
  15  MQCFBF-FILTERVALUELENGTH PIC S9(9) BINARY.


PL/I language declaration ( z/OS only)

dcl
  1 MQCFBF based,
   3 Type  fixed bin(31)
    init(MQCFT_BYTE_STRING_FILTER),  /* Structure type */
   3 StrucLength  fixed bin(31)
    init(MQCFBF_STRUC_LENGTH_FIXED),  /* Structure length */
   3 Parameter  fixed bin(31)
    init(0),  /* Parameter identifier */
   3 Operator  fixed bin(31)
    init(0),  /* Operator identifier */
   3 FilterValueLength  fixed bin(31)
    init(0);  /* Filter value length */


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

MQCFBF                         DSECT
MQCFBF_TYPE                    DS  F    Structure type 
MQCFBF_STRUCLENGTH             DS  F    Structure length 
MQCFBF_PARAMETER               DS  F    Parameter identifier 
MQCFBF_OPERATOR                DS  F    Operator identifier 
MQCFBF_FILTERVALUELENGTH       DS  F    Filter value length 
MQCFBF_LENGTH                  EQU  *-MQCFIF Length of structure
                               ORG  MQCFBF
MQCFBF_AREA                    DS   CL(MQCFBF_LENGTH)


Visual Basic language declaration ( Windows only)

Type MQCFBF
  Type As Long 'Structure type'
  StrucLength As Long 'Structure length'
  Parameter As Long 'Parameter identifier'
  Operator As Long 'Operator identifier'
  FilterValueLength As Long 'Filter value length'
  FilterValue As 1 'Filter value -- first byte'
End Type 
Global MQCFBF_DEFAULT As MQCFBF


RPG language declaration ( IBM® i only)

D* MQCFBF Structure
D*
D* Structure type 
D  FBFTYP                 1      4I 0 INZ(15)
D* Structure length 
D  FBFLEN                 5      8I 0 INZ(20)
D* Parameter identifier 
D  FBFPRM                 9     12I 0 INZ(0)
D* Operator identifier 
D  FBFOP                 13     16I 0 INZ(0)
D* Filter value length 
D  FBFFVL                17     20I 0 INZ(0)
D* Filter value -- first byte 
D  FBFFV                 21     21    INZ