TABLE FILE SQLOUT
PRINT *
END
the result is
ID Name address
1111 a aaa
2222 b bbb
3333 c ccc
4444 d ddd
TABLE FILE SQLOUT
PRINT
COMPUTE Cntr/I9 = LAST Cntr + 1;NOPRINT
COMPUTE TEST1/A15 = FTOA(ID, '(D10)', TEST1);NOPRINT
COMPUTE AllID/A1000V = IF Cntr EQ 1 THEN TEST1 ELSE AllID|| ',' || TEST1;
ON TABLE HOLD AS TMP1 FORMAT ALPHA
END
-RUN
WHEN I CODE :
TABLE FILE TMP1
SUM LST.AllID AS 'AllID'
ON TABLE SAVE AS TMP2
END
TABLE FILE TMP2
PRINT AllID
END
-RUN
I can get the result : 1111,2222,3333,4444
but, when I use -READ to get this value
-READ TMP2 &AllID.A100V.
-TYPE &AllID;
the type is : 0003201111,2222,3333,4444
why not is 1111,2222,3333,4444 ??what's this "000320" ?
Is the code wrong?
Thanks, JamesThis message has been edited. Last edited by: Yangyang,
WebFOCUS 7.6.8 WebFOCUS 7.6.10 BI FLEX .NET
July 23, 2010, 04:09 AM
<JG>
quote:
A100V
leading 6 characters of AnnnV columns is always the length because V means variable and so WebFocus needs something to tell it how long the field is.
If you do not reformat it as fixed length then you need to code
-READ TMP2 &X.A6. &AllID.A100.
Do not use V on the -READ format it is not valid and even if it works today it might not tomorrow
July 23, 2010, 04:17 AM
Yangyang
Thanks JG,
you mean the "V" will produce the 6 characters in front of ALLID ?
I gain experience
Thanks, James
WebFOCUS 7.6.8 WebFOCUS 7.6.10 BI FLEX .NET
July 24, 2010, 07:07 AM
<JG>
James, you're going against an SQL source. It's not the -READ that generates the column length it's the extract request.
If the source column is varchar, varchar2 etc. then WebFOCUS will automatically generate then hold file created with the leading character count.
If it's char or a numeric format then it will not. Because they are by definition fixed length.