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.
|