Ansicht
Dokumentation

ABENBATCH_INPUT_03 - BATCH INPUT 03

ABENBATCH_INPUT_03 - BATCH INPUT 03

BAL Application Log Documentation   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Besonderheiten bei Batch-Input-Mappen

Besonderheiten bei Erstellung einer Batch-Input-Mappe

Steploop-Felder, Felder in Table-Controls

Beim Versorgen von Steploop-Feldern mit Werten muss hinter dem Feldnamen in Klammern die Nummer der Steploop-Zeile mit angegeben werden. (Mit BDCDATA-FNAM = 'FELDX(5)' wird das Steploop-Feld FELDX aus der fünften Zeile des Steploops angesprochen.)
Entsprechendes gilt für Felder in Table-Controls.

Dynpros mit variablem Steploop

Beim Erstellen und Abspielen von Batch-Input-Mappen, die Dynpros mit variablem Steploop enthalten, muss stets die Standard-Dynpro-Größe verwendet werden.

Felder in Subscreens

Felder in Subscreens werden im Batch-Input unter dem Namen des rufenden Dynpros angegeben. In einem Dynpro, das mehrere Subscreens enthält, müssen die Feldnamen der Subscreens eindeutig sein.

Beispiel: Im Dynpro SAPTEST1 0100 wird der Subscreen SAPTEST2 0200 gerufen. Das Feld SFLIGHT-CARRID des Subscreens SAPTEST2 0200 soll im Batch-Input versorgt werden. Für das Batch-Input-Programm gehört das Feld zum rufenden Dynpro, also zu SAPTEST1 0100.

Bei der technischen Information zu einem Feld wird im Fall eines Subscreen-Feldes der Name des rufenden Dynpros bei der Feldbezeichnung für Batch-Input zusätzlich angegeben.

Funktionscodes

Funktionscodes werden gesetzt, indem das Batch-Input-Feld BDC_OKCODE mit dem gewünschten Funktionscode versorgt wird (BDCDATA-FNAM = 'BDC_OKCODE'. BDCDATA-FVAL = 'UPDA'.).

Auswahlknöpfe, Ankreuzfelder und Drucktasten

Auswahlknöpfe und Ankreuzfelder werden im Batch-Input gesetzt, indem man das Feld mit 'X' versorgt. Auswahlknöpfe in einer Gruppe, die nicht gesetzt sein sollen, müssen nicht versorgt werden. Werden versehentlich mehrere Auswahlknöpfe in einer Gruppe gesetzt, so wird beim Abspielen der Mappe nur der bei Generierung der Mappe zuletzt versorgte gesetzt.

Drucktasten können so behandelt werden wie die Funktionscodes: das Feld 'BDC_OKCODE' wird mit dem zur Drucktaste gehörendem Funktionscode versorgt. Wenn in einem Dynpro der Cursor auf einer anderen Drucktaste positioniert ist, dann gilt der Funktionscode dieser Drucktaste, d.h. der eingegebene Funktionscode wird überschrieben (Beispiel: Bestätigungs-Popups). In so einem Fall muss der Cursor positioniert werden (s.u.).

Positionierung des Cursors

Der Cursor wird auf ein Feld positioniert, indem das Batch-Input-Feld BDC_CURSOR mit dem Namen des betreffenden Feldes versorgt wird.

Beispiel: Cursor im Bestätigungs-Popup soll auf die Funktion "Nein" gesetzt werden. Funktionsbaustein POPUP_TO_CONFIRM_STEP (Funktionsgruppe SPO1), Dynpro SAPLSPO1 0100, die Drucktaste heißt SPOP-OPTION2; also muss das Feld BDC_CURSOR mit 'SPOP-OPTION2' versorgt werden (BDCDATA-FNAM = 'BDC_CURSOR'. BDCDATA-FVAL = 'SPOP-OPTION2'.).

Änderungen in Transaktionen

Wenn eine Transaktion geändert wird, müssen die Batch-Input-Programme in folgenden Fällen angepasst werden:

  • Mussfelder hinzugefügt/gelöscht
  • Feldnamen/-eigenschaften geändert
  • Funktionscodes/Nummern von Funktionstasten geändert
  • Dynpro-Reihenfolge geändert

Besonderheiten bei Abspielen einer Batch-Input-Mappe

Unterschiede zwischen Online und Hintergrundverarbeitung

Berechtigungsprüfung

Im Online-Modus werden die Berechtigungen desjenigen der die Mappe startet geprüft, im Hintergrund die Berechtigungen desjenigen, der im Generierungsprogramm der Mappe angegeben ist. Der Benutzer, dessen Berechtigungen im Hintergrund geprüft werden, wird in der Mappenübersicht in der Spalte "Berechtigung" angezeigt.
Dadurch kann es passieren, dass eine Mappe von einem bestimmten Benutzer im Online-Modus abgespielt werden kann, im Hintergrund jedoch nicht und umgekehrt. Wenn im Hintergrund eine Berechtigungsprüfung fehlschlägt, erhält man die Fehlermeldung 390(00) Abspielen Mappe ** im Batch, Fehler bei Submit, siehe SYSLOG.

