Oracle Forms Future

Does anyone know about Oracle Forms Future like is going to stay or go away? I don't see many jobs for Oracle Forms developer.

Per the current INFORMATIONWEEK issue, one survey said:
Pay for application development and programming skills has increased about 4% in the past year--and pay specifically for rapid application development and extreme programming skills has jumped about 9% over the last six months, Foote (president of Foote Partner co.) says.
Also driving up pay for application development is the fact that many companies that sent development work offshore in recent years haven't realized the savings they expected. "Offshoring has gotten a black eye. Half the companies who did it didn't get the numbers they thought," he says.
If considering the RAD, forms/reports is good one. As with CELL chip floods the industry as well as the new optical fiber network, then the forms/report application may run fast if it can survive to that time.

Similar Messages

  • Oracle Forms Modernization and Futures - Free Webinar

    The Oracle Development Tools Group (ODTUG) are running a webinar for all Forms developers. The data is the 29th March and I will be updating our customers on our future plans with Oracle Forms.
    You can register here.
    https://www3.gotomeeting.com/register/726689622

    I am not clear on what you mean with a form being SOA?
    In either case, we don't support Client/Server any longer and have not done so for quite a few years. We need the Application server in 1g and will continue to need it in 11g.
    Forms can be part of a Service Oriented Architecture. See http://www.oracle.com/technology/products/forms/pdf/10gR2/forms-soa-wp.pdf for more on that.
    --Jan Carlin
    Forms Product Manager

  • Future of Oracle Forms?

    Hello, I am maintaining a huge application in Oracle Forms 6i and I think Forms is a great product. We are looking at future upgrade/migration paths (such as to Forms 10g) and a number of people I have talked to seem to think that Oracle Forms is being phased out by Oracle and is "going away".
    I have read the statement of direction document and it seems to indicate otherwise, but nothing else I have come across seems to definitively indicate one way or the other.
    I am aware that the client/server version has been discontinued, (too bad really, serving up the app via Terminal Services is so much less troublesome than a web app) but the point is to have some kind of upgrade path when or if needed.
    So is there any shred of truth to what these people are telling me or are they just greatly misinformed?
    I am very, very grateful for any assistance.

    Nathan,
    we don't have any plans to discontinue Forms. So Forms is not going away. We know that these rumours exist.
    We could spend our time in fighting back rumours or in providing support for our customer base and work on new features for upcoming Forms releases. We decided for the latter, which may explain why you don't find many documents arguing against those rumours.
    The Forms development team and product management team is also involved in developing the Oracle Application Development Framework (ADF) for J2EE in Oracle JDeveloper.
    In fact, with ADF in Oracle JDeveloper, we are going to provide RAD functionality - like we have in Forms - for J2EE. This however is an offering to J2EE developers and doesn't impact Forms users directly - except for that we are making sure that Forms integrates with J2EE and that Forms developers will find it easy to develop J2EE applications based on their skill set to some point in time.
    We are currently working hard on Forms 11. Forms 10.1.2, which will be released in summer, also comes with enhancements (e.g. to WebUtil).
    So don't worry of what other people say.
    Frank

  • What about future of Oracle Forms Developer?

    I heard, in future entire Oracle Apps will be in Java and Jdeveloper tools without Oracle Forms. In that case Oracle Forms will not stand as a stand alone tool for development. Now a day even small companies also prefer ERP solution. So what will be the future who is fully working on Oracle Forms and Reports?

    Thnaks... But still I couldn't see anyone saying
    Forms is forever. In future it will be supported by
    Oracle but not recomended by Oracle is it?Then again ... J2EE is not 'forever' either.
    The moment anyone comes along with and interestng tool set and enough money to do some serious marketing, you will find a lot of people who will jump to it, simply because it resolves some of their problems. (But not all!)
    I started working with Oracle Forms 2.3 and have heard an almost annual 'Forms is dead' since 1993. Fourteen years later, those who claim 'Forms is dead' are still looking for replacements of their favorite substitutes of Forms (such as PowerBuilder)
    My recomnmendation around Forms - as with all technology - is simple: if it (Forms, J2EE, whatever) works for your purposes, use it. Your app will need revising inside 5 years, and you can re-evaluate the technoloy at that time.

  • Oracle Spatial and Oracle Forms

    Hi,
    Does anyone have experience with Oracle Spatial and Oracle Forms?
    I have generated a form, which is based on a view. The view uses the mdsys.sdo_relate operator. Somehow I am unable to get the form to perform (to get one record it takes over 20 minutes). While useing sql-navigator to process the same statement it seems no problem. The query that also uses the view, is then processed in 10 seconds.
    I also noticed that when text-functions like ' lower' of ' upper' are used to query the view, the query is processed within 15 seconds. If I don't use ' lower' or ' upper' it takes a long time (> 20 minutes) to process the query. Is it possible that this causes the bad performance of the form?
    On metalink I have found that forms and spatial do not cooperate because of the pl/sql version that
    forms6 uses. There is no solution presented, does anyone know of a work around?
    My configuration is:
    Oracle 8.1.7 on WIN2K @ PIII-800Mhz 256 Mb memory.
    Formsbuilder 6
    If requested I can post the queries that I have made.
    With regards,
    Gerjan Walrecht
    [email protected]
    null

    Hello Priya,
    Look into the following.
    1. Book - Pro Oracle Spatial for Oracle Database 11g by r. Kothuri, A. Godfrind, E. Beinat. This book provides a nice introduction on Oracle Spatial concepts and have examples.
    2. Look at the Oracle Spatial & Graph User Guide
    2. Book - Applying and Extending Oracle Spatial by S. Greener and S. Ravada. This book provides hands on information for advanced oracle spatial application developers. Practical guide on hands-on examples, Data models and  develop cross-vendor database solutions.
    3. This oracle spatial forum, once you understand these concepts.
    In the future consider Certification on Oracle Spatial 11g Certified Implementation Specialist.
    Best
    Navaneet

  • How to improve performance of Oracle Forms Server ?

    Recently we converted our Application which was Developed in Forms 5.0 and Reports 3.0 into Forms6i to host that on to Web. We also loaded ORACLE 9iAS (on Windows NT 4 with service pack 3) from "Enterprise Edition" option by selecting Oracle Database Cache, Forms Server and Reports Server, HTTP Server(on port 80),Oracle Web Cache. Everything loaded succesfully including Caches.
    Forms server is working perfectly and we were able to run our Application in Browser, but performance is the issue. We thought the caches will improve the performance, but it seems they are not at all working. When we run a report or form the Database cache is not giving any statistics whether a particular Query is a Hit or Miss though the cache is running. We got a doubt and searched in FAQ's and we found the following questions.
    Oracle9iAS Web Cache Frequently Asked
    Questions February 2001
    Does Oracle9iAS Web Cache work with applications that use Oracle9iAS Forms?
    Not in the 1.x release of Oracle9iAS. Integration between Oracle9iAS Web Cache and Oracle9iAS Forms will be addressed at a future date.
    Oracle9iAS Database Cache
    Does the Cache work with Oracle Forms and Portal in Oracle9i AS?
    Since Oracle Forms and Portal utilize read/write PL/SQL stored procedures, these components cannot take advantage of the Cache. This support is being considered for a future version.
    After coming to know that Caches doesnot boost the performance of Oracle Forms and reports. We have the following queries.
    1) Clarify whether the above are True.
    2) Apart from DB and Web Cache is there any other way where in we can improve the performance of Oracle Forms and Reports in Forms Server including the start up time.
    3) What is the ideal configuration required for each tier (iAS Server,Database Server and Client) to host Forms on to Web considering our application as Medium scale.
    (Presently our configuration are,
    Application Server Configuration : Windows NT 4 with service pack 3,256 MB RAM,1 GB Virtual memory and 4GB free space and almost the same configuration is being used for
    Database Configuration.
    Client Configuration : Windows 98 with 64MB RAM).
    4) Is there any way to track the performance and know the problem areas like TRACE.
    Gopi Kumar
    null

    A couple of questions for you:
    1) What version of IAS are you using?
    2) What's the version of Forms&Reports and
    3) What version of patch are you using if any
    for forms&Reports?
    4) What applications are you running on the
    machine where Forms&Reports is installed?
    (I mean non-Oracle applications?)
    The problem could be that, the base addresses
    of the DLL's in Forms&Reports could be having base address conflicts with some other application's DLL's.
    Forms and Reports needs to be fully rebased to achieve full performance on NT. Before release of Forms and Reports, Oracle rebases all DLLs. Rebasing assigns unique base addresses to all of the DLL's in use by an executable. A properly based DLL will load at its preferred base address, greatly improving the efficiency of memory utilization and the runtime performance of the executable.
    Multiple utilities are available on NT to verify proper rebasing of DLLs. HandleEx v4.0 is one such freeware from Sysinternals and is available at www.sysinternals.com. Some others are "depends.exe" that's part of the MS Visual Studio or msinfo32.exe that comes with Office 2000 on NT.
    If after running any of these utilities you discover that the DLL's ar not properly rebased, you need to contact Oracle worldwide support.
    If you find that rebasing is not the problem, then please post your feedback again. Hope this helps.

  • Oracle forms viewlets about SSO and Forms dont work

    hi:
    the oracle forms viewlets (in Forms Sample Code) about SSO and Forms dont work. it says html as been modified. i think it's a viewlet builder protection.
    thanks

    user549194 wrote:
    Hi to everyone,
    This is a rant on the stupidity of Oracle Forms. From my point of view, it is pointless and VERY PAINFUL to develop.
    Come on, who in the right would use Oracle FORMS to develop database applications? Heck, I can develop my very own web application in Servlet and JSP twice as quick as this piece of crappy framework can produce. Who are you trying to kid? Tie down PL/SQL to the application level? The very idea of FORMS is bullshit.
    To whoever who is reading this, please flame me all you want. Oracle Forms is a crappy product. Dont't waste your time and efforts using it. You are better off using some other MORE PRODUCTIVE framework. So there.Hello,
    I have seen many threads speaking about forms future but discussions were also MORE PRODUCTIVE as your framework
    pointless ? I think your thread is pointless...
    I will not make the pro-forms against the world... There are so many tools, just make the right choice for your needs.
    so go back to your fantastic productive framework and have success with it.
    regards
    JeanYves

  • Oracle Forms&Reports certification - choose the right path

    Dear professionals,
    I'm Oracle Forms and Reports developer for about 10 years. Now, I'm on the way to become Forms and Reports certified professional (either to be Forms Developer Professional or Oracle Fusion Middleware 11g Forms Developer):
    https://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=653&get_params=p_id:177#tabs-1-3
    In order to achieve my goal, first I have to pass Oracle PL/SQL Developer Certified Associate exam:
    http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=458&get_params=p_track_id:PLSQl
    After I read one of @matthew_morris articles, I decided to choose in the step one exam (1Z0-051 Oracle Database 11g: SQL Fundamentals I). I prepared this exam. 
     Now, I'm preparing for the next step where I have to pass one of these exams:1Z0-147 Program with PL/SQL or 1Z0-144 Oracle Database 11g: Program with PL/SQL
    What's your suggestion for me (since I'm developer and tend to be in the future)? I carefully read the next article but I still have some dilemmas:
    http://ezinearticles.com/?Oracle-PL/SQL-Developer-Certification:-1Z0-147-or-1Z0-144?&id=7190832
    Any suggestion will be highly appreciated.
    Thanks in advance,
    Adnan

    I will say I am biased toward 1z0-144.
    And very anti 1z0-147.
    and believe 1z0-147 has bad practices (and training material certainly has), unless it has been overhauled to 2015 standards.  It has probably introduced and left many newbies in the dinosaur ages.
    I think 1z0-147 has some client size programming orientations, but that said i feel it is more to say Forms 4.5 standards.  It is nowhere near 12c !
    It also got scheduled for withdrawal at some point but got a last minute retrieve ( https://blogs.oracle.com/certification/entry/0864_01).
    I wonder if was due to the oracle ODP programme still teaching for it much later than they should have been .... ( if my sarcasm continues i would get red carded so i shall shut up).

  • Oracle forms & Reports 6i

    Hi,
    Can anyone give me the URL from where I can get the Documentation (information) about the Oracle Forms and Reports 6i (like It's new futures when compared to Developer 6.0 ).
    Thanks in advance.
    Srinivas Arige

    All of the good stuff is on OTN, in the Forms area:
    http://otn.oracle.com/products/forms/content.html
    Reports have their own area as well.
    Regards,
    Robin Zimmermann
    Forms Product Management

  • How login in BI Publisher from MyApp (Oracle Forms 11.1.2)

    Hi.
    Anyone can help me, as I login from my application in Oracle Forms 11.1.2, BI Publisher 11.1.6
    Thank you very much
    Carlos

    I would not use the national characterset, but change the database characterset instead. Oracle is perfectly capable of suporting multibyte charactersets like UTF-16 or UTF-8.
    Take a look how to verify if you can change the database characterset using csalter or if you'd need to create a new database:
    http://www.oracle-base.com/articles/10g/CharacterSetMigration.php
    If you change the database characterset to e.g. AL32UTF8 your VARCHAR2 columns are multibyte enabled (and depending on your NLS_LENGTH_SEMANTICS the precision you specified are BYTEs or CHARs), and you won't need to change your sourcecode at all.
    The national characterset is there to support multiple charactersets in one database; As you simply want to support multibyte it's by far more easy to change the database characterset. Change the database characterset to AL32UTF8 (4 byte variable-width characterset) and you won't have problems with charactersets at all in the future.
    Also changing to NVARCHAR2 multibyte won't be a easy "alter table modify blabla", as the data itself also needs to be migrated. The whole migration plus the change of your entire code plus the bug that this doesn't even work in forms makes a reinstall of your database install and a characterset migration via exp/imp by far the easiest solution.
    cheers

  • How to Return a value to a 10g Oracle Form form a Web Service Call

    I've read the demo available from Oracle, 'Calling a Web service from Oracle Forms', that shows how to invoke a call to a Web Service from a Form. The demo only shows how to do a call and how to display messages. I've done some searching, but can't seem to find any examples of how to return a value from the call into a field on the form. If any one could provide an example of that, I would greatly appreciate it.
    We are in the process of modifing a form and we would like to use a webservice, which we have never done before. We have created a webservice which calculates a value based upon what is entered on the form and we want to pass that calculated value back to a field on the form.
    This is the code provided by the demo to do a call.
    DECLARE
    jo ora_java.jobject;
    xo ora_java.jobject;
    rv varchar2(100);
    ex ora_java.jobject;
    BEGIN
    JO := SendServiceSoapClient.new;
    RV := SendServiceSoapClient.sendMessage(JO,:BLOCK3.PHONE_NUMBER, :BLOCK3.MESSAGE_BODY, xo, xo);
    EXCEPTION
    WHEN ORA_JAVA.JAVA_ERROR then
    message('Unable to call out to Java, ' ||ORA_JAVA.LAST_ERROR);
    WHEN ORA_JAVA.EXCEPTION_THROWN then
    ex := ORA_JAVA.LAST_EXCEPTION;
    message(Exception_.toString(ex));
    END;

    In the future, please be sure to include the exact product versions you are using. In this case, also be sure to include the java versions you are using to build your java code.
    http://blogs.oracle.com/shay/entry/10_commandments_for_the_otn_fo
    Regarding your question, take a look at this older white paper which discusses integrating Forms with SOA.
    http://www.oracle.com/technetwork/developer-tools/forms/documentation/forms-soa-wp-1-129441.pdf

  • 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]

  • How to set connection between oracle forms and DB?

    I have installed win xp,
    oracle database 10g in c drive ,
    oracle forms and reports 10g in d drive ,
    how do i set the connection between forms and DB ?
    i know its an old question but i am very new to this !
    thanks in advance.

    You didn't mention the versions or whether you are using Developer Suite or Application Server. I guess it really doesn't matter in this case, but please provide complete information in the future.
    In order to connect the F/R home to a db you will need to make the appropriate configuration entries in tnsnames.ora found in the F/R home (\NETWORK\ADMIN). The entry you add will be similar to the one found in the tnsnames.ora for the db which is found in a similar directory in the db home. The entry will look something like this:
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = myMachine)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = myMachine)
      )

  • Oracle Forms is a useless and pointless product.

    Hi to everyone,
    This is a rant on the stupidity of Oracle Forms. From my point of view, it is pointless and VERY PAINFUL to develop.
    Come on, who in the right would use Oracle FORMS to develop database applications? Heck, I can develop my very own web application in Servlet and JSP twice as quick as this piece of crappy framework can produce. Who are you trying to kid? Tie down PL/SQL to the application level? The very idea of FORMS is bullshit.
    To whoever who is reading this, please flame me all you want. Oracle Forms is a crappy product. Dont't waste your time and efforts using it. You are better off using some other MORE PRODUCTIVE framework. So there.

    user549194 wrote:
    Hi to everyone,
    This is a rant on the stupidity of Oracle Forms. From my point of view, it is pointless and VERY PAINFUL to develop.
    Come on, who in the right would use Oracle FORMS to develop database applications? Heck, I can develop my very own web application in Servlet and JSP twice as quick as this piece of crappy framework can produce. Who are you trying to kid? Tie down PL/SQL to the application level? The very idea of FORMS is bullshit.
    To whoever who is reading this, please flame me all you want. Oracle Forms is a crappy product. Dont't waste your time and efforts using it. You are better off using some other MORE PRODUCTIVE framework. So there.Hello,
    I have seen many threads speaking about forms future but discussions were also MORE PRODUCTIVE as your framework
    pointless ? I think your thread is pointless...
    I will not make the pro-forms against the world... There are so many tools, just make the right choice for your needs.
    so go back to your fantastic productive framework and have success with it.
    regards
    JeanYves

  • Oracle Forms Modernization Webinar.

    The Oracle Development Tools User Group (ODTUG) are running a webinar aimed at Forms futures, modernization, migration and mobile! If you want to register for this event, details are on my blog.
    https://blogs.oracle.com/grantronald/entry/odtug_webinar_on_oracle_forms
    Regards
    Grant

    Note - we will be publishing a set of webinars covering various features of Forms in the coming weeks. Please keep and eye on otn.oracle.com/products/forms for news.
    Grant

Maybe you are looking for