AL08 vs SM04 – der kleine aber feine Unterschied.

Vor einigen Jahren stand ich in einer SAP-Produtivumgebung vor dem Problem, dass eine Reihe von IDocs nicht verbucht werden konnten, da ein Material gesperrt war. Prompt rief ich die Transaktion SM12 auf, um nachzuschauen, welcher User das Material sperrte. Hier stand, – sauber aufgelistet – dass seit Stunden eine Reihe von Materialien von einem bestimmten User gesperrt wurden. Hmmm … dachte ich mir, konnte ich dieser Aussage trauen, denn User sperren nicht Stunden lang Stammdaten. Mein Misstrauen rührte auch aus meiner Erfahrung, dass unter bestimmten Bedingungen Sperren „hängen“ bleiben und nicht sauber gelöst wurden. Also rief ich zunächst die Transaktion SM04 auf, um nachzuschauen, ob ich der User überhaupt angemeldet war – und siehe da, der User war gar nicht angemeldet! Doch wenige Sekunden später fiel es mir wie Schuppen von den Augen … ohh Mann, dachte ich mir, ich fiel wieder auf die beschränkte Sicht der SM04 rein!

Denn neben der SM04 gibt es auch die AL08, und zwischen diesen beiden SAP-Transaktionen gibt es einen entscheidenden Unterschied:

 

# SM04 –  Liste der Benutzer innerhalb einer bestimmten Instanz (Server, Maschine, …)

# AL08 – Systemweite Liste der Benutzer (über alle Instanzen)

 

Als ich daraufhin die AL08 startete, fand ich den gesuchten User.

 

Was man zu SM04 und AL08 noch wissen sollte

#1 Wenn man sich im SAP-System anmeldet hat man keinen Einfluss, auf welcher Instanz man angemeldet wird. Durch optimierte Lastverteilung wird die Instanz automatisch bestimmt. Nach der Anmeldung kann die eigene Instanz mit der Transaktion SM51 wechseln. Übrigens … auf welcher Instanz man sich im SAP befindet, wird im SAP-GUI unten rechts angezeigt.

 

#2  Zwischen der SM04 und AL08 kann man hin und her wechseln

## SM04 -> AL08: Innerhalb der SM04 links oben in der Icon-Leiste auf den Button „Systemweite Liste“ („Berge“) klicken

## AL08 -> SM04: Innerhalb der AL08 links oben in der Icon-Leiste auf den Button „Auf Server wechseln“ („Blitz“) klicken.

 

#3 Sowohl in der AL08 als auch in der SM04 wird in der Spalte „Anwendung“, die letzte Transaktion dargestellt, die der User aufgerufen hat. Wenn man sich alle Transaktion/Sessions eines User anzeigen lassen will, geht das nur über die SM04: User markieren und auf den Button „Session“ klicken – zu beachten: Hier werden aber nur die Sessions innerhalb der aktuellen Instanz dargestellt.

 

#4 Zum Schluss noch … vielfach erliegt man im Testsystem dem Trugschluss, dass die SM04 und AL08 das gleiche Ergebnis liefern, da Testsysteme meistens nur eine Instanz besitzen.

 

cu, Isa.

 

 

 

 

 

SQVI, SQ01 kannst du bei Seite legen – es geht viel einfacher.

Wahrscheinlich kennst du den Effekt auch: Insbesondere im SD-Modul kommt man nicht drumherum mindestens in 2 Tabellen nachzuschauen, wenn man Belege sucht, die in einem bestimmten Status sind. Beispielsweise suchst du Aufträge für einem Zeitraum zu einem Kunden, die vollständig beliefert wurden. Dann musst du zunächst die Aufträge per VBAK suchen (1) und anschließend belieferte Aufträge per VBUK eingrenzen (2). Um dir das Leben zu erleichtern kannst ein Quickview oder Query bauen und so in Masse suchen – doch hier gibt es eine viel elegantere Möglichkeit, die mir einigen Monaten ein lieber und sehr erfahrener Kollege (Mustafa Sakarya) vorgestellt hatte: Datenbankviews.

 

Datenbankviews sind von SAP spendiert Joins zwischen 2 oder mehr Tabellen, die man einfach per SE16, SE16N oder SE16H aufrufen kann. Beispielweise ist die LIKPUK so ein Join, die die Tabellen LIKP und VBUK verbindet. Mit der LIKPUK kann man nun sehr mit einer einzigen Selektion per SE16N alle Lieferungen vom letzten Monat, aus einer bestimmten Versandstelle ermitteln, die noch nicht WA gebucht sind:

# SE16N aufrufen und in das Feld Tabelle LIKPUK eingeben

# Selektion:

## ERDAT 01.02.2019 bis 28.02.2019

## VSTEL=1000

## WBSTK <> C

 

Hier ein paar gängige SD-Datenviews, die hilfreich sind:

# VBAKUK – Join: VBAK-VBUK

# VBAP_VAPMA – Join: VAPMA-VBAP

# LIKPUK – Join: LIKP-VBUK

# LIPS_VLPMA – Join: VLPMA-LIPS

# VBRKUK – Join: VBRK-VBUK

# VBRP_VRPMA – Join: VRPMA-VBRP

 

cu, Isa.

 

SM59 – Einloggen per RFC-User – hilft auch Samstags

Was muss alles zusammentreffen, damit man Samstagnachmittag seinen Rechner hochfährt und einen Testfall im SAP-System durchspielt? Schlechtes Wetter kann eine Motivation sein. Eine gute Idee zu haben, die man unbedingt testen will, hilft auch weiter. Alleine im Hotelzimmer in einer fremden Stadt zu sitzen und sonst nichts anderes vorzuhaben, kann dich auch zu diesem Schritt verleiten. Vor einigen Monaten trafen diese Punkte tatsächlich zusammen, und ich konnte es nicht lassen, meinen Rechner hochzufahren, um einen Testfall durchzuspielen. Doch dann schlug Murphy zu und ich konnte mich – trotz aller Anstrengung – nicht an mein Passwort erinnern, das ich kurz vorher geändert hatte. Wenn ich im Office gewesen wäre, hätte ich kurzerhand einen Kollegen gebeten mein Passwort zurückzusetzen – doch wie gesagt, es war Samstag und ich war nicht im Office.

