ABAP Erste Schritte

Share Embed Donate


Short Description

Download ABAP Erste Schritte...

Description

ABAP erste Schritte Contents Begriffe .................................................................................................................................................... 4 Test- und Entwicklungssystem ............................................................................................................ 4 Konsolidierungs- Qualitätssysicherungssystem .................................................................................. 4 Produktivsystem .................................................................................................................................. 4 Transportauftrag ................................................................................................................................. 4 lokale Objekte...................................................................................................................................... 4 Report .................................................................................................................................................. 4 Dynpro ................................................................................................................................................. 4 Workprozess ........................................................................................................................................ 4 Dispatcher ........................................................................................................................................... 4 Dynpro-Prozessor ................................................................................................................................ 5 ABAP-Prozessor ................................................................................................................................... 5 betriebswirtschaftliche Kernbereiche eines SAP-Systems .................................................................. 6 SAP-Module ......................................................................................................................................... 6 Wichtige Transaktionen .......................................................................................................................... 7 Wichtige Systemtabellen ......................................................................................................................... 7 Anmelden ................................................................................................................................................ 8 Abmelden (/NEX) ..................................................................................................................................... 8 Version des Abap Application Server anzeigen ....................................................................................... 8 Abap-Dictionary (SE11)............................................................................................................................ 9 Tabellenarten ...................................................................................................................................... 9 transparente Tabelle ....................................................................................................................... 9 Pool-Tabelle ..................................................................................................................................... 9 Cluster-Tabelle................................................................................................................................. 9 Namespaces .................................................................................................................................... 9 Auslieferungsklassen ....................................................................................................................... 9 Datenelement...................................................................................................................................... 9 Dokumentation................................................................................................................................ 9 Domäne ............................................................................................................................................. 10 Wertebereiche............................................................................................................................... 10 Ablauf ............................................................................................................................................ 10 technische Einstellungen für Tabelle ................................................................................................ 11 1/30

ABAP erste Schritte.docx

Pflege von Tabelleninhalten im Abap-Dictionary (SE11)................................................................... 11 Anzeigen von Tabelleninhalten im Abap-Dictionary (SE11) .............................................................. 11 Datentypen anlegen .......................................................................................................................... 11 Vergleich ............................................................................................................................................ 11 Datentypen ........................................................................................................................................ 11 Boolean-Datentyp in ABAP ................................................................................................................ 12 Abap-Editor (SE38) ................................................................................................................................ 12 Ablauf ................................................................................................................................................ 13 Report als Anwender starten ............................................................................................................ 13 Datenbanktabelle ausgeben.............................................................................................................. 13 Workarea deklarieren.................................................................................................................... 13 Report kopieren................................................................................................................................. 14 Editor-Kommandos............................................................................................................................ 14 Quellcode auskommentieren ........................................................................................................ 14 Datentypen ........................................................................................................................................ 14 Funktionen auf Zeichenketten .......................................................................................................... 14 Abap-Debugger ................................................................................................................................. 14 Debugger starten........................................................................................................................... 14 wichtige Debugger-Befehle ........................................................................................................... 14 Debugger beenden ........................................................................................................................ 15 Debug-Layer konfigurieren............................................................................................................ 15 Versionieren von Abap-Programmen................................................................................................ 15 Version erzeugen ........................................................................................................................... 15 Versionen anzeigen ....................................................................................................................... 15 ABAP-030 Infos ...................................................................................................................................... 15 Technische Einstellungen .................................................................................................................. 15 Datenelement.................................................................................................................................... 15 Domäne ............................................................................................................................................. 15 Erweiterungskategorie ...................................................................................................................... 15 Eingabehilfen ..................................................................................................................................... 16 Fremdschlüsselbeziehung ................................................................................................................. 16 Pflegen von Tabellen ......................................................................................................................... 16 Append-Struktur ................................................................................................................................ 17 Views ................................................................................................................................................. 17 Eingabehilfe (F4-Hilfe) ........................................................................................................................... 17 2/30

ABAP erste Schritte.docx

Suchhilfe ............................................................................................................................................ 17 Sammelsuchhilfe ............................................................................................................................... 17 Nachrichtenklassen ............................................................................................................................... 17 ABAP-100 Notizen ................................................................................................................................. 18 Ablauf Erstellung eines Dynpros........................................................................................................ 18 Bildelemente ..................................................................................................................................... 18 Auswahlknopf .................................................................................................................................... 18 Tabstrip.............................................................................................................................................. 18 ALV-Grid ............................................................................................................................................ 19 Table-Control ..................................................................................................................................... 19 Web-Dynpro .......................................................................................................................................... 20 Fehlermeldung ...................................................................................................................................... 22 Ursache .......................................................................................................................................... 22 Lösung............................................................................................................................................ 22 Fehlermeldung .............................................................................................................................. 22 Fehler bei der Verarbeitung Ihrer Anfrage ............................................................................................ 22 Was ist passiert ? ............................................................................................................................... 22 Was können Sie tun ? ........................................................................................................................ 23 Ursache .......................................................................................................................................... 23 Lösung............................................................................................................................................ 23 SAP-Link ................................................................................................................................................. 23 JSON....................................................................................................................................................... 23 Nummernkreisobjekte ...................................................................................................................... 24 Customizing ........................................................................................................................................... 24 Auslieferungsklassen der Customizing-Tabellen ............................................................................... 25 Überblick ........................................................................................................................................... 25 Auslieferungsklasse C ........................................................................................................................ 25 Auslieferungsklasse G ........................................................................................................................ 25 Auslieferungsklasse E ........................................................................................................................ 25 Auslieferungsklasse S ........................................................................................................................ 25 Berechtigungen ..................................................................................................................................... 26 Authority-Check..................................................................................................................................... 26 Rolle ................................................................................................................................................... 27 Berechtigung Objektklasse anlegen .................................................................................................. 28 Berechtigungsobjekt anlegen ............................................................................................................ 28 3/30

