Gesucht: Elegantes Coding

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
29 Beiträge • Seite 1 von 2 (current) Nächste
29 Beiträge Seite 1 von 2 (current) Nächste

Gesucht: Elegantes Coding

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Eine kleine, häufig mal widerkehrende Aufgabe für all diejenigen, die sich einer kleinen Challenge stellen mögen oder einfach zeigen wollen, was er/sie/man mit ABAP machen kann.

Gegeben sei eine Standardtabelle von Integerzahlen. Diese soll umgewandelt werden in eine möglichst kurze Von-Bis Tabelle.
Beispielcoding:

Code: Alles auswählen.

REPORT.

CLASS lcl DEFINITION FINAL.
  PUBLIC SECTION.
    TYPES: BEGIN OF lts_from_to,
             from TYPE i,
             to   TYPE i,
           END OF lts_from_to,
           ltt_from_to TYPE STANDARD TABLE OF lts_from_to WITH NON-UNIQUE DEFAULT KEY.
    CLASS-METHODS:
      magic IMPORTING it_zahlen TYPE integer_tab
            RETURNING value(rt_data_from_to) TYPE ltt_from_to.
ENDCLASS.                    "lcl DEFINITION

CLASS lcl IMPLEMENTATION.
  METHOD magic.
* Hier bitte tolles Coding einfügen    
  ENDMETHOD.                    "magic
ENDCLASS.                    "lcl IMPLEMENTATION

END-OF-SELECTION.
  DATA: gt_zahlen TYPE integer_tab,
        gt_from_to TYPE lcl=>ltt_from_to.

  APPEND 17      TO gt_zahlen.
  APPEND 23      TO gt_zahlen.
  APPEND 18      TO gt_zahlen.
  APPEND 21      TO gt_zahlen.
  APPEND 1111111 TO gt_zahlen.
  APPEND -23     TO gt_zahlen.
  APPEND 19      TO gt_zahlen.
  APPEND -22     TO gt_zahlen.
  APPEND -21     TO gt_zahlen.

  gt_from_to = lcl=>magic( gt_zahlen ).
Bei dem Beispielcoding genannten Beispiel sollten dann am Ende folgende Zeilen in der Rückgabetabelle stehen (sortierung egal) - und die Methode sollte auch mit anders gefüllten Eingabetabellen klar kommen.

Code: Alles auswählen.

von    bis
21       21
-23      -21
17       19
23       23
1111111  1111111

Gesucht ist ein möglichst elegantes oder kurzes ( wenn jemand es kurz und elegant hinbekommt um so besser ) Coding, welches die Umwandlung vornimmt. Es gibt vielleicht sehr kurze Lösungen, die laufzeittechnisch eine Katastrophe wären - solche Lösungen sind nicht gefragt!
Bitte auch den SAP-Releasestand mitgeben unter dem die Lösung läuft - denn je höher der Release um so mehr ABAP-Befehle/Möglichkeiten gibt es um die Aufgabe zu meistern. Gerade bei dieser Aufgabe schätze ich, dass auf älteren Releases deutlich mehr Zeilen/Befehle zusammen kommen als in modernen Releases.

P.S. Es steht natürlich jedem frei die hier zur Schau gestellten Lösungen zu kommentieren und kritisieren - darum geht es ja gerade.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

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


Re: Gesucht: Elegantes Coding

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Mein Vorschlag:

Code: Alles auswählen.

METHOD magic.

  DATA:
    lt_local TYPE integer_tab.

  FIELD-SYMBOLS:
    <ls_from_to> TYPE lts_from_to.

  CLEAR rt_data_from_to.

  lt_local = it_zahlen. "Lokale Kopie für Sortierung
  DELETE ADJACENT DUPLICATES FROM lt_local.
  SORT lt_local.

  LOOP AT lt_local ASSIGNING FIELD-SYMBOL(<ld_local>).
    IF ( <ls_from_to> IS NOT ASSIGNED )
      OR ( <ls_from_to>-to + 1 ) NE <ld_local>.
      APPEND INITIAL LINE TO rt_data_from_to ASSIGNING <ls_from_to>.
      <ls_from_to>-from = <ld_local>.
    ENDIF.
    <ls_from_to>-to = <ld_local>.
    DELETE lt_local.
  ENDLOOP.

ENDMETHOD.
Verdoppelt "leider" die Quelldaten für die Sortierung.

System: siehe meine Signatur

EDIT: Doppelte Einträge dürfen nicht vorkommen.
Zuletzt geändert von a-dead-trousers am 16.08.2017 15:14, insgesamt 1-mal geändert.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Gesucht: Elegantes Coding

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Vorschlag Nummer 2:

Code: Alles auswählen.

METHOD magic.

  FIELD-SYMBOLS:
    <ls_from_to> TYPE lts_from_to.

  CLEAR rt_data_from_to.

  LOOP AT it_zahlen ASSIGNING FIELD-SYMBOL(<ld_local>)
    GROUP BY ( number = <ld_local> ) ASCENDING
    ASSIGNING FIELD-SYMBOL(<ld_group>).
    IF ( <ls_from_to> IS NOT ASSIGNED )
      OR ( <ls_from_to>-to + 1 ) NE <ld_group>-number.
      APPEND INITIAL LINE TO rt_data_from_to ASSIGNING <ls_from_to>.
      <ls_from_to>-from = <ld_group>-number.
    ENDIF.
    <ls_from_to>-to = <ld_group>-number.
  ENDLOOP.

ENDMETHOD.
Kommt ohne expliziter Sortierung sowie Hilfsvariablen zurecht und erkennt doppelt vorhandene Einträge. Verlangt aber zwingend ein neueres Basis Release.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
DeathAndPain

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Gesucht: Elegantes Coding

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Administrativer Hinweis zur Aufforderung zum Kommentieren

Falls das jemand befürchtet: Ich werde hier nichts mehr kommentieren. Eine Lösung für eine Frage liefere ich gern, aber alles, was über Fakten hinausgeht, schreibe ich hier nicht mehr. Dies gilt insbesondere für Meinungsäußerungen. Meine Zeit ist mir zu schade für solcherlei Diskussionen, insbesondere seit ich hier erleben musste, dass Mitglieder sich hier in einer Weise darstellen, die fernab der Realität ist.

Es braucht also niemand zu befürchten, dass ich eine Lösung in irgendeiner Form kritisiere und daraus irgendwelche Diskussionen entstehen. :D


Ralf *bittet darum, diese Entscheidung im Forum nicht zu diskutieren, sondern lediglich zur Kenntnis zu nehmen....
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Gesucht: Elegantes Coding

Beitrag von sapyard (ForumUser / 31 / 5 / 2 ) »
I am an Old ABAPer. Do not have much trick. Just wrote plain ABAP to meet the requirement.. :-)

Please do not bash me.. :)

Code: Alles auswählen.

* Not that great coding. Just meeting the requirement.

    DATA:
      lt_local   TYPE integer_tab,
      ls_from_to TYPE lts_from_to.

    FREE rt_data_from_to[].

    lt_local = it_zahlen. "Lokale Kopie für Sortierung

    SORT lt_local.

    LOOP AT lt_local INTO DATA(ls_local).

* As per data pattern, even numbers are skipped
* Also, data in TO field is not equal to any FROM field data
      IF ( ( ls_local MOD 2 ) EQ 0 ) OR ( ls_from_to-to EQ ls_local ).

        CONTINUE.

      ELSE.

*       Blindly assign the FROM and TO from loop
        ls_from_to-from = ls_from_to-to = ls_local.

*       Read the 3rd row from here (found after sorting)
        READ TABLE lt_local INTO DATA(ls_local_plus_2) INDEX ( sy-tabix + 2 ).

*       As per pattern, if the third row entry is equal to (current + 2)
        IF sy-subrc EQ 0 AND ( ( ( ls_local + 2 ) EQ ls_local_plus_2 ) ).

*         Assign that 3rd row entry to TO
          ls_from_to-to = ls_local_plus_2.

*         Append the exporting table
          APPEND ls_from_to TO rt_data_from_to.

        ELSE. " If the +2 Pattern does not match

*         Just keep FROM and TO same

*         Append the exporting table
          APPEND ls_from_to TO rt_data_from_to.

        ENDIF.

      ENDIF.

    ENDLOOP.
Thanking you.

With Regards,
Raju.
----------------------
Raju Shrestha
www.sapyard.com
----------------------

Re: Gesucht: Elegantes Coding

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
@a-dead-trousers
LOOP AT .... GROUP BY ist ja recht neu. Habe ich noch nicht gekannt.
In der Doku schreiben sie von zwei Phasen. Da frage ich mich, wie performant das ist. Hast du dazu weitere Information?

