Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Btrieve/Clarion w/ HOLD statement ???

0 views
Skip to first unread message

Clint Carbaugh

unread,
Mar 16, 2000, 3:00:00 AM3/16/00
to
We have this barcode printing program and the way it is coded with
Clarion Driver is with a HOLD(filename,3). Now we have converted this
file to Btrieve and the processing is much SLOWER. Is there a
different way that we should code this vs. Clarion driver? We have a
few print stations hitting this same file while printing. First part of
code gets the record then there is code to move to WS and print it then
the last code updates it a P (printed) status. Just looking for
suggestions if this is the correct way for Btrieve.
Thanks,
========================================================================
........previous code
SIN:PRTFLG = ' ' !Format
SIN:POINTID = TGA:POINTID ! Single
SIN:QTYTYPE = MEM:QTYTYPE ! key
SIN:GIFTNO = MEM:GIFT !
SIN:PULL = MEM:PULL[I#] !YES--USE PULL1 FOR KEY
SIN:SFX = MEM:SFX[I#]
GET_AGAIN
HOLD(SINGFILE,3) ! HOLD THE RECORD
GET(SINGFILE,SIN:GIFT_KEY) ! READ THE RECORD
IF ERRORCODE() = 0 ! RECORD FOUND?
MEM:TRUK_COUNTER = 0 ! INDICATE RECORD FOUND
RECNO = POINTER(SINGFILE) ! SAVE THE RECORD POINTER
SIN:PRTFLG = 'X' ! PRINT FLAG = X
MEM:ORDNO = SIN:ORDERNO ! SAV ORDNO FROM FILE
PUT(SINGFILE) ! WRITE BACK RECORD W/PRTFLAG
CHECKERROR
GET(SINGSEQ,1) ! Get next number for
CHECKERROR
IF SSF:SINGSEQ > 99998
SSF:SINGSEQ = 1
ELSE
SSF:SINGSEQ += 1 !
.
MEM:SINGSEQ = SSF:SINGSEQ !
PUT(SINGSEQ) !Save last used number
CHECKERROR
SCROLL(5,53,18,27)
SHOW(22,58,MEM:SINGSEQ)
!FOR DEBUG SHOW(22,53,FORMAT(MEM:NUM_READS,@N4))
GATENO = SIN:PERMTCODE ! Save my gate number
PRT_LAB ! PROCESS LABEL PROCEDURE
RETURN !RETURN
ELSE
IF ERRORCODE() = 43 THEN GOTO GET_AGAIN.
RELEASE(SINGFILE)
CYCLE !GO GET THE NEXT ENTRY
. .
.
.........more code moving to wrk variables and print label ..........
HOLD(SINGFILE)
SET(SINGFILE,RECNO) !GET GIFT RECORD
NEXT(SINGFILE)
SIN:PRTFLG = 'P' !PRINT FLAG = P
PUT(SINGFILE) !PUT THE COUNT RECORD BACK
CHECKERROR ! MARK LABEL AS PRINTED
SHOW(22,78,'P')
DO ADD_GATE ! WRITING TO GATE FILE
ADD2SHIP(SIN:PULL,SIN:POINTID,SIN:CUBE,MEM:FILE_TYPE,GAT:GIFTCNT)
RETURN !RETURN


Sent via Deja.com http://www.deja.com/
Before you buy.

0 new messages