string 0; \use zero-terminated strings func CheckDigit(Str); \Return the check digit for a SEDOL char Str; int Sum, I, C, V; [Sum:= 0; for I:= 0 to 6-1 do [C:= Str(I); case of C>=^0 & C<=^9: V:= C-^0; C>=^A & C<=^Z: V:= C-^A+10 other V:= -1; case I of 1, 4: V:= V*3; 3: V:= V*7; 5: V:= V*9 other []; Sum:= Sum+V; ]; return rem( (10 - rem(Sum/10)) / 10 ) + ^0; ]; int Sedol, N; [Sedol:= ["710889", "B0YBKJ", "406566", "B0YBLH", "228276", "B0YBKL", "557910", "B0YBKR", "585284", "B0YBKT", "B00030"]; for N:= 0 to 11-1 do [Text(0, Sedol(N)); ChOut(0, CheckDigit(Sedol(N))); CrLf(0); ]; ]