Error / BUG in BPM SAP PI7.1 "Expression must not return a multiline value"

Hey experts,
I try to use a MULTILINE interface in an integration process, but when I try to select the multiline interface in the sending Step (asynch), then I can´t select a INDEX variable? ...
See here: Picture of ERROR
I tried my steps with a XI3.0 in exactly the same way and it works. Is this a bug in the PI? We have Service Package 04 (initial Shipment).
Does anyone has an idea?
Thanks a lot for fast help
Rgds,
Steffen

Hi,
I tested it on a PI 7.1 SP 8 and there it works.
What you could try is to export your Integration Process from XI 3.0 (you said it's working) and import it in your PI 7.1.
Regards
Patrick

Similar Messages

  • BPM collection pattern - Expression must not return a multiline value

    Hi,
    I am trying to create an integration process to collect messages - when I run the check function I get the message 'Expression must not return a multiline value' - I have checked everything and cannot find what is causing this message.  When I click on the message I get taken to the transformation step properties.
    Any ideas?
    Regards
    Ian

    HI,
    Your Interface Mapping should be of N:1 type.
    i.e occurence of your source message should be of 0..unbounded and target message should be 1.
    Once you change Interface Mapping, you need to change occurences of corresponding Message Maaping.
    Use this interface mapping in your Transformation Step in BPM, where you collect all the messages.
    Hope this helps,
    Regards,
    Moorthy

  • Error: Expression must not return a multiline value

    Hi all,
    I am doing a file to file scenario. My input file has more than one record. I have to validate for each of these records and send back the erroneous records in a file to the source folder.
    I am using BPM for this. In my BPM, i have some multiline container elements. When i try to activate my BPM, i am getting an error saying: <b>Expression must not return a multiline value.</b>
    Can anybody tell me why this error is coming? Also i want to know what type of mapping i have to do to split my source file.
    Regards,
    Divija.

    "Can anybody tell me why this error is coming? Also i want to know what type of mapping i have to do to split my source file."
    Go through the following blogs which give step-bystep approach for split mapping using BPM:-
    1. /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    2. /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
    Also, you might want to look at this, where a BPM is not required..i think you can avoid a BPM altogether if you have very little validation..
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    Regards,
    Sushumna

  • Expression must not return a multilne value

    Hi
    I am trying to create PurchaseOrder message via BPM.
    The target MI has:
    One Header record
    Unbounded Items records
    In BPM, Fork of 2 braches is created to recieve Header, another branch use looping to received Items and store into ItemsList
    After the fork, a tarnsformation is use to create target MI, which the source contains:
    Header (single record) and
    ItemList (multiline with Item record)
    Now the problem, when I do a check, I always hit the error: "Expression must not return a multilne value"
    However if use :
    Header (single record) and
    Item (single Item record)
    OR
    HeaderList (multiline record) and
    ItemList (multiline Item record)
    It does not generate this error.
    I seems the tarsnformation does not allow mixing of "Multiline" and "Singleline" for N:1 transformation???
    Please advise
    //jack
    Message was edited by: JackLim

    Hmmmmm ...
    >>>
    tarnsformation is use to create target MI, which the source contains:
    Header (single record) and
    ItemList (multiline with Item record)
    Recheck the parameters of the transformation step

  • Error: The sap bw system must not be operated in client 000

    Hi
    I login as a client "200" and create new user "imran" and then login as a client 200 and user imran successfully but when I goto T.code RSOR it shows "the sap bw system must not be operated in client 000" when I check the status it shows client 200 and user imran.
    so what is the solution??
    Regards
    Imran

    hi
    Yes I create new client "200" in a sap* then I login as a client "200" user "sap*" and password "pass" then create new user "imran" using copy DDIC then login as client 200 and user imran but result is same.
    Edited by: iskhan on Nov 5, 2009 7:24 AM
    Edited by: iskhan on Nov 5, 2009 11:36 AM

  • Execute Method must not return a resultSet

    Hi.
    I am using DataModifyQuery to insert a record in MS SQL. On that Table there is one trigger defined whcih in turn insert data into some other table. in case there is any error the trigger return a error message.
    When i execute the Sql with DataModifyQuery and there is a error return from the trigger then Toplink gives me a error message.
    Execute Method must not return a resultSet
    how can i over come this sistuation.
    Thanks.

    Nadir wrote:
    I was lost. Right, there was no return statement. Below works now
    public String getIPAddress(){
    String hostip = "";
    try {
    hostip = InetAddress.getLocalHost().getHostAddress();
    System.out.println("ip is "+hostip);
    } catch (UnknownHostException e) {
    hostip = e.getMessage();
    return hostip;
    -----It compiles. I wouldn't say it works. If I call a method getIPAddress(), I expect the String I get back to be an IP address. I don't want to have to parse it to determine that it's not an error message. That defeats the whole purpose of the exception mechanism. If that method can't get the IP address, it should throw an exception. In this case, there's no reason to catch the exception; just let it propagate up out of that method.
    Beginners often seem to think that exceptions are something that just arose on their own out of the language, and the designers had to add try/catch in order to be able to stop them from preventing our code executing. That's not the case. They were deliberately added to the language as a better way of indicating an error than checking return values at every step.

  • Query from OCI-11.2.0.3 library to 10g Express DB not returning results

    Hi,
    I am trying to fetch column data using the following query run on 10g Express DB running on Windows 7.
    select a.column_name, a.data_type, a.data_length, a.NULLABLE, nvl(c.CONSTRAINT_TYPE, 0), nvl(e.index_type, 0) from
    dba_tab_cols a left join dba_cons_columns b on ( a.OWNER=b.owner and a.TABLE_NAME=b.TABLE_NAME and a.column_name=b.column_name)
    left join dba_constraints c on (b.CONSTRAINT_NAME=c.CONSTRAINT_NAME and b.OWNER=c.owner and b.TABLE_NAME=c.TABLE_NAME)
    left join dba_ind_columns d on ( a.OWNER=d.table_owner and a.TABLE_NAME=d.TABLE_NAME and a.column_name=d.column_name)
    left join dba_indexes e on (d.index_name=e.index_name and a.OWNER=e.owner and a.TABLE_NAME=e.TABLE_NAME)
    where a.table_name=:TBLNAME
    My VC++ application is linked against "instantclient-sdk-nt-11-2-0-3-0\lib\msvc\oci.lib".
    Calls to OCIStmtPrepare2 and following OCIBindByName are succeeding.
    text inputval[32] = {'\0'};
    ub2 inputvallen = 32;
    OCIBind *pbnd = 0;
    ret = OCIBindByName(stmthp, &pbnd, errhp, (text*)":TBLNAME",
    strlen(":TBLNAME"), (dvoid*)inputval,
    (sword)inputvallen, SQLT_STR, (dvoid*)0,
    (ub2*)0,(ub2*)0, (ub4)0, (ub4*)0, OCI_DEFAULT);
    I am setting the TBLNAME in single quotes in inputval variable before the call to OCIStmtExecute, which is also passing.
    But, OCIStmtFetch2 always returns 0 rows (OCI_NO_DATA).
    If I change this query to use the tablename explicitly in the above select statement, it works fine and I get rows > 0.
    What could be wrong in this call to OCIBindByName? Or is there a compatibility issue between OCI-11.2.0.3 library and 10g Express database?
    Please guide.
    Thanks and Regards,
    - ganesh

    What could be wrongDunno, if you can get the SQL working outside the OCI setup must be something else where the code isn't handling the :TBLNAME as expected.
    This forum {forum:id=168} may get better help there or one of the other programming forums.

  • I get an error when i try to execute a function that returns a date value

    Hi,
    I'm new in ODP.NET, i'm make a package that contains a function that returns a date i.e.
    Package Body General_pkg is
    Function Get_Day Return Date is
    vd_day date;
    Begin
    select sysdate into vd_day from dual;
    return vd_day;
    end Get_Day;
    End General_pkg;
    i use the next code to execute the function:
    OracleCommand cmdData = new OracleCommand("General_pkg.Get_Day", cnx);
    cmdData.CommandType = Commandtype.StoredProcedure;
    OracleParameter PRM;
    PRM = new OracleParameter();
    PRM.ParameterName = "VDATE";
    PRM.OracleDbType = OracleDbType.Date;
    PRM.Direction = ParameterDirection.ReturnValue;
    cmdData.Parameters.Add(PRM);
    try
    cmdData.ExecuteNonQuery();
    catch(OracleException e);
    When i execute this code, i have and exception, which say "identifier GENERAL_PKG.Get_Day must be declare..."
    Obviously the package is correctly created in ORACLE i tested first in sql plus and it works but in ODP.NET they don't recognize the package or the function i don't know... please help!!!

    OOOOOPSS.... i forgot that i change the user in my conecction string that's why it didn't work...
    i guess i had to much beer last night.;. :)
    thanks.

  • Please help!!! This expression must have a constant value

    I try to work with cfc and cfinvoke and not sure why I got this error. Searched
    in google for answer but still don't get any. Can anyone help please...not sure where
    I had it wrong...I thought my codes should work (?)
    When a form is submitted I have this codes in formaction.cfm, I captured all the form fields in a structure:
    <CFSET st_Registration = {Salutation="#Trim(Form.Salutation)#", FName = "#Trim(Form.FName)#", MName = "#Trim(Form.Mname)#",LName =  "#Trim(Form.LName)#" .......etc }/>
    Then I set all the required fields:
     <CFSET ReqFields ="Salutation,FName,LName,Addr1,City,State,Zip,Country,Phone,Email,username,password">
    <!--- Then send the structure and req. fiels list to a function located in a component to verify required fields ---><cfset CreateUserInfo = createObject("component", "airbucks.cfcomp.VerifyInput").init()> 
    <CFINVOKE component="#CreateUserInfo#" method="Verify_ReqFields" st_Registration = "#st_Registration#" RequiredFields ="#ReqFields#" returnvariable="VerifyResult">
    <CFIF #VerifyResult# IS "">
    <cfdump var="#st_Registration#">
    <CFELSE>
      <CFIF #st_Registration["Country"]# IS "USA">
    <CFINCLUDE template="registration_ret.cfm">
      <CFELSE>
    <CFINCLUDE template="registration_other_ret.cfm">
      </CFIF>
    </CFIF>
    <!--- Below is part of the component with the function for checking required fields --->
    <cfcomponent displayname="VerifyInputData" output="false"> <CFFUNCTION name="Init" access="public" returntype="any" output="false" hint="Returns an initialized component instance.">
     <!--- Return This reference. --->
     <cfreturn THIS />
     </CFFUNCTION>
     <!--- Verify required fields --->
     <CFFUNCTION name="Verify_ReqFields">
     <cfargument name="st_Registration" type="struct" required="true">
     <cfargument name="RequiredFields" type="string" required="true"> 
    <!--- check if req. fields are blank --->
     <CFSET ErrorList = "">
     <cfloop collection="#arguments.st_Registration#" item="KEY">
     <CFIF #Trim(st_Registration[KEY])# IS "">
     <CFSWITCH expression="#Trim(KEY)#">
     <CFCASE value="#arguments.RequiredFields#">
     <CFSET ErrorList = ListAppend(ErrorList, "#KEY#")>
     </CFCASE>
     </CFSWITCH>
     </CFIF>  
    </cfloop>
     <CFRETURN ErrorList >
     </CFFUNCTION>
      </cfcomponent>
        Here is the error:  
    The following information is meant for the website developer for debugging purposes.
    Error Occurred While Processing Request
    This expression must have a constant value.
    The error occurred in C:\Inetpub\wwwroot\AirBucks\registrationaction.cfm: line 55
    53 :                              
    54 : <!--- Verify required field based on the required list set above --->
    55 : <cfset CreateUserInfo = createObject("component", "airbucks.cfcomp.VerifyInput").init()>
    56 : <CFINVOKE component="#CreateUserInfo#" method="Verify_ReqFields" st_Registration = "#st_Registration#" RequiredFields ="#ReqFields#" returnvariable="VerifyResult">
    57 :      

    Thank you and I'll change my codes.
    When I did the following, I still get the same error.
    Isn't it CreateUserInfo is the object?
    <cfset CreateUserInfo = createObject("component", "airbucks.cfcomp.VerifyInput").init()>
    <CFSET VerifyResult = CreateUserInfo.Verify_ReqFields(st_Registration, ReqFields)> 
    Using cfinvoke used to work.
    The following information is meant for the website developer for debugging purposes.
    Error Occurred While Processing Request
    This expression must have a constant value.
    The error occurred in C:\Inetpub\wwwroot\AirBucks\registrationaction.cfm: line 54
    52 : <!--- Verify required field based on the required list set above --->
    53 :
    54 : <cfset CreateUserInfo = createObject("component", "airbucks.cfcomp.VerifyInput").init()>
    55 : <!---
    56 : <CFINVOKE component="#CreateUserInfo#" method="Verify_ReqFields" st_Registration

  • 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.

  • 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

  • Error after upgrading from  sap b1 pl 35 to pl 49

    hello sap experts 
    iam getting the following error after upgrading from  sap b1 pl 35 to pl 49 this error is coming if we have given round off or discount in the below cell
    "Discount deviates from authorised ranges (sales oreder-discount%for document) [message 439-15] pls make it as soon as possible an i will be thankful to those guys .
    regards
    Jenny

    Hello Jenny,
    You may check by supreuser account first to see if you got the same error.  If not, it probably just related to user authorization.  If yes, it must be a bug.
    Thanks,
    Gordon

  • SAP PI7.31/7.4

    Hi all
    can you tel me the main difference of SAP PI 7.3.1 and 7.4?
    Thanks & Regards
    Siva

    Hi Siva,
    Below are my findings
      7.3 Features
    Single java stack
    With only having a JAVA stack it will reduce the total costs of operation:
    Installation of PI7.3 with a JAVA stack only can be done within 1 hour instead of the 2 to 3 hours.
    The re-start time of PI7.3 can be done in 90 seconds instead of 2 to 3 hours.
    New packages can be installed within 5 minutes.
    IDOC and HTTP adapters
    The new version of PI the HTTP and IDOC adapter are being moved to the JAVA stack and will be called HTTP_AAE and IDOC_AAE. AAE stands for Advanced Adapter Engine.
    The HTTP_AAE adapter also will be supporting a new message protocol which is the GET option, so POST and GET is possible for HTTP_AAE.
    CCBPM
    When moving to a Java stack only you will lose the ccBPM as this is part of the ABAP stack.
    A successor of ccBPM is in development and will be called BPMN. BMPN will contain the same features as ccBPM and will be graphically presented but in another way. It gives a better overview of the interaction of the Sender and Receiver messages, it's much better presented.
    Central Monitoring
    Monitoring in SAP PI7.3 we will now be able to centrally monitor multiple PI domains. Central monitoring is done via Solution Manager 7.1. The mean reasons to have a central monitoring tool with Solution manger are:
    Growing PI landscape complexity and distribution leads to growing requirements towards a central monitoring
    Handover procedures
    From incident detections to root cause
    Reduce the TCO by simplification of the operations processes e.g. providing one central entry point combining monitors for PI overall status with drill-down options up to host level.
      Reduce the time for:
    System checks
          Enable tight integration with:
    System Monitoring and Root Cause Analysis
    Alerting Infrastructure
    Notification-/ Incident Management
    Relieve productive systems from individual monitoring activities by a central collection of monitoring data.
         AEX (Advanced engine extended)
    AAE changed to AEX. It provides connectivity capabilities of adapter engine as well as design and configuration tools (i.e. E.S.Repository and integration directory) to setup scenarios based on AAE.
    AEX allows a complete stand alone, single stack installation option for net weaver pi.
    Optional Message version (on error/ before routing/after mapping/validation)
    Large (binary) file – file transfer.
    Timeout configuration for communication channels.
    Possibility of importing SQL Tables metadata.
    Graphical support for RFC and JDBC lookup.
    SAP PI 7.4 features
    SAP NetWeaver 7.4 is optimized for SAP HANA. It enables the use of SAP HANA as the underlying database and facilitates the optimization of applications for SAP HANA. It also includes new and changed features for the Application Server ABAP, connectivity, UI technologies, Business Warehouse and security.
    Abstract interfaces are now supported in BPM in PI 7.4
    New installation type Process Orchestration (PRO) combining Java only PI deployment option Advanced Adapter Engine Extended (AEX) and SAP NetWeaver Business Process Management/Business Rules Management
    Support for central Enterprise Services Repository (ESR) for multiple PI domains
    New message-based alerting on Java
    Eclipse-based tools (in NWDS) for ESR and Configuration, latter so called Integration Flows.
    Logging of synchronous messages in the adapter engine
    Enhancements of the Java IDoc adapter
    Runtime improvement via large message queue on the adapter engine
    Directory Content Migration tool to migrate classical configuration objects to Integrated Configuration (as of PI 7.3 SP9, 7.31 SP7. 7.4 SP2)
    Support for parameterized mappings in Integrated Configuration and Integration Flows.
    Support for extended receiver determination in Integrated Configuration and Integration Flows.
    Seamless end-to-end development experience across components based on the Eclipse Development Environment including running sample scenarios provided for trial access in the Cloud, complemented by documentation, tutorials and working code.
    Hope it will helpful
    Thanks
    Bhargava Krishna

  • Runtime constant (Filename) errors out in BPM

    Hi,
    I have a BPMCollectTime scenario to collect the Source files. The filename (Message Mapping/Transformation) from the files is captured in TRANSFORM STEP(before sending them out from BPM). The file is sent to SEND step one at a time.
    Question : Filename of the source file is captured through user defined function.
    Following is the code.
    ================
    String  v_result_time;          //test Variable
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key =  DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    if (key == null) { v_result_time= "Create Key Failed";}
    else
    {v_result_time= "Create Key worked";
    String valueOld = conf.get(key);
    v_result_time = valueOld;
    return v_result_time;
    The Mapping gives a runtime error in the BPM. This is a sporadic error. 
    I have selected the Adapter specific attribute(File name).
    The BPM errors out sometimes? I am not sure if I am missing any setting. If I delete the work item and run the same scenario it works.
    Question 1 : What is the cause of the above error?
    Question 2 : Does BPM support Adapter specific attribute such as filename?
    Kindly Advice.
    Thanks,
    Gowri

    Hi Everyone,
    Thanks for all the help.
    DTN will not change the response filename to source filename. This option cannot be used. The correlation id is defined as response file name. Response filename is fixed for invoice file.
    Here is the example.
    For invoice file name HDTN20070430163110.TXT, response file received is nav1_2b5.rsp file. For HDTN20070430163314.TXT , response file is nav1_2b5.rsp
    So my correlation id is dummy fixed value. I have known the fact that it is not possible to use context object filename.
    Bhavesh -  I have defined transform step for accessing filename using dynamic configuration. Following is the code used in mapping.
    ================
    String v_result_time; //test Variable
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    if (key == null) { v_result_time= "Create Key Failed";}
    else
    {v_result_time= "Create Key worked";
    String valueOld = conf.get(key);
    v_result_time = valueOld;
    return v_result_time;
    ====================================
    BPM errors out sometime with following error
    Component mapping has returned error.
    com/sap/xi/tf/_MM_DTNData_2_DTNFilename_java.lang.NullpointerException.
    Error: Exception CX_MERGE_SPLIT occurred (program: CL_MERGE_SPLIT_SERVICE========CP, include: CL_
    If I delete this workitem and repeat the same scenario, it works. I have still not understood, why the scenario works sometime.
    Kindly Advice.
    Thanks,
    Gowri

  • Error while creating BP -Validity of MKK role must not be restricted

    Hi,
    'Validity of MKK role must not be restricted' message is coming when creating BP in the CIC0 environment. This is happening only to few users in production system. I didn't get any error message when I create BP.
    Appreciate your reply.
    Thanks
    Bala

    Hi Raj,
    Can u send the material  sap isu materials for beginner to my  user profile mail id
    Advance Thanks for help
    Highly points should be added
    Regards,
    srikanth.naga

Maybe you are looking for

  • Phone will NOT sync calendar

    I just bought this very expensive phone that I have spent the last 2 days trying to get to do the simplest task. I should have kept using my reliable Palm PDA. My I-Phone will not sync from my calendar to my phone. I have read every discussion on her

  • Reading  CSV  file

    Hello All, As a requirement for employment retraining, I am trying to write a java program that reads a CSV and implements three other methods: Even though, I have years of experience in non-objects oriented, language, I have a difficulty with this I

  • How to delete Y! conversations folder

    Hi Y! conversations folder has just appeared on my mailbox , how I am not sure, but would like to delete. Have tried many ways and failed.

  • Can I relicense Master Collection as Production Premium

    I own Master Collection CS4 and Production Premium CS4.  I have MC on my old computer.  Now that I'm setting up my new computer, I'd like to run PP on the old computer and Master Collection on the new one. To save myself the hassle of uninstalling al

  • Ipad air 32 gb - pixel problem

    Hello everybody, I just bought ipad air 32 gb two weeks ago. Everything was great until 1 hour ago. Out of thin air my screen has bugged. i think it is a pixel problem. i have a horizontal line across the screen. not all of the screen but a little po