%EXTERNALROUTINESPEC UCTRAN(%STRINGNAME STR) ! ! IBM NAME ! %CONSTSTRING(1) NULL="",HASH="#",AT="@",CODE="^" %EXTERNALSTRING(8)%FN IBM NAME(%STRING(1) PREFIX,%STRING(31)%NAME NAME) ! ! RETURNS IBM VERSION OF NAME TRUNCATED IF NECESSARY WITH SUPPLIED ! PREFIX. %INTEGER LNME,CH %STRING(31) NME NME = NAME UCTRAN(NME);! FORCE TO UPPER CASE LNME = LENGTH(NME) %IF LNME<8 %THEN NME = NME." " %IF PREFIX=HASH %START {FIRST CHAR. ON LOWER CASE} CH = CHARNO(NME,1) %IF CH=' ' %THEN CH='#' %ELSE CH=CH+'a'-'A' NME = TOSTRING(CH).SUBSTRING(NME,2,8) %FINISH %IF PREFIX=AT %START {THIRD CHAR. ON LOWER CASE} CH = CHARNO(NME,3) %IF CH#' ' %START CH=CH+'a'-'A' NME = SUBSTRING(NME,1,2).TOSTRING(CH).SUBSTRING(NME,4,8) %FINISHELSESTART NME = SUBSTRING(NME,1,LNME)."@".SUBSTRING(NME,LNME+2,8) %FINISH %FINISH %RESULT = SUBSTRING(NME,1,8) %END %ENDOFFILE