Als ich leicht säuerlich mit einem grummeligen Gefühl der Frustration meinen Rechner bei Seite legen wollte, viel mir der Tipp eines Kollegen ein, den er mir verraten hatte: Einloggen per RFC-User – und prompt war ich mit wenigen Klicks im System, konnte mein Passwort zurücksetzen und war eingeloggt. Und so funktioniert der Trick:

 

Voraussetzungen:

# Zwei SAP-System bspw. ECC und SCM sind per RFC miteinander verbunden.

# Du kannst dich ins ECC-System einloggen, aber nicht ins SCM-System

# dann gehts du einfach wie folgt vor:

 

#1 Log dich ins SAP ECC System ein und ruf die Transaktion SM59 auf

#2 Jetzt klappst du im linken Bereich den Ordner „ABAP-Verbindungen“ auf

#3 Hier machst du einen Doppelklick auf das System, auf das du dich einloggen willst

#4 Jetzt einfach auf den Button „Remote Verbindung“ klicken – et voilà – du bist im SCM System eingeloggt.

 

 

cu, Isa.

SM30 – diese Optionen verstecken sich hinter dieser SAP-Transaktion.

Die Pflegemöglichkeiten von Tabellen basieren im SAP-System vielfach  – insbesondere im Customizing – auf sogenannte Pflegeviews.  Ein Beispiel solcher Pflegeviews ist die V_T184 – Positionstypenzuordnung. Diese kann 2 unterschiedliche Wege aufrufen:

#1 Mit der Transaktion SM30

## Transaktion SM30 aufrufen -> V_T184 eingeben -> auf den Button „Anzeigen“ klicken

#2 Aus dem Customizingpfad

## Transaktion SPRO -> Vetrieb -> Verkauf -> Verkaufsbelegposition -> Positionstypen zuordnen

 

Der große Nachteil dieser Darstellungsoption ist es, dass die kompletten Inhalten der Tabelle, die zum Pflegeview gehören, dargestellt werden. Insbesondere wenn man mit Tabellen mit einigen zehn- oder hunderttausend Einträgen umgehen muss, wird dies sehr umständlich und schon das Laden der Daten kann einige Zeit in Anspruch nehmen.

 

SM30 – bestimmte Einträge selektieren

Eine kleine, etwas versteckte aber sehr hilfreiche Option, um den Anzeige der Daten gezielt einzuschränken bietet die Funktion „Auswahl nach Inhalten …“ der Pflegeviews:

# Bspw. wollen wir uns aus dem View V_T184 nur die Einträge ansehen mit …

## Verkaufbelegart = TA und

## Positionstypengruppe = LEER

 

#1 Starte die Transaktion SM30, gib in das Feld „Tabelle/Sicht“ V_T184 ein und klicke auf Anzeigen

 

#2 Anschließend über die Menüleiste: Auswahl -> Nach Inhalten … aufrufen

 

#3 Jetzt die Feldbezeichner „Verkaufsbelegart“ und „Positionstypengruppe“ markieren und Enter

 

#4 Hier nun „Positionstypengruppe=LEER“ AND „Verkaufsbelegart=TA“ selektieren und  auf den Button „Auswählen“ klicken

 

#5 Et voilà … nun werden nur die selektierten Einträge dargestellt …

 

4 weitere Features, die man zur SM30 kennen sollte …

Hier noch ein paar Tipps zur Transaktion SM30:

#1 Mit Anklicken der Option „Bedingungen eingeben“ im Startbild der SM30 kann schon vor dem ersten Aufruf der Inhalte die Selektionsbedingungen eingeben.

#2 Mit der Option „Vergleich“ zu finden in Ergebnis-Screen der SM30 im Menü: Hilfsmittel -> Vergleich kann man systemübergreifend die Inhalte von Views vergleichen – diese Option sehr hilfreich, wenn man Customizingdifferenzen zwischen Systemen ermitteln will.

#3 Weiterhin kann man bei der Selektion nach Inhalten – wenn man mehr als ein Feld selektiert – die Selektion der einzelnen Werte neben UND (AND) auch mit ODER (OR) verbinden.

#4 Im oberen Beispiel hatten wir nach den Feldinhalten mit dem Vergleichs-Operator „=“ gesucht. Hier gibt es neben dem Gleich folgende weitere Vergleichsoptionen:

# „<“ – kleiner
# „<=“ – kleiner oder gleich
# „<>“ – ungleich
# „=“ – gleich
# „=<“ – kleiner oder gleich
# „=>“ – größer oder gleich
# „>“ – größer
# „><“ – ungleich
# „>=“ – größer oder gleich
# „CA“ – enthält mind. ein Zeichen aus
# „CN“ – enthält nicht nur Zeichen
# „CO“ – enthält nur Zeichen
# „CP“ – enthält Muster
# „CS“ – enthält Zeichenfolge
# „NA“ – enthält kein Zeichen aus
# „NP“ – enthält Muster nicht
# „NS“ – enthält Zeichenfolge nicht

cu, Isa.

SAP-WM-Transaktion – DIE Übersicht.

A. WM-Transaktionen – Transportbedarf

# LB01/LB02/LB03 – Hinzufügen/Änd./Anz. Transportbedarf

# LB10 – TB’s zum Lagertyp

# LB11 – TB’s zum Material

# LB12 – TB’s und Umbuchanw. zum Mat.Beleg

# LB13 – TB’s zum Bedarf

 

B. WM-Transaktionen – Inventur

# LI01/LI02/LI03 – Hinzufügen/Änd./Anz. Inventurbeleg

# LI04 – Drucken Inventurbeleg

# LI05 – Inventurhistorie zum Lagerplatz

# LI06 – Sperren Lagertypen zur Stichtagsinv.

# LI11/LI12/LI13 – Erfassen/Änd./Anz. Inventurzählung

# LI14 – Veranlassen Nachzählung

# LI20 – Ausbuchen Inventurdifferenzen LVS

# LI21 – Ausbuchen Inventurdifferenzen MM-IM

# LL01 – Lagerleitstand

 

C. WM-Transaktionen – Nummernkreise

# LN01 – Nummernkreise Transportbedarfe

# LN02 – Nummernkreise Transportaufträge

