Fehlermeldungen
Wenn nun unsere Prüfung einen Fehler findet, dann soll dieser Fehler natürlich auch in der Ergebnisliste des Code Inspectors ausgegeben werden. Dies machen wir nun.
In der Methode RUN haben wir mit der Methode “INFORM” bereits Meldungen erzeugt. Diese tauchen jedoch nur als “unbekannte Meldungen” auf. Wir müssen also noch nachbessern!
Wir können die Meldungen direkt in der Methode GET_MESSAGE_TEXT definieren oder wir füllen die dafür vorgesehene Meldungstabelle.
Meldungstabelle
In der CONSTRUCTOR-Methode füllen wir die Meldungstabelle:
*** MAKRO TO FILL MESSAGE TABLE
define FILL_MESSAGE.
clear SMSG.
SMSG-TEST = MYNAME.
SMSG-CODE = &1. “message code
SMSG-KIND = &2. “message priority
SMSG-TEXT = &3. “message text
SMSG-PCOM = &4. “pseudocomment
INSERT SMSG INTO TABLE SCIMESSAGES.
end-of-definition.
*** CODE 0001 ***
FILL_MESSAGE ‘0001’ ‘W’
‘BAPI &1 nicht mehr verwenden! Er ist veraltet!’
‘”#EC CI_BAPIOLD’.
*** CODE 0002 ***
FILL_MESSAGE ‘0002’ ‘W’
‘Aufruf BAPI ohne &1!!’
‘#EC CI_BAPICOM’.
Methode GET_MESSAGE_TEXT
…mit Meldungstabelle
Um die im CONSTRUCTOR definierten Einträge nutzen zu können, reicht es, die Methode einfach nicht zu redefinieren, denn das Lesen geschieht in der beerbten Klasse:
Achtung!
Die hier definierte Meldungstyp (Fehler, Warnung, Info) übersteuert den Meldungstyp aus dem Aufruf der INFORM-Methode!!
…mit definierten Meldungen
Reicht die Funktionalität der Meldungstabelle nicht, so muss die Methode GET_MESSAGE_TEXT redefiniert und mit Leben gefüllt werden:
In folgendem Beispiel werden die beiden Meldungen 0001 und 0002 separat definiert. Alle anderen werden aus der Fehlertabelle gelesen:
CASE p_code.
WHEN ‘0001’.
p_text = ‘BAPI ist veraltet: &1’.
WHEN ‘0002’.
p_text = ‘BAPI-Aufruf ohne BAPI_TRANSACTION_COMMIT!’.
WHEN OTHERS.
CALL METHOD super->get_message_text
EXPORTING
p_test = p_test
p_code = p_code
IMPORTING
p_text = p_text.
ENDCASE.
Hier können eventuell noch Daten nachgelesen werden.
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024