Anwendungstransaktion verhält sich im Hintergrund anders als im Online- Modus

Wenn eine Anwendungstransaktion sich im Hintergrund anders verhält als im Online-Modus (Abfrage sy-batch), können Batch-Input-Mappen, die diese Transaktion enthalten, im Hintergrund Fehler bringen; im Online-Modus lassen sie sich fehlerfrei abspielen. Listverarbeitung

Listenverarbeitung

Batch-Input-Mappen, die Transaktionen mit Listverarbeitung enthalten (dies sind insbesondere alle Reporttransaktionen), können nur im Online-Modus abgespielt werden.
Bei Abspielen einer solchen Mappe im Hintergrund bricht der Batch-Input mit der Fehlermeldung 344(00) "Batch-Input-Daten für Dynpro SAPLSPRI 0100 sind nicht vorhanden" ab, die Mappe bekommt den Status "fehlerhaft".

Cursorposition

In vollständig inaktiv geschalteten Dynpros ist im Dialog stets der Cursor auf ein Feld positioniert. Im Hintergrund gibt es keine Bildausgabe, dadurch ist der Cursor nicht positioniert und es kann zu Problemen beim Abarbeiten des Dynpros kommen.
Bei Abspielen einer Mappe mit inaktiven Dynpros im Hintergrund bricht der Batch-Input mit der Fehlermeldung 344(00) Batchinput-Daten für Dynpro XXXXXXXX nnnn sind nicht vorhanden ab, die Mappe bekommt den Status "fehlerhaft".

Warndialog

Ein Warndialog (Nachricht vom Typ "W") kann nur durch die Datenfreigabetaste verlassen werden. Für den Batch-Input heißt dies, dass Dynpros mit Warndialogen je zweimal aufeinander folgend in die Dynpro-Folge aufgenommen werden müssen.

Benutzerabhängige Darstellungen (Datum, Dezimaldarstellung)

Benutzerabhängige Darstellungen (Datum, Dezimaldarstellung) Bei Erstellung einer Batch-Input-Mappe wird die Datums- und Dezimaldarstellung des angemeldeten Benutzers unterlegt.

Ebenso wird beim Abspielen einer Mappe im Online-Modus die Darstellung des angemeldeten Benutzers unterlegt. Beim Abspielen einer Mappe im Hintergrund wird die Darstellung des Benutzers unterlegt, für den auch die Berechtigungsprüfung durchgeführt wird.

Wenn also der Benutzer, der eine Mappe generiert hat eine andere Darstellung hat, als derjenige der die Mappe (im Online-Modus!) abspielt, kann es zu Fehlern kommen. Wenn der Benutzer, der eine Mappe generiert hat eine andere Darstellung hat, als derjenige für den im Hintergrund die Berechtigungsprüfung durchgeführt wird, kann es beim Abspielen der Mappe (im Hintergrund!) zu Fehlern kommen.

"Zurück", "Beenden", "Abbrechen"

Beim Abspielen einer Batch-Input-Mappe im Online-Modus wird bei den Funktionseingaben "Zurück", "Beenden", "Abbrechen" die laufende Transaktion beendet, und mit der Verarbeitung mit der nächsten Transaktion in der Mappe fortgefahren, denn der Batch-Input-Prozessor interpretiert "Zurück", "Beenden", "Abbrechen" als korrektes Beenden der abzuspielenden Transaktion. Am Ende ist die Mappe als "Abgespielt" gekennzeichnet.

Um eine Transaktion im Batch-Input zu beenden, sollten die Batch-Input-Befehle /BDEL (Transaktion löschen), /N (nächste Transaktion), /BEND ((Batch-Input) Abbrechen) ausgeführt werden. Nach Abbrechen eines Batch-Inputs mit /BEND wird der Status der Mappe auf "fehlerhaft" gesetzt.

SET/GET-Parameter

SET/GET parameters ist im Batch-Input nicht unterstützt. Bei der Vielfältigkeit der Transaktionen im Batch-Input kann es nicht sein, dass eine Transaktion die Umgebung einer folgenden bestimmt.

Nachrichten

Wenn die Option "erweitertes Protokoll" markiert ist, werden beim Abspielen einer Batch-Input-Mappe im Hintergrund die I-, S- und W-Nachrichten der Anwendungstransaktionen in das Protokoll geschrieben. Bei Ausgabe von A- und E-Nachrichten bricht der Batch-Input ab.

