The FAILCODE function returns the last failure code, for use in the FAILURE workflow service or in the TRANSFORM structure referenced in the ONFAIL option of SOAPCALL.
Example:
MyRec := RECORD
STRING50 Value1;
UNSIGNED Value2;
END;
ds := DATASET([{'C',1},{'C',2},{'C',3},
{'C',4},{'C',5},{'X',1},{'A',1}],MyRec);
MyRec FailTransform := TRANSFORM
self.value1 := FAILMESSAGE[1..17];
self.value2 := FAILCODE
END;
limited1 := LIMIT(ds, 2);
limited2 := LIMIT(ds, 3);
limited3 := LIMIT(ds, 4);
recovered1 := CATCH(limited1, SKIP);
recovered2 := CATCH(limited2, ONFAIL(FailTransform));
recovered3 := CATCH(CATCH(limited3, FAIL(1, 'Failed, sorry')), ONFAIL(FailTransform));
OUTPUT(recovered1); //empty recordset
OUTPUT(recovered2); //
OUTPUT(recovered3); //
See Also: FAILURE, FAILMESSAGE, SOAPCALL