procedure rierror parameters tnErrNo,tcMessage,tcCode,tcProgram local lnErrorRows,lnXX lnErrorRows=alen(gaErrors,1) if type('gaErrors[lnErrorRows,1]')<>"L" dimension gaErrors[lnErrorRows+1,alen(gaErrors,2)] lnErrorRows=lnErrorRows+1 endif gaErrors[lnErrorRows,1]=tnErrNo gaErrors[lnErrorRows,2]=tcMessage gaErrors[lnErrorRows,3]=tcCode gaErrors[lnErrorRows,4]="" lnXX=1 do while !empty(program(lnXX)) gaErrors[lnErrorRows,4]=gaErrors[lnErrorRows,4]+","+; program(lnXX) lnXX=lnXX+1 enddo gaErrors[lnErrorRows,5]=pcParentDBF gaErrors[lnErrorRows,6]=pnParentRec gaErrors[lnErrorRows,7]=pcParentID gaErrors[lnErrorRows,8]=pcParentExpr gaErrors[lnErrorRows,9]=pcChildDBF gaErrors[lnErrorRows,10]=pnChildRec gaErrors[lnErrorRows,11]=pcChildID gaErrors[lnErrorRows,12]=pcChildExpr return tnErrNo