Gibts, zumindest ab V6R1 als SQL-Funktion ROWID() (o.ä.) in jedem Select.

Damit wird dann jedem selektierter Satz gezählt, solange, wie der Cursor des Selects offen ist, bzw. bis ein anderes Select geöffnet wird.

Habs auch als User-Defined-SQL-Function gesehen; in V6R1 ist es noch ein schlecht dokumentiertes Feature zum Beispiel für Datawarehouses.

Mußte eben mal ausgiebiger Googlen. (Hab leider keine Zeit, es jetzt für Dich rauszusuchen.)