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
|
Copyright © 2014 CA.
All rights reserved.
|
|