# LN03 – Nummernkreise Quants

# LN04 – Nummernkreise Umbuchungen

# LN05 – Nummernkreise Inventur

# LN06 – Nummernkreise Gruppennummer

# LN08 – Nummernkreispflege: LVS_LENUM

 

D. WM-Transaktionen – Nachschub

# LP10 – Direktkommissionierung zum FA

# LP11 – WM-Bereitstellung Kistenteile

# LP12 – Abrufteile bereitstellen (WM/PP)

# LP21 – WM-Nachschub für Fixplätze

# LP22 – Nachschubplanung für Festplätze

 

E. WM-Transaktionen – Stammdaten

# LS01/LS02/LS03 – Hinzufügen/Änd./Anz. Lagerstamm

# LS04 – Anzeigen leere Lagerplätze

# LS05 – Generierung von Lagerplätzen

# LS06 – Sperren von Lagerplätzen

# LS07 – Sperren von Lagerquants

# LS08 – Sperren von Lagerplätzen gassenweise

# LS09 – Anzeigen Materialdaten pro Lagertyp

# LS11 – Lagerplätze massenweise ändern

# LS12 – Lagertyp sperren

# LS22 – Verändern Quants

# LS23 – Anzeigen Quants

# LS24 – Anzeigen Quants zum Material

# LS25 – Anzeigen Quants pro Lagerplatz

# LS26 – Lagerbestände zum Material

# LS27 – Anzeigen Quants zur Lagereinheit

# LS28 – Anzeige der Lagereinheiten/Platz

# LS32 – Ändern Lagereinheit

# LS33 – Anzeigen Lagereinheit

# LS41 – Liste Regelkreise zur Prod.Vers.

 

F. WM-Transaktionen – Transportauftrag

# LT01 – Hinzufügen Transportauftrag

# LT02 – Hinzufügen TA für Inventurdifferenz

# LT03 – Anlegen TA zur Lieferung

# LT04 – Erzeugen TA aus TB

# LT05 – Bearbeiten Umbuchanweisung

# LT06 – Erzeugen TA zum Materialbeleg

# LT07 – Hinzufügen TA für inh. Lagereinheit

# LT08 – Manuelles Zulagern auf Lagereinheit

# LT09 – I-Punkt-Funktion für Lagereinheiten

# LT0A – Vorplanen von Lagereinheiten

# LT0B – Einlagerung vork. Handling Units

# LT0C – Auslagerung vork. Handling Units

# LT0D – Umlagerung vork. Handling Units

# LT0E – Anlegen Entnahme-TA für 2-st.Kommi

# LT10 – TA anlegen aus Bestandsliste

# LT11 – Quittieren Transportauftragsposition

# LT12 – Quittieren Transportauftrag

# LT13 – Quittieren TA zu Lagereinheit

# LT14 – Quittieren vorgeplante TA-Position

# LT15 – Stornieren Transportauftrag

# LT16 – Stornieren TA zur Lagereinheit

# LT17 – Einzelerfassung Ist-Daten

# LT1A – Ändern Transportauftrag

# LT21 – Anzeigen Transportauftrag

# LT22 – Anzeigen Transportauftrag / Lagertyp

# LT23 – Anzeigen Transportaufträge nach Num.

# LT24 – Anzeigen Transportauftrag / Material

# LT25 – Anzeigen Transportauftrag / Gruppe

# LT26 – Transportaufträge zum Lagerplatz

# LT27 – Transportauftrag zur Lagereinheit

# LT28 – Anzeigen Transportauftrag / Referenz

# LT31 – Drucken TA manuell

# LT32 – Druck TA zu Lagereinheit

# LT41 – Vorbereiten TBs für Sammelgang

# LT42 – Hinzufügen TA im Sammelgang

# LT43 – Serienbildung für Lieferungen

# LT44 – Sammelgang Freigabe

# LT45 – Auswertung Referenznummern

# LT51 – Fehlteile pflegen

# LT63 – Steuerung: Einzelerfassung Ist-Daten

# LT64 – Einzelerfassung Ist-Daten

# LT72 – Bestimmen 2-Stufigkeit

# LT73 – Anzeigen 2-Stufigkeit

 

G. WM-Transaktionen – Umbuchungen

# LQ01 – Umbuchen in der Bestandsführung – LgOrt an LgOrt

# LQ02 – Umbuchen in der Bestandsführung

# LU01/LU02/LU03 – Anlegen/Änd./Anz. Umbuchungsanweisung

# LU04 – Selektion Umbuchungsanweisungen

 

H. WM-Transaktionen – Sonstige

# LX01 – Leerplatzliste

# LX02 – Bestandsliste

# LX03 – Lagerspiegel

# LX04 – Kapazitätsauslastung

# LX05 – Sperren Blocklagerplätze n. Zeitsch.

# LX06 – Feuerwehrliste

# LX07 – Überprüfen Lagerung

# LX08 – Störfall-Liste

# LX09 – Gesamtübersicht Transportbedarfe

# LX10 – Bewegungen pro Lagertyp

# LX11 – Belegübersicht

# LX12 – Belegübersicht, Breitformat

# LX13 – Differenzenanalyse

# LX14 – Gängigkeitsanalyse

# LX15 – Selek. Plätze zur Stichtagsinventur

# LX16 – Selek. Plätze zur perman. Stich.inv.

# LX17 – Differenzenliste Inventur

# LX18 – Statistik Inventurdifferenzen

# LX19 – Bestandsübernahme B.I.

# LX20 – Schnittstellenlagerplätze generieren

# LX21 – Sammel-Kommissionierliste

# LX22 – Bearbeiten Inventur aus Übersicht

# LX23 – Bestandsabgleich IM – WM

# LX24 – Anzeige der Stoffnummern

# LX25 – Inventurfortschritt

# LX26 – Inventur im WM via Cycle Counting

# LX27 – Lagerbestände nach MHD

# LX28 – Relevante TA-Pos. für Fremdsystem

# LX29 – Fixplatzüberwachung

# LX30 – Übersicht WM-Nachrichten Fremdsystem

# LX31 – Analyse der Drucksteuertabellen

# LX32 – Archivierte Transportaufträge

# LX33 – Archivierte Transportbedarfe

# LX34 – Archivierte Umbuchungsanweisungen

