Sonntag, 4. März 2012
19:47 Uhr
19:47 Uhr
SAP Query: Systemstatus CO Innenauftrag
Ausgangslage:
Über die Transaktion KOK5 (Stammdatenliste Innenaufträge) ist es möglich auch das Feld Status eines Innenauftrages auszuwerten und so eine Liste aller gesperrten Innenaufträge zu erhalten. Leider ist der Auftragsstatus "gesperrt" nicht als Selektionsparameter bei der KOK5 vorhanden, so dass hier alle Aufträge ausgwertet werden müssen und später selektiert werden muss. Dieses erhöht zum Einen die Dauer der Auswertung und zum anderen werden bei der KOK5 nur bis zu 10.000 Innenaufträge angezeigt.
Dennoch möchte ich hier noch, bevor ich auf eine Lösung eingehe, auf die im Artikel "Selektionsvariante KOK5 und Statusselektionsschemata zur Auswertung gesperrter Innenaufträge" vorgestellte Vorgehensweise verweisen.
Ein weiterer Nachteil ist, dass in der Spalte Sytemstatus-Zeile alle bisher den Auftrag erteilten Statusausprägungen ausgewiesen wird.
Diese Daten stammen intern aus der Struktur MKAUF und werden im Feld SYSST ausgewiesen. Der Nachteil ist, dass hier ein Eintrag zum Beispiel "FREI ABRV SPER" genannt werden kann.
Lösungsansatz:
Auch hier hilft die Objektnummer des Innenauftrages weiter, da innerhalb der Tabelle JEST jeder Status eines SAP Objektes festgehalten wird. Somit kann hier eine Verknüpfung zu den Stammdaten der Innenaufträge erstellt werden.
Der Nachteil ist, dass hier in mehreren Zeilen die einzelnen Status eines Auftrages festgehalten werden. Daher ist es sinnvoll, sich hier ebenfalls eine SAP Query zu bedienen.
1. Infoset definieren
Tabellen:
AUFK - Auftragsstammdaten
JEST - Einzelstatus pro Objekt
TJ02 - Systemstatus
Verknüpfungen:
AUFK-OBJNR <-> JEST-OBJNR
Wie unter ABRV beschrieben wird hier wiederum die Objektnummer verwendet um die Tabellen zu verknüpfen.
In der Tabelle JEST ist nun der vorhandene Status als Nummernfeld für jedes Objekt hinterlegt. In der Tabelle TJ02 erhalten wir allerdings auch die Bezeichnung dieses Status, so dass dieses Feld gerade bei der späteren Selektion sehr hilfreich ist.
Entsprechend legen wir als weitere Verknüpfung folgende an:
JEST-STAT <-> TJ02-ISTAT
Somit kann nachher in der Query auch über den Text bzw. die Beschreibung des Status verwendet werden.
2. Query definieren
Auch hier werden die Felder wieder in der Ausgabereihenfolge angegeben mit der Kennzeichnung L als Listenfeld und S als Selektionsfeld.
Auftragsstammdaten AUFK
Innenauftragsnummer AUFK-AUFNR (S,L)
Kurztext AUFK-KTEXT (L)
Name des letzten Änderers AUFK-AENAM (L)
Änderungsdatum des Auftragsstamms AUFK-AEDAT (L)
Einzelstatus pro Objekt JEST
Einzelstatus eines Objekts JEST-STAT (L)
Kennzeichen: Status inaktiv JEST-INACT (S)
Dieses Feld Status inaktiv, ist als Selektion wichtig, da eine einmal zugewiesene Sperre auch wieder deaktiviert werden kann. Daher wird dieses als weiteres Selektionsfeld mit angegeben.
Systemstatus TJ02
Systemstatus TJ02-ISTAT (S)
Durch Verwendung des Systemstatus aus der Tabelle TJ02 wird in der F4 Auswahlhilfe der Query dann auch die Beschreibung ausgegeben.
Zusatzfeld bzw. Textfeld
Zusatzfeld:
"Text:Systemstatus" TEXT_TJ02_ISTAT (L)
Handhabung der Query
Zur Handhabung der Query können nun alle Innenaufräge ausgewertet werden. Das Feld "Kennzeichen Status inaktiv" sollte auf BLANK oder ungleich X gesetzt werden (durch die Selektionsoptionen). Ferner kann hier der Status: I0043 für gesperrt
gewählt werden, so dass alle derzeit aktiv gesperrten Innenaufträge des Systems ausgewertet werden können.
Im Artikel "SAP Query ABAP Coding im Zusatzfeld für Verknüpfung Innenauftrag und Fond bzw. Finanzierungszweck" wird alternativ eine Methode beschrieben in der in der Stammdatenliste je Innenauftrag ein Zusatzfeld GESPERRT bei gesperrten Innenaufträgen mit ausgegeben wird. Dieses ist natürlich auch für andere Phasen eines Innenauftrages möglich.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Über die Transaktion KOK5 (Stammdatenliste Innenaufträge) ist es möglich auch das Feld Status eines Innenauftrages auszuwerten und so eine Liste aller gesperrten Innenaufträge zu erhalten. Leider ist der Auftragsstatus "gesperrt" nicht als Selektionsparameter bei der KOK5 vorhanden, so dass hier alle Aufträge ausgwertet werden müssen und später selektiert werden muss. Dieses erhöht zum Einen die Dauer der Auswertung und zum anderen werden bei der KOK5 nur bis zu 10.000 Innenaufträge angezeigt.
Dennoch möchte ich hier noch, bevor ich auf eine Lösung eingehe, auf die im Artikel "Selektionsvariante KOK5 und Statusselektionsschemata zur Auswertung gesperrter Innenaufträge" vorgestellte Vorgehensweise verweisen.
Ein weiterer Nachteil ist, dass in der Spalte Sytemstatus-Zeile alle bisher den Auftrag erteilten Statusausprägungen ausgewiesen wird.
Diese Daten stammen intern aus der Struktur MKAUF und werden im Feld SYSST ausgewiesen. Der Nachteil ist, dass hier ein Eintrag zum Beispiel "FREI ABRV SPER" genannt werden kann.
Lösungsansatz:
Auch hier hilft die Objektnummer des Innenauftrages weiter, da innerhalb der Tabelle JEST jeder Status eines SAP Objektes festgehalten wird. Somit kann hier eine Verknüpfung zu den Stammdaten der Innenaufträge erstellt werden.
Der Nachteil ist, dass hier in mehreren Zeilen die einzelnen Status eines Auftrages festgehalten werden. Daher ist es sinnvoll, sich hier ebenfalls eine SAP Query zu bedienen.
Hinweis:
Eine kurze Einführung in das Thema SAP Query habe ich im Artikel
"Grundlagen Kurzeinführung und Handbuch SAP Query" beschrieben und hoffe Ihnen hier eine Einführung ins Thema bieten zu können.
1. Infoset definieren
Tabellen:
AUFK - Auftragsstammdaten
JEST - Einzelstatus pro Objekt
TJ02 - Systemstatus
Verknüpfungen:
AUFK-OBJNR <-> JEST-OBJNR
Wie unter ABRV beschrieben wird hier wiederum die Objektnummer verwendet um die Tabellen zu verknüpfen.
In der Tabelle JEST ist nun der vorhandene Status als Nummernfeld für jedes Objekt hinterlegt. In der Tabelle TJ02 erhalten wir allerdings auch die Bezeichnung dieses Status, so dass dieses Feld gerade bei der späteren Selektion sehr hilfreich ist.
Entsprechend legen wir als weitere Verknüpfung folgende an:
JEST-STAT <-> TJ02-ISTAT
Somit kann nachher in der Query auch über den Text bzw. die Beschreibung des Status verwendet werden.
2. Query definieren
Auch hier werden die Felder wieder in der Ausgabereihenfolge angegeben mit der Kennzeichnung L als Listenfeld und S als Selektionsfeld.
Auftragsstammdaten AUFK
Innenauftragsnummer AUFK-AUFNR (S,L)
Kurztext AUFK-KTEXT (L)
Name des letzten Änderers AUFK-AENAM (L)
Änderungsdatum des Auftragsstamms AUFK-AEDAT (L)
Einzelstatus pro Objekt JEST
Einzelstatus eines Objekts JEST-STAT (L)
Kennzeichen: Status inaktiv JEST-INACT (S)
Dieses Feld Status inaktiv, ist als Selektion wichtig, da eine einmal zugewiesene Sperre auch wieder deaktiviert werden kann. Daher wird dieses als weiteres Selektionsfeld mit angegeben.
Systemstatus TJ02
Systemstatus TJ02-ISTAT (S)
Durch Verwendung des Systemstatus aus der Tabelle TJ02 wird in der F4 Auswahlhilfe der Query dann auch die Beschreibung ausgegeben.
Zusatzfeld bzw. Textfeld
Zusatzfeld:
"Text:Systemstatus" TEXT_TJ02_ISTAT (L)
Handhabung der Query
Zur Handhabung der Query können nun alle Innenaufräge ausgewertet werden. Das Feld "Kennzeichen Status inaktiv" sollte auf BLANK oder ungleich X gesetzt werden (durch die Selektionsoptionen). Ferner kann hier der Status: I0043 für gesperrt
gewählt werden, so dass alle derzeit aktiv gesperrten Innenaufträge des Systems ausgewertet werden können.
Alternative: Systemstatus in einer Zeile je Auftrag ausgeben
Der Nachteil dieser Query ist, dass wenn kein Systemstatus vorselektiert wurde je Status eine extra Zeile pro Innenauftrag ausgegeben wird.Im Artikel "SAP Query ABAP Coding im Zusatzfeld für Verknüpfung Innenauftrag und Fond bzw. Finanzierungszweck" wird alternativ eine Methode beschrieben in der in der Stammdatenliste je Innenauftrag ein Zusatzfeld GESPERRT bei gesperrten Innenaufträgen mit ausgegeben wird. Dieses ist natürlich auch für andere Phasen eines Innenauftrages möglich.
ein Angebot von Espresso Tutorials
unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »SAP Query: Systemstatus CO Innenauftrag« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 4.3.2012, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=342 (Abgerufen am 23.11.2024)
2 Kommentare - Permalink - SAP
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Twitter 🌎 LinkedIn