QTP SELECT IF of TEMP field not returning records.

Richard Witkopp witkopp@idt.com
Mon, 21 Jun 1999 17:03:21 -0700


Not to mention that it's always risky to use exact-match
operators ("=" or "<>") when dealing with floats.

> 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.
> 
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
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.