subroutine msgparser(msg37,msg37_2) character msg37*37,msg37_2*37,call1*12,call2*12,call3*12,report*6 ! ES1JA RR73; TA1BM <...> -22 ! ES1JA RR73; TA1BM -22 call1=' '; call2=' '; call3=' '; report=' ' ispc1=index(msg37,' '); ispc2=index(msg37((ispc1+1):),' ')+ispc1 ispc3=index(msg37((ispc2+1):),' ')+ispc2; ispc4=index(msg37((ispc3+1):),' ')+ispc3 ispc5=index(msg37((ispc4+1):),' ')+ispc4 if(ispc5.gt.20) then call1=msg37(1:ispc1-1); call2=msg37(ispc2+1:ispc3-1) if(msg37(ispc3+1:ispc3+2).eq.'<.') then call3='<...>' else call3=msg37(ispc3+1:ispc4-1) if(call3(1:1).eq.'<') call3=call3(2:12)//' ' ib=index(call3,'>'); if(ib.gt.3) call3(ib:ib)=' ' endif if(len_trim(call3).lt.11) then; report=msg37(ispc4+1:ispc5-1); else; report=msg37(ispc4+1:37); endif msg37=' ' ! build standard messages msg37=trim(call1)//' '//trim(call3)//' RR73' msg37_2=trim(call2)//' '//trim(call3)//' '//trim(report) endif return end subroutine