Returns a FIXED BINARY(31,0) value that identifies the condition being handled by an ON-unit.
ONCONDID()
or
ONCONDID
ONCONDID is short for ON-condition identifier. It returns a FIXED BINARY(31,0) value that identifies the condition being handled by an ON-unit. It is in context in any ON-unit or one of its dynamic descendants. The values returned by the ONCONDID() built-in function when invoked from within an ON-unit are the following:
area = 1
attention = 2
condition = 3
conversion = 4
endfile = 5
endpage = 6
error = 7
finish = 8
fixedoverflow = 9
invalidop = 10
key = 11
name = 12
overflow = 13
record = 14
size = 15
storage = 16
stringrange = 17
stringsize = 18
subscriptrange = 19
transmit = 20
undefinedfile = 21
underflow = 22
zerodivide = 23
If ONCONDID() is used out of context, the value returned is 0.
dcl cond_area fixed bin(31) value(1);
dcl cond_error fixed bin(31) value(7);
dcl cond_finish fixed bin(31) value(8);
on anycondition
begin;
on error system;
select(oncondid());
when(cond_area)
do;
/* process AREA condition */
end;
when(cond_finish)
;
when(cond_error)
do;
/* process ERROR condition */
end;
other
;
end;
end;
None.