Hi,
i have an idea for your problem.
First you will do the below step.
that means you will first split the line and check the no.of fields.
SPLIT wa_report_result-line AT '|' INTO TABLE it_fields.
DESCRIBE TABLE it_fields LINES numb_fields.
IF numb_fields = c_18.
if the condition satisfies you will again have do the split but this time u have to split the values into all the 18 fields in the desired sequence.
SPLIT wa_report_result-line AT '|' INTO ( wa_list-field1, wa_list-field2 ............ Wa_list-field18).
I Think this May serve ur purpose.
thanks,
Rakesh.