|
One possible means:
DayNbr = %subdt( MyNewDateField : *DAYS ) ;
if DayNbr >= 16 ; // set day to 16
MyNewDateField = MyNewDateField - %days( DayNbr - 16 ) ;
else ; // <= 15 ; set day to 01
MyNewDateField = MyNewDateField - %days( DayNbr - 01 ) ;
endif ;Nice.
Super-mini improvement is to do without the work field, and to modernize
the
syntax:
if %subdt(MyNewDateField: *Days) >= 16 ; // set day to 16
MyNewDateField -= %days( DayNbr - 16 ) ;
else ; // <= 15 ; set day to 01
MyNewDateField -= %days( DayNbr - 01 ) ;
endif ;
Dennis Lovelady
http://www.linkedin.com/in/dennislovelady
--
"That was Benes' fifth strikeout of the day. He came in with 94, so now he
has 104 strikeouts for the year."
-- sportscaster Ralph Kiner
Regards, Chuck
On 12 Jun 2012 01:53, Dave wrote:
Is there a nice way to do this, given a date DD/MM/YYYY:
If the day of my date field is the 16th or later,
MyNewDateField = 16/MM/YYYY
Else
MyNewDateField = 01/MM/YYYY
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
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.