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

Similar Messages

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

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

  • SSRS expression returns #error value in some cells

    Hello,
    What do you think below expression sometimes return #error value in ssrs.
    =SUM(Fields!X.Value / 100 * DateDiff(DateInterval.Day,Fields!s_date.Value,Fields!e_date.Value)) /
    IIF( SUM(DateDiff(DateInterval.Day,Fields!s_date.Value,Fields!e_date.Value)) = 0
    ,nothing
    ,SUM(DateDiff(DateInterval.Day,Fields!s_date.Value,Fields!e_date.Value))

    Hi,
    Use below expression to overcome the issue:
    =
    IIF( SUM(DateDiff(DateInterval.Day,Fields!s_date.Value,Fields!e_date.Value)) = 0
    , 0
    , SUM(   Fields!X.Value / 100 
    * DateDiff(DateInterval.Day,Fields!s_date.Value,Fields!e_date.Value)
      SUM(DateDiff(DateInterval.Day,Fields!s_date.Value,Fields!e_date.Value)) 
    Thanks, Madhu
    Hi madhu,
    I have value for Month field as 0. I have used MonthName function in the report. So im getting error as #Error
    Expression:
    MONTHNAME(Fields!Month.Value)& " "& Fields!Day.Value &" "&  Fields!Year.Value
    Please help me to resolve the issue.
    Thanks in Advance..
    Regards,
    LuckyAbdul

  • 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

  • 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

  • Help with an SQL Expression - Return field value where Datetime is Min or First datetime

    Hello,
    I'm extracting results for a patient population.
    I have 6 SQL expressions that pull back the first date for specific procedures or Medications being ordered.
    These Expressions work perfect - One of the expressions return the first time a lab was ordered.
    I'm using SQL that return
    Min(OrderDatetime)
    From OrderTable
    Where
    LABCode = XXX
    I've now been ask to return the value of this lab result.
    Question: How do I write an SQL expression that return the Lab value of the Min(OrderDatetime)
    Example Data
    PATID* LABID * OrderDatetime * ResultValue
    Pat1*133 * 12/12/2013 11:00:pm * 77
    Pat1*145 * 12/12/2013 11:45:pm * 45
    Pat1*147 * 12/13/2013 12:10:AM * 78
    I was to return 77
    Thanks
    Steve

    Here is what I came up with but I'm getting an error -
    Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <,>,>= or when the subquery is used as an expression.
    Any thoughts on what I'm doing wrong?
    SELECT LABRESULTS.ORDER_VALUE as LabResult
      FROM   LABRESULTS, ORDERS_PROD, PATIENT_HSP
      WHERE
    "ORDERS_PROD"."CSN_ID" = "LABRESULTS"."CSN_ID" AND
    "ORDERS_PROD"."ORDER_PROC_ID" = "LABRESULTS"."ORDER_PROC_ID" AND
    ORDERS_PROD.ORDER_INST IN     (
                                  SELECT Min(ORDERS_PROD.ORDER_INST)
                                  FROM   ORDERS_PROD
                                  WHERE "PATIENT_HSP"."CSN_ID" = "ORDER_PROD"."CSN_ID" AND
                                  ("ORDERS_PROD"."ORDER_STATUS_C"<>4 OR
                                  "ORDERS_PROD"."ORDER_STATUS_C"<>9) AND
                                  "ORDERS_PROD"."FUTURE_OR_STAND" IS  NULL AND
                                  "ORDERS_PROD"."REASON_FOR_CANC_C" IS  NULL AND
                                  ("ORDERS_PROD"."PROC_CODE" = 'LAB7764' OR
                                  "ORDERS_PROD"."PROC_CODE" = 'LAB7765' OR
                                  "ORDERS_PROD"."PROC_CODE" = 'LAB7766' OR
                                  "ORDERS_PROD"."PROC_CODE" = 'LAB7767')

  • Need to check tls/ssl but getting stuck with "You must provide a value expression on the right-hand side of the '-' operator."

    I would like to disable ssl 3 but need to test what sites only support ssl 3. I keep getting stuck with an error that is over my head. I've tried manipulating the string a dozen different ways and keep getting the same error. I am not familiar with -notin
    or how to specify which part of the property its checking: thanks a ton
    http://blog.whatsupduck.net/2014/10/checking-ssl-and-tls-versions-with-powershell.html
    line with issues:
    $ProtocolNames = [System.Security.Authentication.SslProtocols] | gm -static -MemberType Property | where-object{$_.Name -notin @("Default","None") | %{$_.Name}
    You must provide a value expression on the right-hand side of the '-' operator.
    At S:\scripts\test23.ps1:50 char:126
    + $ProtocolNames = [System.Security.Authentication.SslProtocols] | gm -static -MemberType Property | where-object{$_.Name - <<<< noti
    n @("Default","None") | %{$_.Name}
    + CategoryInfo : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : ExpectedValueExpression
    <#
    .DESCRIPTION
    Outputs the SSL protocols that the client is able to successfully use to connect to a server.
    .NOTES
    Copyright 2014 Chris Duck
    http://blog.whatsupduck.net
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    .PARAMETER ComputerName
    The name of the remote computer to connect to.
    .PARAMETER Port
    The remote port to connect to. The default is 443.
    .EXAMPLE
    Test-SslProtocols -ComputerName "www.google.com"
    ComputerName : www.google.com
    Port : 443
    KeyLength : 2048
    SignatureAlgorithm : rsa-sha1
    Ssl2 : False
    Ssl3 : True
    Tls : True
    Tls11 : True
    Tls12 : True
    #>
    function Test-SslProtocols {
    param(
    [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$true)]
    $ComputerName,
    [Parameter(ValueFromPipelineByPropertyName=$true)]
    [int]$Port = 443
    begin {
    $ProtocolNames = [System.Security.Authentication.SslProtocols] | gm -static -MemberType Property | where-object{$_.Name -notin @("Default","None") | %{$_.Name}
    process {
    $ProtocolStatus = [Ordered]@{}
    $ProtocolStatus.Add("ComputerName", $ComputerName)
    $ProtocolStatus.Add("Port", $Port)
    $ProtocolStatus.Add("KeyLength", $null)
    $ProtocolStatus.Add("SignatureAlgorithm", $null)
    $ProtocolNames | %{
    $ProtocolName = $_
    $Socket = New-Object System.Net.Sockets.Socket([System.Net.Sockets.SocketType]::Stream, [System.Net.Sockets.ProtocolType]::Tcp)
    $Socket.Connect($ComputerName, $Port)
    try {
    $NetStream = New-Object System.Net.Sockets.NetworkStream($Socket, $true)
    $SslStream = New-Object System.Net.Security.SslStream($NetStream, $true)
    $SslStream.AuthenticateAsClient($ComputerName, $null, $ProtocolName, $false )
    $RemoteCertificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]$SslStream.RemoteCertificate
    $ProtocolStatus["KeyLength"] = $RemoteCertificate.PublicKey.Key.KeySize
    $ProtocolStatus["SignatureAlgorithm"] = $RemoteCertificate.PublicKey.Key.SignatureAlgorithm.Split("#")[1]
    $ProtocolStatus.Add($ProtocolName, $true)
    } catch {
    $ProtocolStatus.Add($ProtocolName, $false)
    } finally {
    $SslStream.Close()
    [PSCustomObject]$ProtocolStatus
    Test-SslProtocols -ComputerName "www.google.com"

    V2 version:
    function Test-SslProtocols {
    param(
    [Parameter(
    Mandatory=$true,
    ValueFromPipelineByPropertyName=$true,
    ValueFromPipeline=$true
    )]$ComputerName,
    [Parameter(
    ValueFromPipelineByPropertyName=$true
    )][int]$Port = 443
    begin {
    $protocols=[enum]::GetNames([System.Security.Authentication.SslProtocols])|?{$_ -notmatch 'none|default'}
    process {
    foreach($protocol in $protocols){
    $ProtocolStatus = @{
    ComputerName=$ComputerName
    Port=$Port
    KeyLength=$null
    SignatureAlgorithm=$null
    Protocol=$protocol
    Active=$false
    $Socket = New-Object System.Net.Sockets.Socket('Internetwork','Stream', 'Tcp')
    $Socket.Connect($ComputerName, $Port)
    try {
    $NetStream = New-Object System.Net.Sockets.NetworkStream($Socket, $true)
    $SslStream = New-Object System.Net.Security.SslStream($NetStream, $true)
    $SslStream.AuthenticateAsClient($ComputerName, $null, $protocol, $false )
    $RemoteCertificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]$SslStream.RemoteCertificate
    $protocolstatus.Active=$true
    $ProtocolStatus.KeyLength = $RemoteCertificate.PublicKey.Key.KeySize
    $ProtocolStatus.SignatureAlgorithm = $RemoteCertificate.PublicKey.Key.SignatureAlgorithm.Split("#")[1]
    catch {
    Write-Host 'Failed'
    finally {
    New-Object PsObject -Property $ProtocolStatus
    $SslStream.Close()
    Test-SslProtocols -ComputerName www.google.com
    ¯\_(ツ)_/¯

  • SSAS- DAX expression : Is there any DAX function that can return multiple values ?

    Hi,
    Iam in search of a DAX function that can return multiple values as result. please find below scenario where i want to implement the same.
    I have three  Tables: Table A (typeid, Cost, Qty ) ,Table B (typeid, Cost, Qty ) , Table C ( typeid,Typename ) .
    Table A                                       Table B                               
    Table C
    type id  cost  Qty             type id   Cost    Qty                 
    typeid  typename
    1           100    100                3         300     
    300                  1           aa
    2           200    200                4          400    
    400                  2           bb
                                                                                             3           cc
                                                                                             4          
    dd 
    i have to club cost and Qty of two tables(four measures)  as two measures in the  UI report. There are more columns in these tables that restrict the  UNION of the tables.(for the sake
    of understanding , i have not mentioned the othr columns). In the UI report(Execl 2013-power pivot) iam plotting these measures against the
    Table C.Typeid. Hence the measures drill down against each 
    Table C. Typeid as shown below:
    Typeid  Table A.cost  Table A.Qty  TableB.cost  TableB.Qty                              
    1              100             100
    2              200             200
    3                                                    
    300             300      
    4                                                    
    400             400
    My requirement is to club these measures so that the report will be as below
    Type id  cost   Qty
    1          100    100
    2          200    200
    3         300     300
    4         400      400
    Since i cannot club these in model,as a work around, i created a calculated measure in excel(Analyze tab->Calculations->olap tools->calculated measure) with the condition as below:
    new cost = IIF (ISEMPTY(TableA.cost)="TRUE",TableB.cost,TableA.cost)
    new Qty = IIF(ISEMPTY(TableA.Qty)="TRUE",TableB.Qty,TableA.Qty) and dragged these new measures into the report. It was working fine as expected.
    But  this functionality of Creating calculatedmeasure in excel report is possible only in 2013 excel version.
    Now the requirement is to get the same result in 2010 excel. Can you please help me in implementing the same in 2010 excel? or any other alternative method to bring the columns in model itself. I tried to create a measure in table A with DAX expression as
    : new cost :=CALCULATE(SUM(Table B.cost),ISBLANK(TableA.cost)) -> but this will return only 1 result .i need Sum(Table A.cost) also if it is not blank.
    Thanks in advance

    You can use SUMX ( 'Table A', 'Table A'[Cost] + 'Table B'[cost] )
    However, if you install the latest version of Power Pivot in Excel 2010, it supports the ISEMPTY function, too.
    http://support.microsoft.com/kb/2954099/en-us
    Marco Russo http://www.sqlbi.com http://www.powerpivotworkshop.com http://sqlblog.com/blogs/marco_russo

  • [UIX] How To: Return multiple values from a LOV

    Hi gang
    I've been receiving a number of queries via email on how to return multiple items from a LOV using UIX thanks to earlier posts of mine on OTN. I'm unfortunately aware my previous posts on this are not that clear thanks to the nature of the forums Q&A type approach. So I thought I'd write one clear post, and then direct any queries to it from now on to save me time.
    Following is my solution to this problem. Please note it's just one method of many in skinning a cat. It's my understanding via chatting to Oracle employees that LOVs are to be changed in a future release of JDeveloper to be more like Oracle Forms LOVs, so my skinning skills may be rather bloody & crude very soon (already?).
    I'll base my example on the hr schema supplied with the standard RDBMS install.
    Say we have an UIX input-form screen to modify an employees record. The employees record has a department_id field and a fk to the departments table. Our requirement is to build a LOV for the department_id field such that we can link the employees record to any department_id in the database. In turn we want the department_name shown on the employees input form, so this must be returned via the LOV too.
    To meet this requirement follow these steps:
    1) In your ADF BC model project, create 2 EOs for employees and departments.
    2) Also in your model, create 2 VOs for the same EOs.
    3) Open your employees VO and create a new attribute DepartmentName. Check “selected in query”. In expressions type “(SELECT dept.department_name FROM departments dept WHERE dept.department_id = employees.department_id)”. Check Updateable “always”.
    4) Create a new empty UIX page in your ViewController project called editEmployees.uix.
    5) From the data control palette, drag and drop EmployeesView1 as an input-form. Notice that the new field DepartmentName is also included in the input-form.
    6) As the DepartmentName will be populated either from querying existing employees records, or via the LOV, disable the field as the user should not have the ability to edit it.
    7) Select the DepartmentId field and delete it. In the UI Model window delete the DepartmentId binding.
    8) From the data controls palette, drag and drop the DepartmentId field as a messageLovInput onto your page. Note in your application navigator a new UIX page lovWindow0.uix (or similar) has been created for you.
    9) While the lovWindow0.uix is still in italics (before you save it), rename the file to departmentsLov.uix.
    10) Back in your editEmployees.uix page, your messageLovInput source will look like the following:
    <messageLovInput
        model="${bindings.DepartmentId}"
        id="${bindings.DepartmentId.path}"
        destination="lovWindow0.uix"/>Change it to be:
    <messageLovInput
        model="${bindings.DepartmentId}"
        id="DepartmentId"
        destination="departmentsLov.uix"
        partialRenderMode="multiple"
        partialTargets="_uixState DepartmentName"/>11) Also change your DepartmentName source to look like the following:
    <messageTextInput
        id=”DepartmentName”
        model="${bindings.DepartmentName}"
        columns="10"
        disabled="true"/>12) Open your departmentsLov.uix page.
    13) In the data control palette, drag and drop the DepartmentId field of the DepartmentView1 as a LovTable into the Results area on your page.
    14) Notice in the UI Model window that the 3 binding controls have been created for you, an iterator, a range and a binding for DepartmentId.
    15) Right click on the DepartmentsLovUIModel node in the UI Model window, then create binding, display, and finally attribute. The attribute binding editor will pop up. In the select-an-iterator drop down select the DepartmentsView1Iterator. Now select DepartmentName in the attribute list and then the ok button.
    16) Note in the UI Model you now have a new binding called DCDefaultControl. Select this, and in the property palette change the Id to DepartmentName.
    17) View the LOV page’s source, and change the lovUpdate event as follows:
    <event name="lovSelect">
        <compound>
            <set value="${bindings.DepartmentId.inputValue}" target="${sessionScope}" property="MyAppDepartmentId" />
            <set value="${bindings.DepartmentName.inputValue}" target="${sessionScope}" property="MyAppDepartmentName" />
        </compound>
    </event>18) Return to editEmployees.uix source, and modify the lovUpdate event to look as follows:
    <event name="lovUpdate">
        <compound>
            <set value="${sessionScope.MyAppDepartmentId}" target="${bindings.DepartmentId}" property="inputValue"/>
            <set value="${sessionScope.MyAppDepartmentName}" target="${bindings.DepartmentName}" property="inputValue"/>     
        </compound>
    </event>That’s it. Now when you select a value in your LOV, it will return 2 (multiple!) values.
    A couple things to note:
    1) In the messageLovInput id field we don’t use the “.path” notation. This is mechanism for returning 1 value from the LOV and is useless for us.
    2) Again in the messageLovInput we supply “_uixState” as an entry in the partialTargets.
    3) We are relying on partial-page-refresh functionality to update multiple items on the screen.
    I’m not going to take the time out to explain these 3 points, but it’s worthwhile you learning more about them, especially the last 2, as a separate exercise.
    One other useful thing to do is, in your messageLovInput, include as a last entry in the partialTargets list “MessageBox”. In turn locate the messageBox control on your page (if any), and supply an id=”MessageBox”. This will allow the LOV to place any errors raised in the MessageBox and show them to the user.
    I hope this works for you :)
    Cheers,
    CM.

    Thanks Chris,
    It took me some time to find the information I needed, how to use return multiple values from a LOV popup window, then I found your post and all problems were solved. Its working perfectly, well, almost perfectly.
    Im always fighting with ADF-UIX, it never does the thing that I expect it to do, I guess its because I have a hard time letting go of the total control you have as a developer and let the framework take care of a few things.
    Anyway, I'm using your example to fill 5 fields at once, one of the fields being a messageChoice (a list with countries) with a LOV to a lookup table (id , country).
    I return the countryId from the popup LOV window, that works great, but it doesn't set the correct value in my messageChoice . I think its because its using the CountryId for the listbox index.
    So how can I select the correct value inside my messageChoice? Come to think of it, I dont realy think its LOV related...
    Can someone help me out out here?
    Kind regards
    Ido

  • Returning multiple values from a function

    Hello everyone,
    I am pretty new to actionscript and flex and one thing i am not entirly sure it is done is how to get the value in actionscript when returning multple values.
    for example i have the following function:
    public function sayhello():string
         var hello:String="hello World";
         return hello
    var myvalue:String=sayhello();
    trace(myvalue);
    How do go about getting the values of two returns:
    public function sayhello():string
         var strhello:String="hello";
          var strWorld:String="World";
         return strhello,strWorld;
    var myvalue1:String=?????
    var myvalue2:String=???

    To solve this problem you must use a object for storing complex return value.
    You can do it using inline anonymous object:
    public function sayhello():Object
         return {strHello: "hello";strWorld: "World"}
    and accesing result as:
    var obj:Object = sayhello();
    var strHello:String = obj.strHello;
    You may also create a custom class
    class HelloWorldResult{
         public var strHello:String;
         public var strWorld:String;
    and return a new instance of this class from your method:
    public function sayhello():HelloWorldResult
         var hwr:HelloWorldResult = new HelloWorldResult();
         hwr.strHello = "Hello";
         hwr.strWorld = "World";
         return hwr;

  • Return multiple values from a method

    For a school project I have to make a parameter-less constructor that can input values from the keyboard and calculate those values. Now that I have the values how do I return them? I need to return 3 values from this parameter-less method.
    I hoope someone can help.

    Qwertyfshag wrote:
    Here is the wording of the assignment. I have copied and pasted it word for word:
    "Declare and use a no-argument (or "parameter-less") constructor to input the data needed, and to do the calculations."
    Any advice???Find a teacher who isn't an idiot. That sentence is vague ("to input the data needed"? Does that mean that it's supposed to query the user (which is terrible) or that it's supposed to encapsulate the data as hardcoded values, or what?) and is a bad design. Constructors shouldn't do this sort of thing.
    Ok I have done that part and now I want to retrieve the values of the calculations. How can I get those values out of that method What do you mean "that method"? Constructors aren't methods, and they don't return values.
    I suppose you could define a class whose constructor queries the user, and which would have a method to return values. That could be pretty simple; the method signature would be like this:
    Set<Integer> getValues();
    This seems like an advanced problem.It's not advanced; it's just garbage.
    I can't post the code in hear because that may constitute cheating. I am allowed to discuss it verbally but I cannot share code, sorry.You can't get a lot of help then. We can't psychically see what you've done so far.
    In conclusion: I have to have two methods. One method is a constructorConstructors aren't methods. If your teacher told you that they are, then he/she doesn't know what he/she is doing.
    that has NO parameters that will get input from the keyboard (done) and do the calculations (done). The other method must print that values to the screen on separate lines (not done). I don't know how to get the values out of the method.If they're two methods in the same class, then the constructor just needs to store the user input into a field of the class, and the other method can read the values in that field.

  • PL/SQL function/Expression in a default value

    Hi,
    I want to generate a sequence number using oracle sequence and populate a field when user hits create button. I tried using PL/SQL expression in the default value of a field. What is the exact syntax for this. I tried this
    :P18_PROJECT_NUMBER := MNT_PROJECTS_NUMBER_S.NEXTVAL;
    Did not work.
    select MNT_PROJECTS_NUMBER_S.NEXTVAL into :P18_PROJECT_NUMBER
    from dual;
    Did not work. Can anyone help me with this ?
    Thanks
    Naresh

    Naresh - You should never say something "did not work" without saying what happened. It is useless otherwise.
    See Re: Returning PK before insert row and use PL/SQL Function type.
    Scott

Maybe you are looking for

  • Issue in IT2001

    Hi All, I have any issue in IT2001. My requirment is if an employee on sick leave first 6 months no pay and next 6 100% sicknees Pay. I have done setting in PY--> Payroll: Great Britain --> Statutory and Occupational Absences --> Occupational Absence

  • Processor requirements for Safari?

    For my first foray into Apple Discussions, I am going to ask what is probably a very stupid question, but here goes... After updating the software on my OLD iMac at work (to OS 10.4.7, Safari 2.0.4), Safari will not launch. I get one of those "Safari

  • What`s going on with XML Parser version 2.0.2.7?

    Hi, In january, I was told on this forum by Steven Muench to wait version 2.0.2.7 of Oracle XML Parser to correct a textarea bug with <xsl:output method="HTML"... I would like to know what's going on and when should I expect this new version be avail

  • Load webpage within flash page?

    Sorry if this has been answered before, but I'm not sure what to search under. I have a page made in Flash 8 that is mainly an animated background and a menu on the bottom. I want to be able to click one of the buttons on the menu and have a new "win

  • Activation link does not work

    When I click on the activation link (https://deimos.apple.com/WebObjects/Core.woa/Activate/montereylaw.edu/004d93af83 dc73e45cb47dc42255d0419e7c20295e55e41afe46dbbbdb28956715450886c5) I receive an error error message box that says, "We could not comp