Check to disallow user to create PO by PM order if PM order is not released

Hi SAP Gurus ,
Can we put such check/validation that user should not allowed to create Purchase order based on PM order , if PM order is not Released .
We received such CR from business ( Client )
Waiting for reply .
Chandan Prayag

Hi,
this can be done through User exit or BADI.
Rgds,
Saurabh

Similar Messages

  • How to check if the user has only the display authority of a message

    hi,
    How to check if the user has only the display authority of a message but does not have the change authority for a certain message?
    Best regards,

    hi blake
    though i am an application consultant and for authorisation u need to have help of BASIS person if u r not the one but still i can guide u regarding the same,
    Basically Authorization Management 
    Use
    You can use the following authorization objects to control the authorizations for maintaining business partner data:
    •        Authorization objects for the Business Partner:
    •             B_BUPA_GRP
    •             B_BUPA_ATT
    •             B_BUPA_FDG
    •             B_BUPA_RLT•       
    Authorization objects for relationships:
    •             B_BUPR_BZT
    •             B_BUPR_FDG
    In addition, you can assign an authorization group to a business partner in the dialog. The authorization group controls which users may maintain data for this business partner.
    You can also define authorizations for fields and field groups using the Business Data Toolset (BDT). Depending on the settings you have made, the system carries out the relevant authorization checks.
    In the dialog in the SAP GUI, you can display an overview of the authorizations assigned to you by pressing the button Settings.
    For more information on authorization management, see the Implementation Guide (IMG) of the Business Partner, as well as in the Developer’s Handbook for the BDT under  Authorizations.
    IntegrationAuthorization management for the Business Partner forms part of the  SAP authorization concept.
    Prerequisites
    You have made the necessary settings in Customizing of the Business Partner under Basic Settings--> -Address Management.
    Moving over
    AS ABAP Authorization Concept 
    The ABAP authorization concept protects transactions, programs, and services in SAP systems from unauthorized access. On the basis of the authorization concept, the administrator assigns authorizations to the users that determine which actions a user can execute in the SAP system, after he or she has logged on to the system and authenticated himself or herself.
    To access business objects or execute SAP transactions, a user requires corresponding authorizations, as business objects or transactions are protected by authorization objects. The authorizations represent instances of generic authorization objects and are defined depending on the activity and responsibilities of the employee. The authorizations are combined in an authorization profile that is associated with a role. The user administrators then assign the corresponding roles using the user master record, so that the user can use the appropriate transactions for his or her tasks.
    Authorization Checks 
    To ensure that a user has the appropriate authorizations when he or she performs an action, users are subject to authorization checks.
    The following actions are subject to authorization checks that are performed before the start of a program or table maintenance and which the SAP applications cannot avoid:
    •        Starting SAP transactions (authorization object S_TCODE)
    •        Starting reports (authorization object S_PROGRAM)
    •        Calling RFC function modules (authorization object S_RFC)
    •        Table maintenance with generic tools (S_TABU_DIS)
    Checking at Program Level with AUTHORITY-CHECK
    Applications use the ABAP statement AUTHORITY-CHECK, which is inserted in the source code of the program, to check whether users have the appropriate authorization and whether these authorizations are suitably defined; that is, whether the user administrator has assigned the values required for the fields by the programmer. In this way, you can also protect transactions that are called indirectly by other programs.
    AUTHORITY-CHECK searches profiles specified in the user master record to see whether the user has authorization for the authorization object specified in the AUTHORITY-CHECK. If one of the authorizations found matches the required values, the check is successful.
    Starting SAP Transactions
    When a user starts a transaction, the system performs the following checks:
    •        The system checks in table TSTC whether the transaction code is valid and whether the system administrator has locked the transaction.
    •        The system then checks whether the user has authorization to start the transaction.
    The SAP system performs the authorization checks every time a user starts a transaction from the menu or by entering a command. Indirectly called transactions are not included in this authorization check. For more complex transactions, which call other transactions, there are additional authorization checks.
    •             The authorization object S_TCODE (transaction start) contains the field TCD (transaction code). The user must have an authorization with a value for the selected transaction code.
    •             If an additional authorization is entered using transaction SE93 for the transaction to be started, the user also requires the suitable defined authorization object (TSTA, table TSTCA).
    If you create a transaction in transaction SE93, you can assign an additional authorization to this transaction. This is useful, if you want to be able to protect a transaction with a separate authorization. If this is not the case, you should consider using other methods to protect the transaction (such as AUTHORITY-CHECK at program level).
    •        The system checks whether the transaction code is assigned an authorization object. If so, a check is made that the user has authorization for this authorization object.
    The check is not performed in the following cases:
    You have deactivated the check of the authorization objects for the transaction (with transaction SU24) using check indicators, that is, you have removed an authorization object entered using transaction SE93. You cannot deactivate the check for objects from the SAP NetWeaver and HR areas.
    This can be useful, as a large number of authorization objects are often checked when transactions are executed, since the transaction calls other work areas in the background. In order for these checks to be executed successfully, the user in question must have the appropriate authorizations. This results in some users having more authorization than they strictly need. It also leads to an increased maintenance workload. You can therefore deactivate authorization checks of this type in a targeted manner using transaction SU24.
    •             You have globally deactivated authorization objects for all transactions with transaction SU24 or transaction SU25.
    •             So that the entries that you have made with transactions SU24 and SU25 become effective, you must set the profile parameter AUTH/NO_CHECK_IN_SOME_CASES to “Y” (using transaction RZ10).
    All of the above checks must be successful so that the user can start the transaction. Otherwise, the transaction is not called and the system displays an appropriate message.
    Starting Report Classes
    You can perform additional authorization checks by assigning reports to authorization classes (using report RSCSAUTH). You can, for example, assign all PA* reports to an authorization class for PA (such as PAxxx). If a user wants to start a PA report, he or she requires the appropriate authorization to execute reports in this class.
    We do not deliver any predefined report classes. You must decide yourself which reports you want to protect in this way. You can also enter the authorization classes for reports with the maintenance functions for report trees. This method provides a hierarchical approach for assigning authorizations for reports. You can, for example, assign an authorization class to a report node, meaning that all reports at this node automatically belong to this class. This means that you have a more transparent overview of the authorization classes to which the various reports are transported.
    You must consider the following:
    •     •         After you have assigned reports to authorization classes or have changed assignments, you may have to adjust objects in your authorization concept (such as roles (activity groups), profiles, or user master records).
    •     •         There are certain system reports that you cannot assign to any authorization class. These include:
    •     •         RSRZLLG0
    •     •         STARTMEN (as of SAP R/3 4.0)
    •     •         Reports that are called using SUBMIT in a customer exit at logon (such as SUSR0001, ZXUSRU01).
    •     •         Authorization assignments for reports are overwritten during an upgrade. After an upgrade, you must therefore restore your customer-specific report authorizations.
    Calling RFC Function Modules
    When RFC function modules are called by an RFC client program or another system, an authorization check is performed for the authorization object S_RFC in the called system. This check uses the name of the function group to which the function module belongs. You can deactivate this check with parameter auth/rfc_authority_check.
    Checking Assignment of Authorization Groups to Tables
    You can also assign authorization groups to tables to avoid users accessing tables using general access tools (such as transaction SE16). A user requires not only authorization to execute the tool, but must also have authorization to be permitted to access tables with the relevant group assignments. For this case, we deliver tables with predefined assignments to authorization groups. The assignments are defined in table TDDAT; the checked authorization object is S_TABU_DIS.
    You can assign a table to authorization group Z000. (Use transaction SM30 for table TDDAT) A user that wants to access this table must have authorization object S_TABU_DIS in his or her profile with the value Z000 in the field DICBERCLS (authorization group for ABAP Dictionary objects).
    please See also:
    •        SAP Notes 7642, 20534, 23342, 33154, and 67766
    guess this info will help you,there is one graphic which actually explain the hierarchy of authorisation,i will find some time out to let u know more info about the authorisation
    but if u sit with ur BASIS guy then u can learn lot of things in PFCG
    i guess u r a basis guy,then its not a problem
    best regards
    ashish

  • 'Unable to check credentials of user. Permission denied...'

    Hi everyone, i have this problem when i try to login in a jsp that connects with WCC to check user and password.
    oracle.stellent.ridc.protocol.ServiceException: Unable to check credentials of user. Permission denied. Address 'xx.xx.xx.xx' is not an allowable remote socket address.
         at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:142)
         at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:108)
         at wcc.WccConnection.checkUser(WccConnection.java:597)
    The Address 'xx.xx.xx.xx' is a the IP Address of the VM where i mounted the WCC Server.
    I can access from another machine to the Control panel of the WCC with http://xx.xxx.xx.xx/cs so it has connectivity.
    Somebody said i had to change the file config.cfg in the WCC and add that address to the "SocketHostAddressSecurityFilter" variable, but it still doesnt work.
    Anyone has idea about this error?
    Thanks a lot!

    Check how Incoming Socket Connection Address Security Filter is configured. For more info see http://docs.oracle.com/cd/E23943_01/doc.1111/e14495/config.htm#INECM1695
    (don't forget to restart the server after changing the value)

  • Users are created but Roles are not Provisioned in the Target System

    Hi,
    It would be great if somebody would provided solution to my problem. The problem is when I try to create the Users in Identity Managment UI then the Users are created in the Target systems but the Roles are not provisioned to the Users.
    In the provisioning job SetABAPRole&ProfileForUser,
    It is says In the Error putNextEntry failed storing
    Exception from Modify operation:com.sap.idm.ic.ToPassException: User does not exist
    MSKEY 58437
    Please note the When we create the User, the user is created however the Roles is not provisioned to the user.
    Regards,
    Hakim

    Hello Nits,
    since this thread is from 2010 and the OP was logged on last in 2012 (as you can see in the profile), I don't think you'll get an answer here.
    Please create a new thread to explain your problem (with version and SP numbers, logs etc). You can add a link to this thread to show, that the problem is similar.
    Regards,
    Steffi.

  • How to prevent users from creating new folders in share folder directory?

    Hello guys
    I'd like to know How to prevent users from creating new folders in share folder directory but still keep their power of creating new folders in their personal 'my folder'?
    I tried changing the 'manage privilage ---- create folder' to deny certain user accounts, but by doing so, it also stops the user from creating new folders in their 'my folder', which is not good..
    I also tried going into these share folders and tried different access types such as 'change/delete', 'read', 'traverse folder' etc, but none of it work ideally. The 'change/delete' access still allows them to create new folders, 'read' access prevents creating new folders but also take away their power of saving reports..
    Any thoughts on how to take away their ability to ONLY create new folders in share folder areas without affecting their other privileges?
    Please advise
    Thank you

    Easy, on the shared folders root folder only give them 'read' or 'traverse folder' but on the the folder inside the shared folders root folder give them 'change/delete'. That means they can change anything inside those folders but not create any folders at the shared folders root level.

  • Restricting users from Creating Request in OBIEE

    Hi,
    I want to restrict users fron creating request, in the Manage Priviledge section i was not able to find the where i could restrict the user from *"Creating Request"*, so is it possible to restrict users fron creating request if yes from where.
    Regards,
    Amit

    look for "Access to Answers" under Access in Manage Privileges. That is where you restrict access to creating requests.
    - Mahesh

  • Error when creating a user - IAM-3010183 : An error occurred while checking if a user already exists with the Common Name generated.

    Error when creating a user - IAM-3010183 : An error occurred while checking if a user already exists with the Common Name generated.

    in OIM 11g R2
    Message was edited by: 2b3c0737-074f-48d0-a760-e24e3ed9a37c

  • Ways to check if AD user already exist before creating a new AD user

    Hi all,
    I need to import users into a new active directory domain. I will make an extract from the old active directory domain.
    The thought process on paper is something like
    import csv with data from source AD
    For each entry check to see if there already is a user account in the target AD
    If there is do nothing and move on to the next entry
    If no user is found in the target AD, then create a new user using new-aduser cmdlet
    output to console or log file (not decided yet)
    I would especially like to get an idea on how to do step 3 and 4. I am thinking something like if else statement.
    Regards

    That is what I had originally but because he doesn't want to do anything if they do exist, so I figured rather then doing an if/else, just do an if, but you are correct, it does not work that way.....I tend to mix C# programming and powershell
    scripting
    If you find that my post has answered your question, please mark it as the answer. If you find my post to be helpful in anyway, please click vote as helpful.
    Don't Retire Technet
    PowerShell is finicky with -not and ! it is also hard for some people tosee and we don't normally think in negative logic.  A positive assertion is best even when testing for the negative.  It is clearer and avoids fall-through.
    ¯\_(ツ)_/¯

  • How to check if a user fills a header text in billing invoice

    Hi everybody and thanks in advance.
    My consultant wants to oblige all users to fill a header text when they create the billing invoice (vf01).
    I was looking for several user exits when I can manage this requisite.
    My problem is that when the user creates the invoice and push save button, I try to look for in the table STXH if the user created the header text. But I have not found anything, because the invoice has not created yet.
    Only when the billing invoice has saved, the header text is stored in the table STXH.
    I has been trying to find a structure wich contains the header data like xvbrk contains the data about type of invoice, etc.
    I have studied this user exits:
    userexit_number_range (module pool saplv60A, program rv60afzz)
    userexit_account_prep_komkcv (same module)
    userexit_account_prep_kompcv (same module)
    userexit_fill_vbrk_vbrp (same module)
    v60A0001 (Customer functions in the billing document).
    My question is: In which structure is the header text of billing invoice manage before push the save button?
    If I knew where it is, I could manage the data and check if the user filled the header text.
    Thank you very much, and sorry for my pour English.

    David,
    Place this code into USEREXIT_NUMBER_RANGE:
    DATA: CATALOG LIKE TCATALOG OCCURS 0 WITH HEADER LINE,
          MEMORY_ID(30).
    data: c_MEMORY_ID(30) VALUE 'SAPLSTXD'.
    DATA l_head type THEAD.
    DATA wa_head type THEAD.
    data: l_lines type table of TLine.
    data: l_line type TLine.
    DATA l_CATALOG type TCATALOG.
    IMPORT CATALOG FROM MEMORY ID 'SAPLSTXD'.
    loop at catalog into l_catalog.
       if  l_catalog-IS_REFTEXT is initial
       and l_catalog-keep is initial.
         concatenate c_memory_id l_catalog-id into memory_id.
         import thead to l_head
                tline to l_lines
           from memory id memory_id.
         loop at l_lines into l_line.
           message i000(zz) with l_line-TDLINE.
         endloop.
       endif.
    endloop.
    It will expose the text entered into the text ids in a message box (for now).  You will want to replace the MESSAGE statement with your own logic.
    You may also need to change the message numver/class from ZZ - as seen here "message i000(zz) with l_line-TDLINE."  with an appropriate message on your system.
    DON'T forget those points.

  • Check java on users PC and give message

    The following code has been written with Java 1.4 and works great, but if a user has Java 1.3 they get an error message and if a user has Java 1.2 nothing happens at all. Is there a way to check if the user is using a version older than 1.4 and if so pop up a message telling them they need to download a newer version of Java?
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.List;
    import java.io.*;
    import java.util.*;
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import org.w3c.dom.*;
    public class Sametime extends JFrame implements ActionListener {
        private int indentation = -1;
        JPanel panel = new JPanel();
        JTextArea jta = new JTextArea(
        //Instructions for user
        "For a successful buddy list migration do the following:\n"
        + "1. Save your current Sametime Buddy List to your PC.\n   "
        + "The default location should be: C:/Program Files/Lotus/Sametime Client.\n"
        + "  A. Open the Sametime Client.\n"
        + "  B. Click on People\n"
        + "  C. Click on Save List.\n"
        + "  D. Save as your first.last.dat\n"
        + "     Ex. john.doe.dat\n"
        + "NOTE: If you have AOL contacts in your Sametime buddy list they will not be migrated.\n");
        JButton browse = new JButton("Continue");
        JButton exit = new JButton("Exit");
        public Sametime() {
            super("Sametime Buddy List Migration");
            setSize(610, 245);
            Container c = this.getContentPane();
            c.add(panel);
            browse.addActionListener(this);
            exit.addActionListener(this);
            panel.add(jta);
            panel.add(browse);
            panel.add(exit);
            jta.setEditable(false);
            setLookAndFeel();
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        } //end Sametime
        public class DATFilter extends javax.swing.filechooser.FileFilter {
            public boolean accept(File f) {
                //if it is a directory -- we want to show it so return true.
                if (f.isDirectory())
                    return true;
                String extension = getExtension(f);//get the extension of the file
                //check to see if the extension is equal to "dat"
                if ((extension.equals("dat")))
                    return true;
                //default -- fall through. False is return on all
                //occasions except:
                //a) the file is a directory
                //b) the file's extension is what we are looking for.
                return false;
            }//end accept
            public String getDescription() {
                return "dat files";
            }//end getDescription
             * Method to get the extension of the file, in lowercase
            private String getExtension(File f) {
                String s = f.getName();
                int i = s.lastIndexOf('.');
                if (i > 0 &&  i < s.length() - 1)
                    return s.substring(i+1).toLowerCase();
                return "";
            }//end getExtension
        }//end class DATFilter
        public void actionPerformed(ActionEvent e) {
            //Default Location for JFileChooser search
            String error = "The file selected is not a .dat file!\n"
            + "Please select your recently saved .dat file and try again.";
            JFileChooser fc = new JFileChooser("/Program Files/Lotus/Sametime Client");
            fc.setFileFilter(new DATFilter());
            fc.setFileSelectionMode( JFileChooser.FILES_ONLY);
            String user = System.getProperty("user.name");// finds who the current user is
            if (e.getSource() == browse) {
                int returnVal = fc.showSaveDialog(Sametime.this);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    //if (fc.getSelectedFile().getName().equals(".dat")){
                    if (fc.getSelectedFile().getName().endsWith(".dat")){ // checks to see if selected file is .dat
                    }else{
                        JOptionPane.showMessageDialog(null, error, "Wrong File", JOptionPane.ERROR_MESSAGE);
                        return;
                    }//end else
                    try {
                        String[] contactArray = parseDatFile(fc.getSelectedFile());
                        Document document = createXMLDocument(contactArray);
                        saveToXMLFile(
                        document,
                        new File(
                        "C:/Documents and Settings/" + user +"/My Documents/OLCS/",// looks for directory for list
                        "contacts-list_migration.ctt"));
                    } catch (Exception exc) {
                        File f = new File("C:/Documents and Settings/" + user +"/My Documents/OLCS/");// setting directory for list if not there
                        boolean yes = true;
                        yes = f.mkdir();// creating directory
                        try {
                            String[] contactArray = parseDatFile(fc.getSelectedFile());
                            Document document = createXMLDocument(contactArray);
                            saveToXMLFile(
                            document,
                            new File(
                            "C:/Documents and Settings/" + user +"/My Documents/OLCS/",// used only if the directory didn't exist
                            "contacts-list_migration.ctt"));
                            //exc.printStackTrace();// not sure if this is needed?
                        } catch (Exception exc1) {
                            exc1.printStackTrace();
                        }//end inner catch
                    }// end catch
                }// end if
                if(returnVal==JFileChooser.CANCEL_OPTION){
                    String Warning = "You did not migrate your Sametime buddy list at this time.";
                    JOptionPane.showMessageDialog(null, Warning, "Migration Canceled", JOptionPane.WARNING_MESSAGE);
                    return;
                }else{
                    String thankyou = "Thank You for Migrating your Sametime buddy list to OLCS"
                    + "\nYour new OLCS buddy list has been saved to:"
                    + "\nC:/Documents and Settings/" + user +"/My Documents/OLCS"
                    + "\n as: Contact-List_migration.ctt"
                    + "\n\n To be able to use Contact-List_migration.ctt for Windows Messenger:"
                    + "\n1. Log into Windows Messenger."
                    + "\n2. Click on File"
                    + "\n3. Click on 'Import Contacts from a Saved File...'"
                    + "\n4. Open OLCS in My Documents"
                    + "\n5. Click on 'Contact-list_migration.ctt'"
                    + "\n6. Click Open to import the list."
                    + "\n   A window will pop up confirming that you want to add all of the contacts"
                    + "\n   Click 'yes'"
                    + "\n   Your buddy list is ready to be used.";
                    JOptionPane.showMessageDialog(null, thankyou, "Migration Completed", JOptionPane.INFORMATION_MESSAGE);//Change this when defualt directory is known.
                }//end if else statement
            } //end if
            System.exit( 0 );
            if (e.getSource() == exit) {
                System.exit( 0 );
            } //end if
        } //end actionPerformed
        String[] parseDatFile(File datFile)
        throws Exception    {
            List list = new ArrayList();
            BufferedReader br = new BufferedReader(new FileReader(datFile));
            String line;
            while ((line = br.readLine()) != null) {
                line = line.trim();
                if (line.indexOf("U") != 0)
                    continue;
                int p = line.indexOf("::");
                if (p == -1)
                    continue;
                line = line.substring(p + 2).trim();
                if (line.indexOf("AOL") == 0)
                    continue;
                p = line.indexOf(",");
                if (p != -1)
                    line = line.substring(0, p);
                line = line.trim() + "@mci.com";
                if (list.indexOf(line) == -1)
                    list.add(line);
            }//end while
            br.close();
            String[] contactArray = new String[list.size()];
            list.toArray(contactArray);
            return contactArray;
        }// end String
        // setting up the XML file
        Document createXMLDocument(String[] contactArray) throws Exception {
            DocumentBuilderFactory dBF = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = dBF.newDocumentBuilder();
            DOMImplementation domImpl = builder.getDOMImplementation();
            Document document = domImpl.createDocument(null, "messenger", null);
            Element root = document.getDocumentElement();
            Element svcElm = document.createElement("service");
            Element clElm = document.createElement("contactlist");
            svcElm.setAttribute("name", "Microsoft RTC Instant Messaging");
            svcElm.appendChild(clElm);
            root.appendChild(svcElm);
            for (int i = 0; i < contactArray.length; i++) {
                Element conElm = document.createElement("contact");
                Text conTxt = document.createTextNode(contactArray);
    conElm.appendChild(conTxt);
    clElm.appendChild(conElm);
    }//end for
    return document;
    }// end Document
    void saveToXMLFile(Document document, File xmlFile) throws Exception {
    OutputStream os =
    new BufferedOutputStream(new FileOutputStream(xmlFile));
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Transformer transformer = tFactory.newTransformer();
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");//puts information on seperate lines
    transformer.setOutputProperty(OutputKeys.METHOD, "xml");
    transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");//gives the XML file indentation
    transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
    DOMSource source = new DOMSource(document);
    StreamResult result = new StreamResult(os);
    transformer.transform(source, result);
    os.close();
    }//end saveToXMLFile
    public static void main(String[] args) {
    Sametime st = new Sametime();
    ImageIcon picIcon = new ImageIcon(st.getClass().getResource("/ST_Migration/images/mci.gif"));//Change when default is known!
    st.setIconImage(picIcon.getImage());
    } //end main
    private void setLookAndFeel() {
    try {
    UIManager.setLookAndFeel(
    UIManager.getSystemLookAndFeelClassName());
    SwingUtilities.updateComponentTreeUI(this);
    } catch (Exception e) {
    System.err.println("Could not use Look and Feel: " + e);
    } //end catch
    } //end void setLookAndFeel
    } //end public class Sametime

    Well, if you don't want to use Package.isCompatibleWith and the version numbers will always be of the form x.y where y is at most one digit, you can use Double.parseDouble() and then compare the numbers. Otherwise you need to write a method of your own.

  • Hi All, We are in to Release 11.5.10.2.There is a specific requirement to Prevent users from creating Manual Sales Orders in oracle and yet users should be able to book the Sales Orders Imported from CRM system into Orcale.Please advise.

    Hi All, We are in to Release 11.5.10.2.There is a specific requirement to Prevent users from creating Manual Sales Orders in Oracle and  yet users should be able to book the Sales Orders Imported from CRM system into Orcale.Please advise.

    Thanks for your advise.
    However, I missed to mention that we have two set of users  One is for Finished Goods and another for Spares.
    Only Spares users need to be prevented from creating Direct/Manual Sales Orders in Oracle.
    As you suggested, if this will be done at Form level, that may Disallow FG users also to create Manula Sales Orders which should not be the case.
    Further, I tried to test one scenario through Processing Constraints but it did not work.
    Application
    OM
    Validation Type
    Entity
    Temp
    Short Name
    TBL
    Validation Semantics
    Created By
    Equal To
    User(Myself)
    Processing Cosntraint
    Application
    OM
    Entity
    Order Header
    Constraint
    Operation
    User Action
    Create
    Not Allowed
    Conditions
    Group
    Scope
    Validation Entity
    Record Set
    Validation Template
    101
    Any
    Order Header
    Order
    Above Created
    Please advise.

  • How do you allow a user to create a new password?

    The way i have it set up right now the users are registered by the admin and a random password is provided for them to log in. When they login they're instructed to create a new password.
    They click to update their information. Included in this form is an "Old Password" field and a "New Password" field. They can choose if they want to create a new one or not. So I don't want to make it a requirement.
    1 - How do I validate the old password.
    2 - When they type the new password and submit the update info form. It inserts the new record over the old. But only after confirming that that old password is correct. How is this done?
    Or should they just type in a new password with no validation that they know the old. ? Hm.
    Please let me know. Thank you.
    Eddie Adolf

    Hi frunsel,
    if the user choose a name where already exist, the error throws out, but it clears all the register fields (all the users entrys, and i have a few fields)
    humm, that´s not cool -- however...
    how can i prevent this?
    In this case I suggest providing a separate "check username availabilty" procedure in a blank window
    (or a popup window, if you prefer) which ...
    a) on page 1 has a form with one "check_username" text field, and on...
    b) page 2 queries the login table´s "username" column against the textfield´s value and returns "username available" when no matching records were found, respectively "username already allocated" in case of a match.
    That´s something I´d do without using ADDT, means DW´s native database related functionality are absolutely sufficient for such simple stuff
    Cheers,
    Günter Schenk
    Adobe Community Expert, Dreamweaver

  • How to check if a user has SAP_ALL in a program?

    Hi:
    I want to create a program that will check if the user has SAP_ALL. Is there a standard FM or BAPI?. Otherwise, can someone pelase help.
    Thank you.
    Seshagiri Gopi

    Hi,
    Please check the below link:
    http://wiki.sdn.sap.com/wiki/display/BI/AuthorizationinSAPNWBI
    Regards,
    Nilesh.

  • Access 2010 checking if a user has opened a zipped rather than expanded database

    Is there a property or method that can be used to detect/ check if a user has opened a zipped copy of a database?
    I distribute a zipped copy of a database and expect users to extract it before using it but some times a user simply opens the zipped copy and later encounters problems. I would like to display a message notifying the user that they must first expand the
    zipped file before opening the database.
    phil kelly

    Maybe this will help.
    Option Compare Database
    Option Explicit
    'See MSDN for more constants: http://msdn2.microsoft.com/en-us/library/ms839432.aspx
    Const CSIDL_APPDATA = &H16
    Const CSIDL_DESKTOP = &H0
    Const CSIDL_PROGRAMS = &H2
    Const CSIDL_CONTROLS = &H3
    Const CSIDL_PRINTERS = &H4
    Const CSIDL_PERSONAL = &H5
    Const CSIDL_FAVORITES = &H6
    Const CSIDL_STARTUP = &H7
    Const CSIDL_RECENT = &H8
    Const CSIDL_SENDTO = &H9
    Const CSIDL_BITBUCKET = &HA
    Const CSIDL_STARTMENU = &HB
    Const CSIDL_DESKTOPDIRECTORY = &H10
    Const CSIDL_DRIVES = &H11
    Const CSIDL_NETWORK = &H12
    Const CSIDL_NETHOOD = &H13
    Const CSIDL_FONTS = &H14
    Const CSIDL_TEMPLATES = &H15
    Const MAX_PATH = 260
    Private Type SHITEMID
    cb As Long
    abID As Byte
    End Type
    Private Type ITEMIDLIST
    mkid As SHITEMID
    End Type
    Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
    Public Function GetProgramFilesFolder() As String
    Const PROGRAM_FILES = &H26&
    Dim objShell As Object
    Dim objFolder As Object
    Dim objFolderItem As Object
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(PROGRAM_FILES)
    Set objFolderItem = objFolder.Self
    Debug.Print objFolderItem.Path
    End Function
    Private Function GetSpecialfolder(CSIDL As Long) As String
    Dim r As Long
    Dim IDL As ITEMIDLIST
    Dim sPath As String
    'Get the special folder
    r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
    If r = 0 Then
    'Create a buffer
    sPath$ = Space$(512)
    'Get the sPath from the IDList
    r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sPath$)
    'Remove the unnecessary chr$(0)'s
    GetSpecialfolder = Left$(sPath, InStr(sPath, Chr$(0)) - 1)
    Exit Function
    End If
    GetSpecialfolder = ""
    End Function
    Public Sub PrintSpecFolderPaths()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: [email protected]
    'Print the folders to the form
    Debug.Print "Start menu folder: " & GetSpecialfolder(CSIDL_STARTMENU)
    Debug.Print "Favorites folder: " & GetSpecialfolder(CSIDL_FAVORITES)
    Debug.Print "Programs folder: " & GetSpecialfolder(CSIDL_PROGRAMS)
    Debug.Print "Desktop folder: " & GetSpecialfolder(CSIDL_DESKTOP)
    Debug.Print "My Docs folder: " & GetSpecialfolder(CSIDL_PERSONAL)
    End Sub
    Bill Mosca
    www.thatlldoit.com
    http://tech.groups.yahoo.com/group/MS_Access_Professionals

  • Check if a user has a specific role

    Hello,
    Is it possible to check if a user has a specific role in MII 12.0?
    For example if the user has the role "xmii Developers" I would do something more in a transaction than if the user doesn't have this role.
    Thank you for your help.
    Regards,
    Matthias

    Hi Matthias Pröller ,
    Are u finding difficulty to trace which role user is assigned to? If so, then u can refer Abesh's Blog.
    OR
    If you are writing Transaction to get user list based on Role , then u can do following
    Create XML query.
    Configure above XML Query in Transaction, in links map (XML Query) URL like given below
    "https://Server:Port/XMII/Illuminator?service=admin&Mode=UserList&Content-Type=text/xml&group=XMII Administrators&IllumLoginName=loginId&IllumLoginPassword=pwd"
    Regards,
    Padma
    Edited by: Rao on Mar 31, 2009 11:52 AM

