REDUCE + SWITCH + COND [ABAP740]

REDUCE + SWITCH + COND [ABAP740]

Heute im Code-Dojo hatte ich die Aufgabe gestellt, eine Funktion zu schreiben, die einen String mit variabel zu bestimmender Länge und zufälligen Zeichenfolgen aus Zahlen und Buchstaben zurück liefert. Zum Beispiel „I71B7HJ4BG“ oder „6EE17ICBF54IE486EHD8“. Idee Mit VALUE und FOR sollte ein String Zeichen für Zeichen zusammengesetzt werden. Mit einer Zufallsfunktion sollte ermittelt werden, ob ein Buchstabe oder eine Zahl eingesetzt werden soll. Per SWITCH sollte ebenfalls eine Zufallsfunktion aufgerufen werden, die eine Zahl bzw. einen Buchstaben…

WEITERLESEN

ABAP 740-Features unter der Lupe

ABAP 740-Features unter der Lupe

Aus einer einfachen Anfängerfrage im abapforum.com hat sich eine recht spannende Antwortserie entwickelt, die auf die neuen Sprachfeatures von ABAP740 eingeht. Ich habe diese einmal zusammen gefasst und auch Laufzeitmessungen durchgeführt. Die Frage Die Frage von debianfan lautete: Wie ermittele ich die Anzahl von Datensätzen bestimmter Ausprägung in einer internen Tabelle? Die interne Tabelle NAMES besteht nur aus den Feldern NAME (string) TF (boolean) Die folgenden Lösungen sind teilweise vereinfacht und ohne DATA-Definitionen. Die einzelnen…

WEITERLESEN

Moderne UI mit altem SAPGUI und ALV-Grid

Moderne UI mit altem SAPGUI und ALV-Grid

Ich habe eine kleine Spielerei gebaut, weil ich eine Möglichkeit brauchte um Parameter ein- und auszuschalten. Die normale Methode mit „X“ und „Space“ oder Checkbox fand ich langweilig und mir kam die Idee, dass es möglich sein müsste, eine etwas modernere Art der Darstellung möglich sein müsste. Sowas in dieser Art: Bild: http://pixabay.com Neue UI Natürlich sind die grafischen Möglichkeiten etwas beschränkt, aber die Funktionalität, wie man sie von jedem aktuellen Smartphone kennt, müsste machbar…

WEITERLESEN

Vorgang im Fertigungsauftrag anlegen

Vorgang im Fertigungsauftrag anlegen

BAPIs sollten eigentlich programmtechnisch das möglich machen, was auch im Dialog möglich ist. Leider gibt es sehr viele Unterschiede zwischen BAPI und entsprechender Dialog-Transaktion.

Im Produktionsumfeld ist es so, dass ein Fertigungsauftrag gar nicht komplett mit Hilfe von BAPIs angelegt werden kann. Die Anlage bzw. Änderung muss in mehrere Schritten erfolgen. Normalerweise reicht es dem BAPI_PRODORD_CREATE unter Angabe einer Materialnummer und eines Werkes um einen Fertigungsauftrag anzulegen.

WEITERLESEN

Komponenten einem Fertigungsauftrag hinzufügen

Komponenten einem Fertigungsauftrag hinzufügen

Für den Fertigungsaufträge sind die BAPIs leider sehr rar gesät und man muss auf andere Bausteine ausweichen. Um einem Auftrag Komponenten hinzuzufügen, habe ich nur den Baustein CO_XT_COMPONENT_ADD gefunden. Die CO_XT-Funktionsbausteine sind zwar prinzipiell „extern“ und in der Funktionsgruppe „APIs Fertigungsauftrag“, jedoch sind die Bausteine allesamt sehr mit Vorsicht zu genießen.

WEITERLESEN

Preisfindung im Kundenauftrag von außen anstossen

Preisfindung im Kundenauftrag von außen anstossen

In diesem Beitrag zeige ich dir, wie du die Preisfindung eines Kundenauftrags neu ausführen lassen kannst. Das grundsätzliche Verfahren sieht so aus: Userexit in SAPMV45A anpassen Parameter setzen BAPI aufrufen Parameter zurücknehmen Um die Preisfindung von außen triggern zu können, musst du Änderungen im Programm SAPMV45A durchführen. Zuerst benötigst du jedoch die Möglichkeit, einen Parameter zur Laufzeit zu setzen, der dann im SAPMV45A abgefragt werden kann. Das kann gut über eine der beiden Methoden erfolgen:…

WEITERLESEN

Switch für Ausnahmen eines Funktionsbausteins [ABAP740]

Switch für Ausnahmen eines Funktionsbausteins [ABAP740]

Seit Release ABAP740 gibt es die Anweisung SWITCH. Sehr anschaulich beschrieben im Blog von Horst Keller: ABAP News for Release 7.40 – Constructor Operators COND and SWITCH Was mich bei Funktionsbausteinen schon immer gestört hat ist, dass man bei der sinnvollen Protokollierung von Returncodes von Funktionsbausteinen umständliche CASE-Konstrukte benötigt. Natürlich nur, wenn der Funktionsbaustein bei einem Fehler lediglich RAISE EXCEPTION verwendet aber nicht MESSAGE RAISING. Und Ersteres ist leider sehr häufig der Fall. Mit dem neuen…

WEITERLESEN

Ausnahmen mit T100-Nachricht [ABAP750]

Ausnahmen mit T100-Nachricht [ABAP750]

Die Verwendung von T100-Nachrichten mit Klassen basierten Ausnahmen ist von Beginn an krampfig. Alt und Neu passte immer irgendwie nicht so richtig zusammen. Paul Hardy hat sich in seinem sehr guten Buch ABAP To The Future dafür ausgesprochen, ausschließlich die neue Variante – also ohne T100-Nachricht zu verwenden. Es sprechen aber im Kampf mit den täglichen Programmiermonstern viele Dinge dafür, die Exceptions mit T100-Nachricht zu verwenden. Umständlich Die Verwendung von Klassen basierten Ausnahmen in Verbindung…

WEITERLESEN
1 2 3 70