Hi Fabio,
I suppose you're talking about catalog procedures (CREATE PROCEDURE) and not repository procedures (maintained in .hdbprocedure files). Is that so?
The Developer Guide says the following about adding privileges for specific Objects when defining a role:
Do not grant object privileges on a catalog object if it was created in design time. If you do, the next time the design-time object is activated (which results in the creation of a new version of the catalog object), the privilege on the original catalog object will be removed from the role. Always grant privileges on design-time objects
Meaning, the best practice is to create a design-time (repository) procedure and add the privilege to a design-time (repository) role, as described in the Developer Guide:
Object privileges on design-time objects, that is tables, views, procedures, and sequences:
{
sql object sap.example:MY_VIEW.attributeview: DROP;
// object privileges can be split across lines
sql object sap.example:MY_PROCEDURE.hdbprocedure: DROP;
// a single privilege can be given on multiple objects in a single line
sql object sap.example:MY_VIEW.attributeview,
sap.example:MY_OTHER_VIEW.analyticview,
sap.example:MY_THIRD_VIEW.analyticview: SELECT;
}
Source: HANA Developer Guide (Page 706, Session 10.1 Create a Design-Time Role).
Best regards,
Henrique.