<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hi Guy:<BR>
<BR>&nbsp;&nbsp; DBMODE 1 does allow concurrent users of an IMAGE&nbsp; database to update the database but first<BR>&nbsp;&nbsp; they must take out a lock using the DBLOCK intrinsic.<BR>
&nbsp;&nbsp; The FORTRAN program probably is taking a dataset lock out. But it could be taking an ITEM level lock out!<BR>
&nbsp;&nbsp;&nbsp;<BR>
&nbsp;&nbsp; I have seen a problem with C-ISAM where by the last update was not being posted to the C-ISAM file,<BR>&nbsp;&nbsp; you may&nbsp; want to check with Cognos Customer support to determine which version it occurred in and in which <BR>&nbsp;&nbsp; it was fixed. The workaround was to CLOSE the C-ISAM after the UPDATE procedure.<BR>
&nbsp;&nbsp; <BR>
&nbsp;&nbsp; 1) Ensure&nbsp; that the FORTRAN is doing a dataset lock. i.e. A FILE lock on the C-ISAM file.<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>
&nbsp;&nbsp; 2) Procedure POSTUPDATE<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BEGIN <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLOSE C-ISAM file<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PUSH FIND ;&nbsp;you may have extra work as your read chain has been cut off<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END <BR>
<BR>&nbsp;&nbsp; I worked on an application where we had a file called SYSLOCK<BR>&nbsp;&nbsp; if a critical process was going on ie FORTRAN program it would<BR>&nbsp;&nbsp; be populated with the message<BR>
&nbsp;&nbsp; "Critical Process"<BR>
&nbsp;&nbsp; In QUICK<BR>
&nbsp; PROCEDURE PATH<BR>
&nbsp; BEGIN<BR>
&nbsp;&nbsp; Get SYSLOCK<BR>
&nbsp;&nbsp; if MSG of SYSLOCK &lt;&gt; " "<BR>&nbsp;&nbsp;&nbsp; then error = " Critical process can not maintain files now"<BR>
&nbsp; END&nbsp; <BR>
This stops maintance people from working while the FORTRAN program is running.<BR>
&nbsp; In the job for the FORTRAN<BR>
&nbsp; QTP <BR>&nbsp;&nbsp; Access SYSLOCK<BR>&nbsp;&nbsp; Output SYSLOCK UPDATE<BR>&nbsp;&nbsp; Item MSG final "Critical Process"<BR>&nbsp;&nbsp; go <BR>exit<BR>
&nbsp;exec FORTRAN program<BR>
; you probable should check the error code<BR>; After FORTRAN program <BR>&nbsp; QTP <BR>&nbsp;&nbsp; Access SYSLOCK<BR>&nbsp;&nbsp; Output SYSLOCK UPDATE<BR>&nbsp;&nbsp; Item MSG final " "<BR>&nbsp;&nbsp; go <BR>exit<BR><BR>
Have you considered HP Eloquence ?<BR>
&nbsp;<BR>
Regards,<BR>
Peter<BR><BR>
<BLOCKQUOTE>
<HR>
Subject: Trolling for Wise Ideas<BR>Date: Tue, 15 Apr 2008 10:49:40 -0500<BR>From: guy.werry@hbms.ca<BR>To: powerh-l@lists.sowder.com<BR><BR>
<META content="Microsoft SafeHTML" name=Generator>
<FONT face=Arial size=2>We have a recurring problem, not an urgent one, that I'd like to see if anyone has Wise Ideas about.</FONT> <BR>
<FONT face=Arial size=2>We have an environment running under HP-Ux 10.2, Powerhouse 7.33.D3, C-ISAM (unsure of version, but it's the latest version that 7.33.D3 came with) and FORTRAN (ick!).</FONT><BR>
<FONT face=Arial size=2>We have an Image/3000 emulator built by a contractor: it takes the Image calls and translates them into C-ISAM calls - we've had this since 1994 and it has been very reliable.</FONT><BR>
<FONT face=Arial size=2>This particular application has one large data file (2 million plus rows) which is heavily indexed: data file currently is about 650 K but the index is twice that size.</FONT><BR>
<FONT face=Arial size=2>We have a FORTRAN program that does batch updates to the data file, locking mode 1, around the entire transaction.&nbsp; This program<U> only</U> adds to the data file.</FONT><BR>
<FONT face=Arial size=2>We also have Powerhouse screens that allow users to do maintenance on the data file, which often means deleting records that were uploaded erroneously.</FONT><BR>
<FONT face=Arial size=2>The Powehouse screens use the default locking scheme … there is nothing explicitly written in the code or dictionary regarding locking.</FONT><BR>
<FONT face=Arial size=2>Periodically we come up with corrupted indexes on the main data file and have to use the bcheck utility to re-build the indexes.&nbsp; Sometimes this happens several times in a couple of months, or like this week, it will be almost a YEAR between occurrences.</FONT><BR>
<FONT face=Arial size=2>I had long thought that we must have the FORTRAN program and the maintenance screens tripping over each other.&nbsp; This past week, when the problem showed up I actually saw 2 users in the maintenance screens as well as one of the FORTRAN uploads taking place: one of the maintenance users actually received a message that the screen was waiting on locks.&nbsp; Then, the corrupted index showed up.</FONT><BR>
<FONT face=Arial size=2>The FORTRAN does lock, although it is a mode 1 lock, which allows other concurrent users.&nbsp; </FONT><BR>
<FONT face=Arial size=2>So, what I'm thinking is that our FORTRAN program's locks are not keeping the maintenance screens out, the maintenance screens are deleting entries (requireing notoriously slow index rebuilds in C-ISAM) and the two processes working against each other are resulting in messed-up indexes.&nbsp; Does this make sense?</FONT><BR>
<FONT face=Arial size=2>Thanks,</FONT> <BR><FONT face=Arial size=2>Guy L. Werry</FONT> <BR><FONT face=Arial size=2>Senior Systems Analyst</FONT> <BR><FONT face=Arial size=2>Hudson Bay Mining &amp; Smelting Co., Limited. </FONT><BR>The information in this e-mail and any attachments is confidential and may be subject to legal professional privilege. It is intended solely for the attention and use of the named addressee(s). If you are not the intended recipient, or person responsible for delivering this information to the intended recipient, please notify the sender immediately. Unless you are the intended recipient or his/her representative you are not authorised to, and must not, read, copy, distribute, use or retain this message or any part of it. </BLOCKQUOTE><br /><hr />You could win $1000 a day, now until May 12th, just for signing in to Windows Live Messenger. <a href='http://g.msn.ca/ca55/211' target='_new'>Check out SignInAndWIN.ca to learn more!</a></body>
</html>