2024-08-14 10:03:48 +02:00
# SAP Tricks
2024-08-14 10:12:07 +02:00
Navigation mit Fenstern im Transaktionsfeld:
2024-08-14 10:03:48 +02:00
2024-08-14 10:12:07 +02:00
`/N` = Wechsel
2024-08-14 10:03:48 +02:00
`/O` = Neue Session
## Tabellen
2024-08-14 10:12:07 +02:00
Ansicht via SE16N:
2024-08-14 10:03:48 +02:00
2024-08-14 10:12:07 +02:00
- T001W - Werke
- T024E - EKORG
- TVKO - VKORG
- PROJ - Projekte
- T179 - Produkthierarchie
2024-08-14 10:03:48 +02:00
## Transaktionen
2024-08-14 10:12:07 +02:00
- Projekte: CJ20N
- SQ00: Start Queries (haben manchmal Leute, die alle anderen SQ** nicht haben)
- SQ01: Queries pflegen
- SQ02: Infoset pflegen
- SQ03: Benutzergruppen pflegen
- SE38: ABAP Editor
- SA38: ABAP ausführen
- SU01: Benutzer pflegen
- SU01D: Benutzer anzeigen
- /UI2/FLP: Fiori Launchpad
2024-08-14 11:18:26 +02:00
- /SCWM/LAGP – Lagerplätze Welche Lagerplätze gibt es an einem Lagerort
- /SCWM/BINMAT – Lagerplatzartikel Welche Artikel sind auf einem Lagerplatz
2024-08-14 10:03:48 +02:00
## SAP Darstellung
2024-08-14 10:12:07 +02:00
- Dark Theme = Quartz Dark Theme
- Old School = Blue Crystal Theme
2024-08-14 10:03:48 +02:00


## Text markieren
2024-08-14 10:12:07 +02:00
So kann man zum Beispiel mehrere Zellen markieren, geht aber nur auf einem Bildschirm ohne Scrollen.
2024-08-14 10:03:48 +02:00
```text
CTRL+Y
```
## SE16N
2024-08-14 10:12:07 +02:00
Wenn keine Berechtigung, dann mal mit "ZSE16N" versuchen zu starten. Gemäss Alex Friess soll das dasselbe sein, nur ohne Änderungsberechtigung.
2024-08-14 10:03:48 +02:00
Feldlängen anzeigen via "Technische Sicht":

Varianten speichern oder holen:

Technische Felder in Listenausgabe:


## SQ01/SQ02 Export in Excel
2024-08-14 10:12:07 +02:00
Ein Excel-Export funktioniert über diesen Knopf nicht in jedem Fall. Hier geht es aber immer:
2024-08-14 10:03:48 +02:00

2024-08-14 10:12:07 +02:00
Oder der Button, wenn vorhanden:
2024-08-14 10:03:48 +02:00

## SQ02 InfoSet: Berechnete Spalte
2024-08-14 10:12:07 +02:00
Kann mittels ABAP erreicht werden.
2024-08-14 10:03:48 +02:00

2024-08-14 10:12:07 +02:00
Typ und Länge vom Feld am besten bei einem anderen ähnlichen Feld abgucken in der SE16N.
2024-08-14 10:03:48 +02:00
CHAR = C

2024-08-14 10:12:07 +02:00
Den neuen Eintrag dann selektieren und Coding zum Feld anlegen.
2024-08-14 10:03:48 +02:00

2024-08-14 10:12:07 +02:00
Beispiel-Code:
2024-08-14 10:03:48 +02:00
```ABAP
DATA: lv_vbund TYPE vbund.
CLEAR: lv_vbund.
CHECK: kna1-kunnr IS NOT INITIAL OR lfa1-lifnr IS NOT INITIAL.
IF kna1-kunnr IS NOT INITIAL.
SELECT SINGLE vbund INTO lv_vbund FROM kna1 WHERE kunnr = kna1-kunnr.
ELSEIF lfa1-lifnr IS NOT INITIAL.
SELECT SINGLE vbund INTO lv_vbund FROM lfa1 WHERE lifnr = lfa1-lifnr.
ENDIF.
vbund = lv_vbund. " Assign the value to the additional field
```
2024-08-14 10:12:07 +02:00
SAP ist, was Queries angeht, eine mühsame Angelegenheit, wenn man keine Berechtigung oder Ahnung hat als Developer.
2024-08-14 10:03:48 +02:00
1. Infoset anlegen. Da bildet man die Beziehung zwischen Tabellen mittels JOIN ab. Aber es ist sehr limitiert. Im konkreten Fall habe ich das gebaut:

2024-08-14 10:12:07 +02:00
1. Query bauen. Hier gibt es keine CASE-WHEN-Funktion. Im konkreten Fall hätte ich dann 2 Spalten mit VBUND gehabt, einmal die aus der LFA1 und einmal die aus der KNA1. Ich will aber je nachdem, was es ist, was ich da gerade selektiere, das Ergebnis in einer Spalte haben.
Das ABAP-Code-Schnipselchen ist der Inhalt eines sogenannten Zusatzfeldes. Dies ist eine berechnete Spalte im SAP-Slang. Es wird also in der Spalte geschaut, haben wir eine KNA1 oder eine LFA1 und dann je nachdem, was es ist, die VBUND genommen.
2024-08-14 10:03:48 +02:00
2024-08-14 10:12:07 +02:00
## Änderungshistorie BP Geschäftspartner Felder
2024-08-14 10:03:48 +02:00
2024-08-14 10:12:07 +02:00
Transaktion BP:
2024-08-14 10:03:48 +02:00
2024-08-14 10:12:07 +02:00
- Geschäftspartner auswählen
- Feld suchen, das man ansehen will und Text markieren
- Zusätze > Änderungshistorie > Für dieses Feld
2024-08-14 10:03:48 +02:00

