ZCL BAL: Unterschied zwischen den Versionen

Aus SAP Wiki ツ
M1ch3lde (Diskussion | Beiträge)
M1ch3lde (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
[[Kategorie:Freizeit_erstellte_ZKlassen_und_ZProgramme]]
[[Kategorie:Freizeit_erstellte_ZKlassen_und_ZProgramme]]
Diese Klasse basiert auf das Interface "IF_RECA_MESSAGE_LIST bzw. der Klasse "CF-RECA_MESSAGE_LIST".
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.
Die Z-Klasse ermöglicht ein leichteres Handling zur Erstellung eines BAL bzw. Methoden darauf auszuführen.



Version vom 11. September 2021, 18:59 Uhr

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.

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_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".

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 bereits 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.