INCSTR Function (Code, Text)
Increases a positive number or decrease a negative number inside a string by one (1).
Syntax
NewString := INCSTR(String)
Parameters
String
Type: Text constant or code
The string that you want to increase or decrease.
Property Value/Return Value
Type: Text constant or code
The result after increasing or decreasing String.
Remarks
If String contains more than one number, then only the number closest to the end of the string is changed. For example, 'A10B20' is changed to 'A10B21' and 'a12b12c' to 'a12b13c'.
If String contains a negative number, then it is decreased by one. For example, '-55' is changed to '-56'.
Zero (0) is considered a positive number. Therefore, it is increased it by one. For example, 'A0' is changed to 'A1'.
When String contains a number such as 99, it is increased to 100 and the length of the output string is: LEN(String) + 1. For example, 'a12b99c' is changed to 'a12b100c'.
If String does not contain any number, the output string is an empty string. For example, 'aaa' is changed to ''.
INCSTR only increments integer numbers within strings, not decimals. For example, if you call INCSTR on the string a99.99b then the result is a99.100b.
Example
This example requires that you create the following variables and text constants in the C/AL Globals window.
Variable name | DataType | Length |
---|---|---|
Account | Text | 60 |
NegAccount | Text | 60 |
EmptyAccount | Text | 60 |
MyAccount | Text | 60 |
ResultAccount | Text | 60 |
ResultNegAccount | Text | 60 |
ResultEmptyAccount | Text | 60 |
ResultMyAccount | Text | 60 |
Text constant | ENU value |
---|---|
Text000 | Account no. 99 does not balance. |
Text001 | Account no. 2342 shows a total of $-452. |
Text002 | My bank account is empty. |
Text003 | My bank account shows a total of $0. |
Text004 | The text strings before INCSTR is called:\%1\%2\%3\%4 |
Text005 | The text strings after INCSTR is called:\%1\%2\%3\%5 |
Account := Text000;
NegAccount := Text001;
EmptyAccount := Text002;
MyAccount := Text003;
MESSAGE(Text004, Account, NegAccount, EmptyAccount, MyAccount);
ResultAccount := INCSTR(Account);
ResultNegAccount := INCSTR(NegAccount);
ResultEmptyAccount := INCSTR(EmptyAccount);
ResultMyAccount := INCSTR(MyAccount);
MESSAGE(Text005, ResultAccount, ResultNegAccount, ResultEmptyAccount, ResultMyAccount);
The first message displays the following:
The text strings before INCSTR is called:
Account no. 99 does not balance.
Account no. 2342 shows a total of $ -452.
My bank account is empty.
My bank account shows a total of $ 0.
The second message displays the following:
The text strings after INCSTR has been called:
Account no. 100 does not balance.
Account no. 2342 shows a total of $ -453.
My bank account shows a total of $ 1.
The example shows that if the string contains more than one number, only the last number is changed. Furthermore, positive numbers and zero are increased and negative numbers are decreased. Finally, if there are no numbers in the string, then an empty string is returned.