Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

clean programming

Former Member
0 Likes
579

dear all,

my problem to implement a dynamic programming.

What is to do?

More details here in this two points:

I have here an ITAB which is DYNAMIC!!!

loop at ITAB assigning <fs_wa>

  • 1) Here I have to get the table keys of the ITAB

  • 2) I have to search with the primaery key values in the same table ITAB.

endloop.

how I have to point 2. Is there any method or fuba in sap standard?

thank you very much

Moderator message: please use more descriptive subject lines for your posts.

Edited by: Thomas Zloch on Jun 18, 2011 11:03 AM

4 REPLIES 4
Read only

Sandra_Rossi
Active Contributor
0 Likes
541

Hi handeglo,

1) Here I have to get the table keys of the ITAB

Using RTTI (especially class CL_ABAP_TABLEDESCR, search forum and read its documentation for more information)

2) I have to search with the primaery key values in the same table ITAB.

READ TABLE may be used with dynamic fields, have a look at its documentation (it seems you don't need LOOP AT as you use the primary key).

BR

Sandra

Read only

0 Likes
541

Uh, I realized that CL_ABAP_TABLEDESCR is cleaner than field-symbols...

Read only

Former Member
0 Likes
541

When you say this ITAB is dynamic, it means generic (e.g. TYPE ANY)?

Have a look at [Field Symbols|http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3860358411d1829f0000e829fbfe/frameset.htm].

You dont need to know column name:


DATA: BEGIN OF LINE,
        COL1 TYPE I VALUE '11',
        COL2 TYPE I VALUE '22',
        COL3 TYPE I VALUE '33'.
DATA: END OF LINE.

DATA: COMP(5) VALUE 'COL3'.

FIELD-SYMBOLS: <F1> TYPE ANY, 
               <F2> TYPE ANY, 
               <F3> TYPE ANY.

ASSIGN LINE TO <F1>.
ASSIGN COMP TO <F2>.

DO 3 TIMES.
  ASSIGN COMPONENT SY-INDEX OF STRUCTURE <F1> TO <F3>.
  WRITE <F3>.
ENDDO.

ASSIGN COMPONENT <F2> OF STRUCTURE <F1> TO <F3>.
WRITE / <F3>.

OR


TABLES sbook.

DATA: name1(20) TYPE c VALUE 'SBOOK-FLDATE',
      name2(20) TYPE c VALUE 'NAME1'.

FIELD-SYMBOLS <fs> TYPE ANY.

ASSIGN TABLE FIELD (name1) TO <fs>.
WRITE: / 'SY-SUBRC:', sy-subrc.

ASSIGN TABLE FIELD (name2) TO <fs>.
WRITE: / 'SY-SUBRC:', sy-subrc.

Read only

0 Likes
541

Just one remark: TABLES and ASSIGN TABLE FIELD are obsolete (SAP library: "TABLE FIELD before (name) is only possible outside of classes" which means obsolete in SAP world). Use ASSIGN COMPONENT ... OF STRUCTURE instead, as in your first example).