Expression must return the interface type in Transformation Step in BPM

hi,
We are getting below while activating the IP,
Expression must return the interface type SI_Send_AA
Expression must return the interface type SI_Get_AA
No semantic errors found
We have a Transformation Step in BPM,
In OM, Source is SI_Send_AA and Target is SI_Get_AA
Also Container variable points to  the same Abstract SI's.
Few Thread's for Same are error are:
Error in  BPM
expression must return the interface type
Transformation step in ccBPM scenario
Error while compiling Business Process
Even after checking these i am getting this Exception.
Please Help!
Thanks,
Mayank

Also Container variable points to the same Abstract SI's
Are you sure that you are using Abstract Message Interfaces only and that these are referring to relevant container variables.
Normally it happens that there is some mis-match between the message types/ interfaces that we use in the mapping and that we use in the BPM.
If still not solved, then delete the Transformation step --> save --> activate......then again Edit the BPM to include the Transformation Step.
Regards,
Abhishek.

Similar Messages

  • Expression must return the interface type

    <b>Dear XI experts,</b>
    My scenario is ;
    The input parameter for the RFC is send through a file and the response from the RFC comes into XI which is then written into a File (dummy). Finally I want to have Transformation(Message Mapping to IDoc) and send to Target system.
    The diagram of the following is shown below;
    http://photos1.blogger.com/blogger/3087/1595/1600/6.jpg
    I am getting Error in Transformation Step, <b>EXPRESSION MUST RETURN THE INTERFACE TYPE <Target message>. </b>
    <b>
    Pls advice, Anybody ??</b>

    Hi Faith,
    ->This error occurs when the interface mentioned in the interface mapping and in the container difference.
    ->Here in your case the target Message Interface in the Interface Mapping and the Interface of the container <b>modify</b> are different. Do check that.
    Hope this helps.
    Regards,
    Jesse.

  • Error in Transformation step of BPM

    Hi all,
    In BPM, I have defined a transformation step. For this, I have specified the Interface mapping which is between 2 abstract asynchronous interfaces. The Message Mapping for this Interface mapping involves multi-mapping (1:n) of the messages used.
    Also, for naming convenience, I have kept the names of the abstract async interface and its message type same.
    I have created containers for the message types of the both interfaces. The container for target message is of type 'multi-line'.
    When I checked the integration process, errors (red boxes) appear for both - the source and target messages in the transformation step properties window. The error text says <b>"Expression must return the interface type < Name of abstract message interface >"</b>
    What could be the cause of this error ?
    Any help would be appreciated.
    Thanks in advance.
    -Shankar

    Hi Shankar,
    Are you splitting the messages i.e 1 message into N messages ? If so, do  you have multiple message types in the Message Mapping in the target side ?
    Anyway, just recheck the Abstract Interfaces are activated. And reassign the container variables with Source message Absract Interfaces and Target message Abstract Interfaces.
    The error tells that, there is somewhere occurence problem.. So that is mismatch with the Message Interfaces..because you have selected the Multiline in the COntainers right ? Check without that..if it is ok, to narrow down the debugging..
    Regards,
    moorthy
    Regards,
    Moorthy

  • Multiple source messages in transformation step in bpm

    Hello,
    I am using a transformation step in bpm, I have two source messages and 1 target message, I got an error 'expression must return the interface type XXXX(in source message)', I checked my source message in interface mapping and the container element, the types do match.
    All the interfaces in the OM as well as in the bpm container definition are of type abstract.
    It seems to have something to do with the interfaces belonging to different software components?
    I declared a usage dependency from one swcv (holding the bpm) to another (holding the abstract interfaces which cause the error in the transformation step), so that I can reference them in the bpm.
    I thought it might have something to do on how  the message interfaces are selected in the operation mapping. so I tried to select the messages through the depencency path, but that was of no help either.
    Have I been clear?
    Any ideas?
    Thanks
    Matthias

    Since no receiver information is available in the transformation step, there can be no value mapping within the transformation  step. If the messages to be transformed give values in different formats, for example different date formats, you must first normalize the values before the messages can be processed in the process. To do so, define a message mapping with a corresponding value mapping.
    Check the help page below for reference
    http://help.sap.com/saphelp_nwpi71/helpdata/en/27/db283fd0ca8443e10000000a114084/content.htm

  • BPM "Expression must return multiline value"

    Hi
    i was Creating a scenario file to file Message Split using BPM. in that i have done all the IR part and after that i created integration process.but when i m check this Integration process, i got an error like "Expression must return multiline value" it display into Receiver Determination.
    Can somebody who help me...
    regards
    Bhaumik

    check for the following:
    1. in your messages tab in MM and IM you have changed the occurance for the multiple message.
    2. Do a f7 on your BPM and confirm it is error free.
    3. chk your transformation step have you given the correct container variable there ? (chk for the correct multiline or non-multiline interface)
    4. recheck wherever the multiline container is used (in case of 1:N or N:1 u need to have the multiline option)
    also has your process made an exit from the BPM ?
    Message was edited by: Shabarish Vijayakumar

  • Must have the same type and the same length

    hi experts,
    DELIVERY_PLANT  data type STRING    //from proxy class, can't be changed
          BEGIN OF ty_citem,
              article type matnr,
              werks   type werks,
           END OF ty_citem,
    LOOP AT it_items INTO lv_item.
        lv_citem-article = lv_item-article.
        lv_citem-werks = lv_item-DELIVERY_PLANT.
        APPEND lv_citem TO GT_citem.
        clear lv_citem.
      ENDLOOP.
    SELECT matnr werks
           from marc
           into table GT_marc
           for all entries in GT_citem
           where matnr = GT_citem-article  and werks = GT_citem-werks.
    error message here:When you use the addition "FOR ALL ENTRIES IN itab", the fields "WERKS"
    and "GIT_CITEM-WERKS" must have the same type and the same length.

    Hi,
    You know for statement FOR ALL ENTRIES in where clause data type and length should be match.
    As per my understanding ,here GT_citem-werks is a string. But you know data type of WERKS_D is char with lencth 4.
    Use the below select statement.
    SELECT matnr werks
           from marc
           into table GT_marc
           for all entries in GT_citem
           where matnr = GT_citem-article  and werks = GT_citem-werks+0(4).
    Thanks.
    Subhankar

  • Error - The file must match the template type. Upload one file per language

    hi,
    Error - The file must match the template type. Upload one file per language and territory combination.
    i am getting above error while registering RTF template in oracle application e -business suite using XML publisher admistrator responsibility.
    My work :
    i generated xml output using concurrent program.
    for this i used standard PO report,
    the executable name: POXPRPOP.
    i designed the template using MS Office word (for RTF template)
    for this :
    <?start: body?>
    <? for-each: G_Headers?>
    VENDOR:
    <?POH_VENDOR_NAME?>
    <?POH_VENDOR_COUNTRY?>
    PURCHASEORDER NO.
    <?POH_PO_NUM?>
    SHIP TO:
    <?C_COMPANY?>
    <?POH_SHIP_ADDRESS_LINE1?>
    <?POH_SHIP_COUNTRY?>
    BILL TO:
    <?C_COMPANY?>
    <?POH_BILL_ADDRESS_LINE1?>
    <?POH_BILL_COUNTRY?>
    <?end for-each?>
    <?end body?>
    saved this file as "Purchasing.rtf" on desk top
    i registered data definition
    name:purchase order data definition.
    code : short name of concurrent program.
    i try to create template Or register the template in oracle e-business suite.
    name: purchasing template
    code: concurrent program short name
    type : RTF.
    file : browse from desk top (purchasing.rtf)
    language:english
    territory: US.
    but i am getting above error
    could any one help to come out of this problem.
    thank you
    regarding,
    sai krishna@cavaya

    Hi,
    I am getting the error as
    The file must match the template type. Upload one file per language and territory combination.
    I have checked the template name. It doesn't exist already. Please help me.
    Thanks in Advance,
    Jeganathan

  • The interface type is valid, but the specified interface number is not configured

    Hi
    I'm all new to using LabVIEW, which I have to use for a project. I'm trying to make a setup with a Keithley 2000 multimeter and an Agilent U2722A SMU. But I can't figure out how to get these instruments to communicate with LabVIEW. I can see and send commands to the Keithley 2000, but not the Agilent U2722A, with Agilent Connection Expert. But when I use LabVIEW I can't see any of them, and if I use the drivers I've found with "NI Instrument Driver Finder - Configure Search" I pops up with an error message saying
    "Error -1073807195 occurred at VISA Open in Keithley 2000.lvlib:Initialize.vi->Keithley 2000 Read Multiple.vi?            
    Possible reason(s):
    VISA:  (Hex 0xBFFF00A5) The interface type is valid, but the specified interface number is not configured.?"
    I've read all the threads I could find about this problem, but none of them helped. I've checked that the NiVi488.dll is checked in MAX under the VISA options. When I open the VISA Interactive Control I see an ASRL1>>ASRL1::INSTR and ASRL10>>ASRL10::INSTR. I don't know why it says ASRL, when I'm using an USB/GPIB interface, but the Keithley 2000 have 10 as the address. (the Agilent U2722A is connected directly by USB)
    Assume I know nothing.
    Thanks

    I'm using the GPIB-USB-HS. I also used this on the development PC when I exported the hardware configuration.
    This shows up in my MAX config and when I scan instruments, all of them show up. I can query them in MAX no problem.
    My installer includes all the .exe's from my project. As I said, I've done this with my previous 2009 installer without any issue. I upgraded my installer since I upgraded my project for version 2013. The error only happens when I run my code.
     

  • What are the different type of transformations in ODI?

    Hi all,
    I'm new to ODI tool.My source is Flat files and target is Teradata.Please tell me what are the knowledge modules i have to use?
    In ODI tool what are the different types of transformatios are there.Advance thanks
    Regards
    suresh

    Hi,
    Check the following KMs
    LKM File to Teradata
    IKM File to Teradata
    ODI have some basic transformation like Joiner, Filter etc .
    You can refer the User Guide for details about these transformations .
    Thanks,
    Sutirtha

  • Having an inherited function return the derived type instead of the base type

    I am writing two classes in C#:
    A Matrix class
    that represents a general Matrix with n-by-m dimensions
    A SquareMatrix class
    that inherits from Matrix and
    has the constraint of being n-by-n
    The reason I designed it this way is because square matrices support additional specific operations like calculating the determinant or the inverse, so being able to guarantee that those functions are avaliable with the specific type you're using are nice things
    to have. Additionally it would support all the regular Matrix operations and can be used as a Matrix
    I have a function in Matrix called getTranspose().
    It calculates the transpose of the Matrix and returns it as a new Matrix
    I inherited it in SquareMatrix,
    but because the transpose of a square matrix is guaranteed to be square matrix, I also want it to return a SquareMatrix
    I am unsure about the best way to do this.
    I can re-implement the function in SquareMatrix,
    but that would be code duplication because it's essentially the same calculation
    I can use implicit typecast operators, but if I understand correctly that would cause unnecessary allocations (upcast SquareMatrix to Matrix,
    create a new Matrix as
    the transpose, create a new SquareMatrix during
    typecasting and throw away the tranposed Matrix)
    I can use explicit typecast operators, but it would be stupid to have to typecast the transpose of a SquareMatrix explicitly,
    and it also has the same problem of the implicit operator with unnecessary allocations
    Is there another option? Should I change the design of having SquareMatrix inherit
    from Matrix?
    This problem also applies to operators. It seems that I have to either implement typecasting operators which might cost in performance, or have to re-implement the same code.

    Inheritance not helping to eliminate repetition and typecasts is often a sign that generics would help. You can do something like:
    public T getTranspose<T>()
    // or non-member function
    T getTranspose<T>(T input)
    I haven't fully worked it out, but it seems it might get awkward on the calling side. I know C# does some inference with generic methods, but I don't know C#, so I'm not familiar with the details. That might be the way you have to go, though, if you want
    full compile-time type checking with the least amount of repetition in the implementation.
    Another option would be to create private helper functions, then pass in the result type you want, for the helper to populate, like:
    public SquareMatrix getTranspose() {
    SquareMatrix result = new SquareMatrix();
    transposeHelper(result);
    return result;
    This gives you more boilerplate on the implementation side, but at least it isn't full repetition.
    A third option is just to check if the result is square in the Matrix implementation, and return a
    SquareMatrix if it is, like:
    public Matrix getTranspose() {
    Matrix result;
    if (resultIsSquare())
    result = new SquareMatrix();
    else
    result = new Matrix();
    // calculate result
    return result;
    This has the advantage of not needing any implementation at all for getTranspose() in
    SquareMatrix, but at the expense of requiring type checking of the return value at the call site. It also works for cases like multiplying two non-square matrices that happen to give a square result. You give up most compile-time type checking,
    though.
    If your application happens to mostly require run-time instead of compile-time type checking anyway, you might as well just give up the different types and throw an exception if you call a method that a non-square matrix doesn't support. I believe this is
    the approach most existing libraries take, especially since there are other conditions than being non-square that can cause methods like
    inverse() to fail.
    Speaking of libraries, there are a lot of good ones out there for matrix math, that are already heavily tested and optimized. Don't reinvent the wheel if you don't have to.

  • WCF returning "The content type text/html of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8)"

    I have a WCF service I am trying to run on a new installation of 64-bit Windows Server 2008 IIS. Although it runs fine on Windows 2003 IIS, it is throwing the error in the thread title, which appears to be a server config issue, but I am not sure. Googling and searching the MSDN forums did not turn up a solution. I tried running WCF Logging, but that didn't help either.
    Does anyone have any suggestions on how to solve this probelm?
    Here is the error:
    The content type text/html of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    <title>500 - Internal server error.</title>
    <style type="text/css">

    I have the same issue on Windows 7 machine. The service works fine using a SoapUI client but a .Net client faisl to get a response.
    Hi,
    I have a WCF service which works perfectly when using SoapUI but throws error in my .Net client.
    {"The content type text/html; charset=UTF-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first
    1024 bytes of the response were: '<HTML><HEAD><link rel=\"alternate\" type=\"text/xml\" href=\"http://xyz.mysite.com/ysa/Broker.svc?disco\"/><STYLE type=\"text/css\">#content{ FONT-SIZE: 0.7em;
    PADDING-BOTTOM: 2em; MARGIN-LEFT: 30px}BODY{MARGIN-TOP: 0px; MARGIN-LEFT: 0px; COLOR: #000000; FONT-FAMILY: Verdana; BACKGROUND-COLOR: white}P{MARGIN-TOP: 0px; MARGIN-BOTTOM: 12px; COLOR: #000000; FONT-FAMILY: Verdana}PRE{BORDER-RIGHT: #f0f0e0 1px solid; PADDING-RIGHT:
    5px; BORDER-TOP: #f0f0e0 1px solid; MARGIN-TOP: -5px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; PADDING-BOTTOM: 5px; BORDER-LEFT: #f0f0e0 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #f0f0e0 1px solid; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e5e5cc}.heading1{MARGIN-TOP:
    0px; PADDING-LEFT: 15px; FONT-WEIGHT: normal; FONT-SIZE: 26px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 3px; MARGIN-LEFT: -30px; WIDTH: 100%; COLOR: #ffffff; PADDING-TOP: 10px; FONT-FAMILY: Tahoma; BACKGROUND-COLOR: #003366}.intro{MARGIN-LEFT: -15px}</STYLE><TITLE>Broker
    Service</TITLE></HEAD><BODY><DIV id=\"content\"><P class=\"head'."}
    I have the same service hosted on my local machine and when I point to the local service I can execute the operation with no issues. The message encoding is Soap11. I tried changing to Soap12 but I get exact same error. Any ideas greatly appreciated.
    I do have windows Activation Features installed and I am using .Net Framework 4.
    Thanks
    Sofia Khatoon

  • Sync Send step after transformation step in BPM

    Hi Gurus,
    I have an interface where I am loading the data into an Oracle database and getting the response back (insertcount) from the database. Based on the response, I have to execute a stored procedure in another sync send step.
    I am doing perfectly alright until the transformation step. The sync send step after this step has the following entries.
    Sync interface: MI_LG_SP_INPUT_ABS
    Request Message: sp_lg_rec
    Response Message: sp_lg_snd
    While doing 'check(F7)', I am getting the following error.
    <b>Interface MI_LG_SP_INPUT_ABS for element sp_lg_poc_step2 is not abstract/asynchronous</b>
    The request message for this sync send step is the target message of the transformation step.
    This error is bugging me since 2 days. Please help me with this.
    Thanks
    Kalyan

    Sravya,
    I know what I did now. For my send sync interface which is MI_LG_SP_INPUT_ABS, I have unnecessarily created a container element and which caused this problem. From your post, I rechecked it and found that I don't need a container element for my abs/sync interface as I already have container elements for request and response which are abs/asynch.
    I gave you full points, thinking that you will come for my rescue in the future (just kidding!!!).
    Thanks again,
    Kalyan

  • Exception is not showing in transformation step in BPM after activating

    Hi ,
    I want to cancel the process if any mapping error occur in transformation step for that I designed by below steps.
    1.Block step ( mentioned exeption)
    2. transformation step ( Inside block mentioned block step exception)
    3. exception branc inside block
    4. contorl step (Cancel process inside exception branch)
    after activating the BPM , in transformation step exception is not showing .
    How to resolve this issue how
    Please help me
    Regards

    2. transformation step ( Inside block mentioned block step exception)
    Did you define the Exception Handler properly and also used the same in the Exception Branch? If you do a check in IR for your BPM (F7) do you get any error/ warning messages?
    Regards,
    Abhishek.

  • "The type of the expression must be an array type but it resolved to..."

    I have a Customer class.
    I have a CustomerDataHelper class that has a method that creates a Customer[][] , populates it with 10 Customers and returns it.
    public static Customer[] getCustomerData(){
    return new Customer[]{
    new Customer(10 ,"Hoertz", "Richard", "123 Main St.", "San Antonio",
                                  "TX", "78230"),
    new Customer(20, "Smith", "John", "258 Austin Blvd", "Austin",
                                  "TX", "78501"),
    }               In main I'm calling the method in CustomerDataHelper, getCustomerData, and populating Customer[] cst.
    public static void main(String[] args) {
    Customer[] cst = getCustomerData();     
    for(int i = 0; i < cst.length; i++){
    int j = 0;
    if (cst[i][j]== 20 || cst[i][j] == 50 || cst[i][j]== 80
    || cst[i][j]==100)
    System.out.println(cst);
    j++;
    My problem is my if statement, it gives me the error message listed in my Subject line for each cst[][]. It resolves it just fine in the for statement and the stdout statement, but not the if statement.
    Can someone please explain?

    You declare cst as an array of Customers, but then you access it like
    cst[i][j] as if it was a double array of somethings.
    Possibly you mean something likecst.getId() == 20
    where getId() is some method of the Customer that returns whatever
    that number argument in the Customer constructor is.

  • "File Dialog" Express VI returns the wrong path when the user selects the desktop

    In labview 8.0.1 with Windows
    XP, the File Dialog Express VI seems to return something other than the path
    selected by the user when configured to browse for folders (or files and
    folders) and the user selects the desktop.
    I can't determine exactly when it works and when it fails, but it always seems
    to fail if the user selects the desktop from the places bar (the shortcuts on
    the left side of the dialog) or from the drop-down menu at the top of the
    dialog and then clicks the "Current Folder" button to dismiss the
    dialog.  In this case it always returns whatever path is wired to the
    "Start Path" terminal.
    If the user navigates to the desktop with the "Up One Level" button
    or by selecting the actual desktop directory under Documents and Settings, the
    correct path is returned.
    If the user selects a file before clicking the desktop icon, then clicks
    "Current Folder" the correct path is returned.
    If the user clicks the desktop icon, clicks open, then clicks "Current
    Folder" the correct path is returned.
    It's possible to work around this bug in most cases by setting the start path
    to the desktop.
    Has anyone seen this behavior before?
    Can anybody verify this behavior by running the attached VI?
    In the past, when I've reported issues like this I've received responses from
    NI engineers that basically said "Thanks, but we already knew
    that".  Is there anywhere that users can search the list of known
    bugs and avoid wasting time tracking down issues that are already understood by
    NI?
    Thanks,
    Adam Brewster
    Attachments:
    File Dialog Test.vi ‏39 KB

    I'm on 8.2 and I can't get it to fail no matter how I select the desktop. I haven't tried it in 8.0, but I imagine that if this really is a bug, they did know about it and fixed it with 8.2. If this causes a real problem for you, I would suggest upgrading if you can.

Maybe you are looking for