Focal Point
dynamic where results in LINES=0 [SOLVED]

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

April 04, 2014, 02:21 PM
Tomsweb
dynamic where results in LINES=0 [SOLVED]
TABLE FILE CAR
BY COUNTRY
ON TABLE HOLD AS CF FORMAT ALPHA
END
-RUN

-SET &LIMIT = &LINES ;

-SET &I = 1;

-REPEAT ENDLOOP &LIMIT TIMES

-READ CF NOCLOSE &COUNTRY.10.
-SET &COUNTRY.&I = &COUNTRY;

-SET &WB = ' ';
-SET &ZOUNTRY = ' ';
-SET &ZOUNTRY.&I = TRUNCATE(&COUNTRY.&I);
-TYPE ZOUNTRY = &ZOUNTRY.&I
-****
-SET &WA = 'WHERE COUNTRY EQ';
-SET &WB = '''' | &ZOUNTRY.&I | '''';
-SET &CDA = ';';
-SET &WZX = &WA | ' ' | &WB | ' ' | &CDA ;

TABLE FILE CF
HEADING
" TEST THIS LOOP "
BY COUNTRY
&WZX.EVAL
END
-RUN

-SET &I = &I + 1;

-ENDLOOP

-EXIT

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
April 04, 2014, 02:31 PM
Ram Prasad E
Can you share the error message.


WebFOCUS 8.1.05
Windows
http://ibiwebfocus.wordpress.com
https://www.facebook.com/groups/ibi.webfocus/
April 04, 2014, 02:39 PM
Tomsweb
Sorry I am missing the narrative that I wrote to dsecribe the issue I have.

When the code:

TABLE FILE CF
HEADING
" TEST THIS LOOP "
BY COUNTRY
&WZX.EVAL
END
-RUN


runs, I get the:
quote:
LINES=0

message.

It looks to me that the
WHERE statement is syntactically
correct.

Can anyone show me what I am missing ?

Thank you.


Tomsweb
WebFOCUS 8.1.05M, 8.2.x
APP Studio, Developer Studio, InfoAssist, Dashboards, charts & reports
Apache Tomcat/8.0.36
April 05, 2014, 01:35 PM
Danny-SRL
Tom,
Your problem is due to the fact the fact that you are -READing the CF file with NOCLOSE and also trying to report from it with TABLE.
Because CF is open, TABLE doesn't have access to it.
You can do the following:
  
-SET &ECHO=ALL;
-* File tomsweb8.fex
TABLE FILE CAR
BY COUNTRY
ON TABLE HOLD AS TW FORMAT ALPHA
END
-* Save another copy of the HOLD file
HOLD AS CF FORMAT ALPHA
-RUN

-SET &LIMIT = &LINES ;

-SET &I = 1;

-REPEAT ENDLOOP &LIMIT TIMES

-READ CF NOCLOSE &COUNTRY.10.
-SET &COUNTRY.&I = &COUNTRY;

-SET &WB = ' ';
-SET &ZOUNTRY = ' ';
-SET &ZOUNTRY.&I = TRUNCATE(&COUNTRY.&I);
-TYPE ZOUNTRY = &ZOUNTRY.&I
-****
-SET &WA = 'WHERE COUNTRY EQ';
-SET &WB = '''' | &ZOUNTRY.&I | '''';
-SET &CDA = ';';
-SET &WZX = &WA | ' ' | &WB | ' ' | &CDA ;

TABLE FILE TW
HEADING
" TEST THIS LOOP "
BY COUNTRY
&WZX.EVAL
END
-RUN

-SET &I = &I + 1;

-ENDLOOP

-EXIT


You probably have a reason for building the WHERE statement as you do it. However in the simple example that you show, I would do:
  
-SET &ECHO=ALL;
-* File tomsweb8.fex
TABLE FILE CAR
BY COUNTRY
ON TABLE HOLD AS TW FORMAT ALPHA
END
-* Save another copy of the HOLD file
HOLD AS CF FORMAT ALPHA
-RUN

-SET &LIMIT = &LINES ;

-SET &I = 1;

-REPEAT ENDLOOP &LIMIT TIMES
-READ CF NOCLOSE &COUNTRY.10.
TABLE FILE TW
HEADING
" TEST THIS LOOP "
BY COUNTRY
WHERE COUNTRY EQ '&COUNTRY';
END
-RUN

-SET &I = &I + 1;

-ENDLOOP

-EXIT



Daniel
In Focus since 1982
wf 8.202M/Win10/IIS/SSA - WrapApp Front End for WF

April 07, 2014, 02:20 PM
Tomsweb
Thanks Danny,

I like the idea of creating the data file from the file that I'm next going to go against for my reports.

Tomsweb


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