<?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: Analyse structure component dynamically in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769790#M907094</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't think that, in ECC6 i succeeded my need, but in 4.6 it lacks instructions &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 23 Apr 2008 14:11:59 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-23T14:11:59Z</dc:date>
    <item>
      <title>Analyse structure component dynamically</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769788#M907092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i'm in 4.6C version.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i would like create a FORM with a structure as a parameter and i would like to analyse the components of the structure and finally serialize all fields of the structure in a string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My problem is that in my FORM i don't have the type of the structure, i can get it, but i can not access to the field of the structure, compiler tell me 'no type for the structure'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_data type p0045,&lt;/P&gt;&lt;P&gt;        l_str    type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FILL_data changing l_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM serialize_struc using l_data changing l_str.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Can you help me please ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Apr 2008 12:50:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769788#M907092</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-23T12:50:16Z</dc:date>
    </item>
    <item>
      <title>Re: Analyse structure component dynamically</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769789#M907093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good chance you need to pass it in a single line table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
DATA: l_data TYPE p0045,
      l_str TYPE string,
      it_data LIKE STANDARD TABLE OF l_data.

*
*
*
REFRESH it_data.
APPEND l_data TO it_data.

PERFORM fill_data TABLES it_data.

PERFORM serialize_struc TABLES it_data CHANGING l_str.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FILL_data
*&amp;amp;---------------------------------------------------------------------*
*      --&amp;gt;P_IT_DATA  text
*----------------------------------------------------------------------*
FORM fill_data TABLES   p_it_data STRUCTURE l_data.
  READ TABLE p_it_data INTO l_data INDEX 1.

*  Do you code here

ENDFORM.                    " FILL_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  serialize_struc
*&amp;amp;---------------------------------------------------------------------*
*      --&amp;gt;P_IT_DATA  text
*      &amp;lt;--P_L_STR  text
*----------------------------------------------------------------------*
FORM serialize_struc TABLES   p_it_data STRUCTURE l_data
                     CHANGING p_l_str.
  READ TABLE p_it_data INTO l_data INDEX 1.

*  Do you code here


ENDFORM.                    " serialize_struc
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Apr 2008 13:07:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769789#M907093</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-23T13:07:04Z</dc:date>
    </item>
    <item>
      <title>Re: Analyse structure component dynamically</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769790#M907094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't think that, in ECC6 i succeeded my need, but in 4.6 it lacks instructions &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Apr 2008 14:11:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769790#M907094</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-23T14:11:59Z</dc:date>
    </item>
    <item>
      <title>Re: Analyse structure component dynamically</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769791#M907095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try this and on break have a look in l_fields_table:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT test.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  struc TYPE mara,&lt;/P&gt;&lt;P&gt;  l_oref_structure TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;  l_fields_table TYPE TABLE OF rfc_fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM form_with_unknown_struc USING struc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FORM_WITH_UNKNOWN_STRUC&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM form_with_unknown_struc  USING struc.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    l_oref_structure TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;    l_fields_table TYPE TABLE OF rfc_fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_oref_structure ?= cl_abap_typedescr=&amp;gt;describe_by_data( struc ).&lt;/P&gt;&lt;P&gt;  PERFORM build_field_table TABLES l_fields_table&lt;/P&gt;&lt;P&gt;                            USING l_oref_structure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  BREAK-POINT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FORM_WITH_UNKNOWN_STRUC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_field_table&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_field_table TABLES pc_tab_fields STRUCTURE rfc_fields&lt;/P&gt;&lt;P&gt;                       USING  value(pi_oref_structure)&lt;/P&gt;&lt;P&gt;                                       TYPE REF TO cl_abap_structdescr.&lt;/P&gt;&lt;P&gt;  DATA l_tabname TYPE  dd02l-tabname.&lt;/P&gt;&lt;P&gt;  DATA l_component TYPE abap_compdescr.&lt;/P&gt;&lt;P&gt;  DATA l_field TYPE rfc_fields.&lt;/P&gt;&lt;P&gt;  DATA l_offset TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SEARCH pi_oref_structure-&amp;gt;absolute_name FOR '\TYPE='.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    sy-fdpos = sy-fdpos + STRLEN( '\TYPE=' ) .&lt;/P&gt;&lt;P&gt;    l_tabname = pi_oref_structure-&amp;gt;absolute_name+sy-fdpos.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    l_tabname = 'UNKNOWN'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_offset.&lt;/P&gt;&lt;P&gt;  l_field-tabname = l_tabname.&lt;/P&gt;&lt;P&gt;  LOOP AT pi_oref_structure-&amp;gt;components INTO l_component.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING l_component TO l_field.&lt;/P&gt;&lt;P&gt;    l_field-fieldname = l_component-name.&lt;/P&gt;&lt;P&gt;    l_field-exid = l_component-type_kind.&lt;/P&gt;&lt;P&gt;    l_field-intlength = l_component-length.&lt;/P&gt;&lt;P&gt;    l_field-position = sy-tabix.&lt;/P&gt;&lt;P&gt;    l_field-offset = l_offset.&lt;/P&gt;&lt;P&gt;    l_offset = l_offset + l_field-intlength.&lt;/P&gt;&lt;P&gt;    APPEND l_field TO pc_tab_fields.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_FIELD_TABLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With kind regards&lt;/P&gt;&lt;P&gt;Walter Habich&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Apr 2008 14:42:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/analyse-structure-component-dynamically/m-p/3769791#M907095</guid>
      <dc:creator>former_member435013</dc:creator>
      <dc:date>2008-04-23T14:42:16Z</dc:date>
    </item>
  </channel>
</rss>

