Events

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

Events

Beitrag von Andrzej (ForumUser / 63 / 23 / 0 ) » 15.03.2017 22:50
Hallo Forum,

ich befasse mich zur Zeit mit dem Eventhandling im ABAP. Hierfür habe ich ein schönes Beispiel im Internet gefunden. Könnt ihr mir bitte grob sagen wie ich solche Programme die Events beinhalten allgemein zum laufen bekomme?? müssen Events in der SE80 besonders hinterlegt werden.. bin totaler anfänger in dem Bereich bin über jede Information dankbar!

Code: Alles auswählen.


REPORT z_events.

TYPES: ty_boolean(1),
        ty_kennzeichen(10),
        ty_tankinhalt(4) TYPE p DECIMALS 2,
        ty_ort(30).
CONSTANTS: co_true VALUE 'X',
           co_false VALUE space,
           tankmenge TYPE ty_tankinhalt VALUE '20'.

*----------------------------------------------------------------------*
*       INTERFACE lif_fahrzeug
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
INTERFACE lif_fahrzeug.
  EVENTS: nicht_genung_tankinhalt.
  METHODS:
  get_kennzeichen
      RETURNING value(re_kennzeichen) TYPE ty_kennzeichen,
      get_ort
     RETURNING value(re_ort) TYPE ty_ort,
get_verbrauch
RETURNING value(re_verbrauch) TYPE ty_tankinhalt,
get_tankinhalt
RETURNING value(re_tankinhalt) TYPE ty_tankinhalt,
 tanken
IMPORTING value(im_tankmenge) TYPE ty_tankinhalt,
fahren_nach
IMPORTING
value(im_zielort) TYPE ty_ort
value(im_entfernung) TYPE p,
on_nicht_genug_tankinhalt
FOR EVENT nicht_genug_tankinhalt OF lif_fahrzeug.
ENDINTERFACE.                    "lif_fahrzeug

* Klassen-Definition
CLASS fahrzeug DEFINITION.
  PUBLIC SECTION.
    TYPES: ty_kennzeichen(10),
    ty_tankinhalt(4) TYPE p DECIMALS 2,
    ty_ort(30).
    INTERFACES: lif_fahrzeug.
    METHODS:
    constructor
    IMPORTING
    value(im_kennzeichen)
    TYPE ty_kennzeichen
    value(im_verbrauch)
    TYPE ty_tankinhalt
    value(im_ort)
    TYPE ty_ort
    value(im_tankinhalt)
    TYPE ty_tankinhalt DEFAULT 0.
  PRIVATE SECTION.
    DATA: kennzeichen TYPE ty_kennzeichen,
    tankinhalt TYPE ty_tankinhalt,
    verbrauch_per_100_km TYPE ty_tankinhalt,
    aktueller_ort TYPE ty_ort.
ENDCLASS.                    "fahrzeug DEFINITION
*
CLASS fahrzeug IMPLEMENTATION.
  METHOD constructor. "Initialisierungen
    kennzeichen = im_kennzeichen.
    verbrauch_per_100_km = im_verbrauch.
    aktueller_ort = im_ort.
    tankinhalt = im_tankinhalt.
    SET HANDLER lif_fahrzeug~on_nicht_genug_tankinhalt
      FOR ALL INSTANCES.
  ENDMETHOD.                    "constructor




Re: Events

Beitrag von jocoder (Specialist / 214 / 3 / 63 ) » 16.03.2017 15:28
Hallo,

zu erstem Mal deklariert man eine Event-Handler-Methode.

Code: Alles auswählen.

class fahrzeug definition.

...
methods on_nicht_genug_tankinhalt for event nicht_genug_tankinhalt OF lif_fahrzeug.
Dann muss das Event auch irgendwo ausgelöst werden außerhalb der Methode on_nicht_genug_tankinhalt:

Code: Alles auswählen.

 raise event nicht_genug_tankinhalt.
Damit das System weiß, welche Methode es beim Auslösen des Events nehmen muss:

Code: Alles auswählen.

method constructor.
...
set handler lif_fahrzeug~on_nicht_genuegend_tankinhalt for me.
endmethod.

Jetzt wird die Anweisung raise event nicht_genug_tankinhalt durch call method=>on_nicht_genug_tankinhalt ersetzt.

Seite 1 von 1

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und besseren Inhalt:

Aktuelle Forenbeiträge

Last erzeugen im SAPGui?
vor 4 Stunden von tm987456 14 / 136
IDoc-Segmente löschen
vor 21 Stunden von littleJohn 2 / 72
Shortdump wegen Speicherüberlauf
vor 23 Stunden von chhe001 8 / 135

Vergleichbare Themen

ALV events
von Bajdu » 01.12.2006 17:45
ALV Events
von kkauerau » 20.03.2017 15:32
Zum Aktivität events
von Bajdu » 19.10.2006 13:48
Problem mit Events
von MAGEMI1985 » 07.02.2005 11:46
Problem mit events
von Markus Buchner » 28.09.2004 14:46