PFXPART macro


Because of a limitation in the current version of the High Level Assembler (HLASM), the NAME parameter on the PFXCHILD macro allows a maximum of 255 characters to be specified to list the target segment name and the partitioned PFX index DBD names.

This restriction might be relieved in a future release of HLASM.

The PFXPART macro statement provides an alternate method to specify some or all of the partitioned PFX index DBD names for a partitioned SHISAM or HISAM index. Because of the 255-character HLSAM restriction for the PFXCHILD NAME parameter, the PFXPART macro must be used when you are defining a large number of PFX indexes. Optionally, the PFXPART macro can be used to list all of the partitioned PFX index DBD names.

You must specify only one keyword (NAME) with one PFX index name for each PFXPART macro that is defined in the primary DBD. All PFXPART macros are subordinate to the PFFCHILD macro and must be placed after the PFXCHILD definition in the primary DBD.

Examples of the two alternative methods of specifying partitioned PFX index DBD names are shown beginning in PFXCHILD/PFXPART macro examples.

Note

If you use the PFXPART macro to list all of the partitioned PFX index DBD names, do not specify the indexdbd1,...,indexdbdnnn values following the seg1 parameter on the PFXCHILD NAME keyword.

PFXPART keyword

The following table describes the NAME keyword that can be specified on the PXFPART macro to identify partitioned PFX index DBD names for a PFX index that was defined as SHISAM or HISAM on the PFXCHILD macro:

Keyword

Parameter

Description

NAME

indexdb

indexdb specifies the partitioned PFX index DBD names.

You must specify the NAME= indexdb syntax for each additional partitioned PFX index that you want to define. Each partitioned PFX index database will have the same segment name as defined in the PFXCHILD NAME(seg1) field. You can specify a total of 500 PFX index partitions for the primary DEDB.

PFXPART syntax diagram

The following figure illustrates the syntax of a PFXPART macro statement for defining partitioned SHISAM or HISAM indexes.

The recursive arrow in the diagram indicates that the entire macro statement must be specified for each partitioned PFX index DBD name to be associated with the source target segment.


GUID-B64A88EE-9A46-48CA-AB13-E1E637E3DA16-low.png

PFXCHILD/PFXPART macro examples

The following figure shows how to code multiple PFXPART macro statements with the PFXCHILD macro to define additional partitioned PFX index DBD names in a SHISAM index.

Some of the PFX index DBD names are defined on the NAME keyword on the PFXCHILD macro statement; the remaining PFX index DBD names are specified on PFXPART macro statements. A total of 40 PFX index partitions are specified for the target segment. This example circumvents the restriction of exceeding the 255-character limit on the PFXCHILD NAME parameter.

PFXCHILD NAME=(PFXROOT,(DIVSI4,DIVSI42,DIVSI43,    X
         DIVSI44,DIVSI45,DIVSI46,                  X
         DIVSI47,DIVSI48,DIVSI49,                  X
         DIVSI410,DIVSI411,DIVSI412)),             X
         ACCESS=(SHISAM,LATERAL)
PFXPART  NAME=DIVSI413
PFXPART  NAME=DIVSI414
PFXPART  NAME=DIVSI415
PFXPART  NAME=DIVSI416
PFXPART  NAME=DIVSI417
PFXPART  NAME=DIVSI418
PFXPART  NAME=DIVSI419
PFXPART  NAME=DIVSI420
PFXPART  NAME=DIVSI421
PFXPART  NAME=DIVSI422
PFXPART  NAME=DIVSI423
PFXPART  NAME=DIVSI424
PFXPART  NAME=DIVSI425
PFXPART  NAME=DIVSI426
PFXPART  NAME=DIVSI427
PFXPART  NAME=DIVSI428
PFXPART  NAME=DIVSI429
PFXPART  NAME=DIVSI430
PFXPART  NAME=DIVSI431
PFXPART  NAME=DIVSI432
PFXPART  NAME=DIVSI433
PFXPART  NAME=DIVSI434
PFXPART  NAME=DIVSI435
PFXPART  NAME=DIVSI436
PFXPART  NAME=DIVSI437
PFXPART  NAME=DIVSI438
PFXPART  NAME=DIVSI439
PFXPART  NAME=DIVSI440

The following figure shows how to use multiple PFXPART macro statements to define all of the partitioned PFX index DBD names to be associated with a target segment in a SHISAM index. A total of 35 PFX index partitions are specified. Only the target segment is specified on the PFXCHILD NAME keyword; the indexdbd1,...,indexdbdnnn syntax is omitted. Coding the macros in this manner eliminates the possibility of exceeding the character length limitation on the PFXCHILD NAME parameter.

PFXCHILD NAME=(PFXROOT),                           X
         ACCESS=(SHISAM,LATERAL)
PFXPART  NAME=DIVSI4
PFXPART  NAME=DIVSI42
PFXPART  NAME=DIVSI43
PFXPART  NAME=DIVSI44
PFXPART  NAME=DIVSI45
PFXPART  NAME=DIVSI46
PFXPART  NAME=DIVSI47
PFXPART  NAME=DIVSI48
PFXPART  NAME=DIVSI49
PFXPART  NAME=DIVSI410
PFXPART  NAME=DIVSI411
PFXPART  NAME=DIVSI412
PFXPART  NAME=DIVSI413
PFXPART  NAME=DIVSI414
PFXPART  NAME=DIVSI415
PFXPART  NAME=DIVSI416
PFXPART  NAME=DIVSI417
PFXPART  NAME=DIVSI418
PFXPART  NAME=DIVSI419
PFXPART  NAME=DIVSI420
PFXPART  NAME=DIVSI421
PFXPART  NAME=DIVSI422
PFXPART  NAME=DIVSI423
PFXPART  NAME=DIVSI424
PFXPART  NAME=DIVSI425
PFXPART  NAME=DIVSI426
PFXPART  NAME=DIVSI427
PFXPART  NAME=DIVSI428
PFXPART  NAME=DIVSI429
PFXPART  NAME=DIVSI430
PFXPART  NAME=DIVSI431
PFXPART  NAME=DIVSI432
PFXPART  NAME=DIVSI433
PFXPART  NAME=DIVSI434
PFXPART  NAME=DIVSI435


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*