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.
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.
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.
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.
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
Related topic