ABAP erste Schritte.docx

Währungen 2 Dezimalstellen ........................................................................................................... 29 Beim Speichern.................................................................................................................................. 29 Beim Laden ........................................................................................................................................ 29

Begriffe wichtige Begriffe rund um SAP

Test- und Entwicklungssystem System mit Übungs- und Schulungsdaten

Konsolidierungs- Qualitätssysicherungssystem Testsystem mit Kopien der Echtdaten

Produktivsystem das Livesystem

Transportauftrag Menge von Objekten, die auf ein anderes System übertragen werden mit Transport-Auftrasnummer

lokale Objekte Objekte auf dem Entwicklungssystem, die niemals transportiert werden.

Report Batchprogramme ohne Steuermöglichkeit durch den Anwenderung durch Eingabemasken

Dynpro dynamisches Programm mit Dialogbildschirmen

Workprozess Ein ABAP-Workprozess führt eine Anwendung aus. Er wird auf dem Dispatcher ausgeführt.

Dispatcher Scheduler für Workprozesse.

4/30

ABAP erste Schritte.docx

Dynpro-Prozessor Runtime für die Ablauflogik eines ABAP-Programms, reagiert auf Benutzeraktionen in Bildschrimmasken, kann nicht rechnen.

ABAP-Prozessor Runtime für die Verarbeitungslogik eines ABAP-Programms, erhält Bildschirmeingaben vom DynproProzessor, erzeugt Bildschirmausgaben.

5/30

ABAP erste Schritte.docx

betriebswirtschaftliche Kernbereiche eines SAP-Systems Bereich Logisitk Rechnungswesen Personal

Abkürzung

Bemerkung Materialwirtschaft, Produktion, Vertrieb Finanzen, Controlling Personaladministration, Lohnabrechnung

SAP-Module Abkürzung 6/30

Bedeutung ABAP erste Schritte.docx

FI CO HR Logistik: MM PP PM SD

Finanzwesen (Finanzbuchhaltung, Rechnungswesen) Controlling Human Resource Materialwirtschaft (Materials Management) Produktionsplanung und Steuerung (Production Planning and Control) Instandhaltung (Plant Maintenance) Vertrieb (Sales and Distribution)

Wichtige Transaktionen SE80 SE84 SE11

