Problem updating last record written at sort break in QTP
David Morrison - Corporate
dmorrison@mcbrideelectric.com
Thu, 9 Dec 2004 10:39:08 -0800
This is a multi-part message in MIME format.
------_=_NextPart_001_01C4DE1E.5E0EF6B1
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Tim,
=20
I'm not sure what's causing the QTP error; I think you need to include =
more of the program (e.g., the reference to LastOq).
=20
Side issues: Using " * .01 " may be faster and/or more accurate than " =
/ 100", and there's no need to ever multiply by -1.
=20
Thanks.
=20
David Morrison
-----Original Message-----
From: powerh-l-admin@lists.sowder.com =
[mailto:powerh-l-admin@lists.sowder.com]On Behalf Of Tim Cummings
Sent: Thursday, December 09, 2004 10:18 AM
To: Cognos Powerhouse List (E-mail)
Subject: Problem updating last record written at sort break in QTP
I have a QTP that writes some transactions and at the end I may have to =
update the last=20
transaction written to adjust for rounding problems. Here is the =
scenario:=20
ORDER ITEM=20
XXX BR-CREDITS QUANTITY-ON-HAND ITEM-NO=20
1 101 1 10001059=20
XXX-RATIO=20
XXX PR-PREFIX XXX-RATIO=20
1 20 .33=20
1 20 .33=20
1 20 .34=20
=20
All of the OO-TRX and OQ-TRX get written properly but the update at =
ITEM-NO fails.=20
Using the exact key value given in the error message, I can find the =
TRAN-KEY when=20
the QTP is finished. =20
Why does the QTP fail?=20
Here's the code:=20
CAN CLE=20
ACCESS ORDER-ITEMS &=20
LINK XXX OF ORDER-ITEMS &=20
TO PR-XXX OF XXX-RATIO=20
=20
=20
DEFINE SPOILED-CREDITS INTEGER SIGNED SIZE 4 =3D BR-CREDITS of =
order-items &=20
* QUANTITY-ON-HAND of =
order-items &=20
* (PR-PERCENT of =
XXX-ratio / 100)=20
TEMPORARY CREDIT-TOTAL NUM*8=20
SORT ON ITEM-NO=20
ITEM CREDIT-TOTAL SUBTOTAL SPOILED-CREDITS RESET AT ITEM-NO=20
OUTPUT TRANSACTIONS ADD NOITEMS ALIAS Oo-TRX=20
ITEM UNIT OF Oo-TRX INITIAL "9999999999"=20
ITEM TRAN-KEY OF Oo-TRX INITIAL "Oo" + ITEM-NO + PR-PREFIX=20
ITEM CREDITS OF Oo-TRX FINAL SPOILED-CREDITS=20
OUTPUT TRANSACTIONS UPDATE ALIAS LASTOo AT ITEM-NO &=20
VIA TRAN-KEY USING "Oo" + ITEM-NO + PR-PREFIX &=20
IF 0 <> (BR-CREDITS * QUANTITY-ON-HAND - CREDIT-TOTAL)=20
ITEM CREDITS OF LASTOo =3D CREDITS OF LASTOq + ((BR-CREDITS * =
QUANTITY-ON-HAND - CREDIT-TOTAL * -1))=20
GO=20
Executing request 1 ...=20
-------------------------------------------------------------------------=
------=20
Cannot find record with this key/index value. =
[3]=20
File: LASTOQ=20
Linkitem: UNIT=20
Linkitem: LINK-UNIT=20
Linkitem: TRAN-KEY Oq1000105920=20
Action Taken: Run terminated.=20
-------------------------------------------------------------------------=
------=20
Records read:=20
ORDER-ITEMS 5,790=20
XXX-RATIO 3=20
Transactions processed: 3=20
Records processed: Added Updated Unchanged =
Deleted=20
ORDER-ITEMS 0 0 0 =
0=20
OO-TRX 3 0 0 =
0=20
OQ-TRX 3 0 0 =
0=20
LASTOQ 0 0 0 =
0=20
LASTOO 0 0 0 =
0=20
Finished.=20
>=20
------_=_NextPart_001_01C4DE1E.5E0EF6B1
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<TITLE>Problem updating last record written at sort break in QTP</TITLE>
<META content=3D"MSHTML 6.00.2800.1476" name=3DGENERATOR></HEAD>
<BODY>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff=20
size=3D2>Tim,</FONT></SPAN></DIV>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff size=3D2>I'm =
not sure=20
what's causing the QTP error; I think you need to include more of the =
program=20
(e.g., the reference to LastOq).</FONT></SPAN></DIV>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff =
size=3D2>Side=20
issues: Using " * .01 " may be faster and/or more accurate =
than " /=20
100", and there's no need to ever multiply by -1.</FONT></SPAN></DIV>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff=20
size=3D2>Thanks.</FONT></SPAN></DIV>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D608573018-09122004><FONT color=3D#0000ff =
size=3D2>David=20
Morrison</FONT></SPAN></DIV>
<BLOCKQUOTE>
<DIV class=3DOutlookMessageHeader dir=3Dltr align=3Dleft><FONT =
face=3DTahoma=20
size=3D2>-----Original Message-----<BR><B>From:</B>=20
powerh-l-admin@lists.sowder.com =
[mailto:powerh-l-admin@lists.sowder.com]<B>On=20
Behalf Of </B>Tim Cummings<BR><B>Sent:</B> Thursday, December 09, 2004 =
10:18=20
AM<BR><B>To:</B> Cognos Powerhouse List (E-mail)<BR><B>Subject:</B> =
Problem=20
updating last record written at sort break in QTP<BR><BR></FONT></DIV>
<P><FONT face=3D"Courier New" size=3D2>I have a QTP that writes some =
transactions=20
and at the end I may have to update the last </FONT><BR><FONT=20
face=3D"Courier New" size=3D2>transaction written to adjust for =
rounding=20
problems. Here is the scenario:</FONT> </P>
<P><FONT face=3D"Courier New" size=3D2>ORDER ITEM</FONT> <BR><FONT=20
face=3D"Courier New" size=3D2> XXX BR-CREDITS =20
QUANTITY-ON-HAND ITEM-NO</FONT> <BR><FONT face=3D"Courier New"=20
size=3D2> =
1 =20
=
101 &nbs=
p; =20
1 10001059</FONT> </P>
<P><FONT face=3D"Courier New" size=3D2>XXX-RATIO</FONT> <BR><FONT=20
face=3D"Courier New" size=3D2> XXX PR-PREFIX =
XXX-RATIO</FONT>=20
<BR><FONT face=3D"Courier New" size=3D2> =20
1 =20
20 .33</FONT> <BR><FONT=20
face=3D"Courier New" size=3D2> =20
1 =20
20 .33</FONT> <BR><FONT=20
face=3D"Courier New" size=3D2> =20
1 =20
20 .34</FONT> <BR><FONT=20
face=3D"Courier New" size=3D2> </FONT><BR><FONT face=3D"Courier =
New"=20
size=3D2>All of the OO-TRX and OQ-TRX get written properly but the =
update at=20
ITEM-NO fails.</FONT> <BR><FONT face=3D"Courier New" size=3D2>Using =
the exact key=20
value given in the error message, I can find the TRAN-KEY when</FONT>=20
<BR><FONT face=3D"Courier New" size=3D2>the QTP is finished. =
</FONT></P>
<P><FONT face=3D"Courier New" size=3D2>Why does the QTP fail?</FONT> =
</P>
<P><FONT face=3D"Courier New" size=3D2>Here's the code:</FONT> </P>
<P><FONT face=3D"Courier New" size=3D2>CAN CLE</FONT> </P>
<P><FONT face=3D"Courier New" size=3D2> ACCESS ORDER-ITEMS =
&</FONT> <BR><FONT face=3D"Courier New" =
size=3D2> LINK=20
XXX OF ORDER-ITEMS &</FONT> <BR><FONT face=3D"Courier New"=20
size=3D2> TO PR-XXX OF =
XXX-RATIO</FONT>=20
<BR><FONT face=3D"Courier New" size=3D2> </FONT><BR><FONT=20
face=3D"Courier New" size=3D2> </FONT><BR><FONT face=3D"Courier =
New"=20
size=3D2> DEFINE SPOILED-CREDITS INTEGER SIGNED SIZE 4 =3D =
BR-CREDITS=20
of order-items &</FONT> <BR><FONT face=3D"Courier New"=20
=
size=3D2> &nbs=
p;  =
; =
=
* QUANTITY-ON-HAND of order-items &</FONT> <BR><FONT =
face=3D"Courier New"=20
=
size=3D2> &nbs=
p;  =
; =
=
* (PR-PERCENT of XXX-ratio / 100) </FONT></P>
<P><FONT face=3D"Courier New" size=3D2> TEMPORARY =
CREDIT-TOTAL=20
NUM*8</FONT> </P>
<P><FONT face=3D"Courier New" size=3D2> SORT ON =
ITEM-NO</FONT> </P>
<P><FONT face=3D"Courier New" size=3D2> ITEM CREDIT-TOTAL =
SUBTOTAL=20
SPOILED-CREDITS RESET AT ITEM-NO</FONT> </P>
<P><FONT face=3D"Courier New" size=3D2> OUTPUT =
TRANSACTIONS ADD=20
NOITEMS ALIAS Oo-TRX</FONT> <BR><FONT face=3D"Courier New"=20
size=3D2> ITEM=20
UNIT OF =
Oo-TRX=20
INITIAL "9999999999"</FONT> <BR><FONT face=3D"Courier New"=20
size=3D2> ITEM =
TRAN-KEY OF=20
Oo-TRX INITIAL "Oo" + ITEM-NO + PR-PREFIX</FONT> <BR><FONT =
face=3D"Courier New"=20
size=3D2> ITEM=20
CREDITS OF Oo-TRX =
FINAL =20
SPOILED-CREDITS</FONT> </P>
<P><FONT face=3D"Courier New" size=3D2> OUTPUT =
TRANSACTIONS=20
UPDATE ALIAS LASTOo AT ITEM-NO &</FONT> <BR><FONT face=3D"Courier =
New"=20
size=3D2> VIA TRAN-KEY USING "Oo" =
+ ITEM-NO=20
+ PR-PREFIX &</FONT> <BR><FONT face=3D"Courier New"=20
size=3D2> IF 0 <> =
(BR-CREDITS *=20
QUANTITY-ON-HAND - CREDIT-TOTAL)</FONT> <BR><FONT face=3D"Courier New" =
size=3D2> ITEM CREDITS OF LASTOo =3D CREDITS OF =
LASTOq +=20
((BR-CREDITS * QUANTITY-ON-HAND - CREDIT-TOTAL * -1))</FONT> <BR><FONT =
face=3D"Courier New" size=3D2>GO</FONT> </P><BR>
<P><FONT face=3Dr_ansi size=3D2>Executing request 1 ...</FONT> =
<BR><FONT=20
face=3Dr_ansi=20
=
size=3D2>----------------------------------------------------------------=
---------------</FONT>=20
<BR><FONT face=3Dr_ansi size=3D2>Cannot find record with this =
key/index=20
=
value. &=
nbsp; &n=
bsp; =20
[3] </FONT><BR><FONT face=3Dr_ansi size=3D2> File: =
LASTOQ</FONT>=20
<BR><FONT face=3Dr_ansi size=3D2> =
Linkitem: =20
UNIT</FONT> <BR><FONT face=3Dr_ansi size=3D2> =20
Linkitem: LINK-UNIT</FONT> <BR><FONT face=3Dr_ansi=20
size=3D2> Linkitem: =20
=
TRAN-KEY  =
; =
=20
Oq1000105920</FONT> </P>
<P><FONT face=3Dr_ansi size=3D2>Action Taken: Run terminated.</FONT> =
<BR><FONT=20
face=3Dr_ansi=20
=
size=3D2>----------------------------------------------------------------=
---------------</FONT>=20
</P>
<P><FONT face=3Dr_ansi size=3D2>Records read:</FONT> <BR><FONT =
face=3Dr_ansi=20
size=3D2> =20
=
ORDER-ITEMS &n=
bsp; &nb=
sp; =20
5,790</FONT> <BR><FONT face=3Dr_ansi size=3D2> =20
=
XXX-RATIO &nbs=
p;  =
; =20
3</FONT> </P>
<P><FONT face=3Dr_ansi size=3D2>Transactions=20
=
processed: &nb=
sp; =20
3</FONT> </P>
<P><FONT face=3Dr_ansi size=3D2>Records=20
=
processed: &nb=
sp; =20
Added Updated Unchanged =20
Deleted</FONT> <BR><FONT face=3Dr_ansi size=3D2> =20
=
ORDER-ITEMS &n=
bsp; &nb=
sp; =20
0 =20
0 =20
0 0</FONT> =
<BR><FONT=20
face=3Dr_ansi size=3D2> =20
=
OO-TRX &=
nbsp; &n=
bsp; =20
3 =20
0 =20
0 0</FONT> =
<BR><FONT=20
face=3Dr_ansi size=3D2> =20
=
OQ-TRX &=
nbsp; &n=
bsp; =20
3 =20
0 =20
0 0</FONT> =
<BR><FONT=20
face=3Dr_ansi size=3D2> =20
=
LASTOQ &=
nbsp; &n=
bsp; =20
0 =20
0 =20
0 0</FONT> =
<BR><FONT=20
face=3Dr_ansi size=3D2> =20
=
LASTOO &=
nbsp; &n=
bsp; =20
0 =20
0 =20
0 0</FONT> </P>
<P><FONT face=3Dr_ansi size=3D2>Finished.</FONT> <BR><FONT =
face=3Dr_ansi size=3D2>>=20
</FONT></P><BR><BR><BR><BR><BR></BLOCKQUOTE></BODY></HTML>
------_=_NextPart_001_01C4DE1E.5E0EF6B1--