Please enable JavaScript to view this site.
Program to total values with a varying number of input decimals and output a value with a specific number of decimals. The result may be rounded and include comma delimiters if required. You can also specify a bucket (1 – 99) into which you wish to put your total to allow for more than one running total.
First call – This should be called when you wish to zero the total and start again, possibly inside a Page = *FIRST condition.
Parameter |
In |
Len |
Comment |
PARM1 |
Number of output decimals (0 – 5) |
1 |
If left blank defaults to 0 |
PARM2 |
Round up result |
4 |
*YES to round or blank |
PARM3 |
Thousand delimiter etc. |
1 |
Enter delimiter if required e.g. “,” |
PARM4 |
Negative sign? |
4 |
*NO to stop minus sign on Total |
PARM5 |
Decimal point e.g. “.” or ”,” |
1 |
If left blank defaults to “.” |
PARM6 |
*FIRST |
|
Sum call – This should be called when you wish to pass in a value to be added to / subtracted from your total, possibly inside a “Loop”
Parameter |
In |
Len |
Out |
Len |
Comment |
PARM1 |
Value to sum |
30 |
Sub Total #2 |
20 |
Subtotal values (passed in Sum call) |
PARM2 |
Bucket No |
2 |
Negative |
4 |
*NEG if result is negative |
PARM3 |
- |
|
|
||
PARM4 |
- |
|
|
||
PARM5 |
- |
|
|
||
PARM6 |
*ADD or *SUB #1 |
|
|
#1 | If using *ADD you may pass in a number with a minus sign and it will subtract the value. If you do not have minus signs on your spooled file then you may use *SUB to subtract a number from your total. It does not matter if the value that you pass in PARM1 has more or less decimals than the decimals required for the total value. |
#2 | If there is an error in the value being passed in *ERROR will be returned in PARM1. |
Reset call – This should be called when you wish to clear a specific counter.
Parameter |
In |
Len |
Out |
Len |
Comment |
PARM1 |
Bucket No |
4 |
|
Bucket no to clear (1 – 99) |
|
PARM2 |
- |
|
|
or *ALL for all buckets |
|
PARM3 |
- |
|
|
||
PARM4 |
- |
|
|
||
PARM5 |
- |
|
|
||
PARM6 |
*RESET |
|
|
Last call – This should be called when you wish to produce a total, possibly inside a Page = *LAST condition.
Parameter |
In |
Len |
Out |
Len |
Comment |
PARM1 |
- |
|
|
Grand Total #3 |
|
PARM2 |
- |
|
|
||
PARM3 |
- |
|
|
||
PARM4 |
- |
|
|
||
PARM5 |
- |
|
|
||
PARM6 |
*LAST |
|
|
#3 The sum of all the buckets will be returned in PARM1.