$(function () { pageContext.i18n.modTalk = 'moderation talk'; pageContext.i18n.replyToComment = 'Reply'; pageContext.i18n.modTalkEmpty = 'moderation talk is empty'; pageContext.url.getModTalk = "/comments/%25ID%25/listModTalk.json"; pageContext.url.possibleCommentRecipients = "/comments/%ID%/possibleRecipients.json"; pageContext.url.commentEdit = '/comments/%25ID%25/edit.html'; pageContext.url.commentView = '/comments/%ID%/view.html'; pageContext.i18n.commentVisibility = { 'full': 'Viewable by all users', 'op': 'Viewable by the original poster', 'mod': 'Viewable by moderators', 'opAndMod': 'Viewable by moderators and the original poster', 'other': 'Advanced visibility', 'dialogTitle': 'Comment visibility', 'selectGroups': 'Visible to groups', 'selectOther': 'Other recipients', 'selectOriginalPoster': 'Original poster', 'selectModerators': 'Moderators', 'selectAssignees': 'Asked to answer users' }; pageContext.i18n.commentMenuLabels = { 'comment-edit': 'comments.menu.edit', 'comment-delete': 'comments.menu.delete', 'comment-convert': 'comments.menu.convert' };pageContext.i18n.answer= { bestAnswer: 'Best Answer', controlBar : { accept: 'Accept', unaccept: 'Unaccept', acceptCommand: 'Accept this answer as correct', cancelAcceptedCommand: 'Remove this answers accepted status' } }; window.croles = { u: false, op: false, m: false, og: false, as: false, ag: false, dc: false, doc: false, eo: false, ea: false }; tools.init({ q: { e: false, ew: false, eo: false, r: false, ro: false, d: false, dow: false, fv: false, c: false, co: false, p: false, tm: false , ms: false, mos: false }, n: { f: false, vf: false, vfo: false, vr: true, vro: true, c: false, co: false, vu: false, vd: false, w: false, wo: false, l: false }, c: { e: false, eo: false, d: false, dow: false, ta: false, tao: false, l: false }, a: { e: false, ew: false, eo: false, d: false, dow: false, a: false, aoq: false, ao: false, tc: false, tco: false, p: false, tm: false }, pc: croles }, { tc: true, nsc: true }); commandUtils.initializeLabels(); }); Skip to Content
avatar image
Former Member

How to get user permissions from PowerDesigner Java api


I'm trying to use PowerDesigner Java api for user permission management. PdRMG.RepositoryDocumentBase class has

"DeletePermission(/* in */ BaseObject userOrGroup)"

"SetPermission(/* in */ BaseObject userOrGroup, /* in */ int permissionConstant)"


However I couldn't find a method for listing models permissions (users with permission). Is there any way to do this?


Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • May 25, 2017 at 09:11 AM

    I can't find a method either, and it doesn't look like you can get a preview from the DeletePermission method, which could be useful. There are methods to check if a user's permissions for anobject, but that's not what you want.

    I suggest you raise an enhancement request with SAP.

    Add comment
    10|10000 characters needed characters exceeded

  • May 25, 2017 at 08:11 PM

    In this situation, you can write store procedure to directly execute SQL in your Java application.

    For example , given user Peter, I assign him Write permission to a model called CityPlan.

    Execute the following code:

    select u.name, o.code, p.oprm from PMOBJT o, PMPERM p, PMUSER u where u.code='Peter' and o.code='CityPlan' and p.poid=o.poid and p.rusr=u.rusr

    For more information, please study 'Repository Metamodel. pdm', which locates at your Powerdesigner folder, Examples subfolder.

    Add comment
    10|10000 characters needed characters exceeded

    • Hello Phillip, your answer assumes a user has direct access to the database, which they may not. It also forces us to use a combination of methods to access metadata, which I prefer to avoid. Are there any plans to expose this metadata thorugh the API?