11 28 8 ERUF Calculation Table

LANSA Application Design

11.28.8 ERUF Calculation Table

Use this table to calculate an ERUF value for all or part of a transaction. Typical parts of a critical transaction that are checked by using this table include:

  • Resource needed to invoke a function and display first panel.
  • Resource needed to progress from a panel to next panel.
  • Resource needed to close down function and return to caller.
  • Resource needed to process entire batch job.

 

Resource Usage Item

Calculation

Est. ERUF

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