# LX35 – Archivierte Inventuraufnahmebelege

# LX36 – Archvierte Inventurhistorien

# LX37 – Verknüpfte Objekte

# LX38 – Check-Report Customizing Strategie K

# LX39 – Auswertung Referenznr. für 2-stKommi

# LX40 – Materialsituation Prod.-Lagerplatz

# LX41 – Lagerspiegel WM/PP-Schnittstelle

# LX42 – Auswertung PP-Auftrag aus WM-Sicht

# LX43 – Konsistenzprüfung der Regelkreise

 

cu, Isa.

SAP-WM-Tabellen – einfach auf den Punkt gebracht.

 

SAP-WM – Anwendungstabellen

# LTBK – Tranportbedarfskopf

# LTBP – Transportbedarfsposition

# LTAK – LVS Transportauftragskopf

# LTAP – Transportauftragsposition

# LQUA – Lagerquants

# LINK – Inventurbelegkopf im LVS

# LINP – Inventurbelegposition im LVS

# LINV – Inventurdaten pro Quant

# LAGP – Lagerplätze

# LEIN – Lagereinheiten-Kopfsätze

# LQUA – Lagerquants

# LQUAB – Summeninformation zu Lagerquants bei bestimmten Strategien

# LECMOFF – Abschalten des Änderungsmanagements im Notfall

# LL01 – Lagerleitstand: Kritische Transportauftragspositionen

# LL02 – Lagerleitstand: Kritische Transportbedarfspositionen

# LL03 – Lagerleitstand: Kritische Umbuchungsbelege

# LL04 – Lagerleitstand: Kritische Lieferungen

# LL05 – Lagerleitstand: Kritische Bestände

# LL06 – Lagerleitstand: Kritische Lagerplätze

# LL07 – Lagerleitstand: Kritische Fertigungsaufträge

# LRF_WKQU – Zuordnung Benutzer ->Queue

# LSEG – Beleg für Lagerzu-/-abgänge

# LTHU – Zuordnung von Pick-HU’s zu Transportaufträgen

# LUBU – Umbuchungsbeleg

# MGEF – Gefahrenstoffe

 

SAP-WM – Customizingtabellen

# NKLV – Nummernkreise im LVS

# T300/T300T – LVS Lagernummern / Bezeichnung

# T301/T301T – LVS Lagertypen/Bezeichnung

# T302/T302T – LVS Lagerbereiche/Bezeichnung

# T303/T303T – LVS Lagerplatztypen/Bezeichnung

# T304/T304T – Lagerbereichskennzeichen/Bezeichnung

# T305/T305T – Lagertypkennzeichen/Bezeichnung

# T306/T306T – Bewegungssonderkennzeichen/Bezeichnung

# T307/T307T – Lagereinheitentypen/Bezeichnung

# T308/T308T – Bedarfstypen/Bezeichnung

# T309/T309T – Brandabschnitte/Bezeichnung

# T30A/T30AT – LVS Kommissionierbereiche/Bezeichnung

# T30B/T30BT – LVS Tore/Bezeichnung

# T310 – Fehlteile

# T311 – Definition der WM-Gruppen

# T311A – Verweis WM-Gruppe zu Belegen

# T311L – Definition des Laufes innerhalb einer WM-Gruppe

# T312 – Steuerung Leistungsdaten und TA-Split

# T312A – Profil für Leistungsdaten

# T312B – Profil für Splitt Transportauftrag

# T312R – Rüstzeit für Sollaufwand im Transportauftrag

# T312S – Profil für Sortierung

# T312W – Wegzeit für Sollaufwand im Transportauftrag

# T319 – Steuerung automatische Pick-HU Erstellung

# T319A – Zurodnung omatische Pick-HU Erstellung

# T320 – Zuordnung IM-Lagerort zu WM-Lagernummer

# T320A – WM: Lagerortsteuerung

# T321 – Zuordnung Bewegungsart RM-MAT –> Bewegungsart RM-LVS

# T321B – Bestandsarten und Sonderbestände für externe Systeme

# T322 – Bewegungsarten RM für Ausbuchen Inventur

# T324/T324T – Lagerortreferenz/Bezeichnung

# T325/T325T – WM: QM-Schnittstelle Stichprobenbehandlung/Bezeichnung

# T326 – Steuertabelle für die 2-stufige Kommissionierung

# T327 – Steuerung der Kopplung LVS –> Lagersteuerrechner (LSR)

# T327A – Steuerung der Kopplung LVS –> SUB-System

# T327B – Definition der FBs für IDOC-Aufbau: Kopplung WM – SUB

# T327T – Variantenbezeichnung für die Kopplung WM -> SUB-System

# T327V – Varianten für die Kopplung LVS -> SUB-System

# T328 – Lagerleitstand: Definition kritischer Parameter

# T328A – Aktivierung Lagerleitstandsobjekte

# T328B – Lagerleitstand: Anzeigevarianten für Hierarchiedarstellung

# T328C – Lagerleitstand: Bezeichnung Anzeigevarianten

# T329A – Druckerpooldefinition

# T329D – TA-Drucker-Steuerung

# T329F – Drucksteuertabelle

# T329P – Parameter zum TA-Druck

# T329S – Drucksteuertabelle für Sammelgänge

# T329T – Texte zur Formatierung beim TA-Druck

# T330/T330T – Sperrgruende/ Bezeichung

# T331 – Lagertypsteuerung

# T331B – Lagertypsteuerung im Blocklager

# T331L – Erlaubte Lagerklassen pro Lagertyp

# T333/T333T – Bewegungsarten der Lagerverwaltung/Bezeichnung

# T333A/T333B – Transportarten / Bezeichnung

# T333M – Mailsteuerung bei Hintergrundverarbeitung

# T333N – Steuerung für automatische Transportauftragserstellung

# T333O – Texte zur automatischen TA-Erstellung

# T333U – WM-Bewegungsarten für das Umbuchen in WM und IM

# T334B – Lagerbereichsfindung

# T334E – Lagereinheitentypprüfung

# T334P – Lagerplatztypfindung

# T334T – Lagertypfindung

# T334U – Zugriffsstrategie für die Lagertypfindung

# T335 – Vorschlagswerte fuer die Inventur

# T336/T336T – Differenzenkennzeichen/Bezeichnung

# T337A – Aufteilung der Lagerplätze in Positionen

# T337B – Aufteilung der Blöcke im Blocklager

# T337C – Suchbreite pro Ebene für die Einlagerstrategie K

# T337D – Zuordnung Gang zu Regal für die Einlagerstrategie K

# T337Z – Platzaufteilung zu Lagerplatztyp/Lagereinheitstyp

# T338/T338T – Blocklagerkennzeichen/Bezeichnung

# T339/T339T – Definition Bemerkung zur TA-Ausführung/Bezeichnung

# T340 – LVS Transaktionen

# T340D – LVS Defaultwerte

# T341 – LVS Bildauswahl

# T342 – Steuerung der Dynprofolge im LVS

# T342T – Zuordnung Titlebar zum PF-Status

# T343 – Lagerplatzstruktur fuer maschinelle Anlage

# T343I – Definition des Sortierfeldes im Lagerplatz

# T343J – Definition des Reihenfolgefeldes im Lagerplatz

# T344 – Mandantenabhängige Steuertabelle für MM-WM

# T345 – Mandantenabhängige Steuertabelle für WM->PP-Bereitstellung

# T346 – RF-Queuedefintion

# T346L – Zuordnung Bereiche und Aktivitäten zu Queue

# T346T – RF-Queuebezeichnungen

# T346X – Ausnahmefälle: Queue-Forwarding

# T646A/T646B – Aggregatzustände/Bezeichnung

# T646G/T646H – Gefahrenvermerke/Bezeichnung

# T646L/T646M – Lagerklassen/Bezeichnung

# T646R/T646S – Regionalkennzeichen/Bezeichnung

# T646V/T646W – Lagergefahrenmerke/Bezeichnung

 

cu, Isa.

SAP-Nachrichtenfindung – rette deinen Tag und erfahre Experten-Details.

Vor einiger Zeit hatte ich hier den Beitrag „10 Schritte, um die SAP-Nachrichtenfindung zu meistern“ veröffentlicht. Damals hatten ich die prinzipielle Logik der Nachrichtenfindung basierend auf der Konditionstechnik erklärt. In diesem Beitrag will ich einige Details darstellen, die im Rahmen der Nachrichtenfindung in SAP ERP relevant sind.

 

A. NACE – die zentrale Transaktion der Nachrichtenfindung in SAP ERP

Die NACE ist die zentrale Transaktion für die Nachrichtenfindung in SAP ERP. Mit dieser Transaktion kann man für alle Anwendungen (Verkauf, Versand, Bestellung, …), in denen die Nachrichtenfindung genutzt werden:

# Die Zugriffsfolgen definieren

# Nachrichtenarten aufsetzen

# Nachrichtenschemata einstellen

# Nachrichtenkonditionssätze pflegen

 

 

Neben diesen offensichtlichen Funktionen der NACE können mit dieser Transaktion auch weitere Funktionen aufgerufen werden (zu erreichen über die Menüleiste der NACE – Bearbeiten oder Springen):

# Bearbeiten ->

## Rollen/Nachrichten

## Konditionstabellen

## Feldkatalog

## Druckparameter

# Springen ->

## Bedingungen

## Partnerrollen

## Customizing-Check

 

Zusätzlich zur  NACE bietet SAP für die Nachrichtensteuerung eine abgespeckte Version dieser Transaktion an, mit den nur Teilaufgaben erfüllt werden können:

# NACU –  Nachrichtenarten pflegen

# NACQ – Konditionstabellen pflegen

# NACR – Nachrichtenkonditionen pflegen

 

B. Konditionssätze pflegen für Anwender

Da vielfach die Berechtigungen für die NACE oder NACR an die User nicht vergeben wird, kann man Nachrichtensätze für die jeweiligen Anwendungen mit unterschiedlichen Transaktionen pflegen:

Nachrichtenkonditionen (anlegen / ändern / anzeigen)

# VV11 / VV12 / VV13  – Verkauf

# VV21 / VV22 / VV23 – Versand

# VV31 / VV32 / VV33 – Faktura

# VV61 / VV62 / VV63 – Handling Units

# VV71 / VV72 / VV73 – Transport

# MN04 / MN05 / MN06 – Bestellungen

# MN24 / MN25 / MN26 – Anlieferung

# MN10 / MN11 / MN12 – Lieferplan

# MRM1 / MRM2 / MRM3 – Rechnungsprüfung

 

C. Was bedeutet eigentlich Versandzeitpunkt in den Nachrichtenkonditionen

Bei der Pflege von Nachrichtenkonditionen gibt es die Option des Versandzeitpunkts, das man verstanden haben sollte, wenn man die Nachrichtenfindung richtig einsetzen will:

 

# Versandzeitpunkt 1: Mit dieser Option wird die gefundene Nachricht nicht direkt verarbeitet; sie kann mittels des Programms RSNAST00, das normalerweise als Job eingeplant wird, verarbeitet werden.

# Versandzeitpunkt 2: Diese Option ist identisch zu 1 bis auf folgenden Unterschied; hierbei kannst du einen Zeitraum bestimmen, in der das Programm RSNAST00 die Nachricht ausführt. Die Bestimmung des Zeitraum erfolgt durch einen Report, der der Nachrichtenart (Customizing) zugeordnet werden muss:

SAP hat zur Zeitraumbestimmung das folgende Beispielprogramm vorgesehen: RSFNDTIM:

Sinngemäß steht in diesem Beispielreport:

# Die Nachrichtenart BA00 (Auftragsbestätigung):

## soll nach 3 Tagen nur zwischen 17 und 20 Uhr verarbeitet werden, wenn es sich um eine Drucknachricht (NACHA=1) handelt

## soll am gleichen Tag nur zwischen 21 und 24 Uhr verarbeitet werden, wenn es sich um eine Faxnachricht (NACHA=2) handelt.

# Versandzeitpunkt 3: Wenn dieser Versandzeitpunkt gewählt wurde, kann die Nachricht mit sogenannten anwendungseigenen Transaktionen verarbeitet werden – diese Transaktionen stelle weiter unten vor.

# Versandzeitpunkt 4: Bei dieser Option wird die Nachrichten, sofort nachdem sie gefunden und der Beleg gesichert wurde, verarbeitet.

 

