Oracle Error Message
PLS-00586: a static method cannot declare a parameter named SELF
Reason for the Error
An attempt was made to name a parameter SELF when declaring a static method. SELF is reserved as a parameter name in methods, to hold the object instance on which the method is applied. A parameter named SELF is not allowed in static methods because static methods do not apply to a particular object instance.
Solution
Change the name of the parameter in the declaration.