cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with adobe forms multiple pages

Former Member
0 Kudos

Hi

can someone help me how to get multiple pages in adobe forms in case the item lines exceeds the page capacity?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

1. If you use the subform for line items, then make the subform type 'Flowed'.

2. If you use only table in body page then check for Allo pagebreaks within content.

Regards,

Raju.

Former Member
0 Kudos

It should not be much of a problem. Here is a detailed solution to your problem:

In your context , create a node MasterNode of cardinality 1...1 and singleton set to true. Bind this to the dataSource property of the InteractiveFormElement.

Inside this MasterNode create a node Data of cardinality 0...n and singleton set to false. Keep all of your payslip attributes inside this node.

In your interactive form element , in the Body Page create a subform of Type Flow Content and Flow Direction Table .Check the chechbox for Allow Page Breaks within Context . Inside this subform create another subform of Type Flow Content and Flow Direction Western Text . Uncheck the checkbox for Allow Page Breaks within Context . Put all of your pay slip UI elements inside this subform and bind them with the attributes under the node Data. Also tick the property of the inner subform under the section Object->Subform that says Repeat Subform for each Data Item

In your view controller coding area , create an element of the node Data for each employee record and populate it with values for the particular employee .

Add all of the elements that you created into an ArrayList and bind this ArrayList to the node Data. Now your form is ready for n number of employees.

Put this sort of coding in your view controller coding:


IDataElement objData = null;
ArrayList arlData = null;
int intNumberOfEmployees=0;

try
{
        arlData = new ArrayList();
        intNumberOfEmployees = //Get size of your model node that returns employee info
        if(intNumberOfEmployees>0)
        {
                for(int i=0;i<intNumberOfEmployees;i++)
                {
                        objData  = wdContext.createDataElement();
                        objData.setName("//Value fetched from backend here");//Eg:wdContext.nodeEmployeeInfo.getEmployeeInfoElementAt(i).getname()
                        //Similarly set all of the values
                        arlData.add(objData);
                }
        }
        wdContext.nodeData.bind(arlData);
}

Hope this helps you...

saravanakumar_mac
Participant
0 Kudos

Hi,

Thank you.

It is working fine.

I have maintain properly below things.

1. Cardinality

2. Subform

3. Type Flow Content and Flow Direction

4. Repeat Subform for each Data Item

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

The main page will be positioned. If the line item capacity exceeds more than one page then you can use a subform. Wrap the page displaying the line items into a subform and set its attribute as flowed. Even if the line items are more than the current page capacity, with the help of the flowed attribute, the line items will be displayed on the next page.

Former Member
0 Kudos

it is a adobe print form.

Former Member
0 Kudos

Is it adobe interactive form? or a smartform?

Edited by: ZAFCO ABAP on Jun 3, 2009 9:43 AM