Return values, control structures

Hi Everybody
I'm doing a paper and I really need some help here. It's about a class (FileSet) that supports sets of strings stored on external files. Right now I have problems with a boolean method, that should check if a set contains the value v and return true/false. It returns false no matter what I do. Please notice, that I'm using a "readLine" - method from a Stream class included in my book (Javagently) - don't let it confuse you:-) (but I guess it wont)
My class contains one other method, that prints the strings in the sets to the screen - just to let you see the stream class in action :-)
Hope this does it - Thomas (Copenhagen, Denmark)
import java.io.*;
import javagently.*;
class FileSet
private String Filename;
     public FileSet (String _Filename)
          Filename = _Filename;
void show()throws IOException
          Stream s= new Stream(Filename, Stream.READ);
          try
                    while (true)
                         String p = s.readString();
                         System.out.println(p);
          catch(Exception e)
               s.close();
               return;
boolean contains(String v)throws IOException
          Stream s= new Stream(Filename, Stream.READ);
          try
                    while (true)
                         String p = s.readLine();
                         return p.equals(v);
          catch(Exception e)
               s.close();
               return true;
public static void main (String [] args)throws IOException
     FileSet testFileSet = new FileSet ("SetA.dat");
     testFileSet.show();
     System.out.println (testFileSet.contains("peter"));

hi again,
when you use
if (p.equals(v)) { return true; }
instead of
return p.equals(v);
it will loop and test the other lines too, until it reaches the end of file or find a match - but, when you return true in the case of the exception, how will you find out, what causes the end? - in case of an exception it must return false.
But I say it ones more, the hole program is ugly.
greetings Marsian

