Normally, the added row selector will be stored in the apex_application.g_f01
array (more info on those arrays, see the apex api doc). Verify this by looking at your html output of your page. After your tabular form html you can find the input to array mapping (i used a tabular form based on the EMP
table):
<input type="hidden" name="fhdr" value="Select Row" id="fhdr_001" />
<input type="hidden" name="fmap" value="EMPNO" id="fmap_002" />
<input type="hidden" name="fhdr" value="Empno" id="fhdr_002" />
<input type="hidden" name="fmap" value="ENAME" id="fmap_003" />
<input type="hidden" name="fhdr" value="Ename" id="fhdr_003" />
<input type="hidden" name="fmap" value="JOB" id="fmap_004" />
<input type="hidden" name="fhdr" value="Job" id="fhdr_004" />
<input type="hidden" name="fmap" value="MGR" id="fmap_005" />
<input type="hidden" name="fhdr" value="Mgr" id="fhdr_005" />
<input type="hidden" name="fmap" value="HIREDATE" id="fmap_006" />
<input type="hidden" name="fhdr" value="Hiredate" id="fhdr_006" />
<input type="hidden" name="fmap" value="DEPTNO" id="fmap_007" />
<input type="hidden" name="fhdr" value="Deptno" id="fhdr_007" />
You will need the row selector (array f01), and any other value you think you'll need.
For example, i used array 3: ENAME
.
DECLARE
v_rowno NUMBER;
BEGIN
for i in 1..apex_application.g_f01.count
loop
v_rowno := apex_application.g_f01(i);
apex_debug_message.log_message('row# selected: '||v_rowno);
apex_debug_message.log_message('Employee: '||apex_application.g_f03(v_rowno));
end loop;
END;
On my tabular form, i went to page 2 and selected 2 employees.

This outputs in my debug to:
row# selected: 2
Employee: ADAMS
row# selected: 3
Employee: JAMES
Take note that the row selector value is the rownumber for the current page of the report.
If you need to update a status, you'll need to reference an array which holds the ID for a record. This way you'll be able to perform an UPDATE
on those records.