I have found problems sometimes when I project a temp table from a view.
I have found that immediately reprojecting another temp table from the 
projected table and using that one instead seems to calm things down.

Dennis McGrath

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of A.G. IJntema
Sent: Wednesday, January 27, 2010 4:34 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - RE: seem to be getting I/O errors when updating temp 
tables on occasion with live data on one users workstation...

Hi Rachael,

I have had similar kind of problems with Temp tables.
One of the causes could be the directory in which these temp tables are
stored.
Please make sure you have access rights to this directory.

You can enforce the directory in which these temp files will be written by
the command

SET SCRATCH ....

Hope it helps

Kind Regards,

Tony IJntema
The Netherlands

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Rachael
Malberg
Sent: woensdag 27 januari 2010 16:49
To: RBASE-L Mailing List
Subject: [RBASE-L] - seem to be getting I/O errors when updating temp tables
on occasion with live data on one users workstation...

Config....

compiled v8 version 21.30903 (had updated to 11/2 back in Nov but it
resulted in massive I/O, Access Violations, and Lock ups so reverted back in

the meantime.  Plan to update to current vrs in a few weeks.)
window network with new server
1 gig switches
1 gig network cards
home run cat6

workstation...
windows NT
1 gig network card
Dual processors
2 gig Ram

user...
120/min typer
no extra config, dll

This seems to happen primarly just before printing one of her reports or in
one form selecting records to record in live data. These errors will
continue to cycle threw till she ends the program.  Often after going back
in the errors will not be there and the process works.  the errors are...

I/O check for full disk
then
I/O database files out of sync

if someone has some idea for resolution here is the most consistant code
that errors pop up on...

RECALC VAR
SET VAR vSalesID INTEGER =(.vSalePayerSalesId)
CALL Pause3 ()
--RptCrtData4Rpt_TransBillingReport
--SET ERROR MESSAGES OFF
SET VAR RptTBD_DoARCalc TEXT='Y'


SET VAR vCheckForTbl INTEGER='0'
SELECT COUNT(*) INTO vCheckForTbl FROM SYS_TABLES WHERE SYS_TABLE_NAME
='att_SaleAndCustInfo4TB'
IF vCheckForTbl ='0' THEN
CREATE TEMPORARY TABLE `att_SaleAndCustInfo4TB` +
(`CustCID` INTEGER , +
`MedProCAID` INTEGER , +
`MedProCid` INTEGER , +
`SalesID` INTEGER , +
`SaleNotes` NOTE (1000) , +
`SalesPersonTxt` TEXT (40) , +
`CustName` TEXT (75) , +
`CustBirthdate` DATE , +
`CustGender` TEXT (1) , +
`CustHeight` TEXT (7) , +
`CustWeight` TEXT (3) , +
`CustNotes` NOTE (4000) , +
`CustAlert` TEXT (50) , +
`CustRefCAID` INTEGER , +
`CustAdd1` TEXT (50) , +
`CustAdd2` TEXT (50) , +
`CustCSZ` TEXT (75) , +
`CustFax` TEXT (20) , +
`CustPhone` TEXT (20) , +
`CustAddContactName` TEXT (30) , +
`CustAddDirections` NOTE (500) , +
`CustAddLookUpDirections` NOTE , +
`BusLocAddLn` TEXT (50) , +
`BusLocCSZ` TEXT (75) , +
`BusLocFaxFmt` TEXT (25) , +
`BusLocLogo` LONG VARBIT , +
`BusLocName` TEXT (30) , +
`BusLocPhoneFmt` TEXT (25) , +
`BusLocNPI` TEXT (10) , +
`DocRefCAID` INTEGER , +
`DocName` TEXT (75) , +
`DocAddContactName` TEXT (30) , +
`DocAdd1` TEXT (50) , +
`DocAdd2` TEXT (50) , +
`DocCSZ` TEXT (75) , +
`DocPhone` TEXT (25) , +
`DocFax` TEXT (75) , +
`DocContactNotes` TEXT (500), +
`DocNPI` TEXT (10) , +
`DocLic` TEXT (25) )
ELSE
DELETE FROM att_SaleAndCustInfo4TB
ENDIF
--removed to try and elim i/os APPEND atv_SaleAndCustInfo TO
att_SaleAndCustInfo4TB WHERE SalesID=.vSalesID

