adesso orange🍊Stellenangebote:
Software Engineer Trainee · Senior
| (Senior) Cloud Software Engineer BTP
(Senior) Consultant Technologie · Consultant ABAP
Werkstudent Softwareentwicklung · Fiori / UI5 · Consulting · Application Management
ZCL BAL
Diese in Freizeit erstellte Z-Klasse basiert auf das Interface "IF_RECA_MESSAGE_LIST bzw. der Klasse "CF_RECA_MESSAGE_LIST". Die Z-Klasse ermöglicht ein leichteres Handling zur Erstellung eines BAL bzw. Methoden darauf auszuführen.
Aktuelle Version ist 220426
Konstruktor
BAL-Objekt erzeugen
Das BAL-Objekt wird mit Methode "cf_reca_message_list=>create" anhand des übergebenden SLG0 Objekt/Subobjekt erzeugt und in die private globale Variable "_go_bal" der Z-Klasse "ZCL_BAL" geschrieben.
EXT-ID und Verfallsdatum
Beim Aufruf des Konstruktors wird nach Erzeugung des BAL-Objektes direkt eine externe Identfikation des BALs bestimmt und optional ein Verfallsdatum. Wenn kein Verfallsdatum mitgegeben wird, setzt die Methode "IF_RECA_MESSAGE_LIST~SET_EXPIRATION_DATE" das Verfallsdatum auf sy-datum + 30 und das Protokoll darf vor diesem Termin nicht gelöscht werden.
Methoden zur Abspeicherung von Nachrichten verschiedener Datentypen
ADD_MSG_WITH_SINGLE_FIELDS
Hier kann eine Nachricht anhand einzelner Felder vom Nachrichtentyp bis 4. Nachrichtenvariable dem BAL angehangen werden.
ADD_MSG_WITH_RECAMSG
Anhängen einer Nachricht als Struktur oder interne Tabelle vom Datentyp "RECAMSG".
ADD_MSG_WITH_BAPIRET2
Anhängen einer Nachricht als Struktur oder interne Tabelle vom Datentyp "BAPIRET2".
ADD_MSG_WITH_BALMSG
Anhängen einer Nachricht als Struktur oder interne Tabelle vom Datentyp "BAL_S_MSG".
ADD_MSG_WITH_SYMSG
Anhängen einer Nachricht aus Nachrichtenfeldern von SY
ADD_MSG_WITH_EXCEPTION
Anhängen einer Nachricht mit Hilfe eines Ausnahmeobjektes (CX_ROOT).
Nachrichten bekommen
GET_ALL_MSGS_BAPIRET2
Liefert alle Nachrichten, die dem BAL bereits angehangen worden sind, im Datentyp von BAPIRET2.
GET_MSGS_FROM_MSGTY_RECAMSG
Liefert alle Nachrichten, die einen bestimmten Nachrichtentyp haben, im Datentyp von RECAMSG.
GET_STATISTICS
Liefert eine Struktur mit Statistiken zurück z.B. "Gesamtanzahl der Meldungen", "Anzahl der E-Meldungen" oder "Problemklasse einer Meldung".
GET_PROTOCOL_NO
Liefert die Protokollnummer eines erstellten Protokolls.
Lösch- und Überprüfungsmethoden
DELETE_ALL_COLLECTED_MSGS
Löscht alle zu dem Zeitpunkt gesammelten Nachrichten aus dem BAL-Speicher.
IS_EMPTY
Prüft, ob der BAL keine Nachrichten hat.
BAL speichern und anzeigen
STORE_AND_FREE
Ermöglicht den BAL zu persistieren, sodass dieser unter SLG1 aufgerufen werden kann. Wenn dies erfolgreich war, werden verwendete Ressourcen freigegeben. Zu empfehlen, wenn eine Anzeige des Protokolls nicht notwendig ist.
STORE_DISPLAY_FREE
Ermöglicht den BAL zu persistieren, sodass dieser unter SLG1 aufgerufen werden kann. Direkt danach wird der gespeicherte BAL als Protokoll ausgegeben. Hier ist es möglich in Vollbild oder Pop-Up. Wenn die Anzeige verlassen wird, werden die Ressourcen freigegeben.
Hinweis: Wenn die Absicht besteht den BAL unbedingt abzuspeichern, sollte man diese Methode nutzen anstatt die einzelnen Methoden "STORE_AND_FREE" und "DISPLAY". Wenn die "DISPLAY" Methode vor "STORE_AND_FREE" ausgeführt wird, kann es in ungünstigen Fällen dazu führen, dass eine Speicherung garnicht mehr erfolgt.
DISPLAY
Eignet sich gut, um ein Protokoll nur anzuzeigen und garnicht den BAL im Prinzip abzuspeichern.
Statische Methoden
ADD_SY_MSG_TO_ITAB
Fügt SY-MSG zu einer BAL_MSG interne Tabelle hinzu
ADD_EXC_MSG_TO_ITAB
Fügt Nachricht von Exception interne Tabelle hinzu
FIND_BAL_PROTOCOL_BY_EXTNO
Lädt ein bereits gespeichertes Protokoll (über ext. Nummer)
FIND_BAL_PROTOCOL_BY_HANDLE
Lädt ein bereits gespeichertes Protokoll (über Handle)
FIND_BAL_LAST_STORED
Liefert Instanz mit zuletzt gespeichertem Protokoll