SAP Bibliothek: die Seite für Programmierer, Customizer, Konfigurierer, Datenmodellierer.
Für Besucher, welche sich verklickt haben, können über Link jedoch schnell auf andere
Themenbereiche wechseln. Dokumentationen, Training und Anwendungsbeispiele im
ewm Umfeld (extended Warehouse Management, Lagerabwicklung) sind in einer eigenen
ewm Übersicht zusammenfasst.
Projektanbieter, Consulting-Agenturen, Projektmanager, welche nach
Freelancern zur Bereicherung Ihres Teams suchen, wählen als Einstieg bitte die Übersichtsseite
freiberufliche Mitarbeit
oder die
Projektübersicht
Firmen, Konzerne, Gesellschaften, welche auf der Suche nach guter, optimierter Nischensoftware
sind, um diese in Ihre EDV-Landschaft zu integrieren, wählen bitte die
Frachtkostenberechnung
oder die Exportsoftware
Allgemeine Informationen, HTML oder Fotogalerien finden Sie auf der
BJH Einstiegsseite
Und noch allgemeiner und weitgestreut mit einer Fülle von Informationen auf dem
Portal der BMK Sound.
Die Seite für SAP Kollegen, die ebenso wie ich sich der Programmierung in ABAP (Advanced Business Application Programming) unter SAP verschrieben haben, jedoch einen Knackpunkt zu lösen haben und einen Weg suchen, den effizientesten Algorithmus zu entwickeln. Diese Internetseite soll helfen, auf den vielleicht zündenden Gedanken zu gelangen, um dem Kunden die optimale Lösung bieten zu können. Auch wenn die Beispiele nur einen kleinen Umfang bieten, hoffe ich, dass ihr den richtigen Sprung findet. Alle Programme sind mit sehr viel Kommentar und Erklärungen gespickt. Die ABAP-Sourcen sind in HTML konvertiert, Kommentare sind ein wenig eingegraut, Befehlsworte sind in schwarz gehalten, variablen in blau und Konstanten in grün, um dem Ganzen ein wenig Farbe zu verleiten. Teilweise ist im Programm sogar ein Ausschnitt eingefügt, wie das Ergebnis aussieht, wenn Ihr das Programm laufen lasst. Für alle Programme, Seiten und Grafiken gilt das Urheberrecht und Copyright © BJH Software. Auf Vollständigkeit und Richtigkeit wird keine Gewähr übernommen. Fehler können immer passieren, ich bitte dieses zu entschuldigen.
Datenmodelle | |
Materialstamm Datenstruktur MARA MARC MARD |
Modul MM, SD: Materialstammdaten Materialwirtschaft grafische Aufbereitung, wie die einzelnen SAP-Tabellen im Bereich der Materialstämme miteinander verknüpft sind. Material mit Werksbezug, Lagerort, Materialbewertung, Lagernummer und im Vertrieb mit der Vertriebsorganisation, Kurz- und Langtexte. Übersicht der Schlüssel-/ Fremdschlüsselbeziehungen. |
Dokumente Merkmale Datenstruktur
DRAW DRAT TDWA |
Modul PP: Dokumentenverwaltung / Merkmale Grafik grafische Aufbereitung, wie die einzelnen SAP-Tabellen im Bereich der Dokumentenverwaltung miteinander verknüpft sind. Übersicht der Schlüssel-/Fremdschlüsselbeziehungen. Aussprung auch zu anderen Themengebieten sind gekürzt dargestellt. |
Arbeitspläne Datenstruktur MAPL PLKO PLPO |
Modul PP: Arbeitspläne Produktion grafische Aufbereitung, wie die einzelnen SAP-Tabellen im Bereich der Arbeitspläne, Verknüpfungen und Planzuordnungen miteinander verknüpft sind. |
Vertrieb Datenstruktur VBAK LIKP VBRK EIKP |
Modul SD: Vertriebsbelege, Außenhandel Grafik grafische Aufbereitung, wie die einzelnen SAP-Tabellen im Bereich der Vertriebsbelege und der Außenhandelsdaten miteinander verknüpft sind. Übersicht der Schlüssel- / Fremdschlüsselbeziehungen. |
Programmierung | |
z_bjh_inner_join
|
interne Tabelle Einlesemöglichkeiten von externen Tabellen Einlesemöglichkeiten von externen SAP-Tabellen in interne Tabellen Zugriffe auf Tabelle, welche über Fremdschlüssel verknüpft sind.Vorstellung unterschiedlicher Methodiken, dessen Einsatz im Fall zu Fall zu entscheiden ist unter den Gesichtspunkten zu erwartende Ergebnismenge, Performance, Komplexittät.
1.) Konventionel: geschachtelte Select-Struktur. |
z_bjh_at_suchhilfe Suchhilfe HELP_VALUES_GET_WITH_TABLE |
Suchhilfe freie Kombination Suchhilfe für Felder, welche keine expliziete Suchhilfe über Struktur und Datenelement haben. Beispiel ist die Statusverwaltung in der Dokumentenverwaltung in Abhängigkeit der Dokumentenart. Programm führt keinerlei Aktionen aus !!! |
z_bjh_migo Selection Screen Selection Reitertechnik Selection Subscreen Selection Pushbutton Selection User Command MB_CREATE_GOODS_MOVEMENT |
Selection Screen Eingabegabemasken Material Wareneingang und Warenausgang Beispielprogramm für das Verbuchen einer Warenbewegung. Im Programm wird eine Position verbucht, wie => einstellbar über die Bewegungsart. Minimalausführung für die Werteversorgung. Storno ist integriert, ausführbar über die Materialbelegsnummer. |
z_bjh_dynpro_tc Dynpro - Table Control
ICON_CREATE
z_bjh_dynpro_tc.9200 |
Dynpro - Table Control Aufbau der Liste am Bildschirm Beispielprogramm für die Be- und Verarbeitung eines Dynpros. Die ermittelte Liste, eine Auswahl an Bestellungen, wir im Dynpro als Table-Control angezeigt. Aktionen (außer Ende) sind das Anklicken oder Verändern der Menge, es erfolgt (nur zu Anschauungszwecken) eine Addtion der Menge um 0,1 und das Zurücksetzen der Markierung. Weitere Aktion ist der Absprung in den Materialstamm, Transaktion MM03. PBO und PAI Routinen sind im Programm, keine Includes. |
z_bjh_dynpro_tab_fix Dynpro - Tab Strip Foto im Container
DP_CREATE_URL
z_bjh_dynpro_tab_fix.9300 |
Dynpro - Tab Strip / Registerkarten eingelagerte Subscreens Beispielprogramm für Dynpro-Verarbeitung mit Tabstrips. Im Programm wird eine Lieferscheinnummer abgefragt und der Datensatz dazu gelesen. Die Ausgabe erscheint in einem Bildschirm mit Reitern (Tabstrips), wobei der erste Reiter die Lieferscheinnummer ausgibt und der zweite den Lieferanten. Programm bindet die Tabstrips fest (fix) ein, kein dynamisches Laden ! Dynpro 9301: Subscreen für Reiter 1 mit Container für Foto. Reiter 2 ausblendbar. |
z_bjh_smartforms_mini SmartForms
SSF_FUNCTION_MODULE_NAME |
SmartForms Miniprogramm, Aufruf Smart Forms dient zur Formulargestaltung und löst auf längere Zeit wohl SAP Script ab. Das Beispielprogramm zeigt die Ansteuerung des Druckes über Smart Forms. Das Programm führt keine Aktionen aus, liest auch keine Daten ein ! Das dazugehörige SmartForms-Formular benötigt nur 2 Ausgaben in einem Fenster, wobei der Texte und die Grafik Eingabeparameter sind. Das Programm kann als Test genutzt werden, da alle Aktionsrichtungen wie Druck, Fax und Email aktiv hinterlegt sind. |
z_bjh_graphics SmartForms Excel
ALSM_EXCEL_TO_INTERNAL_TABLE FB ZF_BJH_TXT |
SmartForms Grafikverwaltung, Einspieln von Grafiken Import von Grafiken für SmartForms oder SapScript. Laden von BMP (oder TIF) Grafiken für die Benutzung dieser Graphiken in SmartForms oder SapScript-Formularen (Tabelle STXBITMAPS). Es könnte zwar auch der Baustein genutzt werden, jedoch bietet sich mit diesem Programm die Möglichkeit, ohne Batch-Input einen Schwung von Grafiken anlegen zu können. |
z_bjh_stxl Langtext Suchhilfe
READ_TEXT |
Fließtexte Reporting (Bildschirm) Fließtexte auswerten und anzeigen können. Diese Texte entsprechen der VPSS-Struktur SDATXT. Die Texte werden im Cluster angelegt. Die Basis-(Header)-Tabelle ist die STXH. Dort werden die Daten herausselektiert, welche dann durch den Funktionsbaustein anzeigegerecht aufbereitet werden. Im Beispiel wird der Text im letzten Zeichen verändert und durch den Gegen-Funktionsbaustein zurückgeschrieben. Diese Art der Fließtextbehandlung wird im gesamten SAP-System benutzt, deswegen sind mehrere vordefinierte Typen angezeigt und auch die Möglichkeit frei zu wählen. In diesem Beispiel werden die einzeln aufbereiteten Zeilen am Bildschirm ausgegeben. |
z_bapi_material_savedata Interface Warnstufe - Ampel TBDA2 (Matmas) Selection-screen output Langtext
BAPI_MATERIAL_SAVEDATA |
BAPI Schnittstelle - Kopie eines Material mit Werkbezug In diesem Programm wird eine Materialnummer als Referenz vorgegeben, die auf eine neue kopiert werden soll. Zusätzlich können noch ein Werk und ein Lagerort mitangegeben werden, welche ebenfalls dann sofort aufgebaut werden. Sollte zum Werk eine Bewertung vorhanden sein, wird diese auch kopiert. Gleiches gilt für Maßeinheiten, Materialkurztexte und auch Langtexte in allen Sprachen. Für alle anderen Strukturen sind die Unterprogramme zum Füllen der BAPI-Struktur vorhanden, jedoch werden sie nicht angesprungen. |
z_bjh_bapi_routing_create Interface Warnstufe - Ampel Langtext
BAPI_ROUTING_CREATE |
BAPI Schnittstelle - Anlegen eines Arbeitsplanes Kopie eines Arbeitsplanes. Es werden Materialien und Werke vorgegeben. Das Programm sucht daraus eine Ergebnismenge, die zusätzlich noch durch den Planstatus und das Datum weiter eingegrenzt werden kann. Danach werden die Pläne 1:1 kopiert. Zum Abschluß erfolgt noch eine Statistik über den gesamten Lauf, welches auch in eine Datei geschrieben werden kann. |
z_bjh_bapi_po_create1 Interface Warnstufe - Ampel BAPI_PO_CREATE1 |
BAPI Schnittstelle - Anlegen einer Bestellung Beispiel für Ansteuern des Bapis "BAPI_PO_CREATE1" (Enjoy-Version). Programm simuliert das Kopieren einer bestehenden Bestellung. Alle Programmparts sind in Classic ABAP geschrieben ! Das Programm liest für das Beispiel eine andere Bestellung ein, kopiert diese in die entsprechenden Felder und Tabellen, die der BAPI verarbeiten soll. Nach Durchlauf des Bapis kann der Status angezeigt werden, zur grafischen Unterstützung mit einer Ampel. |
z_bjh_ftp_connect Programmierung Funktionsbaustein
FTP_COMMAND |
FTP Transfer Dateien zwischen Systemen transportieren Aktion eines FTP-Transfer. Das Programm beinhaltet die Möglichkeit des Datenaustausches zwischen 2 Systemes, wobei eine korrekte Anmeldung im Zielsystem geschehen soll (im hiesigen Fall Vorbelegung für Anmeldung im PC-Netzwerk). Im Quellsystem (SAP Basis Anwendung) braucht nur der Pfad definiert sein. Der Mandant wird automatisch eingepflegt. Danach erfolgt die Befehlsfolge, hier nur das Verschieben von Daten. Am Ende wird die Protokolltabelle am Bildschirm angeziegt, welche den Verlauf der Aktionen wiederspiegelt. |
z_bjh_excel Excel Basis-Include ole2incl |
EXCEL Ergebnis einer Liste in Excel anzeigen Beispielprogramm, um von SAP Microsoft-Excel aufzurufen und ein Datenblatt der Tabelle mit Werten vorzubelegen. Zu Testzwecken sollen einige Felder der Positionen einer Bestellung angezeigt werden, die zuvor über Parameter selektiert wurden. |
z_bjh_excel_in ALSM_EXCEL_TO_INTERNAL_TABLE |
EXCEL Schnittstelle. Daten aus einer Excel-Liste laden Beispielprogramm zum Einlesen einer Excel-Tabelle und Bereitstellung deren Daten in einer internen Tabelle vom Format, wie auch andere Programme mit Dateilesealgorithmen arbeiten. |
z_bjh_excel_doi
RFC_GET_STRUCTURE_DEFINITION |
EXCEL Version SAP R/3 DOI - Desktop Office Integration Excel Mappe am Bildschirm aufblenden. In das Excel-Sheet kann der Tabelleninhalt einer beliebigen SAP Tabelle importiert werden. Nach dortiger Bearbeitung werden die Daten wieder nach SAP exportiert und stehen dort für die weitere Bearbeitung bereit. |
z_bjh_alv ALV Grid
ME_DISPLAY_PURCHASE_DOCUMENT |
ALV ABAP List Viewer ALV = ABAP List Viewer. Struktur und Funktionsbausteine für das einfache Anzeigen von Reporting-Liststrukturen, ohne den Aufbau über Write-Anweisung und Berechnung der Position durchführen zu müssen. Beispielprogramm zur Anzeige von Bestellköpfen und deren Positionen, ergänzt um ein grafisches Element. Hotspot auf die Bestellnummer. |
z_bjh_alv_oo ALV Grid OO ME_DISPLAY_PURCHASE_DOCUMENT |
ALV ABAP List Viewer, objektorientierte Version Gleiche Funktionen wie im Beispielprogramm für den ALV in der klassischen Variante, jedoch hier über Klassen und Methoden. Zusätzlich wird auf ein Ereignis reagiert. |
z_bjh_control_tree Splitting Container |
Tree Control Knotenstruktur im Baum Das Programm bereitet eine einfach Baumstruktur (Tree-Control) aus Bestellungen auf und zeigt diesen Baum im linken Teil des Bildschirmes. Einige Funktionen im Bereich Knoten und Knotentechnik sind implementiert, ansonsten macht dieses Programm nichts. Der rechte Bildschirm bleibt leer. |
z_bjh_control_pic Splitting Container
DP_CREATE_URL |
Picture Control Fotos und Bilder SAP Programmierbeispiel. Programmierung eines Controles, welches ein Bild auf dem Bildschirm bringt. Das Bild kann entweder intern geladen werden, ein Bild, welches mit der SE78 bearbeitbar ist, oder extern als eine Grafikdatei von der Festplatte des Rechners, egal ob Bild, Foto oder Animation. Hinweis: Das Bild ist in einem Splitting Container untergebracht, wenn Sie jedoch ein Bild in einem Dynpro direkt einbetten möchten, so schauen Sie bitte im Programm z_bjh_dynpro_tab_fix , wo diese Methodik beschrieben ist * |
z_bjh_control_textedit Dynpro Container
READ_TEXT
z_bjh_control_textedit.9900 |
Text Edit Control Texte erfassen Beispielprogramm für das Nutzen des TextEdit-Controles in ABAP. Der Texteditor wird in einen Container eingelagert, mehrere Funktionen sind standardmäßig bereits aktiv (wie Daten laden, sichern, usw.). In diesem Beispiel wird ein zusätzliches Ereignis definieret, ein Doppelklick, welche ein Sternchen in der Zeile setzt oder es wieder zurücknimmt. * |
z_bjh_email SO_NEW_DOCUMENT_ATT_SEND_API1 |
Email Email mit Anhangsdatei versenden Beispielprogramm für das Versenden von Emails aus SAP heraus und einer Datei im Anhang. Emailempfänger, Text, Anhang und Inhalt sind von außen auffüllbar. Unterprogramm kann auch als Funktionsbaustein umgebaut werden, bei gleicher Variablenübergabe. |
z_bjh_kunde_partner
WS_DOWNLOAD
|
SD - Rechnung Konditionssätze und Partnerrollen Programm zum Ermitteln der Partnerrollen und der Konditionssätze zu einer Rechnung. Das Ergebnis wird in einer Tabelle aufbereitet und kann auf Datei gespeichert werden (nur lokal). Hinweis: Das Programm folgt nicht der Kontenfindung und benutzt auch nicht das Kalkulationsschema. |
z_bjh_reichweite AUFBAUEN_MDPSX_ANZEIGEN MD_READ_MATERIAL_SIMPLE STOCK_COVERAGE_GET |
Material Bestandsreichweitenberechnung Teilauszug aus der Transaktion MD04, Programm SAPMM61R. Es wurden alle Funktionsbausteine, Tabellen und Strukturen herausfiltriert, welche benötigt werden, um die Bestandsreichweite mit den Abhängigkeiten und Parametern seitens SAP zu berechnen. Inkonsistenzprüfung bei den PPS-Planungsperioden. Achtung: abgespeckte Version !!! |
z_bjh_job_anstoss z_bjh_job_warten
GET_PRINT_PARAMETERS |
Jobverarbeitung Jobs anstarten und abfragen Programm zum Anstoß eines Jobs. Dadurch kann Zeit gespart werden, wenn der Job z.B. eine Stückliste auflösen soll, das Anstoßprogramm aber x Stücklisten benötigt. In diesem Programm soll das rufende Programm nur x Sekunden warten. Das auslösende / jobrufende Programm prüft jede Sekunde, ob der Job schon durch ist. Die Parameterübergabe erfolgt über eine Zwischendatei und festverdrahteten Schlüsseln. |