Focal Point
[SOLVED] Master with DEFINE using Dialogue Manager variable

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

September 26, 2011, 12:28 PM
Francis Mariani
[SOLVED] Master with DEFINE using Dialogue Manager variable
I thought this was now valid:

DEFINE FUNDCODE_NAME/A300=FUND || (' - ' | FUNDNAME_&IBIWF_language ); $

But I get this error:
(FOC104) DEFINE IN MASTER REFERS TO A FIELD OUTSIDE ITS SCOPE: FUNDCODE_NAME
0 ERROR AT OR NEAR LINE     45  IN PROCEDURE _WCSMPLDATAFOCEXEC
(FOC258) FIELDNAME OR COMPUTATIONAL ELEMENT NOT RECOGNIZED:
FUNDNAME_&IBIWF_language
(FOC101) ERROR IN DEFINE IN MASTER FILE: FOC_VBIFUNDDEALERPROD
BYPASSING TO END OF COMMAND

Any ideas?

This message has been edited. Last edited by: Francis Mariani,


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
September 26, 2011, 12:54 PM
Dan Satchell
quote:
&IBIWF_language
Does this variable have a value in your environment?


WebFOCUS 7.7.05
September 26, 2011, 04:48 PM
j.gross
quote:
I thought this was now valid:


What makes you think so?
September 26, 2011, 06:03 PM
Waz
I've seen amper variables used before, but I don't believe its still supported.


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 26, 2011, 08:25 PM
j.gross
AFAIK, only the system's & vars that hold the current date can appear. But those are strictly symbolic, as I pointed out not long ago. When TABLE parses the MFD it has no access to the dialog manager address-space.

This message has been edited. Last edited by: j.gross,
September 27, 2011, 02:28 AM
<JG>
Global variables.

7.7.0.2 documentation

Parameterizing Master and Access File Values Using Variables

Update
Sorry should have said Describing Data With WebFOCUS Language documentation DN4501042.1110

This message has been edited. Last edited by: <JG>,
September 27, 2011, 10:50 AM
Francis Mariani
JG,

Thanks very much for the reference to the documentation. It appears I can't do what I'm attempting to do, because:

quote:
In the Master File, the following attributes can be parameterized with variables: POSITION, OCCURS, REMARKS, DESCRIPTION, TITLE, HELPMESSAGE.

It looks like I can't do the following:

FILENAME=CAR,SUFFIX=FOC                                                         
VARIABLE NAME=IBIWF_language, USAGE=A2, DEFAULT=fr, $
SEGNAME=ORIGIN,SEGTYPE=S1                                                       
 FIELDNAME=COUNTRY,COUNTRY,A10,FIELDTYPE=I,$                                    
SEGNAME=COMP,SEGTYPE=S1,PARENT=ORIGIN                                           
 FIELDNAME=CAR,CARS,A16,$                                                       
SEGNAME=CARREC,SEGTYPE=S1,PARENT=COMP                                           
 FIELDNAME=MODEL,MODEL,A24,$                                                    
SEGNAME=BODY,SEGTYPE=S1,PARENT=CARREC                                           
 FIELDNAME=BODYTYPE,TYPE,A12,$                                                  
 FIELDNAME=SEATS,SEAT,I3,$                                                      
 FIELDNAME=DEALER_COST,DCOST,D7,$                                               
 FIELDNAME=RETAIL_COST,RCOST,D7,$                                               
 FIELDNAME=SALES,UNITS,I6,$                                                     
SEGNAME=SPECS,SEGTYPE=U,PARENT=BODY                                             
 FIELDNAME=LENGTH,LEN,D5,$                                                      
 FIELDNAME=WIDTH,WIDTH,D5,$                                                     
 FIELDNAME=HEIGHT,HEIGHT,D5,$                                                   
 FIELDNAME=WEIGHT,WEIGHT,D6,$                                                   
 FIELDNAME=WHEELBASE,BASE,D6.1,$                                                
 FIELDNAME=FUEL_CAP,FUEL,D6.1,$                                                 
 FIELDNAME=BHP,POWER,D6,$                                                       
 FIELDNAME=RPM,RPM,I5,$                                                         
 FIELDNAME=MPG,MILES,D6,$                                                       
 FIELDNAME=ACCEL,SECONDS,D6,$                                                   
SEGNAME=WARANT,SEGTYPE=S1,PARENT=COMP                                           
 FIELDNAME=WARRANTY,WARR,A40,$                                                  
SEGNAME=EQUIP,SEGTYPE=S1,PARENT=COMP                                            
 FIELDNAME=STANDARD,EQUIP,A40,$                                                 
DEFINE IBIWF_language/A2 = IBIWF_language;
$DEFINE TEST_FIELD/D5 = IF '&IBIWF_language' EQ 'fr' THEN LENGTH ELSE WIDTH, $

I've tried each of these variations:
DEFINE IBIWF_language/A2 = IBIWF_language;
DEFINE IBIWF_language/A2 = '&IBIWF_language';
DEFINE IBIWF_language/A2 = '&&IBIWF_language';

This sample fex:
APP PREPENDPATH BASEAPP
?FF CAR
CHECK FILE CAR

TABLE FILE CAR
PRINT
IBIWF_LANGUAGE

END

produces this error:
 0 ERROR AT OR NEAR LINE     16  IN PROCEDURE ADHOCRQ FOCEXEC *
 (FOC003) THE FIELDNAME IS NOT RECOGNIZED: IBIWF_LANGUAGE
 BYPASSING TO END OF COMMAND
 (FOC009) INCOMPLETE REQUEST STATEMENT



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
September 27, 2011, 02:49 PM
njsden
Francis, I think VARIABLE inside of a master always refers to Global amper variables, which must exist before the master is used.

-* Assuming that &IBIWF_language is passed from WF Client
-* set a global var to be used in master file

-SET &&IBIWF_language = &IBIWF_language;

-* Reference the variable in the master
-* FILENAME=CAR ...
-* VARIABLE NAME=IBIWF_language, USAGE=A2, DEFAULT=fr, $
-* ...
-* DEFINE IBIWF_language/A2 = '&&IBIWF_language';

TABLE FILE CAR
PRINT
IBIWF_LANGUAGE
END


That "should" work ... or so I hope.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
September 27, 2011, 02:50 PM
njsden
Or to avoid confusion:

-* Reference the variable in the master
-* FILENAME=CAR ...
-* VARIABLE NAME=IBIWF_language, USAGE=A2, DEFAULT=fr, $
-* ...
-* DEFINE USER_LANG/A2 = '&&IBIWF_language';

TABLE FILE CAR
PRINT
USER_LANG
END




Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
September 27, 2011, 03:46 PM
Francis Mariani
Yes Mister Smarty-Pants, that worked!

Master:
FILENAME=CAR,SUFFIX=FOC                                                         
VARIABLE NAME=IBIWF_language, USAGE=A2, DEFAULT=fr, $
...
DEFINE TEST_FIELD2/A30 = IF '&&IBIWF_language' EQ 'fr' THEN COUNTRY ELSE BODYTYPE; $


Fex:
TABLE FILE CAR
PRINT
COUNTRY
TEST_FIELD2
END
-RUN


Thanks very much Neftali.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
September 27, 2011, 05:52 PM
njsden
Big Grin



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.