BPM Container for an abstract interface
Hello all,
I have created few abstract interfaces. But when I create a BPM container of type abstract interface and click on input help, abstract interfaces are not displayed. What might be the problem ?
Shankar.
hi,
try saving and <b>activating </b>the abstract interfaces
first
it might be a problem with the cache
but try activating the interfaces first
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>
Similar Messages
-
Container operations and abstract interfaces
Hi
At first, could somebody maybe refer to blogs about how to exploit fault messages in BPM? (how to generate an fault response when a exception is thrown and handled)
As I could not find a fast way to see how fault messages work in BPM I tried to solve the problem the other way... but run into a problem again. The question is: is it possible to assign values to some elements in an abstract interface type container? Like put into the message a processing code, processing time or some other informative text.
In a more technical way: container operation allows only the whole container to be the target of the operation, while one can use any part of an container (of abstract interface) to use as the source of operation. Is it also possible to assign a value to a element in abstract interface?
Waiting for any ideas...Hi
Thanks for Your answer. Still my question is unanswered. As You could read out from my question, I know that such a step exists but the problem is that target can be exactly one container. Its hard to make an example without too much of code samples.
I agree that if I have containers A and B then I can do:
A = B
But if A is of type abstract interface with structure:
rootNode
+ childNode1
+ anElement as xsd:string
+ childNode2
and B is a simple type then is it possible to do something like:
A:/rootNode/childNode1/anElement = B
As I don't want to change anything else in the response. Any ideas?
I need to do so because I am not able to throw fault messages as a synchronous interface response (first: there is no way to define fault type as abstract interface, second: send [close S/A bridge] step needs response message only).
Another way would be to replace response content by inserting fault information but as there is no way but message mappings (transformation step) to change the content of an abstract interface (is there?). It would be a very ugly solution - each fault in BPM shall have its own mapping that generates the whole message... and there would be other issues too.
Waiting for any ideas on how to solve the problem.
Any recomendations how to create a SOAP fault answer in BPM are also welcome! -
BPM Abstract Interface for IDOC?
Hi all,
I am doing an IDOC XI File scenario with BPM.
I have created an Inbound Asynchronous and an Abstract Interface for the LEGACY SYSTEM(Target Message).
I didn't create any Abstract interface for the IDOC(Source message).
I am getting this error:
<b>"Expression must return the interface type DEBMAS.DEBMAS06.DEBMAS06".</b>
Do I need to create an Abstarct Interface for the IDOC?
According to the above error, BPM is expecting an ABSTRACT INTERFACE Type for the IDOC.
Experts need help from you.
Thank you,
Joslyn.That mapping is an dummy mapping between Idoc to Abstract Idoc Type. Here Sender Idoc Interface is mapped with Reciever Abstract Idoc interface.
So inside the BPM, Abstract Idoc interface acts as a Container variable to collect the idocs.
For simplicity-for collection of idocs
You can see, BPMPatterns from the SAP BASIS Software Component in your XI Repository.
http://help.sap.com/saphelp_nw2004s/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm
Regards,
Moorthy -
Fortran 2003's abstract interface
Although the documentation for the 12.4 beta claims support for the ABSTRACT INTERFACE feature, it's not clear whether the support is full or partial. The following code fails to compile with sunf95:
module mod1
use iso_fortran_env
implicit none
abstract interface
pure function i_f(x)
real :: i_f
real, intent(IN) :: x
end function
end interface
contains
subroutine iterate(f, x, y)
procedure(i_f) :: f
real, intent(IN) :: x(:)
real, allocatable, intent(OUT) :: y(:)
integer :: i
allocate (y(SIZE(x)))
do i = 1, SIZE(y)
y(i) = f(x(i))
write (OUTPUT_UNIT, '("y(",I0,"): ",G0)') i, y(i)
enddo
end subroutine
pure function square(x) result(res)
real :: res
real, intent(IN) :: x
res = x ** 2
end function
end module mod1
use mod1
implicit none
integer :: i
real, allocatable :: x(:), y(:)
x = [real :: (i, i = 1, 10)]
call iterate(square, x, y)
end
The compiler assumes that the passed procedure is a subroutine ---i.e., it ignores the abstract interface.This is a bug in the compiler. The problem is not in the abstract interface but in getting the interface from the host scope. To work around the problem, you can copy the abstract interface from the host scope to the local scope where it is used, like this:
subroutine iterate(f, x, y)
abstract interface
pure function i_f(x)
real :: i_f
real, intent(IN) :: x
end function
end interface
procedure(i_f) :: f
real, intent(IN) :: x(:)
real, allocatable, intent(OUT) :: y(:)
integer :: i
allocate (y(SIZE(x)))
do i = 1, SIZE(y)
y(i) = f(x(i))
write (OUTPUT_UNIT, '("y(",I0,"): ",G0)') i, y(i)
enddo
end subroutine
then the dummy procedure 'f' will be correctly identified as a function. -
Why BPM contains only ABSTRACT messgae interfaces
Hi Forum,
Can u please help me in finding why BPM can only support ABSTRACT Message Interfaces.....
thanks
Edited by: sudeep dhar on Jan 16, 2008 9:28 AMSudeep,
Refer to http://help.sap.com/saphelp_nw04/helpdata/en/4b/d26b3d32390968e10000000a114084/frameset.htm for a description of the Communication Parameters
Alternatively, from the SDN SAP on DB2 for Linux, UNIX, and Windows you can pull up the SAP documentation for SAP XI 3.0 and enter the search term 'Abstract message'
Hope this helps,
Mike -
Must I define abstract interfaces with different names for BPM?
Must I define abstract interfaces with different names for BPM?
When interface appeared several times with different values and usage.
Of course they are the same message type.Hi,
Check this
RFC Scenario using BPM --Starter Kit
Regards
Seshagiri -
Copy value of container (abstract interface) to an other container
Hello,
Is it possible to copy the value of an container (abstract interface) in BPM to an other container (abstract interface)?
Thanks and regards
VerenaHi Verena,
If you have the entire msg that you want to want in a container then you can probably use APPEND in container operation.
But if your msg is a part of an intermediate strucure like the one i showed in my previous posts, then you Have to use Mapping in a BPM Transformation step for the simple reason that you cannot change a message by using a container operation.
Regards,
Sridhar -
BPM, abstract interface unavailable
Hello,
I want to build a business process. Therefore I need some container elements. One container element has the type abstract interface. The message interface is defined in some namespace of some software component. But unfortunately I can't select this message interface in the dialog. Of course I have already activated my change list. I also refreshed the CPA cache, but this doesn't help a lot. What can I do in order to see this abstract interface.
Thank you very much,
OliverHallo Oliver,
XI currently only allows BPM to use interfaces within the same software component or within a software component with which you have a based on relationship defined.
I think, that this does not make too much sense, but that's the answer we got to an according OSS message.
Best Regards
Christine -
Map simple variable to an abstract interface in BPM
I'm using a Simple Variable to count all messages comming through a BPM.
I want to use this Simple Variable's value in a Abstract Interface.
Does anyone know how to map Simple Variables to Abstract Messages?
A transformation needs a mapping, and a mapping cannot use a Simple Variable as input. The container operation need the same structure at both sides.
Kind regards,
Christiaan Schaake.Hi,
Did you figure this out? If so, could you please share how you may have done this.
Thx -
Abstract Interface for IDoc Proxy
Hi All,
Do we need to make Abstract interfaces for IDocs and Proxys too if we want to use them in BPM?
XIerAamir,
I agree with u that we can't create proxie's for Abstract interfaces. But consider the case I want to call Proxy inside BPM, is this possible?
Yes its possible. As I mentioned in my previous replies for IDOC's .Similarly for Proxy receiver Interface determination we need to give Actual Inbound Interface name instead of Abstract. MI_Proxy_Abs --> use MI_Proxy_IB . Provided both the interfaces has the same structure.
I hope it clears!!!
Best regards,
raj. -
How can i refer Synchronous Abstract Interface as a container var
Hi All,
Why A(an) "<u>synchronous</u>" Abstract interface can not be referred as a Container variable in the BPM?
Thank you
Ganges Leaves
Message was edited by: Ganges LeavesHi,
BPM containers will hold one message. If you want to hold multiple messages you need to make it multiline.But it works like an Array. So you can't have multiple message types with one container.
Just have a look at this blog-
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken]
/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
Hope this helps,
Moorthy -
If I have a Transformation step in my BPM, whether it is necessary to have the Source and Target Message Interface to be ABSTRACT?
ThanksMohini,
Absolutley. <b>BPM can interact and deal with only Abstract Interfaces.</b> And so, if you have a transformation step inside the BPM , <b>the source and target interface will have to be abstract interfaces.</b>
The interface mapping will be between Abs Interfaces in the IR.
Regards,
Bhavesh -
BPM Container operation not executed
Hi
We have a scenario where several Idocs are to be collected to one flat file. I have set up a time loop in BPM to receive idoc (abstract), map idoc to flat file, add flat file to flat_file_list (container operation, append). After 2 minutes the loop ends, and the flat_file_list is mapped to a flat file and sends the flat file to the connected legacy system, via the file adapter.
Most of the process steps work just fine, but the files are not appended into one file. All mappings are correct, and the FTP adapter correctly sends the files to the FTP server.
Using the Business Process Engine monitoring I see that all interfaces receive the messages, all mappings are done, but there are no steps for the container operation! Should this container operation be visible in the monitor?
So it seems that everything is working except the bundling of messages. Does anyone have any experience with this?
The container operation is setup as following:
Step name: AddMsgToLst
Target: FlatFileList
Operation: Append
Expression: FlatFile (which is the flat file I am mapping the idoc to)
Any help is highly appreciated!
Br
KennethHi Robin
Thanks for your message. After I insert a new step and save the process, I can't activate the process from the sxi_cache. It says that the Cache entry for directory process is already up-to-date.
I have tried both with activating first in repository and not activating the process, but in both cases the sxi_cache says it's up-to-date.
Any suggestions?
-Kenneth -
How to Access a BPM container variable in XI graphical message mapping
Hello XI BPM and Mapping experts,
is it possible to access a BPM container variable from an graphical mapping?
If yes, how ?
We need this for the following scenario:
IDOC to BPM.
BPM transforms and sends transformed IDOC to fileadapter
If both steps are successful a STATUS.SYSTAT01 IDOC should be send back to SAP-ISU with status 06.
If one of these steps fails the status in the SYSTAT01 should be set to 05. (Exception branch of block)
We want to avoid to write 2 mapping programs for mapping the SYSTAT01.
Instead we would like to use a BPM Container Variable which contains the status.
In the mapping for the SYSTAT01 we want to use this Container Variable.
Is this possible?
Thanks for soon answers.
Regards MarliesHi Marlies,
Is not possible to acces a BPM container variable from graphical mapping. For other hand, you can to use runtime variables for this purpose.
You could create an abstract interface with a message type having a single node with the required value and using this message in other mapping.
Best regards
Ivá -
BPM with 2 JDBC outbound interfaces and one inbound file interface
Hi,
I have a scenario where data is coming from different databases into XI and after processing the data it creates a file at the target side. Some calculations are to be done in the middleware and the result will be sent through a file.
My question is
1. BPM will be used in this scenario?
2. There will 2 outbound interfaces(one for each database access), 2 abstract interfaces and one inbound interface(file). Please correct me if I am wrong.
3. I have to multiply the value of field from one database to a particular value in another database and get the final result. For e.g exchange rate from one database is multiplied to Transaction currency in another database and get the group currency value in the output. Can anyone give the sequence of steps in the intergration process for this scenario as I am new to BPM.
Thanks,
AparnaThanks a lot Liang and madhusudana for your responses.
Since I can use JDBC lookup for this in my nornal scenario I think no need for BPM.
I have created the advanced UDF for JDBC lookup code. Below is the code.
String Query = " ";
Channel channel = null;
DataBaseAccessor accessor = null;
DataBaseResult resultSet = null;
MappingTrace importanttrace;
importanttrace = container.getTrace();
// Build the Query String
Query = "Select home_cur_code FROM gltrxcp WHERE company_code = '" + a[0] + "' ";
try{
//Determine a channel, as created in the Configuration
channel = LookupService.getChannel("BS_JDBC_send","cc_JDBClookup_rec");
//Get a system accessor for the channel. As the call is being made to an DB, an DatabaseAccessor is obtained.
accessor = LookupService.getDataBaseAccessor(channel);
//Execute Query and get the values in resultset
resultSet = accessor.execute(Query);
importanttrace.addWarning("resultset" + resultSet );
for(Iterator rows = resultSet.getRows();rows.hasNext();){
Map rowMap = (Map)rows.next();
result.addValue((String)rowMap.get("HOME_CUR_CODE"));
importanttrace.addWarning("result" + result );
catch(Exception ex){
result.addValue(ex.getMessage());
finally{
try{
if (accessor!=null) accessor.close();
catch(Exception e){
result.addValue(e.getMessage());
But I am not getting the desired result. I am getting result as 'Null'.
Can you please help in resolving this issue. I have also used trace for find out where it is passing Null and found that 'result' is coming null. Do i also need to parse it before passing it to 'result'?
Can anyone send sample code for JDBC lookup.
Maybe you are looking for
-
Hide fields in datasource....
Hi, In the datasource 2LIS_02_ITM , I have 2 hided fields. when I check the Extract Structure , these fields are part of INCLUDE and not Append Structure. In order to get the data for these fields do I need to write the ABAP code. Or just unhiding th
-
I just restored my phone to change my itunes account and then it did the dowload for the new software. Now it is asking for a password that I don't know or have. What is the default password?
-
User problem trying to use Control Copy Key
Hi What must be checked for problems when a user try to copy ( ctrl + C ) then paste on Excel and nothing happen?? I've checked Quick Cut and Paste ( ALT+F12 ), with a user works but not with other ( same PC) Thanks in advance. Moderator message - Th
-
Can't install Oracle_cal on linux EL5
Hey everyone, I am having some trouble installing oracle cal on linux EL5. I keep getting the following error when trying to invoke the installer. Does anyone know a solution?: ./gui_install.sh Preparing to install... Extracting the JRE from the inst
-
I have a problem with two PDF's when trying to open them through a link on a web page. The two PDF's open fine with Adobe on my own PC and on the server I have copied it to but when they are opened through a link on a web page (pointing to the server