99 <primary >EVALUATE</primary >
1010 </indexterm > action</title >
1111
12- <para ><emphasis >[</emphasis ><emphasis >attrname</emphasis > :=< emphasis
13- role =" bold" > ] EVALUATE<indexterm >
12+ <para ><emphasis role = " bold " >[</emphasis ><emphasis >attrname</emphasis >
13+ :=< emphasis role =" bold" > ] EVALUATE<indexterm >
1414 <primary >EVALUATE action</primary >
1515 </indexterm >(</emphasis ><emphasis >expression</emphasis ><emphasis
1616 role =" bold" >) ;</emphasis ></para >
1717
18- <para ><emphasis >[</emphasis ><emphasis >attrname</emphasis > :=<emphasis
19- role =" bold" > ] EVALUATE(</emphasis ><emphasis >module </emphasis ><emphasis
20- role =" bold" >[</emphasis ><emphasis >, defname </emphasis ><emphasis
21- role =" bold" > ] ) ;</emphasis ></para >
18+ <para ><emphasis role =" bold" >[</emphasis ><emphasis >attrname</emphasis >
19+ :=<emphasis role =" bold" > ] EVALUATE(</emphasis ><emphasis >module
20+ </emphasis ><emphasis role =" bold" >[</emphasis ><emphasis >, defname
21+ </emphasis ><emphasis role =" bold" > ] ) ;</emphasis ></para >
22+
23+ <para ><emphasis role =" bold" >[</emphasis ><emphasis >attrname</emphasis >
24+ :=<emphasis role =" bold" > ] EVALUATE(</emphasis ><emphasis >engine
25+ </emphasis ><emphasis >, expression </emphasis ><emphasis role =" bold" >)
26+ ;</emphasis ></para >
2227
2328 <para ><informaltable colsep =" 1" frame =" all" rowsep =" 1" >
2429 <tgroup cols =" 2" >
25- <colspec colwidth =" 80.60pt" />
30+ <colspec colwidth =" 80.60pt" />
2631
27- <colspec />
32+ <colspec />
2833
2934 <tbody >
3035 <row >
3843 <row >
3944 <entry ><emphasis >expression</emphasis ></entry >
4045
41- <entry >The function to call in an action context.</entry >
46+ <entry >The function to call in an action context or an
47+ expression that resolves to data (either a dataset or a scalar
48+ value).</entry >
4249 </row >
4350
4451 <row >
4754 <entry >The module to evaluate.</entry >
4855 </row >
4956
57+ <row >
58+ <entry ><emphasis >engine</emphasis ></entry >
59+
60+ <entry >The engine on which to evaluate. Valid options are
61+ <emphasis role =" bold" >ECLAGENT</emphasis > (for hThor) or the
62+ name of a Thor queue.</entry >
63+ </row >
64+
5065 <row >
5166 <entry ><emphasis >defname</emphasis ></entry >
5267
7186 <emphasis >defname</emphasis > is specified, then only that definition is
7287 evaluated.</para >
7388
74- <para >Example:</para >
89+ <para >The third form of the <emphasis role =" bold" >EVALUATE</emphasis >
90+ action evaluates the expression on the specified engine. This option is
91+ disabled by default, to enable it, use:</para >
92+
93+ <programlisting >#OPTION('enableClusterHopping', TRUE);</programlisting >
94+
95+ <para >Examples:</para >
7596
7697 <para >Form 1 example:</para >
7798
@@ -104,6 +125,40 @@ EVALUATE(M2);
104125// Result_2: Hello
105126// Result_3: Richard</programlisting >
106127
128+ <para >Form 3 example:</para >
129+
130+ <programlisting >#OPTION('enableClusterHopping', TRUE);
131+
132+ MyLayout := RECORD
133+ UNSIGNED4 id;
134+ STRING20 n;
135+ END;
136+
137+ ds1 := DATASET([{100,'Fred'},
138+ {101,'Wilms'},
139+ {102,'Barney'},
140+ {103,'Betty'},
141+ {104,'Dino'}], MyLayout);
142+
143+ ds2 := DATASET([{100,'Miami'},
144+ {101,'Hollywood'},
145+ {102,'Miami'},
146+ {103,'Fort Lauderdale'},
147+ {104,'Hialeah'}], MyLayout);
148+
149+ JoinData(DATASET(MyLayout) d1, DATASET(MyLayout) d2) := JOIN
150+ (d1,d2,LEFT.id = RIGHT.id,TRANSFORM
151+ ({UNSIGNED4 id,
152+ STRING20 n1,
153+ STRING20 n2},
154+ SELF.id := LEFT.id,
155+ SELF.n1 := LEFT.n,
156+ SELF.n2 := RIGHT.n));
157+
158+ OUTPUT(EVALUATE('mythor1', JoinData(ds1, ds2)), NAMED('mythor1'));
159+ OUTPUT(EVALUATE('mythor2', JoinData(ds1, ds2)), NAMED('mythor2'));
160+ OUTPUT(EVALUATE('ECLAGENT', JoinData(ds1, ds2)), NAMED('ecl_agent'));</programlisting >
161+
107162 <para >See Also: <link linkend =" APPLY" >APPLY</link >, <link
108163 linkend =" SERVICE_Structure" >SERVICE Structure</link >,</para >
109164 </sect2 >
@@ -118,9 +173,9 @@ EVALUATE(M2);
118173
119174 <para ><informaltable colsep =" 1" frame =" all" rowsep =" 1" >
120175 <tgroup cols =" 2" >
121- <colspec colwidth =" 79.15pt" />
176+ <colspec colwidth =" 79.15pt" />
122177
123- <colspec colwidth =" 309.65pt" />
178+ <colspec colwidth =" 309.65pt" />
124179
125180 <tbody >
126181 <row >
0 commit comments