Re: Gesucht: Elegantes Coding

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Und hier noch eine "old fashioned" Lösung, die ebenfalls ohne zusätzliche Tabelle auskommt und bis auf einen IF (könnte man anpassen), wohl in allen SAP Releases mit ABAP-OO laufen sollte.

Code: Alles auswählen.

method magic.

    data:  l_waft      type lts_from_to.
    data:  l_next      type lts_from_to.

    loop at it_zahlen into l_waft-from.
         append l_waft to rt_data_from_to.
    endloop.

    sort  rt_data_from_to by from.

    loop at rt_data_from_to into l_waft where to is initial.
      delete rt_data_from_to.
      l_waft-to = l_waft-from.
      loop at rt_data_from_to into l_next where to is initial.
        if  l_next-from ne ( l_waft-to + 1 ).
          append l_waft to rt_data_from_to.
          exit.
        endif.
        l_waft-to = l_next-from.
        delete rt_data_from_to.
      endloop.
      if sy-subrc ne 0.
        append l_waft to rt_data_from_to.
      endif.
    endloop.

  endmethod.

Re: Gesucht: Elegantes Coding

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Dele hat geschrieben:@a-dead-trousers
LOOP AT .... GROUP BY ist ja recht neu. Habe ich noch nicht gekannt.
In der Doku schreiben sie von zwei Phasen. Da frage ich mich, wie performant das ist. Hast du dazu weitere Information?
Zuerst bildet der Befehl die Gruppen anhand des Schlüssels ab. Das sollte aufgrund interner Optimierungen relativ zügig passieren. Erst in der zweiten Phase werden die Befehle die zwischen LOOP und ENDLOOP stehen für die gefundenen Gruppen ausgeführt. Das normale LOOP würde gleich mit der Ausführung loslegen.
Was die Performance betrifft, hätte ich den Zusatz WITHOUT MEMBERS noch einbauen könnnen. Der sollte es noch etwas schneller machen, da in diesem Beispiel in der zweiten Phase ein LOOP AT GROUP nicht benötigt wird.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Gesucht: Elegantes Coding

Beitrag von sapnup (ForumUser / 42 / 14 / 12 ) »
Weder besonders kurz noch effizient, aber was solls

Code: Alles auswählen.

  METHOD magic.

    DATA: sytabix TYPE sy-tabix,
          zahlen_tab TYPE STANDARD TABLE OF i,
          von    TYPE i.

    FIELD-SYMBOLS: <fs> TYPE i.

    zahlen_tab = it_zahlen.

    SORT zahlen_tab ASCENDING.

    READ TABLE zahlen_tab ASSIGNING <fs>  INDEX  1.

    von = <fs>.

    LOOP AT zahlen_tab ASSIGNING <fs>.

      sytabix = sy-tabix.

      READ TABLE zahlen_tab TRANSPORTING NO FIELDS WITH KEY table_line = ( <fs> + 1 ).

      IF sy-subrc <> 0.

        APPEND VALUE lts_from_to( from = von to = <fs> ) TO rt_data_from_to.

        READ TABLE zahlen_tab INTO von INDEX sytabix + 1.

        IF sy-subrc <> 0.

          BREAK-POINT.

*      fertig.
          return.

        ENDIF.

        CONTINUE.

      ENDIF.

    ENDLOOP.

  ENDMETHOD. 
* Basis 740

Re: Gesucht: Elegantes Coding

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Interessantes Problem. Ich musste erst die Lösungen ausprobieren und durchgehen, bevor ich überhaupt verstanden habe, was genau gefordert war. Die Lösung mit dem GROUP BY ist sicherlich die eleganteste.

Nochmal eine andere Frage, weil hier immer mal wieder das Release erwähnt wird: Was sind denn bei euch noch so für Releases unterwegs? Ich habe keinen Überblick, welche Releases derzeit noch supportet werden und real am Markt vorhanden sind. Ich persönlich bin da ziemlich verwöhnt, weil ich auf 7.50 sitze.