Similar Messages

  • Return values to the proxy structure  , incompatible Error in report   ?

    Hi Friends ,
                     Our scenario is ABAP proxy to File .  I have tested the sample scenario using the following  link.
    <i><b>ABAP Proxy to File</b></i>
    /people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy          
                            It is working fine. It is sending  data with one structure like
    <b>
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_EmpProfileMsg_OB xmlns:ns0="urn:AbapProxyTest">
       <Empno>a101</Empno>
       <EmpName>ragha</EmpName>
       <DepartmentName>mis</DepartmentName>
    </ns0:MT_EmpProfileMsg_OB></b>
        but, our requirement is to send multiple values . like
    <ns0:MT_EmpProfileMsg_OB xmlns:ns0="urn:AbapProxyTest">
    <ROW>
       <Empno>a101</Empno>
       <EmpName>ragha</EmpName>
       <DepartmentName>mis</DepartmentName>
    </ROW>
    <ROW>
       <Empno>a102</Empno>
       <EmpName>VENDRA</EmpName>
       <DepartmentName>mis</DepartmentName>
    </ROW>
    </ns0:MT_EmpProfileMsg_OB></b>     
             While i was generating the proxy it is generating  it has generated th follwing
    <b>Class</b>     ZECCSPPCO_MI_ECC_SPP_OB     Proxy Class (Generated)
    <b>Structure</b>     ZECCSPPDT_ECC_TO_SPP_IB     Proxy Structure (Generated)
    <b>Structure</b>     ZECCSPPDT_ECC_TO_SPP_IB_ROW     Proxy Structure (Generated)
    <b>Structure</b>     ZECCSPPMT_ECC_TO_SPP_IB     Proxy Structure (Generated)
    <b>Table Type     </b>ZECCSPPDT_ECC_TO_SPP_IB_RO_TAB     Proxy Table Type (Generated)
    With reference to the blog 1387  ,we are using  this code as reference , but this is for one set of data , we need for multiple structutre what to do
    *& Report  ZBLOG_ABAP_PROXY
    REPORT  zblog_abap_proxy.
    DATA prxy TYPE REF TO zblogco_proxy_interface_ob.
    CREATE OBJECT prxy.
    <b>DATA it TYPE  zblogemp_profile_msg.
    TRY.
        it-emp_profile_msg-emp_name = 'Sravya'.
        it-emp_profile_msg-empno = '80101'.
        it-emp_profile_msg-DEPARTMENT_NAME = 'NetWeaver'.
        CALL METHOD prxy->execute_asynchronous
          EXPORTING
            output = it.
         commit work</b>    .
      CATCH cx_ai_system_fault .
        DATA fault TYPE REF TO cx_ai_system_fault .
        CREATE OBJECT fault.
        WRITE :/ fault->errortext.
    ENDTRY.
    <b><i>My question is</i></b>
             1. While we are assigning the   values   for Multiple rows . It is showing as Type mis match  error .
                  <b>   Can you please explain as how to pass value to structure and reutrn the values to create file ?</b>
    Regards.,
    Shyam

    Hi Shyam,
    >>our requirement is to send multiple values ................
    for that u try thiscode and see..........
    DATA prxy TYPE REF TO ZECCSPPCO_MI_ECC_SPP_OB Proxy Class.
    CREATE OBJECT prxy.
    DATA:M_EMP TYPE ZECCSPPMT_ECC_TO_SPP_IB,
         I_EMP TYPE TABLE OF ZEMPDETAILS,  //create a table in SE11 in the name ZEMPDEATILS
         W_EMPD TYPE ZEMPDETAILS,
         W_EMP TYPE ZECCSPPDT_ECC_TO_SPP_IB_ROW,
         S_EMP TYPE ZECCSPPDT_ECC_TO_SPP_IB,
         T_EMP TYPE  ZECCSPPDT_ECC_TO_SPP_IB_RO_TAB.
    SELECT * FROM ZEMPDETAILS
           INTO CORRESPONDING FIELDS OF TABLE I_EMP.
    LOOP AT I_EMP INTO W_EMPD.
    W_EMP-emp_name = W_EMPD-enp_name.
    W_EMP-empno = W_EMPD-empno.
    W_EMP-DEPARTMENT_NAME  = w_EMPD-DEPARTMENT_NAME.
    APPEND W_EMP TO T_EMP.
    ENDLOOP.
    S_EMP-EMPLOYEE = T_EMP.
    M_EMP-MT_SRC_FILE2ABAP_CLIENT_PROXY = S_EMP.
    TRY.
      CALL METHOD prxy->execute_asynchronous
       EXPORTING
        output = M_EMP.
       commit work.
      CATCH cx_ai_system_fault .
        DATA fault TYPE REF TO cx_ai_system_fault .
        CREATE OBJECT fault.
        WRITE :/ fault->errortext.
    ENDTRY.
    Regards
    preetha

  • How to pass a value to a BC4J method from JSP/ADF and get a return value.

    How i can access and application module method from my jsp using JSTL passing a value and hope a return value from BC4J method already exposed using interfase and droped from data control to my jsp page
    Any suggestions ?
    Mensaje editado por:
    mr2k

    Hi,
    Check the size of that Window in which you are displaying this Text of 130 characters.
    May be it is less
    in that case split that string into 2 strings and pass the two strings from ITCSY structure to script and use.
    reward if useful
    regards,
    ANJI

  • Multiple return values (Bug-ID 4222792)

    I had exactly the same request for the same 3 reasons: strong type safety and code correctness verification at compile-time, code readability and ease of mantenance, performance.
    Here is what Sun replied to me:
    Autoboxing and varargs are provided as part of
    JSRs 14 and 201
    http://jcp.org/en/jsr/detail?id=14
    http://jcp.org/en/jsr/detail?id=201
    See also:
    http://forum.java.sun.com/forum.jsp?forum=316
    http://developer.java.sun.com/developer/earlyAccess/adding_generics/index.html
    Multiple return values is covered by Bug-ID 4222792
    Typically this is done by returning an array.
    http://developer.java.sun.com/developer/bugParade/bugs/4222792.html
    That's exactly the problem: we dynamically create instances of array objects that would better fit well within the operand stack without stressing the garbage collector with temporary Array object instances (and with their backing store: 2 separate allocations that need to be recycled when it is clearly a pollution that the operand stack would clean up more efficiently)
    If you would like to engage in a discussion with the Java Language developers, the Generics forum would be a better place:
    http://forum.java.sun.com/forum.jsp?forum=316
    I know that (my report was already refering to the JSR for language extension) Generics is not what I was refering to (even if a generic could handle multiple return values, it would still be an allocated Object
    instance to pack them, i.e. just less convenient than using a static class for type safety.
    The most common case of multiple return values involve values that have known static datatypes and that should be checked with strong typesafety.
    The simple case that involves returning two ints then will require at least two object instances and will not solve the garbage collection overhead.
    Using a array of variable objects is exactly similar, except that it requires two instances for the components and one instance for the generic array container. Using extra method parameters with Integer, Byte, ... boxing objects is more efficient, but for now the only practical solution (which causes the least pollution in the VM allocator and garbage collector) is to use a custom class to store the return values in a single instance.
    This is not natural, and needlessly complexifies many interfaces.
    So to avoid this pollution, some solutions are used such as packing two ints into a long and returning a long, depacking the long after return (not quite clean but still much faster at run-time for methods that need to be used with high frequencies within the application. In some case, the only way to cut down the overhead is to inline methods within the caller code, and this does not help code maintenance by splitting the implementation into small methods (something that C++ can do very easily, both because it supports native types parameters by reference, and because it also supports inline methods).
    Finally, suppose we don't want to use tricky code, difficult to maintain, then we'll have to use boxing Object types to allow passing arguments by reference. Shamely boxed native types cannot be allocated on the operand stack as local variables, so we need to instanciate these local variables before call, and we loose the capacity to track the cases where these local variables are not really initialized by an effective call to the method that will assign them. This does not help debugging, and is against the concept of a strongly typed language like Java should be:
    Java makes lots of efforts to track uninitialized variables, but has no way to determine if an already instanciated Object instance refered in a local variable has effectively received an effective assignment because only the instanciation is kept. A typical code will then need to be written like this:
    Integer a = null;
    Integer b = null;
    if (some condition) {
    //call.method(a, b, 0, 1, "dummy input arg");
    // the method is supposed to have assigned a value to a and b,
    // but can't if a and b have not been instanciated, so we perform:
    call.method(a = new Integer(), b = new Integer(), 0, 1, "dummy input
    arg");
    // we must suppose that the method has modified (not initialized!)
    the value
    // of a and b instances.
    now.use(a.value(), b.value())
    // are we sure here that a and b have received a value????
    // the code may be detected at run-time (a null exception)
    // or completely undetected (the method() above was called but it
    // forgot to assign a value to its referenced objects a and b, in which
    // case we are calling in fact: now.use(0, 0); with the default values
    // or a and b, assigned when they were instanciated)
    Very tricky... Hard to debug. It would be much simpler if we just used:
    int a;
    int b;
    if (some condition) {
    (a, b) = call.method(0, 1, "dummy input arg");
    now.use(a, b);
    The compiler would immediately detect the case where a and b are in fact not always initialized (possible use bere initialization), and the first invoked call.method() would not have to check if its arguments are not null, it would not compile if it forgets to return two values in some code path...
    There's no need to provide extra boxing objects in the source as well as at run-time, and there's no stress added to the VM allocator or garbage collector simply because return values are only allocated on the perand stack by the caller, directly instanciated within the callee which MUST (checked at compile-time) create such instances by using the return statement to instanciate them, and the caller now just needs to use directly the variables which were referenced before call (here a and b). Clean and mean. And it allows strong typechecking as well (so this is a real help for programmers.
    Note that the signature of the method() above is:
    class call {
    (int, int) method(int, int, String) { ... }
    id est:
    class "call", member name "method", member type "(IILjava.lang.string;)II"
    This last signature means that the method can only be called by returning the value into a pair of variables of type int, or using the return value as a pair of actual arguments for another method call such as:
    call.method(call.method("dummy input arg"), "other dummy input arg")
    This is strongly typed and convenient to write and debug and very efficient at run-time...

    Can anyone give me some real-world examples where
    multiple return values aren't better captured in a
    class that logically groups those values? I can of
    course give hundreds of examples for why it's better
    to capture method arguments as multiple values instead
    of as one "logical object", but whenever I've hankered
    for multiple return values, I end up rethinking my
    strategy and rewriting my code to be better Object
    Oriented.I'd personally say you're usually right. There's almost always a O-O way of avoiding the situation.
    Sometimes though, you really do just want to return "two ints" from a function. There's no logical object you can think of to put them in. So you end up polluting the namespace:
    public class MyUsefulClass {
    public TwoInts calculateSomething(int a, int b, int c) {
    public static class TwoInts {
        //now, do I use two public int fields here, making it
        //in essence a struct?
       //or do I make my two ints private & final, which
       //requires a constructor & two getters?
      //and while I'm at it, is it worth implementing
      //equals(), how about hashCode()? clone()?
      //readResolve() ?
    }The answer to most of the questions for something as simple as "TwoInts" is usually "no: its not worth implementing those methods", but I still have to think about them.
    More to the point, the TwoInts class looks so ugly polluting the top level namespace like that, MyUsefulClass.TwoInts is public, that I don't think I've ever actually created that class. I always find some way to avoid it, even if the workaround is just as ugly.
    For myself, I'd like to see some simple pass-by-value "Tuple" type. My fear is it'd be abused as a way for lazy programmers to avoid creating objects when they should have a logical type for readability & maintainability.
    Anyone who has maintained code where someone has passed in all their arguments as (mutable!) Maps, Collections and/or Arrays and "returned" values by mutating those structures knows what a nightmare it can be. Which I suppose is an argument that cuts both ways: on the one hand you can say: "why add Tuples which would be another easy thing to abuse", on the other: "why not add Tuples, given Arrays and the Collections framework already allow bad programmers to produce unmainable mush. One more feature isn't going to make a difference either way".
    Ho hum.

  • Return values from a jpd to a jpf

    I basically want to call a jpd from a page flow and then receive the results back from the jpd in my page flow. I have created a process control from the jpd and have included it in my page flow controller file using the following annotation.
    * @common:control
    private controls.leaveProcessPControl leaveControl ;
    But since my jpd has a client response node for sending back the results (which corresponds to callback interface in the code), my page flow controller file is throwing an error saying that leaveControl implements a callback interface and page flow cannot receive asynchronous callbacks. Can anyone tell me how to resolve this.
    I would also like to know if there are different approaches for returning values back to the jpf from a jpd.
    Thanks,
    RK

    We are talking web interface here, so forget about Callbacks. I suggest that
    you create Web Servicethat implements your proces or a control that calls
    proces. Then Call that WS fro a controller, but in sync. way. Send a request
    and then pull for response. This pull can be implemented as while loop in
    Controler, with wait inside loop.
    That wont work realy well if jour proces is long running, as controller will
    block. In that case you will have to implement some kind of pulling in every
    action method in your controller and react - fill data in internal variable
    of controller for example.
    I hope it helps, butt remember thin is not always the best.
    "rohini k" <[email protected]> wrote in message
    news:4042178.1101851602508.JavaMail.root@jserv5...
    I basically want to call a jpd from a page flow and then receive the
    results back from the jpd in my page flow. I have created a process control
    from the jpd and have included in my page flow controller file using the
    following annotation.
    * @common:control
    private controls.leaveProcessPControl leaveControl ;
    But since my jpd has a client response node for sending back the results
    (which corresponds to callback interface in the code), my page flow
    controller file is throwing an error saying that leaveControl implements a
    callback interface and page flow cannot receive asynchronous callbacks.
    Can anyone tell me how to resolve this.
    I would also like to know if there are different approaches for returning
    values back to the jpf from a jpd.
    Thanks,
    RK

  • How to get return value from java and read by other application?

    i want to read return value from java and the other application read it.
    for example:
    public class test_return {
        test_return(){
        public int check(){
            return 1;
        public static void main(String args[]){
           new test_return().check();
    }from that class i make as jar file. How to read the return value (1) by other application?
    thx..

    If your installer is requiring some process it invokes to return a particular value on failure, then the installer is seriously broken. There are a bazillion commands your installer could invoke, and any of them could fail, which in turn could invalidate the entire install process, and any of them could return any value on failure. The only value that's consistent (in my experience) is that zero means success and non-zero means failure, with specific non-zero values being different in different programs.
    About the only control you have over the JVM's exit code is that if your main method completes without throwing an exception, the JVM will have an exit code of 0, and if main throws an exception (either explicitly or by not catching one thrown from below), it will be non-zero. I'm not even sure if that's guaranteed, but I would guess that's the case.
    EDIT: I'm kind of full of crap here. If you're writing the Java code, you can call System.exit(whatever). But nonetheless, if your installer requires certain exit codes from any app--java or otherwise--you have a problem.
    Edited by: jverd on Oct 29, 2009 1:27 AM

  • Remote Object - not able to get the returned value from java method

         Hi ,
    I am developing one sample flex aplication that connects to the java code and displays the returned value from the
    java method in flex client. Here I am able to invoke the java method but not able to collect the returned value.
    lastResult is giving null .  I am able to see the sysout messages in server console.
    I am using flex 3.2 and blazeds server  and java 1.5
    Here is the code what I have written.
    <?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication  xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#FFFFFF" initialize="initApp()">
     <mx:Script><![CDATA[
    import mx.controls.Alert; 
    import mx.binding.utils.ChangeWatcher; 
    import mx.rpc.events.ResultEvent; 
    import mx.messaging.*; 
    import mx.messaging.channels.* 
    public function initApp():void { 
         var cs:ChannelSet = new ChannelSet(); 
         var customChannel:Channel = new AMFChannel("my-amf", "http://localhost:8400/blazeds/messagebroker/amf");     cs.addChannel(customChannel);
         remoteObj.channelSet = cs;
    public function writeToConsole():void {      remoteObj.writeToConsole(
    "hello from Flash client");
          var returnedVal:String = remoteObj.setName().lastResult;     Alert.show(returnedVal);
    //[Bindable] 
    // private var returnedVal:String; 
    ]]>
    </mx:Script>
    <mx:RemoteObject id="remoteObj" destination="sro" /> 
    <mx:Form width="437" height="281">
     <mx:FormItem>  
    </mx:FormItem>  
    <mx:Button label="Write To Server Console" click="writeToConsole()"/>
     </mx:Form>
     </mx:WindowedApplication>
    Java code
    public  
         public SimpleRemoteObject(){  
              super();     }
      class SimpleRemoteObject { 
         public void writeToConsole(String msg) {          System.out.println("SimpleRemoteObject.write: " + msg);     }
         public String setName(){          System.
    out.println("Name changed in Java"); 
              return "Name changed in Java";
    And I have configured destination in  remote-config.xml
    <destination id="sro">
       <properties>    
        <source>SimpleRemoteObject</source>
        <scope>application</scope>
       </properties>
      </destination>
    Please help me .

    You are not able to get the returned value because if you see the Remote object help you will realise you have to use result="resultfn()" and fault = "faultfn()"
    In this you define what you wish to do.
    More importantly in the remote object you need to define which method you wish to call using the method class like this
    <mx:RemoteObject id="remoteObj" destination="sro" result="r1" fault="f1"  >
         <Method name="javaMethodName" result="r2" fault="f2"/>
    <mx:RemoteObject>
    r2 is the function where you get the result back from java and can use it to send the alert.

  • How to use return value from TestComplete ( using COM) as a variable in the conditional statement (e.g. while loop) in TestStand

    Hi,
    I have setup a COM interface for TestStand(TS) to run certain scripts in TestComplete (TC).  Normally, when TestComplete finishes executing the script, it returns a 0 or 1 to denote pass/fail in the TestStand step (e.g String value test step).  This worked fine.
    However, now I need TestComplete to return a vaule( e.g 32) to TS, and TS need to evalue this value in a while statement. So if TC return value is 32, I'd have some statement in TS ike :                                                                                                 
    While (return value != 30)
    Do something..
    Thanks,
    Solved!
    Go to Solution.

    There are a hundred ways to implement what you are asking.  The hard part is deciding which one would be the best for you.
    What adapter are you using to communicate with TestComplete?  ActiveX?  Is TestComplete running asynchronously (in parallel)?  If so then how is the data getting back to TestStand?
    So here are some options:
    1. You can use the While Step type.  It's in the Flow Control folder in your Step Types pallette.  Look in your examples under UsingFlowControlSteps.seq in the SequenceFlow
    2. You can loop on a step and have the termination for the loop be (return value == 30).  Look in the Step Properties under Looping.  Also in the TestStand help
    3. You could do Post Actions based on a condition and have it jump to another step.  Read about it in the TestStand Reference Manual.
    4. You could use a GoTo step.  I don't really recommend this one.  It makes code hard to maintain.  Also an example in SequenceFlow called gotobeep.seq.
    Hopefully this gets you thinking.  Let me know if you have specific questions about any of these methods.
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Assigning LOV return Value to multiple text items

    Hi all
    I have a custom form on which i have 10 text items
    text item 1,text item 2 ....text item10
    I have a table xx_querywith fields
    text_item,query
    i have inserted into the xx_query table
    insert into xx_query(text_item,query)
    values(text_item1,'select sysdate from dual');
    insert into xx_query(text_item,query)
    values(text_item2,'select sysdate-1 from dual');
    I have created a record group dynamically and i am getting the query from the query column of the xx_query table into the record group(say test_rg)
    I have created a LOV test_lov and thr set_lov_property i have populated the test_rg query into the test_LOV
    is it possible for me to set the return item of the LOV dynamically so that i can get the LOV on the item which i want to ?
    thanks
    _

    Hi All
    thanks for your responses
    I have Created a control item and assigned the return value of the LOV to the control item
    and i have assigned the LOV to the text item that i want
    Currently when i navigate to the text item the LOV is visible
    but when i select a value from the LOV the value is not getting populated into the text item
    I have assigned the value of the control item to the text item
    but i am not sure in which trigger to write the code so as when i select the value from the LOV the value should be shown on the form populating in the text item
    Thanks

  • WB_RT_GET_JOB_METRICS does not return values

    DB v 10.2.0.2
    OWB repository/client v 10.2.0.3
    A DB function has a call to the Control Center transformation WB_RT_GET_JOB_METRICS to extract and preserve the metadata of number of records inserted/updated/deleted in a DB table.
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    1.
    The control center transformation WB_RT_GET_JOB_METRICS does not return any values when used under the Post-Mapping Process(mapped to the DB function describe above) in a Map.
    The input parameter ;Audit Id' to the Map is passed from a calling Process Flow. The following query is used to retrieve the Audit Id of the Map.,
    SELECT execution_audit_id
    INTO l_audit_id
    FROM ALL_RT_AUDIT_EXECUTIONS
    WHERE parent_execution_audit_id = P_AUDIT_ID;
    And the retrieve l_audit_id is passed to the WB_RT_GET_JOB_METRICS transformation to extract the number of records inserted/deleted/updated with the execution of the map.
    Gurus, please advice if the approach is appropriate to retrieve the number of records inserted/deleted/updated by the execution of the map. If not, any alternate method.
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    2. The control center transformation WB_RT_GET_JOB_METRICS returns values when used in a standalone pl/sql block with the appropriate audit_id.
    Is this because the metadata for the Map execution is complete, whereas in the earlier attempt, the transformation is called within the map using the Post-Mapping process.
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    3. Since the option 1 did not return any value, tried other option of calling/executing a transformation(call the the DB function mentioned earlier) after the Map activity is successful in a ProcessFlow. Here, the transformation does not seem to be executing, any tips of correcting this issue.
    Request the forum for some helpful tips to resolve the problem. TiA (Thanks in Advance) for the response.
    Message was edited by:
    user599655

    In a process flow, passed the pseudo variable to a transformation to run the WB_RT_GET_JOB_METRICS after the map execution. I am not sure if this is the best solution, but it worked for me.
    Still trying to figure how to use the pre-defined transformation when working on expression.
    Thanks.

  • Function with more than one return value

    Hi
    Please let me know how to write a function with more than one return value and in what scenario should we go for this option.
    Thank you

    user12540019 wrote:
    Please let me know how to write a function with more than one return value and in what scenario should we go for this option.Yes. And the following is the correct approach (using OUT variables is not!) - you deal with the multiple values as a data structure. This example uses an custom (user-defined) SQL data type as the structure.
    SQL> create or replace type TXYcoord is object(
      2          x       number,                  
      3          y       number                   
      4  );                                       
      5  /                                        
    Type created.
    SQL>
    SQL>
    SQL> create or replace function fooCoordinate( someParam number ) return TXYCoord is
      2  begin                                                                         
      3          -- doing some kind of calculation using input parameters              
      4          --  etc..
      5
      6          -- returning the multiple return values as a proper data structure
      7          return(
      8                  TXYcoord( 0, 0 )
      9          );
    10  end;
    11  /
    Function created.
    SQL>
    SQL> -- selecting the data structure
    SQL> select
      2          sysdate,
      3          fooCoordinate(123)      as XY
      4  from       dual;
    SYSDATE             XY(X, Y)
    2010-02-01 08:49:23 TXYCOORD(0, 0)
    SQL>
    SQL> -- selecting the properties/fields of the data structure
    SQL> select
      2          sysdate,
      3          treat( fooCoordinate(123) as TXYcoord).x        as X,
      4          treat( fooCoordinate(123) as TXYcoord).y        as Y
      5  from       dual;
    SYSDATE                      X          Y
    2010-02-01 08:49:23          0          0
    SQL>

  • How to map AM method return values in the bean

    Hello -
    I have this requirement to map AM method return values in the bean as explained below. Please suggest a solution.
    Scenario: I am calling an AM method, which returns a String object on page load.
    AMImpl Method-
    public String getProfileName (){
    return "Profile";
    I wish to catch this retun value in the Bean Variable on page Load. I have created a methodAction biding on page and invokeAction to call this method on Page Load, but I don't know how to catch this value in the bean. Please suggest how to achieve this. Also, I need to achieve this in jsp page. I can't use TaskFlow for this.
    I am using ADF 11g.
    Regards -
    Rohit
    Edited by: Rohit Makkad on Apr 21, 2010 12:23 AM

    Hi, I think there are two ways, from the data control drag n drop the methods return value to the page. This way a binding for that will be created at the page definition eg retVal.
    and in the backing bean you can access it by calling resolveExpression("#{bindings.retVal.inputValue}")
    You can also call your method directly from the backbean
    ((YourAppModuleImpl) getBindings().getDataControl().getApplicationModule()).yourMethod();
    public DCBindingContainer getBindings() {
    return (DCBindingContainer) resolveExpression("#{bindings}");
    I dont know if the second method suits you
    Tilemahos

  • NoClassDefFoundError  running jsf page rendering datacontrol return value

    Hi all,
    For a fusion web application, I have created a java file and converted it to a data control .The file has the code to establish the connection to an external SES endpoint and fetching the results.Dragged the return value to a jsf page part of a bounded task flow. The project has the Oracle SOAP jar in the classpath.Still when I run the jsf page ,I get the java.lang.NoClassDefFoundError: oracle/soap/transport/http/OracleSOAPHTTPConnection exception in the console.Any ideas.
    Thanks
    Regards
    Deepak

    I guess I wondering whether issue lies with
    1. a "com.sun.faces.util.DebugUtil" that doesn't perform correctly...
    OR,
    2. a "rule" that says the component tree will not support multiple panelGrids on the same page.
    [For whatever reason, in the above example, "DebugUtil" does not appear to "see" the "id's" of the last panelGrid (i.e.,  id="panelGrid3"),  component or  its nested component  (i.e.,  id="panelGroup3" )]
    NOTE: I have neither been successful in referencing "panelGrid3" and "panelGroup3" using "FacesContext.getCurrentInstance().findComponet("panelGrid3") and "FacesContext.getCurrentInstance().findComponet("panelGroup3"), respectively.
    Could someone let me know? (My apologies if the answer is obvious ... I admit I am relatively new to JSF.)
    Thanks again!!!

  • How to map the method action return value directly into screen using variables?

    Hi,
    My JDev version is 11.1.1.6.3.
    I have a 'MethodAction' defined in PageDef file, that goes to model layer and return String value. As this needs to be executed during initializing of pageDef, I have also added an 'InvokeAction' for that.
    <executables>
               <invokeAction id="invokeSayHelloId" Refresh="ifNeeded"
                                    Binds="sayHello"/>
               <variableIterator id="variables">
                    <variable Name="Name" Type="java.lang.String"/>
               </variableIterator>
    </executables>
    <bindings>
              <methodAction id="sayHello" InstanceName="HrAMDataControl.dataProvider"
                                     DataControl="HrAMDataControl" RequiresUpdateModel="true"
                                     Action="invokeMethod" MethodName="sayHello"
                                     IsViewObjectMethod="false"
                                     ReturnName="data.HrAMDataControl.methodResults.sayHello_HrAMDataControl_dataProvider_sayHello_result">
                                        <NamedData NDName="pName" NDValue="Michael John" NDType="java.lang.String"/>
             </methodAction>
    </bindings?
    Requirement:
    I want to map the return value of this method action directly into screen by making use of PageDef variables.
    Question:
    I. I need to know how to map this return value direcly as exprssion against PageDef variable.
    2. If Question 1 is achievable, assuming the method action returls List instead of String (I know well it returns 2 items), can I map the 1st Item against Variable 1 and 2nd Item against Variable 2 directly?
    Thanks in Advance.
    Ragu

    Thanks Frank, but If I directly map the MethodAction's result to UI, there are chances where it might get executed whenever I refresh the UIComponent (UIComponent to which the methodAction result is mapped. Isn't so??). Instead, If I invoke the MethodAction using InvokeAction, I can get the control on when it should get invoked (using RefreshCondition). If I assign the variable to UIComponent (Assume I've mapped the method action result to variable using expression), refreshing of UIComponent will not cause any performance issue I feel.
    Correct me If I am wrong.

  • The returned value of BAPI call

    Hi, experts,
    I have a question about returned value of BAPI call.
    when the returned value is mapped as an attribute and this return value itsself is of the type: table of a certain structure. Is there any possibility that the value of this table still can be extracted from the mapped attribute? If it is possible, how?
    If not, how should this kind of situation be handled:
    when the returned value of the function at the backend has more one layer structure?
    Thanks and best regards,
    Fan

    In my experience you shouldn't use the service wizard to generate the context of such deeply nested structures. They don't generate or map correctly because it tries to put the table type as the type of the context attribute.
    Instead you should propery model the relationship in the context using nested nodes. Here is an example of address <-> address text where you can have multiple address texts per address.  From the service this was a returned nested table.
    ****BP Address and Address Text
      data lo_nd_bp_addr type ref to if_wd_context_node.
      data lo_nd_bp_addr_text type ref to if_wd_context_node.
      data lo_el_bp_addr type ref to if_wd_context_element.
    * navigate from <CONTEXT> to <BP_ADDR> via lead selection
      lo_nd_bp_addr = wd_context->get_child_node( name = wd_this->wdctx_bp_addr ).
      lo_nd_bp_addr->bind_table( wd_this->gt_bp_addr ).
    ****Add the Address Text Table as Child of each Address Context Record
      data element_set type wdr_context_element_set.
      field-symbols <wa_set> like line of element_set.
      field-symbols <wa_bp_addr> like line of wd_this->gt_bp_addr.
      element_set = lo_nd_bp_addr->get_elements( ).
      loop at element_set assigning <wa_set>.
        read table wd_this->gt_bp_addr index sy-tabix assigning <wa_bp_addr>.
        lo_nd_bp_addr_text = <wa_set>->get_child_node( name = if_componentcontroller=>wdctx_bp_addr_text ).
        lo_nd_bp_addr_text->bind_table( <wa_bp_addr>-t_text ).
      endloop.

Maybe you are looking for

  • Análise de vibração de um motor a partir de Arduino e identificação de falhas

    Olá a todos. Sou novato no mundo do LabVIEW, por isso gostaria de uma ajuda de vocês. Tenho em minha faculdade o LabVIEW 2010. Estou realizando meu projeto de final de curso e tenho como objetivo identificar falhas em um motor a partir da vibração me

  • How to fix Boot Camp partition that won't boot

    Soooo...coming new to this thread, after reading of it on NERDR.COM. Have new iMac 27" and have been TRYING to load and use Win 8.1 Enterprise (MSDN) on BootCamp in Mavericks 10.9.3. Could not even get setup to load until after I removed my three ext

  • Display won't work on LCD tv

    So, I bought the Dvi-Video cable for my 13in White Macbook, and for some reason, it's not working well with my television. I had an old pc with the same res as my Macbook and it worked fine when I connected the s-video cable from my laptop to my tv,

  • Unable to see the SSL port in the Oracle Enterprise Manager

    Hi, I followed the step for SSL setup in the given link Re: Tech Note : SSL Setup for Oracle AS B2B When I open the Oracle Enterprise Manager console, I am not able to see the SSL port. I found that Accessibility Mode is Disabled. Please help me to e

  • Application Won't Hide

    Can anyone tell me why the Hide menu item for an application is sometimes grayed out, i.e., not available? Often I try to hide an application (Safari, Mail, etc.) with Command-H but it won't hide and when I check the menu item "Application Name/Hide"