Object Navigator (wichtigste Transaktion) Repository Infosystem Abap Dictionary (Anzeigen, Ändern, Anlegen, Löschen) Werkzeuge  ABAP Workbench  Entwicklung  SE11 SE14 Abap Datenbank Utility (Tabellen umsetzen nach destruktiven Änderungen) (oder Hilfsmittel  Datenbankobjekt  Datenbank-Utility SE38 Abap-Editor (Programme Starten) SE24 Class Builder (Klasseneditor) SE41 Menu Painter SE37 Function Builder SE54 Generierung Tabellen-Pflegedialog (oder Werkzeuge  weitere Werkzeuge  Gen.Tab-Pflegedialog SHI3 Strukturpflege (Customizing) SPRO Customizing: Projektbearbeitung SU01 Benutzerverwaltung SM30 Pflegedialog zu Tabelle suchen SNRO Nummernkreis-Objekte pflegen /n laufende Transaktion beenden und neue Transaktion starten /nex alle Transaktionen schließen und alle Sessions beenden /o neue Transaktion in neuem Modus (Fenster) starten /h Debugger in der laufenden Transaktion starten /hx Debugger von der laufenden Transaktion trennen AbapDocu Abap-Hilfe starten SE91 Nachrichtenpflege (Nachrichtenklassen pflegen) SE09 Transport Organizer (Transporte verwalten) SCWB Korrekturworkbench (Hinweise von anderen SAP-Systemen herunterladen) SM36 Scheduling Manager Z_ABAP_UNIT_TESTER Abap Unit-Test Runner SM93 Transaktionspflege (Transaktionen verwalten, alle Transaktionen auflisten) SM01 Transaktionen sperren ST01 Systemtrace SU21 Berechtigungsobjekte verwalten

Wichtige Systemtabellen Anschauen mit SE16 (Data Browser) oder SE11 und dann "Inhalt anzeigen" Tabelle 7/30

Beschreibung ABAP erste Schritte.docx

TSTC

Transaktionen (TCODE = Transaktionscode)

Anmelden Zur Programmentwicklung einloggen mit SAPGui als User BCUSER und Passwort DemoTest1

Abmelden (/NEX) Fenster schließen System Abmelden

Version des Abap Application Server anzeigen System  Status

SAP-Systemdaten Komponentenversion zeigt die Abap-Version des Systems an. 8/30

ABAP erste Schritte.docx

Beispiel: SAP EHP 2 for SAP NetWeaver 7.0

Abap-Dictionary (SE11) Anlegen von Tabellen, Datenelement und Domänen Menüpfad: Werkzeuge Enwicklung SE11 - Dictionary

Tabellenarten transparente Tabelle Datenbanktabelle für eine Entität Pool-Tabelle eine einzige physikaltische DB-Tabelle für alle Tabellen mit gleicher Struktur z.B. für Settings PK: Pool-Tabellenname + Schlüsselfelder Cluster-Tabelle verteilt einen Datensatz auf mehrere Tabellen. Die Teildatensätze haben denselben PK. Namespaces kundenspezifisches Präfix: Z oder Y alternativ: Namespace z.B. /PRIVATENAMESPACE/ Auslieferungsklassen Verhalten der Tabelle bei Mandantenkopie, Neuinstallation oder Upgrade. Übersicht in Feld Auslieferungsklasse mit "F1" A: Anwendungtabelle (Stamm- und Bewegungsdaten)

Datenelement die betriebswirtschaftlichen Attribute eines Felds  

Feldhilfe Caption in Eingabemasken

Namespace beachten, Lasche "Datentyp" verknüpft die Domäne Dokumentation mit dem Button "Dokumentation" wird Word gestartet und es kann ein Hilfetext für das Datenelement erfasst werden (vorher hineinzoomen).

9/30

ABAP erste Schritte.docx

Domäne die technischen Attribute eines Felds    

Datentyp Länge Dezimalstellen Wertebereiche

Alle möglichen Datentypen anzeigen mit F4.

Wertebereiche Einzelwerte, Intervalle, Wertetabellen Ablauf  speichern (Ctrl-S)  prüfen (Ctrl-F2) Menüpfad: Domäne  prüfen  prüfen  aktivieren (Ctrl-F3) Button: "Aktivieren"  Zurück (F3) Domäne verlassen und zu Datenelement zurückkehren

10/30

ABAP erste Schritte.docx

technische Einstellungen für Tabelle Button "technische Eistellungen" drücken. Datenart (Stammdaten) und geschätzte Größe der Tabelle angeben, Pufferungsverhalten der Tabelle festlegen (Caching, z.B. alle DS vorladen)

Pflege von Tabelleninhalten im Abap-Dictionary (SE11) Menüpfad: Hilfsmittel  Tabelleninhalt  Einträge erfassen

Anzeigen von Tabelleninhalten im Abap-Dictionary (SE11) Menüpfad: Hilfsmittel  Tabelleninhalt  Anzeigen

Datentypen anlegen Mit dem Feld Datentyp können Datenselemente, Strukturen und Tabellentypen (für interne Tabellen angelegt werden).

Vergleich Tabellentyp, Struktur, transparente Tabelle ???

Datentypen Dictionary type DEC INT1 INT2 INT4 CURR CUKY QUAN UNIT PREC FLTP NUMC

11/30

Meaning Calculation/amount field Single-byte integer Two-byte integer Four-byte integer Currency field Currency key Amount Unit Accuracy Floating point number Numeric text

Maximum length n 1-31, 1-17 in tables 3 5 10 Jan 17 5 Jan 17 02. Mrz 16 16 1-255

ABAP type P((n+1)/2) Internal only Internal only I P((n+1)/2) C(5) P((n+1)/2) C(n) Internal only F(8) N(n)

ABAP erste Schritte.docx

CHAR LCHR STRING. RAWSTRING DATS ACCP TIMS RAW LRAW CLNT LANG

Character Long character String of variable length Byte sequence of variable length Date Accounting period YYYYMM Time HHMMSS Byte sequence Long byte sequence Client Language

1-255 256-max 1-max

C(n) C(n) STRING.

1-max

XSTRING 8 6

D N(6)

6

T X(n) X(n) C(3) C(1)

1-255 256-max 3 internal 1, external 2

Boolean-Datentyp in ABAP Datentyp abap_bool

Konstante

Wirklichkeit c(1) abap_true 'X' abap_false '' abap_undefined '-' siehe http://help.sap.com/abapdocu_731/en/abendataobjects_true_value_guidl.htm Beispiel: DATA is_found TYPE abap_bool. ... is_found = abap_true. ... IF is_found = abap_true. ... ENDIF.

Abap-Editor (SE38) Menüpfad: Werkzeuge  Entwicklung  SE38 - Abap Editor Programmname: max. 40 Zeichen, Namespace beachten, Nur Unterstrich (_) als Sonderzeichen erlaubt. Variablen: max. 30 Zeichen, keine reservierten ABAP-Schlüsselwörter, Nur Unterstrich (_) als Sonderzeichen erlaubt. Pretty-Printer Einstellungen: Hilfsmittel  Einstellungen  Abap-Editor  Pretty Printer  Groß/Kleinkonvertierung durchführen  Schlüsselwort groß Editor Einstellungen: Hilfsmittel  Einstellungen  Abap-Editor Editor  alle Syntaxfehler anzeigen. Hilfe zu Abap-Schlüsselwörtern: Cursor in Schüsselwort setzen, dann F1

12/30

ABAP erste Schritte.docx

Ablauf     

speichern (Ctrl-S) prüfen (Ctrl-F2) Programm  prüfen  Syntax aktivieren (Ctrl-F3) Button: "Aktivieren" ausführen (F8) Programm  testen  direkt zurück zum Editor (F3)

Report als Anwender starten   

zweites Fenster öffnen (Ctrl-n) (Button "neuen Modus erzeugen") System  Erzeugen Modus System  Dienste  Reporting Programmname eingeben , F8

Datenbanktabelle ausgeben Workarea deklarieren DATA wa_zteilnehmer TYPE zteilnehmer. Die Felder in der Workarea-Struktur entsprechen den Feldnamen in der Tabelle mit Bindestrich vom WA-Namen getrennt. 13/30

ABAP erste Schritte.docx

Beispiel: wa_zteilnehmer-tname

Report kopieren   

SE38 Programm-Name eingeben Programm  kopieren, Button "kopieren, Ctrl-F5 neuen Programm-Namen eingeben

Editor-Kommandos Quellcode auskommentieren  Block im Quellcode markieren  Hilfsmittel  Block/Ablage  Kommentar-* einfügen

Datentypen Name i p c n

string

Bedeutung integer decimal string mit fixer Länge numerischer string mit fixer Länge (nur Ziffern), rechtsbündig mit führenden Nullen string mit variabler Länge

Beispiel DATA zahl01 TYPE i. DATA zahl01 TYPE p DECIMALS 2. VALUE '-5.67' DATA geschlecht TYPE c LENGTH 1 VALUE 'W'. DATA telefon TYPE n LENGTH 8 VALUE '887766'.

Funktionen auf Zeichenketten SHIFT telefon LEFT DELETING LEADING '0'. SHIFT telefon BY 2 PLACES RIGHT. * Stringliterale mit Hochkommas verwerfen trailing whitespaces * Stringliterale mit Backticks behalten trailing whitespaces REPLACE ` ` IN telefon_international WITH national_vorwahl. * mehrfache Leerzeichen verdichten CONDENSE telefon_international. * alle Leerzeichen entfernen CONDENSE telefon_internation NO-GAPS. CONCATENATE international_vorwahl national_vorwahl telefon INTO telefon_lang. CONCATENATE international_vorwahl national_vorwahl telefon INTO telefon_lang SEPARATED BY '-'. telefon_internation = internation_vorwahl && '-' && national_vorwahl && '-' && telefon.

Abap-Debugger Debugger starten Aufruf aus dem Abap-Editor durch Setzen eines Breakpoints in die aktuelle Editorzeile mit Button "Session-Breakpoint setzen/löschen" Ctrl+Shift-F12 oder auf dem linken Rand rechte Maustaste  Session Breakpoint setzen . Vor dem Debuggen muß ein Programm aktiviert werden. Programmstart mit F8. wichtige Debugger-Befehle F5 F6 14/30

Step-In Step-Over ABAP erste Schritte.docx

F7 F8 Ctrl+Shift+F3

Return bis zum nächsten Funktionsende Weiter (bis zum nächsten Breakpoint) Breakpoints sichern für spätere Sessions

Debugger beenden Debugger  Debugger beenden Debug-Layer konfigurieren Komponenten, die man nicht debuggen will, werden mit dem Button "Debug-Layer konfigurieren" Ctrl+Shift-F4 ausgeblendet.

Versionieren von Abap-Programmen Im Abap-Editor (SE38) können Versionen von Abap-Programmen angelegt werden. Version erzeugen Hilfmittel  Versionen  Version ziehen Versionen anzeigen Hilfsmittel  Versionen  Versionsverwaltung Mit dem Button "Zurückholen" wird eine alte Version des Programms wiederhergestellt. Die zurückgeholte Version ist noch inaktiv.

ABAP-030 Infos Technische Einstellungen Datenart (APPL0 = Stammdaten, APPL1 = Bewegungsdaten) Größenkategorie (0-4) Pufferung Tabellen puffern, ein/aus, Einzelsätze gepuffert, generischer Bereich gepuffert, vollständig gepuffert Tabellenänderungen protokollieren Auslieferungsklassen (A = Stamm- Bewegungsdaten, C = Customizingtabellen) bestimmen ob Tabelleninhalt transportiert wird.

Datenelement (Namensraum beachten ZS_GEHALT) Feldbezeichner, Dokumentation, F1-Hilfe

Domäne (Namensraum beachten ZS_PERSNR)

Erweiterungskategorie Zusätze  Erweiterungskategorie (beliebig erweiterbar) auch für Strukturen angeben. 15/30

ABAP erste Schritte.docx

.INCLUDE Unterstruktur Index anlegen, zusammengesetzte Indices

Eingabehilfen 

 

Suchhilfe (in SE11 Lasche Eingabehilfe/-prüfung Spalte Suchhilfe) Festwerte für Suchhilfe in Domäne angeben (Lasche Wertebereich) Prüftabelle (durch Fremdschlüsselbeziehung, Button "Fremdschlüssel") Festwerte (in Domäne angeben)

Fremdschlüsselbeziehung Zuordnung der Vorschläge für Fremdschlüsselbeziehungen über dieselbe Domäne (Domänengleichheit). Art der Fremdschlüsselfelder:    

nicht spezifiziert keine Schlüsselfelder/-kandidaten Schlüsselfelder/-kandidaten Schlüsselfelder einer Texttabelle (Für mehrsprachige Texte)

Kardinalität: 1 (Eintrag im Prüffeld muß vorhanden sein) C (Eintrag im Prüffeld kann vorhanden sein)

:

CN (Jeder Satz der Prüftabelle hat beliebig viele abhängige Sätze) C (Jeder Satz der Prüftabelle hat höchstens einen abhängigen Satz) N (Jeder Satz der Prüftabelle hat mindestens einen abhängigen Satz) 1 (Jeder Satz der Prüftabelle hat genau einen abhängigen Satz)

Tipp: "C" = kann = "can" Meistens ist es 1: CN Bemerkung: Fremdschlüssel sind nur auf Dynpros wirksam. Mittels eines ABAP-Programms können Datesätze ohne Verprobung in die Tabelle geshrieben werden.

Pflegen von Tabellen Hilfsmittel  Tabelleninhalt  Einträge erfassen

16/30

ABAP erste Schritte.docx

Append-Struktur Views  

 

Datenbankview Inner Join, Pflegestatus definiert lesen/schreiben Pflegeview Outer Join mit Eventmodell, Join nur über hinterlegte Fremdschlüsselbeziehungen möglich, Button „Beziehungen“ , wichtig: Button „Tabellenfelder“ Grundelement des Customizing Help-View ist ein Selektionsview der einen Outer-Join definiert, wird für Suchhilfe verwendet Projektionsview blendet Felder aus, wird selten verwendet, für Schnittstellen gedacht

Join, Selektion, Projektion, Performance. Alle Key-Felder an den Anfang des Views stellen, ViewCluster sind Verschachtelungen von Views in Baumstruktur. Daten pflegen mit System  Dienste  Tabellenpflege  erweiterte Tabellenpflege Pflegeview generieren: SE11  View auswählen  Hilfsmittel  Tabellenpflegegenerator  ausfüllen  wichtig: Menü  generierte Objekte  Anlegen (oder F6)

Eingabehilfe (F4-Hilfe) Einheitlicher Mechanismus zur Unterstützung des Anwenders bei der Datenerfassung. Ähnlich Prüftabelle, aber detaillierter, mit Einbeziehung der bisher gemachten Eingaben (Context). Bei vielen Treffern kann innerhalb der Suchhilfe weiter eingeschränkt werden.

Suchhilfe Definiert durch Tabelle oder View, LPos (= Liste der Treffer), SPos (= Suchmaske für weitere Einschränkung der Trefferliste) Import-/Export-Parameter definieren (IMP/EXP)

Sammelsuchhilfe Kombination mehrerer Suchhilfen zu einer Suchhilfe mit Tab-Reitern.

Nachrichtenklassen siehe http://www.saphub.com/abap-tutorial/messages-in-abap/ 1. MESSAGE xnnn WITH p1 p2 p3. 2. MESSAGE ID id TYPE mtype NUMBER n WITH p1 p2 p3. 3. MESSAGE xnnn(mid) WITH p1 p2 p3.

Message-TYPE A

Bedeutung Abandon

E

Error

I S W X

Information Status message Warning Exit

17/30

Ausgabe Pop mit Fehlermeldung und Programmende Fehlermeldung in Statusleiste und Programmende PopUp mit Messagetext Messagetext in Statusleiste PopUp mit Messagetext Programmende mit Kurzdump ABAP erste Schritte.docx

ABAP-100 Notizen Ablauf Erstellung eines Dynpros 1. 2. 3. 4.

Ok_code_save sy-ucomm TABLES Dynpro anlegen PBO bauen a. Titel => b. Status => i. Funktionstastenleise ii. Symbolleiste iii. Drucktastenleiste iv. Menüleiste 5. Layout malen 6. PAI bauen a. Module exit at exit-command b. Feldvalidierung bauen FIELD feld MODULE check_feld on input/request CHAIN FIELD feld1. FIELD feld2 MODULE check_felder on chain-input/chain-request c. Ok_code_save, dann CASE ok_code_save ENDCASE 7. Transaktion anlegen  SAP-Gui für Windows

Bildelemente Drucktaste, Ankreuzfeld, Ein-/Ausgabefeld, Auswahlknopf, Auswahlknopfgruppe

Auswahlknopf begin of rb1, feld1 type c value ‚X‘, feld2 type c end of rb1.

Tabstrip CONTROLS: tabstrip1 TYPE tabstrip wie Drucktaste, Referenzfeld = Subscreenbereich SUBSCREEN1. Tabstrip-Name = tabstrip1 dynnr TYPE sy-dynnr.

PROCESS BEFORE OUTPUT. MODULE STATUS_0100. module initSubscreen_0100. "" Subscreenbereich einbinden im PBO Call subscreen subscreen1 INCLUDING sy-cprog dynnr. * PROCESS AFTER INPUT. module exit at exit-command.

18/30

ABAP erste Schritte.docx

"" PAI des Subscreens aufrufen call subscreen subscreen1. MODULE USER_COMMAND_0100.

Im PAI: Tabstrip1-activetab = ok_code_save setzen. im Subscreen-Dynpro kein Status, kein ok_code

ALV-Grid Repository-Infosystem cl_gui* cl_gui_custom_container, constructor-Methode anschauen => Parameter container_name cl_gui_alv_grid, constructor-Methode anschauen => Parameter parent, my_alv_grid->set_table_for_first_display( exporting i_structure_name = 'SPFLI' changing it_outtab = itab_spfli ). cl_gui_cwf

Feldkatalog: data fcat type LVC_T_FCAT (Tipp: In cl_gui_alv_grid nach fcat suchen) Tabelle mit Spalteneigenschaften (fcat-fieldname = ‚Spaltenname‘ ) Vor set_table_for_first_display sollte der Feldkatalog geholt warden. * Feldkatalog holen CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING i_structure_name = 'SPFLI' CHANGING ct_fieldcat = gs_fcat.

Spalten ausblenden: wa_fcat-TECH wa_fcat-NO_OUT my_alv_grid->refresh_table_display( ).

Event Toolbar: e_object->mt_toolbar (im Repository nachschauen Icon @[email protected], einen Tabelleneintrag ergänzen, append) Event User_Command: e_ucomm (mit dem ok_code) clc_gui_cfw->set_new_ok_code( e_ucomm ) aufrufen.

Table-Control Control TableView, TABLES, interne Tabelle, Arbeitsbereich auf interne Tabelle. Layoutbereich-Name wie TableView-Control. PROCESS BEFORE OUTPUT. MODULE STATUS_0100. module init_tablecontrol. loop at itab_zauto into wa_zauto WITH CONTROL my_tableview. module to_tableview. endloop. *

19/30

ABAP erste Schritte.docx

PROCESS AFTER INPUT. module exit1 at exit-command. loop at itab_zauto. chain. field ZAUTOSCHUL2-KENNZEICHEN. field ZAUTOSCHUL2-HERSTELLER. field ZAUTOSCHUL2-TYP. field ZAUTOSCHUL2-PREIS. module from_tableview on chain-request. endchain. endloop.

PBO: module TO_TABLEVIEW output. move-CORRESPONDING wa_zauto to zautoschul2. endmodule.

PAI: module FROM_TABLEVIEW input. move-CORRESPONDING zautoschul2 to wa_zauto. modify itab_zauto from wa_zauto index my_tableview-current_line. endmodule.

Im PBO wird mit dem LOOP über die interne Tabelle iteriert und in jeder Iteration jeweils eine Zeile in die TABLES-Struktur gefüllt. Über Namensgleichheit der Felder der Tables-Struktur und der Dynpro-Elemente des Tablecontrols werden die Felder in das Dynpro, und damit in die TableView transportiert. Im PBO wird über die gesamte interne Tabelle iteriert, im PAI nur über die angezeigten Zeilen des TableControls.

Web-Dynpro 1. Web-Dynpro-Komponente anlegen 2. Component-Controller bauen Mit Context beginnen! Context  Knoten anlegen über Wizard  Namen vergeben (AUTOS bzw. AUTO)  Attribute aus Struktur hinzufügen transparente Tabelle auswählen  gewünschte Attribute auswählen 3. Kardinalität festlegen (1:n für Liste) 4. View bauen Wieder mit Context beginnen! Context  gewünschten Knoten mit D&D herüberziehen falls es die Liste ist, Kardinalität 1:n Context  für Detailview Knoten anlegen, Kardinalität 1:1  Anlegen über Wizard  Attribute aus Komponenten einer Struktur  Struktur des Details angeben 20/30

ABAP erste Schritte.docx

5. Kardinaltität festlegen Wichtiger Trick zu Context: Alle Contexte, die man für die Bearbeitungen im View braucht bindet man sich in diesen View ein. z.B. im Detailview die Struktur UND die Liste, weil man hier die Struktur in die Liste einfügen will. 6. Layout des View erstellen mit Zauberstab Unter dem Button Context sieht man jetzt die Struktur, wenn man den Schritt 4 richtig gemacht hat. Häkchen "Form in neuem Container erzeugen. 7. WebDynpro Application anlegen 8. Component: Name der Komponente, Interface-View: Name des Windows Plug-Name: Default 9. Button einfügen onAction  Abkürzung "Aktion anlegen" + Outbound-Plug anlegen 10. Window editieren Wichtig: alle neu gebauten Views mit D&D zu WINDOWS hinzufügen und Outbound-Plug mit Inbound-Plug per D&D verbinden. Erst wenn diese Verbindung gemacht wurde, funktioniert die Navigation. Der View, der als Default angezeigt werden soll: rechte Maustaste 'Als Default setzen' 11. Codieren der Listenoperationen im Outbound-Plug der Detailansicht, Zauberstab benutzen (MOVE-CORRESPONDING ls_todo to ls_todos). ls_todos ist eine Struktur und keine interne Tabelle!

21/30

ABAP erste Schritte.docx

Fehlermeldung ACC: Label für MeltingGroup-artigen Container "FORM_CONTAINER" nicht gesetzt. Ursache Barrierefreiheit Lösung Für einen Form-Container muss daneben ein zusätzliches Label eingefügt werden wg. (Attribut Label_For: FORM_CONTAINER setzen)

Fehlermeldung Die URL enthält keine vollständige Domainangabe (sapvhd statt sapvhd..).

Fehler bei der Verarbeitung Ihrer Anfrage Was ist passiert ? Der Aufruf der URL http://sapvhd:8000/sap/bc/webdynpro/sap/ztodolist wurde aufgrund eines Fehlers abgebrochen. Hinweis



Folgender Fehlertext wurde im System NSP prozessiert: Die URL enthält keine vollständige Domainangabe (sapvhd statt sapvhd..).



Der Fehler trat auf dem Applikationsserver sapvhd_NSP_00 und im Workprozess 4 auf.



Die Abbruchart war: RABAX_STATE



Die ABAP-Aufrufhierarchie war: Method: CHECK of program CX_FQDN=======================CP Method: STARTUP_CHECKS of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP Method: HANDLE_REQUEST of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_WDR_MAIN_TASK==============CP Method: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME Module: %_HTTP_START of program SAPMHTTP

22/30

ABAP erste Schritte.docx

Was können Sie tun ? 

Im Falle der Abbruchart RABAX_STATE finden Sie im System NSP in der Transaktion ST22 weitere Informationen bzgl. der Abbruchursache.



Im Falle der Abbruchart ABORT_MESSAGE_STATE finden Sie auf dem Applikationsserver sapvhd_NSP_00 in der Transaktion SM21 weitere Informationen bzgl. der Abbruchursache.



Im Falle der Abbruchart ERROR_MESSAGE_STATE können Sie nach weiteren Informationen in der Tracedatei zum Workprozess 4 in der Transaktion ST11 auf dem Applikationsserver sapvhd_NSP_00 suchen. Unter Umständen ist die Analyse von Tracedateien zu anderen Workprozessen notwendig.



Fall Sie noch über keine Benutzerkennung verfügen, so wenden Sie sich an Ihren Systemadministrator.

Fehlercode: ICF-IE-http-c:001-u:BCSERVICE-l:D-s:NSP-i:sapvhd_NSP_00-w:4-d:20121007-t:165800-v:RABAX_STATEe:UNCAUGHT_EXCEPTION-X:080027D9EDFF1ED28491EBBC1532F7A2_080027D9EDFF1ED28491EBCD11F237A2_1x:5D8F10E2A9E0F19D97A2080027D9EDFF

HTTP 500 - Internal Server Error Ihr SAP Internet Communication Framework Team

Ursache Falsche URL angegeben Lösung Statt der in der WebDynpro angegebenen Url http://sapvhd:8000/sap/bc/webdynpro/sap/ztodolist die Url http://sapvhd.local:8000/sap/bc/webdynpro/sap/ztodolist einfach in den Browser eintippen und verwenden (mit dem User BCService).

SAP-Link Nuget für SAP How-To: http://sdnabaper.blogspot.de/2010/11/how-to-install-saplink.html Nach Installation von SAP-Link das Paket NUGG_SAPLINE_DDIC-0.1.nugg installieren (SE38 ZSAPLINK, F8 Nugget importieren, ...) Alle importieren Klassen müssen wieder mit SE24 aktiviert werden.

JSON Nugg-Paket zum Verarbeiten von JSON-Daten: NUGG_ZJSON.nugg. Voraussetzung ist, dass das DDICPaket und das FunctionGroup-Paket (FUGR) NUGG_FUNCTIONGROUP_PLUGIN-0.1.2.nugg installiert wurde und die Klassen mit SE24 aktiviert wurden. Sonst bekommt man die Fehlermeldung: There There There There There

is is is is is

no no no no no

installed installed installed installed installed

SAPlink SAPlink SAPlink SAPlink SAPlink

plugin plugin plugin plugin plugin

for for for for for

object object object object object

type type type type type

DTEL TABL TTYP TABL VIEW

bzw. für das Funktionsgruppen-Paket: 23/30

ABAP erste Schritte.docx

Start import of nugget C:/Projects/NUGG_ZJSON.nugg There is no installed SAPlink plugin for object type FUGR Ausgabe nach erfolgreicher Installation: Start import of nugget C:/Projects/NUGG_ZJSON.nugg Installed: DTEL - ZSTRING Installed: TABL - ZGS_0004 Installed: TTYP - ZGY_0004 Installed: FUGR - ZJSON

Die importierten Datenelemente müssen mit SE11 aktiviert werden (ZSTRING, ZGS_0004 ZGY_0004) alle Funktionsbausteine der Funktionsgruppe ZJSON mit SE80 (Funktionsgruppen anklicken  rechte Maustaste "Aktivieren"). In der Funktionsgruppe ZJSON müssen noch die ENDFUNCTION. Befehle hochgezogen werden, sonst compilieren die Funktionsbausteine nicht.

Nummernkreisobjekte http://help.sap.com/saphelp_46c/helpdata/de/2a/fa02e3493111d182b70000e829fbfe/frameset.ht m Nummernkreise anlegen: Werkzeuge  ABAP/4 Workbench  Entwicklung  Weitere Werkzeuge Nummernkreise wichtigste Funktionsgruppe: SNR3

Customizing spro shi3 sm30 sm31

Einführungsleitfaden starten Strukturpflege (structure hierarchy) Pflegeviews starten (structure maintenance)

Einführungsleitfaden engl. Implementation Guide (IMG). SAP-Referenz-IMG: alle Customizing-Aktivitäten, die im SAP-System möglich sind, hierarchisch gegliedert nach Anwendungsbereichen. Customizing-Aktivitäten:   

muss (keine SAP-Voreinstellung möglich) kann (die SAP-Voreinstellung ist zu prüfen) nicht erforderlich

Bemerkung: Wir (als msg) sind hier die SAP! 24/30

ABAP erste Schritte.docx

Auslieferungsklassen der Customizing-Tabellen Beschreibung der Auslieferungsklassen, dem Verhalten bei Mandatenkopie, Verhalten bei Upgrade. http://help.sap.com/saphelp_nwpi71/helpdata/de/43/45860774b711d2959700a0c929b3c3/content .htm

Überblick Auslieferungsklasse C Typ: Kundentabelle Pflege nur durch den Kunden, kein SAP-Import, d.h. keine Vorschlagswerte werden ausgeliefert. Beispiel: Unternehmensstruktur des Kunden (= Stammdaten)

Auslieferungsklasse G Typ: Kundentabelle SAP darf neue Datensätze einfügen, aber keine vorhanden überschreiben oder löschen. Pflege durch Kunden und SAP in getrennten Namensräumen, d.h. SAP liefert Vorschläge aus. Der Kundenamensraum muß mit dem Report RDDKOR54 in der Tabelle TRESC definiert werden. Bei der Pflege des Customizing mit SM30 wird der Namensraum überprüft. In neuen Versionen kann sich Vorschlagsliste ändern. Sinnvoll ist in neuen Versionen nur Vorschagswerte zu ergänzen, weil der Kunden die Vorschlagswerte aus vorherigen Versionen benutzt hat. Kunde kann eigene Werte eintragen (in eigenem Namensraum!). Nur bei Verwendung getrennter Namensräume werden die Kundeneinträge nicht von SAP-Vorschlagswerten überschrieben. Namensräume pflegen! Fachliche Unterfälle: 1. Die kundenspezifische Ergänzung ist die Ausnahme z.B. Währungseinheiten, Länderschlüssel. Maßeinheiten. Ergänzung von kundenspezifischen Maßeinheiten. 2. Die kundenspezifische Ergänzung ist die Regel Hier liefert SAP die Vorschlagswerte, sie können auch übernommen werden. Kundenspezifische Ergänzungen sind jedoch häufig. Oftmals basieren sie auf den Vorschlagswerten von SAP, die kopiert werden und an einigen Stellen abgeändert werden.

Auslieferungsklasse E Typ: Systemtabelle (SAP-Tabelle) Kunde darf neue Datensätze einfügen. Analog zur Auslieferungsklasse G nur anders herum (Kunde SAP). Der Kundenamensraum muß mit dem Report RDDKOR54 in der Tabelle TRESC definiert werden.

Auslieferungsklasse S Typ: Systemtabelle Analsyse der Auslieferungsklasse von Tabellen mit Report RDDKOR56 (starten mit SE38) 25/30

ABAP erste Schritte.docx

Berechtigungen su01 pfcg su02 su03 su21 su24 su53 su56 st01

Benutzer verwalten Rollen verwalten Berechtigungsprofile verwalten Objektklasse für Berechtigunsobjekte verwalten Berechtigungsobjekte verwalten Berechtigungsobjekte den Transaktionen zuordnen Historie der Berechtigungsprüfungen, (welche haben letztes Mal gefehlt, nach einem Authorization-Check Fehler) eigene Berechtigungen anzeigen Systemtrace (u.a. Berechtigungsprüfung tracen)

Geschäftsparter (Businesspartner) order Organsisationsmanagement (pdorg)

Benutzer haben Berechtigungen. Eine Berechtigung bezieht sich auf ein Berechtigungsobjekt (=Datenstruktur mit mehreren Feldern). Berechtigung = Instanziierung des Berechtigungsobjekt, d.h. für jedes Feld wird ein Wert angegeben. Beispiel: Benutzer hat zum Berechtigungsobjekt M_BEST_BSA ("Belegart in Bestellung") eine Berechtigung "YM_BEST_NB" mit den Feldwerten  

BSART ("Einkaufsbelegart") = NB ("Normalbestellung") ACTVT ("Aktivität") = * (numerisch Anlegen, Ändern, Löschen, Preisanzeige, ... oder Wildcard)

Authority-Check lv_bsart = 'NB'. "Normalbestellung anlegen AUTHORITY-CHECK OBJECT ’M_BEST_BSA’ ID ’BSART’ FIELD lv_bsart ID ’ACTVT’ FIELD ’02’. IF sy-subrc 0. MESSAGE 'keine Berechtigung'

26/30

ABAP erste Schritte.docx

prüft: Hat der Benutzer eine Berechtigung, die das Berechtigungobjekt "abdeckt" (matched), wenn im Berechtigungsobjekt die Variablen entsprechend dem Authority-Check gefüllt sind? Abdecken: beinhalten, im Intervall (bei numerisch), durch Wildcard erfüllt (*) Forderung des Authority-Check:

Feld des Forderung des Authority-Check von Berechtigung des Benutzers Berechtigungsobjekts erfüllt? BSART NB ok ACTVT 02 ok, weil Wildcard * jede Zahl matched Berechtigungen werden zu Berechtigungsprofilen ("Einzelprofile") zusammengefasst. Berechtigungsprofile werden zu Sammelprofilen zusammengefasst

Rolle Menge von Transaktionen, die eine Gruppen von Benutzern i.d.R. ausführt (z.B. Einkäufer) + rollenspezifisches Menü. Für jede Transaktion ist vom Softwarehersteller hinterlegt, welche Berechtigungsobjekte abgefragt werden  automatisches Generieren von Berechtigungsprofilen. Bearbeiten: In su01 auf die Rolle doppelklicken, dann "Berechtigungsdaten pflegen" auswählen, oder SU53.

27/30

ABAP erste Schritte.docx

Berechtigung Objektklasse anlegen http://books.google.de/books?id=s5NWPIBiT6cC&pg=PA356&lpg=PA356&dq=sap+berechtigungsobj ekt+objektklasse+anlegen&source=bl&ots=T6j2PfotNb&sig=wfSVMQMvZT_A7btNGZtHjb3hSXQ&hl= en&sa=X&ei=NIIqUbfBCet4ASnmIDADw&ved=0CGMQ6AEwBg#v=onepage&q=sap%20berechtigungsobjekt%20objektklasse %20anlegen&f=false TC SU21  Anlegen Button auswählen  Im Dropdown "Objektklasse" auswählen

Berechtigungsobjekt anlegen http://help.sap.com/saphelp_erp60_sp/helpdata/de/9e/74ba3bd14a6a6ae10000000a114084/conte nt.htm 28/30

ABAP erste Schritte.docx

TC SU21  Anlegen Button auswählen  Objektklasse auswählen, in der das Berechtigungsobjekt angelegt werden soll  Im Dropdown "Berechtigungsobjekt" auswählen

Währungen 2 Dezimalstellen SAP hat zur Speicherung von Währungsbeträgen als internes Format DEC(17.2) gewählt. Bei Währungen 2 Dezimalstellen muss das folgende Verfahren angewendet werden.

Beim Speichern Konvertierung des Betrags in das interne Format durch Multiplikation mit 10 ^ "Anzahl Dezimalstellen" anschließend Division durch 10^2

Das entspricht der Speicherung des Währungsbetrags "ohne die Dezimalstellen" Beispiel 123456 JPY  als DEC(17.2) = 1234,56

Beim Laden Konvertieren des Betrags in das externe Format durch Multiplikation mit 10^2 anschließend Division mit 10 ^Anzahl der Dezimalstellen aus der Währung

Beispiel DEC(17.2) = 1234,56  123456 JPY Die Anzahl der Dezimalstellen einer Währung steht in der Tabelle TCURX (Dezimalstellen der Währungen) Diese Konvertierungen werden beim Feldtransport gemacht, wenn das Währungsfeld vor dem Betragsfeld transportiert wird. Bei einem BAPI oder bei einer selbstprogrammierten API müssen diese Konvertierungen selbst durchgeführt werden. Dazu gibt es zwei SAP-Funktionsbausteine: CURRENCY_AMOUNT_BAPI_TO_SAP: converts the data to two decimal before saving CURRENCY_AMOUNT_SAP_TO_BAPI: conversion to correct decimals for end user viewing. Bemerkung: SE11 stellt den Währungsbetrag im Dezimalfeld FALSCH dar. Den richtigen Wert erhält man nur, wenn man einen eigenen ZReport mit write "Dezimalfeld" erstellt.

29/30

ABAP erste Schritte.docx

Hintergrundverarbeitung SM37 SM36

Jobs verwalten Jobs einplanen

http://help.sap.com/saphelp_nw70ehp2/helpdata/de/c4/3a7ed1505211d189550000e829fbbd/fram eset.htm

ABAP-Unittests Unittestrunner: TR SE38 Report: RS_AUCV_RUNNER

30/30

ABAP erste Schritte.docx

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF