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) <\pre> This is the function: <pre> 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.) ENDIFThanks for replying and what do you feel is the bottleneck.