Code: Alles auswählen.
LOOP AT itab INTO wa.
IF i_char_number < numofchar( wa-attr_name ).
i_char_number = numofchar( wa-attr_name ).
ENDIF.
ENDLOOP.
LOOP AT itab INTO wa.
lv_attr_name = wa-attr_name .
lv_attr_value = wa-attr_value .
DATA: nome TYPE c LENGTH 50,
lv_individual_num TYPE i.
lv_individual_num = i_char_number - numofchar( lv_attr_name ).
CONCATENATE lv_attr_name nome+lv_individual_num '= ' lv_attr_value INTO text_line RESPECTING BLANKS.
INSERT text_line INTO TABLE it_text.
ENDLOOP.
Code: Alles auswählen.
* CONCATENATE lv_attr_name nome+lv_individual_num '= ' lv_attr_value INTO text_line RESPECTING BLANKS.
text_line = lv_attr_name nome.
text_line+lv_individual_num = '='.
concatenate text_line lv_attr_value INTO text_line separated by space.
Code: Alles auswählen.
data:
l_strlen type i,
l_length type i,
l_string TYPE string,
l_string_tab type stringtab.
field-symbols:
<l_string> type string,
<l_wa> like line of itab.
clear l_length.
LOOP AT itab assigning <l_wa> .
l_strlen = strlen( <l_wa>-attr_name ).
IF l_strlen GT l_length.
l_length = l_strlen.
ENDIF.
ENDLOOP.
loop at itab assigning <l_wa>.
append INITIAL line to l_string_tab assigning <l_string>.
concatenate '=' <l_wa>-attr_value INTO <l_string> separated by space.
shift <l_string> by l_length PLACES right.
overlay <l_string> with <l_string>-attr_name.
ENDLOOP.
concatenate lines of l_string_tab into l_string separated by cl_abap_charutilities=>cr_lf.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Zubasa
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Zubasa
Zubasa hat geschrieben: PS: Bei ADT sein Coding ist ein kleiner Fehler drinne:
Nicht --> overlay <l_string> with <l_string>-attr_name.
Sondern --> overlay <l_string> with <l_wa>-attr_name.![]()
Bei mir stehen aber am Ende keine Leerzeichen, sondern ein '='a-dead-trousers hat geschrieben:hi!
@Ratazong Respecting Blanks ist seit Basis 6.0 oder 7.0 dabei und soll bei Strings dafür sorgen, dass die Lerrzeichen am Ende beim Concatenate nicht weggelöscht werden. Deswegen funktioniert deine Lösung auch nicht, weil die Leerzeichen von text_line am Ende ignoriert werden![]()
lg ADT
Ach so, ja stimmtRatazong hat geschrieben:Bei mir stehen aber am Ende keine Leerzeichen, sondern ein '='a-dead-trousers hat geschrieben:hi!
@Ratazong Respecting Blanks ist seit Basis 6.0 oder 7.0 dabei und soll bei Strings dafür sorgen, dass die Lerrzeichen am Ende beim Concatenate nicht weggelöscht werden. Deswegen funktioniert deine Lösung auch nicht, weil die Leerzeichen von text_line am Ende ignoriert werden![]()
lg ADT
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Zubasa