Sam Siegel schrieb:
> Jerry Peters wrote:
> > j?rg brehe <Joerg.Brehe@[EMAIL PROTECTED]
> wrote:
> >
> >>Greg, thanks for for your explanations. Something of your comments
I
> >>have found out myself last day.
> >>
> >>It's not so easy for a beginner. On UNIX it's more simple, to get
the
> >>Offset in a file. I shall read the offset of the beginning and end
of
> >>Do***ent X in a printfile. There are millions of do***ents in
> >>printfiles.
> >>
> >>On HOST there is some trouble, because it's common to use
> >>concatination. Normally we put this printfile in a big sort (for
> >>example DFSORT, SYNCSORT e.t.c.) and hope the best.
> >>
> >>There is some hope that's faster to position to the right do***ent,
if
> >>have read the position in a first read and put this
> >>position,(TTR,Offset) in a smaller data set, and then use this
> >>information to jump to the right position in data set X. The next
> >>do***ent is perhaps in another file and so on. I think, this will
only
> >>work in some cases. In most case the sort will be faster.
> >>
> >>The crux is, our product works on other plattforms, and there we
need
> >>a programm which can read the offset. Sort is on other plattforms
not
> >>so fast as on HOST. The Modul must have the same functions and
> >>interfaces as on HOST, only it is written in C. On UNIX is no
> >>concatination and FSEEK is what we need. It's easy.
> >>
> >>Now, the problem. Excp seems to be adequate to get all information
of
> >>the records on HOST.
> >>IBM says: If I use EXCP and switch to another volume, i can use
EOV.
> >>To return to a previous volume I must close an reopen the data set.
> >>This is slow.
> >>
> >>I have tried to use BDAM with EXCP. BDAM does not sup****t
> >>concatination. I need one BDAM DCB for each DD. So, I search for
> >>another Macro and found RDJFCB. IBM gives an example for doing this
on
> >>one volume. If I use EXCP with BDAM the position is TTTR, not TTR,
> >>that's a little difference.
> >>BDAM gives access to all volumes at the same time, and there is no
> >>need of EOV. The position on a volume is MBBCCHHR, M is the
extension.
> >>
> >>I have try to use EXCP with concatinated data sets. It doesn't
work.
> >
> >
> > AFAIK excp works for concatenations, IIRC you need to call EOV at
the
> > end of each dataset to switch to the next one.
> >
> > Try BSAM using note/point and use dynalloc (svc99) to allocate each
> > dataset, BSAM's a heck of alot simpler to use than EXCP. Also if
the
> > dataset gets moved your saved ttr's will still be valid. You'll
need
> > to save the DSN along with the ttr for each do***ent, but since
DSN's
> > are at most 44 bytes this shouldn't be too bad. Sort though may
still
> > be the fastest way, I've sorted some humongous files in relatively
> > litle time.
> I agree with Jerry about using BSAM along with NOTE/POINT macros.
You
> can easily index the contents of your datasets and then retrieve the
> information very rapidly. One thing to remember is that each
individual
> datasets in the concatentation can span volumes. Therefore it is
> im****ant to record the relative volume for each dataset along with
the
> NOTE/POINT information as the NOTE/POINT information is relative to a
> specific volume. The relative volume can be tracked by using an EOV
> exit. Then when you open the dataset for idata retrieveal you can
use
> RDJFCB and open TYPE=J to skip to the correct volume. This works for
> both disk and tape. For tape it is very effeicent because no mount
will
> be attempted for any of the skipped volumes.
I have written for a half year a programm which uses BSAM and use note
and point. The concatenation was one of the problems. The other problem
are the volumes. therefore I have tried to code an EXCP program with
BDAM
RECIN DCB DSORG=DA,MACRF=RIC,OPTCD=R,EODAD=DATAEND
with one open I should get all volumes. Here was the problem, that I
only get all records of the first track I point. I have written this in
another message in this group. No response. I' am following some Ideas
of Gilbert St. Flour cbt 183. I increment the track number, and in
the next track I get only the first record of the last track. If I
position in the beginning to Track Number 3 for example, I get the
whole track 3, and the deblocking gives me all records on this track.
The next increment to track 4 gives only the first record of the last
track. If I use only EXCP without BDAM
RECIN DCB DSORG=PO,MACRF=(E),EODAD=DATAEND
all went well. I do not understand, why.
The problem above is I think, I can only go forward through the files
with EOV. To Position on the beginning I need need a reopen. Or is
there a better way to manage this.
> >
> >>regards
> >>J?rg


|