You could use a Record Map with a single field. Just make sure you set MAXLEN to a big enough value to hold the entire line. That would send each line in the file to your Process as text, ignoring that it's actually JSON. Your Process could convert it to a Dynamic Object if necessary. That doesn't seem to add much value over just having your Process read the file though.
What part are you finding overly complicated? If the text embedded within OBX-5 isn't too large you could treat it as a String rather than Stream, but I don't think that saves you much. Am I even correct that you're trying to modify unstructured text? In re-reading this it looks like maybe some of the criteria are in structured fields, e.g., Order Type. Can you give an example of input and desired output?
Are you thinking of EnsLib.RecordMap.Service.FileService? You can use that with a RecordMap that represents the structure of your CSV file, making the data available within a DTL, as Objects, or through SQL.