Dynamic structure

hello everyone,

Does anyone know if it's possible to declare a dynamic structure?
my program receives a record-field of 1000, and I need to overlay this record with a structure that needs to be dynamic.
any advice is welcome.

Kind regards,
 

Reply : Subject : Dynamic structure

Hi,

if your structure changes from one defined structure to another one, you can try this:
ASSIGN yourfield CASTING TYPE yourstructure
or CREATE DATA yourdata TYPE yourstructure.
If your structure has to be really dynamic - like ALV - you can use the class CL_ALV_TABLE_CREATE.

Hope this helps,
 

Reply : Subject : Dynamic structure

It has to be really dynamic.

can you tell me how to use this class?
I've never programmed object-oriented ABAP before,
and don't know much about it...

Is there documentation, help files?

thx in advance,
 

Reply : Subject : Dynamic structure

Hi,

try this example:

=====================================

REPORT zmaschl_create_data_dynamic .

TYPE-POOLS: slis.

DATA: it_fcat TYPE slis_t_fieldcat_alv,
      is_fcat LIKE LINE OF it_fcat.
DATA: it_fieldcat TYPE lvc_t_fcat,
      is_fieldcat LIKE LINE OF it_fieldcat.
DATA: new_table TYPE REF TO data.
DATA: new_line  TYPE REF TO data.
FIELD-SYMBOLS: <l_table> TYPE ANY TABLE,
               <l_line>  TYPE ANY,
               <l_field> TYPE ANY.

* Build fieldcat
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
           i_structure_name = 'SYST'
       CHANGING
           ct_fieldcat      = it_fcat[].
   LOOP AT it_fcat INTO is_fcat WHERE NOT reptext_ddic IS initial.
        MOVE-CORRESPONDING is_fcat TO is_fieldcat.
        is_fieldcat-fieldname = is_fcat-fieldname.
        is_fieldcat-ref_field = is_fcat-fieldname.
        is_fieldcat-ref_table = is_fcat-ref_tabname.
        APPEND is_fieldcat TO it_fieldcat.
   ENDLOOP.

* Create a new Table
CALL METHOD cl_alv_table_create=>create_dynamic_table
       EXPORTING
        it_fieldcatalog = it_fieldcat
       IMPORTING
        ep_table        = new_table.

* Create a new Line with the same structure of the table.
ASSIGN new_table->* TO <l_table>.
CREATE DATA new_line LIKE LINE OF <l_table>.
ASSIGN new_line->* TO <l_line>.

* Test it...
   DO 30 TIMES.
      ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
      <l_field> = sy-index.
      INSERT <l_line> INTO TABLE <l_table>.
   ENDDO.

   LOOP AT <l_table> ASSIGNING <l_line>.
      ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
      WRITE <l_field>.
   ENDLOOP.
 

Reply : Subject : Dynamic structure

perfect,

thank you,

More Function Module
Functions / SAP Script / ALV

Tables
Database Table

ABAP Books List
ABAP/4 Certification, Programming, Smartforms, Sapscripts and Object Oriented Programming Books

Smart Forms
SAP Smartforms

ABAP Menu:
ABAP Example Hints and Tips

Return to Index:-
SAP ABAP/4 Programming, Basis Administration, Configuration Hints and Tips

(c) www.gotothings.com All material on this site is Copyright.
Every effort is made to ensure the content integrity.  Information used on this site is at your own risk.
All product names are trademarks of their respective companies.  The site www.gotothings.com is in no way affiliated with SAP AG.
Any unauthorised copying or mirroring is prohibited.