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 AM

    Sudeep,
    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
    Verena

    Hi 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,
    Oliver

    Hallo 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?
    XIer

    Aamir,
    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 Leaves

    Hi,
    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

  • Abstract Interface and BPM

    If I have a Transformation step in my BPM, whether it is necessary to have the Source and Target Message Interface to be ABSTRACT?
    Thanks

    Mohini,
    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
    Kenneth

    Hi 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 Marlies

    Hi 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,
    Aparna

    Thanks 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