cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple nested tables

Former Member
0 Kudos

Hi folks,

I am at my wits end. I´m trying to get multiple nested tables to my iPDF. One nested table is no problem but whenever the second table is filled, i get the fprunx 001 "No output was gener(200101)"

The Context structure looks like this:


Table1
  |-  Field1
  |-  Field2
  |-  Table2
       |-    Field21
       |-    Field22
  |-  Table3
       |-    Field31
       |-    Field32 

According to this the layout - i used subforms instead of tables, but that shouldn´t be the problem

 
*Hierarchy                       Binding*

     SF_Table1                  $record.Table1.DATA[*]
        |-  Field1                      Field1
        |-  Field2                      Field2
        |-  SF_Table2              Table2.DATA[*]
             |-  Field21                   Field21
             |-  Field22                   Field22
        |- SF_Table3               Table3.DATA[*]
             |-   Field31                  Field31
             |-  Field32                   Field32

Someone got an idea - or isn´t it possible to display multiple nested tables?

Accepted Solutions (1)

Accepted Solutions (1)

OttoGold
Active Contributor
0 Kudos

I guess it is a binding problem. It definitely is possible to use this kind of a context structure, i have used this before.

Go through your binding and follow this rule: each layout element is bound to one context node. For example:

Table 1 ...... Main_table

Row1......... Data

Table2.........Table2 (not root.table2, use relative, not absolute binding)

Hope this helps, Otto

Former Member
0 Kudos

Hi Otto,

thank you for your reply! Your proposal was exactly the way i tried to solve the problem. It´s no problem when there´s one nested table like in your example. But if you now add a second inline table, i found no way to bind the data without a shortdump.

Table 1 ...... Main_table

Row1......... Data

Table2.........Table2 (not root.table2, use relative, not absolute binding)

Table3.........Table3 (not root.table3, use relative, not absolute binding)

TableX.........TableX.....

I helped myself with the following workaround

Table2, Table3, TableX.... with a keycolumn equal to key in table 1 (master table). For my example I get a Context like this:


*Hierarchy                       Binding*
 
     SF_Table1                  $record.Table1.DATA[*]
        |-  Field1                      Field1
        |-  Field2                      Field2
        |-  SF_Table2             $record.Table1.Table2.DATA[*]  ( now *ABSOLUTE* BINDING !)
             |-  Field21                   Field21
             |-  Field22                   Field22
        |- SF_Table3              $record.Table1.Table3.DATA[*]  ( now *ABSOLUTE* BINDING ! )
             |-   Field31                  Field31
             |-  Field32                   Field32

In each Subform of the PDF runs the following code ( SF_Table2, SF_Table3,.....).

Each key-value is compared with its parent subform key-value. Equal Value -> show entry, otherwise hide.


var lv_parent_matnr = parent.parent.TF_KOPF_HEADER.MATNR.rawValue;
var mynodes = this.resolveNodes("TF_BESCHR[*]");
var txt_node = this.resolveNodes("TF_BESCHR[*].TEXT");
var mat_node = this.resolveNodes("TF_BESCHR[*].MATNR");
var lv_nodes_count = mynodes.length;

for ( var nNodeCount = 0; nNodeCount < lv_nodes_count; nNodeCount ++)
{
	if ( mat_node.item(nNodeCount).rawValue == lv_parent_matnr )
		{
		txt_node.item(nNodeCount).presence = 'visible';
		}
		else
		{
		txt_node.item(nNodeCount).presence = 'hidden';
		}
	}
}

It´s definetly not the best way but it works for me....

Answers (0)