<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Verdana size=2><SPAN class=781501700-15062006>Our Environment
Details</SPAN></FONT></DIV>
<DIV><FONT face=Verdana size=2><SPAN class=781501700-15062006>- Powerhouse
Version 8.41D1</SPAN></FONT></DIV>
<DIV><FONT face=Verdana size=2><SPAN class=781501700-15062006>- Axiant 3.41D1
IDE and Thin Client Deployment</SPAN></FONT></DIV>
<DIV><FONT face=Verdana size=2><SPAN class=781501700-15062006>- Nt Server 2003
with Powerhouse, NETD and <FONT face=Verdana size=2><SPAN
class=781501700-15062006>Sql Server 2000</SPAN></FONT></SPAN></FONT></DIV>
<DIV><FONT face=Verdana size=2><SPAN class=781501700-15062006>- Nt Server 2003
Domain Controller</SPAN></FONT></DIV>
<DIV><FONT face=Verdana size=2></FONT> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>We have a screen
with a primary record, lets call it ORDER_DETAIL, it has a TOTAL_QUANTITY
field.</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>The Record is
identified by a ORDER_ID which is obtained from a CONTROL_FILE fields,
NEXT_ORDER_ID</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>The object is to
find a primary record and SPLIT (make multiple records) of one
TOTAL_QUANTITY.</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>The code is being
migrated from a Hp3000 code base.</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>The original code
has a hand built UPDATE procedure which in short</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>- Gets the
CONTROL_FILE and NEXT_ORDER_ID field value</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>- Locks the
CONTROL_FILE</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>- does a series of
puts on the ORDER_DETAIL, </FONT></SPAN><SPAN
class=781501700-15062006><FONT face=Verdana size=2>initialising the ORDER_ID
value from the CONTROL_FILE, finally</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>- Ascending the
NEXT_ORDER_ID</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>- PUTting the
CONTROL_FILE</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>- releasing the
LOCK then</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>- running
a</FONT></SPAN><SPAN class=781501700-15062006><FONT face=Verdana
size=2> Subscreen to display the new records.</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>In this way, 2 or
more users can perform the same task and get unique NEXT_ORDER_ID values each
time.</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>Using SQL via ODBC
we have no lock. The default Concurrency mode behaves correctly but only reports
that </FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>"this record has
changed since you found it etc" referring to the
CONTROL_FILE.</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>I have done some
reading from the Powerhouse and Relational Databases PDF which would suggests
that the Consistency model would be a better choice. The books I have are for
version 8.3 and have little/no reference to SQLServer/ODBC database
use.</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana size=2>In short; I am
seeking some advice regarding best practice under similar circumstances in order
to restrict "this record has changed..." and avoid locking the
database..(uncontrollably!) </FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana
size=2></FONT></SPAN> </DIV>
<DIV align=left>
<DIV align=left>
<DIV align=left><FONT face=Verdana size=2><SPAN class=781501700-15062006>Thanks
in Advance..</SPAN></FONT></DIV>
<DIV align=left><FONT face=Verdana size=2></FONT></DIV>
<DIV align=left><FONT face=Verdana size=2>Glenn Baxter</FONT></DIV>
<DIV align=left><FONT face=Verdana color=#ff8040
size=4><STRONG>______________</STRONG></FONT></DIV>
<DIV align=left><FONT face=Verdana color=#808080 size=2><STRONG>Baxter IT
Solutions</STRONG></FONT></DIV>
<DIV align=left>
<DIV align=left><FONT face=Verdana color=#808080 size=1></FONT></DIV><FONT
color=#008080><FONT size=1><FONT face=Verdana><FONT color=#808080>e:</FONT>
</FONT></FONT><A
title="blocked::mailto:glenn@baxterit.com.au mailto:glenn@baxterit.com.au"
href="blocked::mailto:glenn@baxterit.com.au"><FONT
title="blocked::mailto:glenn@baxterit.com.au mailto:glenn@baxterit.com.au"
face=Verdana color=#ff8040
size=1><STRONG>glenn@baxterit.com.au</STRONG></FONT></A></FONT></DIV></DIV></DIV>
<DIV> </DIV></BODY></HTML>