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 Kona

    hello,
    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&regards
    praveen

    Hi 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 appreciated

    YES!!!!!!!!!!!!!!!!!!!!!! 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,
    Robert

    Robert,
    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 AM

    we 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,
    Michael

    Hi
    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 & regards

    For 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 regards

    you 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

  • Change e-mail of apple ID

    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 ???