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,
Franciscosolved it myself.. Thanks
-
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,
ParimalaHi 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.
ThanksRegarding 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 PMHi Xiang,
You may need to check if the JCo settings are fine and connectivity is proper.
Regards,
Arafat -
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,
ParthibarajaDear 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-jayThe 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
sandeephttp://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
-
Ongoing problems - Would like to request a call back
Hi all, I have quite a tale to tell you, and am reaching out for assistance by somebody that has authority to make decisions Once my account and case ID have been reviewed I would like a call back at the number on file. Thank you! 1/11 I ordered an
-
HT4972 how do i move my apps and music back to my iphone from the itunes library
how do i move my apps and music back to my iphone from ituneslibrary
-
Can I remove the Faces part of iPhoto in Lion 10.7.2?
I have been transfering phots using DVD disks to a new iMac. Regrettably there are some 22,000 photos and the iMac has made 1000s of individual faces that I do not want. Can I remove or block Faces from creating faces? Many thanks.
-
RMAN-08137: WARNING: archived log not deleted as it is still needed
I am trying to delete archive logs older than 7 days in streams environment. 1) we dont have a standby database 2) checkpoint_retention_time = 7 Please help me with this. Regards, Mike
-
Reg Obsolete statements of lower client
Hi , My requirement is am in ECC 6 i want to check the list of obsolete errors that will occur in ECC 5 or lower version after it is upgraded any way of checking by connecting through RFC to the lower version and getting the list of obselete statemen