D. Anwendungseigene Transaktionen

Wenn in den Nachrichtenkonditionen der Versandzeitpunkt 3 gewählt wurde, können die Nachrichten nur mit folgenden Transaktionen verarbeitet werden:

# VL70 – Nachrichten aus Kommissionierlisten

# VL71 – Nachrichten aus Auslieferungen

# VL72 – Nachrichten aus Gruppen von Lieferungen

# VL73 – Rückmeldung dezentraler Lieferungen

# VL74 – Nachrichten aus Handling Units

# VL75 – Lieferavisnachrichten

# VT70 – Nachrichten zu Transporten

# VF31 – Nachrichten zur Faktura

# ME9A – Nachrichtenausgabe Anfragen

# ME9E – Nachrichtenausgabe LP-Einteilungen

# ME9F – Nachrichtenausgabe Bestellungen

# ME9K – Nachrichtenausgabe Kontrakte

# ME9L – Nachrichtenausgabe Lieferpläne

# MR91 – Nachrichten zu Rechnungsbelegen

 

An dieser Liste ist auffällig, dass es für Nachrichten aus dem Kundenauftrag keine anwendungseigene Transaktion vorgesehen sind. Hier kann man sich aber mit dem Report SD70AV1A behelfen; mit diesem Report lassen sich Nachrichten aus dem Kundenauftrag mit Versandzeitpunkt 3 prozessieren. Nach Bedarf kann man zum Report per SE93 einfach eine eigene Transaktion erstellen.

 

E. Wichtige Tabellen zur Nachrichtenfindung

Zum Schluss eine kleine Liste interessanter Tabellen im Zusammenhang mit der Nachrichtenfindung:

 

# NACH – Detaildaten für Nachrichtenkonditionen

In dieser Tabelle sind die Detail zu allen Nachrichtenkonditionen abgelegt, die im System angelegt worden sind.

 

# NAST – Nachrichtenstatus

In der NAST sind alle Nachrichten, die zu einzelnen Belegen gefunden worden sind, gesperichert.

 

# T685B – Konditionsarten: Zusatzdaten Nachrichtenversendung

Hier findet man Detail zu den Nachrichtenkonditionsarten

 

# TNAPR – Verarbeitungsprogramme für Nachrichten

In der TNAPR kannst du die Zuordnung der Verarbeitungsprogramme zu den Nachrichtenarten finden.

 

# B… – Zugriffstabellen der Nachrichten – bspw. B010 – Versandstelle / Route

Die B-Tabellen (fangen immer mit B an und mit 3 folgenden Ziffern) stellen die Zugriffstabellen der SAP-Nachrichten dar.

 

cu, Isa.

 

SAP-Tabellen zur Unternehmensstruktur: Einfach und übersichtlich.

A. FI – Unternehmensstruktur-Tabellen

# T880 – Gesellschaftsdaten (für KONS-Ledger)

# T014 – Kreditkontrollbereiche

# T001 – Buchungskreise

# TGSB – Geschäftsbereiche

# TFKB – Funktionsbereiche

# TGSBK – Geschäftsbereiche für die Konsolidierung

# FM01 – Finanzkreise

# FAGL_SEGM – Stammdaten für Segmente

 

B. CO – Unternehmensstruktur-Tabellen

# TKA01 – Kostenrechnungskreise .

# TKEB – Verwaltung Ergebnisbereiche (mandantenabh.)

# TKA02 – Kostenrechnungskreisfindung

 

C. LO – Unternehmensstruktur-Tabellen

# T001W – Werke/Niederlassungen

# T499S – Standorte

# TSPA – Vertriebssparten

# T001K – Bewertungskreis

# T134G – Geschäftsbereichsfindung

 

D. SD – Unternehmensstruktur-Tabellen

# TVKO – Verkaufsorganisationen

# TVTW – Vertriebswege

# TVBUR – Verkaufsbüros

# TVKGR – Verkäufergruppen

# TVTA – Vertriebsbereiche

# TVKBZ – Verkaufsbüros: Zuordnung zu Org.-Einheiten

# TVBVK – Verkäufergruppen je Verkaufsbüro

# TVKWZ – Erlaubte Werke je Verkaufsorganisation

 

E. MM – Unternehmensstruktur-Tabellen

# T024E – Einkaufsorganisationen

# T001L – Lagerorte

# T024W – Zulässige Einkaufsorganisationen zum Werk

# T024Z – Einkaufsorganisationen

 

F. LES – Unternehmensstruktur-Tabellen

# T300 – LVS Lagernummern

# TVST – Defintion der Versandstellen

# TVLA – Ladestellen je Versandstelle

# TTDS – Transportdispostellen

# T320 – Zuordnung IM-Lagerort zu WM-Lagernummer

# TVSWZ – Versandstellen je Werk

 

cu, Isa.

SAP Batch Jobs – diese Details werden dich beeindrucken.

Wenn man es auf den Punkt bringt, sind Batch Jobs in SAP einfach ABAP-Programme, die im Hintergrund ausgeführt werden. Über die Jahre habe ich die Möglichkeiten der Batch Jobs  zu schätzen gelernt, da man mit ihnen einfach und effektiv Prozesse automatisieren, Performance-Engpässe umgehen und das System monitoren kann. Im Folgendem einige Anwendungsbeispiele für Batchjobs:

# Kundenaufträge einmal am Tag per Job beliefern

# Periodenverschieber automatisch ausführen

# Fehlerhafte IDocs erneut verbuchen

# Fehlerhafte Stammdaten prüfen und Mail an eine Verteilerliste senden

# Umfangreiche SE16N-Selektionen im Hintergrund laufen lassen, damit man nicht in den Timeout gerät

 

A. Wie legt man einen SAP Batch Job an

A.1 Beispielszenario

In unserem Beispiel sollen Status des Transportbelegs vom Spediteur per IDocs aktualisiert werden. Zu diesem Zwecke sendet der Spediteur SHPMNT-IDocs, die das Transportende Datum des Transportbelegs setzen. Doch durch Sperrsituation im Transportbeleg passiert es immer wieder, dass die IDocs nicht verarbeitet werden können und hängen bleiben. Um die fehlerhaften IDocs doch noch zu verbuchen, sollen alle 2 Stunden diese IDocs nochmal verbucht werden. Um diese Anforderung zu erfüllen, werden wir ein Batch Job aufsetzen.

 

