Wizard control with VI in a subpanel, passing input and output

Objective: To create a 3 step wizard-like interface utilizing a tab control. The middle tab in the tab control needs to contain the front panel of separate "processing" VI. The processing VI uses the data collected from the previous tab's controls as input parameters. The third tab needs to receive one or more values computed by the processing VI.
EXAMPLE:
Step 1 (ie: Tab1) collects some settings from the user and has a "Next" button. When the user clicks the "NEXT" button, the tab control changes to the second tab.
Step 2 (ie: Tab 2) The second tab contains a subpanel into which we have loaded our "processing" VI. The "processing" VI has an elaborate front panel. We loaded the "processing" VI into a subpanel in order to display the processing VI's front panel. When the "processing" VI completes, we want to switch to Step 3 (ie: Tab 3) passing several result values into Tab 3's controls.
Passing data in/out of a subvi seems very easy, but I'm unable to work out how to pass data in/out of a VI loaded into a subpanel. Any assistance with creating the above user interface structure /logic would be appreciated. We are not stuck on the above architecture just the sequence of events.  If there is something that is more appropriate just let me know.

> ..but I'm unable to work out how to pass data in/out of a VI loaded into a subpanel
In order to interact with the controls and indicators on a subpanel, you have to get a reference to them. Then you can read or write them using property nodes. If you get a reference to the subvi itself, you can use methods to set or get values.
Check out the example called Subpanel Templates. It shows one way to get a reference to a control using a vi called LoadandRun_byName*. There is also a vi called FindControlByName* that returns a control/indicator reference. Look at the block diagram of FindControlByName* to see how it finds the references. You can make a version of this vi that gives you the references that you need. Note: Check the LoadandRun_byName* vi if you have questions about how to get the subvi reference.
*It's not easy to find these vis. They are located at:
 Program Files\National Instruments\LabVIEW 2009\examples\general\controls\
So in your application you can use property nodes to write the data fron "Tab 1" when you go to "Tab 2" and then write the data from "Tab 2" to "Tab 3" when you go to "Tab 3".
Whether this is the best implementation for your application depends on a few factors. The advantage of this approach is that you can use your subvi without making changes to it. The disadvantage is that you are dynamically calling the subvi.
Some of the down sides of dynamically called vis are:
Not automaticallcy included in builds so you  
Property nodes are much slower than wires, but if you are in human time (i.e. user interface stuff), this shouldn't be an issue.
Help the forum when you get help. Click the "Solution?" icon on the reply that answers your
question. Give "Kudos" to replies that help.

