Avoiding system messages in oracle forms.

Hi All,
I'm Working with Oracle forms using oracle form builder in R12. I want to Avoid System message (Save message) so i'm using :system.message_level := 5; but i can't avoid Save message. how can i solve this.
Thanks & Regards,
Macks

You could override on-message trigger and forms will fire this trigger instead of standard message. Whatever you write here will happen. You could suppress given message and let everything else go.

Similar Messages

  • Error Message accessing Oracle Forms

    Can someone tell me what this means and how to correct?
    Oracle JInitiator: Version 1.3.1.18
    Using JRE version 1.3.1.18-internal Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\ajdailyX
    User has overriden browser's proxy settings.
    Proxy Configuration: no proxy
    JAR cache enabled
    Location: C:\Documents and Settings\ajdailyX\Oracle Jar Cache
    Maximum size: 50 MB
    Compression level: 0
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    q: hide console
    s: dump system properties
    t: dump thread list
    x: clear classloader cache
    0-5: set trace level to <n>
    java.net.ConnectException: Operation timed out: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(Unknown Source)
         at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
         at java.net.PlainSocketImpl.connect(Unknown Source)
         at java.net.Socket.<init>(Unknown Source)
         at java.net.Socket.<init>(Unknown Source)
         at oracle.jinitiator.protocol.https.HttpsClient.doConnect(Unknown Source)
         at sun.net.www.http.HttpClient.openServer(Unknown Source)
         at sun.net.www.http.HttpClient.openServer(Unknown Source)
         at sun.net.www.http.HttpClient.<init>(Unknown Source)
         at sun.net.www.http.HttpClient.<init>(Unknown Source)
         at sun.plugin.protocol.jdk12.http.HttpClient.<init>(Unknown Source)
         at oracle.jinitiator.protocol.https.HttpsClient.<init>(Unknown Source)
         at oracle.jinitiator.protocol.https.HttpsClient.New(Unknown Source)
         at oracle.jinitiator.protocol.https.HttpsURLConnection$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.jinitiator.protocol.https.HttpsURLConnection.connect(Unknown Source)
         at sun.plugin.protocol.jdk12.http.HttpURLConnection.getInputStream(Unknown Source)
         at oracle.jre.protocol.jar.HttpUtils.followRedirects(Unknown Source)
         at oracle.jre.protocol.jar.JarCache$CachedJarLoader.download(Unknown Source)
         at oracle.jre.protocol.jar.JarCache$CachedJarLoader.load(Unknown Source)
         at oracle.jre.protocol.jar.JarCache.get(Unknown Source)
         at oracle.jre.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
         at oracle.jre.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
         at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
         at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
         at sun.misc.URLClassPath$2.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.misc.URLClassPath.getLoader(Unknown Source)
         at sun.misc.URLClassPath.getLoader(Unknown Source)
         at sun.misc.URLClassPath.getResource(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadCode(Unknown Source)
         at sun.applet.AppletPanel.createApplet(Unknown Source)
         at sun.plugin.AppletViewer.createApplet(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    WARNING: Unable to cache https://gorms.compass-usa.com/forms90/java/f90all_jinit.jar
    load: class oracle.forms.engine.Main not found.
    java.lang.ClassNotFoundException: java.net.ConnectException: Operation timed out: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(Unknown Source)
         at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
         at java.net.PlainSocketImpl.connect(Unknown Source)
         at java.net.Socket.<init>(Unknown Source)
         at java.net.Socket.<init>(Unknown Source)
         at oracle.jinitiator.protocol.https.HttpsClient.doConnect(Unknown Source)
         at sun.net.www.http.HttpClient.openServer(Unknown Source)
         at sun.net.www.http.HttpClient.openServer(Unknown Source)
         at sun.net.www.http.HttpClient.<init>(Unknown Source)
         at sun.net.www.http.HttpClient.<init>(Unknown Source)
         at sun.plugin.protocol.jdk12.http.HttpClient.<init>(Unknown Source)
         at oracle.jinitiator.protocol.https.HttpsClient.<init>(Unknown Source)
         at oracle.jinitiator.protocol.https.HttpsClient.New(Unknown Source)
         at oracle.jinitiator.protocol.https.HttpsURLConnection$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.jinitiator.protocol.https.HttpsURLConnection.connect(Unknown Source)
         at sun.plugin.protocol.jdk12.http.HttpURLConnection.getInputStream(Unknown Source)
         at java.net.HttpURLConnection.getResponseCode(Unknown Source)
         at sun.applet.AppletClassLoader.getBytes(Unknown Source)
         at sun.applet.AppletClassLoader.access$100(Unknown Source)
         at sun.applet.AppletClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadCode(Unknown Source)
         at sun.applet.AppletPanel.createApplet(Unknown Source)
         at sun.plugin.AppletViewer.createApplet(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Thanks,
    Diane

    Diane,
    you are using HTTPS to access Forms Services, as i take it from the URL further down below. It seems that the Forms Service cannot connect to the server and the operation times out. Can you verify that
    https://<your server>/forms90/java/f90all_jinit.jar
    downloads the f90all_jinitz.jar file ?
    Frank

  • How to avoid Duplicate values in Oracle forms

    Hello Everyone,
    I am new to Oracle forms, working on Oracle Applications : 12.1.2,
    Here I have a form Receiving Transactions,
    in that I have Lot_Number and quantity columns.
    The purchased items need to be stored in Lot number.
    If 100 quantities purchased then 100 quantities can be stored in single lot number
    i.e
    Lot_Number         Qty
      001                100or 100 quantities can be stored in different lot numbers.
    i.e
    Lot_Number         Qty
      001                50
      002                50(The qty may differ)but not like the following,
    Lot_Number          Qty
      001                 50
      001                 50.For second line,If they selected same lot number as First lot number,
    The error message has to be shown as "Lot number duplicated,Select Different Lot number or update the full qty in original line".
    Can anyone help me to solve this.
    Thank you.
    Regards,
    Gurujothi

    Hi François Degrelle,
    I added the following Plsql in the 'When-validate-Item' block,
    declare
    l_current_number varchar2(80);
    begin     
    l_current_number := :lot_entry.lot_number;
    first_record;
    loop
      if l_current_number = :lot_entry.lot_number then
         message ('Duplicate');
      end if;
      next_record;
    end loop;Its started to check from First record itself and giving the message 'Duplicate',
    How to check from second record?
    when the first record is entered it should not check when the second record is entered it should compare with the First record value and if it is same then it should give message as 'Duplicate'.
    Thank you.

  • Setting system variables for Oracle Forms at runtime

    Hi,
    I've read somewhere that a user can set some Oracle Forms system variables
    like SYSTEM.MESSAGE_LEVEL, SYSTEM.DATE_THRESHOLD, SYSTEM.EFFECTIVE_DATE, SYSTEM.SUPPRESS_WORKING
    at runtime.
    Does anyone know how?
    I want to use the same fmx file with various settings, so do not want to
    hard code any values for these variables.
    TIA,
    Sam

    Frequently I modidied
    :system.message_level := 0 let's say.
    For other system variables I cannot help you.
    Ovidiu

  • How to disable frm messages in oracle forms

    Hi,
    I am getting a form error, FRM-41830:List of values contains no entries. whereas I dont want this message to be displayed instead i want a user specified msg like "No entries for specific location!"..
    I have even tried using, :system.message_level:=25;
    Please suggest solutions.
    Bye.

    The on-error and on-message triggers at the form level are doing the trick for me :) You can also use them to customize the error/warning messages.

  • To avoid system message pop up.

    Hi,
    While we do cancellation of a completion of an order confirmation system give a Pop screen for a warnning message.
    I would like to prevent /hide the warning message. Is there a way to do it?
    regards
    DP

    Hi DP Singh,
    The message " System status CNF is active " our are getting is SAP standard message. once order system status is CNF and u try to cancel operation confirmation you will get this warning message.
    This message is selected by functional module dynamically in cancel confirmation sap program.
    so your ABAP team will not be able to debug it. (no reference of message with any program).
    you Can not remove this warning message
    Edited by: tejasg on May 13, 2010 6:34 PM

  • Is there a way to override the format-mask error message? (oracle forms 6i)

    It seem that if data is enter in a field and doesnt follow the format mask schema. it populates it's default error message.
    was wondering if i can over ride that. and custimize my own error message/validation.

    Hi PandaOracle
    what i do recommand is creating a table called e.g handel_errors having
    Serial PK
    Error_id
    Error_textThen using a code in On-error Trigger & On-message trigger to select from table so any error no can be stored and selected from the db this is the most formal practice i used to use in any application.
    Example
    DECLARE
      alert_message VARCHAR2(200);
    BEGIN
      BEGIN
        SELECT Error_text
          INTO alert_message
          FROM handel_errors
         WHERE msg_code = message_code;
      EXCEPTION
        WHEN No_Data_Found THEN
          alert_message:=message_type||'-'|| To_Char(message_code) || ': ' || message_text;
      END;
      MESSAGE (alert_message); --  Or any alert as previously mentioned
      MESSAGE (alert_message);
    END; Hope this helps,
    Regards,
    Amatu Allah

  • Attach Forms With Comm Port in Oracle Forms

    I am trying to make connection of Oracle forms Builder with my device using comm port but i dnt know the complete procedure to attach the comm with oracle forms also i have no idea to convert asquii data to normal form.Please any one help me to attach comm port with my oracle forms and also convert asqui code which is showing on hyper terminal into normal data.Also I am using oracle forms 6i

    Make a java component (PJC) and use a rxtx library (http://rxtx.qbang.org/wiki/index.php/Examples) ...
    I have made a PJC to use a RS232 port from oracle forms for Hypercom POS terminal..
    Here is my code (in short i will post a component on PJC site (here I can't post a complete code because of 30000 char limit ;) )..
    If you look in method "public void init(IHandler handler) " I make a download of rxtxSerial.dll from my forms server and then I call System.loadLibrary("rxtxSerial");"
    In other way you must put the dll in windows/system32 path.. This dll is native library for rs232 communication.
    If you look at the method "public void doTransaction" you can see the initialization of comm port...
    With inputStream and OutputStream you read and write datas to/from your rs232 port..
    p.s: the code is not complete but you can see how I made the rs232 communication (also the code is not final ;) )
    ====================================================
    public class PosTerminalPjc extends VBean {
         private static final long serialVersionUID = -8814623494538014849L;
         Properties res = new Properties();
         SerialPort serialPort;
         OutputStream os;
         InputStream is;
         CommPortIdentifier portId;
         Enumeration portList;
         IHandler mHandler;
      Random randomGenerator = new Random();
            char STX = 2;
         char ETX = 3;
         char EOT = 4;
         char ACK = 6;
         char NAK = 15;
         char FS = 28;
         private static final ID COMPORT         = ID.registerProperty("COMPORT"); // serial port (COM1,COM2,COM3,...)
         private static final ID AMOUNT          = ID.registerProperty("AMOUNT"); // amount of the transaction (12)
         private static final ID TRANSACTIONTYPE = ID.registerProperty("TRANSACTIONTYPE"); // SALE, REFUND
      private static final ID EXECUTE         = ID.registerProperty("EXECUTE"); // invoke doTransaction();
      //Output parameters to form
      private static final ID TRANSACTIONPROCESSED  = ID.registerProperty("TRANSACTIONPROCESSED");
      private static final ID TRANSACTIONFLAG       = ID.registerProperty("TRANSACTIONFLAG");
      private static final ID TRANSACTIONNUMBER     = ID.registerProperty("TRANSACTIONNUMBER");
      private static final ID BATCHNUMBER           = ID.registerProperty("BATCHNUMBER");
      private static final ID TRANSACTIONDATE       = ID.registerProperty("TRANSACTIONDATE");
      private static final ID TRANSACTIONTIME       = ID.registerProperty("TRANSACTIONTIME");
      private static final ID TRANSACTIONAMOUNT     = ID.registerProperty("TRANSACTIONAMOUNT");
      private static final ID CARDDATASOURCE        = ID.registerProperty("CARDDATASOURCE");
      private static final ID NUMBERCUSTOMERCARD    = ID.registerProperty("NUMBERCUSTOMERCARD");
      private static final ID EXPIRATIONDATE        = ID.registerProperty("EXPIRATIONDATE");
      private static final ID TERMINALID            = ID.registerProperty("TERMINALID");
      private static final ID MERCHANTID            = ID.registerProperty("MERCHANTID");
      private static final ID COMPANYNAME           = ID.registerProperty("COMPANYNAME");
      private static final ID SEQUENTIALNUMBER      = ID.registerProperty("SEQUENTIALNUMBER");
      private static final ID ERRORDESC             = ID.registerProperty("ERRORDESC");
         //Events
      private static final ID EVT_OK  = ID.registerProperty("EVT_OK"); //custom event if all ok
      private static final ID EVT_ERR = ID.registerProperty("EVT_ERR"); //custom event if error occured
      // state machine variables
         long l_timeout;
         long l_wait_for = 5000; // pos terminal wait for command (5 seconds)
         long l_wait_for_transaction = 62000 * 2; // pos terminal timeout
         long l_second = 1000; // one second
         byte b_retry = 0;
         String dataValue = "";
      byte[] readBuffer = new byte[2000]; //2000 bytes buffer to read rs232 stream
         String comPort = ""; // local variable to store com port name
                                       // (COM1,COM2,...)
         String transactionType = "SALE"; // type of transaction to be executed (SALE
                                                      // or REFUND) default SALE
         String amount = "0"; // default amount value is set to 0
         //output paramerers
      String transactionProcessed = "";
      String transactionFlag = "";
      String transactionNumber = "";
      String batchNumber = "";
      String transactionDate = "";
      String transactionTime = "";
      String transactionAmount = "";
      String cardDataSource = "";
      String numberCustomerCard = "";
      String expirationDate = "";
      String terminalId = "";
      String merchandId = "";
      String companyName = "";
      String sequentialNumber ="";
      String errorDescription;
        public PosTerminalPjc() {
              super();
              System.out.println("============================");
              System.out.println("== State machine POS v1.0 ==");
              System.out.println("== Peter Valencic (c)     ==");
              System.out.println("== 03.04.2012             ==");
              System.out.println("============================");
        System.out.println("java.library.path: "+System.getProperty("java.library.path"));
              try {
                   res.load(this.getClass().getResourceAsStream("/res/language.properties")); // load language file
              } catch (Exception ex) {
                   System.err.println("Err loading language.properties file: "
                             + ex.toString());
      public void init(IHandler handler)
        super.init(handler);
        this.mHandler = handler;
        System.out.println("init handler ok");
        System.out.println("code base: "+handler.getCodeBase());
        //load dll from codeBase URL
        try
          String mylibName = "rxtxSerial.dll";
          String URLpath = "http://dekani:7777/forms/java/";
          System.out.println("URL: "+ URLpath + mylibName);
          URL libUrl = new URL(URLpath+mylibName);
          System.out.println("libUrlgetFile: " + libUrl.getFile());
          File file = new File(mylibName);
          System.out.println(file);
          if (!file.exists())
          file.createNewFile();
          URLConnection urlc = libUrl.openConnection();
          InputStream in = urlc.getInputStream();
          FileOutputStream out = new FileOutputStream(file);
          byte[] buffer = new byte[1048];
          int read;
          while ((read = in.read(buffer)) != -1){
             out.write(buffer, 0, read); // write
            out.close();
            in.close();
            System.loadLibrary("rxtxSerial");
        catch(Exception exc)
          System.err.println("Exception SystemLoadLibrary: " + exc.toString());
          this.showError(res.getProperty("s_dlg_err_title"),res.getProperty("s_lib"));
      private void doTransaction() throws Exception {
        String sequentialNumber = ""+getRandomInteger(1000,9000,randomGenerator);
              String phase = null; // initial null value for state machine phase
              long l_ack_timeout = 0; //initial value for acknowledge timeout
              // com port check
              if (getComPort().trim().equalsIgnoreCase("")) {
                   this.showError(res.getProperty("s_dlg_err_title"),
                             res.getProperty("s_com_invalid"));
              if (this.mHandler != null)
                                CustomEvent ce = new CustomEvent(this.mHandler, EVT_ERR);
                                this.setErrorDescription(res.getProperty("s_com_invalid"));
                                dispatchCustomEvent(ce);
                   return;
              // transaction type chek
              System.out.println(this.getTransactionType());
              if (!getTransactionType().equalsIgnoreCase("REFUND")
                        & !getTransactionType().equalsIgnoreCase("SALE")
            & !getTransactionType().equalsIgnoreCase("TICKET")
            & !getTransactionType().equalsIgnoreCase("VOID")
                   this.showError(res.getProperty("s_dlg_err_title"),res.getProperty("s_tran_invalid_type"));
          if (this.mHandler != null)
                                CustomEvent ce = new CustomEvent(this.mHandler, EVT_ERR);
                                this.setErrorDescription(res.getProperty("s_tran_invalid_type"));
                                dispatchCustomEvent(ce);
                   return;
              portList = portId.getPortIdentifiers();
              while (portList.hasMoreElements()) {
                   portId = (CommPortIdentifier) portList.nextElement();
          System.out.println(portId.getName());
                   if (portId.getName().equalsIgnoreCase(this.getComPort())) {
                        System.out.println("Port is used : "
                                  + portId.isCurrentlyOwned());
                        serialPort = (SerialPort) portId.open("ComDriver", 2000);
                        serialPort.setSerialPortParams(9600, SerialPort.DATABITS_7,
                                  SerialPort.STOPBITS_1, SerialPort.PARITY_EVEN);
                        serialPort.notifyOnDataAvailable(true);
                        serialPort.notifyOnOutputEmpty(true);
                        os = serialPort.getOutputStream();
                        is = serialPort.getInputStream();
                        break;
              if (portId == null) {
              this.showError(res.getProperty("s_dlg_err_title"),res.getProperty("s_com_not_found"));
          if (this.mHandler != null)
                                CustomEvent ce = new CustomEvent(this.mHandler, EVT_ERR);
                                this.setErrorDescription(res.getProperty("s_com_not_found"));
                                dispatchCustomEvent(ce);
                   return;
        else if (portId.getName().equalsIgnoreCase(this.getComPort()) == false)
                  this.showError(res.getProperty("s_dlg_err_title"),res.getProperty("s_com_not_found"));
          if (this.mHandler != null)
                                CustomEvent ce = new CustomEvent(this.mHandler, EVT_ERR);
                                this.setErrorDescription(res.getProperty("s_com_not_found"));
                                dispatchCustomEvent(ce);
          return;
              // state machine infinite loop
              while (true)
                   // SEND DATA TO POS TERMINAL
                   if (phase == null)
                        System.out.println("start phase");
                        byte[] req = null;
                        //verify transaction type to be SALE or REFUND
                        //if REFUND then transaction number must be specified
                        if (getTransactionType().equalsIgnoreCase("SALE")) {
                             System.out.println("--> SALE send message to the pos terminal");
                             System.out.println("--> amount: " + amount);
                             req = protocolStream("000000"+sequentialNumber+"01100" + FS + amount + FS
                                       + FS + "+0" + FS + "978" + FS + FS + FS + FS + FS
                                       + FS + FS + ETX);
                        else if (getTransactionType().equalsIgnoreCase("REFUND")) {
                             System.out.println("--> REFUND send message to the pos terminal");
                             System.out.println("--> amount: " + amount);
                             System.out.println("--> transaction number: " + getTransactionNumber());
                             req = protocolStream("000000123405100" + getTransactionNumber() + FS + amount
                                       + FS + FS + "+0" + FS + "978" + FS + FS + FS + FS
                                       + FS + FS + FS + ETX);
            else if (getTransactionType().equalsIgnoreCase("VOID")) {
                             System.out.println("--> VOID transaction");
                             System.out.println("--> amount: " + amount);
                             System.out.println("--> transaction number: " + getTransactionNumber());
                             req = protocolStream("000000123410100" + getTransactionNumber() + FS      + FS + FS + "+0" + FS + "978" + FS + FS + FS + FS
                                       + FS + FS + FS + ETX);
            else if (getTransactionType().equalsIgnoreCase("TICKET")) {
                             System.out.println("--> TICKET duplicate");
                               req = protocolStream("000000123413100" + getTransactionNumber() + FS      + FS + FS + "+0" + FS + "978" + FS + FS + FS + FS
                                       + FS + FS + FS + ETX);
            else {
                             //nothing ;)
                        os.write(req);
                        os.flush();
                        l_ack_timeout = System.currentTimeMillis() + 1500;
                        //wait for half second
                        Thread.sleep(500);
                        l_timeout = System.currentTimeMillis() + l_wait_for; //add some time for timeout
                        phase = "TO_POS_ACK";
                        System.out.println("phase: " + phase);
                   }//phase null
                   //CHECK IF THE TIMEOUT OCCURED
                if (phase.equalsIgnoreCase("TO_POS_ACK") & (l_timeout < System.currentTimeMillis()) & (b_retry < 4))
                    b_retry += 1;
                    System.out.println("TIMEOUT: " + b_retry);
                    l_timeout = System.currentTimeMillis() + l_wait_for;
                    if (b_retry >= 4) {
                        System.out.println("Timeout occured");
                        closePort();
                        this.showError(res.getProperty("s_dlg_err_title"),res.getProperty("s_timeout"));
                        break;
              //CHECK FOR THE ACKNOWLEDGE (FIRST RESPONSE FROM POS TERMINAL)
                if (phase.equalsIgnoreCase("TO_POS_ACK") &
                        (l_ack_timeout < System.currentTimeMillis())) {
                    try {
                        int numBytes = 0;
                        dataValue = "";
                        while ((numBytes = is.read(readBuffer)) > 0) {
                            dataValue += new String(readBuffer, 0, numBytes, "ASCII");
                        if (dataValue.getBytes().length > 0) {
                            System.out.println("->first byte: " +
                                dataValue.getBytes()[0]);
                            System.out.println("total length: " +
                                dataValue.getBytes().length);
                            //check for ack byte
                            if (dataValue.getBytes()[0] == 6) {
                                System.out.println(
                                    "<--ACKNOWLEDGE received from pos terminal");
                                phase = "WAIT_FOR_TRANSACTION";
                                l_timeout = System.currentTimeMillis() + l_wait_for_transaction;
                                System.out.println("-> wait for transaction response");
                    } catch (IOException ev) {
              //WAIT FOR TIMEOUT ON MESSAGE (watch dog timer)
                if (phase.equalsIgnoreCase("WAIT_FOR_TRANSACTION") &
                        (l_timeout < System.currentTimeMillis())) {
                    System.out.println(
                        "Error receiving response from pos terminal!!!");
                    closePort();
                    this.showError(res.getProperty("s_dlg_err_title"),
                                 res.getProperty("s_response_error"));
                  if (this.mHandler != null)
                    CustomEvent ce = new CustomEvent(this.mHandler, EVT_ERR);
                    this.setErrorDescription(res.getProperty("s_response_error"));
                    dispatchCustomEvent(ce);
                    break;
              //WAIT FOR SOME DATA TO COME FROM POS TERMINAL OVER RS232
                if (phase.equalsIgnoreCase("WAIT_FOR_TRANSACTION")) {
                    try {
                        int numBytes = 0;
                        dataValue = "";
                        Thread.sleep(500);
                        while ((numBytes = is.read(readBuffer)) > 0) {
                            dataValue += new String(readBuffer, 0, numBytes, "ASCII");
                        if (dataValue.getBytes().length > 0) {
                            System.out.println("->first byte: " +
                                dataValue.getBytes()[0] + "|" +
                                dataValue.getBytes()[1]);
                            System.out.println("->ascii: " + dataValue);
                            System.out.println("total length: " +
                                dataValue.getBytes().length);
                            if (dataValue.indexOf("PREKINIL UPORABNIK") != -1) {
                                System.out.println(
                                    "Uporabnik je prekinil povezavo!");
                                  closePort();
                                //transaction cancelled by user s_user_cancel
                                this.showError(res.getProperty("s_dlg_err_title"),
                                             res.getProperty("s_user_cancel"));
                              if (this.mHandler != null)
                                CustomEvent ce = new CustomEvent(this.mHandler, EVT_ERR);
                                this.setErrorDescription(res.getProperty("s_user_cancel"));
                                dispatchCustomEvent(ce);
                                break;
                            if (dataValue.indexOf("NAPACEN VNOS") != -1) {
                                System.out.println("Napačen vnos");
                                closePort();
                                //invalid user entry
                                this.showError(res.getProperty("s_dlg_err_title"),
                                             res.getProperty("s_user_invalid_entry"));
                               if (this.mHandler != null)
                                CustomEvent ce = new CustomEvent(this.mHandler, EVT_ERR);
                                this.setErrorDescription(res.getProperty("s_user_invalid_entry"));
                                dispatchCustomEvent(ce);
                                break;
                            if (dataValue.indexOf("PROSIM POCAKAJ") != -1) {
                                System.out.println("<-- PROSIM POCAKAJ");
                                continue;
                            //preberemo podatke iz stringe terminala
                            if (dataValue.indexOf("SPREJETO") != -1) {
                                closePort();
                                System.out.println("<-- TRANSAKCIJA SPREJETA");
                                System.out.println(dataValue);
                                StringTokenizer st = new StringTokenizer(dataValue, "\034" );
                                String dv = st.nextToken();
                                sequentialNumber = dv.substring(6,10);
                                transactionProcessed = dv.substring(1, 3);
                                transactionFlag = dv.substring(13,15);
                                transactionNumber = dv.substring(15,21);
                                batchNumber = dv.substring(21,25);
                                transactionDate = dv.substring(25,31);
                                transactionTime = dv.substring(31,37);
                                transactionAmount = st.nextToken();
                                st.nextToken(); //Amount exponent
                                st.nextToken(); //Amount currency
                                cardDataSource = st.nextToken();
                                numberCustomerCard = st.nextToken();
                                expirationDate = st.nextToken();
                                st.nextToken(); // authorization code
                                terminalId = st.nextToken();
                                merchandId = st.nextToken();
                                companyName = st.nextToken();
                                System.out.println("================");
                                System.out.println(transactionProcessed);
                                System.out.println(transactionFlag);
                                System.out.println(transactionNumber);
                                System.out.println(batchNumber);
                                System.out.println(transactionDate);
                                System.out.println(transactionTime);
                                System.out.println(transactionAmount);
                                System.out.println(cardDataSource);
                                System.out.println(numberCustomerCard);
                                System.out.println(expirationDate);
                                System.out.println(terminalId);
                                System.out.println(merchandId);
                                System.out.println(companyName);
                                if (this.mHandler != null)
                                  System.out.println("dispatch custom event");
                                  CustomEvent ce = new CustomEvent(this.mHandler, EVT_OK);
                                  dispatchCustomEvent(ce);
                                return;
                    } catch (IOException ev) {
                      System.err.println("Exception sm: " + ev.toString());
                System.out.print('*');
                Thread.sleep(200);
              }//end state machine loop
          * protocolStream prepare the stream to be send over RS232 to POS terminal
          * with LRC cheksum control
          * @param data
          * @return byte[]
         private byte[] protocolStream(String data) {
              char STX = (char) 0x02;
              String tmp = "" + STX + STX + data + "" + getLRC(data);
              System.out.println("PStream: " + tmp);
              for (int i = 0; i < tmp.getBytes().length; i++) {
                   System.out.print(tmp.getBytes() + ":");
              return tmp.getBytes();
    * close port and stream
    private void closePort()
    try {
    serialPort.close();
    is.close();
    os.close();
    } catch (Exception ee) {
         * Longitudinal Redundancy Check (LRC)
         * @param packet
         * @return String
         private String getLRC(String packet) {
              char[] splitPacket = packet.toCharArray();
              char lrc = 0x00;
              for (int x = 0; x < splitPacket.length; x++) {
                   lrc = (char) (lrc ^ splitPacket[x]);
              return "" + (char) lrc;
         private String paddingString(String s, int n, char c, boolean paddingLeft) {
              if (s == null) {
                   return s;
              int add = n - s.length(); // may overflow int size... should not be a
              if (add <= 0) {
                   return s;
              StringBuffer str = new StringBuffer(s);
              char[] ch = new char[add];
              Arrays.fill(ch, c);
              if (paddingLeft) {
                   str.insert(0, ch);
              } else {
                   str.append(ch);
              return str.toString();
    public boolean setProperty(ID id, Object value)
    if (id.toString().equalsIgnoreCase("COMPORT")) {
    setComPort((String)value);
    System.out.println("RS232 com port: " + getComPort());
    return false;
    if (id.toString().equalsIgnoreCase("AMOUNT")) {
    this.setAmount((String)value);
    System.out.println("Amount value: " + getAmount());
    return false;
    if (id.toString().equalsIgnoreCase("TRANSACTIONTYPE")) {
    this.setTransactionType((String)value);
    System.out.println("Transaction Type value: " + this.getTransactionType());
    return false;
    if (id.toString().equalsIgnoreCase("EXECUTE")) {
    System.out.println("Invoke pos terminal");
    try
    doTransaction();
    catch(Exception ex)
    System.err.println("Execute Exception>> " + ex.toString());
    this.showError(res.getProperty("s_dlg_err_title"),res.getProperty("s_gen_exception"));
    return false;
    return false;
         * Display error message inside oracle form
         * @param title
         * @param exceptionString
         private void showError(String title, String exceptionString) {
              JOptionPane.showMessageDialog(this, exceptionString, title, 0);
    Edited by: peterv6i.blogspot.com on May 8, 2012 10:18 AM
    Edited by: peterv6i.blogspot.com on May 8, 2012 10:20 AM
    Edited by: peterv6i.blogspot.com on May 8, 2012 10:21 AM

  • Weight scale input into oracle forms developer 10g

    Dear All Experts
    it is request to you kindly guide me full code and description of
    weight scale device input in oracle form show digits continuously in form 10g kindly proved me data device connect through port so plz help me

    Make a PJC (plugable java component) and look at RXTX library for java...
    I have done a PJC  to use a POS terminal over RS232 from oracle forms..
    It's not complicated..
    here is my example for POS terminal and RXTX library (JControl)
    [code]
    package in2.pos;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Arrays;
    import java.util.Enumeration;
    import java.util.Properties;
    import java.util.ResourceBundle;
    import java.util.StringTokenizer;
    import javax.swing.JOptionPane;
    import oracle.forms.handler.IHandler;
    import oracle.forms.properties.ID;
    import oracle.forms.ui.CustomEvent;
    import oracle.forms.ui.VBean;
    import gnu.io.*;
    * PosTerminalPjc, PJC component for Hypercom POS terminal data exchange
    * @author Peter Valencic, [email protected]
    public class PosTerminalPjc extends VBean {
      private static final long serialVersionUID = -8814623494538014849L;
      Properties res = new Properties();
      SerialPort serialPort;
      OutputStream os;
      InputStream is;
      CommPortIdentifier portId;
      Enumeration portList;
      IHandler mHandler;
      char STX = (char) 0x02;
      char ETX = (char) 0x03;
      char EOT = 4;
      char ACK = 6;
      char NAK = 15;
      char FS = 28;
      private static final ID COMPORT = ID.registerProperty("COMPORT"); // serial
      // port
      // (COM1,COM2,COM3,...)
      private static final ID AMOUNT = ID.registerProperty("AMOUNT"); // amount of
      // the
      // transaction
      // (12)
      private static final ID TRANSACTIONTYPE = ID
      .registerProperty("TRANSACTIONTYPE"); // 01-sale, 05-refund, 13
      // ticket duplicate
      private static final ID AMOUNTCURRENCY = ID
      .registerProperty("AMOUNTCURRENCY"); // ISO currency code
      private static final ID TRANSACTIONNUMBER = ID
      .registerProperty("TRANSACTIONNUMBER"); // transaction number
      private static final ID EVT_OK = ID.registerProperty("EVT_OK"); //custom event if all ok
        private static final ID EVT_ERR = ID.registerProperty("EVT_ERR"); //custom event if error occured
      // state machine variables
      long l_timeout;
      long l_wait_for = 5000; // pos terminal wait for command (5 seconds)
      long l_wait_for_transaction = 62000 * 2; // pos terminal timeout
      long l_second = 1000; // one second
      byte b_retry = 0;
      String dataValue = "";
        byte[] readBuffer = new byte[2000]; //2000 bytes buffer to read rs232 stream
      String comPort = ""; // local variable to store com port name
      // (COM1,COM2,...)
      String transactionType = "SALE"; // type of transaction to be executed (SALE
      // or REFUND) default SALE
      String amount = "0"; // default amount value is set to 0
      String transactionNumber =""; //store a transaction number from POS trminal
      String transactionProcessed;
        String transactionFlag;
        String transactionDate;
        String transactionTime;
        String transactionBatchNumber;
        String terminalTid;
        String terminalCard;
        String errDesc;
        public PosTerminalPjc() {
      super();
      System.out.println("============================");
      System.out.println("== State machine POS v1.0 ==");
      System.out.println("== Peter Valencic (c)     ==");
      System.out.println("== 03.04.2012             ==");
      System.out.println("============================");
      try {
      res.load(this.getClass().getResourceAsStream(
      "/res/language.properties")); // load language file
      } catch (Exception ex) {
      System.err.println("Err loading language.properties file: "
      + ex.toString());
      private void doTransaction() throws Exception {
      String phase = null; // initial null value for state machine phase
      long l_ack_timeout = 0; //initial value for acknowledge timeout
      // com port check
      if (getComPort().trim().equalsIgnoreCase("")) {
      this.showError(res.getProperty("s_dlg_err_title"),
      res.getProperty("s_com_invalid"));
      return;
      // transaction type chek
      System.out.println(this.getTransactionType());
      if (!getTransactionType().equalsIgnoreCase("REFUND")
      & !getTransactionType().equalsIgnoreCase("SALE")) {
      this.showError(res.getProperty("s_dlg_err_title"),
      res.getProperty("s_tran_invalid_type"));
      return;
      portList = portId.getPortIdentifiers();
      while (portList.hasMoreElements()) {
      portId = (CommPortIdentifier) portList.nextElement();
      if (portId.getName().equalsIgnoreCase(this.getComPort())) {
      System.out.println("Port is used : "
      + portId.isCurrentlyOwned());
      serialPort = (SerialPort) portId.open("ComDriver", 2000);
      serialPort.setSerialPortParams(9600, SerialPort.DATABITS_7,
      SerialPort.STOPBITS_1, SerialPort.PARITY_EVEN);
      // serialPort.addEventListener(this);
      serialPort.notifyOnDataAvailable(true);
      serialPort.notifyOnOutputEmpty(true);
      os = serialPort.getOutputStream();
      is = serialPort.getInputStream();
      break;
      if (portId == null) {
      throw new Exception(res.getProperty("s_com_not_found")
      + this.getComPort() + "\n");
      // state machine infinite loop
      while (true) {
      // SEND DATA TO POS TERMINAL
      if (phase == null) {
      System.out.println("start phase");
      byte[] req = null;
      //verify transaction type to be SALE or REFUND
      //if REFUND then transaction number must be specified
      if (getTransactionType().equalsIgnoreCase("SALE")) {
      System.out.println("--> SALE send message to the pos terminal");
      System.out.println("--> amount: " + amount);
      req = protocolStream("000000123401100" + FS + amount + FS
      + FS + "+0" + FS + "978" + FS + FS + FS + FS + FS
      + FS + FS + ETX);
      else if (getTransactionType().equalsIgnoreCase("REFUND")) {
      System.out.println("--> REFUND send message to the pos terminal");
      System.out.println("--> amount: " + amount);
      System.out.println("--> transaction number: " + getTransactionNumber());
      req = protocolStream("000000123405100" + getTransactionNumber() + FS + amount
      + FS + FS + "+0" + FS + "978" + FS + FS + FS + FS
      + FS + FS + FS + ETX);
      } else {
      // maybe VOID in the future..
      os.write(req);
      os.flush();
      l_ack_timeout = System.currentTimeMillis() + 1500;
      //wait for half second
      try {
      Thread.sleep(500);
      } catch (Exception ee) {
      l_timeout = System.currentTimeMillis() + l_wait_for; //add some time for timeout
      phase = "TO_POS_ACK";
      System.out.println("phase: " + phase);
      }//phase null
      //CHECK IF THE TIMEOUT OCCURED
                if (phase.equalsIgnoreCase("TO_POS_ACK") &
                        (l_timeout < System.currentTimeMillis()) & (b_retry < 4)) {
                    b_retry += 1;
                    System.out.println("TIMEOUT: " + b_retry);
                    l_timeout = System.currentTimeMillis() + l_wait_for;
                    if (b_retry >= 4) {
                        System.out.println("Timeout occured");
                        try {
                            serialPort.close();
                            is.close();
                            os.close();
                        } catch (Exception ee) {
                        //Timeout occured show error
                        //s_timeout
                        this.showError(res.getProperty("s_dlg_err_title"),
            res.getProperty("s_timeout"));
                        break;
              //CHECK FOR THE ACKNOWLEDGE (FIRST RESPONSE FROM POS TERMINAL)
                if (phase.equalsIgnoreCase("TO_POS_ACK") &
                        (l_ack_timeout < System.currentTimeMillis())) {
                    try {
                        int numBytes = 0;
                        dataValue = "";
                        while ((numBytes = is.read(readBuffer)) > 0) {
                            dataValue += new String(readBuffer, 0, numBytes, "ASCII");
                        if (dataValue.getBytes().length > 0) {
                            System.out.println("->first byte: " +
                                dataValue.getBytes()[0]);
                            System.out.println("total length: " +
                                dataValue.getBytes().length);
                            //check for ack byte
                            if (dataValue.getBytes()[0] == 6) {
                                System.out.println(
                                    "<--ACKNOWLEDGE received from pos terminal");
                                phase = "WAIT_FOR_TRANSACTION";
                                l_timeout = System.currentTimeMillis() +
                                    l_wait_for_transaction;
                    } catch (IOException ev) {
              //WAIT FOR TIMEOUT ON MESSAGE
                if (phase.equalsIgnoreCase("WAIT_FOR_TRANSACTION") &
                        (l_timeout < System.currentTimeMillis())) {
                    System.out.println(
                        "Error receiving response from pos terminal!!!");
                    try {
                        serialPort.close();
                        is.close();
                        os.close();
                    } catch (Exception ee) {
                    this.showError(res.getProperty("s_dlg_err_title"),
        res.getProperty("s_response_error"));
                    break;
              //WAIT FOR SOME DATA TO COME FROM POS TERMINAL OVER RS232
                if (phase.equalsIgnoreCase("WAIT_FOR_TRANSACTION")) {
                    try {
                        int numBytes = 0;
                        dataValue = "";
                        while ((numBytes = is.read(readBuffer)) > 0) {
                            dataValue += new String(readBuffer, 0, numBytes, "ASCII");
                        if (dataValue.getBytes().length > 0) {
                            System.out.println("->first byte: " +
                                dataValue.getBytes()[0] + "|" +
                                dataValue.getBytes()[1]);
                            System.out.println("->ascii: " + dataValue);
                            System.out.println("total length: " +
                                dataValue.getBytes().length);
                            if (dataValue.indexOf("PREKINIL UPORABNIK") != -1) {
                                System.out.println(
                                    "Uporabnik je prekinil povezavo!");
                                try {
                                    serialPort.close();
                                    is.close();
                                    os.close();
                                } catch (Exception ee) {
                                //transaction cancelled by user s_user_cancel
                                this.showError(res.getProperty("s_dlg_err_title"),
                    res.getProperty("s_user_cancel"));
                                break;
                            if (dataValue.indexOf("NAPACEN VNOS") != -1) {
                                System.out.println("Napačen vnos");
                                try {
                                    serialPort.close();
                                    is.close();
                                    os.close();
                                } catch (Exception ee) {
                                //invalid user entry
                                this.showError(res.getProperty("s_dlg_err_title"),
                    res.getProperty("s_user_invalid_entry"));
                                break;
                            if (dataValue.indexOf("PROSIM POCAKAJ") != -1) {
                                System.out.println("<-- PROSIM POCAKAJ");
                                continue;
                            //preberemo podatke iz stringe terminala
                            if (dataValue.indexOf("SPREJETO") != -1) {
                                try {
                                    serialPort.close();
                                    is.close();
                                    os.close();
                                } catch (Exception ee) {
                                System.out.println("<-- TRANSAKCIJA SPREJETA");
                                System.out.println(dataValue);
                                System.out.println("Prožimo event v formse");
                                this.transactionProcessed = dataValue.substring(1, 3); //podatek mora biti 10
                                this.transactionFlag = dataValue.substring(13, 15);
                                this.transactionNumber = dataValue.substring(16, 21);
                                System.out.println("transaction number: " + this.transactionNumber);
                                this.transactionDate = dataValue.substring(25, 31);
                                this.transactionTime = dataValue.substring(31, 37);
                                this.transactionBatchNumber = dataValue.substring(21, 25);
                                StringTokenizer st = new StringTokenizer(dataValue, "" + FS);
                                System.out.println(st.nextToken());
                                System.out.println(st.nextToken());
                                System.out.println(st.nextToken());
                                System.out.println(st.nextToken());
                                System.out.println(st.nextToken());
                                System.out.println(st.nextToken());
                                this.terminalTid = st.nextToken();
                                System.out.println(st.nextToken());
                                System.out.println(st.nextToken());
                                System.out.println(st.nextToken());
                                this.terminalCard = st.nextToken();
                                if (transactionProcessed.equalsIgnoreCase("10")) {
                                else
                                    CustomEvent ce = new CustomEvent(mHandler,
                                            EVT_ERR);
                                    if (transactionProcessed.equalsIgnoreCase("00")) {
                                        System.out.println(
                                            "Error in the format of the request message");
                                        this.errDesc = res.getProperty("s_tf_00");
                                    } else if (transactionProcessed.equalsIgnoreCase(
                                                "01")) {
                                        System.out.println(
                                            "Transaction accepted without authorization code");
                                        this.errDesc = res.getProperty("s_tf_01");
                                    } else if (transactionProcessed.equalsIgnoreCase(
                                                "02")) {
                                        System.out.println(
                                            "Transaction accepted with authorization code");
                                        this.errDesc = res.getProperty("s_tf_02");
                                    } else if (transactionProcessed.equalsIgnoreCase(
                                                "03")) {
                                        System.out.println("Needs voice referall");
                                        this.errDesc = res.getProperty("s_tf_03");
                                    } else if (transactionProcessed.equalsIgnoreCase(
                                                "04")) {
                                        System.out.println("Transaction refused");
                                        this.errDesc = res.getProperty("s_tf_04");
                                    } else if (transactionProcessed.equalsIgnoreCase(
                                                "05")) {
                                        System.out.println(
                                            "Needs manual card data entry");
                                        this.errDesc = res.getProperty("s_tf_05");
                                    } else if (transactionProcessed.equalsIgnoreCase(
                                                "06")) {
                                        System.out.println(
                                            "Authorization call failure");
                                        this.errDesc = res.getProperty("s_tf_06");
                                    dispatchCustomEvent(ce);
                                    return;
                                //če gre skozi potem je vse ok
                                CustomEvent ce = new CustomEvent(mHandler, EVT_OK);
                                dispatchCustomEvent(ce);
                                return;
                    } catch (IOException ev) {
                //wait 200 ms
                try {
                    Thread.sleep(200);
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                System.out.print('*');
      }//end state machine loop
      * protocolStream prepare the stream to be send over RS232 to POS terminal
      * with LRC cheksum control
      * @param data
      * @return byte[]
      private byte[] protocolStream(String data) {
      char STX = (char) 0x02;
      String tmp = "" + STX + STX + data + "" + getLRC(data);
      System.out.println("PStream: " + tmp);
      for (int i = 0; i < tmp.getBytes().length; i++) {
      System.out.print(tmp.getBytes()[i] + ":");
      // System.out.println("čeksum: " + chksm);
      return tmp.getBytes();
      * Longitudinal Redundancy Check (LRC)
      * @param packet
      * @return String
      private String getLRC(String packet) {
      char[] splitPacket = packet.toCharArray();
      char lrc = 0x00;
      for (int x = 0; x < splitPacket.length; x++) {
      lrc = (char) (lrc ^ splitPacket[x]);
      return "" + (char) lrc;
      private String paddingString(String s, int n, char c, boolean paddingLeft) {
      if (s == null) {
      return s;
      int add = n - s.length(); // may overflow int size... should not be a
      if (add <= 0) {
      return s;
      StringBuffer str = new StringBuffer(s);
      char[] ch = new char[add];
      Arrays.fill(ch, c);
      if (paddingLeft) {
      str.insert(0, ch);
      } else {
      str.append(ch);
      return str.toString();
      * Display error message inside oracle form
      * @param title
      * @param exceptionString
      private void showError(String title, String exceptionString) {
      JOptionPane.showMessageDialog(this, exceptionString, title, 0);
      public String getComPort() {
      return comPort;
      public void setComPort(String comPort) {
      this.comPort = comPort;
      public String getTransactionType() {
      return transactionType;
      public void setTransactionType(String transactionType) {
      this.transactionType = transactionType;
      public String getAmount() {
      return amount;
      public void setAmount(String amount) {
      this.amount = amount;
      public String getTransactionNumber() {
      return transactionNumber;
      public void setTransactionNumber(String transactionNumber) {
      this.transactionNumber = transactionNumber;
      public static void main(String[] args) {
      PosTerminalPjc pjc = new PosTerminalPjc();
      pjc.setComPort("COM1");
      pjc.setTransactionType("SALE");
      pjc.setAmount("1000");
      try
      pjc.doTransaction();
      catch(Exception ex)
      System.err.println(ex.toString());
    [/code]

  • Migrating from Centura/Gupta to Oracle forms

    Hi
    I work at an organistion that is the result of a merger, we have two main bespoke systems, one in Oracle Forms which has recently been upgraded to the web based version (6.5) and a second written in Gupta / Centura SQL Windows client server. Both use Oracle databases thought the Centura application is still on 8i.
    We want to move to Forms over time but will have to run both for a while and would like to try and run them as more of a single system in the interim. e.g a single security system so users can move from one to the other without having to use 2 userids & passwords. My initial investigations suggest this isn't going to be easy.
    I wondered if anyone had any experience/ tips, or could point me at any useful resources.
    Thanks

    We want migrate from gupta 9.0 (sql base) to oracle db 11.1. We need some help or information. Could you give us any procedure of migration ?
    Thanks you. We hope for your help.

  • Oracle Forms version

    We have a production system build by oracle forms builder 10.1.2.0.2 .
    The background database is oracle database 10.2.0.1.0.
    Now we want to upgrade database to oracle 10.2.0.2 .
    If we upgrading databse , would the system be effect , even not work ?
    Thank you.

    Hi,
    Check out this link
    http://www.oracle.com/technology/software/products/ias/files/as_certification_r2_101202.html
    in that see table 4 and 5.
    Regards

  • .jar file reusablility issue in oracle forms

    hello all
    i am using oracle forms
    {code}
    Forms [32 Bit] Version 10.1.2.0.2 (Production)
    Oracle Toolkit Version 10.1.2.0.2 (Production)
    PL/SQL Version 10.1.0.4.2 (Production)
    Oracle Procedure Builder V10.1.2.0.2 - Production
    {code}
    and using Database 10g
    {code}
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    {code}
    i am developing an application in oracle forms that sends message through GSM mobile when any transaction is commited.
    i wrote a class in java , made .jar file , edited default.env file CLASSPATH = "my .jar file"
    everything is working fine when i am trying the code in NETBEANS IDE, it sends messages again and over again with no delay..
    PROBLEM:
    the problem is that when i try to send message from oracle forms using that JAR file , it sends message for only single time , after that it neither shows me any error nor sends the message,
    (1) can it be problem of closing COM port for reusablity.
    (2) any other way to reuse the jar file.
    (3) should i program to closo the used port. (but java program is working very well in NETBEANS IDE).
    please suggest me what should i do to reuse .jar file again and over again.
    thanks

    thanks for your reply.
    sorry if forgot to mention that how i am using this java code.
    yes! i am using that java code using Java Importer in oracle forms 10g.
    importing that jar file i used PL/SQL code to use the static public veriables in oracle forms
    Procedure Send_Message(
        Cel_N In Varchar2
    Is
      Ora_Obj Ora_Java.Jobject;
      Com_P    Varchar2(10);
      Cent_No  Varchar2(100);
      Send_Sms Number;
      Mesg     Varchar2(200);
    Begin
      Ora_Obj := Smsclient.New(1);
      Smsclient.Setcomportname(Com_P);
      Smsclient.Setmsgcenternum(Cent_No);
      Send_Sms:= Smsclient.Sendmessage(Ora_Obj,Cel_N,Mesg);
    Exception
    When Ora_Java.Java_Error Then
      Message(Ora_Java.Last_Error);
    When Others Then
      Message(Sqlerrm);
    End;
    this Smsclient.Sendmessage Class is working very well in both plateforms in NETBEANS IDE and oracle forms but the difference is in this class that
    in NETBEANS IDE (when i run this class using F6 ) it works every time with no delay
    but when i use this same class in pl/sql code through oracle forms it works only for one time.
    COM ports and GSM modem is working property but why .jar file works for once.. and when i restart OC4J & oracle form at run time then it works for only once , meanse after starting OC4J i am able to send message through mobile for one time, means .jar file works only once, why not every time i call the class through oracle form..
    what should i check .. please..
    thanks

  • Applet oracle/forms/fnd/formsclient/formslauncher started

    Hi All,
    DB:11.1.0.7
    Oracle Apps: 12.1.1
    O/S: Red Hat Linux
    One of the users is receiving the message - 'applet oracle/forms/fnd/formsclient/formslauncher started' and thereafter no further progress while launching form.
    Could anyone please share what the issue is and hwo to solve it.
    Thanks for your time!
    Regards,

    Should jinitiator be uninstalled and re-installed again for the client pc?Do you mean Sun JRE? If yes, then yes you could do -- Recommended Browsers for Oracle E-Business Suite Release 12 [ID 389422.1]
    Also, try the same from the same machine using a different browser and see if you can reproduce the issue.
    Thanks,
    Hussein

  • Closing System Messages

    Hi To All,
    There are system messages appear in most of the screens..For those system messages we should click Ok Button or Cancel Button to close that message..But i want to close that system message through source code not by clicking the buttons...How to do it.....

    Hi,
    You can use this code..
    Select Case pVal.FormTypeEx
    Case "0"
    If pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_ACTIVATE And pVal.FormType = "0" And pVal.ItemUID = "" And pVal.BeforeAction = False Then
    objApp.SendKeys("")                      
    End If
    But you must be sure, that you auto click enter in system message on proper form - store in global variable identification, that the system mesage should be auto clicked and after click set the variable back to nothing. Otherwise you will auto click all system messages...
    regards:
    SANDY

  • Oracle Forms 6.0: Message file\ORANT\DBS\FMCUS.MSB not found

    Hi,
    I have a PC with oracle forms installed on it and recently the operating system was updated from win. 2000 to win. XP. After the update, a particular form could not run. It gave the following message: Message file\ORANT\DBS\FMCUS.MSB not found. What could be the likely course of this?

    Hi,
    That's because Forms6i has a 2nd edition for WinXP and you should apply patchset 13 at least for forms to work on WinXP.
    what's your forms version?????
    I don't know how would it react fors6i on upgraded OS from win2K to WinXP.
    Tony S. Garabedian

Maybe you are looking for

  • Execute planning function in Web template for selected item in anylisys ite

    Hello all. I have been trying several different solution for this issue I have, but could not ,make it work. Hopefully, any of you can give me some ideas. Initially the scenario seems to be easy. I have a Web template were I show a query analysis ite

  • How to create an VO (EO ?) from a cursor got from package ?

    Hello, I have a packaged function that returns a "ref cursor" object. How can I use this to create a VO (or an EO, but I doubt about this) ?

  • Previous month cost estimate

    Hi, Cost estimate of One material, which is a Semifinished goods nature is not released for March 09. But the Cost estimate of Finished goods is release in March 09, of which the above said Semifinished goods is part of BOM. Now please suggest how to

  • I dropped my iPod in coffee and the backlight doesn't work.

    I dropped it in coffee and stupidly turned it on afterwards. It seemed 'done' for a few days but it dried out. (it was only half submerged for a few seconds). It was fine, other than the camera which is pooched, until today. Now the backlight doesnt

  • Field selection of Result recording screen

    Dear all I was wondering, how can I change a field status from "Display" to "Optional" I tried tcode: OQFA, but it seems useless. I want "QAMKR-DUMMY10" this field to be editable, Please help me to do this. Thanks.