<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Recursive DDIC structures in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247788#M1720511</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I do not want to create a dynamic structure, but a recursive one. &lt;/P&gt;&lt;P&gt;I do not want an "explorer kind of functionality", it is just meant as an example where it might be useful. If you feel better think of a tour to Disney Land. The tour consists of several distinctive groups. These groups can again consists of subgroups, which can have subgroups.... and so on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this particular case: I am calling a webservice that supplies to me an XML which is structured in this way: Hierarchical structure of folders with lots of subfolders. To keep things simple I tried to design the DDIC structure the same way. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My questions are:&lt;/P&gt;&lt;P&gt;Why does SE11 throw no error when I create and activate the structure?&lt;/P&gt;&lt;P&gt;Why does SE38/SE80/SE24 throw errors when the structure is used?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Jan 2013 15:39:37 GMT</pubDate>
    <dc:creator>CarstenKasper</dc:creator>
    <dc:date>2013-01-04T15:39:37Z</dc:date>
    <item>
      <title>Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247785#M1720508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;today I ran into a rather odd problem when defining my DDIC types.&lt;/P&gt;&lt;P&gt;What I want to do is rather simple: I want to read information about a folder that can have subfolders which can then again have subfolders and so on. Just like in the Windows file explorer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now my approach was rather straight forward:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Create a structure with some basic data.&lt;/LI&gt;&lt;LI&gt;Create a table type of that structure.&lt;/LI&gt;&lt;LI&gt;Now I went back to the structure from 1 and added another attribute named "subfolders" with the TYPE of 2.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Activation works well, no errors or warnings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I try to use this structure in my ABAP program it does not compile with the error "There is already a type called "My TableType Name".&lt;/P&gt;&lt;P&gt;Of course when I remove the attribute that I added in 3 everything works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone any ideas? Why does the structure activate? What is the best practice to do recursive structures in DDIC? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers Carsten&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 11:41:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247785#M1720508</guid>
      <dc:creator>CarstenKasper</dc:creator>
      <dc:date>2013-01-04T11:41:12Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247786#M1720509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good question. I have never tried creating a recursive structure but it's understandable that it's leading to issues. Simply because it will lead to an infinite level of nesting. I am not sure why the system did not raise any warnings/errors while activating the structure but possibly that's a limitation of the system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thinking of alternatives, have you considered converting your recursive structure into a single flat table which has a column for 'Parent' to help identify parent-child relationships?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 14:36:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247786#M1720509</guid>
      <dc:creator>kakshat</dc:creator>
      <dc:date>2013-01-04T14:36:42Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247787#M1720510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN __jive_emoticon_name="confused" __jive_macro_name="emoticon" class="jive_macro jive_macro_emoticon jive_emote" src="https://community.sap.com/1142/images/emoticons/confused.gif"&gt;&lt;/SPAN&gt; why do you want a recursive stucture?&lt;/P&gt;&lt;P&gt;When you create a structure in DDIC, corresponding template is created in the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;IT CAN NOT BE DYNAMIC.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In case you want a dynamic structure, it can be done only at runtime with the help of field symbols.&lt;/P&gt;&lt;P&gt;In case you want to create windows explorer kind of functionality, you can have a table/structure as:&lt;/P&gt;&lt;P&gt;Current_Folder XPrimary&lt;/P&gt;&lt;P&gt;Sub_folder&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPrimary&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 15:20:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247787#M1720510</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-01-04T15:20:53Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247788#M1720511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I do not want to create a dynamic structure, but a recursive one. &lt;/P&gt;&lt;P&gt;I do not want an "explorer kind of functionality", it is just meant as an example where it might be useful. If you feel better think of a tour to Disney Land. The tour consists of several distinctive groups. These groups can again consists of subgroups, which can have subgroups.... and so on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this particular case: I am calling a webservice that supplies to me an XML which is structured in this way: Hierarchical structure of folders with lots of subfolders. To keep things simple I tried to design the DDIC structure the same way. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My questions are:&lt;/P&gt;&lt;P&gt;Why does SE11 throw no error when I create and activate the structure?&lt;/P&gt;&lt;P&gt;Why does SE38/SE80/SE24 throw errors when the structure is used?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 15:39:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247788#M1720511</guid>
      <dc:creator>CarstenKasper</dc:creator>
      <dc:date>2013-01-04T15:39:37Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247789#M1720512</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am quite sure why recursive structures do not work in ABAP. My assumption:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;All local data that is not a reference is directly allocated on the heap. With recursive structures this would crash the system.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;Might this be correct?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My current solution to the problem is that I give the subfolders as a TYPE REF TO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: calibri,verdana,arial,sans-serif;"&gt;ZFOLDER&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;Attribute&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;Type&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;DDIC&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;NAME&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;TYPE&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;TEXT255&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;ID&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;TYPE&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;INT4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;ACCESS&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;TYPE&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;CHAR10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;SUBFOLDERS&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;TYPE REF TO&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;ZFOLDER_TAB&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-family: calibri,verdana,arial,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: calibri,verdana,arial,sans-serif;"&gt;ZFOLDER_TAB&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: calibri,verdana,arial,sans-serif;"&gt;Is a table type of ZFOLDER.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline; font-family: calibri,verdana,arial,sans-serif;"&gt;Any better ideas?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: calibri,verdana,arial,sans-serif;"&gt;cheers Carsten&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 15:45:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247789#M1720512</guid>
      <dc:creator>CarstenKasper</dc:creator>
      <dc:date>2013-01-04T15:45:30Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247790#M1720513</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am not sure what your requirement is, but you can still create the required structure during runtime, get all required data and then process and post the data to the same to custom tables. In that case, you would not need a structure to be recursive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The group example you have mentioned, i think is quite similar to the way hierarchy is maintained in OM(HR) using tables HRP1001. But it would be too complicated for XML file handling.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 15:59:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247790#M1720513</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-01-04T15:59:23Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247791#M1720514</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carsten,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead of a recursive DDIC structure, you could build your file directory with a recursive subroutine instead. The DDIC structure can be flat and need only have the row's unique ID, its parent's unique ID, and whatever data you want to display in the hierarchy. I did something similar to draw a WBS hierarchy using cl_salv_tree.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;SPAN class="L0S31"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt; &lt;SPAN class="L0S31"&gt;*&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Form&amp;nbsp; DRAW_TREE&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN class="L0S31"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN class="L0S52"&gt;form &lt;/SPAN&gt;draw_tree&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;using &lt;/SPAN&gt;iv_parent_id&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;salv_de_node_key&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; is_node&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;zstructure&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; it_hierarchy&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;type z&lt;/SPAN&gt;table_of_zstructure&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;data&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;: &lt;/SPAN&gt;lv_node_key&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;salv_de_node_key&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;field-symbols&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;: &lt;/SPAN&gt;&amp;lt;hier&amp;gt; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;zstructure&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S31"&gt;* Draw the current node&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;perform &lt;/SPAN&gt;draw_node&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;using&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;iv_parent_id&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; is_node&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;changing &lt;/SPAN&gt;lv_node_key&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S31"&gt;* Draw all children of the current node by recursively calling&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN class="L0S31"&gt;* the current subroutine&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;loop &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;at &lt;/SPAN&gt;it_hierarchy &lt;SPAN class="L0S52"&gt;assigning &lt;/SPAN&gt;&amp;lt;hier&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;where &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;parent_id &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;is_node&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;id&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;perform &lt;/SPAN&gt;draw_tree&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;using &lt;/SPAN&gt;lv_node_key&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;hier&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; it_hierarchy&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;endloop&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;endform&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="L0S31"&gt;" DRAW_TREE&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S31"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN class="L0S31"&gt;*&amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Form&amp;nbsp; DRAW_NODE&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN class="L0S31"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN class="L0S52"&gt;form &lt;/SPAN&gt;draw_node&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;using&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;iv_parent_id&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;salv_de_node_key&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; is_node&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;zstructure&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;changing &lt;/SPAN&gt;xv_key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;salv_de_node_key&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;data&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;: &lt;/SPAN&gt;lv_label&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;lvc_value&lt;SPAN class="L0S55"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_nodes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;ref &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;to &lt;/SPAN&gt;cl_salv_nodes&lt;SPAN class="L0S55"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lo_new_node&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;ref &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;to &lt;/SPAN&gt;cl_salv_node&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; lo_nodes &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;go_tree&lt;SPAN class="L0S70"&gt;-&amp;gt;&lt;/SPAN&gt;get_nodes&lt;SPAN class="L0S55"&gt;( &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;)&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&amp;nbsp;&amp;nbsp; " go_tree is type ref to &lt;/SPAN&gt;&lt;/SPAN&gt;cl_salv_tree&lt;SPAN class="L0S31"&gt;&lt;SPAN class="L0S55"&gt; &lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; lv_label &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;is_node&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;description&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;try&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;call &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;method &lt;/SPAN&gt;lo_nodes&lt;SPAN class="L0S70"&gt;-&amp;gt;&lt;/SPAN&gt;add_node&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;exporting&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; related_node&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;iv_parent_id&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; relationship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;cl_gui_column_tree&lt;SPAN class="L0S70"&gt;=&amp;gt;&lt;/SPAN&gt;relat_last_child&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data_row&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;is_node&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; collapsed_icon&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;is_node&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;icon&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; expanded_icon&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;is_node&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;icon&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row_style&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;if_salv_c_tree_style&lt;SPAN class="L0S70"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;default&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;text&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;lv_label&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; receiving&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; node&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;lo_new_node&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xv_key &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;lo_new_node&lt;SPAN class="L0S70"&gt;-&amp;gt;&lt;/SPAN&gt;get_key&lt;SPAN class="L0S55"&gt;( &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;)&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;catch &lt;/SPAN&gt;cx_root &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;lo_exception&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;endtry&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;endform&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="L0S31"&gt;" DRAW_NODE&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Amy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 16:06:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247791#M1720514</guid>
      <dc:creator>amy_king</dc:creator>
      <dc:date>2013-01-04T16:06:10Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247792#M1720515</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chinmay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you are correct, I could do with dynamically created structures during runtime, but one big drawback would be that I want to have the strucutre as method parameter. Of course I could go with TYPE REF TO DATA there... Which leads me to having to interprete the strucutre in all following methods.I am trying to encapsulate the WebService call and make it as simple to use as possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am lucky that I do not have to persist the data in any way. It is just for display purpose.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A hierarchical structure, which is well defined in the DDIC, is just my most favoured option. It would be so easy to handle. &lt;/P&gt;&lt;P&gt;Anyway I fear ABAP does not support this so I have to stick with either the solution I described below using TYPE REF TO or the one that Kumar pointed out with the PARENT column.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers Carsten&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 16:13:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247792#M1720515</guid>
      <dc:creator>CarstenKasper</dc:creator>
      <dc:date>2013-01-04T16:13:38Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247793#M1720516</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Amy,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for your input. I suppose the flat table approach you are going is the same that Kumar was talking about with the PARENT column.I am going to give that a try.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Though I am still wondering why I could activate the structure, but not use it in programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers Carsten&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2013 16:17:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247793#M1720516</guid>
      <dc:creator>CarstenKasper</dc:creator>
      <dc:date>2013-01-04T16:17:20Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247794#M1720517</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Carsten,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to replicate your situation. And here are a few observations - &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The program did syntax-check but gave an error during compilation. &lt;/LI&gt;&lt;LI&gt;I got an "Update terminated" express document just after the compilation. I checked the document and it directed me to ST22 &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/1142/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;ST22 - this finally answers why the compilation fails. ABAP runtime error &lt;EM&gt;DDIC_TYPE_RECURSION &lt;/EM&gt;is raised because of the termination of the SAP Kernel function "&lt;EM&gt;GenerateType&lt;/EM&gt;". Screenshot provided for your ready reference&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/171711" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are a couple of SAP notes which might interest you - &lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Note 1480102 - Recursive DDIC types&lt;/LI&gt;&lt;LI&gt;Note 595069 - Recursive check of inconsistent DDIC runtime objects&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me add the recursive check on the DDIC structure did not give any error either! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/171712" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your problem is similar to that of storing data of an IDoc. IDoc segments may be child segments(with lower hierarchy levels) &amp;amp; these child segments may have child segments of their own - pretty similar to your requirement, isn't it? &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/1142/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt; I'll suggest you refer to the structure &lt;EM&gt;EDIDD &lt;/EM&gt;when building yours - perhaps a better way to maintain child-parent relationship!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR,&lt;/P&gt;&lt;P&gt;Suhas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 05 Jan 2013 09:11:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247794#M1720517</guid>
      <dc:creator>SuhaSaha</dc:creator>
      <dc:date>2013-01-05T09:11:27Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive DDIC structures</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247795#M1720518</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for all the investigation effort you put into this!&lt;/P&gt;&lt;P&gt;Just had a look at the EDIDD structure. It seems to me that they to it by a character of length 1000. I think this is not really an option for me. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first note you give states that structures can be recursive using TYPE REF TO. This leads me to believe that a normal TYPE is not supported. Probably going this way then.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers Carsten&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2013 10:18:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/recursive-ddic-structures/m-p/9247795#M1720518</guid>
      <dc:creator>CarstenKasper</dc:creator>
      <dc:date>2013-01-07T10:18:01Z</dc:date>
    </item>
  </channel>
</rss>