A.2 SAP Batch Job Grundlagen

Um in SAP einen Batch Job aufzusetzen brauchst du im Grunde nur folgende 3 Zutaten:

#1 Du musst die Berechtigung haben um Jobs anzulegen

#2 Du musst das Programm kennen, für das ein Batch Job laufen soll

#3 Du musst zum Programm eine Selektionsvariante anlegen, mit der das Programm im Batch laufen soll.

Für unser Beispiel verwenden wir das Programm RBDMANIN (Verbuchen fehlerhafter IDocs) mit der Selektionsvariante „SHPMNT ERR„. Um die Selektionsvariante anzulegen, musst du das Programm per SE38 ausführen und die Selektiosmaske wie angefordert ausfüllen und schließlich die Selektion als Variante sichern:

* Wichtig: Die Angaben für Uhrzeitsintervall, logische Nachrichtentyp und „Dunkle abspielen“ kannst du als Fixwert eingeben. Hingegen musst du das Intervall für das Erstellungsdatum dynamisch angeben, d.h. hier muss man immer das Datum „Gestern“ bis „Heute“ angegeben werden – wie diese Felder dynamisch belegt werden, hatte ich im folgendem Beitrag beschrieben: Das SAP-Selektionsbild – 19 Wege das Datum dynamisch zu selektieren

 

A.3 SAP Batch Job anlegen in 4 einfachen Schritten

So … nachdem wir das Programm bestimmt und die Selektionsvariante angelegt haben, können wir den Batch Job anlegen. Dabei wollen wir erreichen, dass das Programm mit der Selektionsvariante alle 2 Stunden ausgeführt, um fehlerhafte SHPMNT-IDocs erneut zu verarbeiten.

 

#1 Ruf die Transaktion SM36 auf und gib einen entsprechenden Jobnamen an – in unserem Beispiel: SHPMNT ERR – und klicke auf den Button Startbedingung

 

#2 Im folgenden Pop-Up-Fenster klickst du dich folgendermaßen durch

## Button „Sofort“

## Button „Periodenwerte“

## auf „Andere Periodenwerte“

## gib in das Feld „Stunde(n)“ eine 2 ein

## Abschließend sicherst du alle Pop-Up-Fenster einzeln nacheinander

 

#3 Im nächsten Schritt müssen wir angeben, was der Job tun soll: Hier musst du auf den Button „Steps“ klicken und im Pop-Up-Fenster die dargestellten Eingaben machen und das Fenstern sichern – damit haben wir den Step für den Job definiert, der in der Stepübersicht zu sehen ist:

 

 

#4 Zum Schluss musst du jetzt noch per F3 zurück zum Übersichtsbild der Jobdefinition springen und diese Sichern – damit ist der Batch Job angelegt und beginnt in regelmäßigen Abständen zu laufen.

 

B. Was du sonst noch über SAP Batch Jobs wissen solltest

 

B.1 Mehrere Steps zu einem Job

Im oberen Beispiel haben wir zum Job nur einen Step (Programm) definiert. Hier ist es natürlich möglich in der mehr Steps zu definieren, die in einem Joblauf nacheinander abgearbeitet werden.

 

B.2 Job Monitor – SM37

Eigentlich ist die SM37 die zentrale Jobtransaktion. Hier kannst du die Jobs überwachen, die Laufzeiten ermitteln und Job-Logs lesen. Mit der SM37 kannst du die Jobs nach unterschiedlichen Kriterien selektieren. Die wichtigste Option ist die Selektion nach dem Programmnamen, da man sich vielfach an den Jobnamen nicht mehr erinnert, aber das Programm ist häufig bekannt.

 

B.3 User – Einplaner vs Ausführender

Beim Thema SAP Batch Job solltest du dir klar machen, dass es immer mindestens 2 User gibt.

# User1 hat den Batch Job eingeplant

# User2 führt die Steps des Jobs aus. Diesen User bestimmst du bei der Stepdefinition (direkt im ersten Feld). Hintergrund dieses Users ist, dass er umfangreichere Berechtigungen besitzen kann.

 

B.4 Der Job soll nur bis zu einem bestimmten Datum laufen

Mit der normalen Jobeinplanung per SM36 ist es nicht möglich einen Job so einzuplanen, so dass er nur bis zu einem bestimmten Datum/Uhrzeit laufen soll. Die Anforderung kannst du mit Hilfe des Programms BTCAUX10 (per SE38 aufrufen) erfüllen. Hier definierst du den gewünschten Job und gibst in den Feldern letztes Auführungsdatum/-uhrzeit die gewünschten Daten ein.

 

B.5 Weitere Hilfsprogramme zu Jobs

Neben der BTCAUX10  gibt es folgende Hilfsprogramme zum Thema Jobs, die man per SE38 aufrufen kann

 

# BTCAUX01 – Jobs mit fehlenden Druckparametern anzeigen und reparieren

# BTCAUX02 – Jobs mit gelöschtem Drucker anzeigen

# BTCAUX03 – Hilfsprogramm zum Archivieren von Joblogs

# BTCAUX04 – Mehrfach eingeplante periodische Jobs identifizieren

# BTCAUX05 – Jobs zu Spoolaufträgen selektieren

# BTCAUX06 – Protokollierung für Joblöschung einschalten

# BTCAUX07 – Status von aktiven Jobs überprüfen

# BTCAUX08 – Anfang oder Ende eines Joblogs anzeigen

# BTCAUX09 – Jobs mit gelöschten Benutzern identifizieren

# BTCAUX10 – Job mit letztem Ausführungstermin bzw. mit Zeitfenster einplanen

# BTCAUX11 – Beispielprogramm zum Erzeugen eines Jobs mit Spoollistenempfänger

# BTCAUX14 – Hintergrund-Jobs nach ihrer Häufigkeit auflisten

# BTCAUX18 – verschiedene Überprüfungen von Jobs und ihren Protokollen

# BTCAUX20 – Löschen obsoluter Einträge aus BTCOPTIONS

 

B.6 Hilfreiche Job-Tabellen

 

