Previous Topic: Master Function TableNext Topic: XDEs and VXDEs


Model XDE Module

A model XDE module is a load module that contains one or more model XDE tables, each describing a function. During process compilation of a function, the dialog compiler uses the appropriate model XDE table to generate a series of XDEs that form the compiled representation of the function. A model XDE table contains the following entries:

The DSECTs for these three entries are shown below. The load modules for the model XDE modules are stored in the load library. The model XDE source and load modules for the CA ADS supplied built-in functions are called RHDCEV51, RHDCEV52, RHDCEV53, and RHDCEV59, and can be used as a reference when defining user-defined built-in functions.

DSECTs for the Model XDE Table Entries

EFHDRDS  DSECT                            12:01:34 05/18/84             00001000
*                            EVAL FUNCTION MODEL TABLE HEADER DSECT     00002000
EFHNEXT  DS    H                   OFFSET TO NEXT HDR ENTRY             00003000
EFHFUNNM DS    CL8                 FUNCTION NAME - REAL                 00004000
EFHPPGMN DS    CL8                 PROCESSING PROGRAM NAME              00005000
EFHPPGMV DS    H                   PROCESSING PROGRAM VERSION           00006000
EFHFUNCN DS    XL1                 FUNCTION NUMBER                      00007000
         DS    XL1                 FILLER                               00008000
EFHWORKL DS    H                   LENGTH OF REQUIRED WORKAREA          00009000
EFHZOPND DS    0XL4                4 X'00'S INDICATE ZERO OPERANDS      00010000
EFHFOPDN DS    H                   NUMBER OF FIXED OPERANDS             00011000
EFHVOPDO DS    H                   OFFSET TO VARIABLE OPERAND MODEL     00012000
EFHRESLN DS    H                   RESULT LENGTH IN BYTES               00013000
EFHRDATP DS    XL1                 RESULT DATA TYPE                     00014000
EFHRNDEC DS    XL1                 RESULT NUMBER DECIMALS               00015000
         DS    XL4                 FILLER                               00016000
EFHDRLNG EQU   *-EFHDRDS           LENGTH OF FUNCTION MODEL HEADER      00017000

EFXDEDS  DSECT                            07:36:43 05/31/84             00001000
*                            EVAL FUNCTION MODEL XDE DSECT              00002000
EFXNEXT  DS    H                   OFFSET TO NEXT MODEL XDE             00003000
EFXNDEC  DS    XL1                 NUMBER OF DECIMALS                   00004000
EFXRLCF  DS    XL1                 RESULT LENGTH CALCULATION FLAG       00005000
EFXRLCP  EQU   X'80'                   ADD LENGTH                       00006000
EFXRLCS  EQU   X'40'                   SUBT LENGTH                      00007000
*                                      IF ZERO, IGNORE                  00008000
EFXFLAG1 DS    XL1                 FIRST FLAG                           00009000
EFXF1MAN EQU   X'80'                   ON=MANDATORY, OFF=OPTIONAL       00010000
EFXF1TRU EQU   X'40'                   ON=TRUNCATE, OFF=ROUND           00011000
EFXF1RES EQU   X'20'                   RESULT CHARACTERISTICS DEFAULT   00012000
         SPACE 1                                                        00013000
         DS    XL3                 FILLER                               00014000
EFXDCTN  DS    H                   NUMBER OF ENTRIES IN DATA CONV TBL   00014500
EFXLNG1  EQU   *-EFXDEDS           BASE LENGTH OF ENTRY                 00015000
         SPACE 1                                                        00016000
*                            DATA TYPE CONVERSION TABLE                 00017000
EFXCNVE  DSECT                     CONVERSION TBL ENTRY DSECT           00018000
EFXSRCT  DS    XL1                 SOURCE DATATYPE                      00019000
EFXTART  DS    XL1                 TARGET DATATYPE                      00020000
EFXTARL  DS    H                   TARGET LENGTH                        00021000
         DS    XL2                 FILLER                               00022000
         SPACE 1                                                        00023000
EFXDCTL  EQU   *-EFXSRCT           LENGTH OF ENTRY                      00024000