INSERT INTO att_SaleAndCustInfo4TB +
CustCID, +
MedProCAID, +
MedProCid, +
SalesID, +
SaleNotes, +
SalesPersonTxt, +
CustName, +
CustBirthdate, +
CustGender, +
CustHeight, +
CustWeight, +
CustNotes, +
CustAlert, +
CustRefCAID, +
CustAdd1, +
CustAdd2, +
CustCSZ, +
CustFax, +
CustPhone, +
CustAddContactName, +
CustAddDirections, +
CustAddLookUpDirections, +
BusLocAddLn, +
BusLocCSZ, +
BusLocFaxFmt, +
BusLocLogo, +
BusLocName, +
BusLocPhoneFmt, +
BusLocNPI +
SELECT +
T1.CID , +
T1.MedProCAID, +
T1.MedProCid, +
T1.SalesID, +
('Encounter Note: '+ T1.SaleNotes), +
T6.AppDisplayName, +
(IFNULL(T3.CMBusName,T3.CMFname&T3.CMLname,IFNULL(T3.CMLname,T3.CMBusName,T3
.CMBusName&'attn:'&T3.CMFname&T3.CMLname))),
+
T4.CustBirthdate, +
T4.CustGender, +
T4.CustHeight, +
T4.CustWeight, +
('Customer Note: '+ T4.CustNotes), +
(IFNULL(T4.CustMajorAlert,T4.CustMajorAlert,'ALERT!!!')), +
T5.RefCAID, +
T5.CA_Address1, +
T5.CA_Address2, +
(T5.CA_City+','&T5.CA_State&T5.CA_Zip), +
(IFNULL(T5.CA_FaxNum ,T5.CA_FaxNum ,'Fax:
('+SGET(T5.CA_FaxNum,3,1)+')'+SGET(T5.CA_FaxNum
,3,4)+'-'+SGET(T5.CA_FaxNum,4,7))), +
(IFNULL(T5.CA_PhoneNum ,T5.CA_PhoneNum ,'Phone:
('+SGET(T5.CA_PhoneNum,3,1)+')'+SGET(T5.CA_PhoneNum
,3,4)+'-'+SGET(T5.CA_PhoneNum,4,7))), +
T5.CA_PrimContName, +
('Address Directions / Note: '+ T5.CA_Directions ), +
' ', +
T7.BusLocAddLn1, +
(T7.BusLocCity+', '+T7.BusLocState&T7.BusLocZip), +
(IFNULL(T7.BusLocFax ,T7.BusLocFax ,'Fax: ('+SGET(T7.BusLocFax
,3,1)+')'+SGET(T7.BusLocFax ,3,4)+'-'+SGET(T7.BusLocFax ,4,7))), +
T7.BusLocLogo, +
T7.BusLocName, +
(IFNULL(T7.BusLocPhone,T7.BusLocPhone,'Phone:
('+SGET(T7.BusLocPhone,3,1)+')'+SGET(T7.BusLocPhone,3,4)+'-'+SGET(T7.BusLocP
hone,4,7))),
+
T7.BusLocElectSubNum +
FROM +
Sale T1, +
ContactMaster T3, +
Customer T4, +
ContactAddress T5, +
ZAppAccess T6, +
BusinessLocations T7 +
WHERE T1.SalesID=.vSalesID AND T1.CID=T3.CID AND T1.CID=T4.CID AND
T1.CustResidentialID=T5.CAID AND T1.SalesPerson =T6.AccessID AND
T1.SaleBusLocID=T7.BusLocID



