Difference between revisions of "Format Phone Number"
From MidrangeWiki
DaveLClarkI (talk | contribs) (Created page with "Category:Service Procedures == Summary == The following are the RPG/LE fully free-form definitions and instructions needed for using the {{AN}} service procedure. This se...") |
DaveLClarkI (talk | contribs) (→References) |
||
Line 41: | Line 41: | ||
== References == | == References == | ||
* [[Is Digits|GenUtl_isDigits]] service procedure | * [[Is Digits|GenUtl_isDigits]] service procedure | ||
+ | * [[Strip Formatting|GenUtl_StringFormatting]] service procedure |
Revision as of 20:20, 12 December 2018
Summary
The following are the RPG/LE fully free-form definitions and instructions needed for using the Format Phone Number service procedure. This service procedure simply allows the caller to (re)format a USA phone number.
Service Procedure
**free //============================================================================== // Format phone number for output using a USA extended format. //============================================================================== dcl-pr GenUtl_FormatPhoneNo varchar(20); PhoneValue varchar(20) const; end-pr; //============================================================================== // Format phone number for output using a USA extended format. //============================================================================== dcl-proc GenUtl_FormatPhoneNo export; dcl-pi *n varchar(20); PhoneValue varchar(20) const; end-pi; dcl-s PhoneNo like(PhoneValue); PhoneNo = GenUtl_StripFormatting(%trim(PhoneValue): ' ()+-.'); if %len(PhoneNo) = *zero // if blank or not GenUtl_isDigits(PhoneNo); // or not all digits return PhoneNo; // return as-is (alpha phone number?) endif; if %len(PhoneNo) <= 7; // no area code present? return %trim(%editw(%int(PhoneNo):'0 - ')); // return 7-digit phone no endif; return %trim(%editw(%int(PhoneNo):' 0&( )& - ')); // return formatted ph# end-proc;
References
- GenUtl_isDigits service procedure
- GenUtl_StringFormatting service procedure