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/726689622I 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 -
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]
nullHello 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
nullA 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.
thanksuser549194 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,
AdnanI 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). -
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 ArigeAll 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
CarlosI 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 meMake 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
GrantNote - 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
-
Calling a report from module pool program
Hi all, I had a requirement where I need to call a report from the module pool program where in when we click REPORT button, it should display the report output in the another screen. Can we do by calling screen after pushing REPORT button. I
-
Need help on using more than 28 number of connector in panes
Hai, There are six subvi's in my utility and each outputting atleast 8 indicators in the panes. In the main program i need to collect all and display. How is this possible? Any ideas/suggestions? Thanks, Mathan Solved! Go to Solution.
-
How do I count the number of cells with a particular text in it?
I have a column with peoples name in each cell. I want to count the numbe rof times a persons name appears in the column. How do I do this? any help would be great ! thanks in advance.
-
Hi, Good day to all ! i schduled 0HR_PT_1 data source its taking lot of time almost 5 days but still active in source side sm37 is almost 2crore crecords. can any one explain me how to load selection wise data like fiscal year . but this belongs to
-
Sarà possibile eseguire su osx mountain lion 10.8.4 osx mavericks GRATUITAMENTE? ..........It will possible run osx mavericks free on osx mountain lion 10.8.4?