PFXCHILD macro
ThePFXCHILD macro statement is similar to the IMS LCHILD macro statement. PFXCHILD defines the segment name or names that Fast Path Indexer/EP uses in an SSA to retrieve data through the PFX index. Unlike the LCHILD macro, however, PFXCHILD includes the additional ACCESS keyword. The value that is specified for this keyword defines the structure (access method) for the PFX index, and can be combined with additional optional values. You must include the PFXCHILD macro statement when you define a primary DEDB. Place the PFXCHILD macro following the last IMS FIELD statement for the target segment.
PFXCHILD keywords
The following table describes the PFXCHILD keywords and parameters that are used for defining SHISAM or HISAM indexes.
The keywords are listed in the following table in the order that they should appear on your macro statements.
Keyword | Parameter | Description |
---|---|---|
NAME | (seg1,( indexdb1 )) | (Required) seg1 defines the segment names used in a SHISAM or HISAM index DBD. The name must be from one to eight characters in length, starting with an alphabetic character. Fast Path Indexer/EP will use this defined segment name in an SSA to retrieve the target segment through the SHISAM or HISAM index. The SHISAM or HISAM index DBD contains only one segment, which includes pointer and root information. indexdb1 specifies the DBD name of the SHISAM or HISAM index. |
(seg1,(indexdb1,...indexdbnnn )) | indexdb1,...indexdbnnn specifies the partitioned PFX index DBD names. A separate PFX index DBD must be created for each partitioned PFX index DBD name that is specified. Each partitioned PFX index database will have the same segment name as specified for seg1. The first partitioned PFX index DBD ( indexdb1 ) will reflect the DBD name that is used in a PSB PROCSEQ statement. This parameter has a length limit of 255 characters (HLASM restriction), including the segment name, PFX index DBD names, and punctuation. If the list of partitioned PFX index DBD names exceeds this limit, use the PFXPART macro to specify the additional partitioned PFX index DBD names (one DBD name per PFXPART statement). For more information about coding the PFXPART macro, see PFXPART-macro. | |
ACCESS | SHISAM | Required to indicate that the PFX index defined by the indexdbn parameter uses the SHISAM access method. You must specify either SHISAM or HISAM on the ACCESS keyword. |
(SHISAM, COMPACT) | Required for an PFX index definition when the source segment is non-keyed. The COMPACT parameter builds the PFX index database by using an alternate format (compact). The compact format (see Coding requirements) is smaller than the standard index format (see Coding requirements). If an application program accesses the PFX index as a stand-alone database, you must specify the appropriate format. | |
HISAM | Required to indicate that the PFX index defined by the indexdbn parameter uses the HISAM access method. You must specify either HISAM or SHISAM on the ACCESS keyword. | |
(HISAM, COMPACT) | Required for a PFX index definition when the source segment is non-keyed. The COMPACT parameter builds the PFX index database by using an alternate format (compact). The compact format (see Coding requirements) is smaller than the standard index format (see Coding requirements). If an application program accesses the PFX index as a stand-alone database, you must specify the appropriate format. | |
VERTICAL | (Default) This parameter indicates a partitioned SHISAM or HISAM index that uses the vertical processing method. | |
LATERAL | (Optional) This parameter indicates a partitioned SHISAM or HISAM index that uses the lateral processing method. This method processes data from the beginning of the partition until the end; at the end of the partition, Fast Path Indexer/EP issues a GB status code. If you do not specify ACCESS=LATERAL, the product defaults to using the vertical processing method. | |
ERRORACTION | ABEND | (Default) Indicates that the application program terminates abnormally with an abend. Use the ABEND, ROLB, ROLB-xx, STATUSCODE, or STATUSCODE-xx parameter on the ERRORACTION keyword to specify the action to perform when errors occur during PFX index maintenance. |
ROLB | Indicates that a ROLB call is issued to roll back changes made to the database since the last synchronization. The original status code indicating a PFX index maintenance error is returned to the application program. | |
ROLB-xx | Indicates that a ROLB call is issued to roll back changes made to the database since the last synchronization. The original status code indicating a PFX index maintenance error is returned to the application program. The status code (xx) is user-defined. | |
STATUSCODE | Indicates that the application call to the primary database has completed without error, but PFX index maintenance is terminated. This action might cause a PFX index to be inconsistent. The original status code indicating a PFX index maintenance error is returned to the application program. | |
STATUSCODE-xx | Indicates that the application call to the primary database has completed without error, but PFX index maintenance is terminated. This action might cause a PFX index to be inconsistent. The original status code indicating a PFX index maintenance error is returned to the application program. The status code (xx) is user-defined. |
PFXCHILD syntax diagrams
The following figure illustrates the syntax of a PFXCHILD statement for a SHISAM to HISAM index:
PFXCHILD macro examples
The following figure shows how to use the PFXCHILD macro to define segment names in a SHISAM index.
The list of parameters specified on the NAME keyword does not exceed the 255-character limit.
DIVSI4X4,DIVSI4X5,DIVSI4X6, X
DIVSI4X7,DIVSI4X8,DIVSI4X9)), X
ACCESS=(SHISAM,LATERAL)
Related topic