<!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&nbsp;<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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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,&nbsp;</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>&nbsp;Subscreen to display the new records.</FONT></SPAN></DIV>
<DIV><SPAN class=781501700-15062006><FONT face=Verdana 
size=2></FONT></SPAN>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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&#10;mailto:glenn@baxterit.com.au" 
href="blocked::mailto:glenn@baxterit.com.au"><FONT 
title="blocked::mailto:glenn@baxterit.com.au&#10;mailto:glenn@baxterit.com.au" 
face=Verdana color=#ff8040 
size=1><STRONG>glenn@baxterit.com.au</STRONG></FONT></A></FONT></DIV></DIV></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>