2012 Oct 11 8:10 AM
Hi,
I have come across a very annoying issue yesterday and I just want to confirm whether this is still so or it's just because our system is outdated: I have a code querying several DD tables, among them DD03L (fields) and DD03T (field_texts). Now, some tables - well, I came across only one, BKPF - do exist in DD03L, so I can get a list of all the fields in BKPF - but don't exist in DD03T, so I cannot get any field_texts for the fields in BKPF there. The field_names exist in DD03T, but several times in several other tables, so I have duplicates - there are e.g. 3 different fields 'BUDAT' in 3 different tables with 3 different texts - so I cannot easily get rid of duplicates or be sure which is the correct text for the field BUDAT in table BKPF.
Is this still so with an up-to-date IDES system?
Thanks a lot!
Best regards,
Sapperdapper
2012 Oct 11 9:14 AM
Hi Friedrich,
DD03T table refer to texts directly associated with table fields instead of Data element.
As BUDAT refers to data element in BKPF table, you need to give BUDAT in DD04T table with other key fields, so that you can get the correct text description.
Thanks & Regards,
Ramya
2012 Oct 11 9:14 AM
Hi Friedrich,
DD03T table refer to texts directly associated with table fields instead of Data element.
As BUDAT refers to data element in BKPF table, you need to give BUDAT in DD04T table with other key fields, so that you can get the correct text description.
Thanks & Regards,
Ramya
2012 Oct 11 9:25 AM
Hi ramya,
ah, that is interesting. I didn't know of that table yet. So I can get the texts on all the fields which are in a specific table from there? Then I wouldn't need DD03T anymore.
But how come that, e.g. for the field BELNR, I have three texts (different) in DD03T and only one in DD04T?
P.S.: That's not quite right - there are 48 hits for BELNR in DD03T, but three have German texts, all different. There is none at all in DD04T...
2012 Oct 11 1:42 PM
Hi Friedrich,
You need to give data element name in DD04T table instead of field name.
2012 Oct 12 8:57 AM
Hi ramya,
okay. That table is unknown to me, so it would take me too long to really check it - that a) there is exactly one text for every field I need and b) the text is really the same in all tables that might be used.
I will just try and replace the table DD03T in my code with DD04T and FIELDNAME with ROLLNAME and see what happens.
Best regards,
Sapperdapper
2012 Oct 12 9:23 AM
Hi ramya,
table DD04T does not name the table at all, that looks strange to me because I don't think a field is always called the same in all tables?
Best regards,
Sapperdapper
2012 Oct 12 11:02 AM
DD03L contains the list of fields of the table, DD03T only contains fields that are defined as "Predefined Type", it will not contain fields defined via "Data Element".
So depending on Component Type (DD03L-COMPTYPE)
So for "Data Element" you MUST either
- Read DD04T for data element text as Former Member wrote, but use the data element name NOT the field name to access this table (DD03L-ROLLNAME)
- Use a FM like DDIF_FIELDINFO_GET
- Use a Class like cl_abap_structdescr=>describe_by_name( 'TABLENAME' ).
And for "Predefined Type"
- Read DD03T with both fields table AND field names (also filter with AS4LOCAL = 'A' activated)
- or use previous tools (FM/Class)
Also, if you don't use FM or Class, there can be other objects in table definition like included/appended structures.
Regards,
Raymond