[ABAP] SE80: Tricks für den ABAP-Editor

Groß-/Kleinschreibung umschalten

  • Text markieren
  • toggle: STRG + K
  • upper case: STRG + U
  • lower case: STRG + L

Blockselektion mit Maus

  • Blockbeginn selektieren
  • Blockende mit ALT + Mausklick

Blockselektion mit Tasten

  • Horizontale Auswahl: SHIFT + CRSR
  • Vertikale Auswahl der darunter liegenden Zeilen: SHIFT + ALT + CRSR

Schnelle Typdefinition im Code

  • TYPES im ABAP-Editor eingeben
  • STRG + SPACE drücken
  • Doppelklick auf TYPES
  • Typnamen im Popup eingeben
  • Button „Preview TYPE“ klicken
  • gewünschte Felder wählen
  • Button “Weiter” klicken

ABAP-Code als Datei (*.abap) speichern

  • STRG + SHIFT + S

Links

[SAP] User-Exits über ein Entwicklungspaket (Z-INCLUDE) suchen

Transaktionen

SE93

  • Transaktionscode: eingeben
  • Button “Anzeigen”
  • Paketname der Transaktion steht im Feld Paket

SE80

  • Entwicklungsobjekt –> Z-INCLUDE
  • Rechtsklick auf Z-INCLUDE -> Verwendungsnachweis -> in Programmen
  • Doppelklick auf die Kurzbeschreibung -> Verzweigt in den Funktionsbaustein -> merken
  • im Baum die zugehörige Funktionsgruppe ermitteln
  • Rechtsklick auf die Funktionsgruppe -> Anzeigen -> Definition
  • Paket: merken

SMOD

  • Erweiterung -> F4-Hilfe
  • Button “Infosystem”
  • Paket: eintragen
  • Button “Ausführen (F8)”
  • Liste mit Exitnamen zum Paket wird angezeigt
  • Exitname doppelklicken
  • Teilobjekte -> “Komponenten” wählen
  • Button “Anzeigen” (Brille)

CMOD

  • Menü -> Hilfsmittel -> SAP-Erweiterungen
  • Paket: eintragen
  • Button “Ausführen (F8)”
  • Liste mit Exitnamen zum Paket wird angezeigt
  • Exitname mit doppelklicken

Links

[SAP] Benutzerparameter pflegen

SE80

  • Paket auswählen
  • Rechtsklick auf Paketname -> Anlegen -> Weitere (1) -> SET/GET-Parameter-ID
  • Parameter-ID (z.B. ‘ZXYZ’) und Kurzbeschreibung eingeben

SU3 (Pflege eigener Benutzervorgaben)

  • Reiter “Parameter”
  • Set-/Get-Parameter-Id: zuvor angelegten Parameter auswählen
  • Parameterwert: beliebigen Wert zur späteren Auswertung eintragen, z.B. “X”

Tabellen

  • TPARA (Verzeichnis der Memory-Ids (vorlaeufig))
  • TPARAT (Kurztexte zu den Memory-Ids)
  • USR05 (Benutzerstamm Parameter-ID)

Links

[ABAP] Eigene SET/GET-Parameter-ID im Programm verwenden

Oft ist es hilfreich, wenn man sich eigene Parameter festlegen kann, über die man in einem Programm Funktionen steuert.

Anlegen eines Parameters

  • SE80 -> Paket -> Rechtsklick -> Anlegen -> Weitere (1) -> SET/GET-Parameter-ID
  • Parameter-ID (z.B. ‘ZADM_SHOW_PARAMS’) und Kurzbeschreibung eingeben

Wert für Parameter setzen

  • SU3 -> Reiter “Parameter”
  • Set-/Get-Parameter-Id: zuvor angelegten Parameter (z.B. ‘ZADM_SHOW_PARAMS’) auswählen
  • Parameterwert: beliebigen Wert zur späteren Auswertung eintragen, z.B. ‘X’

Werte werden in folgenden Tabelle abgelegt

  • TPARA (Verzeichnis der Memory-Id’s (vorlaeufig))
  • TPARAT (Kurztexte zu den Memory-Id’s)
  • USR05 (Benutzerstamm Parameter-ID)

Auslesen eines Parameters im Code

* Konstante für angelegten Parameter 'ZADM_SHOW_PARAMS'
CONSTANTS: co_parameter_id TYPE usr05-parid VALUE 'ZADM_SHOW_PARAMS'.

