PFXXDFLD macro
The PFXXDFLD macro statement is similar to the IMS XDFLD macro statement. PFXXDFLD defines options for the source and target segments. When you define a primary DEDB, you must include the PFXXDFLD macro statement. Place the PFXXDFLD macro statement after the PFXCHILD macro statement in the primary DBD.
PFXXDFLD keywords
The following table describes the PFXXDFLD keywords and parameters.
The keywords in the following table are listed in the order that they should appear on your macro statements.
Keyword | Parameter | Description |
---|---|---|
NAME | key1 | (Required) Defines the sequence field that Fast Path Indexer/EP will use in an SSA to retrieve the target segment through a SHISAM or HISAM index. SHISAM and HISAM indexes contain only one sequence field, which includes pointer and root information. |
IKFNAME | fieldname | (Optional) Defines the sequence (SEQ) field name to be used in the primary DBD for the PFX index database. This value is specified in an SSA for a DL/I call statement in the application program to access the PFX index as a stand-alone database. If this keyword is not specified, the value specified for the NAME keyword is used by default. |
SRCH | field1, ( field2,...,field5) | (Required) Defines from one to five source segment fields that Fast Path Indexer/EP uses as the PFX index key. You can use any field defined by a FIELD macro statement that refers to the source segment. If you specify more than one field, you must enclose the field names within parentheses. |
/CK | (Optional) You can use the /CK, start , length command to indicate that the SRCH data should be obtained from the concatenated key from the root to the source segment. You must follow /CK with information about a start location, then provide a length. From the starting position, the specified length cannot exceed the concatenated key length. You can use as many as five concatenated fields; however, they must be enclosed in parentheses. Use the following format: SRCH=(field1,(/CK,1,15)) | |
SUBSEQ | field1,( field2,...,field5) | (Optional) Defines from one to five segment fields that Fast Path Indexer/EP uses as subsequence data fields in the SHISAM or HISAM index. This value makes the database key unique. |
/CK | You can use the /CK, start , length command to indicate that the subsequence data should be obtained from the concatenated key from the root to the source segment. You must follow /CK with information about a start location, then provide a length. From the starting position, the specified length cannot exceed the concatenated key length. You can use as many as five concatenated fields; however, they must be enclosed in parentheses. Use the following format: SUBSEQ=((/CK,1,15),field2....field5) | |
NULLVAL | X' xx ' | (Optional) Defines a hexadecimal value that Fast Path Indexer/EP should use for sparse indexing. This keyword does not include a specific parameter; you can use any self-defining term. For example, you could use NULLVAL=X'40'. Fast Path Indexer/EP does not perform indexing when each field of the PFX index source segment specified by the SRCH keyword has the value indicated by NULLVAL in every byte. |
BLANK | (Optional) Defines a blank as the character that Fast Path Indexer/EP should use for sparse indexing. | |
ZERO | (Optional) Defines a binary zero as the character that Fast Path Indexer/EP should use for sparse indexing. | |
DDATA | field1,( field2,...,field5) | (Optional) Defines from one to five source segment fields that Fast Path Indexer/EP can use as duplicate data fields. You must have already defined these fields in the previous FIELD macro statement or statements that define the source segment. DDATA fields reside in the pointer segment, and the application program can refer to them while processing the PFX index as a stand-alone database. If you specify more than one field, you must enclose them in parentheses. |
EXTRTN | exitname | (Optional) Defines a user-written sparse exit routine that Fast Path Indexer/EP can call prior to inserting or replacing any PFX index segment. If the exit issues a nonzero return code, Fast Path Indexer/EP will not index the source segment. |
SEGMENT | sourceseg | (Optional) Defines the source segment if it is different from the target segment. If you use this parameter, you must use the current target segment or a segment that resides below the target. |
PARTEXIT | partitionexitname | Required if the database uses partitioned indexes. Indicates that you want to use a user-written partitioned exit routine. |
PFXXDFLD syntax diagrams
The following figure illustrates the syntax of a PFXXDFLD statement for a SHISAM or HISAM index.
PFXXDFLD macro example
The following figure shows how to use the PFXXDFLD macro to define segments for a SHISAM or HISAM index:
SRCH=(STUDAREA,(/CK,1,5)), X
DDATA=(STUDSNME,STUDFNME,STUDPHON), X
PARTEXIT=PFXPARTE, X
SUBSEQ=(STUDNUMB,(/CK,006,004),(/CK,001,005))
Related topic