Im einzelnen verhalten sich die verschiedenen Nachrichten wie folgt:

  • A-Nachricht (Abend)
  • Online und Hintergrund: Der Batch-Input wird beendet, die Mappe bekommt den Status "fehlerhaft".

  • E-Nachricht (Error)
  • Online: Das Bild in dem die Nachricht ausgegeben wird, wird angezeigt, die fehlerhafte Eingabe muss korrigiert werden.

  • Unsichtbar: Der Batch-Input wird beendet, die Mappe bekommt den Status "fehlerhaft".

  • I-Nachricht (Info), S-Nachricht (Success), W-Nachricht (Warning)
  • Online: Bei "Sichtbar abspielen" wird die Nachricht in der Nachrichtenzeile ausgegeben; bei "nur Fehler anzeigen" wird die Nachricht nicht ausgegeben.

  • Unsichtbar: Die Nachricht wird, wenn gewünscht (s.o.), in das Protokoll geschrieben.

Aktualisierungen

Im Batch-Input (nicht bei CALL TRANSACTION USING) wird grundsätzlich synchron verbucht, d.h. der Batch-Input wartet auf die Antwort des Verbuchers.

Kommt es zu Verbuchungsproblemen, so wird dies mit der Fehlermeldung "Fehler in der Verbuchung" protokolliert. Der Langtext dieser Meldung enthält den Returncode des Verbuchers. Die häufigsten Returncodes sind:

2 Verbuchungs-Header konnte nicht eingefügt werden
3 Fehler bei Lesen des Verbuchungs-Headers
4 Absturz des Verbuchungs-Workprozesses
5 Verbuchungs-Commit ist misslungen
6 Fehler bei Lesen der Verbuchungstabelle
7 Fehler bei Update der Verbuchungstabelle
8 Verbucher bekommt keinen Hauptspeicher
9 Fehlermeldung im Verbuchungsmodus durch Applikation
10 Dynpro kann wegen Speichermangel nicht geladen werden
11 Falscher Verbuchungsmodus
12 Verbuchungsauftrag ist im Status RUN hängengeblieben
13 Verbuchungsauftrag ist im Status DELETE hängengeblieben
14 falscher Verbuchungsparameter
15 es sind keine Verbuchungsparameter vorhanden
16 DEADLOCK während der Verbuchung
17 Es ist kein Verbuchungs-Server aktiv
18 Keine Liste der aktiven Verbuchungs-Server vorhanden

Fehlerhafte Verbuchungen können mit der Transaktion SM13 "Verbuchung" analysiert und eventuell auch nachverbucht werden.

Warnung: Sollte eine Transaktion in einer Mappe durch einen Verbuchungsfehler als fehlerhaft gekennzeichnet sein, so sind die Daten immer noch in der Mappe vorhanden und die fehlerhafte Mappe kann erneut verarbeitet werden. Wenn nun die Mappe erneut abgespielt wird und außerdem(!) die fehlerhaften Verbuchungsaufträge nachverbucht werden, führt dies zu doppelten Belegen. Deswegen sollte nur in Ausnahmefällen manuell nachverbucht werden!

Systemabbruch

Wenn, während eine Mappe abgespielt wird, das System abstürzt, wird der Status ("in Bearbeitung") nicht geändert. Um die Mappe fertig abzuspielen, muss sie zunächst freigegeben werden (Mappe → Freigeben in der Mappenübersicht). Durch erneutes Abspielen wird die Mappe zu Ende abgespielt, alle bereits abgearbeiteten Transaktionen werden nicht nochmals abgespielt.

Was ist nicht batch-input-fähig?

Transaktion die sich im Hintergrund anders verhalten als im Online-Modus (Abfrage sy-batch), sind nur bedingt batch-input-fähig, da die Mappen bei Abspielen im Hintergrund Fehler bringen können.

Weiter sind Transaktionen, die folgende Merkmale besitzen, nur bedingt batch-input-fähig:

  • interaktive Listverarbeitung (Mappen können nicht im Hintergrund abgespielt werden)
  • Anstarten einer neuen Transaktion innerhalb des Batch-Inputs
  • Löschen eines Modus mit /i

Reorganisation der Protokolle

Mit dem Programm RSBDCREO können die Protokolldateien reorganisiert werden. Weiter kann man mit RSBDCREO bereits verarbeitete Mappen löschen.

Batch-Input-Berechtigungen

  • S_BDC_ALL, Berechtigung für alle Batch-Input-Aktivitäten
  • S_BDC_ABTC, Abspielen von Mappen im Batch
  • S_BDC_AONL, Abspielen von Mappen im Online-Modus
  • S_BDC_ANAL, Analysieren von Mappen/Protokollen
  • S_BDC_DELE, Löschen von Mappen/Protokollen
  • S_BDC_FREE, Freigabe von Mappen
  • S_BDC_LOCK, Sperren/Entsperren von Mappen
  • S_BDC_REOG, Reorganisation von Protokollen und abgespielten Mappen






Fill RESBD Structure from EBP Component Structure   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 16901 Date: 20240523 Time: 172716     sap01-206 ( 211 ms )