Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Getting started ... Alles für einen gelungenen Start.
12 Beiträge • Seite 1 von 1
12 Beiträge Seite 1 von 1

Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von Bubbleboy (ForumUser / 15 / 13 / 0 ) »
Hallo zusammen,

ich habe die Aufgabe erhalten für den User im Frontend eine Sortiermöglichkeit der dort angezeigten Spalten zu gestalten.

Meine Frage nun, bei einer Spaltenanzahl x wird das Coding ja ziemlich lang. Natürlich kann man hier schön Copy und Paste machen aber dennoch erscheint mir dies nicht sehr elegant.
Gibt es eine Möglichkeit das Coding kürzer zu gestalten?

Das Coding befindet sich in einer Methode. Der User arbeitet im Frontend auf einer Weboberfläche die mit dem FloorPlanManager gestaltet wurde.

Beispiel:

CLEAR ls_fields.
ls_fields-name = 'Name'.
ls_fields-allow_filter = abap_true.
ls_fields-allow_sort = abap_true.
APPEND ls_fields to et_field_description.

CLEAR ls_fields.
ls_fields-name = 'BTHDAY'.
ls_fields-allow_filter = abap_true.
ls_fields-allow_sort = abap_true.
APPEND ls_fields to et_field_description.

CLEAR ls_fields.
ls_fields-name = 'CITY'.
ls_fields-allow_filter = abap_true.
ls_fields-allow_sort = abap_true.
APPEND ls_fields to et_field_description.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Also, ich habe eine grundsätzliche Abneigung gegen APPEND und verwende INSERT (weil das bei allen Tabellentypen geht, nicht nur bei Standardtabellen), aber das nur am Rande.

Was du machen kannst, ist eine Methode (wir nennen sie mal FIELDS_ATTR( ) ), die allow_filter und allow_sort als optionale Parameter hat (default = ABAP_TRUE). Dann hättest du pro Feld nur die Anweisung

Code: Alles auswählen.

INSERT fields_attr( '...' ) into table et_field_description.
Die Methode sähe in etwa so aus:

Code: Alles auswählen.

METHODS:
"! Methode zum Füllen der Feldattribute
"! 
"! @parameter i_name          | TYPE wie ls_fields-name 
"! @parameter i_allow_filter  | Optional, Default = ABAP_TRUE
"! @parameter i_allow_sort   | Optional, Default = ABAP_TRUE
"! 
"! @parameter result         | Rückgabe der Feldleiste
FIELDS_ATTR
    IMPORTING
      i_name type 
     i_allow_filter type ABAP_BOOL
     i_allow_sort type ABAP_bool
  RETURNING
    VALUE( r_result ) TYPE 

METHOD FIELDS_ATTR.

r_result-name = i_name.
r_result-allow_filter = i_allow_filter.
r_result-allow_sort = i_allow_sort. 

ENDMETHOD.
Ob das nun wirklich eine Erleichterung / Vereinfachung ist, sei mal dahingestellt.....


Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
Bubbleboy

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von 4byte (Specialist / 124 / 37 / 35 ) »
hey Bubbleboy,

ich hab zwar null Ahnung von Floorplan :roll: aber kannst du dir aus der Weboberfläche nicht die technischen Eigenschaften der Spalten holen lassen wie bei einem Feldkatalog?

Dann könntest du über die IT loopen und die Methode von Ralf aufrufen :)

MFG 4Byte

Folgende Benutzer bedankten sich beim Autor 4byte für den Beitrag:
Bubbleboy

Es gibt 10 Menschen die binär verstehen :)

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Ralfs Lösung ist gut.

Wenn das Release mindestens 7.40 ist, geht das ganze Programm aber auch so mit nur einem einzigen Befehl:

Code: Alles auswählen.

