× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



David,

Charles already gave you the tip to use %dec.

%Subdt returns an unsigned integer. Using %editc with 'X' will probably
result in '000000004'.

So you have several options:
1. Charles' suggestion: use %dec to convert the integer to a 2-digit
decimal:
gMs = %editc(%dec(%SUBDT ( AFinDt : *MONTHS ) :2 : 0) 'X');
2. Use %char (I get '4' for April; not '40')
gMs = %char(%SUBDT ( AFinDt : *MONTHS ));
3. Use EVALR
EVALR gMs = %editc(%SUBDT ( AFinDt : *MONTHS )) 'X');

Joep Beckeringh


David FOXWELL wrote on 17-06-2008 16:15:23:

Francis,

I said I tried that and got '00'!
I've got round it with this :
D wMs S 2S 0

wMs = %SUBDT ( AFinDt : *MONTHS );
gMs = %EDITC ( wMs : 'X' );

But surely there's a neater way?


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.