Pete had alluded to a goal of finding a string "trying to reverse
engineer some 3rd party apps." [I noticed right after I replied, that I
had snipped that; oops]; possibly a bit unlike the Subject line and text
from the OP. An assumption that searching database data would suffice,
seemed a bit limited. As such the DASD search was actually offered in
full sincerity, albeit with the assumption that the idea would likely be
dismissed without so much as an inquiry. /Easy/ enough to self-teach by
creating a file.mbr with a row at the end of over 16MB of data, where
the row data has a string very likely to be unique. Dump the dataspace
and use the search utility; use the details of the dump to [try to learn
to] navigate, after the string is located. Given the data were stored
instead in either an associated space or another object type, alternate
techniques and similar learning. But if such a search is performed
and found or not found, can help determine if learning or doing more
might have any value.
Chuck you got me rolling on the floor with this one! Trouble is,
I love doing this kind of thing!
Now how many civilians know that a context is the MI name for a
And I know I've forgot where the pointers to everything are
- figured it out once when I was contracted at IBM in 2001.
Had to see what was actually happening with auxiliary spaces
and the AXENT stuff. (Just showing off a little - heh!)
Given a sufficiently [presumed to be effectively] unique string to be
searched, the STRSST D/A/D find function for an address range could be
used to scan the DASD for such data. For occurrences found, visit the
base segment address to determine if it is a dataspace segment, then
find its owning dataspace object, owning member, and then its context.
Pete Hall wrote:
Well, the other day, I needed to find a table that contained a
particular ID. Something like:
grep "ABC123456789" *
Is it possible to do something like that in qsys.lib? Assume the
database tables have an unknown schema, and there are a bunch of