Previous Topic: Internal Structure Of Built-In FunctionsNext Topic: Model XDE Module


Master Function Table

The master function table is a dictionary load module that lists the invocation names for all CA ADS supplied and user defined built-in functions. Each entry contains a function invocation name, a corresponding real (generic) function name, and the name of the model XDE module that describes the function.

The concatenate function, for example, has by default three invocation names: CONCATENATE, CONCAT, and CON. Each invocation name has an entry in the master function table. Each entry also specifies the real function name for the concatenate function, CONCAT, and the model XDE module that describes the concatenate function, RHDCEV51.

During compilation of a coded function, the dialog compiler searches the master function table for the coded invocation name. If it finds an entry, it uses the information in the entry to find the model XDE module that describes the function; if it does not find an entry, it generates a syntax error message.

Note: At runtime, an invocation name that is used in a dialog must not duplicate the name of a record element known to the dialog. If it does, CA ADS interprets the function as a subscripted reference to the record element.

The DSECT for an entry in the master function table is shown below. The load module for the master function table is stored in the data dictionary load area under the name RHDCEVBF.

DSECT for a Master Function Table Entry

EFMASDS  DSECT                            11:15:30 03/06/86             00001000
*                            EVAL MASTER FUNCTION TABLE ENTRY DSECT     00002000
EFMINAML DS    H                   LENGTH OF INVOCATION FUNCT NAME      00003000
EFMINAME DS    CL32                FUNCTION NAME - INVOCATION           00004000
EFMRNAME DS    CL8                 FUNCTION NAME - REAL                 00005000
EFMMPGMN DS    CL8                 PROGRAM NAME - MODEL XDE TABLE       00006000
EFMMPGMV DS    H                   PROGRAM VERSION - MODEL XDE TABLE    00007000
EFMFLAG1 DS    XL1                 MASTER FUNCTION ENTRY FLAG1          00008000
EFMASFU  EQU   X'80'               AGGREGATE FUNCTION ENTRY             00009000
         DS    XL3                 FILLER                               00010000
EFMASLNG EQU   *-EFMASDS           LENGTH OF MASTER ENTRY               00011000