--update customer address info if address is a look up
UPDATE att_SaleAndCustInfo4TB SET +
CustAddContactName =T2.CA_PrimContName, +
CustAdd1=T2.CA_Address1, +
CustAdd2=T2.CA_Address2, +
CustCSZ=(T2.CA_City+','&T2.CA_State&T2.CA_Zip), +
CustAddLookUpDirections=T2.CA_Directions,CustPhone=(IFNULL(T2.CA_PhoneNum,T2
.CA_PhoneNum,'Phone:
('+SGET(T2.CA_PhoneNum,3,1)+')'+SGET(T2.CA_PhoneNum,3,4)+'-'+SGET(T2.CA_Phon
eNum,4,7))),
+
CustFax =(IFNULL(T2.CA_FaxNum ,T2.CA_FaxNum ,'Fax: ('+SGET(T2.CA_FaxNum
,3,1)+')'+SGET(T2.CA_FaxNum ,3,4)+'-'+SGET(T2.CA_FaxNum ,4,7))) +
FROM att_SaleAndCustInfo4TB T1, ContactAddress T2 +
WHERE T1.CustRefCAID=T2.CAID

UPDATE att_SaleAndCustInfo4TB SET CustAddContactName=' ' WHERE
CustRefCAID='0'

UPDATE att_SaleAndCustInfo4TB SET +
CustAddContactName=(IFNULL(T3.CMBusName,T3.CMFname&T3.CMLname,IFNULL(T3.CMLn
ame,T3.CMBusName,T3.CMBusName&'attn:'&T3.CMFname&T3.CMLname)))
+
FROM att_SaleAndCustInfo4TB T1, ContactAddress T2, ContactMaster T3 +
WHERE T1.CustRefCAID=T2.CAID AND T2.CID=T3.CID AND CustAddContactName IS
NULL

--update doc address info if address is a look up
UPDATE att_SaleAndCustInfo4TB SET +
DocRefCAID=T2.RefCAID , +
DocAddContactName=T2.CA_PrimContName, +
DocAdd1=T2.CA_Address1, +
DocAdd2=T2.CA_Address2, +
DocCSZ=(T2.CA_City+','&T2.CA_State&T2.CA_Zip), +
DocPhone=(IFNULL(T2.CA_PhoneNum,T2.CA_PhoneNum,'Phone:
('+SGET(T2.CA_PhoneNum,3,1)+')'+SGET(T2.CA_PhoneNum,3,4)+'-'+SGET(T2.CA_Phon
eNum,4,7))),
+
DocFax =(IFNULL(T2.CA_FaxNum,T2.CA_FaxNum,'Fax:
('+SGET(T2.CA_FaxNum,3,1)+')'+SGET(T2.CA_FaxNum,3,4)+'-'+SGET(T2.CA_FaxNum,4
,7))),
+
DocContactNotes=T2.CA_Directions +
FROM att_SaleAndCustInfo4TB T1, ContactAddress T2 +
WHERE T1.MedProCAID=T2.CAID

UPDATE att_SaleAndCustInfo4TB SET +
DocName
=(IFNULL(T3.CMBusName,T3.CMFname&T3.CMLname,IFNULL(T3.CMLname,T3.CMBusName,T
3.CMBusName&'attn:'&T3.CMFname&T3.CMLname)))
+
FROM att_SaleAndCustInfo4TB T1, ContactMaster T3 +
WHERE T1.MedProCid =T3.CID

UPDATE att_SaleAndCustInfo4TB SET +
DocAddContactName=(IFNULL(T3.CMBusName,T3.CMFname&T3.CMLname,IFNULL(T3.CMLna
me,T3.CMBusName,T3.CMBusName&'attn:'&T3.CMFname&T3.CMLname))),
+
FROM att_SaleAndCustInfo4TB T1, ContactMaster T3 +
WHERE T1.MedProCid =T3.CID AND DocAddContactName IS NULL

UPDATE att_SaleAndCustInfo4TB SET +
DocNPI=T3.MedProNPIID,DocLic = T3.MedProDocLicNo +
FROM att_SaleAndCustInfo4TB T1, MedProfessionals T3 +
WHERE T1.MedProCid =T3.CID

