Funktionsbaustein NAST PROTOCOL UPDATE
Aus SAP-Wiki
				
				
				Zur Navigation springenZur Suche springen
				
				Siehe Application Log und Fehlerverarbeitung NAST.
In den Druckprogrammen von SAP für den Kundenauftrag, Lieferschein, Rechnung etc. ist die Nutzung eines Fehlerprotokolls verwandt zum Application Log bereits vorgesehen ist. Ein Eintrag ins NAST-Protokoll kann durchgeführt werden durch lediglich einen oder mehrere Funktionsbausteinaufrufe NAST_PROTOCOL_UPDATE.
Fehlerprotokoll bei der Druckvorschau
- Das Fehlerprotokoll wird jedoch nicht fortgeschrieben, wenn der Beleg lediglich in der Druckvorschau ausgegeben wird, auch wenn der Aufruf vom Funktionsbaustein NAST_PROTOCOL_UPDATE erfolgt sein sollte. Daher sollte man in solchen Fällen entsprechende Messages auf dem Bildschirm ausgeben, um über mögliche Fehlersituationen zu informieren. Die Messageboxen dürfen jedoch nur bei der Druckvorschau ausgegeben werden, da Druckprogramme oft auch im Hintergrund durchlaufen werden, bzw. beim Sichern der Anwendung (Kundenauftrag, Lieferung, Rechnung etc.). Wird dann eine Message ausgeführt kann es zu einem Verbuchungsabbruch kommen, was vermieden werden muss.
Kapselung NAST_PROTOCOL_UPDATE in einer globalen Methode
- Der Funktionsbausteinaufruf NAST_PROTOCOL_UPDATE sollte in einer globalen Methode gekapselt werden, um eine einheitliche Verwendung dieses Updates sicher zu erstellen. Eine Info-Message kann immer ausgegeben werden, wenn der Druckbeleg lediglich in der Druckvorschau/Bildschirmansicht ausgegeben wird. Dafür wird der globalen Methode ein Importparameter IV_SCREEN hinzugefügt. Ist ein ‚X’ in in diesem Importparameter wird eine Info-Message auf den Bildschirm ausgegeben.
- Es werden also nur Infomessages ausgegeben, wenn die Druckvorschau aktiv ist. Erfolgt die Nachrichtenverarbeitung ohne Druckvorschau, wird der NAST-Satz genauso wie das Fehlerprotokoll fortgeschrieben und das Ergebnis der Verarbeitung kann im NAST-Protokoll analysiert werden.
- Die Parameter mit Systemfeldern sollte man mit Wertübergabe (per value) setzen, damit nicht bei einer Neusetzung der Systemfelder in der Methode die übergebenen Parameter-Systemfelder überschrieben werden.
Coding
 CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
    EXPORTING
      msg_arbgb = iv_sy_msgid.  „Nachrichtenklasse
      msg_nr    = iv_sy_msgno.  „Messagenummer
      msg_ty    = iv_sy_msgty.  „Messagetyp (I = Info, W = Warnung, E = Error, A = Abbruch)
      msg_v1    = iv_sy_msgv1   „Platzhaltervariable1
      msg_v2    = iv_sy_msgv2   „Platzhaltervariable2
      msg_v3    = iv_sy_msgv3   „Platzhaltervariable3
      msg_v4    = iv_sy_msgv4.  „Platzhaltervariable4
    EXCEPTIONS
      OTHERS    = 1.