Re: Gesucht: Elegantes Coding

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Kleines Resumé nach einer knappen Woche.
Der Lösungsansatz ist eigentlich bei allen Vorschlägen gleich gewesen. Es wird die Ursprungstabelle zunächst sortiert ( bei der Version mit dem LOOP ... GROUP wird das wahrscheinlich implizit vom System gemacht ) und danach wird dann die Zieltabelle sukzessive aufgebaut, wobei geschaut wird ob der Bis-Wert der aktuellen Zeile der Zieltabelle erhöht werden kann, weil es keine Lücke gibt oder nicht.
Da es sich bei den meisten Fällen um ein 1-Pass Vorgehen handelt, sollte die Laufzeit vergleichbar sein. Die Laufzeit LOOP ... GROUP Version kann ich nicht beurteilen da ich nicht weiß, wie das intern behandelt wird.
Vielen Dank an alle die hier eine Lösung gepostet haben.
adt - 1. Lösung. Das ist eigentlich meine präferierte Lösung, da sie recht kurz und auch gut zu verstehen ist und auf viele Releaseständen lauffähig ist bzw. leicht auf auf noch ältere Releases angepasst werden kann.

adt - 2. Lösung. Die meisten meiner Kunden würden wohl die andere Lösung vorziehen, da sie von mehr Leuten, die das warten sollen, verstanden wird. Aber allein schon die Demo was mit den neuen LOOP-Zusätzen möglich ist, ist Gold wert. Der angesprochene Verzicht auf Hilfsvariablen macht es auf jeden Fall zu einem eleganten Coding auch wenn ich fürchte, dass unterhalb der ABAP-Schicht trotzdem diese Hilfsvariablen durch das Group aufgebaut werden.

sapyard: Für das Beispielcoding wird zwar ein korrektes Ergebnis zurückgeliefert - aber sobald man die Vorgabewerte ändert ( z.B. indem man die Zeile mit der -21 weglässt ) kommt kein korrektes Ergebnis mehr zurück. Leider wurde die Eingangsbemerkung, dass auch anders gefüllte Eingabetabellen verarbeitet werden können sollen nicht berücksichtigt. Andererseits bin ich auf Grund der anderen Antworten, die sapyard in diesem Forum gegeben hat, der Meinung, dass es sich bei sapyard um eine KI handelt, die auf diesem Forum trainiert wird. Somit ist diese Lösung mal außer Konkurrenz

Dele: Auch eine sehr elegante Lösung, auch wenn ich erst mal genauer schauen musste in welchem der geschachtelten Loops denn nun was genau aus der gerade bearbeiteten Tabelle gelöscht wird. Die vielen "DELETE"s hätte ich bis letzte Woche als Geschwindkeitsbelastung gesehen - aber ein paar PMs mit ADT zu dem Theme "DELETE im LOOP" hat mir gezeigt, dass SAP da in den letzten Jahren gut nachgelegt hat und das scheinbar keine Probleme mehr bereitet. Durch das Löschen und den EXIT im inneren LOOP wird das Ganze nachher de facto auch ein Single-Pass der Tabelle - auch wenn ich hier demjenigen, der das Debuggen soll viel Spaß wünsche :)

sapnup: Dies ist wohl der direkteste Ansatz. Man schaut pro Eintrag nach, ob sich der Folgeeintrag auch in der Tabelle befindet. Ist das der Fall wird das aktuelle Intervall verlängert und es wird geschaut ob der nächste Eintrag auch direkt an das aktuelle Interall angrenzt. Wenn das nicht der Fall ist, wird das aktuelle Intervall in die Zieltabelle geschrieben und ein neues Intervall begonnen. Wie schon vom Autor angemerkt nicht allzu effektiv, da die Eigenschaft, dass durch die Sortierung ein möglicherweise vorhandenes Folgeelement immer in der nächsten Zeile liegen muss nicht berücksichtigt wird und dadurch durch die vielen READs bei sehr großen Tabellen durchaus einige Zeit ins Land gehen könnte. Aber bei kleinen Liste ist auch dies ein mögliches Vorgehen.

Wie man sieht - viele Wege führen nach Rom, und viele von diesen laufen auch recht parallel.

Vielen Dank an alle die mitgemacht haben - egal ob Coding oder Kommentar.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Gesucht: Elegantes Coding

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Noch etwas zur Laufzeit bei LOOP AT ... GROUP BY:
Laut der Aussage unseres Schulungsleiters bei der Delta-Schulung ist der GROUP BY Zusatz intern so gut optimiert, dass man trotzdem schneller als mit einer Hilfsvariable für die Erkennung der Gruppenstufen ist. Das bei Standard Tabellen zusätzlich nötige SORT ist bei GROUP BY angeblich auch besser gelöst.

