Template of a jtextfield

Hi,
I hope this is a simple problem but I am trying to default jtextfields to certain templates like " / / " for a date and " - - " for phone numbers and 0.00 for dollar amounts. I have looked and looked for examples but find none. Is it because this is SO simple that everyones knows except me ? I hope not :)
Thanks in advance.

If you're using version 1.4 of the JDK have a look at the JFormattedTextField component located at http://java.sun.com/j2se/1.4/docs/api/javax/swing/JFormattedTextField.html. Otherwise you'll have to roll your own. But fear not, Claude Duguay already went through the trouble of creating just such a widget. Have a look at his Java Developers Journal article JMaskField located at http://www.sys-con.com/java/article.cfm?id=416

Similar Messages

  • JTextField Question

    Hey guys,
    I've google'd all over the place and I'm still not getting what I want, hopefully you can help. :)
    I'm trying to use a gui for class assignment to make it a little more flashy. The first thing I'm trying to do before I even start coding is setup a text field at the bottom of my JFrame that by default displays a certain string. I made this original program with command line input read in the directory for files from a directory.txt, since I have a gui I added a JTextField to allow users to change that instead of prompting. So basically, I read the string in from the file and set it to a variable called fileLocation. I then want my program to change the text displayed in that text box to the String fileLocation that is being used in my program. I found some help online that used the .setText command however, I keep getting a NULL error. The fileLocation will print out just fine to the command line so I know the variable has the string inside it set I just can't figure out what I need to setup to allow my text field to display it. Any advice?
    I'm decent with most Java but sadly, this is probably my first real GUI I've tried to setup, so I'm a complete newbie when it comes to Swing.
    I'll paste the code below, most of it is automatically being generated via NetBeans 6.9.1.
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    * IRMainForm.java
    * Created on Oct 26, 2010, 8:31:13 PM
    * @author Andrews
    public class IRMainForm extends javax.swing.JFrame {
        /** Creates new form IRMainForm */
        public IRMainForm() {
            initComponents();
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
        private void initComponents() {
            dirTextBoxLabel = new javax.swing.JLabel();
            libDirectoryField = new javax.swing.JTextField();
            jButton1 = new javax.swing.JButton();
            IRmainMenu = new javax.swing.JMenuBar();
            mainMenuFile = new javax.swing.JMenu();
            fileAbout = new javax.swing.JMenuItem();
            fileExit = new javax.swing.JMenuItem();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Information Retrieval");
            dirTextBoxLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
            dirTextBoxLabel.setText("Document Library:");
            libDirectoryField.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    libDirectoryFieldActionPerformed(evt);
            jButton1.setText("jButton1");
            mainMenuFile.setText("File");
            fileAbout.setText("About");
            mainMenuFile.add(fileAbout);
            fileExit.setText("Exit");
            fileExit.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    fileExitActionPerformed(evt);
            mainMenuFile.add(fileExit);
            IRmainMenu.add(mainMenuFile);
            setJMenuBar(IRmainMenu);
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addComponent(dirTextBoxLabel)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(libDirectoryField, javax.swing.GroupLayout.DEFAULT_SIZE, 421, Short.MAX_VALUE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jButton1))
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(344, Short.MAX_VALUE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton1)
                        .addComponent(libDirectoryField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(dirTextBoxLabel)))
            pack();
        }// </editor-fold>
        private void fileExitActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:
            System.exit(1);
        private void libDirectoryFieldActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:
        * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new IRMainForm().setVisible(true);
            readDirectory();
        }//end main
        // Variables declaration - do not modify
        private javax.swing.JMenuBar IRmainMenu;
        private javax.swing.JLabel dirTextBoxLabel;
        private javax.swing.JMenuItem fileAbout;
        private javax.swing.JMenuItem fileExit;
        private javax.swing.JButton jButton1;
        protected static javax.swing.JTextField libDirectoryField;
        private javax.swing.JMenu mainMenuFile;
        // End of variables declaration
        static String fileLocation;
        static String indexFile;
        static String permFile;
        static String rankFile;
        static String distFile;
        //static File folder = new File(fileLocation);
        //static File[] listOfFiles = folder.listFiles();
        static ArrayList<String> indexList = new ArrayList<String>();
        static ArrayList<String> permList = new ArrayList<String>();
        static ArrayList<String> rankList = new ArrayList<String>();
        static ArrayList<String> distList = new ArrayList<String>();
        public static void readDirectory(){
            try{
                String thisDir = new File(".").getCanonicalPath();
                BufferedReader br = new BufferedReader( new FileReader(
                    thisDir + "\\data\\directory.txt"));
                fileLocation = br.readLine();
                indexFile = thisDir + "\\data\\index.txt";
                permFile = thisDir + "\\data\\permdex.txt";
                rankFile = thisDir + "\\data\\rankdex.txt";
                distFile = thisDir + "\\data\\distdex.txt";
            }catch(Exception e){e.printStackTrace();};
            libDirectoryField.setText(fileLocation);
        }//end readDirectory
    }//end classThanks,
    Kyle

    Static only because NetBeans complained about it. So I thought maybe it would fix my NullPointerException. I was trying to call that method as soon as the application was started. So I called the method from main. Is there a problem in calling something like this from main while using Swing?
    Basically, I have a directory in a text file. I read that directory and store it to the string fileLocation. Then I want to set the jTextField to have inside it the text of "fileLocation". I know it's executing the readDirectory method and reading in the text and storing it to fileLocation. Now I want to have the jTextField use the fileLocation string as it's text. Could you direct me towards that direction?

  • JTextfield  listening for changes from other class

    Hi,
    Assuming I have a Jtextfield in one of the class1 extend Jframe,
    how do I update the jtextfield so that it could up make accessible by other class and continuously updated to reflect the input for value rom another class2.
    In other words very much similar to the observable model view concept
    class 1 may be look like
    private void initComponents() {
    jTextField1 = new javax.swing.JTextField();
    jButton1 = new javax.swing.JButton();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    jTextField1.setEditable(false);
    class 2 may be look similar to the following
    public void out_1(){
    setStop1("N");
    for (int i=1;i<100;i++){
    class_1.getJTextField1().setText(String.valueOf(i)); // System.out.println(i);
    setOuti(i);
    setStop1("N");

    HI,
    I have attempted with the following coding , test 1 the source display generated using Netbeans GUI , t est2 the worker code ,and mybean the bean , so far nothing seems to work .
    I have not try the threaded swing concept as I am not familar with the concurrency but i am not sure whether propertylistener will do the job or not
    In summary , list of method employed are :
    binding the jtextfield1 to a bean,
    jtextfield add document listener ,
    Coding objective
    1. Test 1 defined jtexfield1 and jbutton
    2 Jbutton added actionlistener , where upon click,
    Execute Test 2 which will assign a series of integer to the bean , own setters & getters, Output is achieved via Test 1 jtextfield1 supposingly to display all the running number from 1 to 99 continuously until the test2 out_1 method finished the execution
    Anyone could provide the assistance .
    Thank
    * Test_1.java
    * Created on July 25, 2007, 9:23 PM
    package sapcopa;
    import java.beans.PropertyChangeListener;
    import javax.swing.event.DocumentEvent;
    import javax.swing.event.DocumentListener;
    import javax.swing.text.Document;
    import sapcopa.MyBean.*;
    public class Test_1 extends javax.swing.JFrame {
    /** Creates new form Test_1 */
    // private Test_2 t2=new Test_2();
    private String input_txt;
    public Test_1() {
    myBean1=new MyBean();
    myBean1.addPropertyChangeListener(new java.beans.PropertyChangeListener(){
    public void propertyChange(java.beans.PropertyChangeEvent evt) {
    bean_chg(evt);
    initComponents();
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
    myBean1 = new sapcopa.MyBean();
    jTextField1 = new javax.swing.JTextField();
    jTextField1.getDocument().addDocumentListener(new MyDocumentListener());
    jButton1 = new javax.swing.JButton();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    jTextField1.setEditable(false);
    jTextField1.setText(myBean1.getRecord_Process());
    jTextField1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
    public void propertyChange(java.beans.PropertyChangeEvent evt) {
    txt1_chg(evt);
    jButton1.setText("jButton1");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    But1(evt);
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(19, 19, 19)
    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addGroup(layout.createSequentialGroup()
    .addGap(32, 32, 32)
    .addComponent(jButton1)))
    .addContainerGap(131, Short.MAX_VALUE))
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addContainerGap()
    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(21, 21, 21)
    .addComponent(jButton1)
    .addContainerGap(216, Short.MAX_VALUE))
    pack();
    }// </editor-fold>//GEN-END:initComponents
    private void txt1_chg(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_txt1_chg
    // TODO add your handling code here:
    //myBean1=new MyBean();
    try {
    jTextField1.setText(myBean1.getRecord_Process());
    } catch (Exception e){
    e.printStackTrace();
    }//GEN-LAST:event_txt1_chg
    private void bean_chg(java.beans.PropertyChangeEvent evt){
    jTextField1.setText(myBean1.getRecord_Process());
    private void But1(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_But1
    //getJTextField1().getDocument().addDocumentListener(new MyDocumentListener());
    Test_2 t2=new Test_2();
    t2.out_1();
    try{
    System.out.println("Button 1 mybean->"+myBean1.getRecord_Process());
    } catch (Exception e){
    e.printStackTrace();
    // TODO add your handling code here:
    }//GEN-LAST:event_But1
    * @param args the command line arguments
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new Test_1().setVisible(true);
    public javax.swing.JTextField getJTextField1() {
    return jTextField1;
    public void setJTextField1(javax.swing.JTextField jTextField1) {
    this.jTextField1 = jTextField1;
    class MyDocumentListener implements DocumentListener {
    final String newline = "\n";
    public void insertUpdate(DocumentEvent e) {
    // updateLog(e, "inserted into");
    String vstr=myBean1.getRecord_Process().toString();
    jTextField1.setText(vstr);
    public void removeUpdate(DocumentEvent e) {
    //updateLog(e, "removed from");
    String vstr=myBean1.getRecord_Process().toString();
    jTextField1.setText(vstr);
    public void changedUpdate(DocumentEvent e) {
    //Plain text components don't fire these events.
    String vstr=myBean1.getRecord_Process().toString();
    jTextField1.setText(vstr);
    public void updateLog(DocumentEvent e, String action) {
    Document doc = (Document)e.getDocument();
    int changeLength = e.getLength();
    // jTextField1.setText(String.valueOf(changeLength));
    String vstr=myBean1.getRecord_Process().toString();
    jTextField1.setText(vstr);
    public String getInput_txt() {
    return input_txt;
    public void setInput_txt(String input_txt) {
    this.input_txt = input_txt;
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JTextField jTextField1;
    private sapcopa.MyBean myBean1;
    // End of variables declaration//GEN-END:variables
    * Test_2.java
    * Created on July 25, 2007, 9:26 PM
    * To change this template, choose Tools | Template Manager
    * and open the template in the editor.
    package sapcopa;
    import sapcopa.MyBean.*;
    public class Test_2 {
    private Test_1 t1=new Test_1();
    private int outi;
    private String stop1;
    MyBean mybean;
    /** Creates a new instance of Test_2 */
    public Test_2() {
    public void out_1(){
    setStop1("N");
    mybean=new MyBean();
    for (int i=1;i<100;i++){
    mybean.setRecord_Process(String.valueOf(i));
    setOuti(i);
    setStop1("N");
    setStop1("Y");
    public int getOuti() {
    return outi;
    public void setOuti(int outi) {
    this.outi = outi;
    public String getStop1() {
    return stop1;
    public void setStop1(String stop1) {
    this.stop1 = stop1;
    * MyBean.java
    * Created on July 24, 2007, 12:00 AM
    * To change this template, choose Tools | Template Manager
    * and open the template in the editor.
    package sapcopa;
    import javax.swing.JTextField;
    public class MyBean {
    /** Creates a new instance of MyBean */
    public MyBean() {
    * Holds value of property record_Process.
    private JTextField txt_rec_process;
    private String record_Process;
    * Utility field used by bound properties.
    private java.beans.PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);
    * Adds a PropertyChangeListener to the listener list.
    * @param l The listener to add.
    public void addPropertyChangeListener(java.beans.PropertyChangeListener l) {
    propertyChangeSupport.addPropertyChangeListener(l);
    * Removes a PropertyChangeListener from the listener list.
    * @param l The listener to remove.
    public void removePropertyChangeListener(java.beans.PropertyChangeListener l) {
    propertyChangeSupport.removePropertyChangeListener(l);
    * Getter for property record_Process.
    * @return Value of property record_Process.
    public String getRecord_Process() {
    return this.record_Process;
    * Setter for property record_Process.
    * @param record_Process New value of property record_Process.
    public void setRecord_Process(String record_Process) {
    String oldRecord_Process = this.record_Process;
    this.record_Process = record_Process;
    propertyChangeSupport.firePropertyChange("record_Process", oldRecord_Process, record_Process);
    * Holds value of property rec_Match.
    private String rec_Match;
    * Getter for property rec_Match.
    * @return Value of property rec_Match.
    public String getRec_Match() {
    return this.rec_Match;
    * Setter for property rec_Match.
    * @param rec_Match New value of property rec_Match.
    public void setRec_Match(String rec_Match) {
    String oldRec_Match = this.rec_Match;
    this.rec_Match = rec_Match;
    propertyChangeSupport.firePropertyChange("rec_Match", oldRec_Match, rec_Match);
    public JTextField getTxt_rec_process() {
    return txt_rec_process;
    public void setTxt_rec_process(JTextField txt_rec_process) {
    JTextField oldTxt_rec_process=this.txt_rec_process;
    this.txt_rec_process = txt_rec_process;
    propertyChangeSupport.firePropertyChange("txt_rec_process", oldTxt_rec_process, txt_rec_process);
    }

  • JTextfield: 0 thru 999999999

    Hi,
    I did a this Panel here, at the bottom there is a textfield where I don't like to allow (at typing in) other entries than figures between 0 and 999999999. How can I do that. I think perhaps it might be possible to do it in the CheckTextField class at the end?!
    If it might be possible, I'd like to have the textfield just 9 digits broad and like the separators a bit shorter (5 points or whatever) - how can I do this?
    thx
    package transform;
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.BorderFactory;
    import javax.swing.BoxLayout;
    import javax.swing.ButtonGroup;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.JSeparator;
    import javax.swing.JTextField;
    import javax.swing.text.AttributeSet;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.PlainDocument;
    import transform.SeparatorPanel.TextFieldLimiter;
    * @author user
    * Window - Preferences - Java - Code Style - Code Templates
    public class FindNameLinePanel extends StdOptionPanel {
         private LanguageSupport lang;
         private JRadioButton[] rbYesNo;
         private JTextField tfLineOfColNames;
         private int iSelectedIndex;
         public FindNameLinePanel(LanguageSupport newLang){
              super(newLang);
              drawFindNameLinePanel();
         private FindNameLinePanel drawFindNameLinePanel(){
              this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
              this.add(new JSeparator());
              // question y/n
              JPanel jpRead = new JPanel();
              jpRead.setLayout(new BorderLayout());
              JLabel read = new JLabel("Does the Input Table contain a Row of Column Names?");
              jpRead.add(read, BorderLayout.WEST);
              this.add(jpRead);
              // radiobuttons y/n
              String[] szYesNo = {"no", "yes"};
              JPanel jpYesNo = new JPanel(new GridLayout(2,4));
              rbYesNo = new JRadioButton[szYesNo.length];
              ButtonGroup rbYesNoGroup = new ButtonGroup();
              final JLabel labelWhichLine = new JLabel("Which line contains the Column Names?");
              tfLineOfColNames = new JTextField(9);
              tfLineOfColNames.setDocument(new CheckTextField(9));
              tfLineOfColNames.setEnabled(false);
              labelWhichLine.setEnabled(false);
              for(int cnt=0; cnt<szYesNo.length; cnt++){
                   iSelectedIndex = cnt;
                   rbYesNo[cnt] = new JRadioButton(szYesNo[cnt]);
                   rbYesNoGroup.add(rbYesNo[cnt]);
                   rbYesNo[cnt].addActionListener(new ActionListener(){
                        public void actionPerformed(ActionEvent ae){
                             if((ae.getSource()).equals(rbYesNo[0])){
                                  // Options.bContainsRowOfColNames = false
                                  labelWhichLine.setEnabled(false);
                                  tfLineOfColNames.setEnabled(false);
                             }else if((ae.getSource()).equals(rbYesNo[1])){
                                  // Options.bContainsRowOfColNames = true
                                  labelWhichLine.setEnabled(true);
                                  tfLineOfColNames.setEnabled(true);
                   jpYesNo.add(rbYesNo[cnt]);
                   // set default 0. option set (yes)
                   if(cnt==0){
                        rbYesNo[cnt].setSelected(true);
              this.add(jpYesNo);
              JPanel jpWhichLine = new JPanel();
              jpWhichLine.setLayout(new GridLayout(1,2));
              jpWhichLine.add(labelWhichLine, BorderLayout.WEST);
              JPanel jpTextField = new JPanel(new FlowLayout());
              jpTextField.add(tfLineOfColNames);
              jpWhichLine.add(jpTextField);
              this.add(jpWhichLine);
              this.add(new JSeparator());
              return this;
          * inner class CheckTextField
         class CheckTextField extends PlainDocument{
              private int iMaxChar = -1;
              public CheckTextField(int len){iMaxChar = len;}
              public void insertString(int iOffset, String szIn, AttributeSet as) throws BadLocationException{
                     if((szIn != null) && (iMaxChar > 0) && (this.getLength() + szIn.length() > iMaxChar)){
                          java.awt.Toolkit.getDefaultToolkit().beep();
                          return;
                     super.insertString(iOffset, szIn, as);
    }

    between 0 and 999999999.Use a JFormattedTextField

  • And/or if statement in rtf templates.

    Hi all,
    I'm using XML Publisher 4.5.
    I have created a word template file (rtf) for my reports. I need to be able to show some content in the template file by using and and/or if statement.
    fx. <?if:doc_type='STANDARD'?> OR <?if:doc_type='DEFAULT'?>
    How can I do this?
    In advance thank you.
    Best regards
    Kenneth

    Hi D,
    Thank you for your answer.
    I have seriously thought about that solution; but I don't think it's a smart way to do it.
    If i do it like that, i need to copy the whole table and paste it inside the if statements.
    I have two xml elements that I need to make the decisions on. POH_PO_TYPE & CP_RELEASE_NUM.
    POH_PO_TYPE can be: STANDARD, RELEASE or BLANKET.
    CP_RELEASE_NUM can be: '' or N
    If POH_PO_TYPE is RELEASE AND CP_RELEASE_NUM is not ''
    OR POH_PO_TYPE is STANDARD
    OR POH_PO_TYPE is BLANKET AND CP_RELEASE_NUM is ''
    THEN show table (which contains the whole PO).
    It shall show the content of the PO in any of these cases.
    BR Kenneth

  • How to round numbers in RTF templates?

    Hello!
    I'm using BI Publisher for Word (Oracle BI Publisher Builder for Word 10.1.3.4.1) to build a template to my BI Publisher report and I want to calculate this:
    avg(X)/(avg(Y)-avg(Z)/0.9)
    The result should be rounded to 3 places.
    I tried:
    <?(sum(X) div count(X)) div ((sum(Y) div count(Y)) - (sum(Z) div count(Z)) div 0.9)?>
    and I obtained the expected result.
    But, when I try to round in this way:
    <?xdofx:round((sum(X) div count(X)) div ((sum(Y) div count(Y))-(sum(Z) div count(Z)) div 0.9),3)?>
    I obtain 0 when is expected other value.
    Can someone help me?

    Hi ,
    You can select the number format in RTF template .Double click the Form Field select
    Type :Number
    Number Format :#,##0.000
    Thanks.

  • Relative path for images in RTF templates

    Hi everybody!
    When I insert an image in a RTF template, I put its path into the web dialog, in order to see correctly the picture when I open the report from the xmlp server, in this way: url:{"http://servername/analytics/res/Images/image.bmp"}
    How can I make this path relative, in order to see the images even if the server name changes?
    Thanks so!
    Francesco

    Hi Tim,
    I am using BIP 10.1.3.3.2. I am able to access system variable CURRENT_SERVER URL.
    Steps:
    <?param@begin:CURRENT_SERVER_URL?>
    <xsl:value-of select="$ CURRENT_SERVER_URL"/>
    CURRENT_SERVER_URL is getting printed in BI Publisher. Value displayed is http://xx4697.xxx.co.in:9704/xmlpserver.
    Now we are importing xsl into RTF template. File aaa.xsl is stored at [BIP_Installation_Directory\oc4j_bi\j2ee\home\default-web-app]
    We have hardcoded the path for XSL in RTF. The path is <?import: http://xx4697.xxx.co.in:9704/aaa.xsl?>
    As we want to set dynamic path we changed hardcoded xsl path to <?import: {$CURRENT_SERVER_URL}/../aaa.xsl?> but it is not working. Sometimes BIP is taking local path of MyDocuments folder and sometimes Desktop path. If I put that XSL file in MyDocuments folder or Desktop, it is working fine. But ideally it should refer [BIP_Installation_Directory\oc4j_bi\j2ee\home\default-web-app] path...
    Thanks,
    Amit D

  • Help with math / calculations in RTF templates

    Greetings,
    I know that there are math capabilities in the templates... I've seen the code samples in the Core Components guide.
    What this doesn't tell you is WHERE these things would go in a template. And... that... is my question.
    We are just starting to use BIP in conjunction with JDE EnterpriseOne (8.12, tool set 8.97.12). For our first attempt we're creating our template over a new report.
    I have a template where I sum two different repeating values (through the normal BI Properties) and place these values in two separate cells in a table. I want to sum the two of these together for a "grand" total.
    I've seen the "examples" but they really aren't very helpful. The xsfo, etc. for doing addition is fine, but WHAT are the values to add and WHERE does the code go?
    If anyone has done something like this or has experience using the embedded code I would appreciate hearing from you.
    Thanks in advance

    I see what you are saying about the spaces... but it made no difference... still got the error.
    The XML file is too large and convoluted to be pasted here.
    With reqards to the following snippet:
    COLA = <?sum(current-group()/COLA)?>
    COLB = <?sum(current-group()/COLB)?>
    Summ== <?sum(current-group()/COLA) + sum(current-group()/COLB)?>
    Where does THIS code go?
    Here is the error detail:
    ConfFile: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\xdoconfig.xml
    Font Dir: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\fonts
    Run XDO Start
    Template: C:\Documents and Settings\jdenison\My Documents\BIP Templates\R5642001\R5642001_TEMPLsave.rtf
    RTFProcessor setLocale: en-us
    FOProcessor setData: C:\Documents and Settings\jdenison\My Documents\BIP Templates\R5642001\R5642001_RICE0001_D081029_T144059683.xml
    FOProcessor setLocale: en-us
    java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
         at RTF2PDF.runRTFto(RTF2PDF.java:629)
         at RTF2PDF.runXDO(RTF2PDF.java:439)
         at RTF2PDF.main(RTF2PDF.java:289)
    Caused by: oracle.xdo.parser.v2.XPathException: Extension function error: Method not found 'sum'
         at oracle.xdo.parser.v2.XSLStylesheet.flushErrors(XSLStylesheet.java:1534)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:521)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:489)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:271)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:155)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:192)
         ... 15 more

  • Grouping and Decimal characters in rtf templates.

    Hi guys and girls,
    I’m really struggling with a problem here regarding the decimal characters for the prices in my output.
    I'm using XML Publisher 5.6.3.
    My goal is to control the grouping and decimal character from my template.
    The numbers in the XML data file can either be 10.000,00 or 10,000.00. The format is handled by the users nls_numeric_characters profile option.
    The output of the template shall be based on the locale and not the data generated by Oracle Reports. For example: Reports to US customers shall show the numbers in the following format 10,000.00. Reports to our European customers shall show the numbers in this format 10.000,00.
    How can I achieve this in my templates? Can it be achieved at all?
    Thank you in advance.
    Kenneth Kristoffersen
    Edited by: Kenneth_ on May 19, 2009 1:30 AM

    Hi,
    Thank you for your reply.
    The problem is that the report is generating the output based on the users profile option nls_numeric_characters.
    I have tried to override the users profile option in the before report trigger without any luck. I can alter selects so the query gets the numbers in the right format but then I would have to go through all queryes and reports which seem a bit wrong? Especially for the standard Oracle reports.
    BR Kenneth

  • Resetting Header and Footer in RTF templates

    Hi,
    I developed an RTF template (template 1). This template contains start:body and end body for printing the header and footer in all pages. After printing this template then i have to call another template(template 2) from this. I called the template (template 2) using call statement. But the probelm is that the header and footer of template1 is printed in the output of template2 .
    I dont want to print this header and footer for template 2. Can anyone please suggest me in doing this. I placed start:body and end body in the second template with the assumption that 1st template's header and footer will be overwritten. But if i preview then am getting the error
    Font Dir: C:\Program Files\Oracle\XML Publisher Desktop\Template Builder for Word\fonts
    Run XDO Start
    RTFProcessor setLocale: en-us
    FOProcessor setData: C:\Documents and Settings\kpoda\Desktop\Invoice Printing Efficiencies\Sample XML Data\Sample Output4.xml
    FOProcessor setLocale: en-us
    each
    Please sugget.
    Thanks

    Hi,
    Do you have two templates (template1 & template2) that you want to display in the same document where the pages for template1 has one set of header and footers; and template2 has another set of header and footer?
    If that is the case you can simply create a new section in your rtf template so you have section1 and section2.
    In the body of section1 you call template1 and template2 in the body of section2.
    You can then have different header and footers for the two templates in the same document.
    BR Kenneth

  • Can we use IF statement in PDF templates

    Hi,
    I developed a PDF template. I need to underline ang bold the records based on a specific condition. Can we use IF conditon in PDF templates. Please suggest.
    Thanks...

    Billy  Verreynne  wrote:
    The case syntax is a bit funny though as there's not a single condition evaluation (like a DECODE or case structs from some other languages).
    This is what I would expect a typical case struct to look like - evaluating a single condition:
    case <condition>
    when <value-1> then return <result-1>
    when <value-n> then return <result-n>
    else
    return <return-z>
    end
    ?:| You mean like this...?
    SQL> ed
    Wrote file afiedt.buf
      1  select empno, ename, deptno
      2        ,case deptno
      3           when 10 then 'This is Department 10'
      4           when 20 then 'And department 20'
      5           when 30 then 'And of course department 30'
      6         else
      7           'Blimey it is something else!'
      8         end as dept_desc
      9* from emp
    SQL> /
         EMPNO ENAME          DEPTNO DEPT_DESC
          7369 SMITH              20 And department 20
          7499 ALLEN              30 And of course department 30
          7521 WARD               30 And of course department 30
          7566 JONES              20 And department 20
          7654 MARTIN             30 And of course department 30
          7698 BLAKE              30 And of course department 30
          7782 CLARK              10 This is Department 10
          7788 SCOTT              20 And department 20
          7839 KING               10 This is Department 10
          7844 TURNER             30 And of course department 30
          7876 ADAMS              20 And department 20
          7900 JAMES              30 And of course department 30
          7902 FORD               20 And department 20
          7934 MILLER             10 This is Department 10
    14 rows selected.

  • Error: If statement in RTF template in BI Buplisher

    All,
    Can some help me to solve the below issue. Please find the code below one which is extracted from the water mark block in RTF template.
    <?if:(sum(//g_data[fiscal_period=/asset/p_fiscal_period]/q2_op_plan_ytd))>0?><?( sum(//g_data[fiscal_period=/asset/p_fiscal_period and q1_task_top="Opex"]/q1_cost_plan_ytd) ) div
    *(sum(//g_data[fiscal_period=/asset/p_fiscal_period]/q2_op_plan_ytd) ) ?><?end if?>*
    I wanted to apply if condition to the code after the " div " as if I get any value for q2_op_plan_ytd as zero the it should replace with 1.
    Please help me on this

    Solution found.

  • Complex if statement in rtf template?

    Hello,
    I want to build an if statement in rtf template, the idea is like:
    <?if:address!='' and phone!=''?>
    <?end if?>
    what's the correct way to do it if it is possible? Thanks in advance!
    Shichao

    stevencallan wrote:
    Conditional statements, in the user guide or the report developer guide, depending on the version you use.
    Page 7-62 in the 10.1.3.2 user guide:
    Use an if statement to define a simple condition; for example, if a data field is a specific value.
    1. Insert the following syntax to designate the beginning of the conditional area.
    <?if:condition?>
    2. Insert the following syntax at the end of the conditional area: <?end if?>.
    For example, to set up the Payables Invoice Register to display invoices only when the Supplier name is "Company A", insert the syntax <?if:VENDOR_NAME='COMPANYA'?> before the Supplier field on the template.
    Enter the <?end if?> tag after the invoices table.Thanks for the reply. But what about two conditions in one if statement? That was my question. :)
    Shichao

  • SharePoint Foundation 2013 - Wiki Page Template

    Hi there,
    is there a way to have templates for Wiki pages with SharePoint 2013 Foundation? We have a specific layout and want to have it on every new wiki page.
    Thank you!

    Hi 
    pls check this
    http://mosshowto.blogspot.in/2011/11/custom-template-wiki-foundation_01.html
    https://social.technet.microsoft.com/Forums/sharepoint/en-US/ae453550-8503-4531-b4cf-50a4d157e36c/is-it-possible-to-create-wiki-page-templates-with-sharepoint-2010-foundation?forum=sharepointcustomizationprevious
    Please remember to click 'Mark as Answer' on the answer if it helps you

  • Template Builder (XML Publisher Report) for Open Office

    Hi,
    Do any body has any idea, if can have template builder for Open Office also, My company has un installed MS Office from my machine, and they dont have license now.
    Thanks and Regards,
    Nidhi Gupta

    Hi All,
    I think Oracle can provide a BI Publisher Software for the Open Office, since the licencing cost for MS Office is very high.
    "OpenOffice Writer" is a open source alternative to MS Word and can be used on Linux. If I am using Linux OS and have to work on BI Publisher templates then certainly I will have to install Windows or use WINE ( I donno how it works but heard of it)
    Other Oracle tools such as SQL Developer, etc are platform independent.. then why only BI Publisher is limited for windows/MS Office.
    Tim,
    Can you please answer..
    I think it should integrate with OpenOffice too!!
    Regards,
    - Ejaz
    [email protected]

Maybe you are looking for