Custom authorisation checks from within actions

Does anyone have any experience of using authorisation object /DBM/ORDER to control field entry from actions in DBM 6.0? We wish to control entry of certain fields such as pricing data between different levels of the business such as a parts manager, supervisor or counter assistant and are wondering if this object could be used or whether we should develop additional objects?
In this scenario would it be necessary to create an action for every business role, call the same execution code from each action and then assign the OE_ACTION (field /DBM/ORDAC in object /DBM/ORDER) to each user profile? If this is the case then I'm not quite sure how x number of actions (and corresponding event(s)) for each role should be configured however!

Hi David,
It is true that you will need a custom authorization object for your requirement with all the fields as per  your requirement into it.
Ex: ZDBM_FLDCHK with fields
        PRSDT and so on.
Now you need to create a BADI Implementation for /DBM/BADI_OE_ACTION_PREPARE. Create this implementation without filter action so that this could be executed at every action. Within this BADI implementation you can write your code for checking whether the user has changed the values on screen by comparing the HEADER_DETAIL corresponding values in VBAK_COM.
I hope this helps.
Give points if useful.
Regards,
Prakash

Similar Messages

  • Adding custom css classes from within edge animate

    is it possible to add  CSS classes from within Edge Animate, im not talking about adding your own stylesheet by ex. manually editing the .html document, but rather adding classes via ex. the code window ?, it would be immensely helpful to have everything in one place.
    any suggestions on this one ?

    Yes - you can use addclass() and you can use UI.
    1- UI
    Select elements in elements panel. Click the C button in the property panel.
    Use this for example
    sym.$('.classname').css({'color':'red'});
    2- addclaas()
    sym.$("name').addclass('classname');
    Use same as above.
    On Sat, Apr 25, 2015 at 8:56 AM mads18950258 <[email protected]>

  • Supress authentication check from within ABAP code

    Hi,
    we want all users to update their email-address in their own sap profile. (a self service)
    By default, in the screen "System"->"User Profile"->"Own Data", he can update all except his email-id.
    For this, we have written an abap report.
    DATA: p_smtp TYPE TABLE OF bapiadsmtp WITH HEADER LINE,
          p_return TYPE TABLE OF bapiret2 WITH HEADER LINE,
          p_addressx TYPE bapiaddr3x.
    data: p_uname TYPE xubname.
    PARAMETERS:   p_email TYPE ad_smtpadr OBLIGATORY.
          p_uname = sy-uname. "logged in user
          p_smtp-e_mail = p_email.
          p_smtp-std_no = 'X'.
          p_smtp-home_flag = 'X'.
          p_smtp-consnumber = '001'.
        p_addressx-e_mail = 'X'.
        CALL FUNCTION 'BAPI_USER_CHANGE'
          EXPORTING
            username = p_uname
            addressx = p_addressx
          TABLES
            return   = p_return
            addsmtp  = p_smtp.
    when we execute this report, with all rights, it works fine.
    but a normal user when he executes, he is getting this error:
    "You are not authorized to change users in group"
    the su53 screen shows:
       Authorization check failed
      Object Class BC_A Basis: Administration
        Authorization Obj. S_USER_GRP User Master Maintenance: User Groups
          Authorization Field ACTVT Activity
                                                                                    02
          Authorization Field CLASS User group in user master maintenance
                                                                                    <Dummy>
    the point here is we cannot add User Maintenance rights to all our normal users.
    is there any way, within the report (code) we can suppress the authentication check, programatically just while calling 'BAPI_USER_CHANGE', so that the user will be able to update his email-id.
    thanks in advance,
    Madhu_1980

    Here are 2 useful links:
    http://www.sapdev.co.uk/fmodules/fms_updateaddress.htm
    Updating email address in SU1/SU3
    If these don't help the noly thing I can suggest is that you write your own bdc program.
    Regards,
    Warren.

  • Custom Spell Check from ABAP Code without MS Word

    Hi All,
    I am working on a requirement where we need to check for misspelt words in a string that is received from another system. I have come across a number of FM's which can be used to check for spellings but all of the require MS Word to be installed in our PC, but I am looking for a solution that does not involve MS Word. If any of you have come across any external tool that can be called from ABAP code or any suggestion on a logic that can be built please pass it on. Any pointers or help in this regard would be highly appreciated.
    Thanks,
    Praveen

    Hi,
    Try the "CF_WWSpeller" customtag which actually uses the
    Winword spelling engine,
    http://web4w3.com/wwspeller.html

  • How do I check if the ctrl key is pressed from within a mouseReleased actio

    How do I check if the ctrl key is pressed from within a mouseReleased action?
          addMouseListener( new MouseAdapter() {
             public void mouseReleased( final MouseEvent e ) {
               // If ctrl button is held down and mouse is clicked, do something
             }};

    Found it, I think
        e.isControlDown()

  • Retrieve data from AD from within a custom sharepoint 2010 webpart

    Hi,
    I have a requirement to retrieve user data from AD and display from within a custom built webpart.
    I am using the PrincipalContext class etc to get the info from AD, i have sucesfully done this in a console program without having to specifiy a username/password.
    In the webpart i have successfully retrieved the data by hard coding my domain username/password.
    Any ideas what i could do to get the webpart to retrieve information from AD without having to specify username/password?
    thanks cjm

    Hi C.J, 
    I wrote an example of this using credentials stored in the Secure Store in the TechNet Wiki. The article is here: http://social.technet.microsoft.com/wiki/contents/articles/20110.sharepoint-retrieving-credentials-from-the-secure-store-application-using-c.aspx
    There's an example in the above article about building a webpart that connects to AD using the credentials.
    Regards, Matthew
    MCPD | MCITP
    My Blog
    View
    Matthew Yarlett's profile
    See my webpart on the TechNet Gallery that allows administrative users to upload, crop and format user profile photos. Check it out here:
    Upload and Crop User Profile Photos

  • Can't access one user on mac....one user is OK although it runs very slow..lots of beach ball action...tried using shift to access user and no use...I ran a disk check from good user and it checks out OK...what do I need to do

    I cannot access one of two users on my mac..i have tried using the shift key but no luck...the one user that I can access runs very slowly, I get a lot of beach balls from **** action...also the message "unapproved caller" keeps popping up...I ran disk check from good user and it shows OK...Disk usage shows ~267gb used out of 360gb disk

    Spinning Beach Ball
    Spinning Beach ball (2)
    Spinning Beach ball (3)
    Spinning Beach ball (4)

  • How can I check the progress of a Loader from within a movie clip?

    Hi All,
    I have a Loader called profileContentLoader that I create in AS3 on the main timeline, I would like to check the bytesLoaded of profileContentLoader from within a movieclip thats in another movieclip....
    I tried:
    MovieClip(root).profileContentLoader.bytesLoaded
    but that doesn't work....
    Thanks for any help

    The Loader class uses a LoaderInfo class object to do its loading event informational bidding.  Look into the contentLoaderInfo property of the Loader class and then followup looking at the LoaderInfo class to see what you can make use of from it.

  • WebLogic Server 7.0: Including another JSP from within a custom tag

    Hi all,
              has anyone made experience with including (ie. processing) a dynamic
              resource (JSP) from within a custom JSP tag?
              Using the following code inside doEndTag():
              pageContext.include("/templates/blub.jsp");
              throws a ServletException (Note: the JSP is a part of the web app
              which is deployed as war). Does it make a difference if the web
              application is warred up into and therefore include cannot resolve the
              specified relative URL?
              [Tomcat 4.1.10 doesn't have problems for that matter]
              The full stack trace is:
              javax.servlet.ServletException: java.lang.NullPointerException
              at com.foo.taglibs.template.InsertTag.doEndTag(InsertTag.java:55)
              at jsp_servlet._models.__index._jspService(__index.java:774)
              at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
              at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:945)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:332)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:376)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:242)
              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5360)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:721)
              at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3043)
              at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2468)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              TIA,
              niko.
              

    Try the same code from an exploded web app.
              Niko Schmuck wrote:
              > Hi all,
              >
              > has anyone made experience with including (ie. processing) a dynamic
              > resource (JSP) from within a custom JSP tag?
              >
              > Using the following code inside doEndTag():
              >
              > pageContext.include("/templates/blub.jsp");
              >
              > throws a ServletException (Note: the JSP is a part of the web app
              > which is deployed as war). Does it make a difference if the web
              > application is warred up into and therefore include cannot resolve the
              > specified relative URL?
              > [Tomcat 4.1.10 doesn't have problems for that matter]
              >
              > The full stack trace is:
              >
              > javax.servlet.ServletException: java.lang.NullPointerException
              > at com.foo.taglibs.template.InsertTag.doEndTag(InsertTag.java:55)
              > at jsp_servlet._models.__index._jspService(__index.java:774)
              > at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
              > at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:945)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:332)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:376)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:242)
              > at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5360)
              > at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:721)
              > at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3043)
              > at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2468)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >
              > TIA,
              > niko.
              Rajesh Mirchandani
              Developer Relations Engineer
              BEA Support
              

  • Changing state of application from within a custom component

    Hello, I have several custom components all of which are included in the parent application.
    When I try to change state from a custom component, I get an error  saying "undefined state: state name". How do I change the state of the  application from within a custom component ? All the states are defined in the parent application.

    @linrsvp,
    If you are using Flex3 try Application.application.currentState = "somestate";
    If you are using Flex4 try FlexGlobas.topLevelApplication.currentState = "somestate";
    Don't forget to import the corresponding namespaces for the above.
    Thanks,
    Bhasker

  • Add task to notification from within the customer enhancement

    Is there a function module that will add a task to a notification from within a customer exit?  I've tried to use a BAPI within QQMA0014 (Save Exit) , but this interferes with the processing of the notification.  The imported internal task table for the exit can be manipulated, but I am not sure how, or what, needs to be present and would prefer using a function module.
    Thanks,
    Brian Basch

    Brian,
       I would activate the change document for the custom fields which will act as a trigger for a custom event(Even better than creating a generic event based on create / change notification) that would be tied to a simple single step standard task pointing to a create Task FM. I would use the exit on SAVE to update the custom fields for the task(You will have to enhance your BAPI to update the custom fields if you don't want to use this exit).
    Regards
    Narasimhan

  • In Captivate 7, how can I call another action from within an action?

    I have a conditional action called FakeSuccessRewind. Now I need to call another function called ShowGrayBalloons02 from within its Else statement, but I couldn't find something like "Execute Advanced Action." Can anybody share some tips here? Thanks!
    Below are screenshots of my two actions:
    1) FakeSuccessRewind (if/else). Here I need to call the 2nd action from the Else statement, underneath the statement Go to the next slide.
    2) ShowGrayBalloons02. Note this function has five seperate runs when the variable is decrementing from 5-1.
    Thanks a lot!
    Melissa

    You can't, you need to add the other action into the first one.

  • How to write custom messages to Data Manager package log from within SSIS?

    Just wonder in BPC 7.0/7.5 MS how do you write custom messages to Data Manager package log from within SSIS?  I mean I want to log output of specific custom tasks (non-BPC) in SSIS control flow to the resultant BPC package log created when running SSIS package in Data Manager.  Can this be done in a Script Task or some other way?  Not much documentation out there on this.
    Thanks,
    Brian

    Hi Brian
    In order to achieve what you want, it can get tricky in your package, ultimately It would depend on the task, for example if you had an execute SQL task, you could use a RAISEERROR command in your SQL statement and BPC would return the error message that you specified.
    If you had other tasks, then it would be a bit more tricky, you would have to have custom messages based on event handlers.
    Please see below links for examples :
    [Custom messages for logging|http://msdn.microsoft.com/en-us/library/ms345174.aspx]
    [Custom Logging Using Event Handlers |http://consultingblogs.emc.com/jamiethomson/archive/2005/06/11/SSIS_3A00_-Custom-Logging-Using-Event-Handlers.aspx]
    Hope this helps
    Kind Regards
    Daniel

  • Request.getParameter("blah") from within a class?

    Hi Everyone,
    Not sure if I'm missing something...
    I'm trying to create a class that will examine and parse information from a form, and then pass it to another class that knows how to handle the input.
    A request in the form of http://www.domain.com/stuff.jsp?1=param1&2=param2&4=param4
    stuff.jsp only has this:
    UrlRequestGetter params = new UrlRequestGetter();
    out.println(params.getTheParams());and the general idea for the UrlRequestGetter class is this:
    public classUrlRequestGetter {
         public String getTheParams(){
              String request1 = request.getParameter("1");
                    String request2 = request.getParameter("2");
                    String request3 = request.getParameter("3");
                    String request4 = request.getParameter("4");
    }Within that class, there will be various actions to check whether or not fields are empty, etc. The big point is that i'm trying to do a request.getparameter from within a class. When i try to compile, I get:
    cannot find symbol
    symbol:variable request
    Any thoughts?
    Thanks!

    Take a step back from all that, and read the error message: cannot find symbol: symbol:variable request
    Is "request" a variable you have declared or passed into your method getTheParams() ?
    Where is it supposed to get the request from?
    "request" is an implicit variable to your JSP. If you want to use it in your bean, you have to pass it as a parameter.
    I'm trying to create a class that will examine and parse information from a form, and then pass it to another class that knows how to handle the input.You might consider using the <jsp:setProperty> tag to map parameters to bean attributes automagically.
    Or the BeanUtils.populate method provided by Jakarta Commons BeanUtils.
    Or any framework like struts, jsf, spring, stripes....
    Cheers,
    evnafets

  • [CRM] Change sales office from within an order

    We've been trying to get the following to work... as you might guess, so far without success.
    From within a CRM order, if we change the partner number for the department a check is being done whether that partner belongs to the same sales office. If that's not the case, the sales office has to be adjusted.
    Since this might have an effect on authorization, the changing of the sales office has to be done in a separate job (action). In this job, I do the following:
    - Retrieve data on the object
    - crm_order_read for that object
    - select the correct sales office
    - prepare the crm_orgman structure with the new data
    - crm_order_maintain with the crm_orgman and inputfields tables
    - optionally commit work, bapi_transaction_commit etc.
    For as far as we can see, the data is correct. However nothing is being changed. Ideally what I'd like to do is break into the process, change the object that's being processed in memory, and let the system do its job.
    What we've also tried is (shame):
    - Retrieve data on the object
    - crm_order_read for that object
    - select the correct sales office
    - direct update the corresponding tables with the new values
    This works, but as soon as we return control to the system, the changed values (verified, if we look at the tables the values are changed) are reset to what they were.
    It's taking way too much hours for something that should be (in my eyes) a pretty simple action. Any suggestions? Thx in advance!

    Hi Egbert,
    Please take a careful look at the GUIDs you are using: if you are using the orgman structures, the REF_GUID is not the ORGMAN-GUID but instead the ORDERADM_H-GUID. Can you confirm if this has been checked and if it then still is not working? The COMMIT_WORK BAPI is also not necessary.
    Kind regards,
    Joost Janssens
    PS Please reward points if this reply helped you!

Maybe you are looking for