Well, hopefully that is cured by the current version on OE Hive.
What about the - line 32768: -( question?
/* line is being returned as a 16-bit signed integer... note that if line > 65535 then we are lost */
IF cline_nr = "-(":U
THEN iline_nr = 32768.
ELSE iline_nr = INTEGER (cline_nr).
IF iline_nr < 0
THEN iline_nr = 65536 - iline_nr.
So, does the physical name (or logical name from the connect statement) end up in the XREF for the unqualified ones?
So, what makes the listing file so much larger. Is it just the line wrap resulting in multiple lines in the file and only one in the debug? Or is there a huge block/buffer/frame listing at the end too? I am guessing the 58K to 112K is includes.
So, it really was -( ... how peculiar. I was thinking of doing something similar except also keeping track of the last line number so if the new line number was less, then go on beyond 65K. I guess for *you* we might have to go to 2X or 3X 65K!
Yes, I think so - will fire it up.So, everything should be fine with a .df for exactcssh and the alias addition you made. No?
---------------------------
Message
---------------------------
3654203
1111986
---------------------------
OK
---------------------------
DEF VAR lcc AS LONGCHAR NO-UNDO.
COPY-LOB FROM FILE ("C:\Temp\abl2db\work\lst\finance\ifallgen\gatrss-general.p.lst") to lcc.
DEF VAR itime AS INT NO-UNDO EXTENT 5 INITIAL {&SEQUENCE}.
DEF VAR cline AS CHAR NO-UNDO.
DEF VAR ipos1 AS INT NO-UNDO INITIAL 1.
DEF VAR ipos2 AS INT NO-UNDO INITIAL 1.
itime[{&SEQUENCE}] = ETIME.
DO WHILE ipos1 > 0:
ipos2 = INDEX( lcc, "~n", ipos1 ).
IF ipos2 > 0 THEN
ASSIGN
cline = SUBSTRING( lcc, ipos1, ipos2 - ipos1 )
ipos1 = ipos2 + 1
.
ELSE
ASSIGN
cline = SUBSTRING( lcc, ipos1 )
ipos1 = 0
.
END.
itime[{&SEQUENCE}] = ETIME.
MESSAGE
itime[2] - itime[1] SKIP
itime[3] - itime[2]
VIEW-AS ALERT-BOX.
The third argument to INDEX or R-INDEX must be in the range 1 to 32767. (4687)
define variable bigFile as longchar no-undo.
define variable numLines as integer no-undo.
define variable i as int64 no-undo initial 1.
define variable j as int64 no-undo initial 1.
define variable k as int64 no-undo initial 1.
etime( yes ).
copy-lob from file "/db/s2k0.lg" to bigFile.
message "read file:" etime.
hide message.
etime( yes ).
numLines = num-entries( bigFile, "~n" ).
message "count lines with entry():" etime "num lines:" numLines.
hide message.
assign
numLines = 0
i = 1
j = 1
.
etime( yes ).
do while j > 0:
j = index( bigFile, "~n", i ).
assign
numLines = numLines + 1
i = j + 1
.
if numLines modulo 1000 = 0 then
put screen column 1 row 48
string( numLines, ">,>>>,>>>,>>9" ) +
" " +
string( i, ">,>>>,>>>,>>9" )
.
end.
message "count lines with index():" etime "num lines:" numLines i j.
hide message.
return.