Previous Topic: #EFUNMSTNext Topic: #EFUNMOD


RHDCEVBF

The master function table is defined in a source assembler program called RHDCEVBF. RHDCEVBF is shown below as it appears when CA ADS is installed. Entries for user-defined functions are defined by coding #EFUNMST TYPE=ENTRY macros between the INITIAL and FINAL type macros.

Source Assembler Program RHDCEVBF

RHDCEVBF TITLE 'EVAL - BUILT-IN FUNCTIONS - MASTER TABLE'
* RHDCEVBF EP=RHDCEVBF                    06/25/90 14:52:50
        #EFUNMST TYPE=INITIAL             12/08/88 15:52:14
        EJECT
        #EFUNMST TYPE=FINAL
        END

The TYPE=INITIAL macro automatically generates the entries for the CA ADS supplied built-in functions. It does this by copying the TYPE=ENTRY macros coded in the source module #EFMBIFS. A segment of source module #EFMBIFS is shown below. Invocation names for the CA ADS supplied built-in functions can be changed by modifying the source module #EFMBIFS, as described under Changing Invocation Names.

Segment of Source Module #EFMBIFS

*        #EFMBIFS  EVAL BUILT-IN FUNCTIONS - MASTER DEFS
******** FUNCTION = LENGTH  (STRING FUNCTION) *******************
         SPACE 2
**** INVOCATION NAME = SLENGTH ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=SLENGTH,                                         X
               FUNCT=LENGTH,                                           X
               PROGRAM=RHDCEV51
         SPACE 2
**** INVOCATION NAME = STRING-LENGTH ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=STRING-LENGTH,                                   X
               FUNCT=*,                                                X
               PROGRAM=*
         SPACE 2
**** INVOCATION NAME = SLEN ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=SLEN,                                            X
               FUNCT=*,                                                X
               PROGRAM=*
         EJECT
******** FUNCTION = SUBSTRING (STRING FUNCTION) *****************
         SPACE 2
**** INVOCATION NAME = SUBSTRING ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=SUBSTRING,                                       X
               FUNCT=SUBSTRNG,                                         X
               PROGRAM=RHDCEV51
         SPACE 2
**** INVOCATION NAME = SUB-STRING ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=SUBSTR,                                          X
               FUNCT=*,                                                X
               PROGRAM=*
         SPACE 2
**** INVOCATION NAME = SUBS ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=SUBS,                                            X
               FUNCT=*,                                                X
               PROGRAM=*
         EJECT
******** FUNCTION = INDEX  (STRING FUNCTION) ********************
         SPACE 2
**** INVOCATION NAME = INDEX ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=INDEX,                                           X
               FUNCT=INDEX,                                            X
               PROGRAM=RHDCEV51
         SPACE 2
**** INVOCATION NAME = STRING-INDEX ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=STRING-INDEX,                                    X
               FUNCT=*,                                                X
               PROGRAM=*
         SPACE 2
**** INVOCATION NAME = INDX ****
         #EFUNMST TYPE=ENTRY,                                          X
               INVOKE=INDX,                                            X
               FUNCT=*,                                                X
               PROGRAM=*

More information:

Changing Invocation Names