Hello Community!
I have the following Code
-- In this block we perform the actual change.
DECLARE
PARTTYPEERROR EXCEPTION;
[SOME_OTHER_VARIABLES]
BEGIN
FOR sale_part_to_update_rec IN (
[SOME_SQL_TO_PERFORM_LOOP]
) LOOP
p0_ := NULL;
p1_ := sale_part_to_update_rec.OBJID;
p2_ := sale_part_to_update_rec.OBJVERSION;
client_sys.add_to_attr(name_ => 'SOURCING_OPTION', value_ => sale_part_to_update_rec.SOURCING_OPTION, attr_ => p3_);
client_sys.add_to_attr(name_ => 'RULE_ID', value_ => '', attr_ => p3_);
p4_ := 'DO';
BEGIN
IFSAPP.SALES_PART_API.MODIFY__( p0_ , p1_ , p2_ , p3_ , p4_ );
COMMIT;
EXCEPTION
WHEN PARTTYPEERROR THEN
[MY_ERROR_HANDLING_CODE]
END;
END LOOP;
END;
I have noticed that even when the IFSAPP.SALES_PART_API.MODIFY code I execute results in an PARTTYPEERROR Exception...
… The block to handle that type of errors is never invoked. The exception is treated as an unhandled exception and the message displayed by PL/SQL Developer and the execution is halted.
What am I doing wrong? Should I not IFS Erorrs in this manner? should I catch them using some other approach?
Thanks!