midrange.com code scratchpad |
Name:
enquote() to enquote a string in an ILE program - Dennis Lovelady
|
Scriptlanguage:
Plain Text
|
Tabwidth:
4
|
Date:
04/17/2012 09:47:15 pm
|
IP:
Logged
|
|
Description:
Take an input string, and enquote it suitably for use within a System i command
|
Code:
- P Enquote B Export
- D Enquote PI 32767 Varying
- * Enclose a string in apostrophes, providing double apostrophe
- * where apost currently exists
- D StringIn 32767 Value Varying
- D ParmTrimL N Value Options(*NoPass)
- D ParmTrimR N Value Options(*NoPass)
-
- D TrimLeft S N Inz(*Off)
- D TrimRight S N Inz(*On)
- D P S 5U 0
- D WorkString S Like(StringIn)
-
- D APOST C ''''
- /Free
-
- If %Parms >= 2 ;
- TrimLeft = ParmTrimL ;
- If %Parms >= 3 ;
- TrimRight = ParmTrimR ;
- EndIF ;
- EndIF ;
- Select ;
- When TrimLeft and TrimRight ;
- WorkString = %Trim(StringIn) ;
- When TrimLeft ;
- WorkString = %TrimL(StringIn) ;
- When TrimRight ;
- WorkString = %TrimR(StringIn) ;
- Other ;
- WorkString = StringIn ;
- EndSL ;
-
- P = %Scan(APOST: WorkString) ;
- DoW P > *Zero and P <= %Len(WorkString) ;
- WorkString = %Replace(APOST+APOST: WorkString: P: 1) ;
- P += 2 ;
- If P <= %Len(WorkString) ;
- P = %Scan(APOST: WorkString: P) ;
- EndIF ;
- EndDO ;
- Return APOST + WorkString + APOST ;
-
- /End-free
- P Enquote E
-
|
|
|