Replacing BPM

Hi Everyone,
  Is there a way to Replace the BPM in the Middle with another one, to Call a BPM DYNAMICALLY.
Regards,
Varun

Hi
Calling a BPM from another BPM  is possible as BPM is a business service.
you need to have a Sync send step and configure the receiver and interface determination for this call.
you had to use  S/A Bridge, and return the response to the  BPM which was called .
for this you can refer to the below mentioned blog :
Demonstrating Use of Synchronous-Asynchronous Bridge to Integrate Synchronous and Asynchronous systems using ccBPM in SAP Xi
Bridging the Sync-Async bridge with Fork (XI)
Regard's
Chetan Ahuja

Similar Messages

  • BPM - replacing Boundary Event

    Hi there,
    I have a business process flow with human tasks, and one of these tasks has a boundary event with old name "Cancel". Because of changing the event trigger name (on side of Web Dynpro component controller), I have replaced the old name through "CancelDraft" - I have changed to the accordant task, then choosed the component controller etc... -.
    When I try to build my process DC, I got the following error message:
      [BpemTask] PF.DefaultDataArea:DCs/bayer.com/bcs/grip/prc/proposal/_comp/src/tasks/enhance champ proposal.task#E091AD019572D002C9C911E0CEB55480872F631E (MRI), CompilerType: EXCEPTIONCOMPILER
      [BpemTask]  "BPM.bp.000021" BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask execute() -  Exception during event definition compilation, compilerType: EXCEPTIONCOMPILERcaused by com.sap.glx.paradigmInterface.buildapi.BpemBuildException: [BPM.rt_c_exc.000001] Cannot compile exception 'Cancel' without root type
      [BpemTask]      at com.sap.glx.paradigmInterface.bpmn.compiler.exception.ExceptionCompiler.compileException(ExceptionCompiler.java:101)
      [BpemTask]      at com.sap.glx.paradigmInterface.bpmn.compiler.exception.ExceptionCompiler.compile(ExceptionCompiler.java:52)
      [BpemTask]      at com.sap.tc.glx.BpemTask.processCompiler(BpemTask.java:372)
      [BpemTask]      at com.sap.tc.glx.BpemTask.callCompilers(BpemTask.java:327)
      [BpemTask]      at com.sap.tc.glx.BpemTask.execute(BpemTask.java:188)
      [BpemTask]      at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
      [BpemTask]      at sun.reflect.GeneratedMethodAccessor172.invoke(Unknown Source)
      [BpemTask]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [BpemTask]      at java.lang.reflect.Method.invoke(Method.java:597)
      [BpemTask]      at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
      [BpemTask]      at org.apache.tools.ant.Task.perform(Task.java:348)
      [BpemTask]      at org.apache.tools.ant.Target.execute(Target.java:357)
      [BpemTask]      at org.apache.tools.ant.Target.performTasks(Target.java:385)
      [BpemTask]      at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
      [BpemTask]      at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
      [BpemTask]      at com.sap.tc.buildplugin.ant.util.AntRunner.run(AntRunner.java:115)
      [BpemTask]      at com.sap.tc.buildplugin.DefaultAntBuildAction.execute(DefaultAntBuildAction.java:53)
      [BpemTask]      at com.sap.tc.buildplugin.DefaultPlugin.processSequence(DefaultPlugin.java:235)
      [BpemTask]      at com.sap.tc.buildplugin.DefaultPlugin.handleBuildStepSequence(DefaultPlugin.java:174)
      [BpemTask]      at com.sap.tc.buildplugin.DefaultPlugin.performBuild(DefaultPlugin.java:165)
      [BpemTask]      at com.sap.tc.buildplugin.DefaultPluginV3Delegate$BuildRequestHandler.handle(DefaultPluginV3Delegate.java:66)
      [BpemTask]      at com.sap.tc.buildplugin.DefaultPluginV3Delegate.requestV3(DefaultPluginV3Delegate.java:48)
      [BpemTask]      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      [BpemTask]      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      [BpemTask]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [BpemTask]      at java.lang.reflect.Method.invoke(Method.java:597)
      [BpemTask]      at com.sap.tc.buildtool.v2.impl.PluginHandler2.maybeInvoke(PluginHandler2.java:403)
      [BpemTask]      at com.sap.tc.buildtool.v2.impl.PluginHandler2.request(PluginHandler2.java:149)
      [BpemTask]      at com.sap.tc.buildtool.v2.impl.PluginHandler2.build(PluginHandler2.java:87)
      [BpemTask]      at com.sap.tc.buildtool.PluginHandler2Wrapper.execute(PluginHandler2Wrapper.java:59)
      [BpemTask]      at com.sap.tc.devconf.internal.DCProxyMake.make(DCProxyMake.java:276)
      [BpemTask]      at com.sap.tc.devconf.internal.DCProxy.make(DCProxy.java:1459)
      [BpemTask]      at com.sap.tc.devconf.internal.DCProxy.make(DCProxy.java:1441)
      [BpemTask]      at com.sap.tc.devconf.internal.DCProxy.make(DCProxy.java:3927)
      [BpemTask]      at com.sap.ide.dii08.internal.commandz.BuildDcsCommand.build(BuildDcsCommand.java:333)
      [BpemTask]      at com.sap.ide.dii08.internal.commandz.BuildDcsCommand.execute(BuildDcsCommand.java:176)
      [BpemTask]      at com.sap.ide.dii08.internal.service.CommandExecutor$2.run(CommandExecutor.java:77)
      [BpemTask]      at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
      [BpemTask]      at com.sap.ide.dii05.util.internal.lock.DiiConsistencyServiceImpl.executeConsistentWorkspaceRunnable(DiiConsistencyServiceImpl.java:90)
      [BpemTask]      at com.sap.ide.dii05.util.internal.lock.DiiConsistencyServiceImpl.executeConsistentWorkspaceRunnable(DiiConsistencyServiceImpl.java:52)
      [BpemTask]      at com.sap.ide.dii08.internal.service.CommandExecutor.executeInWorkspaceAndDevConfLocks(CommandExecutor.java:90)
      [BpemTask]      at com.sap.ide.dii08.internal.service.InternalDiiCommandService.buildDcs(InternalDiiCommandService.java:179)
      [BpemTask]      at com.sap.ide.dii08.internal.service.InternalDiiCommandService.buildDcs(InternalDiiCommandService.java:986)
      [BpemTask]      at com.sap.ide.dii05.ui.internal.actions.dc.BuildAction$2.run(BuildAction.java:193)
      [BpemTask]      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
    Ant build finished with ERRORS
    com.sap.glx.paradigmInterface.buildapi.BpemBuildException: [BPM.rt_c_exc.000001] Cannot compile exception 'Cancel' without root type
    Build stopped due to an error: com.sap.glx.paradigmInterface.buildapi.BpemBuildException: [BPM.rt_c_exc.000001] Cannot compile exception 'Cancel' without root type
    MOIN forced shutdown initiated.
    Any help will be helpfull.
    Many thanks for assistance, regards,
    Cengiz

    Hello Cengiz,
    Thanks a lot for your quick answer. I did what you suggested without success. The error i get is a also a little bit different than yours (see below). Fact is: i can build in NWDS without any problem. Only when i try to active my source (NWDI) i get the error.
    Do you have any idée?
    Thank you!
    Rabia
    >>>>>>>>>>>>>>>>>>>>>
    PF.DefaultDataArea:DCs/esprit.com/locations/pc_close/_comp/src/triggers/et_startprocessclose.eventdef#E0140AEE25B2A2A02CA811E1B9B18CA982C3473F (MRI)
    BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask processCompilerObj(obj , compDir) - Compiling [com.sap.tc.esmp.mm.xsd1.XsdElementDeclaration (Java Type)
    XSD1.XsdElementDeclaration (MOF Type)
    PF.DefaultDataArea:DCs/esprit.com/locations/pc_close/_comp/src/tasks/ta_close.task#E0019B62669EC564467211E1C4468CA982C3473F (MRI)], CompilerType: TYPECOMPILER
    Error:  "BPM.bp.000021" BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask execute() -  Exception during event definition compilation, compilerType: TYPECOMPILERcaused by com.sap.glx.paradigmInterface.buildapi.BpemBuildException: The XSD schemas of the transitive hull of element '{esprit.com/locations/pc_close/StandaloneTask/TA_close}TA_closeErrorEvent' could not be rendered from the meta model.
         at com.sap.glx.paradigmInterface.bpmn.compiler.type.TypeCompiler.compile(TypeCompiler.java:157)
         at com.sap.tc.glx.BpemTask.processCompiler(BpemTask.java:363)
         at com.sap.tc.glx.BpemTask.processCompiler(BpemTask.java:353)
         at com.sap.tc.glx.BpemTask.callCompilers(BpemTask.java:318)
         at com.sap.tc.glx.BpemTask.execute(BpemTask.java:179)
         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
         at org.apache.tools.ant.Task.perform(Task.java:364)
         at org.apache.tools.ant.Target.execute(Target.java:341)
         at org.apache.tools.ant.Target.performTasks(Target.java:369)
         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
         at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
         at com.sap.tc.buildplugin.techdev.ant.util.AntRunner.run(AntRunner.java:114)
         at com.sap.tc.buildplugin.DefaultAntBuildAction.execute(DefaultAntBuildAction.java:57)
         at com.sap.tc.buildplugin.DefaultPlugin.handleBuildStepSequence(DefaultPlugin.java:195)
         at com.sap.tc.buildplugin.DefaultPlugin.performBuild(DefaultPlugin.java:167)
         at com.sap.tc.buildplugin.DefaultPluginV3Delegate$BuildRequestHandler.handle(DefaultPluginV3Delegate.java:66)
         at com.sap.tc.buildplugin.DefaultPluginV3Delegate.requestV3(DefaultPluginV3Delegate.java:48)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
         at java.lang.reflect.Method.invoke(Method.java:611)
         at com.sap.tc.buildtool.v2.impl.PluginHandler2.maybeInvoke(PluginHandler2.java:403)
         at com.sap.tc.buildtool.v2.impl.PluginHandler2.request(PluginHandler2.java:149)
         at com.sap.tc.buildtool.v2.impl.PluginHandler2.build(PluginHandler2.java:87)
         at com.sap.tc.buildtool.PluginHandler2Wrapper.execute(PluginHandler2Wrapper.java:59)
         at com.sap.tc.devconf.internal.DCProxyMake.make(DCProxyMake.java:318)
         at com.sap.tc.devconf.internal.DCProxy.make(DCProxy.java:1432)
         at com.sap.tc.devconf.internal.DCProxy.make(DCProxy.java:1414)
         at com.sap.tc.buildcontroller.CBSBuildController.build(CBSBuildController.java:713)
         at com.sap.tc.buildcontroller.CBSBuildController.execCommand(CBSBuildController.java:478)
         at com.sap.tc.buildcontroller.CBSBuildController.evalCmdLine(CBSBuildController.java:401)
         at com.sap.tc.buildcontroller.CBSBuildController.run(CBSBuildController.java:278)
         at com.sap.tc.buildcontroller.CBSBuildController.mainLoop(CBSBuildController.java:187)
         at com.sap.tc.buildcontroller.CBSBuildController.main(CBSBuildController.java:143)
    Caused by: java.lang.IllegalStateException: The current state is not START_DOCUMENT.

  • BPM 11g Worklist Replace User Selector

    Does anyone know of a way to use the BPM 11g Worklist Application but replace the User/Group selector for the assignment actions? We are looking for more of a tree type selector based on Organizations/Roles rather than a flat search.
    Thoughts?

    Hi,
    You add a subprocess. In the subprocess you could loop (like while in BPEL) , according to the loop condition, if the count is 2 or smt. else, you could send the task to other people. You can use a skip rule if the count is 2, skip this human, go to the other one. Whatever you want exactly.
    Don't forget to add a deadline to the Human Task. When the task expires, the process will move on to other task in the process.
    Edit: Forget expire, expiring the task won't work. I am looking for a better solution now.
    Edit2: This shall work. Again use a subprocess. Use a loop condition. Set condition like userActed = 1. First use a script, do something like loopNumber++ . And use a Timer this time, which will start the user task in 1 hour + 1 min. And expire the user task in 1 hour. If the user acts in 1 hour, set userActed = 1, so the subprocess won't loop again. But when it does, you can set your human tasks to act like how you want them to. In the first run, user1 should get the job. In the second run, skip the first and user2 should get the job.
    HTH.
    Edited by: cenkozan on Jun 7, 2011 7:51 AM
    Edited by: cenkozan on Jun 7, 2011 8:20 AM

  • Replacing UDf with BPM functionality

    Does anybody know if I can replace the following UDF by making a BPM that does the same thing?
    public void SearchForString(String[] a,String[] b,String[] c,ResultList result,Container container){
    int      start_ind          = 0,     //Variable used to store startindex for the substring
         end_ind          = 0,     //Variable used to store endindex for the substring
         string_length      = 0;     //Variable used to store length of attributestring
    String      result_string      = "";     //Variable used to store result in
    try {
         start_ind     = a[0].indexOf(b[0]);          //Getting the index of the attributestring
    if (start_ind<0) {               //Checking if the attribute could be found in the string, if not returning a default value and leaving the function
         result_string           = "No Value Present";
         result.addValue(result_string);
         return;
         string_length      = b[0].length();               //Setting all the indexed needed and collecting the substring we are looking for.
         start_ind          = start_ind + string_length;          //
         end_ind                  = a[0].indexOf(c[0],start_ind);          //
         result_string      = a[0].substring((start_ind), (end_ind));          //
    catch (StringIndexOutOfBoundsException ex){
    result.addValue(result_string);          //Returning the substring we looked for.
    The function takes a string as input a, an other string to start to search for as input b and the end string to search for as input c. The context between the string b and c will be returned as the value we was looking for.
    I want to build the same functionality in BPM and dont use this function in my mapping. Is this possible and if it is how do I do it?

    Kalle:
    UDF is for node level tranformation and BPM is on message level munipulation.
    If you really want BPM to implement same functionality, the transformation step is used for Message transformation (Message Mapping), it is possible for Message Mapping include one of node mapping which used your UDF code, in this case what is the point to use BPM ?
    Hope this clarify your doubt.
    Liang
    Edited by: Liang Ji on Feb 27, 2008 8:42 PM

  • Oracle BPM to Replace a System

    Greetings,
    I am considering replacing an existing mission critical back office system with Oracle BPM. I've talked with references provided by Oracle, and in all cases these co's used BPM to improve processes and orchestrate workflow across systems, NOT replace a system.
    Where would our business logic reside??? Would the system be a collection of components running inside BPM?
    Although this could be done, to me, this doesn't seem like the intended purpose of a BPM tool. It just doesn't sit well with me that we'd use a business modeling and process tool to replace a mission critical solution.
    Thanks

    Regarding your question about where the logic in a BPM process would reside, rather than rip and replace, you might want to first consider reusing assets from your existing applications inside an Oracle BPM process.
    If you have a service bus, the components would be exposed to and invoked by Oracle BPM via as a web service. If you don't have a service bus, you could expose components directly inside of Oracle BPM if they are Java POJOs, web services, .NET assemblies, or databases. If you go this path, you'll lose the loose coupling SOA provides but you'll get your project going.
    If you don't have component assets available for reuse, you can build logic inside automatic activities in a process. Again, if your developers would prefer to develop the components in Java or .NET, these could be exposed to the process and invoked when needed from inside the process.
    Consider also exposing business rules in a rules engine if you have one. You can invoke these rules from inside a process. If you don't already have a rules engine, Oracle BPM has a simple business rules editor and rules engine that comes with it now. The benefit of this is that you are not hard coding rules inside a process. Instead you expose the business rules to the business people. This makes your processes more agile and easier to change. You won't have to wait for IT to change the process and redeploy the process into production. Business rules take effect immediately after the business person changes the rule.
    hth,
    Dan

  • Is Aqualogic BPM a replacement for WLI ?

    Hi all,
    Until now I have worked with Workshop 8.x to build my processes.
    Now I have downloaded Workshop 9.x and I cannot see anymore JPD in it. I wonder if Bea is dropping WLI for Aq BPM......
    As in the subject: is Aq BPM a replacement for WLI ?
    Thanks
    Francesco

    Hi Leonardo,
    Let me re-iterate the basic rule of programming: "We never program for exceptions". The scenario that you are describing is very much valid and applied/followed in any orchestration process i.e. in no way the orchestration layer (BPM/ WLI/ BPEL etc.) access the data directly, but it is done through a Data layer or data services; however, one must take a business process in totality and not confuse it with a specfic use case.
    Let me explain, there is a fundamental difference betwwen the process view as described for a traditional RUP or UML model (which has its origins in Object Oriented Analysis and Design- OOAD) and the BPM model. The UML model characterizes scenarios or use cases by primary actor(s) and all other systems are secondary. thus a flow in UML is the perspective of a single actor. In contrast, if one looks at a business process in totality, it might have diffenert actors altogether, and all might be primary. For example, consider a simplest business process for order processing in retail domain. Though the process is initiated by the Customer, the entire activity of order processing (taking order, checking inventory, shipping, collaborationg etc) might have the intervention of several actors (Say sales dept, sales manager, delivery manager, sales rep etc). To represent such a scenario in WLI, one may have to develop several JPD's or work-flows, each workflow concentrating on the part of a specific actor. The coupling or ordering between these workflows might or might not be apparant to the business user on a top level. As compared to this, the entire scenario can be represented in one single model of BPM. The individual activities/ responsibilities of each actor can be detailed out in subsequent sections.
    Coming to you specific question, for that particular scenario, one might not want to go for BPM. Having said that, I will also specify that when looking at the entire business flow/ process, such processes are concidered as exceptions. The primary focus of any BPM solution is to automate the unavoidable human interventions that occur in any business process, and not plain orchestartion. Also, the worklist solution might help in a very limited user base, but is not able to handle the complex scenarios of user groups, multiple assignments, multiple roles for a user, which can easily be implemented in BPM (ALBPM organization chart)
    Your point about BAM in WLI is also valid, but tell me , as a programmer, or an architect, would you like to re-invennt the wheel for doing something for which BPM is providing an out-of-the-box solution,or would you life to invest your effort in doing something else like process enhancement and modification. The point being, one can also write POJOs for maintaining BAM databases and generate reports, but as a developer commisioned to architect/ build a business process, why would one invest his/her energies in developing BAM like features?
    Thanks and Regards
    Vivek Nandey
    BEA Certified Developer for Integration Solutions

  • Synchronous RFC Receiver inside of a Loop in BPM

    Hi there,
    we have a RFC -> XI scenario where a BPM needs to receive messages from a RFC inside of a loop, to bundle these messages, just like the first example here: <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm</a>.
    But the problem is that the RFC is set as synchronous (best effort), thus we need to use a receiver in "Open S/A Bridge" mode, but this mode is not available for receivers inside a loop.
    Actually, we have managed to get the scenario working by creating another BPM which just receives the RFC messages in a S/A Bridge, sends the asynchronous message to the main BPM and sends a response back to RFC, closing the S/A bridge. But I think this solution is kind of "messy".
    Is there any other cleaner way of doing it?
    Thanks in advance,
    Henrique.

    Hi Henrique,
    Read this page carefully:
    http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/frameset.htm
    "Do Not Transfer Application Logic
    Do not use integration processes to transfer application logic from the application systems to the Integration Server.
    No Replacement for Mass Interfaces
    Check whether it would not be better to execute particular processing steps, for example, collecting messages, on the sender or receiver system."
    I so recommend to rewrite the sending interface to collect the messages before sending.
    Andother idea is sending the messages with an asynchronous call.
    Regards
    Stefan

  • Unable assign a BPM Object field value to a JSP Variable using "invoke"

    Hi,
    I'm unable to retrieve a value returned by a BPM Object Method and use it in JSP. Here is what I'm trying to achieve:
    BPM object named : "myObject" has a method "getRequiredValue" which returns a "String". I want to assign the value returned by "getRequiredValue" to a JSP Variable "myVariable" using invoke method as below:
    <% String myVariable = ""; %>
    <f:invoke var="${myObject}" methodName="getRequiredValue" retAttName="myVariable"/>
    <% out.println ("myVariable: " + myVariable); %>
    When I execute the above code I don't get the value being returned by "getRequiredValue" into "myVariable".
    Any help would be highly appreciated!
    regards,
    MK

    1. Make sure you mark the "Server Side Method" property of the getRequiredValue method to "Yes".
    2. I guess you dont need to specify "<% String myVariable = ""; %>". Try removing it.
    3. Replace "<% out.println ("myVariable: " + myVariable); %>" by <c:out value="${myVariable}"/> just in case!
    4. Lastly, I hope "myObject" is the name of the instance variable in your screenflow, and not the BPM object name.
    Hope this helps
    -Hemant

  • Processing large volume of idocs using BPM Processing

    Hi,
    I have a scenario in which SAP R/3 sends large volume say 30,000 DEBMAS Idocs to XI. XI then sends data to 3 legacy systems using jdbc adapter.
    I created a BPM Process which waits for 4 hrs to collect all the idocs. This is what my BPM does:
    1. Wait for 4 hrs Collect the idocs
    2. For every idoc do a IDOC->JDBC Message transformation.
    3. Append to a Big List
    4. Loop at the Big list from step 4 and in the loop for
    5. Start counter from 0 and increment. Append to a Small List.
    6. if counter reaches 100 then send a Batch JDBC Message in send step.
    7. Reset counter after every send.
    8. Process remaining list i.e if there was an odd count of say 5300 idoc then the remaining 53 idocs will be sent in anther block.
    After sending 5000 idocs to above BPM following problems are there:
    1. I cannot read the workflow log as system does not respond.
    2. In the For Each loop which loops through the big list of say 5000 idocs only first pass of 100 was processed after that the workflow item is not moving ahead. It remains in the status as "STARTED" but I do not see further processing.
    Please tell me why certain Work Items are stuck is it becuase I have reached upper limit and is this the right approach? The Main BPM Process is also hanging from last 2 days.
    I have concerns about using BPM for processing such high volume of idocs in production. Please advice and thanks in advance.
    Regards
    Ashish

    Hi Ashish,
    Please read SAPs Checklist for proper usage of BPMs: http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
    One point i'm wondering about is why do you send the IDocs out of R/3 one by one and don't use packaging there? From a performance stand point this is much better than a bpm.
    The SAP Checklist states the following:
    <i>"No Replacement for Mass Interfaces
    Check whether it would not be better to execute particular processing steps, for example, collecting messages, on the sender or receiver system.
    If you only want to collect the messages from one business system to forward them together to a second business system, you should do so by using a mass interface and not an integration process.
    If you want to split a message up into lots of individual messages, also use a mass interface instead of an integration process. A mass interface requires only a fraction of the back-end system and Integration-Server resources that an integration process would require to carry out the same task. "</i>
    Also you might want to have a look at the IDoc packaging capabilities within XI (available since SP14 i believe): http://help.sap.com/saphelp_nw04/helpdata/en/7a/00143f011f4b2ee10000000a114084/content.htm
    And here is Sravyas good blog about this topic: /people/sravya.talanki2/blog/2005/12/09/xiidoc-message-packages
    If for whatever reason you can't or don't want to use the IDoc packets from R/3 or XI there are other points on which you can focus for optimizing your process:
    In the section "Using the Integration Server Efficiently" there is an overview on which steps are costly and which steps are not so costly in their resource consumption. Mappings are one of the steps that tend to consume a lot of resources and unless it is a multi mapping that can not be executed outside a BPM there is always the option to do the mapping in the interface determination either before or after the BPM. So i would sugges if your step 2 is not a multi mapping you should try to execute it before entering the BPM and just handle the JDBC Messages in the BPM.
    Wait steps are also costly steps, so reducing the time in your wait step could potentially lead to better performance. Or if possible you could omitt the wait step and just create a process that waits for 100 messages and then processes them.
    Regards
    Christine

  • Issue in Customizing the Logon Page and Replacing the Logon Panel Image

    I have facing problem in Customizing the Logon Page and Replacing the Logon Panel Image in Hyperion Workspace 11.1.2.1. I have tried multiple time.
    First Replacing the Logon Panel Image. I have following the steps given in admin guide of EPM workspace on page 25 and they are as follow
    To replace the image that is displayed on the logon panel:
    1 Create an image file named logon_panel.gif with dimensions that match previous image.
    2 Rename the installed version of logon_panel.gif to logon_panel.gif.original in
    %EPM_ORACLE_HOME% /common/epmstatic/bpmui/themes/<do for each
    theme>/images_global. Move the logon_panel.gif file that you created in step 1 to this
    directory.
    3 Clear your browser cache.
    Note: You do not need to restart the Hyperion Foundation Services - Manager Server.
    But still I am getting the same default image on log in page.
    The other problem I am facing is Customizing the Logon Page.
    I am following the steps given in admin guide of EPM workspace on page 17 and they are as follow:
    To customize the logon page:
    1 Follow instructions in the topic Extract a file in the Workspace Web Application.
    2 Backup file <temp directory>/war/WEB-INF/lib/bpmui.jar.
    3 Extract the contents of <temp directory>/war/WEB-INF/lib/bpmui.jar to <temp
    directory>/bpmui_jar/.. (*)
    4 Backup file <temp directory>/bpmui_jar/WEB-INF/classes/com/hyperion/bpm/
    Resources_en.properties.
    5 Edit file <temp directory>/bpmui_jar/WEB-INF/classes/com/hyperion/bpm/
    Resources_en.properties.
    6 Search for the property bpm.logonCopyright.
    Customizing the Logon Page 17
    7 Modify the text to the right of the equal sign. Use \n to get a new line.
    8 Save your changes.
    9 Repeat step step 1 through step step 8 for all the other Resources_xx.properties files for other
    locales.
    10 Jar the contents of <temp directory>/bpmui_jar/ to <temp directory>/war/WEBINF/
    lib/bpmui.jar.
    11 Continue with the topic, Re-package a file inside the Workspace Web Application.
    For the first part I am following
    Extract a file in the Workspace Web Application
    ä To extract files in Workspace Web Application:
    1 Stop the service for Hyperion Foundation Services - Managed Server.
    2 Backup file <EPM_ORACLE_HOME>/products/Foundation/workspace/
    InstallableApps/workspace.ear.
    16 Administration Tools and Tasks
    3 Using an unarchiving utility, extract the contents of <EPM_ORACLE_HOME>/products/
    Foundation/workspace/InstallableApps/workspace.ear into a <temp
    directory>.
    4 Create <temp directory>/war.
    5 Extract the contents of <temp directory>/workspace.war into <temp directory>/
    war.
    6 Update the file you are patching under <temp directory>/war. as direct in it.
    But I am not able to find file bpmui.jar in step 3 of above one (*). I have marked for your connivance.
    I am able to see these file in that directory
    dynamichelp.jar
    workspace.jar.
    Can anyone provide help on this. Platform I am using is LINUX

    You seem to have posted this in the wrong forum. This forum is for Oracle Enterprise Manager - not Hyperion.

  • BPM in NW CE compared with PI ccBPM

    I am trying to understand the relative positioning of the new BPM tool in NetWeaver 7.1 CE with the existing ccBPM tool in PI.
    If one uses the new BPM tool 'Process Composer' to model business processes (and assign relevant Enterprise Services etc), does this effectively replace the need for any modelling in ccBPM? Or will ccBPM still be needed? If so, can anyone give an example showing how the two tools would be used in a complementary fashion?
    Thanks, Bob Austin, Atos Origin.

    Bob,
    ccBPM seems to be mainly oriented towards message processing. There is a a human interaction element for user decisions but the majority of the step types are related to things useful when processing messages (e.g;. for sevice orchestration.)
    BPM in CE is more human oriented - besides user decision steps you can present forms and other UI elements. These steps will usually appear in an agents inbox and you can have full deadline monitoring and escalation.
    They can be used together: One of the step types in CE BPM is to call a service, and this service could well be modelled on PI using ccBPM.
    What does everyone else think?

  • Business Rules and BPM

    Anybody here knows the difference between Business Rules and BPM..
    We can do pretty much everything with a Business Rules Engine as we would do with BPM , then in which scenario should we use BPM and in which scenario should we use Business Rules Engine?
    Ofcourse Business Rules Engine has more complex set of rules than any BPM product in the market for .eg. ILOG Business Rules...

    BPM and a rules engine are different. Both are important, but they have different uses.
    Oracle BPM Studio is used by Business Analysts and Developers to model processes, integrate underlying components (including business rules) and develop user interfaces.
    There's an Engine that executes the processes that have been modeled. It sends the work item instances to the right person or persons with the right data when the work item reaches an interactive activity in the process. Similarly the Engine has invokes the underlying components specified in the process when the work item instance reaches an automatic activity.
    There's an out of the box Workspace runtime that lets end users manage and run their work item instances as they flow throughout the processes.
    We can business rules inside the processes, but one does not replace the other.
    Dan

  • Message mapping when using BPM?

    We are doing a test to see if you can do a split of a string using standard functions, UDF or BPM.
    We discovered that standard function has some of the functionality but if you are going to solve the problem that way the solution will be very complex. You will get no flexi bility in how to design the string and all the feilds will have to have fix length. So Standard functions are not the solution for us.
    UDF works realy great. Write your java function and map it and everything are running.
    We wont to test BPM as well. and i just started to look at it and how to solve it. I'm a newbee on BPM and for start I'm wondering how the message mapping should look to use in the BPM?
    Sourcemessage looks as follow:
    <Header>
       <Line>  
          <SegmentA>   0 to unbounded
          <SegmentB>   0 to unbounded
          <SegmentC>   0 to unbounded
    SegmentA contains a value to be copied to a segment in the target.
    SegmentB contains a date to be copied to a targetelement.
    SegmentC contains a string that we want to split into several elements in the target structure.
    Targetmessage looks as follow:
    <Header>
       <LineA>   1 to 1   (Will get the value from SegmentA in the sourcemessage.)
       <LineB>   1 to 1   (Will get the value from SegmentB in the sourcemessage.)
       <LineC>   0 to unbounded
          <ElementA>   0 to 1   (Will get a part of the string from SegmentC in the sourcemessage.)
          <ElementB>   0 to 1   (Will get a part of the string from SegmentC in the sourcemessage.)
          <ElementC>   0 to 1   (Will get a part of the string from SegmentC in the sourcemessage.)
    To able to get the messages into BPM I need a interfacemapping and to do the interfacemapping I need to do a messagemapping. How should that messagemapping be configured?

    > Now i want to try to replace that UDF with a BPM (Integration Process).
    An UDF is part of a mapping and an Integration Process is used if you want to realize a more complex scenario then sending a message from System A to System B. In BPM you can do things like collecting messages, use timeouts, ...
    But if you want to use a mapping in a BPM you define your mapping in your Integration Repository (like in a standard scenario without BPM) and then you can use the mapping in the Integration Process.
    That's why i say it's maybe possible to realize your mapping without UDF (for example only with standard functions), but it makes no difference if you use BPM.
    If you want to try finding a solution without UDF, i would suggest to open a new thread for this question.
    Hope this helps.
    Regards
    Patrick

  • Interface mapping test successful, throws exception in BPM

    Hi.
    We are having a problem with an Interface mapping which works when
    tested in Integration Builder, but throws an Exception when it is part
    of the Transformation in a BPM.
    The scenarion is such:
    1. The sender calls the outbound interface using a web service.
    2. XI uses the input and passes to the Integration Process
    3. In the BPM, a LOGON message is built to call the web service as
    specified by an external web service . The input and
    output messages are just a single string, in which the other XML is
    embedded.
    4. XI receives a response from the web service call
    5. XI Extracts the sessionId from the response and combines it with the
    initial input (Step 1) to create the query for the query message in
    the web service.
    It is in Step 5 where the transformation fails, with an Exception in
    the DefaultTrace.trc as
    Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    Thrown:
    MESSAGE ID: com.sap.aii.ibrun.server.mapping.rb_MappingRuntimeException.EXCEPTION_DURING_EXECUTE
    com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    I have extracted the data from the initial request (step 1) and the
    logon response (step 4) and using these I have tested the Interface
    Mapping. There is no problem with this and the tests are successful.
    From what I can see, because the Response field in the LOGONResponse
    contains more XML tags, XI must be parsing it and assuming the tags are
    tags in the message, and not just the string, thus it is complaining
    that the XSD types do not match. This extra XML Parsing does not take
    place in the Interface Mapping Test.
    I have put the response into a User Defined Function which just has one
    line "return new String("Hello")" and that fails. However, if this UDF
    does not have the Response as the input, it does not complain.
    Please advise.
    --Reenal

    hi
    You will have to use specific replacements for you xml tags if it is coming as a paramter
    replace '<' with &lt;
    replace '>' with &gt;
    for eg: I want to pass <TakeIt>200</TakeIt> as value to Element <A>
    Mapping won't work if it is passed like
    a) <A><TakeIt>200</TakeIt></A> - Wrong
    Instead the replace the angle brackets
    b) <A>&lt;TakeIt&gt;200&lt;/TakeIt&gt;</A> - Correct
    While testing the mapping in IR (a) will work bcoz the test tool will convert it to (b) format. Check the xml source in test tool.
    So ensure the web response is like (b)
    rgds,
    Arun

  • Line feeds in a BPEL assign activity as viewed in the BPM worklist

    We are catching errors in our BPEL 1.1 process (created in SOA Suite 11.1.1.6) and sending them to the BPM worklist via a human workflow. We followed the basic documentation found here:
    http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/partpage_hwf.htm#CHDGICFI
    Before we invoke the call to human task, we assign some strings to parts of the message. For example:
    <assign>
    <copy>
    <from expression="Detailed message:\n\nMore details go here."/>
    <to>....
    When we pull up our error in the BPM worklist and view the detail page, we do not see "Detailed message" and "More details go here." separated by 2 line feeds. Instead, we see the actual text "\n\n" printed out.
    I have tried a variety of other line feeds, but nothing seems to work (i.e. to break up the text on the screen):
    &lt;br&gt; or &lt;br/&gt; - The tags show up in the detailed view. When I view the HTML source, I see it escaped them with &amplt; and &ampgt;
    &amp;lt;br&amp;gt; or &amp;lt;br/&amp;gt; - This exact text shows up on the screen (i.e. we see &amplt;, etc.)
    &amp;amp;lt;br&amp;amp;gt; or &amp;amp;lt;br/&amp;amp;gt; - Same result (i.e. we see &amplt;, etc.)
    &amp;#10; - The line break is visible in the HTML source, but that's just basic HTML whitespace which doesn't translate into a viewable line break
    &amp#xA; - Same thing with &amp;#10; Just HTML whitespace
    &lt;pre&gt; ... 2 carriage returns here &lt;/pre&gt; - I tried to trick it into forcing the HTML whitespace into actual line breaks, but I had the same issue with the &lt;br&gt; where the open/close brackets are always escaped or printed...but never interpreted.
    So...the big question is...what is the proper syntax to add line feeds that an HTML browser can interpret (while viewing the BPM worklist app) when I'm building that string in a BPEL &lt;assign&gt;&lt;copy&gt;&lt;from&gt; expression?
    Please advise,
    Michael

    Can you simply format your expression according to what you need an try? I mean replace
    <assign>
    <copy>
    <from expression="Detailed message:\n\nMore details go here."/>
    <to>....
    with
    <assign>
    <copy>
    <from expression="Detailed message:
    More details go here."/>
    <to>....
    Regards,
    Anuj

Maybe you are looking for

  • Can not unlock the purchase in the free game

    can not unlock the purchase in the free game

  • Create sql trace files on client machine

    Hi oracle creates sql trace files on server side, what are possible and best ways of sharing those files with end users? is it possible to create them on client side instead?

  • Getting error in Report RPTQTA00

    Dear Friends, While running the report RPTQTA00 for one employee, i am getting an error messege "You have not selected any generation rules". Whereas I have created the selection rule in table VC_T559L. Please guide me which tables I have to update t

  • Is there a way to let the movies fill the whole screen?

    Hi guys, I started to watch movies by renting or buying from itunes and I realized that some movies don't fill the whole screen. I wanted to know if there is a solution.

  • Date Added field blank in attachment

    Hi All, I am adding an attachment (through coding ) to an UDO. The attachemmt attaches fine but the Date Added field is blank and non editable. Moreover I cannot find any APIs to fill this field with the current date. As a result, my UDO does not get