et_field_description = value #( (name = 'Name'   allow_filter = abap_true allow_sort = abap_true )
                                (name = 'BTHDAY' allow_filter = abap_true allow_sort = abap_true )
                                (name = 'CITY'   allow_filter = abap_true allow_sort = abap_true ) ).

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Bubbleboy


Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
DeathAndPain hat geschrieben:Ralfs Lösung ist gut.
Wenn das Release mindestens 7.40 ist, geht das ganze Programm aber auch so mit nur einem einzigen Befehl
Davon konnte ich ohne Angabe aber nicht ausgehen....



Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von black_adept (Top Expert / 3946 / 105 / 886 ) »
ralf.wenzel hat geschrieben:Also, ich habe eine grundsätzliche Abneigung gegen APPEND und verwende INSERT (weil das bei allen Tabellentypen geht, nicht nur bei Standardtabellen), aber das nur am Rande.
Aber nach meiner Erfahrung ist APPEND ca. 10% schneller als INSERT

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Daniel

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von Bubbleboy (ForumUser / 15 / 13 / 0 ) »
Hallo zusammen,

die Ideen sind im Grunde allesamt brauchbar und halfen mir in meinen Denkansätzen. Wie ich sehe, fehlten ein paar Informationen. Aktuell darf ich den Absprung in eine Methode bzw. einen FuBa nicht machen, muss also in dieser Methode bleiben.

Die Version ist 7.5

Da ich also in dieser Methode arbeiten muss habe ich mich weiter umgehört. Und werde folgendes probieren:

Code: Alles auswählen.

Define custo.
ls_fields-name = &1.
ls_fields-allow_filter = abap_true.
ls_fields-allow_sort = abap_true.
Append ls_fields to et_field_description.

end-of-Definition.

custo: 'NAME',
'BTHDAY',
'CITY'.

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Wer "erfindet" denn solche Regeln, dass du keine eigene Methode schreiben darfst? Und wenn du keine eigene Methode schreiben darfst, warum dann ein eigenes Makro? Das ist eine Prozedur, die man nichtmal debuggen kann....

Das ist so wie "ich darf nicht Autofahren, weil das so gefährlich ist - nehme ich das Motorrad".


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von Bubbleboy (ForumUser / 15 / 13 / 0 ) »
Lustiger Vergleich.

Auf meiner grünen Wiese bzw. Sandbox darf ich aktuell machen wonach der Gusto, im Entwicklungssystem darf ich momentan nur unter starken Einschränkungen am Projekt mitwirken. Dies ist auch soweit in Ordnung und sei der Situation geschuldet.

Mit dem Makro stimmt als solches auch Punkto debuggen. Dabei ist hier genau diese Erfahrung gewünscht gewesen.

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von black_adept (Top Expert / 3946 / 105 / 886 ) »
ralf.wenzel hat geschrieben: Makro? Das ist eine Prozedur, die man nichtmal debuggen kann....
Ein Makro ist keine Prozedur sondern etwas grundlegend anderes!
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Du hast recht. Einigen wir uns auf "wiederverwendbare Codingstrecke".


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Zusammenfassungsmöglichkeit für wiederkehrendes Coding?

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Und wenn das Release 7.5 ist, warum nimmst Du dann nicht einfach mein Coding? Kurz, gut lesbar, performant, und Du brauchst noch nicht mal die Workarea-Variable (die kannste also aus dem DATA auch rausstreichen).

Stattdessen ein Makro zu machen ist bescheuert, da gebe ich Ralf vollkommen recht.

Seite 1 von 1

Vergleichbare Themen

12
Antw.
7093
Views
Coding verstecken
von migrationshansel » 11.03.2007 14:34 • Verfasst in ABAP® Core
5
Antw.
2465
Views
Frage zu Coding
von Mark33 » 15.03.2012 10:40 • Verfasst in ABAP® für Anfänger
2
Antw.
989
Views
Coding im Query
von chris61 » 12.09.2017 13:35 • Verfasst in ABAP® für Anfänger
6
Antw.
2412
Views
Verständnisfrage zu Coding
von Mark33 » 23.02.2012 15:22 • Verfasst in ABAP® für Anfänger
13
Antw.
7639
Views
Coding Fehler
von commolus » 15.05.2012 16:53 • Verfasst in ABAP Objects®

Aktuelle Forenbeiträge

SELECT CHAR16 in CHAR12-Feld
vor 10 Minuten von rob_abc 4 / 44
alv_grid aktualisieren
vor 4 Stunden von Egzon gelöst 4 / 81

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

SELECT CHAR16 in CHAR12-Feld
vor 10 Minuten von rob_abc 4 / 44
alv_grid aktualisieren
vor 4 Stunden von Egzon gelöst 4 / 81

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 170