Restricting an expandable form to a Sub Form

With the help of the forum I was able to create a 6 column form with expandable rows based on a button click. The form is only designed to be one page and there are a few text boxes at the bottom of the page.
How can I restrict the form's growth to stay within its subform, which I have sized to end just above the text boxes?
As it stands now you can continue adding rows that continue right over the text boxes to the end of the page.
Thanks,

Thanks Paul,
With the subform selected, in looking under the Binding tab the "Repeat table for each data item", the option is disabled.
Is there a setting I'm missing to enable it?

Similar Messages

  • Error trying to convert float to expanded form for a check application

    I am writing a program to generate a check, but when it tries to parse the Float (netpay) into a String in expanded form (e.g. 1.23 becomes 1 dollar and twenty-three cents) it throws weird arrayOutOfBounds exceptions
    * Check.java
    * Created on January 23, 2008, 9:55 AM
    package payrollapplication;
    public class Check extends javax.swing.JFrame {
    public Employee emp;
    String expanded;
    /** Creates new form Check */
    boolean debug = true;
    public Check() {
    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 ">
    private void initComponents() {
    date = new javax.swing.JLabel();
    jPanel1 = new javax.swing.JPanel();
    name = new javax.swing.JLabel();
    amtexpanded = new javax.swing.JLabel();
    amtnum = new javax.swing.JLabel();
    empid = new javax.swing.JLabel();
    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    setTitle("EMP Name Here");
    setAlwaysOnTop(true);
    setCursor(new java.awt.Cursor(java.awt.Cursor.CROSSHAIR_CURSOR));
    setResizable(false);
    addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowActivated(java.awt.event.WindowEvent evt) {
    formWindowActivated(evt);
    date.setText("DATE");
    jPanel1.setBackground(new java.awt.Color(102, 102, 0));
    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 429, Short.MAX_VALUE)
    jPanel1Layout.setVerticalGroup(
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 62, Short.MAX_VALUE)
    name.setText("NAME");
    amtexpanded.setText("AMT EXPANDED");
    amtnum.setText("AMT #");
    empid.setText("EMPID");
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addContainerGap()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(10, 10, 10)
    .addComponent(amtexpanded, javax.swing.GroupLayout.DEFAULT_SIZE, 342, Short.MAX_VALUE))
    .addComponent(name, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
    .addComponent(amtnum, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    .addComponent(date, javax.swing.GroupLayout.DEFAULT_SIZE, 71, Short.MAX_VALUE)
    .addComponent(empid, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
    .addContainerGap())
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addContainerGap()
    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(14, 14, 14)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(date)
    .addComponent(name))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(amtnum)
    .addComponent(amtexpanded, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(empid)
    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    pack();
    }// </editor-fold>
    private void formWindowActivated(java.awt.event.WindowEvent evt) {                                    
    initDisplay(); //Computes the expanded form of the number and fills the windows with information
    amtexpanded.setText(expanded);
    * @param args the command line arguments
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new Check().setVisible(true);
    public void initDisplay() {
    try {
    amtnum.setText("$"+emp.netpay); //Fill in the net pay
    name.setText(""+emp.fname+" "+emp.mname+" "+emp.lname+" "+emp.suffix); //Fill in the name
    System.out.println("NOT YET IMPLEMENTED");
    expanded = "";
    //begin to compute the expanded form
    //determine the length of the left side of the decimal
    expanded = emp.netpay+"";
    String[] split = expanded.split(".");
    int length = split[0].length();
    //Now we compute the first half of the number
    int wholeLength = split[0].length();
    char[] arr = split[0].toCharArray(); //create the character array
    expanded = ""; //Clear it
    if(length == 3) {
    System.out.println("Length of 3, working...");
    //Assume we are starting at the one thousands
    //Since 0 is 1, we need to test for 3 for 1,000s not 4
    switch(arr[3]) {
    case '1': expanded = "One Thousand ";
    case '2': expanded = "Two Thousand ";
    case '3': expanded = "Three Thousand ";
    case '4': expanded = "Four Thousand ";
    case '5': expanded = "Five Thousand ";
    case '6': expanded = "Six Thousand ";
    case '7': expanded = "Seven Thousand ";
    case '8': expanded = "Eight Thousand ";
    case '9': expanded = "Nine Thousand ";
    switch(arr[2]) {
    case '1': expanded = expanded + "One-Hundred ";
    case '2': expanded = expanded + "Two-Hundred ";
    case '3': expanded = expanded + "Three-Hundred ";
    case '4': expanded = expanded + "Four-Hundred ";
    case '5': expanded = expanded + "Five-Hundred ";
    case '6': expanded = expanded + "Six-Hundred ";
    case '7': expanded = expanded + "Seven-Hundred ";
    case '8': expanded = expanded + "Eight-Hundred ";
    case '9': expanded = expanded + "Nine-Hundred ";
    switch(arr[1]) {
    case '0': {
    switch(arr[0]) {
    case '0': expanded = expanded + "";
    case '1': expanded = expanded + "and One";
    case '2': expanded = expanded + "and Two";
    case '3': expanded = expanded + "and Three";
    case '4': expanded = expanded + "and Four";
    case '5': expanded = expanded + "and Five";
    case '6': expanded = expanded + "and Six";
    case '7': expanded = expanded + "and Seven";
    case '8': expanded = expanded + "and Eight";
    case '9': expanded = expanded + "and Nine";
    case '1': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Ten";
    case '1': expanded = expanded + "and Eleven";
    case '2': expanded = expanded + "and Twelve";
    case '3': expanded = expanded + "and Thirteen";
    case '4': expanded = expanded + "and Fourteen";
    case '5': expanded = expanded + "and Fifteen";
    case '6': expanded = expanded + "and Sixteen";
    case '7': expanded = expanded + "and Seventeen";
    case '8': expanded = expanded + "and Eighteen";
    case '9': expanded = expanded + "and Nineteen";
    case '2': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Twenty";
    case '1': expanded = expanded + "and Twenty-One";
    case '2': expanded = expanded + "and Twenty-Two";
    case '3': expanded = expanded + "and Twenty-Three";
    case '4': expanded = expanded + "and Twenty-Four";
    case '5': expanded = expanded + "and Twenty-Five";
    case '6': expanded = expanded + "and Twenty-Six";
    case '7': expanded = expanded + "and Twenty-Seven";
    case '8': expanded = expanded + "and Twenty-Eight";
    case '9': expanded = expanded + "and Twenty-Nine";
    case'3': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Thirty";
    case '1': expanded = expanded + "and Thirty-One";
    case '2': expanded = expanded + "and Thirty-Two";
    case '3': expanded = expanded + "and Thirty-Three";
    case '4': expanded = expanded + "and Thirty-Four";
    case '5': expanded = expanded + "and Thirty-Five";
    case '6': expanded = expanded + "and Thirty-Six";
    case '7': expanded = expanded + "and Thirty-Seven";
    case '8': expanded = expanded + "and Thirty-Eight";
    case '9': expanded = expanded + "and Thirty-Nine";
    case '4': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Fourty";
    case '1': expanded = expanded + "and Fourty-One";
    case '2': expanded = expanded + "and Fourty-Two";
    case '3': expanded = expanded + "and Fourty-Three";
    case '4': expanded = expanded + "and Fourty-Four";
    case '5': expanded = expanded + "and Fourty-Five";
    case '6': expanded = expanded + "and Fourty-Six";
    case '7': expanded = expanded + "and Fourty-Seven";
    case '8': expanded = expanded + "and Fourty-Eight";
    case '9': expanded = expanded + "and Fourty-Nine";
    case '5': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Fifty";
    case '1': expanded = expanded + "and Fifty-One";
    case '2': expanded = expanded + "and Fifty-Two";
    case '3': expanded = expanded + "and Fifty-Three";
    case '4': expanded = expanded + "and Fifty-Four";
    case '5': expanded = expanded + "and Fifty-Five";
    case '6': expanded = expanded + "and Fifty-Six";
    case '7': expanded = expanded + "and Fifty-Seven";
    case '8': expanded = expanded + "and Fifty-Eight";
    case '9': expanded = expanded + "and Fifty-Nine";
    case '6': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Sixty";
    case '1': expanded = expanded + "and Sixty-One";
    case '2': expanded = expanded + "and Sixty-Two";
    case '3': expanded = expanded + "and Sixty-Three";
    case '4': expanded = expanded + "and Sixty-Four";
    case '5': expanded = expanded + "and Sixty-Five";
    case '6': expanded = expanded + "and Sixty-Six";
    case '7': expanded = expanded + "and Sixty-Seven";
    case '8': expanded = expanded + "and Sixty-Eight";
    case '9': expanded = expanded + "and Sixty-Nine";
    case '7': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Seventy";
    case '1': expanded = expanded + "and Seventy-One";
    case '2': expanded = expanded + "and Seventy-Two";
    case '3': expanded = expanded + "and Seventy-Three";
    case '4': expanded = expanded + "and Seventy-Four";
    case '5': expanded = expanded + "and Seventy-Five";
    case '6': expanded = expanded + "and Seventy-Six";
    case '7': expanded = expanded + "and Seventy-Seven";
    case '8': expanded = expanded + "and Seventy-Eight";
    case '9': expanded = expanded + "and Seventy-Nine";
    case '8': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Eighty";
    case '1': expanded = expanded + "and Eighty-One";
    case '2': expanded = expanded + "and Eighty-Two";
    case '3': expanded = expanded + "and Eighty-Three";
    case '4': expanded = expanded + "and Eighty-Four";
    case '5': expanded = expanded + "and Eighty-Five";
    case '6': expanded = expanded + "and Eighty-Six";
    case '7': expanded = expanded + "and Eigthy-Seven";
    case '8': expanded = expanded + "and Eighty-Eight";
    case '9': expanded = expanded + "and Eighty-Nine";
    case '9': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Ninety";
    case '1': expanded = expanded + "and Ninety-One";
    case '2': expanded = expanded + "and Ninety-Two";
    case '3': expanded = expanded + "and Ninety-Three";
    case '4': expanded = expanded + "and Ninety-Four";
    case '5': expanded = expanded + "and Ninety-Five";
    case '6': expanded = expanded + "and Ninety-Six";
    case '7': expanded = expanded + "and Ninety-Seven";
    case '8': expanded = expanded + "and Ninety-Eight";
    case '9': expanded = expanded + "and Ninety-Nine";
    //Now we move down the length, 2, 1 ,
    if(length == 2) {
    System.out.println("length of 2, working...");
    switch(arr[2]) {
    case '1': expanded = expanded + "One-Hundred ";
    case '2': expanded = expanded + "Two-Hundred ";
    case '3': expanded = expanded + "Three-Hundred ";
    case '4': expanded = expanded + "Four-Hundred ";
    case '5': expanded = expanded + "Five-Hundred ";
    case '6': expanded = expanded + "Six-Hundred ";
    case '7': expanded = expanded + "Seven-Hundred ";
    case '8': expanded = expanded + "Eight-Hundred ";
    case '9': expanded = expanded + "Nine-Hundred ";
    switch(arr[1]) {
    case '0': {
    switch(arr[0]) {
    case '0': expanded = expanded + "";
    case '1': expanded = expanded + "and One";
    case '2': expanded = expanded + "and Two";
    case '3': expanded = expanded + "and Three";
    case '4': expanded = expanded + "and Four";
    case '5': expanded = expanded + "and Five";
    case '6': expanded = expanded + "and Six";
    case '7': expanded = expanded + "and Seven";
    case '8': expanded = expanded + "and Eight";
    case '9': expanded = expanded + "and Nine";
    case '1': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Ten";
    case '1': expanded = expanded + "and Eleven";
    case '2': expanded = expanded + "and Twelve";
    case '3': expanded = expanded + "and Thirteen";
    case '4': expanded = expanded + "and Fourteen";
    case '5': expanded = expanded + "and Fifteen";
    case '6': expanded = expanded + "and Sixteen";
    case '7': expanded = expanded + "and Seventeen";
    case '8': expanded = expanded + "and Eighteen";
    case '9': expanded = expanded + "and Nineteen";
    case '2': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Twenty";
    case '1': expanded = expanded + "and Twenty-One";
    case '2': expanded = expanded + "and Twenty-Two";
    case '3': expanded = expanded + "and Twenty-Three";
    case '4': expanded = expanded + "and Twenty-Four";
    case '5': expanded = expanded + "and Twenty-Five";
    case '6': expanded = expanded + "and Twenty-Six";
    case '7': expanded = expanded + "and Twenty-Seven";
    case '8': expanded = expanded + "and Twenty-Eight";
    case '9': expanded = expanded + "and Twenty-Nine";
    case'3': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Thirty";
    case '1': expanded = expanded + "and Thirty-One";
    case '2': expanded = expanded + "and Thirty-Two";
    case '3': expanded = expanded + "and Thirty-Three";
    case '4': expanded = expanded + "and Thirty-Four";
    case '5': expanded = expanded + "and Thirty-Five";
    case '6': expanded = expanded + "and Thirty-Six";
    case '7': expanded = expanded + "and Thirty-Seven";
    case '8': expanded = expanded + "and Thirty-Eight";
    case '9': expanded = expanded + "and Thirty-Nine";
    case '4': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Fourty";
    case '1': expanded = expanded + "and Fourty-One";
    case '2': expanded = expanded + "and Fourty-Two";
    case '3': expanded = expanded + "and Fourty-Three";
    case '4': expanded = expanded + "and Fourty-Four";
    case '5': expanded = expanded + "and Fourty-Five";
    case '6': expanded = expanded + "and Fourty-Six";
    case '7': expanded = expanded + "and Fourty-Seven";
    case '8': expanded = expanded + "and Fourty-Eight";
    case '9': expanded = expanded + "and Fourty-Nine";
    case '5': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Fifty";
    case '1': expanded = expanded + "and Fifty-One";
    case '2': expanded = expanded + "and Fifty-Two";
    case '3': expanded = expanded + "and Fifty-Three";
    case '4': expanded = expanded + "and Fifty-Four";
    case '5': expanded = expanded + "and Fifty-Five";
    case '6': expanded = expanded + "and Fifty-Six";
    case '7': expanded = expanded + "and Fifty-Seven";
    case '8': expanded = expanded + "and Fifty-Eight";
    case '9': expanded = expanded + "and Fifty-Nine";
    case '6': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Sixty";
    case '1': expanded = expanded + "and Sixty-One";
    case '2': expanded = expanded + "and Sixty-Two";
    case '3': expanded = expanded + "and Sixty-Three";
    case '4': expanded = expanded + "and Sixty-Four";
    case '5': expanded = expanded + "and Sixty-Five";
    case '6': expanded = expanded + "and Sixty-Six";
    case '7': expanded = expanded + "and Sixty-Seven";
    case '8': expanded = expanded + "and Sixty-Eight";
    case '9': expanded = expanded + "and Sixty-Nine";
    case '7': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Seventy";
    case '1': expanded = expanded + "and Seventy-One";
    case '2': expanded = expanded + "and Seventy-Two";
    case '3': expanded = expanded + "and Seventy-Three";
    case '4': expanded = expanded + "and Seventy-Four";
    case '5': expanded = expanded + "and Seventy-Five";
    case '6': expanded = expanded + "and Seventy-Six";
    case '7': expanded = expanded + "and Seventy-Seven";
    case '8': expanded = expanded + "and Seventy-Eight";
    case '9': expanded = expanded + "and Seventy-Nine";
    case '8': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Eighty";
    case '1': expanded = expanded + "and Eighty-One";
    case '2': expanded = expanded + "and Eighty-Two";
    case '3': expanded = expanded + "and Eighty-Three";
    case '4': expanded = expanded + "and Eighty-Four";
    case '5': expanded = expanded + "and Eighty-Five";
    case '6': expanded = expanded + "and Eighty-Six";
    case '7': expanded = expanded + "and Eigthy-Seven";
    case '8': expanded = expanded + "and Eighty-Eight";
    case '9': expanded = expanded + "and Eighty-Nine";
    case '9': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Ninety";
    case '1': expanded = expanded + "and Ninety-One";
    case '2': expanded = expanded + "and Ninety-Two";
    case '3': expanded = expanded + "and Ninety-Three";
    case '4': expanded = expanded + "and Ninety-Four";
    case '5': expanded = expanded + "and Ninety-Five";
    case '6': expanded = expanded + "and Ninety-Six";
    case '7': expanded = expanded + "and Ninety-Seven";
    case '8': expanded = expanded + "and Ninety-Eight";
    case '9': expanded = expanded + "and Ninety-Nine";
    if(length == 1) {
    System.out.println("Length of 1 working....");
    switch(arr[1]) {
    case '0': {
    switch(arr[0]) {
    case '0': expanded = expanded + "";
    case '1': expanded = expanded + "and One";
    case '2': expanded = expanded + "and Two";
    case '3': expanded = expanded + "and Three";
    case '4': expanded = expanded + "and Four";
    case '5': expanded = expanded + "and Five";
    case '6': expanded = expanded + "and Six";
    case '7': expanded = expanded + "and Seven";
    case '8': expanded = expanded + "and Eight";
    case '9': expanded = expanded + "and Nine";
    case '1': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Ten";
    case '1': expanded = expanded + "and Eleven";
    case '2': expanded = expanded + "and Twelve";
    case '3': expanded = expanded + "and Thirteen";
    case '4': expanded = expanded + "and Fourteen";
    case '5': expanded = expanded + "and Fifteen";
    case '6': expanded = expanded + "and Sixteen";
    case '7': expanded = expanded + "and Seventeen";
    case '8': expanded = expanded + "and Eighteen";
    case '9': expanded = expanded + "and Nineteen";
    case '2': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Twenty";
    case '1': expanded = expanded + "and Twenty-One";
    case '2': expanded = expanded + "and Twenty-Two";
    case '3': expanded = expanded + "and Twenty-Three";
    case '4': expanded = expanded + "and Twenty-Four";
    case '5': expanded = expanded + "and Twenty-Five";
    case '6': expanded = expanded + "and Twenty-Six";
    case '7': expanded = expanded + "and Twenty-Seven";
    case '8': expanded = expanded + "and Twenty-Eight";
    case '9': expanded = expanded + "and Twenty-Nine";
    case'3': {
    switch(arr[0]) {
    case '0': expanded = expanded + "and Thirty";
    case '1': exp

    if(length == 3) {
    System.out.println("Length of 3, working...");
    //Assume we are starting at the one thousands
    //Since 0 is 1, we need to test for 3 for 1,000s not 4
    switch(arr[3]) {Arrays in Java start at index zero, so if the length of an array is 3, then the valid indices are 0,1 and 2.
    You also can make the whole thing much cleaner with using the way things are phrased in English - you say "one million, one hundred and fifty thousand, two hundred and seventy six pounds, thirty seven pence", so if you write a routine which converts an integer between 0 (inclusive) and 1000 (exclusive), and call that for the millions, thousands, units and cents in turn. You also might want to use localized strings in an array instead of coding everything as a sequence of switch statements.

  • Expandable form fields?

    I am on a Mac and have CS6 with Acrobat X. I was going to purchase LiveCycle Designer but apparently it is PC only. I don't have a lot of time to learn or purchase a new program right now but will if I have to. Does Acrobat X have the ability to create expandable form fields? I am blown away at how hard this info is to find. Any help would be greatly appreciated. I am fairly new at creating editable PDFs. I have been creating them in InDesign and exporting as interactive PDFs.  Thanks!!!

    Brooklynmc wrote:
    Thank you. Is there a way to do expandable form fields on a Mac or will I have to work on a PC for the first time in my life? Is there a program that can do expandable forms on a Mac. I can purchase new software if I must. I am really trying to avoid buying LiveCycle (If it is even available anymore) and sitting at our PC station. I am 41 years old and have never worked on a PC. Thanks again!
    It will cost you some money but you can run LiveCycle designer on Mac.
    Here are steps:
    Separate Hard drive to put the PC Partition on ($100 or so)
    Software called Parallels (About $79.00)
    Windows 7 Software ($2-300 dollars depending on version)
    Live Cycle Designer (I think last I checked it was about $400.00)
    Install Parallels on Mac and setup windows pration on the external Drive.
    Install Windows on the external  External Drive.
    Install Live Cycle designer. On the PC Partition.
    You can use the Mac Printer in Parallels to Print.
    If you really need LiveCycle Designers features daily then this is the way to go.
    Plus you get the oportunity get the joy of fighting all the Viruses, Worms, Trogans, Malware and zero day event afforded to modern PC's It will be as if you bought a you a HP, Toshiba, Dell computer.

  • Security restrictions on offline form

    In my application, I have a form with a submit button of control type 'regular'. It can be downloaded on local hard disk filled and saved. But for the same form, I changed the control type of submit button to 'submit' and ran the application again. Now when I download the form and fill it, I cant save any of the form data. I see that the security restrictions on the form now have changed. Any idea if I can set these security restrictions so that I can still save the form data?

    Marlon,
    We also have similar requirement. So we logged an SR with Oracle. We got response as
    =============================================================================================================================
    No but there is an enhancement request
    OER does not provide the ability to enforce assignment of specific asset tabs to specific users/roles. 
    True need to file enhancement request
    Oracle® Fusion Middleware Configuration Guide for Oracle Enterprise Repository
    11g Release 1 (11.1.1)
    Part Number E16580-04
    http://docs.oracle.com/cd/E14571_01/doc.1111/e16580/rbac.htm
    10309159 - TAB LEVEL SECURITY - AUTHORISATION
    Use Case
    If I give a user with Tester Role and a user with Lead Developer Role
    approval capability (ie. Tester Role should only approve "Testing" tab and
    Lead Developer Role should only approve "Technical" tab).  They should only
    be able to see the other tabs but not approve anything. e.g. the Lead
    developer should only approve the "Technical" tab.
    ================================================================================================================================

  • Expandable forms

    I have LiveCycle 8 and was wondering if this product can create expandable forms. If so, how would I go about to make expandable forms, tables and rows? Please let me know. Thank you.

    To make the expandabale forms, follow these steps..
    1) The top level subform should be Flowed.
    2) The form should be saved as Dynamic PDF.
    You can use either tables and rows/ fields wraped in Subforms on the form.
    Hope this helps..
    Thanks
    Srini

  • Query Builder and Expanded Form in Search

    I've changed the labels of some metadata fields like content type. In the expanded form it shows OK, but in the query builder drop down it's still content type. How can I change it?
    tnx in advance

    Hi, where did you make the change of label?
    I use rules, so the way I do it (and it shows for both query builder and extended search) is by putting the value in the "use custom label" when I edit my rule.
    cheers

  • Expandable Form won't create 2nd page

    I’ve checked numerous posting on the forum and can't solve my problem with flowable forms using LiveCycle Designer 8.2. This is my first stab at creating expandable text fields and although there are numerous posting about not being able to get the text to flow onto a second page, none of the solutions work for me. The existing form only has 1 page, but I need it to create a second page if the text boxes expand.
    I have 4 text fields that need to be able to expand and flow. Each of my text fields allow multiple lines, allow page breaks within content, expand to fit, and are put into subforms so they won't overlap each other when expanded. All four text fields/subforms are contained within another subform, also set to flow and break across pages. I have a row of logos at the bottom and I have put them on the Master Page as a footer.
    The preview default is dynamic and the LiveCycle file is saved as dynamic XML. The text fields expand properly except when they reach the bottom of the page, at which point they overlap the logos on the footer and disappear. The subform “wrapper” for the 4 fields has an error message though: “This object may not work properly. Although the object is allowed to break, deselecting the Allow Page Breaks Within Content option of the parent object restricts this object from breaking between pages.” I don’t know how to fix that.
    If I change my Page1 content subform (untitled subform page 1) to flow instead of positioned all the formatting goes wacky and objects are positioned all over the place – most of them shoot over to a second page that’s created.
    Is this fixable at all?

    That creates total chaos but I think I may have figured out what is going on. I found an example of the same issue...
    "The form was a converted word doc and it basically exploded when I set the layout to flowable. There were so many remnants from word that most of the form was jettisoned off the bottom of the page. It looked like garbage.
    Hierarchy is important because the flowable layout (with: ‘top to bottom’ flow direction) relies on the order of the elements for positioning.
    So we resolved to rebuild the form from scratch and it’s working nicely."

  • How do I restrict my pdf form to print legal only

    I have a form (in Acrobat 9 Pro) that should only be printed on legal. I am unable to locate information. Have tried setting the Adobe PDF Document Properties (Page Size) to legal. Is there a way to limit to printing legal only?? Would appreciate any help on this topic. Thanks much.

    Yes, tried that. But unfortunately that option doesn't allow me to restrict users to only print their forms on legal paper. But thank you for your help.
    Barbara A. Smith
    Communications Coordinator
    Marketing and Communications Group
    Supply & Services Division
    MB Infrastructure and Transportation
    p. (204) 945-8892
    f. (204) 948-3414
     Please consider the environment before printing this email.

  • When-validate-item trigger restriction on open form or call form

    W have when-validate-item trigger. I need to place a code here that will bring up a form when the "valid entry" on the item has been made. I am getting a frm-40737:Illegal restricted procedure COMMIT...
    Code snippet on the procedure that I am calling from the when-validate-item:
    IF :System.Form_Status = 'CHANGED' THEN
    Commit_Form;
    end if;
    Call_Form ('MY_FORM', HIDE, NO_REPLACE, NO_QUERY_ONLY,'PARAM');
    Is there a work-around. We also cannot use timers here.
    Any help is appreciated?
    TIA

    Thanks Sudha, I tested and it worked with the key-next-item trigger.
    The only thing though, I was told that the users will not use the enter key when they navigate out of the field, it is either clicking on an exit button or function key F4...so I am still stuck with the same problem.
    This site is really helpful and I hope to receive more ideas.
    Thanks!

  • Restrictions on PDF Form and Submit Form to email

    I have two questions:
    After creating my pdf form and sending it to the client, once they have filled this in is there a way to restrict the document from being edited again?
    How do a add a submit button to the end of my form so that it automatically gets sent in an email?
    First time user

    Read documentation on CF8 : "Although forms created in
    LiveCycle Designer allow several types of submission, including XDP
    and XML, ColdFusion 8 can extract data from HTTP post and PDF
    submissions only".

  • How to restrict issue the form through VOFM routine

    Hi Experts,
    I have  developed form using adobe form, I need to issue the output only one time, once the output issued again the output should not issue.
    I need to control this logic through VOFM routine...how to restrict ?
    Thanks in advance.

    Srinath,
    Use the below option.
    VOFM->REQUIREMENTS->O?P Control.
    Create a new routine.
    In the routine, check the table NAST using application, object key and message type. If you find an entry, set the sy-subrc value to 4 else set the subrc value to 0.
    Let me know if this helps.
    Thanks,
    Vikram.M

  • Trying to expand form over two pages

    Hi,
    I'm trying to finish up a Purchase Order form that I've been working on sporadically for the last couple months... (which probably isn't helping me much because I'm forgetting what I've done and haven't done.)
    Right now the form is only one page but we need it to be able to expand on to two pages if necessary.  I believe I have it saved as a dynamic form.  (I'm going to try to figure out how to attach the file so you can see what I've been up to.)
    I want the table to be able to expand... (you'll see an add item button - but I've never been able to get it to work.)  I've been lurking these forums and trying to copy samples... but with no success.  The detail cells are set up that I can get multiple lines so that works. 
    I think I've got the form to work that as the cells expand everything flows down the page properly... the problem is that the subsequent information just dissapears rather than go onto another page.  I can't figure out how to fix that for the life of me.   If anyone can help... it would be greatly appreciated.  Thanks.

    You would need to also select "allow page breaks within content" for each subform that you want to allow to break across pages, i.e. your table subform and any other expanding subforms unless of course you have a section that has to stay together. You nearly had it from the start, just missing a couple checkboxes on the subforms.

  • Displaying ALV tree in expanded form in first ouput

    Hi all,
          I have a problem with alv tree. My requirement is, on the first output itself the alv tree should appear expanded depending on one of the filter criteria in the tool bar. How can i trigger the toolbar event in PBO itself? Can it be done? if yes please provide sample code. Points assured for helpfull answers.
    Thanks,
    Shafiq

    Hi Walter,
       The method CL_GUI_ALV_TREE->EXPAND_NODES has only one importing parameter and that is the nodes of the ALV tree. But the commenting of the following lines from my code made it work which i have made it bold.Thank you very much for your help.I Have awarded points for you.
    REPORT  ztest_2105.
    DATA: g_alv_tree         TYPE REF TO cl_gui_alv_tree,
          g_custom_container TYPE REF TO cl_gui_custom_container.
    DATA: gt_sflight      TYPE sflight OCCURS 0,      "Output-Table
          gt_fieldcatalog TYPE lvc_t_fcat,
          ok_code LIKE sy-ucomm,
          save_ok LIKE sy-ucomm,           "OK-Code
          g_max TYPE i VALUE 255. "maximum of db records to select
    DATA : it_node_key TYPE lvc_t_nkey,
           wa_node_key LIKE LINE OF it_node_key.
    LOCAL CLASSES
    *§1. Define a (local) class for event handling
    CLASS lcl_tree_event_receiver DEFINITION.
      PUBLIC SECTION.
    *§2. Define an event handler method for each event you want to react to
        METHODS handle_node_double_click
          FOR EVENT node_double_click OF cl_gui_alv_tree
          IMPORTING node_key sender.
    'sender' is an implicit event parameter that is provided by
    ABAP Objects runtime system. It contains a reference to the
    object that fired the event. You may directly use it to
    call methods of this instance.
    ENDCLASS.
    CLASS lcl_tree_event_receiver IMPLEMENTATION.
    *§3. Implement your event handler methods.
      METHOD handle_node_double_click.
        DATA: lt_children TYPE lvc_t_nkey.
    *first check if the node is a leaf, i.e. can not be expanded
        CALL METHOD sender->get_children
                  EXPORTING i_node_key = node_key
                  IMPORTING et_children = lt_children.
        IF NOT lt_children IS INITIAL.
          CALL METHOD sender->expand_node
                    EXPORTING  i_node_key = node_key
                               i_level_count = 2.
        ENDIF.
      ENDMETHOD.
    ENDCLASS.
    START-OF-SELECTION.
    END-OF-SELECTION.
      CALL SCREEN 100.
    *&      Module  PBO  OUTPUT
          process before output
    MODULE pbo OUTPUT.
      SET PF-STATUS 'MAIN100'.
      SET TITLEBAR 'MAINTITLE'.
      IF g_alv_tree IS INITIAL.
        PERFORM init_tree.
        CALL METHOD g_alv_tree->expand_nodes
      EXPORTING
        it_node_key             = it_node_key
       EXCEPTIONS
         FAILED                  = 1
         CNTL_SYSTEM_ERROR       = 2
         ERROR_IN_NODE_KEY_TABLE = 3
         DP_ERROR                = 4
         NODE_NOT_FOUND          = 5
         others                  = 6
        IF sy-subrc <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CALL METHOD cl_gui_cfw=>flush
                EXCEPTIONS cntl_system_error = 1
                           cntl_error        = 2.
        IF sy-subrc NE 0.
          CALL FUNCTION 'POPUP_TO_INFORM'
               EXPORTING
                    titel = 'Automation Queue failure'(801)
                    txt1  = 'Internal error:'(802)
                    txt2  = 'A method in the automation queue'(803)
                    txt3  = 'caused a failure.'(804).
        ENDIF.
      ENDIF.
    ENDMODULE.                             " PBO  OUTPUT
    *&      Module  PAI  INPUT
          process after input
    MODULE pai INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'EXIT' OR 'BACK' OR 'CANC'.
          PERFORM exit_program.
        WHEN OTHERS.
    §5. Call dispatch to process toolbar functions
    Toolbar events are registered in constructur method of
    CL_ALV_TREE_BASE as application events. So the dispatch call
    is a must if you want to use the standard toolbar.
          CALL METHOD cl_gui_cfw=>dispatch.
      ENDCASE.
      CALL METHOD cl_gui_cfw=>flush.
    ENDMODULE.                             " PAI  INPUT
    *&      Form  init_tree
          text
    -->  p1        text
    <--  p2        text
    FORM init_tree.
    create container for alv-tree
      DATA: l_tree_container_name(30) TYPE c.
      l_tree_container_name = 'CCONTAINER1'.
      CREATE OBJECT g_custom_container
          EXPORTING
                container_name = l_tree_container_name
          EXCEPTIONS
                cntl_error                  = 1
                cntl_system_error           = 2
                create_error                = 3
                lifetime_error              = 4
                lifetime_dynpro_dynpro_link = 5.
      IF sy-subrc <> 0.
        MESSAGE x208(00) WITH 'ERROR'(100).
      ENDIF.
    create tree control
      CREATE OBJECT g_alv_tree
        EXPORTING
            parent              = g_custom_container
            node_selection_mode = cl_gui_column_tree=>node_sel_mode_single
            item_selection      = 'X'
            no_html_header      = 'X'
            no_toolbar          = ''
        EXCEPTIONS
            cntl_error                   = 1
            cntl_system_error            = 2
            create_error                 = 3
            lifetime_error               = 4
            illegal_node_selection_mode  = 5
            failed                       = 6
            illegal_column_name          = 7.
      IF sy-subrc <> 0.
        MESSAGE x208(00) WITH 'ERROR'.                          "#EC NOTEXT
      ENDIF.
      DATA l_hierarchy_header TYPE treev_hhdr.
      PERFORM build_hierarchy_header CHANGING l_hierarchy_header.
    Hide columns and sum up values initially using the fieldcatalog
      PERFORM build_fieldcatalog.
    IMPORTANT: Table 'gt_sflight' must be empty. Do not change this table
    (even after this method call). You can change data of your table
    by calling methods of CL_GUI_ALV_TREE.
    Furthermore, the output table 'gt_outtab' must be global and can
    only be used for one ALV Tree Control.
      CALL METHOD g_alv_tree->set_table_for_first_display
         EXPORTING
                   is_hierarchy_header  = l_hierarchy_header
         CHANGING
                   it_fieldcatalog      = gt_fieldcatalog
                   it_outtab            = gt_sflight. "table must be empty!
      PERFORM create_hierarchy.
      PERFORM register_events.
    Update calculations which were initially defined by field DO_SUM
    of the fieldcatalog. (see build_fieldcatalog).
      CALL METHOD g_alv_tree->update_calculations.
    Send data to frontend.
      CALL METHOD g_alv_tree->frontend_update.
    ENDFORM.                               " init_tree
    *&      Form  build_hierarchy_header
          build hierarchy-header-information
         -->P_L_HIERARCHY_HEADER  strucxture for hierarchy-header
    FORM build_hierarchy_header CHANGING
                                   p_hierarchy_header TYPE treev_hhdr.
      p_hierarchy_header-heading = 'Totals/Month/Carrier/Date'(300).
      p_hierarchy_header-tooltip = 'Flights in a month'(400).
      p_hierarchy_header-width = 35.
      p_hierarchy_header-width_pix = ''.
    ENDFORM.                               " build_hierarchy_header
    *&      Form  exit_program
          free object and leave program
    FORM exit_program.
      CALL METHOD g_custom_container->free.
      LEAVE PROGRAM.
    ENDFORM.                               " exit_program
    FORM build_fieldcatalog.
      DATA: ls_fieldcatalog TYPE lvc_s_fcat.
    The following function module generates a fieldcatalog according
    to a given structure.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
           EXPORTING
                i_structure_name = 'SFLIGHT'
           CHANGING
                ct_fieldcat      = gt_fieldcatalog.
    Now change the fieldcatalog to hide fields and to determine
    some initial calculations for chosen fields.
      LOOP AT gt_fieldcatalog INTO ls_fieldcatalog.
        CASE ls_fieldcatalog-fieldname.
    hide columns which are already displayed in our tree
          WHEN 'CARRID' OR 'FLDATE'.
            ls_fieldcatalog-no_out = 'X'.
    Do some initial calculations:
    ALV Tree uses the field 'do_sum' to declare that a function
    for the corresponding column shall be calculated.
    Use 'h_ftype' to set the function type (MAX, MIN, SUM, AVG).
          WHEN 'PRICE'.
            ls_fieldcatalog-do_sum = 'X'.
            ls_fieldcatalog-h_ftype = 'MAX'.
          WHEN 'SEATSMAX'.
            ls_fieldcatalog-do_sum = 'X'.
            ls_fieldcatalog-h_ftype = 'SUM'.
          WHEN 'SEATSOCC'.
            ls_fieldcatalog-do_sum = 'X'.
            ls_fieldcatalog-h_ftype = 'AVG'.
        ENDCASE.
        MODIFY gt_fieldcatalog FROM ls_fieldcatalog.
      ENDLOOP.
    The fieldcatalog is provided in form 'init_tree' using method
    set_table_for_first_display.
    ENDFORM.                               " build_fieldcatalog
    FORM register_events.
    *§4. Event registration: tell ALV Tree which events shall be passed
       from frontend to backend.
      DATA: lt_events TYPE cntl_simple_events,
            l_event TYPE cntl_simple_event,
            l_event_receiver TYPE REF TO lcl_tree_event_receiver.
    *§4a. Frontend registration(i):  get already registered tree events.
    The following four tree events registers ALV Tree in the constructor
    method itself.
       - cl_gui_column_tree=>eventid_expand_no_children
    (needed to load data to frontend when a user expands a node)
       - cl_gui_column_tree=>eventid_header_context_men_req
    (needed for header context menu)
       - cl_gui_column_tree=>eventid_header_click
    (allows selection of columns (only when item selection activated))
      - cl_gui_column_tree=>eventid_item_keypress
    (needed for F1-Help (only when item selection activated))
    Nevertheless you have to provide their IDs again if you register
    additional events with SET_REGISTERED_EVENTS (see below).
    To do so, call first method  GET_REGISTERED_EVENTS (this way,
    all already registered events remain registered, even your own):
      CALL METHOD g_alv_tree->get_registered_events
            IMPORTING events = lt_events.
    (If you do not these events will be deregistered!!!).
    You do not have to register events of the toolbar again.
    *§4b. Frontend registration(ii): add additional event ids
      l_event-eventid = cl_gui_column_tree=>eventid_node_double_click.
      APPEND l_event TO lt_events.
    *§4c. Frontend registration(iii):provide new event table to alv tree
      CALL METHOD g_alv_tree->set_registered_events
        EXPORTING
          events = lt_events
        EXCEPTIONS
          cntl_error                = 1
          cntl_system_error         = 2
          illegal_event_combination = 3.
      IF sy-subrc <> 0.
        MESSAGE x208(00) WITH 'ERROR'.                          "#EC NOTEXT
      ENDIF.
    *§4d. Register events on backend (ABAP Objects event handling)
      CREATE OBJECT l_event_receiver.
      SET HANDLER l_event_receiver->handle_node_double_click FOR g_alv_tree
    ENDFORM.                               " register_events
    *&      Form  create_hierarchy
          text
    -->  p1        text
    <--  p2        text
    FORM create_hierarchy.
    See BCALV_TREE_01 for more comments on building the hierarchy
      DATA: ls_sflight TYPE sflight,
            lt_sflight TYPE sflight OCCURS 0,
            l_yyyymm(6) TYPE c,            "year and month of sflight-fldate
            l_yyyymm_last(6) TYPE c,
            l_carrid LIKE sflight-carrid,
            l_carrid_last LIKE sflight-carrid.
      DATA: l_month_key TYPE lvc_nkey,
            l_carrid_key TYPE lvc_nkey,
            l_last_key TYPE lvc_nkey,
            l_top_key TYPE lvc_nkey.
    Select data
      SELECT * FROM sflight INTO TABLE lt_sflight UP TO g_max ROWS.
    sort table according to conceived hierarchy
      SORT lt_sflight BY fldate0(6) carrid fldate6(2).
      CLEAR : it_node_key, wa_node_key.
    *  wa_node_key = '&VIRTUALROOT'.
    APPEND wa_node_key TO it_node_key.</b>
    Define one top node. In this way it is possible to calculate
    values for the whole hierarchy.
      CALL METHOD g_alv_tree->add_node
        EXPORTING
              i_relat_node_key = ''
              i_relationship   = cl_gui_column_tree=>relat_last_child
              i_node_text      = text-050
           IMPORTING
              e_new_node_key = l_top_key.
      wa_node_key = l_top_key.
      APPEND wa_node_key TO it_node_key.
      LOOP AT lt_sflight INTO ls_sflight.
        l_yyyymm = ls_sflight-fldate+0(6).
        l_carrid = ls_sflight-carrid.
        IF l_yyyymm <> l_yyyymm_last.      "on change of l_yyyymm
          l_yyyymm_last = l_yyyymm.
    month nodes
          PERFORM add_month USING    l_yyyymm
                                          l_top_key
                                 CHANGING l_month_key.
    clear l_carrid_last because this is a new month
          CLEAR l_carrid_last.
          wa_node_key = l_month_key.
          APPEND wa_node_key TO it_node_key.
        ENDIF.
    Carrier nodes:
        IF l_carrid <> l_carrid_last.      "on change of l_carrid
          l_carrid_last = l_carrid.
          PERFORM add_carrid_line USING    ls_sflight
                                           l_month_key
                                  CHANGING l_carrid_key.
          wa_node_key = l_carrid_key.
          APPEND wa_node_key TO it_node_key.
        ENDIF.
    Leaf:
        PERFORM add_complete_line USING  ls_sflight
                                         l_carrid_key
                                CHANGING l_last_key.
    *    wa_node_key = l_last_key.
       APPEND wa_node_key TO it_node_key.</b>
      ENDLOOP.
    ENDFORM.                               " create_hierarchy
    *&      Form  add_month
    FORM add_month  USING     p_yyyymm TYPE c
                              p_relat_key TYPE lvc_nkey
                    CHANGING  p_node_key TYPE lvc_nkey.
      DATA: l_node_text TYPE lvc_value,
            ls_sflight TYPE sflight,
            l_month(15) TYPE c.            "output string for month
    get month name for node text
      PERFORM get_month USING p_yyyymm
                        CHANGING l_month.
      l_node_text = l_month.
    add node
      CALL METHOD g_alv_tree->add_node
        EXPORTING
              i_relat_node_key = p_relat_key
              i_relationship   = cl_gui_column_tree=>relat_last_child
              i_node_text      = l_node_text
              is_outtab_line   = ls_sflight
           IMPORTING
              e_new_node_key = p_node_key.
    ENDFORM.                               " add_month
    FORM add_carrid_line USING     ps_sflight TYPE sflight
                                   p_relat_key TYPE lvc_nkey
                         CHANGING  p_node_key TYPE lvc_nkey.
      DATA: l_node_text TYPE lvc_value,
            ls_sflight TYPE sflight.
    add node
      l_node_text =  ps_sflight-carrid.
      CALL METHOD g_alv_tree->add_node
        EXPORTING
              i_relat_node_key = p_relat_key
              i_relationship   = cl_gui_column_tree=>relat_last_child
              i_node_text      = l_node_text
              is_outtab_line   = ls_sflight
           IMPORTING
              e_new_node_key = p_node_key.
    ENDFORM.                               " add_carrid_line
    *&      Form  add_complete_line
    FORM add_complete_line USING   ps_sflight TYPE sflight
                                   p_relat_key TYPE lvc_nkey
                         CHANGING  p_node_key TYPE lvc_nkey.
      DATA: l_node_text TYPE lvc_value.
      WRITE ps_sflight-fldate TO l_node_text MM/DD/YYYY.
      CALL METHOD g_alv_tree->add_node
        EXPORTING
              i_relat_node_key = p_relat_key
              i_relationship   = cl_gui_column_tree=>relat_last_child
              is_outtab_line   = ps_sflight
              i_node_text      = l_node_text
           IMPORTING
              e_new_node_key = p_node_key.
    ENDFORM.                               " add_complete_line
    *&      Form  GET_MONTH
          text
         -->P_P_YYYYMM  text
         <--P_L_MONTH  text
    FORM get_month USING    p_yyyymm
                   CHANGING p_month.
      DATA: l_monthdigits(2) TYPE c.
      l_monthdigits = p_yyyymm+4(2).
      CASE l_monthdigits.
        WHEN '01'.
          p_month = 'January'(701).
        WHEN '02'.
          p_month = 'February'(702).
        WHEN '03'.
          p_month = 'March'(703).
        WHEN '04'.
          p_month = 'April'(704).
        WHEN '05'.
          p_month = 'May'(705).
        WHEN '06'.
          p_month = 'June'(706).
        WHEN '07'.
          p_month = 'July'(707).
        WHEN '08'.
          p_month = 'August'(708).
        WHEN '09'.
          p_month = 'September'(709).
        WHEN '10'.
          p_month = 'October'(710).
        WHEN '11'.
          p_month = 'November'(711).
        WHEN '12'.
          p_month = 'December'(712).
      ENDCASE.
      CONCATENATE p_yyyymm+0(4) '->' p_month INTO p_month.
    ENDFORM.                               " GET_MONTH

  • Restrict execute_query in Forms using Personalization

    Hi Gurus,
    I have requirement of restricting execute_query in Standard Form using Form Personalization.
    Detail Requirement:
    In Standard attachment form I have requirement to show only the attachment files which are Web Page type. That means, when User open the attachment form he can only see the attachment which are type of Web Page.
    Please help.

    DB adpater wraps the parameter by ' (apostrophe), so using IN clause it becomes '1,2,3,4,5.........n' and the query returns nothing.
    You need to use below query in DB Adpater
    select attributes,attributes2 from table name where partnumber in (WITH VALUE_LIST AS
    (SELECT ? val FROM dual)
    SELECT SUBSTR(val, (decode(LEVEL, 1, 0, instr(val, ',', 1, LEVEL -1)) + 1), (decode(instr(val, ',', 1, LEVEL) -1, -1, LENGTH(val), instr(val, ',', 1, LEVEL) -1)) -(decode(LEVEL, 1, 0, instr(val, ',', 1, LEVEL -1)) + 1) + 1) a
    FROM VALUE_LIST CONNECT BY LEVEL <=
    (SELECT(LENGTH(val) -LENGTH(REPLACE(val, ',', NULL)))
    FROM VALUE_LIST) + 1)
    Value of <partnumber> tag can be mapped to DB Adapter Inputvariable.
    If you create a very big value list for IN query (greater than 4000 characters) you will get ORA-01704: string literal too long error. In that case you need to break value list and invoke this query multiple times.
    Thanks
    Ravdeep

  • Why are there restricted procedures in forms?

    I accept it as a fact that they exist. But it would be a lot less annoying to me when I am restricted by them to understand the reason for there existence.
    Would somebody please point me to some resource that explains the reason for the existence of restricted procedures in Oracle Forms.

    Honestly, we didn't put that restriction in just for the hell of it ;o)
    The reason is actually very sound. Many triggers involve internal navigation by Forms. If you override this you can "break" where Forms thinks the current item is and where it infact really is...It also stops you jumping out of places where you need to stay..
    Having said that there is a work around - if you need to use a restriced built in, instead create a trigger that fired and then put the code in the WHEN-TIMER-EXPIRED trigger.
    Hope that helps
    Regards
    Grant Ronald
    Oracle Product Management

Maybe you are looking for

  • Why the second loader doesn't work?

    Hi, If I keep the first following action script (Adobe Flash CS4 Action Script 3) which is in BLUE it is workng fine. But If I keep the both action scripts which are in BLUE & RED. It shows nothing. What is the problem with the next one. Please do he

  • Data types  for seeburger in IR

    Hi , I am working on scenario for Integration (PI) with Seeburger Adapter. In Design part for integration Repository of PI, I am not able to get data types (message types , message mapping) for default seeburger. Plz Help in this. Regards, Anshul Wal

  • I purchased InDesign but can't open it in CC or directly.

    Can't even find the exe on my computer, but I can see it in CC and it has a check and says "Updated".

  • Problem reading japanese mail subject line

    I am using javax.mail.Message.getSubject() method to read the Japanese subject line of the mail, but when i see the string returned by this method, it has some junk characters. Can anyone please tell me how to read japanese subject line?

  • Zen Micro Voice recording quest

    Hey, I dont have a Micro yet, but if i were to get one, it would be mostly for the voice recording function, as I would use it to record my voice for rapping or poetry. Now my question is this, is it possible to get your voice recording off the micro