Experience porting 4.5 forms directly to 9i ??
We are to port about 1000 4.5 forms and 500 6i forms (client/server) to forms 9i.
Does anybody have any experience with porting 4.5 forms directly to forms 9i or is it necessary to go 4.5 -> 6i -> 9i ?
Is it possible to use tools like 9i Migration Assistant, Forms*Nova, MIGrator or the like to do this in batch mode?
Thanks for any help
Christian
Christian,
the Forms Migration Assitant simply goes through your Forms Module and searches for changed built-ins or obsolete names. The real crux of migration is a change that happened between Forms 4.5 and Forms 5.0 in the Forms internal architecture.
MIGrator is a tool offered by companies like Logis, XRSystems and Kybernon (where the second two licenced the product as far as i know) that performs a complete migration, also checking for the architectural changes.
MIGrator is able to move Forms 3.0 applications to Forms 6i (and possibly higher) and really suited for customers with different versions of Forms.
There are other companies in the same sector that are worth looking. PITTS.CON does do the same Job.
For the sake of being neutral, here's a list of all partners offering migration tools:
http://otn.oracle.com/products/forms/htdocs/partners.html
The recommendation is to go from Forms 4.5 to 6i and then to Forms9i (you don't have to move to Forms9i first to get to Forms10g (9.0.4)).
Frank
Similar Messages
-
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 -
Open Edit form directly when list item is clicked in Sharepoint 2013 list
Hi,
I have a list web part, wherein the user clicks the item it should open in the Edit form directly. various forum i checked was for SharePoint 2010, as we do not have design mode in SharePoint designer 2013, I am unable to do.. I know
if I the change the form type from default page to edit page, it will work, but not sure about how to go ahead. Could anyone help me to achieve this please....Sunitha,
You can do this with some jQuery and JavaScript. Look at this post:
http://brandonatkinson.blogspot.com/2013/11/open-sharepoint-2013-list-items.html
Basically, add a Script Editor Web Part to the page and include this snippet:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(function() {
// Change all display form links to edit form links
$('.ms-vb a[href*="listform.aspx"]').each(function(){
var link = $(this).attr('href');
link = link.replace("PageType=4", "PageType=6");
$(this).attr('href', link);
</script>
Brandon Atkinson
Blog: http://brandonatkinson.blogspot.com -
Sending PDF form directly to email
Is it possible to send filled PDF form directly from Acrobat Pro or Reader to requested email by clicking the SEND button? Or does it always go via senders email application?
What should be done to get it going directly?Is it possible to send filled PDF form directly from Acrobat Pro or Reader to requested email by clicking the SEND button? Or does it always go via senders email application?
Answer: To bypass client-side email software the form needs to submit to a server side script such as PHP or ASP.net.
What should be done to get it going directly?
Answer: You will need an SMTP account, a web server and server-side programming knowledge. The script would need take the inbound submission stream and pass it to the outbound SMTP message, and return a FDF response message or redirect to a URL. If you are using ASP.net, you can use iTextSharp or FDFToolkit.net to parse the submission, and inject the values directly into the message TO, CC, BCC, subject and body.
For online examples please visit the following website: www.pdfemail.net/examples/ -
How to recognize Serial Port Device in Forms.
Hi All,
I am using Forms 6i. I want to know how to recognize a serial port device in forms. I have a requirement to recognize the reading of one serial port device into my form in my application and I have to store that reading value into database.
How can I acheive this?
Waiting for ur reply.
Thanks in Advance.
Gopinath Konahello,
i havent worked on Linux but have been extensively using it on windows.
did you try running any code ?
rohan -
How to scan document into forms directly ?
hi all
how to scan any document into oracle developer form directly
(we are using forms 4.5 ..on win 98)
thanks
Abu zaid Saad
[email protected]First I would suggest that you read the documentation about working with Active/X.
The online version is in the documentation section of Forms on OTN.
Then, you insert the scan.ocx into your form. you use the ole importer to create a pl/sql package to communicate with the ocx and you are ready to start calling methods such as scan etc... -
I want to print form directly with out using spool request
hi,
i want to print form directly with out using output type screen (spool request or print preview ) , i want to supress the screen and get output directly to the printer. plz help me
thanks®ards
praveenHi Praveen,
In your program, where you are calling the OPEN_FORM function.. pass the name of the printer in the 'DEVICE' parameter of the function module..
Also, there is a parameter OPTIONS of sturcture ITCPO in the same function module.. in this parameter you will find lot of options to set properties for the printing..
There will be one field for immediate printing, set that field to 'X' and other settings for print in the same structure and pass to the function module..
Thanks and Best Regards,
Vikas Bittera. -
How to print report From Oracle form directly on printer
Hi,
I am running report from form and output should be directly printed on printer.
Database: 11g Release2
Forms version : 11.1.2
Report version : 11.1.2
OS: windows 7 professional 32 Bit
Written following code:
declare
pl_id ParamList;
varno number;
x VARCHAR2(150);
y NUMBER;
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
begin
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
repid := FIND_REPORT_OBJECT('SALEBILLNEW'); -- report object name
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,'copies',TEXT_PARAMETER,'1');
Add_Parameter(pl_id,'background',TEXT_PARAMETER,'Yes');
Add_Parameter(pl_id,'mode',TEXT_PARAMETER,'Character');
Add_Parameter(pl_id,'printjob',TEXT_PARAMETER,'YES');
Add_Parameter(pl_id,'VCOMPANY',TEXT_PARAMETER,:block50.coname);
Add_Parameter(pl_id,'VCOde',TEXT_PARAMETER,:block50.code);
Add_Parameter(pl_id,'VOURBILLNO',TEXT_PARAMETER,:BLOCK50.FROMBILL);
Add_Parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO');
Add_Parameter(pl_id,'DESTYPE',TEXT_PARAMETER, 'PRINTER') ;
Add_Parameter(pl_id,'DESNAME',TEXT_PARAMETER, 'OKI MICROLINE 391 TURBO (COPY1) on NILESH-PC') ; --default printer name
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,RUNTIME);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,PRINTER);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'rep_adminserver_inorasrv-pc_asinst_3');
y := LENGTH ('rep_adminserver_inorasrv-pc_asinst_3') + 2;
x := RUN_REPORT_OBJECT (repid, pl_id);
WEB.SHOW_DOCUMENT('http://inorasrv-pc:7001/reports/rwservlet/getjobid'||SUBSTR(x,y)||'?server=rep_adminserver_inorasrv-pc_asinst_3&userid=scott/tiger@winorasr');
Destroy_parameter_list('tmpdata');
end;
Above code giving following error:
REP-52251: The output of job ID 111 requested on Thu Oct 18 18:37:20 IST 2012 cannot be retrieved.<P>REP-51026: No output is generated for job 111.
Need help..
Thanks in advance.Hi,
I have change the printer name to OKI
Add_Parameter(pl_id,'DESNAME',TEXT_PARAMETER, '\\Nilesh-pc\OKI') ;
Add_Parameter(pl_id,'DESFORMAT',TEXT_PARAMETER, 'dflt.prt');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESNAME,'\\Nilesh-pc\OKI');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'dflt.prt');
code which i have posted above unable to reach at default printer and gives following error
The report generated successfully but distribution to destinations failed.
Modified above code to take default printer from registry.
Added below code
rtn_Registry := CLIENT_WIN_API_ENVIRONMENT.Read_Registry('HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows','Device');
rtn_defaultPrinter := substr(rtn_Registry,1,instr(rtn_Registry,',',1)-1);
Add_Parameter(pl_id,'DESNAME',TEXT_PARAMETER, 'rtn_defaultPrinter') ;
It is giving error
CLIENT_WIN_API_ENVIRONMENT.Read_Registry must be declare.
Edited by: parapr on Oct 20, 2012 10:47 PM -
Using CFHTTP to submit a form directly to a google docs form
Ok so here is some background
Google has a service where you can create forms using google docs and embed them into your webpage, Results are automatically stored in a google spreadsheet upon submission.
I want to use my own form to submit to to the google form processing page which I can get to work however the default generic google hosted thank you page appears upon submissing.
I know you can use cfhttp to submit a form from a coldfusion server so I was thinking that I could simply pass my form variables to a action page that resubmitted them via cfhttp and thus bypass the thank you page altogether
however when I try this it does not work and the results do not show up in the google spreadsheet. I figured that mabye the google processing page could tell that it was not submitted from a browser so I tired adding a useragent string but still no luck.
Here is the code I was trying to use
<cfhttp method="POST" url="https://spreadsheets.google.com/formResponse?key=tlo4FjygqMuUGmvuOb2_Gjw" redirect="yes" useragent="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.2; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)">
<cfhttpparam type="Formfield" name="entry.0.single" value="testValue1" >
<cfhttpparam type="Formfield" name="entry.1.single" value="testValue2" >
</cfhttp>
And the online spread sheet can be viewed here
http://spreadsheets.google.com/pub?key=tlo4FjygqMuUGmvuOb2_Gjw&single=true&gid=0 &output=html
Does anyone know why this is not working?
To recap I am able to use the following form on my own comptuer to directly submit to the processing page and this works
<form action="https://spreadsheets.google.com/formResponse?key=tlo4FjygqMuUGmvuOb2_Gjw" method="POST">
<input type="text" name="entry.0.single" value="" >
<input type="text" name="entry.1.single" value="">
<input type="submit" name="submit" value="Submit">
</form>
Any help would be greatly appreciatedYES!!!!!!!!!!!!!!!!!!!!!! This did it final code is as follows thanks for you help
<cfhttp method="POST" url="https://spreadsheets.google.com/formResponse?key=tlo4FjygqMuUGmvuOb2_Gjw" useragent="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.2; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)">
<cfhttpparam type="Formfield" name="entry.0.single" value="final test">
<cfhttpparam type="Formfield" name="entry.1.single" value="final test">
<cfhttpparam type="Formfield" name="submit" value="Submit">
</cfhttp>
Man this is great! and has eliminated half my database requirements! now only if you could pull the results back out! -
How to get server hostname and port from web form
Hi All,
I need to find out server hostname and port number
from 9i form.
That is if the form was called via:
http://myserver.com:1234/f90servlet?form=test,
i would like to call some
GET_XXX_PROPERTY(SERVER_HOSTNAME) that would return
myserver.com
and
GET_XXX_PROPERTY(SERVER_PORT) that would return
1234
or alternatively
GET_XXX_PROPERTY(SERVER_URL) that would return
complete URL, so that i can parse it myself.
Does anything like this exist? If not,would be
possible to get that information from any Java
function via java importer?
BR,
Robert
BR,
RobertRobert,
I'd add the code as a Java Bean in Forms and get this information from the Forms request URL.
Add the following bean to a Canvas and make it a size of 1x1 pixel so taht it appears hidden
import java.applet.Applet;
import java.net.URL;
import oracle.forms.handler.IHandler;
import oracle.forms.properties.ID;
import oracle.forms.ui.VBean;
public class FrmRequestInfo extends VBean
public static final ID pGetPort = ID.registerProperty("GET_PORT");
public static final ID pGetHost = ID.registerProperty("GET_HOST");
public static final ID pGetProtocol = ID.registerProperty("GET_PROTOCOL");
private String _host;
private String _port;
private String _protocol;
private URL FormsURL;
Applet m_applet;
/*Forms settings*/
IHandler m_handler;
public FrmRequestInfo()
public final void init (IHandler handler)
super.init(handler);
m_handler = handler;
// get the forms applet handler
m_applet = m_handler.getApplet();
// initialize cookie domain to the same domain that runs Forms
// Services
FormsURL = m_applet.getDocumentBase();
_host = FormsURL.getHost();
_port = new Integer(FormsURL.getPort()).toString();
_protocol = FormsURL.getProtocol();
public Object getProperty(ID p0)
if (p0 == pGetHost)
return _host;
else if (p0 == pGetPort)
return _port;
else if (p0 == pGetProtocol)
return _protocol;
else
return super.getProperty(p0);
To get the port number you call
VarcharVariable_Port := get_custom_property('beanblock.beanname',1,'GET_PORT');
for the hostname
VarcharVariable_Host:= get_custom_property('beanblock.beanname',1,'GET_HOST');
Frank
Ps.: just wrote the bean on the fly, without testing - but I am positive that it works as similar functionality works for me in other beans. -
How to Edit a custom HCM form directly after Employee selection?
Hi All,
As per the requirement, the Manager should have a tab in Portal called "Forms and Processess" and on click of that he should see a Page with few hyperlinks . Each hyperlink is the name of a HCM Form.
So, the Manager will click on one of them to start a particular form. ex. One time payment
After clicking, he should have the Employee search result having Direct reports under STEP "Select Employees".. But the next STEP has to be "Edit" instead of "Select Process" and the Form "One time payment" should directly Open for him to work on.
Please help me providing the relevant information and the approach. Let me know if you need any additional information.
Regards
DK
Edited by: DIPENDRA MOHANTY on Mar 11, 2011 12:05 AM
Edited by: DIPENDRA MOHANTY on Mar 11, 2011 12:06 AMwe do have selection of employees or search and you can choose a form?
If you want to change it, then only option is WD ABAP Iviews custom
But i still didnt fathom the need of teh approach above, does the standard doesnt meet the requurement? Please check it
which is pretty flexible -
How to make a form direct to different pages depending on which answers you select?
I am creating an online application. Before the user can get access to the application, I want to create a pre-qualification form. I need to create it to where if they answer a certain form field one way, it will take them to a page that says "Sorry, we are not accepting applications at this time" and if they answer the form field another way, it will take them to the Application Form to fill out.
How do I set it up to where when they hit submit, it directs them to the appropriate page?
I have no idea what this is called and what I should search for online to find help on this matter.
Thanks,
MichaelHi
First you need to decide on which scripting language you are going to use and any other requirements you may have.
Simply put, (and this is very simply put) you would filter the answers using your scripting language using a if/else or switch statement to decide if to redirect, (or not).
PZ -
How to Use Com ports on oracle forms
Hai,
how we can use com port to communicate to the device like Pole Display(output device) or fixed scaneer (input device) having serial port(Input device) in oracle forms.
Thanks & regardsFor web forms you will probably need to create a PJC and/or use webutil and make calls to the device's API.
-
Reading Data from serial (Comm) Port in developer200 forms 6i
Dears,
I have developed an application using Dev2k forms 6i.
I need to read data from a device (weigh bridge) that is attached to PC on comm port.
scenario: when a vehicle comes on the Weigh bridge it calculates its weight and send it to the PC on serial port.
on when-button-pressed event I want to get data into a text field on form.
If any one has developed such form please help me.
Thanks and regardsyou can:
create java class -> wrap plsql -> invoke plsql-code from button trigger
googling java class instead of creating =) -
Changing port that number Forms services listens on
I currently starts my forms like follows:
http://<computer name>:8889/forms/frmservlet?<cgicmd.dat map entry string>
I would like to change the port to something other than 8889, what do I need to do to get this changed? Is it just changing it in a bunch of configuration files then shutting some services down and restarting them to get them to gather the new settings?
FYI: I'm using OAS 10g v2 on XP Pro...
Thank you in advance,
Wes Gibbs
[email protected]Yes.. that's the way in your deplyment.
For others interested, when Apache/Webcache is the one that listen the requets, you should change the port via Enterprise Manager following this docs
http://download-east.oracle.com/docs/cd/B14099_19/core.1012/b13995/ports.htm#i1032441
Maybe you are looking for
-
How to insert a file in to the table.
hi all, i'm new to lob types. my requirement is to store a document or excel spreadsheet or image to a single column and will be known at run time. i'm using java and oracle xe. 1. lob has 4 types (blob, clob, nlob and bfile). which one will be best
-
Define Control for Automatic Creation of Pick HUs
We are using full blown HU management and in the customizing for the Control for Automatic Creation of Pick HU's you define the packaging materials to use. The help in from of this customizing says that if this is blank the system attempts to find a
-
Problem in Opening Workflow Interface.
Hi, I have installed Stellent 7.5.1 All the components are working fine, if i'm trying to open Workflow i'm getting pop saying this message "unable to start the application workflow. Failed to response from host Server returned HTTP response code:502
-
Hello, i made a mistake when i was login in to the appstore making my apple ID, and i wrote my e-mail wrong, i can´t use my itune card again, i can´t enter because i don´t know what e-mail i wrote and i can´t verify in my e mail account, i wrote some
-
Customize the default COFFEE MUG icon provided by java
How can i change the default coffee mug icon provided in the Frames using the JFrame classes.I do need a customized icon for my application.Though there exista an setIcon method , but its usuable only to the JInternalFrame classes. Help required ???