Folgende Benutzer bedankten sich beim Autor sap_enthusiast für den Beitrag:
Nion
Edit: Das Endprodukt.
Code: Alles auswählen.
PARAMETERS word TYPE string DEFAULT 'AAALAAF'.
INTERFACE if_count.
TYPES: BEGIN OF ts_result,
char TYPE c LENGTH 1,
occ TYPE i,
END OF ts_result,
tt_result TYPE SORTED TABLE OF ts_result WITH UNIQUE KEY char.
METHODS count
IMPORTING
word TYPE string
RETURNING
VALUE(result) TYPE tt_result.
ENDINTERFACE.
CLASS sol_reduce DEFINITION.
PUBLIC SECTION.
INTERFACES if_count.
ENDCLASS.
CLASS sol_reduce IMPLEMENTATION.
METHOD if_count~count.
result = REDUCE if_count=>tt_result(
INIT res = VALUE #( )
FOR i = 0 THEN i + 1 WHILE i < strlen( word )
NEXT res = COND #( WHEN NOT line_exists( res[ char = word+i(1) ] ) THEN
VALUE #( BASE res (
char = word+i(1)
occ = count_any_of( val = word sub = word+i(1) ) ) ) ELSE res ) ).
ENDMETHOD.
ENDCLASS.
CLASS sol_while DEFINITION.
PUBLIC SECTION.
INTERFACES if_count.
ENDCLASS.
CLASS sol_while IMPLEMENTATION.
METHOD if_count~count.
DATA j TYPE i.
WHILE j < strlen( word ).
DATA(current) = word+j(1).
ADD 1 TO j.
IF NOT line_exists( result[ char = current ] ).
INSERT VALUE #( char = current occ = count_any_of( val = word sub = current ) ) INTO TABLE result.
ENDIF.
ENDWHILE.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA(out) = cl_demo_output=>new( ).
out->write_data( CAST if_count( NEW sol_reduce( ) )->count( word ) ).
out->write_data( CAST if_count( NEW sol_while( ) )->count( word ) ).
out->display( ).
Code: Alles auswählen.
laenge = strlen( text ).
DO laenge TIMES.
Code: Alles auswählen.
DO strlen( text ) times.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Nion
Ich möchte niemanden zu nahe treten, aber nach 1 Woche ABAP wäre ich mit dem Quellcode von ewx ziemlich überfordert gewesen. Und ich glaube nicht, dass es euch beiden, DeathAndPain und ewx, in derselben Situation anders ergangen wäre.Moin,
ich bin komplette Anfängerin (habe vor 1 Woche mit ABAP angefangen) und hoffe, ihr könnt mir helfen, ich stehe etwas auf dem Schlauch.
Folgende Benutzer bedankten sich beim Autor PeterPaletti für den Beitrag:
Nion
Da hast du Recht, das wäre mir genauso gegangen. Und die Lösung mit Reduce hat mich einiges an Kopfzerbrechen gekostet. Deswegen hatte ich gewartet, bis Nion die Lösung gepostet hatte. Dann kann er entscheiden, was er damit/ daraus machen möchte.PeterPaletti hat geschrieben: ↑25.02.2023 04:39@DeathAndPain und ewx
Nion schrieb an anderer Stelle:Ich möchte niemanden zu nahe treten, aber nach 1 Woche ABAP wäre ich mit dem Quellcode von ewx ziemlich überfordert gewesen. Und ich glaube nicht, dass es euch beiden, DeathAndPain und ewx, in derselben Situation anders ergangen wäre.Moin,
ich bin komplette Anfängerin (habe vor 1 Woche mit ABAP angefangen) und hoffe, ihr könnt mir helfen, ich stehe etwas auf dem Schlauch.
Da hast du Recht, das wäre mir genauso gegangen. Und die Lösung mit Reduce hat mich einiges an Kopfzerbrechen gekostet. Deswegen hatte ich gewartet, bis Nion die Lösung gepostet hatte. Dann kann er entscheiden, was er damit/ daraus machen möchte.PeterPaletti hat geschrieben: ↑25.02.2023 04:39@DeathAndPain und ewx
Nion schrieb an anderer Stelle:Ich möchte niemanden zu nahe treten, aber nach 1 Woche ABAP wäre ich mit dem Quellcode von ewx ziemlich überfordert gewesen. Und ich glaube nicht, dass es euch beiden, DeathAndPain und ewx, in derselben Situation anders ergangen wäre.Moin,
ich bin komplette Anfängerin (habe vor 1 Woche mit ABAP angefangen) und hoffe, ihr könnt mir helfen, ich stehe etwas auf dem Schlauch.
Code: Alles auswählen.
gesuchter_wert = meinetabelle[ schluessel1 = 'ABC' ]-spalte4.
Code: Alles auswählen.
DATA hilfsstruktur LIKE LINE OF meinetabelle.
READ TABLE meinetabelle WITH KEY schluessel1 = 'ABC' INTO hilfsstruktur.
gesuchter_wert = hilfsstruktur-spalte4.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Nion