Procedure signatures

Each stored procedure has a signature; that is, a unique identification in the form <procedure_name>(<argument_type_list>). Signatures must be unique within the same database; that is, they cannot duplicate the signature of another stored procedure. The <argument_type_list> component does not consider data type sizes to be differentiators. For example, you cannot create two procedures called myproc(numeric(3,2)) and myproc(numeric(4,1)) in the same database. The larger numeric size is not sufficient to create a unique signature.

If there are common use-cases where a procedure must accept different-sized strings or numerics, you can design the procedure to accept the largest of the possible values, or you can create a stored procedure with a different name to process the different data size, for example:
TEST.TESTSCH(USR)=> CREATE PROCEDURE myproc_lgnum(numeric(4,1))
...