Difference between revisions of "Format Phone Number"
From MidrangeWiki
DaveLClarkI (talk | contribs) (→Service Procedure) |
DaveLClarkI (talk | contribs) (→Summary) |
||
Line 4: | Line 4: | ||
== Summary == | == Summary == | ||
The following are the RPG/LE fully free-form definitions and instructions needed for using the {{AN}} service procedure. This service procedure simply allows the caller to (re)format a USA phone number. | The following are the RPG/LE fully free-form definitions and instructions needed for using the {{AN}} service procedure. This service procedure simply allows the caller to (re)format a USA phone number. | ||
+ | |||
+ | By [[User:DaveLClarkI|Dave Clark]] | ||
== Service Prototype == | == Service Prototype == |
Latest revision as of 15:57, 17 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.
By Dave Clark
Service Prototype
Place the following in a separate copybook for inclusion in both the caller and the service program source members.
**free //============================================================================== // Format phone number for output using a USA extended format. //============================================================================== dcl-pr GenUtl_FormatPhoneNo varchar(20); PhoneValue varchar(20) const; end-pr;
Service Procedure
Place the following in a service program source member.
**free ctl-opt NoMain AlwNull(*UsrCtl) Debug Option(*SrcStmt:*NoDebugIo) DatFmt(*ISO) TimFmt(*ISO); //============================================================================== // 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_StripFormatting service procedure