Ein weiterer Vorteil ist:
Wenn man keine Hilfsvariablen verwenden möchte hat man zwar bisher auch schon die Möglichkeit gehabt mit AT NEW ... ENDAT zu arbeiten, aber da muss die Tabellenstruktur passen und man kann es nicht gerade mal einfach so in ein bestehendes Coding einbauen.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
black_adeptThomas R.

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Gesucht: Elegantes Coding

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Noch etwas zur Laufzeit bei LOOP AT ... GROUP BY:
Laut der Aussage unseres Schulungsleiters bei der Delta-Schulung ist der GROUP BY Zusatz intern so gut optimiert, dass man trotzdem schneller als mit einer Hilfsvariable für die Erkennung der Gruppenstufen ist.
Das hätte ich auch erwartet. Ein technisches Problem, dass eine Abstraktionsebene näher an der Hardware gelöst wird, sollte immer effizienter laufen als eine Ebene höher. Deswegen ist in aller Regel auch ein SELECT mit vielen JOINs effizienter, als wenn man viele einzelne SELECTs in Hilfsfelder macht und den JOIN-Abgleich dann per ABAP durchführt, denn mit den JOINs übergibt man der Datenbank die vollständige Information, welche Daten man in Wahrheit sucht, so dass die dann ihre internen Optimierer anwerfen kann.

Re: Gesucht: Elegantes Coding

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
DeathAndPain hat geschrieben:Deswegen ist in aller Regel auch ein SELECT mit vielen JOINs effizienter, als wenn man viele einzelne SELECTs in Hilfsfelder macht und den JOIN-Abgleich dann per ABAP durchführt, denn mit den JOINs übergibt man der Datenbank die vollständige Information, welche Daten man in Wahrheit sucht, so dass die dann ihre internen Optimierer anwerfen kann.
Jein.
JOINs laufen in der Regel am Tabellenpuffer vorbei und "belasten" dadurch die Datenbank stärker. Es gibt daher Situationen wo mehrere SELECTs (mit einer möglichst großen Abfragemenge) besser sind als ein riesiges JOIN.
Mit HANA schaut das natürlich wieder ganz anders aus. Aber damit hab ich (noch) zuwenig Erfahrung.

Kleine Info am Rande:
Die SAP Datenbankviews nutzten KEINE JOINs, auch wenn es der Aufbau in der SE11 vermuten lassen würde. Die DB-Views werden intern als UNION aufgelöst und können so den Tabellenpuffer (besser) nutzen. Ich empfehle daher eher DB-Views anstatt JOINS zu verwenden. Wenn man Produkte für HANA und z.B. ORACLE entwickelt, hat man so auch weniger Probleme zwischen den beiden Welten zu wechseln.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 3):
DeathAndPainblack_adeptThomas R.

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Gesucht: Elegantes Coding

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Interessante Information. Allerdings ist es mir unsympathisch, für einen Zugriff, den ich einmal irgendwo in der Unterroutine eines Report brauche, gleich einen systemglobalen Datenbankview anzulegen. Das kommt mir irgendwie wie totaler Overkill vor.

Zum anderen sind viele Tabellen ja auch nicht gepuffert, und im übrigen puffert die Datenbank ja auch selber, was man daran merkt, dass mehrfaches Ausführen desselben SELECTS (auch mit vielen JOINs drin) bei den weiteren Malen deutlich schneller geht als beim ersten Mal.

Vergleichbare Themen

2
Antw.
983
Views
Coding im Query
von chris61 » 12.09.2017 13:35 • Verfasst in ABAP® für Anfänger
5
Antw.
2464
Views
Frage zu Coding
von Mark33 » 15.03.2012 10:40 • Verfasst in ABAP® für Anfänger
4
Antw.
2126
Views
Coding umbauen
von Gast » 02.02.2006 13:44 • Verfasst in ABAP® für Anfänger
12
Antw.
7084
Views
Coding verstecken
von migrationshansel » 11.03.2007 14:34 • Verfasst in ABAP® Core
6
Antw.
2407
Views
Verständnisfrage zu Coding
von Mark33 » 23.02.2012 15:22 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140