*
* Description :·%Dec() Example
*
* Syntex :
*
* %Dec(Numeric/Character Expression { : Precision : Decimal Places })
* %Dec(date/Time/TimeStamp { : Format })
*
* Output :·Packed Decimal Value of first parameter
*==========================================================
*
D ZonedDec S 2S 1 Inz(1.1)
D PackedDec S 2P 1
D DateUSA S D Inz(D'2010-11-12')
D PackedDate S 8 0
D Time S T Inz(T'10.11.12')
D PackedTime S 8 0
D TimeStamp S Z Inz(Z'2001-02-03-04.05.06.070809')
D PackedTimeStmp S 20 0
C
/Free
// ------------------------------------------------------
// Numeric or Character Expression
// ======================================================
PackedDec = %Dec(ZonedDec : 2 : 1) ;
Dsply %Char(PackedDec) ; // 1.1
PackedDec = %Dec('1.2' : 2 : 1) ;
Dsply %Char(PackedDec) ; // 1.2
PackedDec = %Dec('+1.3' : 2 : 1) ;
Dsply %Char(PackedDec) ; // 1.3
PackedDec = %Dec('1.4+' : 2 : 1) ;
Dsply %Char(PackedDec) ; // 1.4
PackedDec = %Dec('1,5' : 2 : 1) ;
Dsply %Char(PackedDec) ; // 1.5
// ------------------------------------------------------
// Date/Time/TimeStamp Expression
// ======================================================
PackedDate = %Dec(DateUSA) ;
Dsply %Char(PackedDate) ; // 20101112
PackedDate = %Dec(DateUSA : *USA) ;
Dsply %Char(PackedDate) ; // 11122010
PackedTime = %Dec(Time) ;
Dsply %Char(PackedTime) ; // 101112
PackedTime = %Dec(Time : *HMS) ;
Dsply %Char(PackedTime) ; // 101112
PackedTimeStmp = %Dec(TimeStamp) ;
Dsply %Char(PackedTimeStmp) ; // 20010203040506070809
PackedTimeStmp = %Dec(Z'2001-02-03-04.05.06') ;
Dsply %Char(PackedTimeStmp) ; // 20010203040506000000
/End-Free
C SetOn LR
No comments:
Post a Comment