Adobe Forms
ABAP DevelopmentIntermediate

Tables, Subforms and Repeating Item Data

Display repeating item data using table binding and flowed subforms.

Explanation

Most business forms have repeating item data, such as invoice items, purchase order items or delivery line items. In Adobe Forms, repeating data is usually handled through table nodes or repeatable subforms bound to an internal table from the context. Layout type matters. Flowed subforms allow content to grow dynamically, while positioned subforms give fixed placement. Beginners often face issues where only one row displays or rows overlap because repeat settings, binding or subform flow is incorrect.

Code example

ABAP Code
* Purpose:* Prepare item table for repeating rows in Adobe Form.* The layout row must be bound to this table node. TYPES: BEGIN OF ty_po_item, ebelp TYPE ebelp, matnr TYPE matnr, txz01 TYPE txz01, menge TYPE menge_d, netpr TYPE netpr, END OF ty_po_item. DATA lt_po_items TYPE TABLE OF ty_po_item. * Fill item table in driver programSELECT ebelp, matnr, txz01, menge, netpr FROM ekpo INTO TABLE @lt_po_items WHERE ebeln = @p_ebeln. * Form context should expose LT_PO_ITEMS as repeating node.* Layout table row should repeat for each item in this node.* If only first row appears, check binding and repeat settings in layout.

Real project scenario

A purchase order form showed only the first item. The internal table had all items, but the row subform was not set to repeat for each data item. Correcting repeat binding fixed the issue.

Common mistakes

- Using positioned subform for dynamic item list. - Forgetting repeat setting on row/subform. - Binding row to wrong node. - Passing empty internal table due to driver issue.

Best practices

- Use flowed subforms for dynamic content. - Bind repeatable rows to table node. - Test with multiple items and long text. - Check pagination with high item count.

Interview angle

A common practical question is why only one item appears in Adobe Form. Answer should mention repeat binding and subform settings.