I was playing around with this and can't see how Alltrim(laFields[2]) = "MSH" or whatever segment ID. The laFields array has a row for each segment, but there is only one column and it contains the entire segment value, not parsed elements. I must be missing something...
>FOR ix=1 TO alines(laLines,m.lcSample)
> = alines(laFields, Alltrim(Str(m.ix)) + "|" + laLines[m.ix])
> Insert into ("Curs_" + Alltrim(laFields[2]) ) from Array laFields
>endfor