Listing 4.
Listing 4. This wordy code is replaced, in the call to report an ambiguous overloading, by the handy function cc_util.ifelse.
DECLARE
l_start1 PLS_INTEGER;
l_start2 PLS_INTEGER;
BEGIN
IF l_numargs1 = 0
THEN
l_start1 := 0;
ELSE
l_star21 := 1;
END IF;
IF l_numargs2 = 0
THEN
l_start2 := 0;
ELSE
l_start2 := 1;
END IF;
cc_report.ambig_ovld (
cc_smartargs.owner_name,
cc_smartargs.package_name,
program_in,
overload1_in,
l_start1,
lastarg1_in,
overload2_in,
l_start2,
lastarg2_in
);
END;
