Data socket communication protocol

I am using the Data Socket protocol to communicate between two computers. And it works great. But the customer is asking for names and functions of the signals. I have looked at the NI website and I haven't found anything that explains what happens between the data sockets. I basically need to know what they are sending back and forth between each other. Can someone please help me with this?
Regards

Hi B@front,
DataSockets use quite a few protocols behind the scenes.  Here is a link that talks about the protocols:
http://zone.ni.com/devzone/cda/tut/p/id/3224
When you say "names and functions of signals" is he asking for the protocols?
Brian K.

Similar Messages

  • Data Socket Servers with LV RT

    I am trying to use LV RT on an embedded system to communicate with another system that is running LV RT.  I would like to use data socket communications in order to keep the code as simple as possible.  My question is if anyone has had experience with launching a data socket server on a LV RT platform.  Currently I am only aware of windows machines that can be data socket servers.  Any guidance would be greatly appreciated.  Thank you.
    David

    Hi David,
    I think this link can be of interest for you.
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"

  • Default Timeout on Data Socket

    In my application, I am communicating with a PLC thru RS Linx utilizing a data socket. I can successfully open the socket, write the value and update using the following:
    DS_Open with  DSConst_Write option
    DS_SetDataValue and then DS_Update
    For robustness, I want to be able to alert the operator if the ethernet cable attaching the PC to PLC is unplugged, most likely or some other portion of the process has failed, less likely once setup.
    I do have a solution to the above, but what I have found is that if during the execution of my program I disconnect the cable,  DS_Update does give me an error indicating that sometheing is wrong, but my code hangs the thread for an indeterminate amount of time at least 1 second either through the execution of the DS_SetDataValue cmd or DS_Update. Both commands don't have a timeout associated with them, but is there some default timeout that is used.
    As a work around, my thought is that I if available I could use feedback from a callback if fast enough which can detect when a network cable has been disconnected to avoid this indeterminate timeout by avoiding any set or update commands when the cable is not connected.

    Hi testguy,
    Have you tried some of the other data socket functions? DS_IsConnected or DS_GetStatus may be able to tell the status of the connection a little faster; you could run one of those before the DS_Update so it doesn't hang. The full list of data socket functions can be seen here .
    There are also some other communication protocols that do allow timeout configuration, like telnet, TCP, and UDP.
    Hope this helps!
    -Alexandra
    National Instruments
    Applications Engineer

  • Problem with socket communications

    I am trying to put together a client server socket communication pair.
    I have one application that runs in the background acting as a server and another that can be started and stopped that acts as a client.
    I can start the server and create a server socket with no problem.
    I can start the client and it connects to the server.
    The server acknowledges the connection and appears to go into a blocking state waiting for the client to send another message.
    The server blocks at the line
    parent.logit("Waiting for message from EVR..... ");
    The problem is that when the client sends another message, the server doesn't hear it.
    I am not sure if the problem is with the client or server communication code.
    If anyone out there is a socket communication guru, I would appreciate it if you could tell me what I am doing wrong.
    Thanks
    Server code:
    import java.io.*;
    import java.net.*;
    public class EVRServer
        extends Thread
      EVRDataLoader parent = null;
      ServerSocket serverSock = null;
      Socket clientSock = null;
      BufferedReader reader = null;
      BufferedWriter writer = null;
      int evrPort = 0;
      int retryLimit = 10;
      int retryCount = 0;
      boolean alive = false;
      boolean killSocket = false;
      boolean evrConnected = false;
      boolean retry = true;
      EVRListener evrListener = null;
    //=============================================================================
    // Full constructor
    //=============================================================================
       * Full constructor.
       * @param dl DataLoader - Parent application
       * @param port int Socket port
      public EVRServer(EVRDataLoader dl, int port)
        parent = dl;
        evrPort = port;
    //=============================================================================
    //  Run method - Main thread executed by start() method
    //=============================================================================
       * Main thread executed by start() method
      public void run()
        while (retry)
          if (retryCount > retryLimit)
            retry = false;
          parent.logit("Retry count = " + retryCount);
          // Create new server socket connection
          if (serverSock == null)
            try
              serverSock = new ServerSocket(evrPort);
              parent.logit("Created Server Socket for EVR on port " + evrPort);
              alive = true;
              killSocket = false;
              evrConnected = false;
            catch (Exception e)
              parent.logit(
                  "ERROR - Could not create Server socket connection for EVR: " +
                  e.toString());
              killSocket = true;
              alive = false;
          // Create new client socket connection
          if (clientSock == null)
            try
              parent.logit("Waiting for EVR to connect");
              clientSock = null;
              clientSock = serverSock.accept();
              retryCount = 0;
              evrConnected = true;
              killSocket = false;
              parent.logit("EVR connected on server Socket Port " + evrPort);
            catch (Exception e)
              parent.logit("ERROR - Error accepting EVR connection: " + e.toString());
              killSocket = true;
            try
              reader = new BufferedReader(new InputStreamReader(
                  clientSock.getInputStream()));
              writer = new BufferedWriter(new OutputStreamWriter(
                  clientSock.getOutputStream()));
              parent.logit( "Created reader "+reader);
              parent.logit( "Created writer "+writer);
            catch (Exception e)
              parent.logit(
                  "ERROR - creating reader or writer to EVR: " + e.toString());
              killSocket = true;
          int nullCount = 0;
          while (killSocket == false)
            try
              parent.logit("Waiting for message from EVR..... ");
    //          sendMessage("Data Controller connected on port " + evrPort);
              String s = reader.readLine();
              parent.logit("EVR - Received message: " + s);
              if (s != null)
                parent.processEvrMessage( s);
              else
                sleep(1000);
                nullCount++;
                if (nullCount > 10)
                  parent.logit("Exceeded retry limit: ");
                  killSocket = true;
            catch (Exception ex)
              parent.logit("Error Reading from EVR: " + ex.toString());
              killSocket = true;
          parent.logit( "After while loop");
          evrConnected = false;
          try
            retryCount++;
            parent.logit("Closing EVR connection. ");
            reader.close();
            writer.close();
            clientSock.close();
            writer = null;
            reader = null;
            clientSock = null;
            try
              sleep(1000);
            catch (Exception ee)
              parent.logit("Error after sleep " + ee.toString());
          catch (Exception e)
            parent.logit("Error closing EVR server socket");
    //=============================================================================
    // Call this method to kill the client socket connection.
    //=============================================================================
       * Call this method to kill the client socket connection.
      public void killConnection()
        killSocket = true;
    //=============================================================================
    // Return RTM connected state
    //=============================================================================
       * Return RTM connected state
       * @return boolean - Returns true if RTM is connected to server, false if not.
      public boolean isRtmConnected()
        return evrConnected;
    //=============================================================================
    // Returns state of server socket.
    //=============================================================================
       * Returns state of server socket.
       * @return boolean - Returns true if server socket is enabled, false if not.
      public boolean isServerSocketAlive()
        return alive;
    //=============================================================================
    // Send a message to the client socket.
    //=============================================================================
         * Send a message to the client socket.
         * @param msg String - Message to send.
         * @return boolean - Returns true if message sent OK, false if not.
      public boolean sendMessage(String msg)
        parent.logit(" In EVR Server - Send Message - got message: " + msg);
        if (evrConnected)
          try
            parent.logit("Sending message to EVR: " + msg);
            writer.write(msg + "\n");
            writer.flush();
            return true;
          catch (Exception e)
            parent.logit("ERROR - Error sending message to EVR: " + e.toString());
            return false;
        else
          parent.logit("EVR not connected, cannot send message: " + msg);
          return false;
    }Client code:
    package evrsimulator;
    import java.net.*;
    import java.io.*;
    class PortConnector
          extends Thread
       ServerSocket serverSock = null;
       boolean isIP = false;
       InetAddress addr = null;
       Frame1 parent = null;
       byte[] rawIP;
        //   String initialMsg = "";
       public PortConnector( Frame1 f )
         parent = f;
       // This method is called when the thread runs
       public void run()
          if ( parent.hostName.indexOf( "." ) > 0 )
             isIP = true;
             byte[] rawIP = parent.getRawIP( parent.hostName );
          try
             System.out.println( "Connecting to host " +
                                            parent.hostName + " on port " +
                                            parent.socketPort );
             if ( isIP )
                addr = InetAddress.getByAddress( rawIP );
             else
                addr = InetAddress.getByName( parent.hostName );
             System.out.println( "Inet address = " + addr );
             SocketAddress sockaddr =
                   new InetSocketAddress( addr, parent.socketPort );
             // Create an unbound socket
             parent.client = new Socket();
             // This method will block no more than timeoutMs.
             // If the timeout occurs, SocketTimeoutException is thrown.
             parent.client.connect( sockaddr, parent.socketTimeOut );
             parent.socketOut =
                   new BufferedWriter( new OutputStreamWriter(
                   parent.client.getOutputStream() ) );
             parent.socketIn = new BufferedReader( new InputStreamReader(
                   parent.client.getInputStream() ) );
             parent.localName = parent.localName +
                   parent.client;
             System.out.println( "Parent socketOut = "+parent.socketOut);
             System.out.println( "Parent socketIn = "+parent.socketIn);
          catch ( UnknownHostException uhe )
             System.out.println( "Unknown Host - " + uhe.getMessage() );
          catch ( SocketTimeoutException ste )
             System.out.println( "Socket time out - " + ste.getMessage());
          catch ( IOException ioe )
             System.out.println( "IO exception - " + ioe.getMessage() );
          // Listen on socket for message from host - thread should block.
          parent.portConnected = true;
          while ( parent.portConnected )
             try
                String msg = parent.socketIn.readLine();
                System.out.println( "Message from Host: " + msg );
                System.out.println( "Message from Host: |" + msg + "|" );
                if( msg.length() > 2)parent.processMessage( msg );
             catch ( IOException ioe )
                System.out.println( "Exception creating server socket." );
          try
             System.out.println(
                   "PortConnection - Closing socket and IO connections" );
             parent.socketIn.close();
             parent.socketOut.close();
             parent.client.close();
             parent.clockRunning = false;
             if( parent.heartBeating) heartBeat.interrupt();
          catch ( IOException ioex )
             System.out.println( "Exception closing socket." );
    }

    Your first problem is that you keep closing and recreating the ServerSocket. Do this once only in the lifetime of the server.
    This is such a basic error that I haven't read the rest of the code. Before you go any further I suggest you read the Custom Networking trail of the Java Tutorial.

  • Socket communication failure between Java applet and C++ application

    I have a java applet that connects to a C++ application via Java's ServerSocket and Socket objects. THe C++ application is using the Winsock 2 API. The applet and application are running on an NT workstation (SP 6) and using IE (5.5) For a very simple C++ test applications the communictions work fine. Once more code gets added to the C++ application the portion of the socket that C++ listens to seems to close. Upon performing a recv call the return value is a zero. Microsoft insists this is a sign the Java side has shut down the socket. The Java applet can still receive messages from the C++ app but C++ cannot receive responses from the Java side. Java throws no exceptions and an explicit check of the socket shows no errors. Again, what puzzles me is that it works for simple C++ applications. Are there any known conflicts between Java and C++ in this regard?
    I have inlcuded the basic java code segments below.
    / run Method.
      * This method is called by the Thread.start() method. This
      * method is required for the implementation of the Runnable interface
      * This method sets up the server side socket communication and
      * contiuously loops looking for requests from a external
      * socket.
      * @author Chris Duke
      public void run(){
         // create socket connections
         boolean success = false;
         try {
             cServerSocket = new ServerSocket(cPortID);
             System.out.println("Waiting for client to connect...");
             cClientSocket = cServerSocket.accept();
             System.out.println("Client connected");
             // Create a stream to read from the client
             cInStream = new BufferedReader(new InputStreamReader(
               cClientSocket.getInputStream()));
             // Create a stream to write to the client       
             cOutStream = new PrintWriter(
               cClientSocket.getOutputStream(), true);
             success = true;
         }catch (IOException e) {
             System.out.println("CommSocket:Run - Socket Exception(1) " + e);
             success = false;
         // if the socket was successfully created, keep the thread running
         while (success){
             try{
                // check socket to see if it is still available for reading
                if (cInStream != null && cInStream.ready()){
                    // check for an incoming message
                    String message = ReceiveMessage();
                    // Send message to listeners
                    Event(message);
                if (cInStream == null){
                    success = false;
                    System.out.println("CommSocket:Run - shutdown");
             }catch (IOException e){
                System.out.println("CommSocket:Run - Socket not ready exception");
                break;
    // SendMessage method -
      *  Sends a text message to a connected listener through port specified by portID
      * @author Chris Duke
      * @param  String message - This will be the message sent out through the server
      * socket's port specified by portID.
       public void SendMessage(String message){
          cOutStream.println(message);
          if (cOutStream.checkError() == true)
            System.out.println("SendMessage : Flush = Error");
          else{
            System.out.println("SendMessage : Flush - No Error");
       }

    a very simple C++ test applications the communictions work fine. Once more code gets added to the C++ application the portion of the socket that C++ listens to seems to close.
    This quite strongly implicates the extra code in the C++ App. The firstly thing I would try would be telnet. Try connecting to both versions of the C++ Application and manually reproducing a proper exchange.
    a recv call the return value is a zero. Microsoft insists this is a sign the Java side has shut down the socket.
    A correct implementation of recv should return the number of bytes received, or -1 for an error. A zero return indicates no bytes received not a socket closed/error. This sounds like FUD to me.
    Are there any known conflicts between Java and C++ in this regard?
    I can see no obvious faults, though the code is incomplete, I don't think it's an sockets implementation issue, at either end, it sounds more likely to be a protocol/handshaking bug in the C++ App.

  • Data socket problems with LVRT 8.2

     I am in the process of migrating to LV 8.2 from LV7.1.1. My system has 18 RT targets which send data to a Host PC through data socket (DS). The Host PC runs LV on Windows XP Pro.  With LV7.1.1 on both host and RT targets DS works perfectly. The RT targets update the host every 500 ms.
    I've taken a three-step process in the migration. First tests were done with the host migrated to LV8.2 while keeping the RTs at LV7.1.1. Result: the system worked perfect. Then I changed one RT to 8.2 keeping the rest the rest at LV7.1.1. Result: DS timed out before all the data could be sent to Host. Finally, all RTs were migrated to LVRT 8.2. Result: Only about 5 out of the 18 RTs report to the Host before DS times out. However, if only one RT target is used, i.e., the other 17 RTs are diasbled, communication is very fast. Is there a special setting that I need to make? Btw, the roughly 5 RTs that report vary randomly from test to test, i.e., there is no bias towards any particular RTs.
    I am using the same source code developed under LV7.1.1, so the only changes made are the ones that take place when one opens LV7.1.1 code in LV8.2. Some VIs get converted in the process.
    Any ideas?
    Chatonda Mtika
    Algis Corp
    Vancouver, Canada

    Ben,
    I must say I am very surprised by Nadim's email. His point, which I must say I don't agree with, was made quite clear to me yesterday during a conference call between my team and the NI team comprising Chris, Nadim, and Avinash. So I don't know what purpose this morning's email is supposed to serve. Be that as it may, I think NI has gotten it wrong here. I do not think it should be one or the other. The discussion forum is a much wider forum comprised of people with varying experiences - not just NI employees. That is precisely why I posted my problem to the forum: to tap into the vast experiences of the discussants. But when I did not get any responses after I had posted answers to Nadim's questions, I decided to make a formal service request to NI, all perfectly legal. So I was really surprised when I was being blamed for tying up NI resources on one problem. I believe the resource allocation issue should be NI's to solve, not mine. I have no way of knowing that NI had formally assigned somebody to my problem. What if nobody from NI responds, am I allowed to make a service request to NI? My feeling is that NI's logic is flawed here, assuming Nadim's views are NI's views.
    Thanks,
    Chatonda Mtika
    Algis Corporation
    Vancouver, Canada

  • Socket communication very slow on Mac OS X 10.6

    Hi everybody,
    I'm using a socket based communication in an application and in Mac OS 10.5 everything works quick and flawless using XCode 3.1.4.
    In Mac OS 10. 6, using XCode 3.2.4, I set the Mac OS X 10.6 SDK, I recompiled the app. but the responsiveness of the app is terrible slow. The GUI itself runs OK but any socket related action is painfully slow (sometimes connection timeout).
    The socket communication is implemented using standard CFSocket classes.
    Is this a XCode migration issue from 3.1 to 3.2 or a Mac OS 10.6 related one (I've seen lots of complains on networking issues)?
    Thank you very much,
    Dan

    Thank you very much for the info but why it worked (and really fast) on 10.5. I also wonder why I didn't run into TCP_NODELAY problem there ? My TCP buffer size is 1K and I'm using the same testing environment.
    Of course there is much more to it than some init parameters but still, what could be so different on 10.6 ? And I tried already the sysctl.conf TCP_NODELAY setting but no effect.
    This is the code (briefly):
    1. CONNECT
    // Create signature from ip and port
    struct sockaddr_in sin; /* TCP/UDP socket address structure. */
    self->m_RemoteSocketSignature = (CFSocketSignature*)malloc(sizeof(CFSocketSignature));
    self->m_RemoteSocketSignature->protocolFamily = PF_INET; /* IPv4 */
    self->m_RemoteSocketSignature->socketType = SOCK_STREAM; /* Stream oriented. */
    self->m_RemoteSocketSignature->protocol = IPPROTO_TCP; /* TCP */
    memset( &sin, 0, sizeof( sin ) );
    sin.sin_len= sizeof( sin );
    sin.sin_family = AF_INET; /* Address is IPv4. Use PF_xxx for protocol
    description, AF_xxx for address description. */
    /* sin.port and sin.addr are in network( big endian ) byte order. */
    sin.sin_port = CFSwapInt16HostToBig( port );
    inet_aton( [address UTF8String], &sin.sin_addr ); /* inet_aton() gives back
    network order addresses from strings. */
    self->m_RemoteSocketSignature->address = CFDataCreate( NULL, (UInt8 *)&sin, sizeof( sin ) );
    // Connect the Write & the Read streams to the socket
    CFStreamCreatePairWithPeerSocketSignature (
    kCFAllocatorDefault,
    m_RemoteSocketSignature,
    & m_ReadStream,
    & m_WriteStream
    if((m_ReadStream != NULL) && (m_WriteStream != NULL))
    bOpenWrite = CFWriteStreamOpen (m_WriteStream);
    bOpenRead = CFReadStreamOpen (m_ReadStream);
    2. RECEIVE
    CFIndex iTotalBytesRead = 0;
    while (true == CFReadStreamHasBytesAvailable(m_ReadStream))
    char buffer[1024];
    CFIndex bufferLength = 1024;
    CFIndex iBytesRead = CFReadStreamRead (
    m_ReadStream,
    buffer,
    bufferLength
    // Error ?
    if(iBytesRead < 0)
    return iBytesRead;
    // EOS ?
    if(iBytesRead == 0)
    return iTotalBytesRead;
    iTotalBytesRead += iBytesRead;
    if(string != nil)
    [string appendString:[NSString stringWithCString:buffer length:(unsigned)iBytesRead]];
    3. SEND
    CFIndex iBytesSent = CFWriteStreamWrite (
    m_WriteStream,
    buffer,
    bufferLength
    Thanks a lot for your help,
    Dan

  • Socket communication problem

    hello all,
    i have written a small program to send a message to echo server and get back the response from the server.
    it gives a error as
    COULD NOT GET I/O FOR CONNECTION TO <ip address>
    i am working on win nt version 4 service pack 4 installed on a home computer.
    the code is as below:
    import java.io.*;
    import java.net.*;
    public class net4a {
    public static void main(String[] args) throws IOException{
    Socket echoSocket = null;
    DataOutputStream os = null;
    DataInputStream is = null;
         DataInputStream stdIn = new DataInputStream(System.in);
         InetAddress host = InetAddress.getLocalHost();
    try {
    echoSocket = new Socket(host, 7);
    os = new DataOutputStream(echoSocket.getOutputStream());
    is = new DataInputStream(echoSocket.getInputStream());
    } catch (UnknownHostException e) {
    System.err.println("Don't know about host: " + host);
    } catch (IOException e) {
    System.err.println("Couldn't get I/O for the connection to: " + host);
    if (echoSocket != null && os != null && is != null) {
    try {
    String userInput;
    while ((userInput = stdIn.readLine()) != null) {
    os.writeBytes(userInput);
    os.writeByte('\n');
    System.out.println("echo: " + is.readLine());
    os.close();
    is.close();
    echoSocket.close();
    } catch (IOException e) {
    System.err.println("I/O failed on the connection to: " + host);
    look forward to ur valuable tips on the same.

    Hello,
    Long time java programmer, first time forum user.
    Looks like you looking to looking to get a java applet/program communicating with a web server. This is not an extremely difficult task and I have successfully got apache communicating CGI transactions to and from an applet with no drama�s.
    This is very useful as it is restrictive to have to open up extra sockets across a network as many networks today restrict socket communication often for security or business/organization policies.
    An alternative is to use HTTP request using the POST command to talk to a web server with the web server replying to the request. For example, you may need to ask a database to pull out all customer names from a server-side database. The applet need only send a URLEncoded request to the server, the webserver invokes the CGI process (I use Java to handle the CGI requests but other methods/languages can be used) which returns the result of the transaction.
    I have listed some code that included the a �ping-pong� request to a server. It included the applet function that calls the webserver, the CGI batch script (for win NT/XP) to invoke the java program, the cgi-lib to simply parse the URL request (many thanks to the author) and the server-side java program that responds to the request.
    I hope you find this useful. The download for apache, the webserver, is available at
    http://www.apache.org/
    and is a pretty simple install. Make sure you fix up the httpd.conf file to suit your system.
    Good luck.
    Dale Miller
    CLIENT-SIDE (Java Applet Snippit)
    public class Comm {
         private String server;
         private URL toServer;
         private URLConnection uRLConnection;
         private DataOutputStream dataOutputStream;
         private StringBuffer output;
         private BufferedReader dataInputStream;
         private String result;
         private int resultsLast;
         private String results[] = new String[100];
         private int firstTU;
         //this function starts in its own thread and takes care
         //of logins and there re-tries, the messaging.
         //Please see the actual function for better details
         //private LoginWatcher loginWatcher;
         public Comm(String serverAddress) throws UnsupportedEncodingException{
              System.out.println("loaded Comm class!");
              //First thing we need to do is set up the login watcher
              //loginWatcher = new LoginWatcher();
              this.output = new StringBuffer();
              this.server = serverAddress;
              try {
                   this.toServer = new URL(server + "ping.cgi");
              } catch (MalformedURLException e) {
                   System.out.println("ERROR : in contacting the server");
                   System.out.println("Server : " + server);
                   System.out.println("NOT FOUND!!");
              try {
                   this.uRLConnection = toServer.openConnection();
              } catch (IOException e) {
                   System.out.println("ERROR : Connection to server refused");
              this.uRLConnection.setUseCaches(false);
              this.uRLConnection.setDoInput(true);
              this.uRLConnection.setDoOutput(true);
              this.uRLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
              try {
                   this.dataOutputStream = new DataOutputStream(uRLConnection.getOutputStream());
              } catch (IOException e) {
                   System.out.println("ERROR : opening dataoutputstream");
              this.output.setLength(0);
              output.append("first=" + URLEncoder.encode("I am", "UTF-8"));
              output.append("&last=" + URLEncoder.encode("number 1", "UTF-8"));
              try {
                   dataOutputStream.writeBytes(new String(output));
              } catch (IOException e) {
                   System.out.println("ERROR : Sending string to cgi ping.cgi");
              try {
                   this.dataInputStream = new BufferedReader(new InputStreamReader(uRLConnection.getInputStream()));
              } catch (IOException e) {
                   System.out.println("ERROR : Setting up input stream");
              String grab = new String();
              System.out.print("Searching for server..");
              try {
                   grab = dataInputStream.readLine();
                   grab = dataInputStream.readLine();
              } catch (IOException e) {
                   System.out.println("ERROR : Reciving ping data from server");
              if (grab.equals("pass")) {
                   System.out.println("OK");
              } else {
                   System.out.println("ERROR\n\nSERVER NOT FOUND!!!");
                   System.exit(-1);
              //loginWatcher.loginWatcherTh.start();
    CGI BATCH TO INVOKE CGI PROGRAM
    #!java -cp c:\ss\ middle
    CGI-LIB TO PARSE HTTP REQUESTS
    import java.util.*;
    import java.io.*;
    * cgi_lib.java<p>
    * <p>
    * Usage: This library of java functions, which I have encapsulated inside
    * a class called cgi_lib as class (static) member functions,
    * attempts to duplicate the standard PERL CGI library (cgi-lib.pl).
    * You must invoke any Java program that uses this library from
    * within a UNIX script, Windows batch file or equivalent. As you
    * will see in the following example, all of the CGI environment
    * variables must be passed from the script into the Java application
    * using the -D option of the Java interpreter. This example
    * UNIX script uses the "main" routine of this class as a
    * CGI script:
    * <pre>
    * (testcgi.sh)
    * #!/bin/sh
    * java \
    * -Dcgi.content_type=$CONTENT_TYPE \
    * -Dcgi.content_length=$CONTENT_LENGTH \
    * -Dcgi.request_method=$REQUEST_METHOD \
    * -Dcgi.query_string=$QUERY_STRING \
    * -Dcgi.server_name=$SERVER_NAME \
    * -Dcgi.server_port=$SERVER_PORT \
    * -Dcgi.script_name=$SCRIPT_NAME \
    * -Dcgi.path_info=$PATH_INFO \
    * cgi_lib
    * </pre>
    * Question and comments can be sent to [email protected].<p>
    * @version 1.0
    * @author Pat L. Durante
    class cgi_lib
    * Parse the form data passed from the browser into
    * a Hashtable. The names of the input fields on the HTML form will
    * be used as the keys to the Hashtable returned. If you have a form
    * that contains an input field such as this,<p>
    * <pre>
    * &ltINPUT SIZE=40 TYPE="text" NAME="email" VALUE="[email protected]"&gt
    * </pre>
    * then after calling this method like this,<p>
    * <pre>
    * Hashtable form_data = cgi_lib.ReadParse(System.in);
    * </pre>
    * you can access that email field as follows:<p>
    * <pre>
    * String email_addr = (String)form_data.get("email");
    * </pre>
    * @param inStream The input stream from which the form data can be read.
    * (Only used if the form data was posted using the POST method. Usually,
    * you will want to simply pass in System.in for this parameter.)
    * @return The form data is parsed and returned in a Hashtable
    * in which the keys represent the names of the input fields.
    public static Hashtable ReadParse(InputStream inStream)
    Hashtable form_data = new Hashtable();
    String inBuffer = "";
    if (MethGet())
    inBuffer = System.getProperty("cgi.query_string");
    else
    // TODO: I should probably use the cgi.content_length property when
    // reading the input stream and read only that number of
    // bytes. The code below does not use the content length
    // passed in through the CGI API.
    DataInput d = new DataInputStream(inStream);
    String line;
    try
    while((line = d.readLine()) != null)
    inBuffer = inBuffer + line;
    catch (IOException ignored) { }
    // Split the name value pairs at the ampersand (&)
    StringTokenizer pair_tokenizer = new StringTokenizer(inBuffer,"&");
    while (pair_tokenizer.hasMoreTokens())
    String pair = urlDecode(pair_tokenizer.nextToken());
    // Split into key and value
    StringTokenizer keyval_tokenizer = new StringTokenizer(pair,"=");
    String key = new String();
    String value = new String();
    if (keyval_tokenizer.hasMoreTokens())
    key = keyval_tokenizer.nextToken();
    else ; // ERROR - shouldn't ever occur
    if (keyval_tokenizer.hasMoreTokens())
    value = keyval_tokenizer.nextToken();
    else ; // ERROR - shouldn't ever occur
    // Add key and associated value into the form_data Hashtable
    form_data.put(key,value);
    return form_data;
    * URL decode a string.<p>
    * Data passed through the CGI API is URL encoded by the browser.
    * All spaces are turned into plus characters (+) and all "special"
    * characters are hex escaped into a %dd format (where dd is the hex
    * ASCII value that represents the original character). You probably
    * won't ever need to call this routine directly; it is used by the
    * ReadParse method to decode the form data.
    * @param in The string you wish to decode.
    * @return The decoded string.
    public static String urlDecode(String in)
    StringBuffer out = new StringBuffer(in.length());
    int i = 0;
    int j = 0;
    while (i < in.length())
    char ch = in.charAt(i);
    i++;
    if (ch == '+') ch = ' ';
    else if (ch == '%')
    ch = (char)Integer.parseInt(in.substring(i,i+2), 16);
    i+=2;
    out.append(ch);
    j++;
    return new String(out);
    * Generate a standard HTTP HTML header.
    * @return A String containing the standard HTTP HTML header.
    public static String Header()
    return "Content-type: text/html\n\n";
    * Generate some vanilla HTML that you usually
    * want to include at the top of any HTML page you generate.
    * @param Title The title you want to put on the page.
    * @return A String containing the top portion of an HTML file.
    public static String HtmlTop(String Title)
    String Top = new String();
    Top = "<html>\n";
    Top+= "<head>\n";
    Top+= "<title>\n";
    Top+= Title;
    Top+= "\n";
    Top+= "</title>\n";
    Top+= "</head>\n";
    Top+= "<body>\n";
    return Top;
    * Generate some vanilla HTML that you usually
    * want to include at the bottom of any HTML page you generate.
    * @return A String containing the bottom portion of an HTML file.
    public static String HtmlBot()
    return "</body>\n</html>\n";
    * Determine if the REQUEST_METHOD used to
    * send the data from the browser was the GET method.
    * @return true, if the REQUEST_METHOD was GET. false, otherwise.
    public static boolean MethGet()
    String RequestMethod = System.getProperty("cgi.request_method");
    boolean returnVal = false;
    if (RequestMethod != null)
    if (RequestMethod.equals("GET") ||
    RequestMethod.equals("get"))
    returnVal=true;
    return returnVal;
    * Determine if the REQUEST_METHOD used to
    * send the data from the browser was the POST method.
    * @return true, if the REQUEST_METHOD was POST. false, otherwise.
    public static boolean MethPost()
    String RequestMethod = System.getProperty("cgi.request_method");
    boolean returnVal = false;
    if (RequestMethod != null)
    if (RequestMethod.equals("POST") ||
    RequestMethod.equals("post"))
    returnVal=true;
    return returnVal;
    * Determine the Base URL of this script.
    * (Does not include the QUERY_STRING (if any) or PATH_INFO (if any).
    * @return The Base URL of this script as a String.
    public static String MyBaseURL()
    String returnString = new String();
    returnString = "http://" +
    System.getProperty("cgi.server_name");
    if (!(System.getProperty("cgi.server_port").equals("80")))
    returnString += ":" + System.getProperty("cgi.server_port");
    returnString += System.getProperty("cgi.script_name");
    return returnString;
    * Determine the Full URL of this script.
    * (Includes the QUERY_STRING (if any) or PATH_INFO (if any).
    * @return The Full URL of this script as a String.
    public static String MyFullURL()
    String returnString;
    returnString = MyBaseURL();
    returnString += System.getProperty("cgi.path_info");
    String queryString = System.getProperty("cgi.query_string");
    if (queryString.length() > 0)
    returnString += "?" + queryString;
    return returnString;
    * Neatly format all of the CGI environment variables
    * and the associated values using HTML.
    * @return A String containing an HTML representation of the CGI environment
    * variables and the associated values.
    public static String Environment()
    String returnString;
    returnString = "<dl compact>\n";
    returnString += "<dt><b>CONTENT_TYPE</b> <dd>:<i>" +
    System.getProperty("cgi.content_type") +
    "</i>:<br>\n";
    returnString += "<dt><b>CONTENT_LENGTH</b> <dd>:<i>" +
    System.getProperty("cgi.content_length") +
    "</i>:<br>\n";
    returnString += "<dt><b>REQUEST_METHOD</b> <dd>:<i>" +
    System.getProperty("cgi.request_method") +
    "</i>:<br>\n";
    returnString += "<dt><b>QUERY_STRING</b> <dd>:<i>" +
    System.getProperty("cgi.query_string") +
    "</i>:<br>\n";
    returnString += "<dt><b>SERVER_NAME</b> <dd>:<i>" +
    System.getProperty("cgi.server_name") +
    "</i>:<br>\n";
    returnString += "<dt><b>SERVER_PORT</b> <dd>:<i>" +
    System.getProperty("cgi.server_port") +
    "</i>:<br>\n";
    returnString += "<dt><b>SCRIPT_NAME</b> <dd>:<i>" +
    System.getProperty("cgi.script_name") +
    "</i>:<br>\n";
    returnString += "<dt><b>PATH_INFO</b> <dd>:<i>" +
    System.getProperty("cgi.path_info") +
    "</i>:<br>\n";
    returnString += "</dl>\n";
    return returnString;
    * Neatly format all of the form data using HTML.
    * @param form_data The Hashtable containing the form data which was
    * parsed using the ReadParse method.
    * @return A String containing an HTML representation of all of the
    * form variables and the associated values.
    public static String Variables(Hashtable form_data)
    String returnString;
    returnString = "<dl compact>\n";
    for (Enumeration e = form_data.keys() ; e.hasMoreElements() ;)
    String key = (String)e.nextElement();
    String value = (String)form_data.get(key);
    returnString += "<dt><b>" + key + "</b> <dd>:<i>" +
    value +
    "</i>:<br>\n";
    returnString += "</dl>\n";
    return returnString;
    * The main routine is included here as a test CGI script to
    * demonstrate the use of all of the methods provided above.
    * You can use it to test your ability to execute a CGI script written
    * in Java. See the sample UNIX script file included above to see
    * how you would invoke this routine.<p>
    * Please note that this routine references the member functions directly
    * (since they are in the same class), but you would have to
    * reference the member functions using the class name prefix to
    * use them in your own CGI application:<p>
    * <pre>
    * System.out.println(cgi_lib.HtmlTop());
    * </pre>
    * @param args An array of Strings containing any command line
    * parameters supplied when this program in invoked. Any
    * command line parameters supplied are ignored by this routine.
    public static void main( String args[] )
    // This main program is simply used to test the functions in the
    // cgi_lib class.
    // That said, you can use this main program as a test cgi script. All
    // it does is echo back the form inputs and enviroment information to
    // the browser. Use the testcgi UNIX script file to invoke it. You'll
    // notice that the script you use to invoke any Java application that
    // uses the cgi_lib functions MUST pass all the CGI enviroment variables
    // into it using the -D parameter. See testcgi for more details.
    // Print the required CGI header.
    System.out.println(Header());
    // Create the Top of the returned HTML
    // page (the parameter becomes the title).
    System.out.println(HtmlTop("Hello World"));
    System.out.println("<hr>");
    // Determine the request method used by the browser.
    if (MethGet())
    System.out.println("REQUEST_METHOD=GET");
    if (MethPost())
    System.out.println("REQUEST_METHOD=POST");
    System.out.println("<hr>");
    // Determine the Base URL of this script.
    System.out.println("Base URL: " + MyBaseURL());
    System.out.println("<hr>");
    // Determine the Full URL used to invoke this script.
    System.out.println("Full URL: " + MyFullURL());
    System.out.println("<hr>");
    // Print all the CGI environment variables
    // (usually only used while testing CGI scripts).
    System.out.println(Environment());
    System.out.println("<hr>");
    // Parse the form data into a Hashtable.
    Hashtable form_data = ReadParse(System.in);
    // Print out each of the name/value pairs
    // from sent from the browser.
    System.out.println(Variables(form_data));
    System.out.println("<hr>");
    // Access a particular form value.
    // (This assumes the form contains a "name" input field.)
    String name = (String)form_data.get("name");
    System.out.println("Name=" + name);
    System.out.println("<hr>");
    // Create the Bottom of the returned HTML page - which closes it cleanly.
    System.out.println(HtmlBot());
    SERVER-SIDE PROGRAM TO RETURN PING
    import java.util.*;
    import java.io.*;
    class ping
         public static void main(String args[]) {
              System.out.println(cgi_lib.Header());
              Hashtable form_data = cgi_lib.ReadParse(System.in);
              String one = (String)form_data.get("first");
              String two = (String)form_data.get("last");
              boolean test;
              test = false;
              if (one.equals("I am")) {
                   if (two.equals("number 1")) {
                        test = true;
              if (test == true) {
                   System.out.println("pass");
              } else {
                   System.out.println("fail");
         //Datavasee
    ENJOY :)

  • Does XI support Socket communication?

    Hi,
    This question came from our customers and consultants.
    I saw the definition of socket in Wikipedia that it is somehow based on TCP, UDP. So far as I know, XI does not "support" TCP/IP. Does this mean XI does not support Socket either? Or this could be covered in the adapters of XI?
    If XI does not support this, do you have any experience of a solution to socket communication?
    Thanks in advance!
    best regards
    Jing

    Hi,
    sorry for the late reply.
    I understand you that PI does not quite meet healthcare specific requirements.
    Regrading medical equipment with PI, I am not familiar with that part.
    But I have good news regarding HL7 protocol with PI. In the meantime we (SAP) have a service solution of HL7 adapter for PI, that supports HL7 communications based on HL7 message format/protocol.
    Details please see this blog from Vijendra: http://scn.sap.com/docs/DOC-3891
    hope this helps you.
    Regards
    Jing

  • Connecting to a data socket

    If a machine opens a socket connection to me, how to I get data from it. I have the IP of the machine and the socket number. Do I just give the IP number to Data Socket Read and the listen for data?
    Thanks

    Hi Exo,
    "You can only use DataSocket as a client on Linux, Solaris and Macintosh.  This
    means that from a non-Windows machine you can publish to and read from a
    DataSocket Server, but the server itself must be running on a Windows machine.  The DataSocket Server application is built on Windows-based ActiveX
    technology and so is only available for Windows environments."  This is from KnowledgeBase 29A9RA8V.
    In the LabVIEW Example Finder >> Communicating with External Applications >> OLE for Process Control (OPC) >> open the Browse to OPC Item example.  The example will build the URL to the OPC server item if it is available on the network.  You can also see How Do I Use OPC in LabVIEW?  I hope this helps.

  • Socket communication error

    I am facing a problem in presentation server .
    When i am using AGO date functions i have encountered an error named as.:
    nQS Error:12002 : Socket Communication error at call=recv (number=10054)
    I have goggle'd it but cannot understand thier explanation ...

    Hi,
    Mistakenly my machine got restarted and after that when I tried to start OPMN services,its showing all the processes alive but after that ,while restarting BI services from windows
    its throwing an error of unexpectedly shutting down of services.
    My NQS log says:
    [nQSError: 12010] Communication error connecting to remote end point: address = 192.168.10.209; port = 80.
    [nQSError: 46119] Failed to open HTTP connection to server 192.168.10.209 at port 80.
    I have checked that IP is still same. What is the issue behind it?
    This is very urgent.I have already posted this issues many times but didn't get any response So please help.

  • Communication protocol applet and server application

    Hello,
    I want to read and write on server port such that applet is communicating with a server application.
    Can any body suggest me any application level communication protocol or algo so that read and write are syncronised.
    There is no blocking b/w I/o streams while clients are reading or writing to server.
    shahzad

    Look at this 3 pages
    http://java.sun.com/docs/books/tutorial/networking/sockets/index.html
    http://java.sun.com/products/javacomm/javadocs/API_users_guide.html
    http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html
    Noah

  • ORA-03106: fatal two-task communication protocol error

    Hello everyone,
    we have a problem with one of our table.
    the problem occurs when i execute
    SQL> select * from t;
    select * from t
    ERROR at line 1:
    ORA-03106: fatal two-task communication protocol error
    but i can access the data by giving the column names for the whole table.
    also there is nothing wrong with the other tables in the schema.
    many thanx in advance

    first of all thanx in advance
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    TNS for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Productio
    NLSRTL Version 10.2.0.1.0 - Production
    SQL> select comp_id, version, status from dba_registry;
    COMP_ID VERSION STATUS
    CATALOG 10.2.0.1.0 VALID
    CATPROC 10.2.0.1.0 VALID
    OWM 10.2.0.1.0 VALID
    JAVAVM 10.2.0.1.0 VALID
    XML 10.2.0.1.0 VALID
    CATJAVA 10.2.0.1.0 VALID
    EXF 10.2.0.1.0 VALID
    ODM 10.2.0.1.0 VALID
    CONTEXT 10.2.0.1.0 VALID
    XDB 10.2.0.1.0 VALID
    RUL 10.2.0.1.0 VALID
    COMP_ID VERSION STATUS
    ORDIM 10.2.0.1.0 VALID
    APS 10.2.0.1.0 VALID
    XOQ 10.2.0.1.0 VALID
    AMD 10.2.0.1.0 VALID
    SDO 10.2.0.1.0 VALID
    EM 10.2.0.1.0 VALID
    but i cannot understand why..
    as far as i know, nothing changed. but maybe the other admins:)
    as i said i can query all colums in table t without using a *,
    also i can use * when i include rowid in the query
    select m.*,rowid from t m;
    i am very confused now:S

  • ORA-03106: fatal two-task communication protocol erro

    Hi,
    I have been writing an oracle client application for Linux and I am
    getting the error ORA-03106: fatal two-task communication protocol:
    fatal two-task communication protocol error".
    I am trying to do a Piecewise fetch of long data using
    OCIDefineDynamic() and a callback function. The callback is being called
    but after setting the buffer information for the data I get an ORA-03106
    error.
    If I just do this as a normal fetch it works.
    Any ideas?

    Hi,
    "Two-task common errors are generally RDBMS related issues, but could be caused by a problem with SQL*Net, or an application (i.e. Pro*C).
    ORA-03106
    ========
    Possible reasons for the ORA-03106 errors include:
    1) Incompatibilities between the client application and the RDBMS server. For example, version incompatibilities, or a client trying to use a feature not supported by the database kernel.
    2) When using database links or gateways.
    3) Network or SQL*Net problems.
    4) Corruptions.
    5) PL/SQL - language related."
    For more information, take a look at Note:1012295.102 from Oracle Metalink.
    Cheers
    Legatti

  • ORA-03106: fatal two-task communication protocol

    Hi,
    I am getting this error with the short dump(in ST22)   DBIF_SETG_SQL_ERROR.
    The details of the dump is also given.
    Please help.
    Runtime Error          DBIF_SETG_SQL_ERROR
           Occurred on     12.08.2008 at   08:30:37
    SQL error occurred in the database when accessing a table.
    What happened?
    What can you do?
    Make a note of the actions and input which caused the error.
    To resolve the problem, contact your SAP system administrator.
    You can use transaction ST22 (ABAP Dump Analysis) to view and administer
    termination messages, especially those beyond their normal deletion
    date.
    Error analysis
    How to correct the error
    Database error text........: "ORA-03106: fatal two-task communication protocol
    error"
    Internal call code.........: "[SETG/GET /VBDATA ]"
    Please check the entries in the system log (Transaction SM21).
    You may able to find an interim solution to the problem
    in the SAP note system. If you have access to the note system yourself,
    use the following search criteria:
    "DBIF_SETG_SQL_ERROR" C
    "SAPLSEUAX" or "LSEUAXV01"
    "RS_NEW_PROGRAM_INDEX"
    If you cannot solve the problem yourself, please send the
    following documents to SAP:
    1. A hard copy print describing the problem.
       To obtain this, select the "Print" function on the current screen.
    2. A suitable hardcopy prinout of the system log.
       To obtain this, call the system log with Transaction SM21
       and select the "Print" function to print out the relevant
       part.
    3. If the programs are your own programs or modified SAP programs,
       supply the source code.
       To do this, you can either use the "PRINT" command in the editor or
       print the programs using the report RSINCL00.
    4. Details regarding the conditions under which the error occurred
       or which actions and input led to the error.
    System environment
    SAP Release.............. "620"
    Application server....... "awnts151"
    Network address.......... "192.168.10.33"
    Operating system......... "Windows NT"
    Release.................. "5.2"
    Hardware type............ "8x Intel 80686"
    Character length......... 8 Bits
    Pointer length........... 32 Bits
    Work process number...... 10
    Short dump setting....... "full"
    Database server.......... "AWNTS151"
    Database type............ "ORACLE"
    Database name............ "DEE"
    Database owner........... "SAPR3"
    Character set............ "English_United State"
    SAP kernel............... "640"
    Created on............... "Jun 23 2008 21:48:04"
    Created in............... "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
    Database version......... "OCI_920_SHARE "
    Patch level.............. "239"
    Patch text............... " "
    Supported environment....
    Database................. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE
    10.2.0.."
    SAP database version..... "640"
    Operating system......... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2,
    Windows NT 6.0"
    User, transaction...
    Client.............. 999
    User................ "AIL_DEV"
    Language key........ "E"
    Transaction......... "SE38 "
    Program............. "SAPLSEUAX"
    Screen.............. "RSM13000 3000"
    Screen line......... 2
    Information on where terminated
    The termination occurred in the ABAP program "SAPLSEUAX" in
    "RS_NEW_PROGRAM_INDEX".
    The main program was "RSM13000 ".
    The termination occurred in line 27 of the source code of the (Include)
    program "LSEUAXV01"
    of the source code of program "LSEUAXV01" (when calling the editor 270).
    The program "SAPLSEUAX" was started in the update system.
    Source code extract
    000010   *******************************************************************
    000020   *   THIS FILE IS GENERATED BY THE FUNCTION LIBRARY.               *
    000030   *   NEVER CHANGE IT MANUALLY, PLEASE!                             *
    000040   *******************************************************************
    000050   FORM RS_NEW_PROGRAM_INDEX USING %_KEY.
    000060   * Parameter declaration
    000070   DATA %_P0000000001 TYPE
    000080   PROGRAM
    000090   .
    000100   DATA %_P0000000002 TYPE
    000110   PROGRAM
    000120   .
    000130   DATA: %_STATE.
    000140   * Assign default values
    000150   * Get mode for update task
    000160     CALL 'GET_SWITCH_UTASK'
    000170      ID 'MODE'  FIELD 'S'
    000180      ID 'STATE' FIELD %_STATE.
    000190     IF %_STATE EQ 'N'.
    000200   * Import from memory
    000210     IMPORT
    000220       P_NAME TO %_P0000000001
    000230       P_INCLUDE TO %_P0000000002
    000240     FROM MEMORY ID %_KEY.
    000250     ELSE.
    000260   * Import from logfile
        IMPORT
    000280       P_NAME TO %_P0000000001
    000290       P_INCLUDE TO %_P0000000002
    000300     FROM LOGFILE ID %_KEY.
    000310     ENDIF.
    000320   * Call update task
    000330     CALL FUNCTION 'RS_NEW_PROGRAM_INDEX'
    000340        EXPORTING
    000350          P_NAME = %_P0000000001
    000360          P_INCLUDE = %_P0000000002
    000370     .
    000380   ENDFORM.
    Contents of system fields
    SY field contents..................... SY field contents.....................
    SY-SUBRC 0                             SY-INDEX 0
    SY-TABIX 1                             SY-DBCNT 1
    SY-FDPOS 0                             SY-LSIND 0
    SY-PAGNO 0                             SY-LINNO 1
    SY-COLNO 1                             SY-PFKEY
    SY-UCOMM                               SY-TITLE Update control
    SY-MSGTY                               SY-MSGID
    SY-MSGNO 000                           SY-MSGV1
    SY-MSGV2                               SY-MSGV3
    SY-MSGV4
    Active calls / events
    No.... Type........ Name..........................
           Program
           Include                                  Line
           Class
         5 FORM         RS_NEW_PROGRAM_INDEX
           SAPLSEUAX
           LSEUAXV01                                   27
         4 FORM         VB_CALL_FUNC
           RSM13000
           RSM13000                                  5441
         3 FORM         VB_V1_EXEC
           RSM13000
           RSM13000                                  5182
         2 FORM         VB_V1_NORMAL
           RSM13000
           RSM13000                                  3944
         1 MODULE (PBO) VBEXEC
           RSM13000
           RSM13000                                  3793
    Chosen variables
         5 FORM         RS_NEW_PROGRAM_INDEX
           SAPLSEUAX
           LSEUAXV01                                   27
    %_DUMMY$$
                                   2222
                                   0000
    %_STATE                        Y
                                   5
                                   9
    RSJOBINFO                                                      00000000
                                   2222222222222222222222222222222233333333
                                   0000000000000000000000000000000000000000
    ... +  40                      000000
                                   3333332222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  80                      ####
                                   0000
                                   0000
    %_KEY                          2CF93538B4E949608CAEF68FCB839DA0####
                                   344333334343333334444334443334430000
                                   236935382459496083156686328394101000
    SY-SUBRC                       0
                                   0000
                                   0000
    SYST-REPID                     SAPLSEUAX
                                   5454545452222222222222222222222222222222
                                   310C355180000000000000000000000000000000
    %_P0000000001
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    %_P0000000002
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    %_VIASELSCR                    #
                                   0
                                   4
    SY-REPID                       SAPLSEUAX
                                   5454545452222222222222222222222222222222
                                   310C355180000000000000000000000000000000
         4 FORM         VB_CALL_FUNC
           RSM13000
           RSM13000                                  5441
    SAVE_VBPARAM                   #
                                   0
                                   3
    VBPARAM                        2CF93538B4E949608CAEF68FCB839DA00001RS_N
                                   3443333343433333344443344433344333335554
                                   23693538245949608315668632839410000123FE
    ... +  40                      EW_PROGRAM_INDEX          AIL_DEV     99
                                   4555544544544445222222222244454452222233
                                   57F02F721DF9E458000000000019CF4560000099
    ... +  80                      9###                             ##
                                   3000222222222222222222222222222220022222
                                   9612000000000000000000000000000001100000
    ... + 120
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... + 160
                                   2222222222222222222
                                   0000000000000000000
    VBHDR-VBTCODE                  SE38
                                   54332222222222222222
                                   35380000000000000000
    VBHDR-VBREPORT                 RS_CALL_PROGRAMM_INDEX_DELTA
                                   5554444555445444544445544454222222222222
                                   23F31CCF02F721DDF9E458F45C41000000000000
    VBMODCNT                       1
                                   0000
                                   1000
    DLDE                           DLDE
                                   4444222222222222222222222222222222222222
                                   4C45000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    VBPARAM-VBPHASE                538968577
                                   0
                                   1
    VB_V1_TEST                     #
                                   0
                                   2
    SYST-REPID                     RSM13000
                                   5543333322222222222222222222222222222222
                                   23D1300000000000000000000000000000000000
    HGEN                           HGEN
                                   4444222222222222222222222222222222222222
                                   875E000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    IS_A_ARFC                      #
                                   0
                                   0
    TH_TRUE                        #
                                   0
                                   1
    OFFICE_TASO00                  SO00
                                   5433222222222222222222222222222222222222
                                   3F00000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    TH_FALSE                       #
                                   0
                                   0
    VBSTAT-START2_REQ
                                   222222222222222
                                   000000000000000
    EWST                           EWST
                                   4555222222222222222222222222222222222222
                                   5734000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    BACK                           BAC
                                   4442222222222222222222222222222222222222
                                   2130000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    TFDIR                          RS_NEW_PROGRAM_INDEX          SAPLSEUAX
                                   5554455554454454444522222222225454545452
                                   23FE57F02F721DF9E4580000000000310C355180
    ... +  40                                                    0100000000
                                   2222222222222222222222222222223333333333
                                   0000000000000000000000000000000100000000
    ... +  80                                   1
                                   22222222222223
                                   00000000000001
    TFDIR-PNAME                    SAPLSEUAX
                                   5454545452222222222222222222222222222222
                                   310C355180000000000000000000000000000000
    VBFUNC                         RS_NEW_PROGRAM_INDEX
                                   555445555445445444452222222222
                                   23FE57F02F721DF9E4580000000000
    %_DUMMY$$
                                   2222
                                   0000
    VBID                           2CF93538B4E949608CAEF68FCB839DA0####
                                   344333334343333334444334443334430000
                                   236935382459496083156686328394101000
    VBDEBUG                        538976258
                                   0
                                   2
    VB_UPDATE_MODUL_PROCESSED      #
                                   1
                                   C
         3 FORM         VB_V1_EXEC
           RSM13000
           RSM13000                                  5182
    ROLE_SUBST_ACTIVE              3
                                   3
                                   3
    VBMOD_TABL-VBMODE              1
                                   3
                                   1
    VB_COLLECTOR_FB                5
                                   3
                                   5
    SY-REPID                       RSM13000
                                   5543333322222222222222222222222222222222
                                   23D1300000000000000000000000000000000000
    LISL                           LISL
                                   4454222222222222222222222222222222222222
                                   C93C000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    EXISTS_COLLECTOR               #
                                   0
                                   0
    VB_V1_FB                       1
                                   3
                                   1
    VB_V1_NO_UPD_AGAIN_FB          3
                                   3
                                   3
    VBHDR-VBSTATE                  826605823
                                   F
                                   F
    VB_V1_PROCESSED                #
                                   0
                                   1
    VB_V1_AND_V2_PROCESSED         #
                                   0
                                   2
    SYST                           ########################################
                                   0000000000000000000000000000000000000000
                                   0000000010001000000000000000000000000000
    ... +  40                      ####################u0161###############H###
                                   0000000000000000000090000000000000004000
                                   10000000100000001000A0000000000000008000
    ... +  80                      ########################################
                                   0000000000000000000000000000000000000000
                                   0000000000000000000000000000000000000000
    ... + 120                      ########################################
                                   0000000000000000000000000000000010009000
                                   00000000000000000000000000000000B0000000
    ... + 160                      ############XM##  #############   E0   3
                                   0000000000005400220000000000000222432223
                                   0000000000008D00000020000C0000C000500003
    ... + 200                      000       N ####__S                 999
                                   3332222222420000555222222222222222223332
                                   0000000000E00000FF3000000000000000009990
    ... + 240                           00
                                   222223322222222
                                   000000000000000
    MTAS                           MAS
                                   4452222222222222222222222222222222222222
                                   D130000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    VBMOD_TABL-VBKEY               2CF93538B4E949608CAEF68FCB839DA0
                                   34433333434333333444433444333443
                                   23693538245949608315668632839410
    VBMOD_TABL-VBFUNC              RS_NEW_PROGRAM_INDEX
                                   555445555445445444452222222222
                                   23FE57F02F721DF9E4580000000000
    VBMOD_TABL-VBMODCNT            1
                                   0000
                                   1000
    LOC_VBPARAM-VBPHASE            538968577
                                   0
                                   1
    LOC_VBPARAM-VBDEBUG            538976258
                                   0
                                   2
    READ                           READ
                                   5444222222222222222222222222222222222222
                                   2514000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    EXISTS_V2                      #
                                   0
                                   0
    SPACE
                                   2
                                   0
    NEW_VBSTATE                    0
                                   0
                                   0
    OBJA                           OBJA
                                   4444222222222222222222222222222222222222
                                   F2A1000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    OFFICE_TASO18                  SO18
                                   5433222222222222222222222222222222222222
                                   3F18000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    USER_NOT_EXIST                 34
                                   2000
                                   2000
    SY-XPROG
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    SY-XFORM
                                   222222222222222222222222222222
                                   000000000000000000000000000000
         2 FORM         VB_V1_NORMAL
           RSM13000
           RSM13000                                  3944
    VBHDR-VBCLIINFO                #
                                   0
                                   0
    VB_SYNC_VB                     #
                                   0
                                   1
    %_ARCHIVE
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  80
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... + 120
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... + 160
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... + 200
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... + 240
                                   222222222222222
                                   000000000000000
    SY-MSGID
                                   22222222222222222222
                                   00000000000000000000
    ROOM_TAPP30                    PP30
                                   5533222222222222222222222222222222222222
                                   0030000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    ADMI                           ADM
                                   4442222222222222222222222222222222222222
                                   14D0000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    SY-MSGNO                       000
                                   333
                                   000
    NOTE_NOT_ADDED                 11
                                   0000
                                   B000
    SY-MSGV1
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222
                                   0000000000
    SY-MSGV2
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222
                                   0000000000
    SY-MSGV3
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222
                                   0000000000
    SY-MSGV4
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222
                                   0000000000
    LOGO                           LOG
                                   4442222222222222222222222222222222222222
                                   CF70000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    VBHDR                          2CF93538B4E949608CAEF68FCB839DA0999AIL_D
                                   3443333343433333344443344433344333344454
                                   2369353824594960831566863283941099919CF4
    ... +  40                      EV                 RS_CALL_PROGRAMM_INDE
                                   4522222222222222222555444455544544454444
                                   560000000000000000023F31CCF02F721DDF9E45
    ... +  80                      X_DELTA            SE38
                                   5544454222222222222543322222222222222222
                                   8F45C41000000000000353800000000000000000
    ... + 120
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... + 160                                          ÿ###awnts151_DEE_00
                                   22222222222222222222F0006767733354445332
                                   00000000000000000000F00017E43151F455F000
    ... + 200
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... + 240                              :E:
                                   222222223432222
                                   00000000A5A0000
         1 MODULE (PBO) VBEXEC
           RSM13000
           RSM13000                                  3793
    VB_V1_NORMAL                   #
                                   0
                                   1
    %_SPACE
                                   2
                                   0
    STOP                           RET
                                   5452222222222222222222222222222222222222
                                   2540000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    RSUP                           RSUP
                                   5555222222222222222222222222222222222222
                                   2350000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    USPR                           USPR
                                   5555222222222222222222222222222222222222
                                   5302000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    VB_V2_NORMAL                   #
                                   0
                                   3
    ENTER                          ENTR
                                   4455222222222222222222222222222222222222
                                   5E42000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    USAD                           USAD
                                   5544222222222222222222222222222222222222
                                   5314000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    VB_MAIL                        #
                                   0
                                   4
    INBO                           INB
                                   4442222222222222222222222222222222222222
                                   9E20000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    PAGP                           PAGP
                                   5445222222222222222222222222222222222222
                                   0170000000000000000000000000000000000000
    ... +  40
                                   222222222222222222222222222222
                                   000000000000000000000000000000
    VB_AUTO_SYS_START              #
                                   0
                                   5
    Application Calls
    No dump information available
    Application Information
    No dump information available
    Internal notes
    The termination occurred in the function "expInpDb " of the SAP
    Basis System, specifically in line 4364 of the module
    "//bas/640_REL/src/krn/runt/abexpo.c#14".
    The internal operation just processed is "IMPO".
    The internal session was started at 20080812083037.
    Internal call code.........: "[SETG/GET /VBDATA ]"
    Active calls in SAP kernel
    SAP (R) - R/3(TM) Callstack, Version 1.0
    Copyright (C) SAP AG. All rights reserved.
    Callstack without Exception:
    App       : disp+work.EXE (pid=5484)
    When      : 8/12/2008 8:30:37.808
    Threads   : 2
    Computer Name       : AWNTS151
    User Name           : SAPSERVICEDEE
    Number of Processors: 8
    Processor Type: x86 Family 6 Model 15 Stepping 11
    Windows Version     : 5.2 Current Build: 3790
    Stack Dump for Thread Id 1578
    eax=00000201 ebx=0000040c ecx=00000210 edx=009c35fa esi=0000040c edi=00000000
    eip=7c8285ec esp=0410cd10 ebp=0410cd80 iopl=0         nv up ei ng nz ac po cy
    cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200297
    function : KiFastSystemCallRet
             7c8285ec c3               ret
             7c8285ed 8da42400000000   lea     esp,[esp]              ss:0410cd10=7c827d0b
             7c8285f4 8d642400         lea     esp,[esp]              ss:2571bd23=????????
    FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
    0410cd80 77e61c8d 0000040c 0001d4c0 00000000 0410cdb8 ntdll!KiFastSystemCallRet
    0410cd94 00f6a44d 0000040c 0001d4c0 00000001 7c3ad8c8 kernel32!WaitForSingleObject
    0410cdb8 0054011a 00540153 7c3ad8c8 7c3ad8c8 7c3ad8c8 disp+work!NTDebugProcess >
    >
    0410cdbc 00540153 7c3ad8c8 7c3ad8c8 7c3ad8c8 01778db4 disp+work!NTStack >
    >
    0410cdd8 00540187 7c3ad8c8 00000000 008224b3 7c3ad8c8 disp+work!CTrcStack2 >
    >
    0410cde4 008224b3 7c3ad8c8 00040000 41305f59 30303030 disp+work!CTrcStack >
    >
    0410ce00 008259e9 02079620 0472a370 00000000 00000000 disp+work!rabax_CStackSave >
    >
    0410d2a0 007a00f8 01223708 012755fc 0000110c 018ac020 disp+work!ab_rabax >
    >
    0410d30c 00725113 00000001 01223708 0000110c 018ac020 disp+work!ab_setgerr >
    >
    0410d36c 007ac556 0410d498 0410d49c 00000000 00000000 disp+work!expInpDb >
    >
    0410e618 007278d3 00000003 00000000 00000000 00000000 disp+work!ab_connread >
    >
    0410e69c 0072a3a9 00000001 00000000 00000000 00000000 disp+work!ab_expvb >
    >
    0410e6d4 0067334a 00000003 516c9cf0 00000000 0410e73c disp+work!expo_import >
    >
    018ac020 2f2f203a 2f736162 5f303436 2f4c4552 2f637273 disp+work!ab_extri >
    >
    64492420 00000000 00000000 00000000 00000000 00000000 
    0668ffb8 77e64829 04f7feb0 00000000 00000000 04f7feb0 MSVCR71!endthreadex
    0668ffec 00000000 7c3621a4 04f7feb0 00000000 00000000 kernel32!GetModuleHandleA
    List of ABAP programs affected
    Type
    Program
    Gen. Date  Time
    Load Size
    Prg
    RSM13000
    19.05.2007 19:22:41
    242688
    Prg
    SAPMSSYD
    05.06.2002 17:09:33
    16384
    Prg
    SAPFSYSCALLS
    14.02.2002 14:22:47
    6144
    Typ
    VBHDR
    09.11.2000 14:25:09
    5120
    Typ
    VBMOD
    08.08.1995 14:49:58
    2048
    Typ
    TFDIR
    29.07.1998 19:49:08
    3072
    Typ
    TFDIR
    29.07.1998 19:49:08
    3072
    Prg
    SAPLSEUAX
    19.05.2007 19:03:05
    8192
    Typ
    SYST
    04.12.2000 14:54:51
    27648
    Typ
    VBPARAM
    30.03.1998 09:43:02
    4096
    Typ
    VBSTAT
    07.05.1997 13:20:30
    9216
    Typ
    VBMOD
    08.08.1995 14:49:58
    2048
    List of internal tables
    No dump information available
    Directory of Application Tables
    Program
      Name................ Contents....1........2........3........4........5....+....
    RSM13000
      SYST                 |000000000000x01000000000000000
      VBHDR                |2CF93538B4E949608CAEF68FCB839DA0999AIL_DEV
      VBPARAM              |2CF93538B4E949608CAEF68FCB839DA00001RS_NEW_PROGRAM_INDEX
      VBSTAT               |0
      TFDIR                |RS_NEW_PROGRAM_INDEX          SAPLSEUAX
    SAPLSEUAX
      RSJOBINFO            |                                00000000000000
    Directory of Application Tables (Administrative Information)
    Program
      Name.......................... Time.......... Length...
    SAPLSEUAX
      SYST                                          00002404
      VBHDR                                         00000432
      VBPARAM                        20000323224119 00000179
      VBSTAT                                        00000736
      TFDIR                                         00000094
    SAPLSEUAX
      RSJOBINFO                                     00000084
    ABAP control blocks CONT
    Include                                 Line source code
    Index Name F1 Co Par01 Par2. Par3. Par4. Tabl
    LSEUAXV01                                  19 IF %_STATE EQ 'N'.
       61 cmp1 00 42  0020
       63 BRAF 02
    LSEUAXV01                                  21 IMPORT
       64 TCHK 04 15
       66 CLEA 00
       67 XDAT 90
       69 XDAT 91 03  C000
       71 XDAT 91 03  C001
    LSEUAXV01                                  25 ELSE.
       73 BRAX 00
    LSEUAXV01                                  27 IMPORT
       74 TCHK 07 15
       76 IMPO 04 02                           0000
       80 PAR2 06     C000
       82 PAR2 06     C001
    >>>>> IMPO 05                              0000
    LSEUAXV01                                  33 CALL FUNCTION 'RS_NEW_PROGRAM_
       88 FUNC 00
       89 FUNC 00
       90 PAR2 02     C001
       92 PAR2 02     C000
       94 FUNC 10
       95 FUNC FF
    LSEUAXV01                                  38 ENDFORM.
       96 ENDF 00
    End of runtime analysis
    Please help.
    Regards,
    siddhartha

    Hi Guys,
    Thanks for the reply!!
    To SriHari,
    Just to get the insight of the problem am posting it in the forum.Sometimes, it need not be an oracle issue instead it may be an Kernel issue. I did not know which sort of issue as i am new to Basis. Sorry if i have done anything wrong and against the ethics of this forum. Please pardon.
    To Fidel Vales,
    1) I have installed 10.2.0.2 patch which is available in the service marketplace.
    i have not installed the OPatch
    2) My kernel version is 239 (SAP R/3 4.7)
    3) The env variables are give beolow.
    DBMS_TYPE=ORA
    DBS_ORA_SCHEMA=SAPR3
    dbs_ora_tnsname=DEE
    NLS_LANG=AMERICAN_AMERICA.WE8DEC
    NUMBER_OF_PROCESSORS=8
    ORACLE_HOME=D:\ORACLE\DEE\102
    ORACLE_SID=DEE
    OS=Windows_NT
    Path=C:\Perl\bin\;D:\oracle\DEE\102\jre\1.4.2\bin\client;D:\oracle\DEE\102\jre\1
    .4.2\bin;C:\Program Files\EMC\PowerPath\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDO
    WS\System32\Wbem;C:\Program Files\Dell\SysMgt\RAC5;C:\Program Files\Dell\SysMgt\
    oma\bin;C:\Program Files\Dell\SysMgt\oma\oldiags\bin;C:\Program Files\EMC\Navisp
    here CLI;C:\Program Files\Resource Kit\;D:\Oracle92\Opatch;D:\Oracle92\Opatch;d:
    \oracle\DEE\102;D:\usr\sap\DEE\sys\exe\run;D:\Oracle\DEE\102\BIN;d:\oracle92;d:\
    oracle92\bin;D:\usr\sap\DEE\sys\exe\run;
    SAPARCH=E:\oracle\DEE\saparch
    SAPBACKUP=E:\oracle\DEE\sapbackup
    SAPCHECK=E:\oracle\DEE\sapcheck
    SAPDATA_HOME=E:\oracle\DEE
    SAPEXE=D:\usr\sap\DEE\SYS\exe\run
    SAPLOCALHOST=awnts151
    SAPREORG=E:\oracle\DEE\sapreorg
    SAPTRACE=E:\oracle\DEE\saptrace
    SAPTRANSHOST=AWNTS151
    TNS_ADMIN=D:\usr\sap\DEE\sys\profile\ORACLE
    USERDNSDOMAIN=AUDCO9.AILVALVES.COM
    USERDOMAIN=AUDCO9
    USERNAME=deeadm
    USERPROFILE=C:\Documents and Settings\deeadm
    USE_KIT=OFF
    4) Since there is no application server i have not installed oracle client.
    5) Kernel version is 640.
    Please help.
    Thanks and regards,
    siddhartha.

Maybe you are looking for

  • Retrieving my 9800 data from back-up file on PC not having another phone

    The ribbon for the slide screen is not functioning therefore my screen is blank and black. However I have a back-up on my computer; how can I read my data? Can I use mu USB to access my phone and read data directly on the the phone. Please advise.

  • IPad is now useless after trying to install iOS 6.1.3

    Tried to update this today and now telling me I need to restore, so have lost all my photos and progress on apps etc.  any ideas on how to get my old iPad back!!

  • Hdmi vs vga

    has any1 connected via a hdmi i have been told that its not as good as vga but its a higher res?? any1 tried it? which is best?? also is the hdmi that bad or is it still good??

  • Custom field in COOIS selection screen

    Hi all, how do I add a custom field (IOHEADER-ASTTX, User status) in the COOIS selection screen ? Thank's Edited by: Marco De Caro on Dec 6, 2011 2:15 PM Edited by: Marco De Caro on Dec 6, 2011 2:16 PM

  • Controlling Newport SMC100 with Labview

    Dear all, I need to control a single axis Newport motor via Newport SMC100, i installed the SMC100 labview drivers. Do anyone have examples? OR anyone can show me the way about how can i implement my system very fast? Please have a look at the brief