|
How to: |
You can reference a DEFINE FUNCTION in an expression in a Master File DEFINE, COMPUTE, or FILTER field. The DEFINE FUNCTION will be loaded into memory when its associated expression is used in a request.
Note: A DEFINE FUNCTION cannot be used in a multi-root Master File.
DF.[appname/]filename.functionname(parm1, parm2, ...); [DESCRIPTION='description',$
where:
Is an optional application name under which the DEFINE FUNCTION FOCEXEC is stored.
Is the name of the FOCEXEC that contains the DEFINE FUNCTION definition. The FOCEXEC can contain multiple DEFINE FUNCTION definitions.
Is the function name with the parameters to be used in the expression.
Is an optional description enclosed in single quotation marks.
The following DEFINE FUNCTION is stored in the DMFUNCS FOCEXEC. Given a last name and first name, it generates a full name in the format Lastname, Firstname:
DEFINE FUNCTION DMPROPER
DESCRIPTION 'Convert name to proper case and last, first format‘
(LASTNAME/A17, FIRSTNAME/A14)
DMPROPER/A34V=LCWORD(17, LASTNAME, 'A17')
|| (', ' | LCWORD(14, FIRSTNAME, 'A14'));
ENDThe following is the DEFINE field named WHOLENAME added to the WF_RETAIL_CUSTOMER Master File that calls the DEFINE FUNCTION:
DEFINE WHOLENAME/A40 = DF.DMFUNCS.DMPROPER(LASTNAME, FIRSTNAME);
DESCRIPTION = 'Calls DMPROPER to create full name',$The following request uses the DEFINE field WHOLENAME:
TABLE FILE WF_RETAIL_CUSTOMER PRINT WHOLENAME AS Whole,Name BY ID_CUSTOMER WHERE ID_CUSTOMER LT 600 ON TABLE SET PAGE NOPAGE END
The output is:
Whole
ID Customer Name
----------- -----
15 Nolan, Tyler
20 Bull, Joshua
78 Wood, Zara
124 Mckenzie, Callum
125 Charlton, Bradley
132 Griffiths, Henry
152 Rowe, Anthony
161 Storey, Max
185 Thomas, Evie
201 Birch, Brandon
213 Parry, Maisie
239 Barrett, Taylor
258 Lord, Harvey
270 Bell, Jay
312 Dunn, Daisy
352 Mckenzie, Callum
379 Fisher, Leo
454 Day, Zak
472 Howarth, Molly
503 Barrett, Daniel
531 Hargreaves, Chloe
566 Fitzgerald, Bethany | WebFOCUS | |
|
Feedback |