System ID in BPM

Guys,
In the past I used the following in a user defined
function to determine if the code is running on
Development or Production system:
receiver = (String) map.get(StreamTransformationConstants.RECEIVER_SERVICE);
This is no good however within ccBPM.
So how can I get, say, the system ID from a UDF?
Your help would be much appreciated.
Thanks a lot,
Vitkor

Hi,
I assume this to be your scenario:
src>BPM>Multiple Trgts
The code if implemented within the BPM, would give the BPM name/id as the receiver. Correct?
This is not what we want. We would want to get the target. i.e, source=BPM, target=?
Instead of using a normal receiver determination between, BPM-->Multiple Targets,
we could try and use extended receiver determination.
When we use, extended receiver determination, we need to specify an interface mapping.
My idea, was to implement this code(posted by you,in the previous post), in this interface mapping.
This way, we might be able to get the correct receiver business system.
Hope I was clear.
Regards,
Smitha.

Similar Messages

  • New Logical System for every BPM in R3?

    Do I need to set up a new Logical System in my R3 system for every BPM in XI that sends IDOC to it?
    I need several BPM to split messages which I want to send to a R3 system. When I configure the scenario, the BMP is imported to the Configurator and the Adapter-Specific Identifiers need be added. A Logical System must be entered for the IDOC adapter. This Logcial System must be unique.
    Is it possible to have several BPM without setting up a logical system in R3 for each of them?

    Hi Elling,
    You can overwrite the logical system name in the receiver agreement. If you select a different system (from the SLD) as Sender Service, the IDOC will be send using the logical system name of this sender service.
    What we normally do is, set the sender service for a BPM to the original sender service.
    Regards,
    Christiaan Schaake

  • Sender Logical system lost in BPM

    Hi, we have the next scenario:
    3 Sender Business Systems(file)->BPM->R/3System(IDOC).
    We want that the inbound idocs arrive to R/3 with their corresponding Sender Logical System.
    The problem is that the idocs arrive with the Logical system of BPM. I can do a header mapping, but the idocs arrive with one static Logical system, I've lost the information about the original sender logical systems.
    What are my alternatives ?.
    1- Make 3 'little' BPMs after the general BPM ?.
    2- 'Tri-peat' the general BPM?
    Thanks,
    Francisco

    solved it myself.. Thanks

  • Handle system errors in BPM

    I'm working on a BPM that may fail to perform some steps due to system errors. I can raise an exception if that happens, but what I'd like to do in the exception branch is to build a response message to the calling application that starts the BPM, declaring the reasons of the error. I can do that  giving a generic "system error" description, but I'd like to be more precise, and access the system error cause itself and add it to the message description.
    Is this possible? How to make it?
    Thanks in advance.

    Hi,
        As per my knowledge we can raise System errors using Send step and Transformation Step.I dont think we can rise System errors using Control step.Control Step handles only Exceptions not System errors.(Confirm once).
    But if you want to rise System errors go for Send Step Synchronous or Asynchronous.
    Send Step Synchronous used when exception triggered by permanent system errors that occur in the pipeline or while transporting the message to or from the pipeline.Asynchronous Send Step:the exception will only be triggered if an error occurs during the transfer to the pipeline. Errors that occur during mapping in the pipeline, do not trigger an exception.
    Transformation step used when to rise Permanent System error occurs.
    Regards,
    Raj

  • BPM--cannot convert sender logical system to ALE

    Hi
    My Scenario is file-bpm-idoc.. Where i am getting an error saying "cannot convert sender logical system to ALE"  for the BPM.
    i tried entering the logical system for the BPM in adapter specific attributes but it says logical system is already being used by some other service..
    So i tried header mapping in receiver agreement now the messages are failed at the intital stage before entering the BPM only only saying cannnot find recvr agreement..
    My sender system BS_EXT_100
    BPM IP_calldoc
    Recvr system BS_EDCR/3_200
    i did the header mapping for recvr agreement of BPM by selecting the sender service and entering "BS_EXT_100"
    Where am i going wrong...

    solved it myself.. Thanks

  • Availability of System id value in a BPM

    Is there anyway of knowing which system or the SAP system id, the BPM is running on (ex: DEV, TST, PRD) based on context object or any other container variable. If so, how can I access this information.
    Please let me know as soon as possible.
    Thank you,
    Parimala

    Hi Michal,
    I tried with SENDER_SERVICE and RECEIVER_SERVICE and each time I get "null" return.
    I tried "INTERFACE" just to see if this was doing anything at all and I got "null" again. I'm accessing context via mapping.
    I had to run a true test (end to end) since running in mapping test results in TEST_SenderService because of no access to directory stuff. Because the code does not return syntax error, should be ok, right?
    This is my code....do you see any issues with it.
    Under Imports, I have nothing. Is that OK. I'm thinking all libraries are standard anyway.
    String constant;
    java.util.Map map;
    map = container.getTransformationParameters();
    constant = (String) map.get(StreamTransformationConstants.INTERFACE);
    return constant;
    So still not sure how to access XI system info - either system id or host.
    Thank you for you time and effort.
    Parimala

  • 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

  • Error while calling "BAPI_CUSTOMER_FIND" in BPM

    Hi everyone,
    we have a problem while calling a BAPI "BAPI_CUSTOMER_FIND" on an ECC backend system from a BPM. This automatic activity works very well if we just search some customers, which really exist in the ECC system. If we search any customers, which don't exist, we get a runtime exception on the CE server. But what really wired is, we can call this BAPI in the WS Navi on the CE successfully with any input parameters. This BAPI gives back a result_tab in the response message. In the result_tab, we can find the TYPE field indicating whether any customers are found or not. Actually this BAPI will not generate any exceptions. In order to exclude mapping errors, we delete the output mapping for this step. Could anyone give us some help? Thanks a lot in advance.
    The error trace is following:
    An error occurred while executing transition AUTOMATED_ACTIVITY_Debitor_suchen
    com.sap.glx.adapter.BPMNAdapter:Token_0_ShowCase_Handwerkerparkausweis_0f40fca3e9c74b4385726b3cd6a3245d token,
    com.sap.glx.adapter.BPMNAdapter:Instance_0_ShowCase_Handwerkerparkausweis_0f40fca3e9c74b4385726b3cd6a3245d parent,
    com.sap.glx.adapter.internal.ContainerAdapter:Context_2_Antrag_Kontext_0f40fca3e9c74b4385726b3cd6a3245d context_3){
    exit=new com.sap.glx.adapter.BPMNAdapter:Exit();
    Caused by: com.sap.glx.adapter.api.AdapterException: RuntimeException occured with not AbapException
    at com.sap.glx.adapter.app.ucon.SCADASWrapperImpl.invoke(SCADASWrapperImpl.java:162)
    at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallObject.invokeWebServiceOperation(UnifiedWebServiceCallObject.java:100)
    at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallClass.invoke(UnifiedWebServiceCallClass.java:174)
    at com.sap.glx.core.dock.impl.DockObjectImpl.invokeMethod(DockObjectImpl.java:530)
    ... 14 more
    Caused by: java.lang.RuntimeException: Es sind Warnungen aufgetreten
    at com.sap.sdo.das.jco.JCoInvoker.checkReturnStructure(JCoInvoker.java:350)
    at com.sap.sdo.das.jco.JCoInvoker.accept(JCoInvoker.java:257)
    at com.sap.engine.services.sca.plugins.jco.JCoImplementationInstance.accept(JCoImplementationInstance.java:56)
    at com.sap.engine.services.sca.das.SCADASImpl.invokeReference(SCADASImpl.java:335)
    at com.sap.glx.adapter.app.ucon.SCADASWrapperImpl.invoke(SCADASWrapperImpl.java:116)
    regards
    Xiang
    Edited by: Xiang Zhang on Jun 14, 2010 2:48 PM
    Edited by: Xiang Zhang on Jun 14, 2010 2:57 PM

    Hi Xiang,
    You may need to check if the JCo settings are fine and connectivity is proper.
    Regards,
    Arafat

  • BPM task not coming in inbox

    Dear Experts,
      This regarding the UWL issue which we are facing in our landscape.
    We have an EP 7.01 SP11 system by which users access the BPM task and CE 7.2 SP06 system
    Where the BPM workflow is created.
    SSO is configured properly between these two systems where both  systems UME is pointing
    to the same LDAP. System configurations and UWL configurations are done properly ,in fact the
    tasks where coming properly in the inbox before.
    But all of sudden without any changes its not working now . we are not able to find the root cause
    of it.
    Kindly help us to resolve this issue and let us know if you need more inputs.
    Many thanks in advance.
    Regards,
    Parthibaraja

    Dear Parthibaraja
    I hope you are well and many thanks for using the SAP Discussion Forums .
    In relation to the issue you described you mentioned:
    We have an EP 7.01 SP11 system by which users access the BPM task and CE 7.2 SP06 system Where the BPM workflow is created.
    SSO is configured properly between these two systems where both  systems UME is pointing to the same LDAP. System configurations and UWL configurations are done properly ,in fact the tasks where coming properly in the inbox before.
    Now although you mentioned the configurations are setup accordingly. I would like you to kindly review the UWL Destination Service Configuration as the smallest discrepancy maintained can cause unpredictable and unexpected behaviour.
    SAP Note: Note 1133821 - UWL Destination Service configuration
    When you followed and implemented SAP Note 1133821 - UWL Destination Service Configuration we need to make sure that connector names and also destination names match exactly (Case Sensitive).
    Example: I mean if your portal system alias (=UWL connector name) is for example XYZCLNT100, then the rfc destination name should be exactly XYZCLNT100$WebFlowConnector.
    After checking this and if you make any configuration changes
    Clear the UWL Cache
    Restart the UWL Service (during a period of downtime/low usage levels)
    Now in terms of the UWL and BPM tasks there are some important points to highlight which are covered in the following documentation link:
    http://help.sap.com/saphelp_nw73/helpdata/de/4a/ee9c7488946d62e10000000a
    42189c/frameset.htm
    I have come across similar scenarios in the past which have been resolved after consulting the following SAP Note Documentation:
    SAP Note: 1585226 - BPM UWL Connector Failure
    Kindly Check whether the proxy settings are done correctly and http.nonProxyHosts has proper entries as explained in the note 1507174. (Proxy settings for the J2EE engine). You NEED to have SSO configured as in a case with 730, absolutely no user mapping should be used on webflowconnectors.
    Kindly update me as per your findings.
    I greatly appreciate your time and patience and I look forward to recieving your reply.
    Kind Regards & All The Best
    Troy Cronin - Enteprise Portal Support Engineer

  • Receiver Determination in BPM - Correct me

    Hi everyone,
    I came accross some document saying that
    <b>every send/ receive step in BPM, there should be one receiver determination.</b>
    Can anyone explain this to me.
    thanks,
    -Naveen.

    Hi,
    Yes your IP will be another service like your Business Service/System
    If your BPM is like this
    receive>Transform>Send
    then in ID receiver determiniation would be
    SenderBS --> IP
    IP-->RecieverBS
    Regards,
    Prakash

  • 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

  • BPM - Simple integration process

    Hi guys,
    I'm new at BPM and I've created a simple process. Looking at the weblog "Walkthrough with BPM" by Krishna, i was able to create the simple scenario:
    Source System -(File Adapter)->BPM-(File Adapter)->Target System.
    Now imagine I wanted to include two more actions.Meaning, I'd like to repeat the process.
    So we would get,
    Source System -(File Adapter)->BPM-(File Adapter)->Target System -(File Adapter)->BPM-File Adapter)->Source System
    When I create this in the integration process, i'll have a:
    Start->Receiver->Sender->Wait->Receiver->Sender->End
    But he asks me for Correlations. Can you give me an idea about it? I've looked at the pdf's but the idea is still blurry...

    Hi Goncalo,
    Check my post in this thread..
    Correlation
    Since you have two receive steps in your BPM you need to correlate the message received by the first receive step  with the message received by the second receive step.
    Anand
    Message was edited by: Anand Torgal

  • Retry Mechanism for BPM in PI 7.1

    Hi Experts,
    Is it possible to have a retry mechanism in implementing BPM on a solution? Here's my scenario:
    With BPM initial scenario:
    Sending system sends a message to PI and will be routed to another system (let's say a Master Data System) via BPM to get a specific data that will be included on the initial data that was sent to from a sending system. The BPM then handles the mapping of that specific data and then sent to a Receiving System.
    Additional Scenario (if it is possible):
    What if the Master Data System is down?!
    - an additional BPM will be added to the initial BPM and the purpose is solely for retry mechanism. The BPM will then be in retry mechanism mode let say 5 attempts or 5 hours..and if it successful then the initial scenario will push..but if the system is still down, and retry mechanism reached its limit then it will send will throw an error or an alert.
    If this is possible, how can this be handled?
    Appreciate your response with this. Thanks!
    Cheers,
    R-jay

    The BPM will then be in retry mechanism mode let say 5 attempts or 5 hours
    Your scenario is: SYS1 > BPM <> SYS2 ....and rest of processing
    Your question is if BPM <--> SYS2 communication fails in first attempt
    So the above step will be SYNC.....include a BLOCK with an Exception Branch in your BPM....if the SYNC steps fails then the Exception Branch will be triggered....now in the exception branch include a WAIT step (set the time accordingly...avoid setting it for a big time interval),
    After the WAIT step include a SYNC-Send step which will again send the same message (BPM <--> SYS2) .....check if you get the response or still in error....if in error then implement a proper error handling.
    Just ensure that the wait step does not make the BPM wait for too long
    Regards,
    Abhishek.

  • Error in BPM: FIle to RFC

    Hi friends,
       I  am working on File --> RFC ---> File Scenario using BPM ...
    Here I am getting system error in BPM and showing broken red brick in workflow at  sender1 ...
    I have given like this...
    Start --> Receiver ->sender1>Sender2 ---> Stop.
    I have given properties... for each
    C2 = Abstractinterface FIleResponse_Abs
    Recevier
    1)Step Name = Receiver
      Message   =  C1 (I defiend in container Category =Abstact interface type = FileRequest_Abs)
      Start process = (Selected)
      Mode = Asynchronous
    2)Sender1
    Step name = Sender1
    Mode =Synchronous
    Synchronous Interface = FileRequest_AI
    Request Message= C1
    Response Message=C2
    3)Sender2
    Step Name =Send2
    Mode = Asynchronous
    Message = C2
    After Configartion,I have placed the sender sample XML in Server ...it is picking up properly.But
    it showing error while it was executing in the BPM. Please suggest me what i have to do.
    If you didnt understand I ll give some more details.
    Pls help me in this regard.
    With Regards,
    Raju.

    I am getting error in Integration Engine.....
    Attribute     Value
    Engine     Integration Engine
    Status     System Error
    Repeatable     No
    Cancelable     No
    Start     20.06.2007 06:25:22
    End     20.06.2007 06:25:22
    Sender Party     
    Sender Service     BPM_FILE_RFC_SAGAR
    Sender Interface     http://File2RFC_Syn
    FileRequest_AI
    Receiver Party     
    Receiver Service     ECCIDOC800
    Receiver Interface     urn:sap-com:document:sap:rfc:functions
    BAPI_SALESORDER_GETLIST
    Quality of Service     Best Effort
    Error Category     
    Error Code     
    Message     9BA7365DDBC0FE49B9F512F7308DDA53
    Reference

  • Receivere Dtermination step in BPM

    Hi Everybody,
    I m doing a scenario (multicast-multiple receiver) in which i have to use receiver determination steps in our BPM design. My scenario:
          service -> BPM ->service
              R3 systems(RFC communication)
    Here BPM will be used to do synchronous communication with R3 systems.
    My BPM design is :
       receiver->recever determination->Block(for each)->send(synchronous to communicate with R3)->send(to send to the service)
    PROBLEM: my receiver determination is not able to recognise R3 system.
    In the message of receiver determination step i can give only container of asynchronous interface(there is no container for synchronous message).
    During config time i have created receiver determination with outbound interface of synchronous message.
    here i have to use receiver determination step in BPM (because i m working on it).
    Please suggest the appropriate way to solve the problem.
    Thanks
    sandeep

    http://help.sap.com/saphelp_nw04/helpdata/en/43/6211b11c895f6ce10000000a1553f6/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/14/d5283fd0ca8443e10000000a114084/content.htm

Maybe you are looking for