* Parameter mit einer Modifikationsgruppe namens 'ADM'
PARAMETERS: p_matnr TYPE matnr MODIF ID adm.
PARAMETERS: p_bukrs TYPE bukrs MODIF ID adm.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN INTO DATA(lv_scr).
* Name der Modifikationsgruppe ermitteln
    CASE lv_scr-group1.
* wenn in Modifikationsgruppe 'ADM'
      WHEN 'ADM'.
* Wert vorbelegen
        DATA(lv_adm_show_params) = CONV usr05-parva( abap_false ).

* Benutzerparameter lesen, muss in Tabelle TPARA enthalten sein
        GET PARAMETER ID co_parameter_id FIELD lv_adm_show_params.
* wenn Parameter vorhanden
        IF sy-subrc = 0.
* anhand des Benutzerparameters die Anzeige der Modifikationsgruppe namens 'ADM' aktivieren / deaktivieren
          lv_scr-active = COND #( WHEN lv_adm_show_params = abap_true THEN '1' ELSE '0' ).
* Adminparameter zur Info als hervorgehoben darstellen
          lv_scr-intensified = 1.
        ENDIF.
    ENDCASE.

* geänderte Anzeigewerte setzen
    MODIFY screen FROM lv_scr.
  ENDLOOP.

Links

[OData] System-Adminstration Frontend / Backend

Schritte

  • SAP Gateway aktivieren (/IWFND/IWF_ACTIVATE): SPRO -> SAP NetWeaver -> SAP Gateway -> OData Channel -> Konfiguration -> SAP Gateway aktivieren oder deaktivieren
  • SAP System Alias einrichten (SM30 + /IWFND/V_DFSYAL): SPRO -> SAP NetWeaver -> SAP Gateway -> OData Channel -> Konfiguration -> Verbindungseinstellungen -> SAP Gateway zu SAP-System -> SAP-Systemalias verwalten
  • SAP Gateway Einstellungen (SM30 + /IWBEP/C_SYSTEM): SPRO -> SAP NetWeaver -> Aktivierung SAP-Gateway-Service -> Backend OData Channel -> Verbindungsweinstellungen zu SAP Gateway -> SAP-Gateway-Einstellungen
  • Entwicklungspaket anlegen: Transportauftrag
  • bei mehreren Systemen: RFC-Verbindungen pflegen (SM59, SMT1)
  • Einrichtung Systemalias zu Service (/IWFND/MAINT_SERVICE): Transportauftrag
  • Frontend-Service aktivieren (SICF): /sap/bc/ui5_ui5/sap/ -> entsprechenden Service aktivieren
  • Backend-Service aktivieren (SICF): /sap/opu/odata/sap/ oder /sap/bc/bsp/sap/ -> entsprechenden Service aktivieren
  • Berechtigungen für Services einrichten (PFCG)
  • Frontend (Eclipse): Transportauftrag
  • Backend (SEGW, SE80): Transportauftrag

Weiterführende Infos: Quick Starter Configuration Guide – SAP Gateway

[SAP] Report manuell im Hintergrund ausführen und Ausführung überwachen

Vorteil: sehr lang laufende Programme brechen nicht mit Timeout ab

SE80 (oder Transaktionscode für Programmstart)

  • erst den Report starten -> Selektionsbild erscheint
  • Menü -> Programm -> Im Hintergrund ausführen (F9)
  • Ausgabegerät: Irgendein beliebiger Drucker
  • Exemplare: 1
  • Seitenbereich: Alles
  • Ausgabezeitpunkt: Zunächst nur SAP-Spool
  • Weiter (grüner Haken)
  • Startterminwerte
  • Button “Sofort” klicken
  • Klick auf Speichern (blaue Diskette)
  • Job wurde nun angelegt und Programmausführung im Hintergrund gestartet, Listenausgabe im Spool (SP01)

SM37 (Überwachung des (noch laufenden) Hintergrundjobs)

  • Jobname: *
  • Benutzername:
  • Jobstatus: Haken setzen
  • Jobstartbedingung: heutiges Datum
  • Button “Ausführen” klicken -> Jobübersicht
  • Jobname == Programmname
  • Spoolliste: Doppelklick -> SP01
  • Jobersteller
  • Status: aktiv
  • Dauer
  • Button Aktualisieren klicken für Forschritt

SM51 (Workprozess für die Ausführung des Jobs anzeigen)

  • Doppelklick auf Servernamen (SM50)
  • Klick auf Button “Aktive Workprozesse”