QTP SELECT IF of TEMP field not returning records.

Michael Lee mcl_systems@bc.sympatico.ca
Mon, 21 Jun 1999 15:33:21 -0700


The problem is that the ITEM statement for a TEMPORARY item is not processed until
the OUTPUT phase of QTP, well after any records may have been selected (in the
INPUT phase). I think that perhaps Powerhouse should have issued you a message
indicating that you cannot have a TEMPORARY in your SELECT statement.  You should
use a DEFINE instead as it gets calculated when it gets referenced.

Michael Lee
MCL Systems Inc.


Rich `Lego-Man' Jesse - 7633 wrote:

> Hi all,
>
> I've got a call into Cognos about this one, but thought I'd post it here, too.
> Here's my QTP (733d3 on HP/UX 10.20):
>
>     RUN MYQTP
>     REQUEST MYQTP
>     SET PROCESS NOLIMIT
>     SET LOCK FILE UPDATE
>
>     ACCESS AN_ORACLE_TABLE
>
>     TEMPORARY T_CALC_FIELD FLOAT SIZE 8
>     ITEM T_CALC_FIELD = FIELD_A OF AN_ORACLE_TABLE + FIELD_B OF AN_ORACLE_TABLE
>
>     SELECT IF 0 <> T_CALC_FIELD
>
>     OUTPUT MY_ORACLE_TABLE ADD
>         ITEM SOME_KEY_FIELD     FINAL SOME_KEY_FIELD OF AN_ORACLE_TABLE
>         ITEM TO_KIT             FINAL T_CALC_FIELD
>
> The fields FIELD_A and FIELD_B are defined in the Oracle 7.3.4.3 db as FLOAT
> (no, it's NOT "NUMBER"!), and are defined in the dictionary as FLOAT SIZE 8.
> While MY_ORACLE_TABLE is not explicitly in the dictionary, the above is run
> with the SUBDICT=SEARCH option.
>
> Running the above selects no rows, although I know there are matches.  I know
> this because if I change the SELECT statement to:
>
>         SELECT AN_ORACLE_TABLE IF (0 <> FIELD_A + FIELD_B)
>
> ...rows are returned.  However, this is just a pared-down version of the much
> more complex QTP, involving at least 8 tables in the ACCESS statement, and I
> need the SELECT IF as opposed to a SELECT TABLE IF.
>
> Any ideas?  Something I'm overlooking?
>
> TIA,
> Rich Jesse                              Programmer/Analyst (/DBA/SysAdmin/etc.)
> rjesse@qtiworld.com                     Quad/Tech International, Sussex, WI USA
> = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
> Subscribe: "subscribe powerh-l" in message body to majordomo@lists.swau.edu
> Unsubscribe: "unsubscribe powerh-l" in message to majordomo@lists.swau.edu
> powerh-l@lists.swau.edu is gatewayed one-way to bit.listserv.powerh-l
> This list is closed, thus to post to the list, you must be a subscriber.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Subscribe: "subscribe powerh-l" in message body to majordomo@lists.swau.edu
Unsubscribe: "unsubscribe powerh-l" in message to majordomo@lists.swau.edu
powerh-l@lists.swau.edu is gatewayed one-way to bit.listserv.powerh-l
This list is closed, thus to post to the list, you must be a subscriber.