UPDATE att_SaleAndCustInfo4TB SET +
DocAddContactName=T2.CA_PrimContName, +
DocAdd1=T2.CA_Address1, +
DocAdd2=T2.CA_Address2, +
DocCSZ=(T2.CA_City+','&T2.CA_State&T2.CA_Zip), +
DocPhone=(IFNULL(T2.CA_PhoneNum,T2.CA_PhoneNum,'Phone:
('+SGET(T2.CA_PhoneNum,3,1)+')'+SGET(T2.CA_PhoneNum,3,4)+'-'+SGET(T2.CA_Phon
eNum,4,7))),
+
DocFax =(IFNULL(T2.CA_FaxNum,T2.CA_FaxNum,'Fax:
('+SGET(T2.CA_FaxNum,3,1)+')'+SGET(T2.CA_FaxNum,3,4)+'-'+SGET(T2.CA_FaxNum,4
,7)))
+
FROM att_SaleAndCustInfo4TB T1, ContactAddress T2 +
WHERE T1.DocRefCAID=T2.CAID

UPDATE att_SaleAndCustInfo4TB SET DocAddContactName=' ' WHERE DocRefCAID='0'

UPDATE att_SaleAndCustInfo4TB SET +
DocAddContactName=(IFNULL(T3.CMBusName,T3.CMFname&T3.CMLname,IFNULL(T3.CMLna
me,T3.CMBusName,T3.CMBusName&'attn:'&T3.CMFname&T3.CMLname)))
+
FROM att_SaleAndCustInfo4TB T1, ContactAddress T2, ContactMaster T3 +
WHERE T1.DocRefCAID=T2.CAID AND T2.CID=T3.CID AND DocAddContactName IS NULL

-- temp table not always deleting data prior to insert
DELETE DUPLICATES FROM att_SaleAndCustInfo4TB USING SalesID

SET VAR vCheckForTbl INTEGER='0'
SELECT COUNT(*) INTO vCheckForTbl FROM SYS_TABLES WHERE SYS_TABLE_NAME
='att_TransPayer'
IF vCheckForTbl ='0' THEN
CREATE TEMPORARY TABLE `att_TransPayer` (`SalesID` INTEGER , +
`PayerBillID` TEXT (10), +
`PayorItem_DOS` DATE , +
`SalePayorID` INTEGER , +
`SaleItemPayorID` INTEGER , +
`CustInsVerID` INTEGER , +
`PolicyHolderRelCode` TEXT (2) , +
`SubscriberName` TEXT (30) , +
`SaleItemID` INTEGER , +
`PayerRefCAID` INTEGER , +
`CustInsuranceID` INTEGER , +
`PayerCAID` INTEGER , +
`PayerCID` INTEGER , +
`PayerOrder` INTEGER , +
`BDPayerStat` TEXT (2) , +
`BDBillLine` TEXT (1) , +
`BD2BillCnt` INTEGER , +
`BDBilledCnt` INTEGER , +
`PayerName` TEXT (70) , +
`PayerPAContactName` TEXT (30) , +
`PayerPAAdr1` TEXT (50) , +
`PayerPAAdr2` TEXT (50) , +
`PayerPACSZ` TEXT (70) , +
`PayerPAPhone` TEXT (25) , +
`PayerPAFax` TEXT (25) , +
`PayerNotes` NOTE (500) , +
`PayorItemName` TEXT (60) , +
`PayorLineItemRef` INTEGER , +
`BillingBilledCnt` INTEGER , +
`BilledQty` INTEGER , +
`BillingBilledAmt` CURRENCY , +
`BilledItemAmt` CURRENCY , +
`BillingHCPCS` TEXT (12) , +
`PANum` TEXT (12) , +
`BillingModifiers` TEXT (20) , +
`BillingDXCodes` TEXT (200) , +
`BillingNarative` TEXT (80) , +
`BDAdjCodes` TEXT (20) , +
`PayerAllowedAmt` CURRENCY , +
`PayerPaidAmt` CURRENCY DEFAULT 0, +
`BDHasPrevPayer` TEXT (1) DEFAULT 'N', +
`ClaimPaidInfo` CURRENCY , +
`AmtDue` CURRENCY , +
`AmtPaid` CURRENCY DEFAULT 0, +
`PolicyNo` TEXT (29) , +
`GroupNo` TEXT (29) , +
`CustInsNote` NOTE (4000), +
`BDACNum` TEXT (50) )

