LOCAL Track_Table_Spec LOCAL Temp_Table_Spec LOCAL Current_Datetime LOCAL Current_Signal LOCAL Current_Machine_State Track_Table_Spec = 'c:\xxx\track' && or whatever Temp_Table_Spec = 'c:\xxx\temp' SELECT 0 USE (Track_Table_Spec) ALIAS track SELECT 0 USE (Temp_Table_Spec) ALIAS temp SELECT track SCAN Current_Datetime = TRACK.datetime Current_Signal = ALLTRIM(UPPER(TRACK.signal)) Current_Signal = SUBSTR(Current_Signal,9) && chop off "Start 1 " DO WHILE ( LEN(Current_Signal) > 0 ) *-----------------------------------get one machine state entry---- Current_Machine_State = SUBSTR(Current_Signal,1,3) *----------------------add it to TEMP table with datetime stamp----- SELECT temp APPEND BLANK REPLACE temp.machine WITH Current_Machine_State REPLACE temp.dt_time WITH Current_Datetime *-----------------------------------chop off just-processed machine--- Current_Signal = SUBSTR(Current_Signal,4) ENDDO ; SELECT track ENDSCAN SELECT track USE SELECT temp USE