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.
>
>
>>My DCB in my last message was not BDAM. Only for information.
>>
>>Is extension equal volume? I think not. The HH is what TT is meaning,
>>I think. All this information is only the information of one volume, I
>>think.
>
>
> That's extent and no, it's not necessarily the same as volume. A
> dataset consists of 1 or more extents. The "m" corresponds to the
> extent's position in the DEB. An extent describes a contiguous range
> of tracks or cylinders on a volume that belong to the ds.
> How do you handle datasets that span volumes, BTW?
>
>>All I need, is the the right position of do***ent X in data set Y
>>without closing and reopening it in this task.
>>My try was open all files in the beginning and switch from one to
>>another in arbitrary order. In my first reading there is no need to
>>open all files. In the second run, when I write the output files I
>>need all files to be open. Close and reopen is to slow.
>>
>>The Unlike Bit, I don't understand what does that buy me?
>
> That causes EOV to close & reopen the DCB for each file, so your open
> exit gets called and you know you've switched to a different ds. It
> also used to be required if the ds's were on different device types.
>
>
>>regards
>>J?rg


|