IDoc Status manuell ändern
Autor: Dominik Busse | 5. Mai 2014
Der IDoc Status eines bestimmten IDocs soll manuell verändert werden. Dieses Ziel kann mithilfe eines Standard SAP-Reports erreicht werden.
Ausgangssituation
Immer wieder gibt es Situationen, in denen ein IDoc Status manuell verändert werden soll. Ich erlebe es zum Beispiel häufig, dass ein IDoc zum Löschen markiert wurde (Status 68 bzw. Status 31), aber zu einem späteren Zeitpunkt die erneute Verarbeitung notwendig wird. In diesem Tutorial soll dieses Beispiel dargestellt werden.
Übersicht über IDoc Status
Zunächst möchte ich Ihnen einen kurzen Überblick über die gängigen IDoc Status geben. Hierbei gilt zu beachten, dass die IDoc Status für ausgehende IDocs zwischen 01 und 49 liegen, während die Status für eingehende IDocs bei 50 beginnen:
Ausgehende IDocs:
- Status 02 – Fehler bei der Datenübergabe
- Status 03 – Datenübergabe an Port OK
- Status 30 – IDoc ist versandfertig
- Status 31 – Keine weitere Verarbeitung
- Status 33 – IDoc editiert
Eingehende IDocs:
- Status 51 – Anwendungsbeleg nicht gebucht
- Status 52 – Anwendungsbeleg unvollständig gebucht
- Status 53 – Anwendungsbeleg gebucht
- Status 64 – Idoc ist übergabebereit
- Status 68 – Keine weitere Verarbeitung
- Status 70 – IDoc editiert
Welchen IDoc Status sollte ich wählen?
Da das Ziel des Änderns des IDoc Status häufig die erneute Verarbeitung ist, bietet es sich an, das IDoc in den Status zu versetzen, in welchem es auf die Verarbeitung wartet. Bei ausgehenden IDocs wählen Sie den Status 30, während Sie für eingehende IDocs den Status 64 auswählen.
IDoc Status mit Report verändern
Zum Ändern des IDoc Status wird der Report RC1_IDOC_SET_STATUS verwendet. Dieser wird wie folgt bedient:
1. Transaktion SE38 aufrufen und Status ausführen:
2. Im Report selbst, müssen Sie die IDoc-Nummer(n), den Nachrichtentyp des IDocs, den aktuellen IDoc Status und den neuen Status des IDocs angeben. Weiterhin gibt es die Möglichkeit, die Umsetzung des Status zunächst nur zu Testen:
3. Das Ergebnis des Reports stellt sich wie folgt dar:
Wenn die Anzahl der umgesetzten IDocs nicht der Anzahl der umzusetzenden IDocs entspricht, kann der IDoc Status des IDocs nicht verändert werden (bspw. weil dieses gerade von einem anderen Benutzer gesperrt ist). In diesem Fall probieren Sie es zu einem späteren Zeitpunkt erneut.
Ihre Erfahrung mit Änderungen des IDoc Status
Was sind Ihre Erfahrungen mit dem ändern des IDoc Status? Gab es bereits Situationen, in denen Sie den Status manuell ändern mussten?
Ich freue mich auf Ihr Feedback und Ihre Kommentare gleich unterhalb dieses Beitrags!
8 Kommentare zu "IDoc Status manuell ändern"
Dieser Hinweis hat mir sehr geholfen, ich konnte somit den Status von 51 umsetzen und die Verarbeitung dann mit WE19 im Vordergrund laufen lassen, wobei ich dann den Fehler beheben konnte. Danke!
Guten Abend Herr Sobczak,
vielen Dank für Ihren Kommentar mit Hinweis auf erfolgreiche Anwendung in der Praxis!
Ich freue mich wirklich, dass ich Ihnen mit meinem Blogbeitrag weiterhelfen konnte.
Alles Gute und bis bald
Dominik Busse
Hinweis: Dieser Report RC1_IDOC_SET_STATUS hat sich bisher bei mir nicht wirklich bewehrt. (Datenreplikation) Wohl eher was für die Materialwirtschaft? Vorwiegend nutze ich folgende Reports:
RBDAGAIP – Erneutes Einbuchen von Teileweise verbuchten iDocs (von 52 nach 53)
RSAIDOCSTATESET – BW-Tool: iDoc Status wird zurückgesetzt (von ## nach 51)
Guten Abend Herr Bros, vielen Dank für Ihren Hinweis. In der Tat habe ich den Report vorwiegend in der Materialwirtschaft eingesetzt – hier konnte ich jedoch keine negativen Erfahrungen machen. Ich bedanke mich herzlich für die Ergänzung meines Beitrages, um die von Ihnen genannten Reports. Sicherlich ist Ihr Hinweis auch für die weiteren Leser sehr interessant! Besten Gruß und auf bald, Dominik Busse
Hallo,
vielen Dank, in meinem Falle wurdde aufgrund eines Stammdatenfehlers eine Anlieferung zu einem Lieferplan erstellt welcher nicht eingebucht werden kommte. erst nach Löschen der Anlieferung und Korrektur der Stammdaten konnte das IDOC nochmals eingespielt werden und die resultiereende Anlieferung WE gebucht werden.
Also war hier auch der Bereich MM betroffen.
Vielen Dank,
Brend Schuchardt
Hallo Herr Schuchardt – vielen Dank für das Teilen Ihrer Erfahrung! Es freut mich, dass Sie eine Lösung für das Problem finden konnten.
Beste Grüße und bis bald,
Dominik Busse.
Hallo H.Busse, gute Beschreibung und Übersicht, aber jetzt zur Praxis – seit neuestem ist es verboten nach Änderung ein IDOC erneut abzuspielen. – Begründung:
Die IT ändert die notwendigen Felder – z.B: haben wir Orders aus unserem Vertreter System das sind regelmäßig die Debitorennummern des AG oder WE falsch.
=> es ist verboten das der IT Mitarbeiter nach der Änderung (die natürlich nur auf Anweisung des zuständigen Vertriebsmitarbeiters erfolgt) das IDOC selbst neu einspielt da dann sein Userprofile im IDOC steht, es muss der Vertriebsmitarbeiter den erneuten Verarbeitungsvorgang auslösen (BD87) damit dessen Name drinsteht. – (kostet immer noch mehr Zeit – der Vertriebsmitarbeiter sagt auch noch – ja was soll das weiss ich ob du das richtig geändert hast) –
gibt es hier eine Datenschutzrechtliche / gesetzliche Beurteilung dazu ?
Danke
Manfred Speth
Hallo Herr Speth – willkommen auf rz10.de und vielen Dank für Ihr Lob!
Nun zu Ihrer Frage: Bei diesen Themen orientiere ich mich gerne am Maßnahmenkatalog im IT Grundschutz des BSI. In der Maßnahme M 5.128 „Absicherung der SAP ALE (IDoc/BAPI) Schnittstelle“ steht zu Ihrer Frage unter anderem Folgendes geschrieben:
– ALE-Administrationsberechtigungen dürfen nur den berechtigten Administratoren zugeordnet werden.
– Normale Benutzer dürfen keine ALE-Berechtigungen besitzen.
Nach Ihrer Beschreibung habe ich die Situation in Ihrem Unternehmen wie folgt verstanden: Die IT (Administratoren) dürfen IDOCs zwar ändern, aber nicht erneut einspielen. Das erneute Einspielen muss über Vertriebsmitarbeiter erfolgen, damit dessen Name im IDOC erscheint. Hierfür benötigen die Vertriebsmitarbeiter jedoch Berechtigungen für die BD87 und haben somit aktuell ALE-Berechtigungen in Ihrem/n System(en). Wenn ich die BSI Maßnahme richtig interpretiere, ist es Empfehlung des BSI, dass genau diese Konstellation nicht stattfinden darf („Normale Benutzer dürfen keine ALE-Berechtigungen besitzen.“).
Meine Empfehlung (auf Grundlage der BSI Maßnahme) wäre also, die Administration (also bspw. die Änderung und das erneute Einspielen von IDOCs) durch die (ALE-)Administratoren durchführen zu lassen. Hierdurch stünde natürlich wieder die Userkennung des Administratoren im IDOC. Leider ist mir keine Möglichkeit bekannt, wie direkt im IDOC durch ein zusätzliches Feld beschrieben werden kann, warum der jeweilige User die Änderung durchgeführt hat. In diesem Fall bietet es sich an, dass Sie eine weitere „Ebene“ für die erneute Einspielung von IDOCs verwenden. Nutzen Sie in Ihrem Unternehmen eventuell eine Service-Desk-Software wie bspw. den HP Service Manager? In diesem Fall könnte ich mir vorstellen, dass Sie hinsichtlich von IDOC-Änderungen einen neuen Prozess einführen, der wie folgt aussehen könnte:
1. Vertriebsmitarbeiter eröffnet Service Request, mit der Bitte um Änderung und Neueinspielung eines bestimmten IDOCs
2. IT-Administrator übernimmt den Service Request und setzt die Änderungen/Neueinspielung im System um
3. IT-Administrator schließt den Service Request ab und der Vertriebsmitarbeiter erhält eine Benachrichtigung über den Abschluss
Durch die zusätzliche Ebene einer Service-Desk-Software wird die Änderung an IDOCs nachhaltig vorgehalten und es kann jederzeit über diese Service-Desk-Software nachgewiesen werden, warum und durch wen ein IDOC verändert wurde und welche Personen daran beteiligt waren.
SAP empfiehlt für die Fehlerbehandlung übrigens die Einführung eines Workflows, wie in folgendem Link beschrieben:
Fehlerbehandlung im ALE
Den Link zur BSI-Maßnahme finden Sie hier:
M 5.128 Absicherung der SAP ALE (IDoc/BAPI) Schnittstelle
Herr Speth, vielen Dank für Ihre interessante Frage. Ich hoffe, dass ich Ihnen mit meiner Antwort einen Schritt weiterhelfen konnte und freue mich auf ein Feedback von Ihnen.
Besten Gruß
Dominik Busse