Focal Point
code a dm variable [Solved]

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/5377071906

September 01, 2011, 05:12 PM
Tomsweb
code a dm variable [Solved]
I'm trying to code a dm variable which is a &var that will display if a condition is satisfied in a -set expression:

quote:

-set &flag = if blah eq '1'
- then '-set &var = ' ';'
- else ' ';


I have been trying to do this with setting a number of vars as:

quote:

-SET &PAYLD = 'ACTYY';
-SET &EQL = ' = ';
-SET &ZED = '''' || ' ' || '''' || ';';
-SET &EQZD = &EQL | &ZED;
-************
-SET &SUZY = &ABC | & | &PAYLD | &EQZD ;

-SET &DEFX = IF &CFY EQ 'CY'
- THEN &NULL
- ELSE &SUZY ;

-TYPE &DEFX.EVAL


But I cannot get the result I'm looking for.

I'm expecting to see:

IF &CFY EQ 'CY' the result will be a BLANK LINE.
IF &CFY NE 'CY' the result will be
-SET &ACTYY = ' ';

Any ideas?

Thanks! Wink

This message has been edited. Last edited by: Tomsweb,


Tomsweb
WebFOCUS 8.1.05M, 8.2.x
APP Studio, Developer Studio, InfoAssist, Dashboards, charts & reports
Apache Tomcat/8.0.36
September 01, 2011, 06:17 PM
Waz
-SET &FLAG = IF &BLAH EQ '1' THEN '-SET &|VAR = '' '';' ELSE ' ';


But what are you going to do with the &Variable ?


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

September 02, 2011, 01:43 PM
Tomsweb
quote:
THEN '-SET &|VAR = '' '';'


Waz, I changed my code a bit:

quote:

-DEFAULTH &NUM = '1';

-SET &FLAG = IF &NUM EQ '1'
- THEN '-DEFAULTH &|ATTYR = ''1'';'
- ELSE ' ';
-*
-TYPE &FLAG.EVAL

-EXIT


Here is the result:

quote:

-DEFAULTH &NUM = '1';
-SET &FLAG = IF 1 EQ '1'
- THEN '-DEFAULTH &ATTYR = ''1'';'
- ELSE ' ';
-*
0 ERROR AT OR NEAR LINE 9 IN PROCEDURE ADHOCRQ FOCEXEC *
(FOC295) A VALUE IS MISSING FOR: &ATTYR


The &ATTYR would only be set if the &NUM eq '1'.
But when it is active in the focexec, I would not expect to get the (FOC295) error.


Tomsweb
WebFOCUS 8.1.05M, 8.2.x
APP Studio, Developer Studio, InfoAssist, Dashboards, charts & reports
Apache Tomcat/8.0.36
September 02, 2011, 02:16 PM
Tomsweb
I played with it more and solved the question.

quote:

-DEFAULTH &NUM = '2';

-SET &BNK = ' ';
-SET &DEB = '-SET ';
-SET &JILL = '&'|ACTYY;
-SET &LISA = ' = ' ;
-SET &CMT = '''' | ' ' | '''';
-SET &XYZ = ';';
-SET &ZZZ = &CMT | &XYZ ;
-SET &ANN = &DEB | &JILL | &LISA | &ZZZ ;

-SET &FLAG = IF &NUM EQ '1'
- THEN &ANN
- ELSE &BNK;

&FLAG.EVAL

-EXIT



Tomsweb
WebFOCUS 8.1.05M, 8.2.x
APP Studio, Developer Studio, InfoAssist, Dashboards, charts & reports
Apache Tomcat/8.0.36