Yes, Kebbon. Years ago, I hit this difference when contemplating a PI
to UD migration.
My fix isn't not very pretty to read, but it made conversion easier.
If I didn't have the construct to convert, I don't know that I would
use it, except that it's a nice bit of functionality.
Off the top of my head, I think I wrote a complementary pair of utility
subroutines to invent, manipulation & reference my own buffers.
Using labeled common that got reinitialized whenever @TIME changed
(i.e., the beginning of any new uniQuery execution),
PI's:
002: @1...@record<8>
became something like:
002: SUBR( 'PUTBUF', 1, ( SUBR('GETBUF',1) + @RECORD<8>))
or perhaps more readable:
002: SUBR('GETBUF', 1); @ + @RECORD<8>; SUBR('PUTBUF', 1, @ )
By the way, it has always been an "undocumented feature" in Prime & UV,
but recent versions on UV
The subroutines must have looked something like this:
SUB GETBUF( OUTARG, BUFNO )
COMMON /IDESCBUFS/ AT.TIME, BUF(10)
IF AT.TIME # @TIME THEN
MAT BUF = ''
AT.TIME = @TIME
END
IF BUFNO isnt between 1-10, oops
OUTARG = BUF( BUFNO )
RETURN
SUB PUTBUF( OUTARG, BUFNO, INARG )
COMMON /IDESCBUFS/ AT.TIME, BUF(10)
IF AT.TIME # @TIME THEN
MAT BUF = ''
AT.TIME = @TIME
END
if BUFNO isnt between 1-10, oops
BUF( BUFNO ) = INARG
OUTARG = INARG ; * pass through
RETURN
I read this with great interest as I have an identical requirement. However, I
use Unidata and this technique does not seem to work, in either ECLTYPE. Does
anybody have a UDT solution?
rom: [email protected]
Try this... This will show the running total for every printed line
ED DICT FILENAME RUNNING.TOTAL
0001: I
0002: @1...@record<8>
0003: MD2
0004: RUNNING TOT
0005: 10R
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users