or include

S X=$ZU(123,0,1,1)

in your system startup routine so that the only date that ever shows up with a 2 digit year is 1st Jan 1841

Check out the old %DATE utility

Or this

              Debug {
                             !,"Binary number: ",Binary
              Power=0:1 {
                             Bit=$e(Binary,*) ; last digit
                             q:Bit=""  ; at end
                             s $e(Binary,*)="" ; shorten binary number by removing last character
                             Integer=(2**Power)*Bit ; 2**0 =1, 2**1 =2, 2**2 =4 etc..
                             Decimal=Decimal+Integer ; running decimal sum of each Bit
                             Debug Integer,?20,Decimal,!


Prefer the SET method for both readability and performance. However, when it comes  to readability, I see it as my deficiency if I can't read it instead of the author's deficiency - unless the code is deliberately obtuse. And when it comes to performance, you should only write something unreadable if it is necessary to gain performance for code run hundreds of thousands of times a day. But then you would comment your code so well that anyone could read the comment and wouldn't need to read the code to know how it worked and what it does.

can save 4 more characters with


instead of 's l=' and '$p(l,'

N(i) s l="lfa7ravo7harlie7elta7cho7oxtrot7olf7otel7ndia7uliett7ilo7ima7ike7ovember7scar7apa7uebec7omeo7ierra7ango7niform7ictor7hiskey7ray7ankee7ulu"

 f j=1:1:$l(i) s c=$e(i,j),o=$g(o)_$s(",.!?"[c:c,c?1a:$e(" ",j>1)_c_$p(l,7,$a(c)#32),1:"")

q o

; 243 chars

; save 2 quote characters by using a number (7) as the delimiter

; save characters by not $ZCVT to upper, $A(k)#32 works fine for lower and upper

;save on $ZSTRIP of whitespace by only adding space character for every letter after 1st one

; ensure to follow the rules on allowed punctuation and exclude all other characters

Hi Oliver,

I spent 20 years developing software, originally in MUMPS but now in Objectscript, runs on IRIS, that generates SWIFT MT messages for transmission in categories 1,2,3 and 5. Also receives messages in all categories and decodes and processes them. System also handles message matching and bank reconciliations. All automated save for a bit of exception handling when the wrong data is input. Also seamless connectivity with SWIFT Alliance system so the messages go straight out from the back office system and across the SWIFT network with full ACK/NACK processing. Added GPI and LAU to the connectivity process. Did a bit of freelance work a couple of years ago on the MX messages too. Processed about 4 billion messages in 20 years with close to 100% STP. It's all quite do-able in IRIS.