-- removed per christina 12/13 `ClaimPaidInfo`=
(IFEQ(BDHasPrevPayer,'Y',(BilledItemAmt-PayerAllowedAmt+PayerPaidAmt),0))
CURRENCY , +
ELSE
DELETE FROM att_TransPayer
ENDIF

INSERT INTO att_TransPayer +
(CustInsVerID,SalesID, PayerCAID, SalePayorID, PayerCID, CustInsuranceID,
PayerOrder, BDPayerStat, PayerNotes, BillingDXCodes, +
PayorItem_DOS, SaleItemPayorID, BDBilledCnt , BillingHCPCS,
BillingModifiers, BillingNarative, AmtDue , BilledQty, PayerAllowedAmt,
SaleItemID, BDACNum, +
BDAdjCodes, BilledItemAmt, PANum, +
BDBillLine, +
PayerPaidAmt) +
SELECT +
CustInsVerID,SalesID, CAID, SalePayorID, InsCID, CustInsuranceID,
PayerOrder, SalePayorStatus, ('Encounter Payer Note: '+ SalePayorNotes),
PayerDxCodes, +
PayorItem_DOS, SaleItemPayorID, BilledCount, BillingHCPCS, BillingModifiers,

BillingNarative, PLTotalCharged, BillingItemQty, AllowedItemTotal,
SaleItemID, ACNum, BillingStatGroup, BillingItemBilledTotal,
InsPAAuthNumber, +
BillThisLine, +
TotalExpectedPaidByPrevPayers +
FROM SalePayor T1,SalePayorItem2 T2 +
WHERE T1.SalePayorID=T2.SalePayorID AND SalesID=.vSalesID AND PayerCat='CI'
+
ORDER BY
PayerOrder,PayorItem_DOS,BillThisLineHow,InsPAAuthNumber,SaleItemPayorID

INSERT INTO att_TransPayer +
(SaleItemID,PayerOrder,BillingBilledAmt,SaleItemPayorID,BDPayerStat,BDBillLi
ne,BDBilledCnt,
AmtDue, PayerPaidAmt, PayorItem_DOS, BillingBilledCnt, SalesID,
PayerName,SalePayorID, PayorItemName, BilledQty, BilledItemAmt,
BillingHCPCS, BillingDXCodes, PayerAllowedAmt, PayerNotes ) +
SELECT
SaleItemID,T1.PayerOrder,T2.BillingItemBilledTotal,T2.SaleItemPayorID,T1.Sal
ePayorStatus,T2.BillThisLine,T2.BilledCount,T2.PLTotalCharged
, T2.TotalExpectedPaidByPrevPayers , T2.PayorItem_DOS , T2.BilledCount,
T1.SalesID, 'Customer/Customer Contact', T1.SalePayorID, T2.PayorItemName,
T2.BillingItemQty, T2.BillingItemBilledTotal, T2.BillingHCPCS,
T2.BillingDXCodes, T2.AllowedItemTotal, ('Payer Notes:'+T1.SalePayorNotes) +
FROM SalePayor T1,SalePayorItem2 T2 +
WHERE T1.SalePayorID=T2.SalePayorID AND SalesID=.vSalesID AND PayerCat='CC'
+
ORDER BY
PayerOrder,PayorItem_DOS,BillThisLineHow,InsPAAuthNumber,SaleItemPayorID