# TBTCO –  Job-Zustandsübersichtstabelle

# TBTCP – Step-Übersicht eines Batch-Jobs

# TBTCY – Tabelle für Jobs im Status ‚bereit‘

# TBTCA – Nachfolger-Relation bei Batch-Job Einplanungen

# TBTCB – Vorgänger-Relation bei Batch-Job Einplanungen

 

B.7 Zwischen den Job-Steps eine Wartezeit vorsehen

Manchmal ist es nötig zwischen 2 Steps eines Jobs eine Wartezeit einzuplanen – dies kann bspw. dann erforderlich sein, wenn man sicher gehen will, dass die Verbuchung des ersten Steps durch ist, bevor der nächste Step startet. Diese Wartezeit kannst du wie folgt umsetzen:

#1 Führe per SE38 das Programm RSWAITSEC aus und gib in Sekunden die gewünschte Wartezeit an

#2 Dann speicherst du deine Eingabe als Selektionsvariante – bspw. 20 Sekunden

#3 Nun fügst du das Programm RSWAITSEC mit deiner Variante (20 Sekunden) als Step zwischen die beiden ursprünglichen Steps ein

 

B.8 Job-Debuggen – so geht es

Um einen aktiven Job zu debuggen kannst du JDBG nutzen:

#1 Zu debuggenden Job, der aktive sein muss, per SM37 aufrufen und markieren

#2 Jetzt einfach in die Transaktionsleiste JDBG eingeben und Enter drücken- jetzt springt der Joblauf in den Debugger-Modus

 

B.9 RSPC – Man kann mit Process Chain auch Batch Jobs aufsetzen

Normalerweise habe ich die Transaktion RSPC – Prozesskettenpflege in Rahmen von BI-Projekten kennengelernt – hier wurde sie bspw. für die regelmäßige Cube-Befüllung eingesetzt. Doch im letzten Projekt habe ich von einem Kollegen gelernt, dass man mit Prozessketten auch Batch Jobs aufsetzen kann. Batch Job mit Prozessketten haben bspw. den Vorteil, dass mehrere parallele Steps aufgesetzt werden können und anschließend der nächste Step nur beginnt, wenn alle parallelen Steps beendet sind.

 

B.10 Job per Variante auf „inaktiv“ setzen

Eine sehr elegante Möglichkeit einen regelmäßigen Batch Job kurzfristig auf „inaktiv“ zu setzen ist es, die Variante der Steps zu verändern. Im obigen Beispiel hatten wir SHPMNT-IDocs in einem bestimmten Zeitraum als Selektionsvariante (SHPMNT ERR) verwendet. Wenn du in diese Variante in die Zeile IDoc eine 1 einträgst und die Variante speicherst, wird der Job nie irgendwas tun, da es höchstwahrscheinlich keine SHPMNT-IDocs mit der Nummer 1 im gewünschten Zeitraum gibt – also ist der Job inaktiv 😉

 

cu, Isa.

 

 

Was wirklich beim Projektplan zählt.

Im Sommer diesen Jahres hatte ich vorgestellt, wie man effektiv und ohne viel Mühe einen SAP-Projektplan erstellt: SAP-Projektplan erstellen – in 5 kurzen und einfachen Schritten. Damals schon ist mir aufgefallen, dass die Erstellung des Projektplans „nur“ ein erster Schritt ist. Über die Jahre habe ich die Erfahrung gemacht, dass vielfach Projektpläne in der Schublade verschwinden und nicht mehr aktiv „gelebt“ werden. Dabei sollte der Projektplan als zentrales Steuerungswerkzeug über den ganzen Projektzyklus gepflegt und gelebt werden. Im folgenden habe ich 5 Aspekte zusammengestellt, die neben der Erstellung des Projektplans zusätzlich beachtet werden sollten.

 

 

 

#1 Erstelle den Projektplan zusammen im Team

Auch wenn du alle anderen Tipps nicht berücksichtigst – diesen Aspekt solltest du unbedingt beachten: Erstellen einen Projektplan nie allein, sondern im Team. Dieses Vorgehen bietet folgende Vorteile: Zum einen bekommst du wertvollen Input vom Team, und zum anderen wird das Team einen Projekt, bei dem es mitgewirkt hat, eher akzeptieren und dahinterstehen.

 

#2 Hole dir Feedback von den Stakeholdern ein

Nachdem du eine erste Version des Projektplans fertiggestellt hast, verteile diesen an alle Stakeholder und bitte sie um ein Feedback. Frühes einbilden der Satkeholder ist essentiell für ein effektives Stakeholdermanagement; siehe hierzu auf folgenden Link: Ein schonungsloser Blick hinter die Kulissen: Effektives Stakeholder-Management für SAP-Berater.

Feedback, dass du von den Stakeholdern bekommen hast, solltest du kritisch bewerten und anschließend – falls es dir sinnvoll erscheint – in den Projektplan einarbeiten. Bitte vergesse hier nicht, auf jedes Feedback eine Antwort zu erstellen.

 

#3 Verteile den Projektplan an ALLE Teammitglieder

So … jetzt solltest du eine erste abgestimmte Version des Projektplans vorliegen haben. Nun ist es an der Zeit diesen Projektplan an alle Teammitglieder und Stakeholder zu verteilen – bitte mach nicht Fehler hier jemand zu vergessen. Scheue dich nicht, mit der Verteilung des Projektplans konkrete Aufgabenstellung mitzugeben.

 

#4 Passen den Projektplan zeitnah an

Ein großer Fehler, den ich immer wieder beobachte, ist, dass bei Änderungen des Projektablaufs die Anpassung des Projektplans vernachlässigt wird. Mach hier nicht den Fehler den Projektplan für die Schublade zu erstellen. Mache es dir zur wöchentlichen Routine den Projektplan zu aktualisieren und jede noch so kleine Änderung im Projektplan anzupassen.

 

#5 Kommuniziere jede Änderung an alle Teammitglieder

Letztlich solltest du nicht vergessen die Änderungen des Projektplan an alle Teammitglieder und die Stakeholder zu kommunizieren. Am besten machst das auch routinemäßig einmal die Woche, so stellst du eine Verbindlichkeit her und alle Beteiligten werden sich eingebunden fühlen.

 

cu, Isa.