Maybe you are looking for

  • Availability of new updates in UK ?

    Can anyone say when the new iOS updates will be available to UK users ? I understand they have been out since yesterday, Wednesday, in the US, but as of this evening in England my three appropriate iDevices all still report the "old" OS version as be

  • Getting versioned and unversioned docs in the same search

    Hi folks, I want to do the following search: Get all unversioned documents and all versions of versioned documents that meet an specific criteria (attribute or content qualification) and that are in an specific folder (the document itself or its fami

  • Design view inop DW CS3

    Design view grayed out, inaccessable. The file has an HTML extenstion. Files I had previously been able to use Design View on, Design View no longer works. I suspect I inadvertantly turned it off, but how?

  • Long-running transactions and the performance penalty

    If I change the orch or scope Transaction Type to "Long Running" and do not create any other transaction scopes inside, I'm getting this warning: warning X4018: Performance Warning: marking service '***' as a longrunning transaction is not necessary

  • Siebel 7.8 Windows 2008 Server

    All, I am trying to install Siebel 7.8 on Windows 2008 server with SQL 2008 DB. I looked up the compatibility and it says something about Binary Compatibility Support: [http://download.oracle.com/docs/cd/E11886_01/V7/CORE/SRSP_78/SRSP78_ServerEnv3.ht