-- i/o seem start here...
UPDATE att_TransPayer SET +
PayerBillID=T3.BillingPayerID ,
PayerName=(IFNULL(T2.CMBusName,(T2.CMFname&T2.CMMname&T2.CMLname),(T2.CMBusN
ame&(IFNULL(T2.CMFname,T2.CMFname,('attn:'&T2.CMFname&T2.CMMname&T2.CMLname)
))))),
+
PayerPAContactName=(IFEQ(T3.CA_PrimContact,'S',(IFNULL(T2.CMBusName,(T2.CMFn
ame&T2.CMMname&T2.CMLname),(T2.CMBusName&(IFNULL(T2.CMFname,T2.CMFname,('att
n:'&T2.CMFname&T2.CMMname&T2.CMLname)))))),T3.CA_PrimContName)),
PayerPAAdr1=T3.CA_Address1, +
PayerPAAdr2=T3.CA_Address2, +
PayerPACSZ=(T3.CA_City+','&T3.CA_State&T3.CA_Zip), +
PayerPAPhone=(IFNULL(T3.CA_PhoneNum,T3.CA_PhoneNum,'Phone:
('+SGET(T3.CA_PhoneNum,3,1)+')'+SGET(T3.CA_PhoneNum,3,4)+'-'+SGET(T3.CA_Phon
eNum,4,7))),
+
PayerPAFax=(IFNULL(T3.CA_FaxNum,T3.CA_FaxNum,'Fax:
('+SGET(T3.CA_FaxNum,3,1)+')'+SGET(T3.CA_FaxNum,3,4)+'-'+SGET(T3.CA_FaxNum,4
,7)))
+
FROM att_TransPayer T1,ContactAddress T3, ContactMaster T2 +
WHERE T1.PayerCAID=T3.CAID AND T3.CID=T2.CID

UPDATE att_TransPayer SET +
PolicyNo=T2.PolicyNo,GroupNo=T2.GroupNo,CustInsNote=('Cust Ins Note: '+
T2.CustInsNote) +
FROM att_TransPayer T1,CustInsurance T2 +
WHERE T1.CustInsuranceID =T2.CustInsuranceID

UPDATE att_TransPayer SET +
PolicyholderRelCode=T2.PolicyholderRelCode,
SubscriberName=(T2.PolicyHolderFName&T2.PolicyHolderLName ) +
FROM att_TransPayer T1,CustInsVerify T2 +
WHERE T1.CustInsVerID=T2.CustInsVerID

UPDATE att_TransPayer SET +
SubscriberName=CustName +
FROM att_TransPayer T1,att_SaleAndCustInfo4TB T2 +
WHERE T1.SalesID=T2.SalesID AND PolicyholderRelCode='1'


SET VAR RptTBD_SaleItemPayorID INTEGER
SET VAR RptTBD_P CURRENCY='0'
SET VAR RptTBD_R CURRENCY='0'
SET VAR RptTBD_B CURRENCY='0'
DROP CURSOR GetPayerItems
DECLARE GetPayerItems CURSOR FOR SELECT SaleItemPayorID FROM att_TransPayer
OPEN GetPayerItems
FETCH GetPayerItems INTO RptTBD_SaleItemPayorID
WHILE SQLCODE<>100 AND SQLCODE>=0 THEN
SELECT SUM(PaymentAmt) INTO RptTBD_P FROM PayerPayments WHERE
SaleItemPayorID=.RptTBD_SaleItemPayorID AND PaymentAction IN ('w','-')
SELECT SUM(PaymentAmt) INTO RptTBD_R FROM PayerPayments WHERE
SaleItemPayorID=.RptTBD_SaleItemPayorID AND PaymentAction='+'

SET VAR RptTBD_B=(.RptTBD_P-.RptTBD_R)

UPDATE att_TransPayer SET +
AmtPaid=(.RptTBD_B) +
WHERE SaleItemPayorID=.RptTBD_SaleItemPayorID

SET VAR RptTBD_P CURRENCY='0'
SET VAR RptTBD_R CURRENCY='0'
SET VAR RptTBD_B CURRENCY='0'
FETCH GetPayerItems INTO RptTBD_SaleItemPayorID
ENDWHILE
DROP CURSOR GetPayerItems

--end of sp
PRINT TransBillingReport ARRANGE att_TransPayer BY PayerOrder WHERE
SalesID=.vSalesID OPTION SCREEN|ZOOM_TYPE 100_PERCENT|WINDOW_STATE MAXIMIZED
RETURN



__________ Informatie van ESET NOD32 Antivirus, versie van database
viruskenmerken 4810 (20100127) __________

Het bericht is gecontroleerd door  ESET NOD32 Antivirus.

http://www.eset.com


Reply via email to