How to make a rule for BPM application

Hi Guys,
I have a BPM (Purchase Request Approval) application and runing in SAP portal. I want to make a simple rule in in Rule Composer that if the amount is > than 5000 then it should go to manager for approval other wise process goes further.
Can any one tell me how can I achieve it?? step by step ??
My Environment
SAP NW CE with EHP 1 Java stack on windows XP prof.
Regards,
Naeem

Hi Brian,
To help you in quickly creating simple rules in BRM the following links may be useful -
Rule Tutorial Center has a lot of refernce applications and videos - SAP NetWeaver Business Rules Management Resources Center [original link is broken]
The document to help in end to end creation of rules - http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/00a4a7c5-da42-2b10-939c-8ec355346f3a
Regards,
Arti

Similar Messages

  • How to make exception rules for Stylish rules which change fonts?

    How to make exception rules for Stylish rules which change fonts?
    I use [https://addons.mozilla.org/en-US/firefox/addon/stylish/ Stylish add-on] to change specific fonts to other fonts of my choice, but I have a problem. I want to change the font Arial to Tahoma in almost all pages I visit, but with the exception of websites as wikipedia.org. Because of this, I find myself having a very long list of domains to change Arial to Tahoma, only because I don't want that rule to apply to wikipedia.org and additional one or two other websites.
    The current rule I'm using is, (my actual list is a lot longer, but this is just an example):<br/>
    '''''@-moz-document domain("mozilla.org"), domain("thefreelibrary.com"), domain("sil.org"), domain("ethnologue.com") {'''''<br/>
    '''''@font-face { font-family: 'Arial'; src: local('Tahoma'); }'''''<br/>
    I can't use the following rule because I don't want it to apply to wikipedia.org:<br/>
    '''''@font-face { font-family: 'Arial'; src: local('Tahoma'); }'''''

    Try something like this:<br />
    <br />
    <pre><nowiki>@font-face { font-family: 'Arial'; src: local('Tahoma'); }
    @-moz-document domain(wikipedia.org){
    @font-face { font-family: 'Arial'; src: local('Arial'); }
    </nowiki></pre>

  • How to make a installer for iphone application

    hi, dear all, I have made a iphone application by XCode , it can running perfect on emulator . I want it can be install on real device , how to do it ? how to make a installer for my iphone application ?
    thanks to your response .

    If you go to the iPhone DEV area on Apple.com you can get a installer app once you are a developer. This installer will let you use apps for your own use. This installer app also supports up to X amount of phones you can install the application on. I thought it was set at 100 but could be now up to 500.

  • Apple Mail 8.2: How to make a rule for a domain

    I get many unwanted emails from AOL.com and cannot figure out a way to create a rule that applies to the entire domain. <*aol.com> does not work and the 'sender' name changes with each one.
    How can I create a rule for the entire aol.com domain?

    DenaliDad wrote:
    Correct. That doesn't work and neither does *@aol.com
    It worked when I tested it on my mac (using another domain). The * is useless. "contains" includes any variation on the string.
    Also, there is no need for @, either.

  • How to make connection Pool for standalone Application

    hi
    I have got an application to craete a stadalone appliaction for connection pool.But it is taking m more time to create the Connection and fetch the data.
    import java.sql.*;
    import java.util.*;
    /** A class for preallocating, recycling, and managing
    *  JDBC connections.
    *  <P>
    *  Taken from Core Servlets and JavaServer Pages
    *  from Prentice Hall and Sun Microsystems Press,
    *  http://www.coreservlets.com/.
    *  &copy; 2000 Marty Hall; may be freely used or adapted.
    public class ConnectionPool implements Runnable {
      private String driver, url, username, password;
      private int maxConnections;
      private boolean waitIfBusy;
      private Vector availableConnections, busyConnections;
      private boolean connectionPending = false;
      public ConnectionPool(String driver, String url,
                            String username, String password,
                            int initialConnections,
                            int maxConnections,
                            boolean waitIfBusy)
          throws SQLException {
        this.driver = driver;
        this.url = url;
        this.username = username;
        this.password = password;
        this.maxConnections = maxConnections;
        this.waitIfBusy = waitIfBusy;
        if (initialConnections > maxConnections) {
          initialConnections = maxConnections;
        availableConnections = new Vector(initialConnections);
        busyConnections = new Vector();
        for(int i=0; i<initialConnections; i++) {
          availableConnections.addElement(makeNewConnection());
      public synchronized Connection getConnection()
          throws SQLException {
        if (!availableConnections.isEmpty()) {
          Connection existingConnection =
            (Connection)availableConnections.lastElement();
          int lastIndex = availableConnections.size() - 1;
          availableConnections.removeElementAt(lastIndex);
          // If connection on available list is closed (e.g.,
          // it timed out), then remove it from available list
          // and repeat the process of obtaining a connection.
          // Also wake up threads that were waiting for a
          // connection because maxConnection limit was reached.
          if (existingConnection.isClosed()) {
            notifyAll(); // Freed up a spot for anybody waiting
            return(getConnection());
          } else {
            busyConnections.addElement(existingConnection);
            return(existingConnection);
        } else {
          // Three possible cases:
          // 1) You haven't reached maxConnections limit. So
          //    establish one in the background if there isn't
          //    already one pending, then wait for
          //    the next available connection (whether or not
          //    it was the newly established one).
          // 2) You reached maxConnections limit and waitIfBusy
          //    flag is false. Throw SQLException in such a case.
          // 3) You reached maxConnections limit and waitIfBusy
          //    flag is true. Then do the same thing as in second
          //    part of step 1: wait for next available connection.
          if ((totalConnections() < maxConnections) &&
              !connectionPending) {
            makeBackgroundConnection();
          } else if (!waitIfBusy) {
            throw new SQLException("Connection limit reached");
          // Wait for either a new connection to be established
          // (if you called makeBackgroundConnection) or for
          // an existing connection to be freed up.
          try {
            wait();
          } catch(InterruptedException ie) {}
          // Someone freed up a connection, so try again.
          return(getConnection());
      // You can't just make a new connection in the foreground
      // when none are available, since this can take several
      // seconds with a slow network connection. Instead,
      // start a thread that establishes a new connection,
      // then wait. You get woken up either when the new connection
      // is established or if someone finishes with an existing
      // connection.
      public void makeBackgroundConnection() {
        connectionPending = true;
        try {
          Thread connectThread = new Thread(this);
          connectThread.start();
        } catch(OutOfMemoryError oome) {
          // Give up on new connection
      public void run() {
        try {
          Connection connection = makeNewConnection();
          synchronized(this) {
            availableConnections.addElement(connection);
            connectionPending = false;
            notifyAll();
        } catch(Exception e) { // SQLException or OutOfMemory
          // Give up on new connection and wait for existing one
          // to free up.
      // This explicitly makes a new connection. Called in
      // the foreground when initializing the ConnectionPool,
      // and called in the background when running.
      public Connection makeNewConnection()
          throws SQLException {
        try {
          // Load database driver if not already loaded
          Class.forName(driver);
          // Establish network connection to database
          Connection connection =
            DriverManager.getConnection(url, username, password);
          return(connection);
        } catch(ClassNotFoundException cnfe) {
          // Simplify try/catch blocks of people using this by
          // throwing only one exception type.
          throw new SQLException("Can't find class for driver: " +driver);
      public synchronized void free(Connection connection) {
        busyConnections.removeElement(connection);
        availableConnections.addElement(connection);
        // Wake up threads that are waiting for a connection
        notifyAll();
      public synchronized int totalConnections() {
        return(availableConnections.size() +
               busyConnections.size());
      /** Close all the connections. Use with caution:
       *  be sure no connections are in use before
       *  calling. Note that you are not <I>required</I> to
       *  call this when done with a ConnectionPool, since
       *  connections are guaranteed to be closed when
       *  garbage collected. But this method gives more control
       *  regarding when the connections are closed.
      public synchronized void closeAllConnections() {
        closeConnections(availableConnections);
        availableConnections = new Vector();
        closeConnections(busyConnections);
        busyConnections = new Vector();
      public void closeConnections(Vector connections) {
        try {
          for(int i=0; i<connections.size(); i++) {
            Connection connection =
              (Connection)connections.elementAt(i);
            if (!connection.isClosed()) {
              connection.close();
        } catch(SQLException sqle) {
          // Ignore errors; garbage collect anyhow
      public synchronized String toString() {
        String info =
          "ConnectionPool(" + url + "," + username + ")" +
          ", available=" + availableConnections.size() +
          ", busy=" + busyConnections.size() +
          ", max=" + maxConnections;
        return(info);
    }///// The Calling Class is below---------/////////////////
    import java.util.*;
    import java.sql.*;
    public class dbConnection
         public static void main(String[] args)
              String driver="oracle.jdbc.driver.OracleDriver";
              String username="ETS";
              String password="ETS";
              String url="jdbc:oracle:thin:@192.168.47.10:1521:ETS";
              int initialConnections=10;
            int maxConnections=50;
              boolean waitIfBusy=false;
              Connection con=null;
              Statement stmt = null;
              ResultSet rs = null;
              try
              System.out.println("Before constructory "+new java.util.Date());
              ConnectionPool pool=new ConnectionPool(driver,url,username,password,initialConnections,maxConnections,waitIfBusy);
              System.out.println("After constructory "+new java.util.Date());
                        con=pool.makeNewConnection();
         System.out.println("After Connection pool "+new java.util.Date());
                        String sql="select * from emp_master";
                        stmt = con.createStatement();
                        rs = stmt.executeQuery(sql);
                        while(rs.next()) {
                   int login1=rs.getInt("emp_code");     
                        System.out.println("Employee Code is  "+login1);
                        System.out.println("check 2");
                   String pass=rs.getString("PASSWORD");
                        System.out.println("Pass Word is "+pass);
              }catch(Exception e)
                   System.out.println("Exception is "+e);
              finally {
    }

    I once created a connection pool programatically with Apache DBCP API. It didnt took more than 10 lines. Unforchunetly I dont have to code with me now.
    But If I remember right there is a sample code for that in the Apache Commans DBCP documentation.

  • How to make data flow from one application to other in BPEL.

    Hi All,
    I am designing work-flow of my application through BPEL(JDeveloper), I am making different BPEL projects for different functions, like sales manager got the order from sales person and sales manager either approve it or reject it, if he approve it it goes to Production manager and he ships the goods, now I want to keep sales person, sales manger,production manager in seperate BPEL files and want to get the output of sales person to sales manager and sales manager to production manager please help me in dong this.
    I was trying to make partner link in Sales manager of sales person and getting the input from there. I dont know this is right even or not, if it is right I dont know how to make data flow from one application to other.
    Experience people please guide.
    Sales Person -----> Sales Manager ----> Production Manager
    Thanks
    Yatan

    Yes you can do this.
    If you each integration point to be in different process, you have to create three BPEL process.
    1. Create a Async BPEL process 'A' which will be initiated when sales person creates the order.
    2. From BPEL process 'A' call a ASync BPEL process 'B' which has the approval flow. Depending on the input from process 'A' the sales manager will review the order in workflow and approve or reject and send the result back to process 'A'.
    3. Based on the result from workflow, invoke the Sync BPEL process 'C', where you can implement the shipping logic.
    -Ramana.

  • How to make font larger for turbo tax

    how to make font larger for turbotax

    There doesn't appear to be a setting in TurboTax to make the font bigger.
    But you can go to Applications/System Preferences/Displays/Display and pick Resolution:Scaled and experiment with different resolutions, which will make the fonts look bigger.
    There are also zoom settings in System Preferences/Accessibility/Zoom.

  • How to change Apple ID for all applications in iPad2?

    I have changed Apple ID via Settings > Store > Apple ID > Sign out my old Apple ID > Sign in with my new Apple ID.... But, by this method, Apple ID in  iCloud, Facetime, and iMessage isn't changed follow to my new one! Do I misunderstand about changing ID? and How to change Apple ID for these applications?
    PS. I do not want to do hard reset my iPad2
    Thank you all for your kindly help ^^

    Go into Settings > iCloud > Account > Change to your new Apple ID
    Settings > Messages >  Recieve At > New Apple ID
    Settings > Facetime > Change to new Apple ID

  • How to make a form for input in web interface builder

    Hi expert:
        How to make a form for input in web interface builder?I have already used it to do PS planning, but I don't know how to  draw lines and checkboxes . Thanks in advance.
    Allen

    WAD:
    Open the WAD and create a new template. On the left hand navigation you will have several Web Items available. Under 'Standard' you have 'Analysis' item. Pull that into your template to the right. Under the Properties tab you need to pick the query [form/layout] that you have built in Query Designer.
    You will also find other items such as Button group, Checkbox, drop down, list box etc available. Pick and drag into the template whatever it is you require. Lets say you want a button. Under the Properties tab select the 'Command' that you require. You could use standard commands that are available there. You could also define functions and commands that you require.
    Query Designer:
    Open the QD and drag the characteristics and key figures that you require into the rows and columns of the QD. You would need to specify restrictions under the Filter tab of the QD based on the granularity of data that you require. You would need to remember that the key figures need to be made Input Ready [do this by clicking on KF and on the planning tab select "change by user and planning functions"].
    This shouldgive you a start. After you've explored it yourself a bit we can discuss further and I can certainly provide you additional details/material on these areas.
    Srikant

  • How to make a group for selectd Object javascript

    How to make a group for selectd Object javascript

    There is currently no native way to email groups from iPad.
    The only way to do this is if your recipients are already members a a distribution group controlled elsewhere such as a Google Group or an  Exchange Organisation, then you can email the distribution group address which will then in turn forward to the individual email address of the members.
    Does it have to be email as currently you would have to add each recipient to the email manually.
    iOS to my knowledge doesn't support contact groups in context other than organisation.

  • How to define Substitution rule for Businee area

    Hi experts,
    Could you please guide me to define substitution rule for Business are.
    Below is the requiremnt :
    I want to assign different business area for this cost centre.
    While posting document in FB01, we are entering cost centre in line itme. Businee area is picking from cost centre master.
    Example : Cost centre 11310 and businee area Y020.
    Businee area Y020 is picking from cost centre 11310 while posting document.
    I want to assign different business area for this cost centre.
    For that I want to define substitution rule.
    I have defined substitution rule and activated in comapany code but it is not working. Please guide me how to define Substitution rule for the same.
    I have defined prerequisit as Comapny code = 2053 and Cost centre =11310 and transaction code = FB01 then
    Substitute business area with Y045.
    It is not working .
    Please guide me where I did mistake and how to rectify the same.
    Thanks in advance for your quick response and points will also assign for helpfull answer.
    Regards,
    Amar

    Hi Paul,
    Thaks for your reply.
    Yes, you are correct. SAP is changing this back to BA from Cost centre.
    Why can't we use Substitition for the above issue.
    Then what is solution for my issue.Please suggest any alternative solution.
    Thanks in advance for your help.
    Regards,
    Amar.

  • How to set Legislation rule for Enhanced Retro

    how to set Legislation rule for Enhanced Retro
    How can i setup Enhanced Retro for Global HR International.
    Iam implementing HR/Payroll on latest 12i. I am using HR International.
    when i execute the following query , there is no records
    select * from pay_legislation_rules
    where rule_type like '%ADVANCED%RETRO%'
    and legislation_code = 'IQ'
    I have created events, event groups, enable dynamic triggers for my business group and legislation(IQ) and enter the corresponding event group and retro element in the Element screen(retro component).
    And i update one allowance in the back period , and I found one row has been inserted in pay_process_events table. But i am not able to run enhanced Retro Notification report and not able to find any Enhanced Retro concurrent request.
    Any one have any idea?
    thanks,

    There are no specific concurrent programs for Enhanced/Advanced retropay. The old ones still do, and derive under the hood the method of retropay.
    I do not recall by hard the setting to activate enhanced retro (but it is a legislation rule), but it should show already in the element type screen. If you have the retro tab in the screen, and first you have to specify the method (Adjustment, ...) before specifying the retro element type (and time span), then you know that enhanced retro is configured correctly.

  • How To run Currency translation for Consolidation Application in BPC NW

    In "How To do Currency Translation for Financial Application in BPC 7 NW", the author mention that there is another "How To run Currency translation for Consolidation Application in BPC NW", anybody know where to get it?

    Hi...
    Check if the below links are useful to you.....
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/6052a57b-8c64-2c10-b3a5-b0378ff21243&overridelayout=true
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0ea1fd8-d6d3-2a10-c1ab-e8164dd98316
    You can find all How-to docs in the below link
    http://wiki.sdn.sap.com/wiki/display/BPX/EnterprisePerformanceManagement%28EPM%29How-to+Guides

  • How to capture memory usage for web application

    In OATS openscripts, how to capture memory usage for web application? Does it have the exisitng java method that we can call to get the memory data (e.g. peak bytes, private bytes) consumed by web application?

    JProbe

  • TS1702 HOW TO CANCEL AN SUBSCRITION  FOR AN APPLICATION THAT DOES NOT WORK

    HOW TO CANCEL AN SUBSCRITION  FOR AN APPLICATION THAT DOES NOT WORK

    Please stop SHOUTING at us.
    http://support.apple.com/kb/ht4098

Maybe you are looking for

  • Macbook Air Poor Battery Life

    I have a mid-2012 Macbook air and I've noticed recently my battery life is horrible. I've read every single other thread about this issue but nothing really helped and even the most recent is from a couple of years ago. Obviously now it's 2015 and my

  • "Migrating" iPhone & iTunes to a new Mac computer, how to do it?

    I sync my wife's iPhone and mine via iTunes on my MacBookPro. I now bought an iMac and would prefer to do the syncing from the iMac. How do I correctly 'migrate' the iTunes to the iMac? Just copy iTunes to the iMac? Or are there some "authorization"

  • Record Audio keyframes in FCPX

    One usefull tool in Final Cut Pro verisons before FCPX is the possibility to record audio keyframes (on the fly) when audio mixing. I am learning FCPX and I didn't figured out how to do this in FCPX. any idea? thx

  • SXPG_CALL_SYSTEM- Damage at OS Level any other alternate

    Hi Team, I have requirement to archive files to encrypt the file I am using FM-SXPG_CALL_SYSTEM but I came to know that if we use it there will be a lot of damage at OS Level.Is there any other cleaner way to do the same. Please help me. Thanks and R

  • Simply stunning! (LR4 rendering engine)

    At first I hesitated to upgrade, because the LR extension seemed not relevant to my personal preferences. In case of LR2 -> LR3 transition the decision was obvious. But as soon I begun to experiment with the new Developer Module, I understood how sig