Determine if a Hold file Contains a column[Solved]
Lets say i have this
DEFINE FILE CAR ABBEY/A15 ='JUBRIL' END
TABLE FILE CAR PRINT ABBEY CAR MODEL WHERE COUNTRY EQ 'ENGLANDS' ON TABLE HOLD AS SALES END
I am storing all the values in an hold file ,given that hold file how do i determine somewhere else in the report if the sales hold file contains column ABBEY
is there a statement like IF FILE SALES CONTAINS COLUMN ABBEYThis message has been edited. Last edited by: joyesiji,
WebFOCUS 7.6.9 Windows all output (Excel, HTML, PDF)
March 18, 2012, 08:14 PM
Waz
There are two ways to do this.
1. CHECK FILE HOLD
2. TABLE FILE SYSCOLUM
If you filter on the column name, and master name with SYSCOLUM, and get a record the column exists.
Waz...
Prod:
WebFOCUS 7.6.10/8.1.04
Upgrade:
WebFOCUS 8.2.07
OS:
Linux
Outputs:
HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!
March 19, 2012, 03:00 AM
Danny-SRL
Following up on Waz:
DEFINE FILE CAR
ABBEY/A15 ='JUBRIL'
END
TABLE FILE CAR
PRINT ABBEY CAR MODEL WHERE COUNTRY EQ 'ENGLANDS'
ON TABLE HOLD AS SALES
END
Add the following:
CHECK FILE SALES HOLD
TABLE FILE HOLD
PRINT FIELDNAME
IF FIELDNAME EQ 'ABBEY'
ON TABLE SAVE
END
-RUN
-SET &ISABBEY=&RECORDS;
Then you can check whether &ISABBEY equals 0 or not. If it is 0 no ABBEY!
Daniel In Focus since 1982 wf 8.202M/Win10/IIS/SSA - WrapApp Front End for WF
March 19, 2012, 04:38 PM
Waz
Following up on myself...
DEFINE FILE CAR
ABBEY/A15 ='JUBRIL'
END
TABLE FILE CAR
PRINT ABBEY CAR MODEL WHERE COUNTRY EQ 'ENGLANDS'
ON TABLE HOLD AS SALES
END
TABLE FILE SYSCOLUM
PRINT NAME
WHERE TBNAME EQ 'sales'
AND NAME EQ 'ABBEY'
ON TABLE SAVE
END
-RUN
-SET &ISABBEY=&RECORDS;
Waz...
Prod:
WebFOCUS 7.6.10/8.1.04
Upgrade:
WebFOCUS 8.2.07
OS:
Linux
Outputs:
HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!
March 20, 2012, 03:55 AM
<JG>
I have got to be very dense but the fact that you coded the extract to contain a column named ABBEY means that the hold file will contain a column named ABBEY.
The only reason it would not later in a procedure is because you used the same hold file name for a subsequent extract that did not contain it.
If bad coding practice is your issue then change your technique.
March 20, 2012, 04:39 PM
Waz
One case that would cause a column to be different is if you use ACROSS and HOLD.
TABLE FILE CAR
SUM SALES
BY COUNTRY
ACROSS CAR
ON TABLE HOLD AS HLD_CAR
ON TABLE SET ASNAMES ON
END
TABLE FILE SYSCOLUM
PRINT TBNAME NAME
WHERE TBNAME EQ 'HLD_CAR'
END
Waz...
Prod:
WebFOCUS 7.6.10/8.1.04
Upgrade:
WebFOCUS 8.2.07
OS:
Linux
Outputs:
HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!
March 20, 2012, 06:14 PM
Dan Satchell
You could also use Dialogue Manager to read through the master for the hold file and search for the value. Here's an example using the CAR master: