Effektive HandsOn-Vorbereitung

21. August 2014 at 14:28

Die Ausgangslage

Für SAP HANA Trainings, welche wir in letzter Zeit vermehrt durchführen, haben wir ein ein Beispiel-Projekt erstellt, welches sich zur besseren Strukturierung in diverse Unterverzeichnisse unterteilt. Jede einzelne Datei darin enthält Quellcode oder Definitionen für einzelne Laufzeit-Artefakte, wie zB Javascript-Dateien, oData Definitionen, Datenbank-Definitionen usw. Während des Trainings müssen nun die Teilnehmer diese Dateien Stück für Stück selbst aufbauen – mit dem Nachteil, das sich oft Tipp- bzw Copy/Paste Fehler einschleichen. Ein einfaches Kopieren der gesamten Datei ist in der Regel auch nicht möglich, weil in der Datei selbst wieder Verweise auf das Benutzer-spezifische Projekt stehen.

German Soundex „Kölner Phonetik“ SQL implementation

12. Mai 2014 at 15:16

To all my english fellows: Since the topic discussed in this article is for the german language only I’ll post it in german language. Sorry.

Zur Ähnlichkeitssuche von Zeichenketten existieren mehrere Verfahren. Das bekannteste ist wohl Soundex, welches unter anderem auch im Advantage Database Server als Funktion implementiert ist (Online-Hilfe in der Advantage Devzone). Ein weiteres Verfahren wäre die Distanz (zB Levenstein-Distanz) zwischen zwei Zeichenketten zu messen, um so eine Ähnlichkeit festzustellen. Beide Verfahren sind aber für die deutsche Sprache wenig geeignet: Soundex ist für englisch optimiert, Levenstein würde zwei so unterschiedlich klingende Worte wie „Tier“ und „Tor“ als 2 angeben, was quasi einer Übereinstimmung entspricht.
Bereits 1969 veröffentlichte Hans Joachim Postel die „Kölner Phonetik“.

Adjusting Table Structure using SQL

12. Mai 2014 at 14:12

I was asked by a partner how he could adjust his table structure. He needed to check if a char field is available and adjust its size to a minimum of 40 characters. So I came up with this script:

Connecting a TAdsConnection Component using a connection string

12. Mai 2014 at 14:10

The Advantage client Engine 10.1 introduced new API calls. One of them, AdsConnect101, can connect to a database using a connection string rather than setting the connection options one by one.

UNSIGNED32 AdsConnect101(
  UNSIGNED8 *pucConnectString, 
  ADSHANDLE *phConnectOptions,
  ADSHANDLE *phConnect);

TAdsConnection is able to hook into such a connection, either by setting the ConnectionHandle (TAdsConnection.SetHandle) or by creating a new component based on that ConnectionHandle (TAdsConnection.CreateWithHandle, TAdsConnection.CreateFromHandle).