> m.narrcode = "A09SJVADACCT" > m.narrdesc = "Journal Voucher (Many-To-Many A/c.'s), Debit Account Entry Narration" > > m.narration = "'Accounts J.V. no. ' + ALLTRIM(STR(m.jvno)) + ' dtd. ' + " > m.narration = m.narration + "DTOC(m.jvdt) + '. ' + strip_crlf(a09sjvad.remarks)" > > m.addremarks = .T. > m.befremarks = "" > = creamnarr(m.narrcode, m.narrdesc, m.narration, m.addremarks, m.befremarks) >>
>FUNCTION creamnarr > > PARAMETERS m.znarrcode, m.znarrdesc, m.znarration, m.zaddremarks, m.zbefremarks > > > PRIVATE ALL LIKE z* > > > m.znarrcode = UPPER(m.znarrcode) > > IF !SEEK(m.znarrcode) > = appendblank() > > REPLACE a09mnarr.narrcode WITH UPPER(m.znarrcode), ; > a09mnarr.narrdesc WITH m.znarrdesc, ; > a09mnarr.narration WITH m.znarration, ; > a09mnarr.addremarks WITH m.zaddremarks, ; > a09mnarr.befremarks WITH m.zbefremarks > = requiredflds("a09mnarr", .T.) > ENDIF > >>
FUNCTION creamnarr m.narrcode = UPPER(m.narrcode) IF !SEEK(m.narrcode) insert into (alias()) ; (narcode,narrdesc,narration,addremarks,befremarks) ; values ; (m.narcode,m.narrdesc,m.narration,m.addremarks,m.befremarks) * or just 'insert into (alias()) from memvar' = requiredflds("a09mnarr", .T.) ENDIFSounds more feasible. Another safer method would be like :
if !seek("A09SJVADACCT",alias(),'narcode') && Otherwise no need for rest ? local loRecord scatter name loRecord blank && Initialize a blank record as object with loRecord && Fill known elements .narrcode = "A09SJVADACCT" .narrdesc = "Journal Voucher (Many-To-Many A/c.'s), Debit Account Entry Narration" *.. other fields endwith CreamNarr(loRecord) endif function CreamNarr lparameters toRecord append blank gather name toRecord requiredflds("a09mnarr", .T.)I assume you have no filter set here. Otherwise seek() would still be fast but might return .f. if that code is not in filtered set. 'Append blank+replace' combination is slower than 'insert into'.