Otra posibilidad es :
Código COBOL:
MOVE HIGH-VALUE TO CLAVE.
START ARCHIVO KEY NOT > CLAVE.
READ ARCHIVO PREVIOUS
AT END MOVE 0 TO CLAVE
END-READ.
ADD 1 TO CLAVE.
La primera vez que se ejecuta el programa inicializa en 0 el campo CLAVE.
Y en lo sucesivo te devuelve el último ingresado, y a ese le suma 1.
En este caso, no es necesario guardar ningún dato adicional, con esta búsqueda alcanza.