<font size=3 color=#2f2f2f face="Cambria">That is correct -- on p.123
of the QTP 8.4G reference manual...</font>
<br>
<br><font size=3 color=#2f2f2f face="Cambria">SELECT [FILE] record-structure
IF condition</font>
<br>
<br><font size=3 color=#2f2f2f face="Cambria">Applies a condition to a
data record as it is read. Specifies that if the selection condition is
satisfied, the data record is included in the transaction. If the condition
is not satisfied, the data record, not the transaction, is bypassed, and
the next data record is read before the transaction is constructed.</font>
<br>
<br><font size=3 color=#2f2f2f face="Cambria">With the QUIZ equivalent
being on p.113 of that reference manual...</font>
<br>
<br><font size=3 color=#2f2f2f face="Cambria">SELECT record-structure [IF
condition]</font>
<br>
<br><font size=3 color=#2f2f2f face="Cambria">Applies a condition to a
data record as it is read. Specifies that if the selection condition is
satisfied, the data record is included in the record complex. If the condition
isn’t satisfied, the data record is bypassed and the next data record
is read before the record complex is constructed.</font>
<br>
<br><font size=3 color=#2f2f2f face="Cambria">BTW, links to PDFs of the
currently available documentation may be found in this TechNote...</font>
<br>
<br><a href="http://www-01.ibm.com/support/docview.wss?uid=swg27014618"><font size=3 color=#2f2f2f face="Cambria">http://www-01.ibm.com/support/docview.wss?uid=swg27014618</font></a>
<br>
<br><font size=3 color=#2f2f2f face="Cambria">Regards,<br>
Conrad</font>
<br>
<br><font size=2 face="Arial">========================================================================</font>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From:
</font><font size=1 face="sans-serif">Arnold Chan <Chan@camosun.bc.ca></font>
<br><font size=1 color=#5f5f5f face="sans-serif">To:
</font><font size=1 face="sans-serif">"'Herald.Kaffka@westfraser.com'"
<Herald.Kaffka@westfraser.com>, "'powerh-l@lists.sowder.com'"
<powerh-l@lists.sowder.com>, </font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date:
</font><font size=1 face="sans-serif">2013-09-25 13:27</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject:
</font><font size=1 face="sans-serif">RE: QTP reads
every row instead of using index?</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Sent by:
</font><font size=1 face="sans-serif">powerh-l-bounces+conrad.whittall=ca.ibm.com@lists.sowder.com</font>
<br>
<hr noshade>
<br>
<br>
<br><font size=2 face="Comic Sans MS">That is my recollection as well.
I’ve always believed that SELECT IF would minimise i/o by reducing
the number of record complexes that would be created. I *<b>think</b>*
I read it in an old PH manual back in the day…</font>
<br><font size=2 face="Comic Sans MS"> </font>
<br><font size=2 face="Tahoma"><b>From:</b> powerh-l-bounces+chan=camosun.bc.ca@lists.sowder.com
[</font><a href="mailto:powerh-l-bounces+chan=camosun.bc.ca@lists.sowder.com"><font size=2 face="Tahoma">mailto:powerh-l-bounces+chan=camosun.bc.ca@lists.sowder.com</font></a><font size=2 face="Tahoma">]
<b>On Behalf Of </b>Herald.Kaffka@westfraser.com<b><br>
Sent:</b> Wednesday, 25 September, 2013 06:52<b><br>
To:</b> powerh-l@lists.sowder.com<b><br>
Subject:</b> Re: QTP reads every row instead of using index?</font>
<br><font size=3 face="Times New Roman"> </font>
<br><font size=2 face="Arial">(Had to trim most of the history, size of
this message thread of was getting too big for this list...).</font><font size=3 face="Times New Roman">
<br>
</font><font size=2 face="Arial"><br>
========================================================================</font><font size=3 face="Times New Roman"><br>
</font><font size=2 face="Arial"><br>
I also seem to remember something about "select file if" conditions
short circuiting the build of a record complex,</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
(Select File if was supposed to kick in as soon as the file entered the
record complex, and would prevent PH from</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
growing the record complex with unneeded records, while select was
evaluated "after all records were retreived").</font><font size=3 face="Times New Roman">
<br>
</font><font size=2 face="Arial"><br>
Don't know if this is an urban legend, an relic of an early PH version,
or if there some truth to it...</font><font size=3 face="Times New Roman">
<br>
</font><font size=2 face="Arial"><br>
To this day, (If I'm not working with a cursor), I still tend to <br>
"Choose" on the primary file, <br>
select file if as soon as possible on the other files in the access list
(esp if selecting on some field condition in just that file such as "select
inventory_balance if status of inventory_balance = "A").</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
and run a final select on cross table fields at the bottom. </font><font size=3 face="Times New Roman"><br>
</font><font size=2 face="Arial"><br>
Don't know if really more efficient or not (at one time I was told it was),
but it does tend to make the logic on a large ugly join a little
clearer (at least to me).</font><font size=3 face="Times New Roman"> </font><font size=2 face="Arial"><br>
I'm not likely to change my style at this point, but I do idly wonder if
"I'm right" or if it's just a "Crusty Old Guy" thing...
</font><font size=3 face="Times New Roman"><br>
</font><font size=2 face="Arial"><br>
(Or if the answer is like all good fairy tales and begins "once upon
a time" this was correct, but after version x it doesn't matter any
more...).</font><font size=3 face="Times New Roman"> <br>
</font><font size=2 face="Arial"><br>
===========================================================================</font><font size=3 face="Times New Roman">
<br>
<br>
<br>
Thanks! <br>
<br>
A+ <br>
<br>
Etienne <br>
</font><font size=2 face="Arial"><br>
============================================================================</font><font size=3 face="Times New Roman">
<br>
</font><font size=2 face="Arial"><br>
Think first, reply later. (gotta remember that rule).</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
<br>
There is/was an advantage to using Choose (or choose with select) on RMS/ISAM.</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
<br>
The choose (which can only operate on the initial file on the access statement),
can limit the size of the data set which <br>
is processed. (You have to be choosing an indexed item, only items
which match the choose criteria are driven down</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
into the link x of table a to y of table b logic). With just a select,
all of table A will be read, POWERHOUSE will apply the</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
select, and then use that to drive out the the other tables in the Join.
If table A is very big, and the select is very selective,</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
this can be a big difference, (read a million records, throw out the ones
before yesterday, link the remaining 2000 records</font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
into a results set, as opposed to reading 2000 rows since yesterday (choose
date(days(sysdate)-1)) and building the complex...</font><font size=3 face="Times New Roman">
<br>
<br>
<br>
<br>
<br>
---------------------------- <br>
This e-mail message and any attachments are confidential. Any dissemination
or use of this information by a person other than the intended recipient
is unauthorized. If you are not the intended recipient, please notify me
by return e-mail, do not open any attachment and delete this communication
and any copy. Thank you </font><tt><font size=2>--<br>
= = = = = = = = = = = = = = = = = = = = = = = = = = = =<br>
</font></tt>
<br>