Yes it is possible (ARRAY ! ) as :
aIns(oBrw:aArraydata,nAt,xValue,.T.)
oBrw:Refresh()
With a Dbf it is more complicated , but appending a record and defining the apropriate indexfiles must be enough to insert the record at the desired place.
If not , you can try next routine
// Not used , but working !
PROC InsertDbf()
****************
LOCAL nInsert := 10
local cTmpDbf1 , cTmpDbf2 , cTmpDbf3
local cPath,cFileName,cExtension
USE CUSTOMER EXCLUSIVE
Hb_fNameSplit(DbInfo(DBI_FULLPATH),@cPath,@cFileName,@cExtension)
IF EMPTY(cPath)
cPath := CurDrive()+":\"+CurDir()
END
IF Right(cPath,1) <> "\"
cPath += "\"
END
cTmpDbf1 := cPath + cFileName + "_"
cTmpDbf2 := GetEnv("TEMP") + "__" + cFilename
GO TOP
COPY TO (cTmpDbf1) NEXT nInsert - 1
COPY TO (cTmpDbf2) REST
USE (cTmpDbf1)
APPEND BLANK
APPEND FROM (cTmpDbf2)
DELETE FILE (cTmpDbf2)
RETURN