Entry to small function (<200 lines)
|
Add 1
|
|
Entry to medium function (<500 lines)
|
Add 2
|
|
Entry to complex function (<900 lines)
|
Add 3
|
|
Entry to very complex function (>900 lines)
|
Add 4
|
|
Does not use OPTIONS(*NOMESSAGES). For entry and exit logic only.
|
Add 0.25
|
|
Does not use OPTIONS(*DEFERWRITE). For any code using screen panels.
|
Add 0.25
|
|
Display panel presented on remote device.
|
Add 1
|
|
Exit logic only. If any external built-ins are used, add one only shutdown value of
|
Add 0.25
|
|
Open off shared files already opened by another higher level function.
|
Divide total by 4 and add the result
|
|
Close off shared files that are still open in another higher level function. Usually only applies to exit logic.
|
Divide total by 8 and add the result
|
|
Open of files that are not already open
|
Divide total by 2 and add the result
|
|
Close of files not opened by higher caller Usually only applies to exit logic.
|
Divide total by 4 and add the result
|
|
CALLs to other functions. Add the total ERUFs of all called functions.
|
Add all ERUFs
|
|
Database I/Os performed
|
Divide total by 10 and add the result
|
|
Group 1 RDML commands / built-ins executed (count loops repetitively)
|
Divide total by 100 and add the result
|
|
Group 2 RDML commands / built-ins executed (count loops repetitively)
|
Divide total by 50 and add the result
|
|
Group 3 RDML commands / built-ins executed (count loops repetitively)
|
Divide total by 20 and add the result
|
|
Group 4 RDML commands / built-ins executed (count loops repetitively)
|
Divide total by 10 and add the result
|
|
Total ERUF value
|
n/a
|
|
For *HEAVYUSAGE re-entry, subtract file opens
|
n/a
|
|
For re-execution of code that has to open files the first time that it is executed, subtract file opens
|
n/a
|
|