This is a test message to test the length of the message box.
Login
ABAP Obsolet Form
Erstellt von Software-Heroes

ABAP Obsolet - Form

Beim Aufbau eines Report in SAP benötigt man vor allem eine sinnvolle Strukturierung, viele verwenden dazu noch Forms. Doch was kannst du nun machen, um diesen obsoleten Begriff zu ersetzen.

Werbung

Die Lösung des Problems ist recht einfach und wird bereits in der offiziellen Doku in einem kurzen Satz beschrieben. Du solltest auf jeden Fall nur noch Methoden verwenden.

Viele der alten Programme im System funktionieren aber noch genau so! Sie verwenden Forms um Coding Bestandteile zu kapseln, Ordnung in den Quellcode zu bringen und Programmbestandteile wiederverwenden zu können.

 

Lösung

Verwende dazu doch einfach Klassen! Sie strukturieren den Quellcode genau so schön und bieten viele Vorteile bei der Handhabung und Implementierung in bestehendes Coding. 

Seit der Umstrukturierung durch das Moderne ABAP, funktionieren viele Dinge viel leichter. Ein Beispiel wäre die Implementierung von Methodenaufrufen mit Returning Parameter in IF Statements, was bis heute bei Forms nicht möglich ist.


" Aufruf Methode bei Prüfung
IF lcl_app=>check_selection( ) = abap_false.
  " ... Code oder Nachricht
ENDIF.

Wir prüfen den Rückgabewert der Selektionsbild Prüfung und entscheiden wie es im Report weiter gehen soll. Dies sieht einfach und übersichtlich aus, vor dem Modernen ABAP sah das aber leider noch etwas anders aus.


" Variablendefinition
DATA ld_check TYPE abap_bool.

" alter Aufruf
CALL METHOD lcl_app=>check_selection
  IMPORTING
    ed_check = ld_check.

" Prüfung
IF ld_check = abap_false.
  " ... Code oder Nachricht
ENDIF.

 

Hier erinnert die Umsetzung eher etwas an ein Form, wodurch viele Entwickler lieber bei ihrer altbewährten Technik bleiben wollten. Was wir an dieser Stelle auch verstehen können.

 

Verwendung

Die Verwendung in einem neuen Report ist ganz einfach, du musst dir nur die Klasse definieren und dann implementieren, schon kannst du sie in beliebigen Programmteilen aufrufen und verwenden.


" Klassendefinition
CLASS lcl_app DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS:
      check_selection
        RETURNING VALUE(rd_check) TYPE abap_bool.

  PRIVATE SECTION.
ENDCLASS.

" Klassenimplementierung
CLASS lcl_app DEFINITION.
  METHOD check_selection.
    " ... Code
  ENDMETHOD.
ENDCLASS.

Die Implementierung und die Definition der Schnittstelle sind immer von einander getrennt, was den Code sauber hält. Mit einem Doppelklick auf den Methodennamen kannst du einfach zwischen Definition und Implementierung hin- und herspringen.

 

Vorteile

Mit der Implementierung und dem Einsatz von Klassen, gibt es auch noch einige kleinere Vorteile die wir hier erwähnen wollen.

  • Vermeidung eines obsoleten Befehls
  • Strukturierung und Kapselung des Reports
  • Einfache Implementierung von ABAP Unit Tests für den automatisierten Test der Entwicklung
  • Verwendung als Inline Methoden

 

Fazit

Der Umstieg ist für dich zum Greifen nah, versuche es einmal in einem neuen Report oder einer kleinen Auswertung. Du wirst merken wie schnell du die Forms eigentlich vergessen hast und damit auch einen obsolten Teil einer moderner werdenden Sprache.

In einem nächsten Artikel wollen wir dann etwas genauer auf den Aufbau eines Reports nach den Forms zu sprechen kommen und die Strukturierung einmal etwas genauer beleuchten.

 

Quelle:
SAP Dokumentation - FORM


Enthaltene Themen:
ObsoletForm
Kommentare (0)
Werbung

ABAP - Namenskonventionen

Kategorie - ABAP

Wie wichtig sind heutzutage noch die Einhaltung von Namenskonventionen oder überhaupt die Verwendung von Namenskonventionen im modernen ABAP Umfeld? Das wollen wir uns in diesem Artikel anschauen.

09.04.2021

ABAP - INSERT verwenden

Kategorie - ABAP

APPEND hat in ABAP bereits eine lange Geschichte, doch dieser wird in Zukunft immer weniger eine Rolle spielen. Wir zeigen dir wieso.

11.12.2020

ABAP Obsolet - Zuweisung und Berechnung

Kategorie - ABAP

Wie funktioniert das eigentlich mit den Zuweisungen und der Berechnung in ABAP? Hier erfährst du die aktuellen Sprachkonstrukte und was du vermeiden solltest.

26.06.2020

ABAP Obsolet - Range und Kopfzeilen

Kategorie - ABAP

Eine ordentliche Range zur Übergabe erzeugen? Tabellen mit oder ohne Kopfzeilen? Wir zeigen dir was noch geht und was du lieber sein lassen solltest.

12.06.2020

ABAP Obsolet - DESCRIBE

Kategorie - ABAP

Wieder haben wir für dich einen meist genutzten ABAP Begriff, für den es bereits eine neue Alternative gibt, dieses mal aber nicht nur Eine.

15.11.2019

Wir verwenden Cookies für unsere Dienste und Funktionen. Mehr Informationen