This may have been offered but I didn't see it in the replies:

If you have half an idea on the max num of atts, try using DIM X(300000) or
some large number and simply FOR.NEXT your way thru until you get to a
logical end like a null value.

I digest EDI records often in the neighborhood of 200,000 rows or more this
way.

Mark Johnson
----- Original Message -----
From: "Colin Alfke" <[EMAIL PROTECTED]>
To: <u2-users@listserver.u2ug.org>
Sent: Monday, November 17, 2008 4:24 PM
Subject: RE: [U2] Speeding up processing through large dynamic table


> Oh my - I'm not sure with all that swapping that you'll come out much
ahead.
>
> You're missing the "point" of remove. If your array is well built your
code
> simply becomes:
>
> LOOP
> REMOVE CUST.NUM FROM IN.TAB SETTING MARK
> REMOVE CUST.DESC FROM IN.TAB SETTING MARK
> (do your thing)
> WHILE MARK DO REPEAT
>
> If you do have to worry about having more attributes or sub-values in the
> array then you need to test the "MARK" variable after each remove and keep
> removing until the line is exhausted. Here is how "MARK" (delimiter) is
set:
> Delimiter Code Description     ASCII Value*
> 0         array end
> 1         record mark             255
> 2         attribute mark          254
> 3         value mark              253
> 4         subvalue mark           252
> 5         text mark               251
> 6         not used; nonprinting   250
> 7         not used; nonprinting   249
>
> Someone else sent an example of how to keep checking "MARK" so I won't
> bother. You could even throw it in a subroutine to keep your processing
> "clean."
>
> Hth
> Colin Alfke
> Calgary, Canada
>
> > -----Original Message-----
> > From: Dave Laansma
> >
> > That is what I was afraid of.  Okay.  So after listening to all of your
> > comments (thus far since there is an annoying delay in these messages),
> > here is what I like the best:
> >
> > SWAP CHAR(9) WITH "" IN IN.TAB
> > SWAP CHAR(10) WITH "" IN IN.TAB
> >
> > SWAP @VM WITH CHAR(9) IN IN.TAB
> > SWAP @SM WITH CHAR(10) IN IN.TAB
> >
> > REPEAT
> >   REMOVE IN.LINE FROM IN.TAB SETTING MARK
> >   SWAP CHAR(9) WITH @VM IN IN.LINE
> >   SWAP CHAR(10) WITH @SM IN IN.LINE
> >   (do my thing with IN.LINE)
> > UNTIL MARK DO
> > REPEAT
> >
> > Any objections, concerns or better suggestions for using CHAR(10) as
> > the
> > temporary substitute for the @SM?  I just picked it because it came
> > right after CHAR(9) on my handy-dandy ASCII chart!  Been using it since
> > the 70's.  Some things just never go out of style!
> >
> > David Laansma
> >
> > -----Original Message-----
> > From: David Wolverton
> >
> > If you don't want to 'swap' all the other markers with 'strings' (SWAP
> > @VM
> > WITH "<<VM>>" IN RECORD) then you have to 'build' the line item up --
> > keep
> > removing until you see the remove hit the @AM and then process the
> > line...
> >
> > DW
> -------
> u2-users mailing list
> u2-users@listserver.u2ug.org
> To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to