Similar Messages

  • How do I create an xControl with multiple inputs and outputs?

    Hello,
    i am trying to write a new Xcontrol Element. In the data model I can create data types using the cluster to create compound types, eg an int and an int array. But how do I create an xcontrol which has multiple data inputs and outputs?
    Kind Regards

    Limping_Twerp wrote:
    Alright: I see: An xcontrol is either an input OR an output. How do I achieve an output? Secondly: So you are saying the only Elements that can have multiple inputs and outputs are VIs?
    Can you take a few steps back and explain what you are actually trying to do. SubVIs and Xcontrols have nothing in common and it is not clear why you even try to compare them side by side (e.g. in terms of the number of connectors).
    Your questions about input or output tell us that you seems to have some misconceptions about xcontrols. Xcontrols are like regular controls, except they have some built-in intelligence that you can program. Most front panel object can be either controls or indicators and the same is true for Xcontrol. You create an Xcontrol, and after placing it on the front panel you can decide if it should be a control (where the code reads the value) or an indicator (were the code writes values to it). When you define the xcontrol facade, you also need to program how the visuals change if it is changed from control to indicator or vice versa.
    As a first step, you should opend the example finder and look at some xcontrol examples.
    Again, what are you actually trying to do? 
    LabVIEW Champion . Do more with less code and in less time .

  • How to control (the input and output) EXE file after I call it using exec?

    Hi,
    I knew that I can use runtime.exec() to call one EXE file, and this works. But this EXE has two characteristics:
    1. After this exe starts, it asks user to input number such as 1 or 2 onto computer screen, then press return. Then the exe will start the calculation.
    2. after it starts calculation, it prints 3 columns of numbers onto the screen.
    My two questions are:
    1. How to use java to input the number such as 1 or 2 automatically? this EXE can not work like this in DOS command line:
    C:> file.exe parameter
    The parameter is the number such as 1 or 2 that I wanna input.
    2. how to redirect the 3 columns of numbers from computer screen to txt file?
    My colleague can solve these two questions using Mathematica. So I know that definitely there is at least one solution for it. I just can not do it using Java. This wierd exe file bothered me a lot and I really wish that I can get help from someone in java community.
    Thank you!
    Tony

    When you call Runtime.exec, you get a Process object. (I presume something similar happens when you use ProcessBuilder.) Process has methods with names getOutput, getInput, and getError. These correspond to the standard input, standard output, and standard error streams of the spawned process.
    You can read and write to the process on the streams corresponding to input and output that the process writes to the console.
    [add]
    In fact, you should be grabbing and reading the output/error streams anyway, because of the points raised by the Traps article. Google "Java Runtime exec traps" and you'll probably get a link to this JavaWorld article, which describes common Runtime.exec problems and how to solve them.
    Edited by: paulcw on Jun 15, 2010 4:09 PM

  • Producer consumer with analog and digital inputs and outputs

    Hi everyone,
    I am working on a control system program for some practical test work. Currently I am working on the data acuisition component of the Labview program. My architecture is produced-consumer loops with a que. My system will have analog inputs, analog outputs, digital inputs and digital outputs. It's not a time critical sytem, but I would like all of the data acquisition to be synchronised. I have attached my program as it is at the moment. I am having trouble getting all of the data into the que since I have two data types. Also, I'm not sure if i've synchronised the four read/write sequences correctly. I would greatly appreciate if somebody could take a look at my program and give me some advice. Thanks in advance.
    Solved!
    Go to Solution.
    Attachments:
    control_v2_DAQ loop.vi ‏46 KB

    Robert, the specific error that I get is:
    Error -200462 occurred at DAQmx Start Task.vi:6
    Possible reason(s):
    Generation cannot be started because the output buffer is empty. 
    Write data before starting a buffered generation. The following actions can empty the buffer: changing the size of the buffer, unreserving a task, setting the Regeneration Mode property, changing the Sample Mode, or configuring retriggering.
    Task Name: Heater testing lab digital outputs
    This error occurs at the 'DAQmx write.vi' function. I just want to sent one sample per second, for each channel. I would like the producer and consumer loops to each run once every second.
    I have attached part of my code with just the data acquisition and writing. Any help would be greatly appreciated.
    Attachments:
    control_v2_ML_simple.vi ‏83 KB

  • Labview Calling DLL with 2D array input and output

    Hi all,
        I have to call  a dll which a 2D double array as an input and also a 2D double array as an output.The dll is made by me and written in c language , I need it to work  efficiently.
    If i define the program in labview like this
    The 2 2Darrays sent into CLN were "Array data pointer",then how to define the function in c laguage? just like  -----int  myfunction (Parameter1,Parameter2,Parameter3,Parameter4)
    If the function in the dll is defined like this         int myfunction (double  **A, int sx,int sy ,double **B,int ix,int iy),then what will the program in labview will be ?
    sx ,sy ix ,iy are the array's size.

    ylongwu wrote:
    If the function in the dll is defined like this         int myfunction (double  **A, int sx,int sy ,double **B,int ix,int iy),then what will the program in labview will be ?
    sx ,sy ix ,iy are the array's size.
    Your proposed prototype double ** seems to indicate that you want an array of pointers to the rows of the array. That is not how LabVIEW stores multidimensional arrays (nor how this is usually done in C for such arrays).
    LabVIEW and most C libraries threat multi dimensional array as one single block of memory where the rows are located one after the other. So as DFGray has already pointed out you should use double * instead as datatype or since you create the DLL yourself and if it doesn't need to be compatible with other environments than LabVIEW change that altogether into:
    typedef struct {
       int32 dimSize1;
       int32 dimSize2;
       double elm[1];
    } 2DDblArrRec, **2DDblArrHdl;
    int myfunction (2DDblArrHdl A, 2DDblArrHdl B);
    then change the Call Library Node parameters for the arrays to pass the array as Data Handle (the native LabVIEW datatype) and leave away the extra dimensions since they are already inside the handle structure.
    Last but not least if you want to be very fancy you can even use NumericArrayResize() on the output handle to resize it to the correct size before filling in your information and leave away the Initialize Array function on the LabVIEW diagram.
    Message Edited by rolfk on 05-26-2010 09:11 AM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Custom action with XML type input and output parameter.

    Hi,
    I want to develop custom action with xml type input and/or output parameter.
    Is there sample code for java side. How is the definition of input and/or output parameter and set/get methods?
    does it need special .jar file to develop custom action like this?
    Thanks.

    Cemil - yes, you can use XML data types.  Use the class
    com.sap.lhcommon.xml.XMLDataType
    for your parameter type.  Here is a snippet from a custom action we use to log XML (instead of just returning the #text node like the default logger does):
    public class XMLLogger extends ActionReflectionBase
        private String source;
        private String eventType;
        private String textMessage;
        private XMLDataType xmlMessage;
        public XMLLogger()
            log = new Logger("UserLog");
            source = DEFAULT_SOURCE;
            eventType = TYPE_INFO;
            textMessage = "";
            xmlMessage = new XMLDataType();
        public XMLDataType getXmlMessage()
            return xmlMessage;
        public void setXmlMessage(XMLDataType xmlMessage)
            this.xmlMessage = xmlMessage;
        public void Invoke(Transaction transaction, ILog ilog)
            StringBuffer sb = new StringBuffer();
            sb.append('[');
            sb.append(source);
            sb.append("] ");
            sb.append(textMessage);
            sb.append(XMLUtils.convertXmlToString(xmlMessage));
    XMLUtils is a helper class we wrote - it's just a bunch of standard Java XML boilerplate code.  The important part you need to know is XMLDataType.getDocument() will return an org.w3c.dom.Document.
    I hope that was enough information to help.
    -tim

  • Different family class used for input  and output when working with sockets

    I have seen more or less everywhere the following code to open a socket and to receive input and send output through it:
    Socket server = new Socket("anyservername", 25):
    OutputStream out = server.getOutputStream();
    PrintWriter pout = new PrintWriter (out, true);
    pout.println("Hello");
    InputStream in = server.getInputStream();
    BufferedReader bin = new BufferedReader (new InputStreamReader(in));
    String response = bin.readLine();
    What I do not understand is:
    Why the BufferedReader needs InputStreamReader as an argument whereas printwriter does not want the OutputStreamReader as an argument but it is OK with just the OutPutStream?
    I would tend to believe that they should be more or less at the same level and use the same arguments?.
    In that sense if I use BufferWriter instead of PrintWriter I bet It should be OK the following code?:
    OutputStream out = server.getOutputStream();
    BufferedWriter bout = new BufferedWriter (out);
    String myOut = bout.writeLine();
    Cheers
    Umbi
    Edited by: Imbu on Jun 2, 2008 2:40 PM

    1. Does it even compile?
    2. While there is a fair amount of symmetry between reader and writer classes, don't assume it's exhaustive. Your best friend is the API:
    [http://java.sun.com/javase/6/docs/api/]
    3. Those were just examples. Code it the way you feel is best. I would specify charsets to make sure the encodings were platform independent. Networking and all that, don't you know...

  • Need help with PreSonus Firebox, MIDI, and inputs and outputs

    Hey everybody, I'm new, and I just recently got Logic Pro 8 and a PreSonus Firebox. I have had no trouble with recording MIDI in Logic, but I have had problems with recording audio devices, like a guitar or a bass.
    When I record MIDI, I hear it perfectly through the speakers on the Mac, and it records just fine. But the guitar won't come through. I have tried changing the core audio device to "PreSonus Firebox," in which case I still can't hear the guitar, but it records. Once it's been changed to this device, I can't hear anything else I've recorded either, like the MIDI. Once I've changed it back to "Built in input," I can hear everything, including the recorded guitar.
    So the problem is, why can't I make Firebox my input, and my computer the output, so I can play through the Firebox and hear it on the computer?
    Here is how everything is laid out: I have a Casio keyboard connected by MIDI through the Firebox, which is connected to my Macbook Pro through FireWire. There is also a guitar plugged into the Firebox. Please help, I'm really excited to start recording!

    sorry I'm not getting a few things....
    1) how do I create a midi object?
    you create the midi object in the midi inst layer of your environment. at the top left under the menu that says "new" select the very 1st thing in the list, "instrument" (midi instrument)
    2) where do I assign the midi output?
    after you create the instrument the perameters box opens on the left. you assign the port and channel there
    5) where are the audio outs?
    to what? the roland? doesn't it have audio output?
    I've been reading the manual and have tried various
    forums.... been trying to get this since last
    night.... my brain. I know it's gotta be simple...
    not real simple but not real hard either

  • Input and output parameter for subpanels

    Hi,
    i'm creating a measurement configuration tool within LabVIEW and i want
    to use subpanels for the several inputs/outputs (analog, digital...).
    The configuration data is hold within a data storage (variant) and
    contains all needed configuration parameters. Now i placed a subpanel
    control and needed stuff inside the block diagram of the wizard and i'm
    able to run it. Changes i made in that subpanels are lost currently
    because i'm not able to retrieve the output (connector) of the selected
    subpanel.
    Is there a way to exchange data over the connectors of the vi or do i
    have to use global variables in such a case? I hope i can avoid this.
    Thanks
    Henrik

    See the example in this recent posting. To get data from a subpanel, use Get Control Value or Get Control Value [Variant].

  • MultiThreading with Input and Output Streams

    Hi,
    I have a problem and I think it's because I'm not coding correctly. Please help me if you can understand what I'm doing wrong.
    I have a server that spawns a separate thread to go off and collect data from a serial port. It also waits to accept connections from any client and if a connection is made it will send that data to the clients connected.
    There is data constantly coming in through the serial port. It is output through a DataOutputStream so when the thread is created in the server, I pipe it into a DataInputStream. I do does because I want the server to then read in the data from the inputstream and then send it out to all my clients.
    So far, the way I have it set up seems to do this. But my problem occurs when I try to close a client connection. Instead of removing the socket connection it gives me an error that it can't send data to the client, but it shouldn't be sending data to the client because I just closed it. I realize this is probably because I'm still constantly receiving data from my inputstream and the connection was closed so it can't send that data to the client. I know I need to either close the stream or close my socket but I don't know where this needs to be done. I'm stuck on the correct way to fix this.
    My second problem is the initial connection made to receive data from the inputstream. This is probably because I'm not very familiar with how input/output streams work. But instead of just sending the client the current data being received in real time, it'll send all the data that's buffered in the inputstream. I don't want all the data that's been collecting to go to that first client. I only want the recent data that is coming through while the client is connected. Does this make sense? Because after I make a second client connection I don't have this problem because the InputStream is no longer buffered up. Should I be using something else besides the DataInputStream?
    I feel like I'm going about this the wrong way. Please advise. I'm shy about showing the code but I've included the bulk of it here in hopes that someone will see what I'm doing wrong. The only part that's left out is the thread that reads from the serial port. I don't seem to have any problems with that thread.
    Thanks,
    kim
    ===
    import java.io.*;
    import java.net.*;
    import javax.comm.*;
    import java.util.*;
    // DataServer waits for a client connection
    class DataServer
         static final int PORT = 7;
         // The ServerSocket to use for accepting new connections
         private ServerSocket ss;
         // A mapping from sockets to DataOutputStreams. This will
         // help us avoid from having to create a DataOutputStream each time
         // we want to write to a stream.
         private Hashtable outputStreams = new Hashtable();
         // The inputstream that will receive serial port data through a
         // piped inputstream
         public DataInputStream datalogger;
         // Constructor and while-accept loop all in one.
         public DataServer() throws IOException
              try {
                   // Creating pipe to convert the outputstream from the
                   // RS232 Thread to an inputstream for the server to read
                   PipedOutputStream pout = new PipedOutputStream();
                   PipedInputStream pin = new PipedInputStream(pout);
                   // The inputstream that will receive data from the RS232Thread
                   datalogger = new DataInputStream(pin);
                   // Spawn the thread that will read data through from
                   // the TINI serial port
                   new RS232Thread( pout ).start();
                   // Begin listening for connections and send data
                   listen();
              } catch (IOException ioe) {
                   System.out.println("Error >> DataServer::DataServer()");
                   System.out.println(ioe.getMessage());
                   ioe.printStackTrace();
              } finally {
                   try     {
                        System.out.println( "Closing >> DataServer::DataServer()" );
                        datalogger.close();
                   } catch (IOException i ) {
                        System.out.println( "Error2 >> DataServer::DataServer()" );
                        System.out.println(i); }
         private void listen() throws IOException
              // Create the ServerSocket
              ss = new ServerSocket( PORT );
              // Inform that the server is ready to go
              System.out.println( "Listening on " + ss );
              // Keep accepting connections forever
              while (true) {
                   // Grab the next incoming connection
                   Socket s = ss.accept();
                   // Inform that connection is made
                   System.out.println( "Connection from " + s );
                   // Create a DataOutputStream for writing data to the
                   // other side
                   DataOutputStream dout = new DataOutputStream( s.getOutputStream() );
                   // Save this stream so we don't need to make it again
                   outputStreams.put( s, dout );
                   // Create a new thread for this connection, and then foret
                   // about it
                   new ServerThread( this, s );
         // Get an enumeration of all the OutputStreams, one for each client
         // connected to the server
         Enumeration getOutputStreams() {
              return outputStreams.elements();
         // Send a message to all clients (utility routine)
         void sendToAll( byte[] b ) {
              // synchronize on this because another thread might be
              // calling removeConnection() and this would screw things up
              // while it walks through the list
              synchronized( outputStreams ) {
                   // For each client...
                   for (Enumeration e = getOutputStreams(); e.hasMoreElements();) {
                        // ... get the output stream ...
                        DataOutputStream dout = (DataOutputStream)e.nextElement();
                        // ... and send the message
                        try {          
                             dout.write( b );
                        } catch(IOException ie) {                     
                             System.out.println( "Error >> ServerThread::sendToAll()" );
                             System.out.println( ie );
         // remove a socket, and it's corresponding output stream, from the
         // list. This is usually called by a connection thread that has
         // discovered that the connection to the client is dead.
         void removeConnection( Socket s ) {
              // Synchronize so it doesn't mess up sendToAll() while it walks
              // down the list of all output streams
              synchronized( outputStreams ) {
                   // Inform about removal
                   System.out.println( "Removing connection to " + s );
                   // Remove if from our hastable/list
                   outputStreams.remove( s );
                   // Make sure it's closed
                   try {
                        s.close();
                   } catch( IOException ie ) {
                        System.out.println( "Error closing " + s );
                        ie.printStackTrace();
         // main - Opens a server socket and spins off a new thread each time
         // a new client connection is accepted on this socket.
         public static void main(String[] args) throws Exception
              System.out.println("Starting DataServer version 1.0 ...");
              try     
                   new DataServer();
              catch (IOException ioe)
                   System.out.println( "Error >> DataServer::main()" );
                   System.out.println(ioe.getMessage());
                   ioe.printStackTrace();
    class ServerThread extends Thread
         //The Server that spawned this thread
         private DataServer server;
         // The Socket connected to the client
         private Socket socket;
         //Constructor
         public ServerThread( DataServer server, Socket socket )
              // save the parameters
              this.server = server;
              this.socket = socket;
              // Start up the thread
              start();
         // This runs in a separate thread when start() is called in the
         // constructor
         public void run() {
              try {
                   // The inputstream receiving data from the global inputstream
                   // that is piped to the RS232 Thread
                   // ???? is this where i'm messing up ???
                   DataInputStream in = new DataInputStream( server.datalogger );
                   int num = 0;
                   byte[] d = new byte[1];
                   // read from the inputstream over and over, forever ...
                   while( ( num = in.read(d) ) > 0 ) {
                        // ... and have the server send it to all clients
                        server.sendToAll( d );               
              } catch (IOException ioe) {
                   System.out.println( "Error >> ServerThread::run()" );
                   System.out.println(ioe.getMessage());
                   ioe.printStackTrace();
              } finally {
                   // The connection is closed for one reason or another,
                   // so have the server dealing with it
                   System.out.println( "Closing" );
                   server.removeConnection( socket );

    A couple of things to note...
    First, you are looping infinitely in your server's constructor. Since the constructor is never completing, your server object is never completely constructed - this may cause indeterminate behaviour when you pass a reference to the server to another thread.
    Second, I would recommend fixing your issues by modifying your design somewhat. The design I would recommend (read: The design I would use) is:
    A server object, with a public listen method. The constructor spawns a thread to constantly read from the serial port and forward the data read back to the server, via a multicast (sendToAll) method.
    The listen method sets up a server socket to accept connections, and in a loop opens client sockets and stores them in a set.
    The multicast method iterates through the list of open client sockets, and for each in turn confirms that it is still open. If open, send the data down the socket's output stream; if closed, remove the socket from the set.
    Note that this design includes only two threads - the main thread listens for and accepts new socket connections, while the extra thread collects data from the serial port, multicasts it to all of the open sockets, and removes all of the closed sockets. If you require to perform any other communication with the sockets, it may be necessary to create a thread for those sockets, to facilitate reading from their input streams, but in the given design, this is not necessary.
    I hope this helps,
    -Troy

  • Please Help - How to pass Table objects as input and output parameters using VC++

    Please help me by giving a sample code to call the procedure
    GetClassInstanceProperties from a VC++ application using
    Oracle Objects for OLE
    CREATE OR REPLACE TYPE TY_INST_ID_PROP_PAIR AS OBJECT
    (INST_ID CHAR(38), PROP_ID CHAR(38), VALUE XMLTYPE);
    CREATE OR REPLACE PACKAGE DBMS_PROPERTYSTORE
    AUTHID CURRENT_USER
    AS
         --Used to return the ids from the functions
         TYPE tt_UUIDs IS TABLE OF char(38) index by binary_integer;
         TYPE tt_inst_id_prop_pairs is table of ty_inst_id_prop_pair index by binary_integer;
         PROCEDURE GetClassInstanceProperties(ClassId IN char, Prop_Ids in TT_UUIDs,
    Inst_Id_Prop_Pairs out TT_Inst_Id_Prop_Pair);
    END DBMS_PROPERTYSTORE;
    CREATE OR REPLACE PACKAGE BODY DBMS_PROPERTYSTORE AS
         PROCEDURE GetClassInstanceProperties
              ClassId IN char,
              Prop_Ids in TT_UUIDs,
              Inst_Id_Prop_Pairs out TT_INST_ID_PROP_PAIR
         AS
         BEGIN
              --Return the instanceid,propertyid and values for a certain class
              --only return those properties that in the user supplied Prop_ids table
              FOR I in Prop_Ids.FIRST..Prop_Ids.LAST loop
                   select TY_Inst_Id_Prop_Pair(i.Inst_Id,p.Prop_Id,p.Value) into Inst_Id_Prop_Pairs(I)
                        from TBL_Instance i, table(Prop_Pairs) p
                        where I.Cls_Id.Cls_Id=ClassID
                        and p.Prop_Id = Prop_Ids(I);
              END LOOP;
         EXCEPTION
              WHEN NO_DATA_FOUND THEN
                   raise_application_error(-20100, 'No data found');
              WHEN OTHERS THEN
                   raise_application_error(-20200, SQLERRM);
         END GetClassInstanceProperties;
    END DBMS_PROPERTYSTORE;

    HI
    Go to the lay out of your screen and doublr click on the table control fields, you can get the Properties/Attribute of the screen or table control Fields
    Assing a Group GRP1 for all the fields i n the table control.
    in PBO
    if ok_code = 'INPUT'.
    LOOP AT SCREEN.
    IF screen-grp1 = 'GRP1'.
    screen-input = 1.
    modify screen.
    endif.
    ENDLOOP.
    elseif ok_code = 'OUTPUT'.
    LOOP AT SCREEN.
    if screen-grp1 = 'GRP1'.
    screen-input = 0.
    modify screen.
    endif.
    endloop.
    endif.
    Regards
    Ramchander Rao.K
    Edited by: Ramchander Krishnamraju on Aug 8, 2009 5:27 AM

  • Planning Folders with multiple input and output layouts

    Hi,
    I have a planning folder with one input layout and 4 output layouts. The input layout has a GPS assigned to it which will be executed before layout change. Will this function get executed when I open any of the output layouts(out of 4) not necessarily the immediate output layout (next to the input layout) and will the calculated data be displayed accordingly. Can some one please confirm me on how that works.
    Scenario2: I have one input layout and 2 output layouts. The input layout has a GPS assigned which will be executed before layout change and the first output layout has another GPS assigned which is basically a push button. Then how does this work.
    Points will be assigned . Help is greatly appreciated.
    Thanks,
    Vamsi

    GPS will not be executed when you open any of the output layouts but will be executed only when you open the input layout. Yes, the calculated data gets stored in planning buffer so it will the displayed in input/output layouts accordingly.
    Scenario2: The GPS assigned to input layout will be executed when you open the input layout. GPS which is assigned to output layout in the form of a button will be only executed when user will click on that button. Calculated results will be available in all the layouts as the result remains in planning buffer until user explicitly click the 'SAVE' icon in applpication toolbar.

  • Problem with File Input and Output

    I'm using a class named Output which takes 2 arrays as input and is simply supposed to output them to a file named myfile.txt. However, every time I call it it catches an exception and just prints out Error Writing to File. Here is the source:
    import java.io.*;
    public class Output
         public Output(int[][] orig, int[][] orig2)
              int[][] first = orig;
              int[][] second = orig2;
              try
                   FileOutputStream out = new FileOutputStream("myfile.txt");
                   PrintStream p = new PrintStream( out );
                   p.print("{");
                   for(int i = 0; i < 50; i++)
                        for(int j = 0; j < 30; j++)
                             p.print(" " + first[i][j]);
                   p.print("}");
                   p.println("\n\n\n");
                   p.print("{");
                   for(int i = 0; i < 50; i++)
                        for(int j = 0; j < 30; j++)
                             p.print(" " + second[i][j]);
                   p.print("}");
                   p.close();
              catch (Exception e)
                   System.err.println ("Error writing to file");
    }

    Equis.Scry wrote:
    So basically is my computer not letting this APPLET create a txt file? For security reasons, applets by default cannot access the local file system (on the client) and cannot open any network connections except back to the server that served them up. You can sign your applet, and set up permissions in the JRE that your browser runs to allow the signed applet to do things that applets normally can't. However, before starting down that path, I suggest you examine whether your applet really needs to access the local file system, and if it does, if it should really be an applet, or would be more appropriate as an application.

  • Positional flat file schemas for input and output files to be generated with the required usecases

    Hello all,
    I need one help regarding the positional flat file schema which contains multiple headers, body and trailers.
    I have attached the sample input file below. This is a batched input and we have to generate the output which I have given below:
    We are unable to flat file schema which replicates the below input file. Please suggest better approach to achieve this.
    Sample Input FIle:
    010320140211ABC XYZ XYZ ABCD201402110 FSPAFSPA005560080441.02000006557.FSPA.IN AB-CD ABCD/AB-CD BETALKORT
    1020140210AN194107123459.FSPA.IN
    [email protected]
    1020140210AN196202123453.FSPA.IN
    [email protected]
    1020140210AN198103123435.FSPA.IN
    [email protected]
    1020140210AN195907123496.FSPA.IN
    [email protected]
    1020140210AN195903123437.FSPA.IN
    [email protected]
    1020140210AN193909123434.FSPA.IN
    [email protected]
    1020140210AN195607123413.FSPA.IN
    [email protected]
    1020140210AN199205123408.FSPA.IN
    [email protected]
    1020140210AN196206123499.FSPA.IN
    [email protected]
    1020140210AN196709123410.FSPA.IN
    [email protected]
    1020140210AN194708123455.FSPA.IN
    [email protected]
    1020140210AN195710123443.FSPA.IN
    [email protected]
    1020140210AN198311123436.FSPA.IN
    [email protected]
    1020140210AN196712123471.FSPA.IN
    [email protected]
    1020140210AV197005123403.FSPA.IN
    98000000000000014000000000000001000000000000015
    010320140211ABC XYZ XYZ PEDB201402111 FSPAICA 005560080441.02000006557.FSPA.IN AB-CDABCD/ABCDBETALKORT
    1020140210AN195111123491.ICA.IN
    [email protected]
    1020140210AV195309123434.ICA.IN
    98000000000000001000000000000001000000000000002
    Output FIle:
    1020140210AN195607123413.FSPA.IN
    [email protected]
    1020140210AN199205123408.FSPA.IN
    [email protected]
    1020140210AN196206123499.FSPA.IN
    [email protected]
    1020140210AN196709123410.FSPA.IN
    [email protected]
    1020140210AN194708123455.FSPA.IN
    [email protected]
    1020140210AN195710123443.FSPA.IN
    [email protected]
    1020140210AN198311123436.FSPA.IN
    [email protected]
    1020140210AN196712123471.FSPA.IN
    [email protected]
    1020140210AN195111123491.ICA.IN
    110019EPS [email protected]
    1020140210AV197005123403.FSPA.IN
    1020140210AV195309123434.ICA.IN
    98000000000000001000000000000001000000000000002
    99000000000000001
    Note: Header is a single line till BETALKORT and also there is a space before email id. That is not getting pasted properly in the files.
    Thanks and Regards,
    Veena Handadi

    Hi all,
    Header is missed from the output file for the above post:
    Please find the output file:
    010320140211ABC XYZ XYZ ABCD201402110 FSPAFSPA005560080441.02000006557.FSPA.IN AB-CD ABCD/AB-CD BETALKORT
    1020140210AN195607123413.FSPA.IN
    [email protected]
    1020140210AN199205123408.FSPA.IN
    [email protected]
    1020140210AN196206123499.FSPA.IN
    [email protected]
    1020140210AN196709123410.FSPA.IN
    [email protected]
    1020140210AN194708123455.FSPA.IN
    [email protected]
    1020140210AN195710123443.FSPA.IN
    [email protected]
    1020140210AN198311123436.FSPA.IN
    [email protected]
    1020140210AN196712123471.FSPA.IN
    [email protected]
    1020140210AN195111123491.ICA.IN
    110019EPS [email protected]
    1020140210AV197005123403.FSPA.IN
    1020140210AV195309123434.ICA.IN
    98000000000000001000000000000001000000000000002
    99000000000000001

  • CS6 will not accept my condensed mic stating; 'the sampole rates of the audio input and output do not match.  Audio cannot be recorded until this is corrected.  Use the appropriate operating system or audio device control panel to adjust the sample rates

    !

    The first things we need to know in order to be able to help are what are your operating system and audio device?
    Also the FAQ Setting the Sample Rate in Windows Vista and 7 may help.

Maybe you are looking for

  • Payment terms and discount voor the purchasing invoice

    Hi all, In the definitions of the payment terms, you can choose how the Due date should be based on: Document date, Posting date, System date or Closing date..we choose for the Document date. (due date = doc. date + 30 days) In the payment terms you

  • Host name benig remove from relative link on some users computers IE 7 or IE8

    There are PDF docs stored on a server with and IP as the top level of the URL.  i.e https://123.123.12/.... The problem is on certain computer the IP is not displaying when you point on the link and there for the PDF will not display.  Some computer

  • ADF export table to PDF file?

    What is the easiest way to export a table to a PDF file. The catch is that tables will be generated randomly based on a user's query. Is there any way to generically export the produced resultset/table into a PDF format regardless of the content? I h

  • Feedback on Nokia 6101

    Hello :-) I thought this "Ideas and Feedback" discussion was only for the bulletin board itself but was told otherwise in this thread so here goes. I posted the text below on phonedog.com but they haven't published it at the time of this posting. Pro

  • XI Beginner

    Hi All,     I am new to XI. I have gone thru some docs but felt it wasnt sufficient. Can anyone send me links of available docs that will guide me in learning XI in the best possible way? Thanks in advance. Regards, Pooja.