>IF m.StoreMessage AND m.MessageCount > 0 > m.StoreMessage = .F. > ? 'STORE MESSAGE' >ENDIF >Almost, but this does exactly what I want except the STORE after the last message:
strProcessData = tInput m.MessageCount = 0 m.MessageLineCount = 0 FOR ix=1 TO ALINES(laLines,strProcessData) STORE LineToObject(laLines[m.ix]) TO ('loObj'+LTRIM(STR(m.ix))) m.Segment = ALLTRIM(UPPER(EVALUATE('loObj'+LTRIM(STR(m.ix))+".Segment"))) DO CASE CASE m.Segment = 'MSH' IF m.MessageCount > 0 ? 'STORE MESSAGE' ENDIF m.MessageCount = m.MessageCount + 1 m.MessageLineCount = 1 ? LTRIM(STR(m.MessageCount)) + ' - ' + LTRIM(STR(m.MessageLineCount )) + ': ' + 'MSH Segment' CASE m.Segment = 'EVN' m.MessageLineCount = m.MessageLineCount + 1 ? LTRIM(STR(m.MessageCount)) + ' - ' + LTRIM(STR(m.MessageLineCount )) + ': ' + 'EVN Segment' CASE m.Segment = 'PID' m.MessageLineCount = m.MessageLineCount + 1 ? LTRIM(STR(m.MessageCount)) + ' - ' + LTRIM(STR(m.MessageLineCount )) + ': ' + 'PID Segment' CASE m.Segment = 'PV1' m.MessageLineCount = m.MessageLineCount + 1 ? LTRIM(STR(m.MessageCount)) + ' - ' + LTRIM(STR(m.MessageLineCount )) + ': ' + 'PV1 Segment' CASE m.Segment = 'FT1' m.MessageLineCount = m.MessageLineCount + 1 ? LTRIM(STR(m.MessageCount)) + ' - ' + LTRIM(STR(m.MessageLineCount )) + ': ' + 'FT1 Segment' CASE m.Segment = 'ORC' m.MessageLineCount = m.MessageLineCount + 1 ? LTRIM(STR(m.MessageCount)) + ' - ' + LTRIM(STR(m.MessageLineCount )) + ': ' + 'ORC Segment' CASE m.Segment = 'DG1' m.MessageLineCount = m.MessageLineCount + 1 ? LTRIM(STR(m.MessageCount)) + ' - ' + LTRIM(STR(m.MessageLineCount )) + ': ' + 'DG1 Segment' OTHERWISE m.MessageLineCount = m.MessageLineCount + 1 ? LTRIM(STR(m.MessageCount)) + ' - ' + LTRIM(STR(m.MessageLineCount )) + ': ' + 'Undefined Segment' ENDCASE ENDFOR