Accessing a return String value

Hi there, I think this is simple question, but for a newbie - brain mashed!
I'm trying to access a String value from a Class (Something) into another Class (SomethingElse); can someone direct me in the right direction?
Class Something {
public String stuff( Message msg ) {
String sb = new String();
..some operation..
return sb;
Class Something {
..Need sb value!!
Cheers for the advice!

// ..Need sb value!! -- Here we go
Message myMessage = new Message(); // Does the constructor take arguments? I don't know...
String valueOfSb = mySomething.stuff(myMessage); // <--- You get sb here;) Patrick

Similar Messages

  • 'Query not returning string values as expected

    Hi
    Why would this be happening?
    I have an insert statement that looks like this;
    UNION ALL
    SELECT '59','','last','first','','','','WILLIAMTA','BEB92C5B52566E6594707C69729624BE','','','Senior Officer','Town Name','2','','SUSTAINABLE FOREST MANAGEMENT DIVISION','NAME BRANCH','CURRENT' FROM DUAL
    ...I then want to create an conditional display statement in an apex application that looks like this;
    PLEASE NOT I HAVE REPLACED (the symbols that will not render for not equal to) WITH THE TEXT "NOT EQUAL TO"
    SELECT USERNAME
      FROM sfm_common.sct_parties
    WHERE division NOT EQUAL TO 'SUSTAINABLE FOREST MANAGEMENT DIVISION'
       AND username = :app_userBut it doesnt return anything and I know it should so I do some tests, below;
    1. You will see the first statement returns no records.
    2. In the second statement there is a space between N and the quote, and it returns a record
    3. In the third test if I make the gap really big it still returns a value.
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 8 14:27:55 2009
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> SELECT DISTINCT null
      2    FROM sfm_common.sct_parties
      3   WHERE division NOT EQUAL TO 'SUSTAINABLE FOREST MANAGEMENT DIVISION'
      4  /
    no rows selected
    SQL> SELECT DISTINCT null
      2    FROM sfm_common.sct_parties
      3   WHERE division NOT EQUAL TO 'SUSTAINABLE FOREST MANAGEMENT DIVISION '
      4  /
    N
    SQL> SELECT DISTINCT NULL
      2    FROM sfm_common.sct_parties
      3   WHERE division NOT EQUAL TO 'SUSTAINABLE FOREST MANAGEMENT DIVISION                 '
      4  /
    N
    SQL>Would anyone know why this has happened, I have checked my insert scripts and there is no space at the end of the text in the column named 'division'.
    Ben
    Edited by: Benton on Sep 8, 2009 2:59 PM

    The table contains attributes like this;
    Col_1
    TOMATO
    ORANGE
    APPLE
    NULLSo what I was attempting to do was something like this;
    SELECT col_1 FROM table WHERE col_1 != 'TOMATO'
    I would then expect to see;
    Col_1
    ORANGE
    APPLE
    NULLBut instead I had the following returned;
    no rows selected
    Which is not correct.
    Apparently the fact that the column is 255 characters long is causing a problem, but I really dont understand why because I have other tables where I execute columns that are not the exact length of the content and yet the sort of query that I have used as an example work perfectly fine. For example;
    SQL> SELECT name
      2    FROM table_name
      3   WHERE name != 'HYGIENE MANAGEMENT'
      4  /
    NAME
    ACTION
    APPROVALS
    AUDITING
    BURNING
    COLLECTION
    COMMUNICATION
    COMPLIANCE
    DEVELOPMENT
    DISTURBANCE
    DOCUMENT CONTROL
    ERADICATION
    11 rows selected.
    SQL>And the ddl for the table looks like this;
      CREATE TABLE "TABLE_NAME"
       (     "ACT_ID" NUMBER,
         "NAME" VARCHAR2(50 BYTE) NOT NULL ENABLE,
         "CREATED_BY" VARCHAR2(50 BYTE) DEFAULT 'USER',
         "CREATED_ON" DATE DEFAULT SYSDATE,
         "EFF_FROM" DATE DEFAULT SYSDATE,
         "EFF_TO" DATE,
         "DEFINITION" VARCHAR2(4000 BYTE),
         "STATUS" VARCHAR2(15 BYTE) DEFAULT 'CURRENT' NOT NULL ENABLE,
          CONSTRAINT "TABLE_NAME_CHK1" CHECK ( status IN ('CURRENT','NOT CURRENT')) ENABLE,
          CONSTRAINT "TABLE_NAME_PK" PRIMARY KEY ("ACT_ID");The name field in this instance is 50 characters long and the words 'HYGIENE MANAGEMENT' make up 18 characters.
    Ben

  • Returning String Value

    Hey Guys,
    I have been working on this issue for several days: I
    currently have fds working on tomcat. I was able to to the url and
    the button that I created showed up. However, when I click on the
    button, nothing happens. A String is suppose to return.
    This is my java code:
    public class Test
    public static void main( String[] args )
    new Test();
    public Test()
    System.out.println("Method return value:" +
    getReturnValueFromMethod() );
    public String getReturnValueFromMethod()
    return "123456abcdefg";
    and I am calling the getReturnValueFromMethod.
    ...This is my mxml
    <mx:RemoteObject id="myRemoteObject"
    destination="demoService"/>
    <mx:Button label="Get String"
    click="myRemoteObject.getReturnValueFromMethod()"/>
    <mx:Label
    text="{myRemoteObject.getReturnValueFromMethod.lastResult}"/>
    anyone has any ideas?
    Thanks

    why are you writing this in Java and not actionscript?
    actionscript is even easier then java and (yes somehow thats
    possible)
    i think your issue is System.out.println... thats a console
    command... not a return command.

  • How to define the boolean - String value mapping for SelectBooleanCheckBox?

    I have a SelectBooleanCheckBox component whose value is bind to a bean property of type String.
    <af:selectBooleanCheckbox text="State" label="State" id="sbc1"
    value="#{viewScope.myBean.stateText}" autoSubmit="true"/>
    The expected value for the Bean property is "Accepted" (for true) and "Rejected" (for false).
    Currently, the component return String value "true" for checked and "false" for unchecked.
    How do I set up the component so the boolean value can map to my expected String value?

    Sumit,
    Thanks for the response.
    I read that post too. However, I don't have any binding in my case because the component is bind to a bean property instead of an attribute of a view object.
    Without the binding in the page definition, I can't find a place to define the mapping between the Boolean value and the expected String value.
    Pricilla

  • How to Access the Return Value of a Function

    Hi,
    How do I access the return value when calling an Oracle function from .NET using Oracle.DataAccess.Client? The function returns an integer of 0, 1 or 99.
    Dim db_command_oracle As New OracleCommand()
    db_command_oracle.Connection = db_connection_oracle
    db_command_oracle.CommandType = CommandType.StoredProcedure
    db_command_oracle.CommandText = "swsarsi.import_appointments"
    Dim ret_value As New OracleParameter()
    ret_value.OracleDbType = OracleDbType.Int32
    ret_value.Direction = ParameterDirection.ReturnValue
    ret_value.Size = 2
    ret_value.OracleDbType = OracleDbType.Int32
    db_command_oracle.Parameters.Add(ret_value)
    Dim IN_student_id As New OracleParameter()
    IN_student_id.OracleDbType = OracleDbType.Varchar2
    IN_student_id.Direction = ParameterDirection.Input
    IN_student_id.Size = 10
    IN_student_id.Value = student_id
    db_command_oracle.Parameters.Add(IN_student_id)
    db_command_oracle.ExecuteNonQuery()
    messagebox.show(ret_value) ?????

    Your ODP.NET code looks correct. What error are you seeing?
    One thing that will definitely generate an error is that .NET message boxes require that strings be displayed. ret_value is a parameter object. You need to access its value and convert it to a string. At a minimum, you need to change that.

  • Error in extracting String value from MS ACCESS via JDBC

    Something wierd occurs in my program. I have a ACCESS database table named FormDetail. The attributes are:
    name memo
    val memo
    The actual data store in such a table is
    haihe 2
    String test="SELECT name, val FROM FormDetail";
    rs = stmt.executeQuery(test);
    while(rs.next())
    {  String name = rs.getString("name");
    String value = rs.getString("val");
    System.out.println("name: "+name+" value: "+value);
    When I execute the code, the output is
    name: haihe value:
    NO VALUE print out. Why?
    Any suggestion will be helpful! Thanks!

    Though not using Access myself in the moment, I remember a lot of post about its memo fields.
    Recommend to search for "+access +memo" here.

  • Function that returns N values, without using a string

    Hi, how can i make a function that returns several valures (that hasn't a exact number of returned values, it could return 3 values, or 7) without using a string?
    When i need to return several values from a function, i put the values inside a varchar like thus 'XXX,YYY,ZZZ' and so on. Don't know if this has a poor performance.
    If you can supply simple examples for what im asking, i would be nice.
    (without using a string)

    Can i create the type objects inside a package? If i
    can, they will be local to the package, right?Yes, you're right.
    Pipeline returns a row or several?You can use pipelined function in the same way you use table:
    SELECT * FROM TABLE(pipelined_funct(agr1, agr2));
    It returns results as separate rows.

  • Return 2 values (string, number) multiple rows, from java stored function

    I would like to return 2 values (String, number prefered but String, String will work) from a java stored function.
    I was able to successfully return a varray of varchar2 values but I was wondering if it is possible to return 2 values by using a varray?
    Is it even possible? I tried using combinations of types which included a varray of objects (with 2 attributes) or a type as table of objects but I couldn't figure out how in my java code to set these values. Also what would my java function return type be and what Oracle type would map to it?
    Any help and examples or pointers would be great.
    Thanks,
    Dennis

    Thanks to all. I finally figured it out through all the pieces on the web.
    Here is what worked for me. First create 2 oracle types. One object type to represent the "columns" I will pass back:
    CREATE OR REPLACE TYPE COST_OBJ AS OBJECT (COST_NAME NVARCHAR2(50), COST_VALUE number ) NOT FINAL
    note: make sure the "strings" are defined as NVARCHAR2 or Java will puke if it is just VARCHAR2.
    Then create a table type to hold your objects defined as following:
    CREATE OR REPLACE TYPE COST_OBJ_TABLE is table OF COST_OBJ
    Then create the oracle stored function that is a wrapper to the java function:
    CREATE OR REPLACE FUNCTION get_Costs(Name VARCHAR2, evalDate VARCHAR2, fuelCodeID NUMBER) return COST_OBJ_TABLE
    is language java name
    'com.costs.storedProcedures.Cost.getCosts(java.lang.String, java.lang.String, int) return oracle.sql.ARRAY'
    Once that is done, Oracle is ready. The Java function looks something like this:
    public ARRAY getCosts(String name, String evalDate, int fuelCodeID) {
    DBAccess da = getDBAccess();
    // get a handle on the connection
    Connection conn = da.getConnection();           
    // The stuff that will be returned should be as type object array
    // make it to the size of the number of fuelcomponents passed in
    Object[] returnStuff = new Object[3];
    // create the type of struct that is defined on the database
    StructDescriptor structDesc =
    StructDescriptor.createDescriptor("CY_UMAP.COST_OBJ", conn);
    for (int i = 0; i < returnStuff .size(); i++) {
    Object[] costValues = new Object[]{
         "This is object " + i,
         new Integer ( i ) };
    STRUCT cost_obj = new STRUCT(structDesc, conn, costValues);
    returnStuff[i] = cost_obj;
    ArrayDescriptor x_ad = ArrayDescriptor.createDescriptor (
    "CY_UMAP.COST_OBJ_TABLE", conn);
    ARRAY x_array = new ARRAY(x_ad, conn, returnStuff);
    return x_array;
    I hope this helps others.
    Dennis

  • Return all instances of a string value

    I know that similar questions have been asked before but I am having a tough time getting things to work.
    I would like to search for all instances of a string value (shown red) and return the corresponding values in the adjacent cells (shown green) so that each room number is represented.  For example, I want the search for "Adequately" to return rooms 236 and 237 (and 237 just once even though it is listed twice).  Is this possible?
    Any help is appreciated.
    Clay

    Here's an example, similar in some ways to Yvan's, but taken a bit further.
    Data table (left) contains only the original data. I've shortened the ratings to allow an easier fit on this page.
    Summary table does the work in two stages.
    Pulls the room numbers for rooms matching each rating. (yellow portion of table. If desired, these rows may be hidden.
    Builds a list of these for each condition. (Footer row)
    Formulas (all on Summary)
    Row 1 is a header row, and contains the Rating labels, which must match those used on the Data table.
    B2:   =IF(AND(Data :: $E2=B$1,COUNTIFS(Data :: $E$2:$E2,B$1,Data :: $C$2:$C2,Data :: $C2,Data::$B$2:$B2,Data :: $B2)=1)," "&Data :: $B2&" "&Data :: $C2&" ","")
    Fill right to column F. Fill down to row 16 (as many rows as there are data rows on Data)
    Note the " " at the beginning and end of the 'if true' part: " "&Data :: $B2&" "&Data :: $C2&" "
    There is a single space between each pair of quotation marks. These are necessary to the second formula below.
    Row 17 is a Footer row.
    B17:  
    =IF(COUNTA(B)-COUNTBLANK(B)=0,"",TRIM(SUBSTITUTE(CONCATENATE(B2,B3,B4,B5,B6,B7,B 8,B9,B10,B11,B12,B13,B14,B15,B16),"  ",",
    There is a return character in the formula immediately before the last quotation mark. Press option-return to enter a return into a formula.
    SUBSTITUTE finds the two spaces added between items in the list and replaces them with a comma followed by the return noted above.
    TRIM is used to remove the single space before the first item in the list and the single space after the last.
    Regards,
    Barry

  • How to pass multiple query string values using the same parameter in Query String (URL) Filter Web Part

    Hi,
    I want to pass multiple query string values using the same parameter in Query String (URL) Filter Web Part like mentioned below:
    http://server/pages/Default.aspx?Title=Arup&Title=Ratan
    But it always return those items whose "Title" value is "Arup". It is not returned any items whose "Title" is "Ratan".
    I have followed the
    http://office.microsoft.com/en-us/sharepointserver/HA102509991033.aspx#1
    Please suggest me.
    Thanks | Arup
    THanks! Arup R(MCTS)
    SucCeSS DoEs NOT MatTer.

    Hi DH, sorry for not being clear.
    It works when I create the connection from that web part that you want to be connected with the Query String Filter Web part. So let's say you created a web part page. Then you could connect a parameterized Excel Workbook to an Excel Web Access Web Part
    (or a Performance Point Dashboard etc.) and you insert it into your page and add
    a Query String Filter Web Part . Then you can connect them by editing the Query String Filter Web Part but also by editing the Excel Web Access Web Part. And only when I created from the latter it worked
    with multiple values for one parameter. If you have any more questions let me know. See you, Ingo

  • Access Another Class' Property Value That is Defined in the faces-config?

    I have a private property "dataTransferType" with public getter and setter in the DataFile class. The initial value of the "dataTransferType" is defined in the faces-config.xml file. I want to get the "initial value" of the "dataTransferType" in another class and the compiler does not like the way I access this property.
    Here is the snippet of the DataFile class, which shows the declaration and the getter and setter for the property:
    public class DataFile implements java.io.Serializable
         private String dataTransferType;
         public DataFile(){}
        public DataFile( String aDataTransferType )
            this.dataTransferType = aDataTransferType;
         public String getDataTransferType()
              return dataTransferType;
         public void setDataTransferType( String dataTransferType )
              this.dataTransferType = dataTransferType;
    }Here is the way that the initial value of the "dataTransferPropery" is set in the faces-config.xml file:
    <managed-bean>
      <managed-bean-name>dataFile</managed-bean-name>
      <managed-bean-class>propertyBeans.DataFile</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <managed-property>
       <property-name>dataTransferType</property-name>
       <property-class>java.lang.String</property-class>
       <value>importFile</value>
      </managed-property>
    </managed-bean>Now, in another class FileManagementBean, I first instantiate the DataFile class
    private DataFile datafile;and then in the constructor of the FileManagementBean I tried to access the initial value of the property "dataTransferType":
    this.recordItems = this.getRecordsList( datafile.dataTransferType );The compiler did not like it at all.
    But, if I arbitrary introduced a String in the FileManagementBean:
    String defaultSelectedDataTransferType = "importFile";
    this.recordItems = this.getRecordsList( defaultSelectedDataTransferType );My code worked as I had expected without any problem.

    Thanks for all your attention.
    The runtime error is rather strange:
    >
    javax.servlet.ServletException: javax.faces.FacesException: javax.faces.FacesException: Can't instantiate class: 'actions.DataManagementBean'.. class actions.DataManagementBean : java.lang.NullPointerException
    The DataManagementBean is the class that accesses the property "dataTransferType" in the DataFile class. And the initial value of the "dataTransferType" is defined in the faces-config.xml file.
    If I arbitrarily introduced a String value in the DataManagementBean:
    String defaultSelectedDataTransferType = "importFile"and in the DataManagementBean's constructor, I use this statement:
    this.recordItems = this.getRecordsList( defaultSelectedDataTransferType );Things worked as I had expected without problem. But, I think this is not an elegant way of coding it. Because there is a pre-defined value of dataTransferType in the faces-config.xml file, I should access it from there.
    But, when I specify:
    this.recordItems = this.getRecordsList( datafile.getDataTransferType() );The DataManagementBean cannot even be instantiated!
    In my faces-config.xml file, I have:
    <managed-bean>
      <managed-bean-name>dataManagementBean</managed-bean-name>
      <managed-bean-class>actions.DataManagementBean</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <managed-property>
       <property-name>datafile</property-name>
       <property-class>propertyBeans.DataFile</property-class>
       <value>#{dataFile}</value>
      </managed-property>
    </managed-bean>
    <managed-bean>
      <managed-bean-name>dataFile</managed-bean-name>
      <managed-bean-class>propertyBeans.DataFile</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <managed-property>
       <property-name>dataTransferType</property-name>
       <property-class>java.lang.String</property-class>
       <value>importFile</value>
      </managed-property>
    </managed-bean>
    ......

  • Getting the string value of a step in Test stand 3.1

    Hi All , can anyone advise whicn control I use to retrieve the string value of the STEP name using v3.1.
    It was the sequence context in earlier versions.
    thanks dht

    I'm assuming you want the step's name as a string? Inside TestStand there is the NameOf function that can be used with any TestStand object. i.e.
    Locals.mystring = NameOf(RunState.PreviousStep) or something like this� You can access this function outside of TestStand by using the PropertyObject.Evaluate() method.
    You could also use the TS API (in TS or in LV or someplace else) to start with a Step object, turn it into a PropertyObject, and then get its property �Name� which will return the string name of the step.
    Third option off the top of my head is to explore the Hidden Properties of TestStand, that you have to enable by going through the Configure menu. There�s a knowledge base about it somewhere on the NI website if you�re curious. If you remember browsing fo
    r the step name via a sequence context/expression browser before now, it was probably hidden properties that you were using.
    Cheers!
    Elaine R.
    www.bloomy.com
    Cheers,
    Elaine R.
    www.bloomy.com

  • Return String from Oracle stored proc using Excel 2003 VBA

    Hi to everyone,
    I've got a problem that remains unsolved for many days. I am trying to return a value of an oracle stored procedure using Excel VBA. It might seem trivial, however it's not for someone, who has never done it before...
    OS: Win XP SP3
    Excel 2003
    Ora Client: 11g
    By trying different things I have noticed, that I could have troubles with the ODBC-connection. Maybe I am not using the right one. To store data returned from select statements I have an ODBC-Connection (Driver: Oracle in XE), which works perfectly, e.g.:
    Sub Extract_Data()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim db_name, UserName, Password As String
    cn.Open db_name, USerName, Password
    sql_statement = "SELECT some_text FROM some_table"
    Set rs = cn.Execute(sql_statement)
    rs.MoveFirst 'jump to the first entry in the data list
    Row = 2
    While Not rs.EOF
    'save the data to a worksheet
    ip.Cells(Row, 2) = rs(0).Value
    Row = Row + 1
    rs.MoveNext
    Wend
    End Sub
    Now I need to execute a stored procedure to return a semi-colon delimited string.
    I have tried the following:
    Public Sub obj_class()
    Dim cn As New ADODB.Connection
    Dim strSQL, cn As String
    Dim adoCMD As ADODB.Command
    Dim adoRS As ADODB.Recordset
    Set wb = Excel.ActiveWorkbook
    Set ih = wb.Sheets("InfoSheet")
    cn.Open db_name, UserName, Password
    Set adoCMD = New ADODB.Command
    With adoCMD
    .ActiveConnection = cn
    .CommandText = "S#mdb$stg_da_extr_util.get_all_classes_of_classif"
    .CommandType = adCmdStoredProc
    .Parameters.Refresh
    '------ and here comes the error saying:
    '------ could not find the object in the collection corresponding to the name or ordinal reference requested by the application
    .Parameters("i_caller").Value = "'STG_DATA_REQUEST'"
    .Parameters("i_obj_classif_id").Value = 120
    Set adoRS = .Execute()
    End With
    End Sub
    I did asked on the forum:
    http://www.access-programmers.co.uk/forums/showthread.php?p=1241667#post1241667
    but unfortunately without success.
    Could it be, that my ODBC-connection is wrong? When debugging the connection string, I find the Provider=MSDASQL5.1.
    I have moderate knowledge in VBA, but absolutely a newbie with Oracle DB. Is there any source of information that can help solving this issue? Looking forward to hearing from you, as I am almost giving up... ;(

    My VBA is super rusty. Does that error come after Parameters.Refresh, or after .Parameters("i_caller").Value = "'STG_DATA_REQUEST'"?
    If it's the second one, you'll need the definition of the stored procedure so you can see what parameters it's expecting. That'd mean you're getting something wrong with the names.

  • How to remove the "int len" of my return string on the DLLS header when building a DLL on LabVIEW 8.5

    Hi all.
    I'm building a DLL on LabVIEW and I choose a string as an output on the terminals connectors.
    But LabVIEW creates another output, the lenght of the return string.
    This is a problem because I have other DLLs and I need them to be compatible.
    How do I remove this length from the header? What is the difference between Pascal String and C string and String Handle Pointer?
    String Handle Pointer removes the length from the header but I don't know the difference between this data types.
    Thanks in advance for the help.
    Daniel Coelho
    Portugal
    Daniel Coelho
    VISToolkit - http://www.vistoolkit.com - Your Real Virtual Instrument Solution
    Controlar - Electronica Industrial e Sistemas, Lda

    Daniel Coelho wrote:
    Hi all.
    I'm building a DLL on LabVIEW and I choose a string as an output on the terminals connectors.
    But LabVIEW creates another output, the lenght of the return string.
    This is a problem because I have other DLLs and I need them to be compatible.
    How do I remove this length from the header? What is the difference between Pascal String and C string and String Handle Pointer?
    String Handle Pointer removes the length from the header but I don't know the difference between this data types.
    Thanks in advance for the help.
    Daniel Coelho
    Portugal
    C string pointer is a pointer to a memory location whose string information is terminated by a 0 byte. Pascal String Pointer is a pointer to a memory location where the first byte specifies the number of bytes to follow. This obviously allows only for strings up to 255 character length.
    LabVIEW String Handle is a pointer to a pointer to a memory location where the first 4 bytes are an int32 value indicating the number of characters to follow. You can read such a String handle in a function without many problems, but you can only create, resize and delete such a handle by using LabVIEW memory manager functions. So this makes only sense if the caller of such a DLL is LabVIEW too as another caller would have to go through several hoops and tricks in order to gain access to the correct LabVIEW kernel that could provide the memory manager functions to deal with such handles.
    Last but not least output strings whose allocated length is not passed to the funciton as additional parameter are a huge secerity risk (talk about buffer overrun errors). LabVIEW DLL Builder does not support the creation of DLLs with output string (or array parameters)  without the explicit passing of an additional parameter telling the DLL function how large the allocated size is (so that the DLL function can make sure to never write over the end of the buffer).
    The additional length parameter only disappears for String Handles because LabVIEW will simply resize them to whatever length is necessary and that is also the reason why those handles need to be allocated by the same memory manager instance that is also going to execute the DLL function.
    Resizing of memory pointers is non-standardized and in normal circumstances not suited for passed function parameters at all.
    Rolf Kalbermatter
    Message Edited by rolfk on 06-13-2008 12:28 PM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Return multiple values in powershell

    Given the following function, how can i return two variables to the
    main code? 
    The values in the function displays, but not in the main body. Please advice.
    Thank you
    Function CheckData {
       $String = $_.SubString(12)
       $SpData = $String.Split()
       $SpData
       if ($SpData[1] -eq "Servers") {
           $SerVal = $SpData[0]       # Return array 0 - value should be 25
       if ($SpData[4] -eq "rows") {
           $RowVal = $SpData[5]       # return array 5 - value should be 2
        Write-Host "SerVal: $SerVal - RowVal: $RowVal (F)"
    # Here is the main code
    $_ = "Processing: 25 Servers in 2 rows in area b"
    CheckData
    write-host "SerVal: $SerVal - RowVal: $RowVal (M)"

    Hi,
    One simple way is just output two values from the function (i.e., an array). The caller can then access the array elements to access the return values. For example:
    function get-multiplereturnvalues {
    "Return value 1"
    "Return value 2"
    $return = get-multiplereturnvalues
    $return[0] # Outputs "Return value 1"
    $return[1] # Outputs "Return value 2"
    Bill

Maybe you are looking for