Additional information on Unrecoverable Error 650 problem.
Here is the souce code. It is at the otbr:forcestable() function. (I tried to bold he line but can't do it in here)It is about 30 lines down into the code.
function vwrectmp(crecvno,mrecfile,mpono)
local holdscreen
local lexitrequested := .f.
local mans := " "
local nkey
local mrecords
local mposted
local condition := {| nx | (mrecfile)->recvno = nx}
local otbr := skippingbrowse(6,1,19,77,crecvno,condition)
otbr:addcolumn(setupcol(04,"Line",{|| (mrecfile)->lineno}))
otbr:addcolumn(setupcol(10,"ATCO Part#",{|| (mrecfile)->itemno}))
otbr:addcolumn(setupcol(20,"Description",{|| (mrecfile)->descrip1}))
otbr:addcolumn(setupcol(04,"StkU",{|| (mrecfile)->atcounit}))
otbr:addcolumn(setupcol(11,"Qnty Recvd",{|| (mrecfile)->quantity}))
otbr:addcolumn(setupcol(10,"Vend Part#",{|| substr((mrecfile)->venditem,1,10)}))
otbr:footsep := def_fsep
setcolor(DRKBLUE_COLOR)
select(mrecfile)
mposted := .f.
do while !mposted
@ 4,0 clear to 20,78
@ 4,0 to 20,78
sbshadow(4,0,20,78,1)
header(5,"ITEMS RECEIVED ON RECEIVER # : "+crecvno+" FOR PO #:"+mpono)
footer("F2=Edit Receiver F3=Add line to Receiver F4=Post Receivings Esc=Exit")
otbr:refreshall()
do while !lexitrequested
otbr:forcestable() //unrecoverable error 650 when calling this function
nkey := inkey(0)
do case
case nkey = K_F2
save screen to holdscreen
@ 8,10 clear to 19,65
@ 8,10 to 19,65
mquantity := (mrecfile)->quantity
do while .t.
mans := " "
@ 9,12 say "Line # : " get(mrecfile)->lineno
@ 10,12 say "ATCO Part # : " get(mrecfile)->itemno
@ 10,42 say "Vendor # : " get(mrecfile)->venditem
@ 12,12 say "Description : " get(mrecfile)->descrip1
@ 14,12 say "Stocking Unit: " get(mrecfile)->atcounit
clear gets
@ 16,12 say "Enter quantity received " get mquantity
read
@ 18,12 say "Is quantity received correct? " get mans picture "@!"
read
if mans = "Y"
if reclock()
replace(mrecfile)->quantity with mquantity
replace(mrecfile)->extstdcost with (mrecfile)->stdcost * mquantity
replace(mrecfile)->extpoprice with (mrecfile)->poprice * mquantity
replace(mrecfile)->pricevar with (mrecfile)->extpoprice - (mrecfile)->extstdcost
endif
exit
endif
enddo
restore screen from holdscreen
seek crecvno
otbr:refreshall()
case nkey = K_F3
save screen to holdscreen
vwpoline(mpono,crecvno,mrecfile)
restore screen from holdscreen
select(mrecfile)
seek crecvno
otbr:refreshall()
case nkey = K_F4
postrec(crecvno,mrecfile)
mposted := .t.
return nil
case nkey = K_ESC
lexitrequested := .t.
count to mrecords
if mrecords > 0
mans := " "
@ 10,10 clear to 13,60
@ 11,12 say "You have receivers that have not been posted"
@ 13,12 say "Do you want to post them now? " get mans picture "@!"
read
if mans = "Y"
postrec(crecvno,mrecfile)
mposted := .t.
endif
if mans = "N"
return nil
endif
endif
case directionalkeys(otbr,nkey)
endcase
enddo
enddo
return nil