Hallo,

  1. Für jede Tabelle kann sowohl ein langer SQL-Name als auch ein kurzer System-Name festgelegt werden. (Einfach die Tabelle mit dem langen Namen erstellen und anschließend mit dem SQL Rename-Befehl den System-Namen hinzufügen.
  2. Wird ein SQL Name länger als 10 Stellen verwendet, wird automatisch ein kurzer System-Name generiert, der aus den ersten 5 Stellen des langen SQL-Namen + einem 5-stelligen laufenden Zähler besteht. (Die Krux ist, dass es beim erneuten Erstellen keine Garantie gibt, dass der gleiche System-Name erneut vergeben wird, vielmehr wird einfach der nächste Zähler ermittelt.
  3. Für den RLA (Angabe der Tabelle in den F-Bestimmungen) muss der kurze System-Name verwendet werden. Ebenso müssen die kurzen System-Namen bei allen CL-Befehlen wie CPYF oder CRTDUPOBJ verwendet werden.
  4. Ebenso wie für den Tabellen-Namen können auch für die Spalten SQL und System-Namen festgelegt werden. Dies muss allerdings direkt im CREATE TABLE-Befehl erfolgen. Ein nachträgliches Änderung oder Setzen von kurzen System-Namen ist nicht möglich.
  5. Vor Release 7.1 mussten beim RLA die kurzen Feld/Spalten-Namen verwendet werden. Mit Release 7.1 können nach Angabe des Schlüssel-Wortes ALIAS in den F-Bestimmungen und dem Einlesen der Datensätze in entsprechende (externe) Datenstrukturen die langen Feld-Namen verwendet werden.
  6. Beim Zugriff über (embedded) SQL konnten schon immer die SQL und System-Namen alternativ verwendet werden.


Ich arbeite seit Jahren nur noch mit SQL beschriebenen Tabellen, Views und Indices. Trotzdem bleibe ich dabei, Tabellen und Spalten-Namen mit maximal 10 Stellen zu definieren. Wobei ich versuche die Namen soweit möglich sprechend zu gestalten. Längere Namen (mit zusätzlich fix definierten System-Namen) verwende ich nur in Ausnahmefällen.

Birgitta