Nun, SQL funktioniert hier wie bei der normalen Dateiverarbeitung, mittels:

C/exec sql
c+ select renr into :myrenr from file where ...
c/end-exec

Ohne Commit-Steuerung gibts natürlich ein Problem, dass zwischen Update und Select ein anderes Programm bereits weitergezählt hat.

Dann geht es nur mit einem Cursor:

declare mycursor for select renr from file where ... for update

open mycursor
fetch into :myrenr
set :myrenr = :myrenr + 1
update myfile set renr=:myrenr where current of mycursor

Dies entspricht im weitesten der RPG-Logik.