Die Eigenschaft 'lengthItem' gibt ein Feld an, das verwendet wird, wenn EGL einen Datensatz variabler Länge liest oder schreibt.
EGL setzt das Feld beim Lesen von Daten aus einer Datei in den Datensatz und verwendet das Feld, um zu bestimmen, wie viele Byte in die Datei geschrieben werden sollen. Die maximale Länge des Datensatzes basiert auf den für den Datensatz definierten Feldern. Wenn ein Datensatz variabler Länge in eine Datei geschrieben wird, muss der Wert in dem von 'lengthItem' angegebenen Feld kleiner-gleich der maximalen Länge sein.
Das Längenfeld ist eine ganze Zahl mit maximal neun Ziffern.
Wenn Sie einen Datensatz variabler Länge verwenden, müssen Sie die Eigenschaft 'lengthItem' oder die Eigenschaft 'numElementsItem' oder beide angeben. Wenn beide Elemente vorhanden sind, wenn EGL den Datensatz in die Datei schreibt, wird zunächst das Feld 'numElementsItem' verwendet, um die Gesamtlänge des Datensatzes zu berechnen. Anschließend wird diese Länge in die von 'lengthItem' angegebene Variable gestellt, bevor der Datensatz geschrieben wird. Weitere Informationen finden Sie unter Datensätze variabler Länge.
Record SerialRecordPart1 type serialRecord
{
fileName = "myFile",
lengthItem = myOtherField
}
10 myField01 BIN(4); // 2 Byte lang
10 myField02 NUM(3); // 3 Byte lang
10 myField03 CHAR(20); // 20 Byte lang
end
myOtherField NUM(4);
| Plattform | Problem |
|---|---|
| DL/I | Die Variable 'lengthItem' enthält den Namen desjenigen Felds im DL/I-Segment, das die Länge des gesamten Segments,
einschließlich des Felds selbst, enthält. Sie müssen 'lengthItem' angeben, wenn das Segment eine variable Länge aufweist. Das Feld muss
den Typ SMALLINT haben sowie dieselbe Länge und dieselbe relative Position (Offset) wie das Längenfeld in dem Segment in der
DL/I-Datenbankbeschreibung. Das Feld, auf das 'lengthItem' zeigt, ist normalerweise das erste Feld in dem Segment. Dies ist jedoch nicht der Fall, wenn ein verknüpftes Segment in einer logischen Datenbank aus einem Segment mit fester Länge, gefolgt von einem Segment variabler Länge erstellt ist. |
| WebSphere MQ | Wenn ein Programm den Datensatz zu einer Nachrichtenwarteschlange hinzufügt, wird die Nachrichtenlänge auf einen Wert gleich dem Wert in der von der Eigenschaft 'lengthItem' angegebenen Variablen gesetzt. Wenn ein Programm die Nachricht aus der Warteschlange liest, wird die Nachrichtenlänge in der von der Eigenschaft 'lengthItem' angegebenen Variablen zurückgegeben. Wenn Sie Variablennamen sowohl für die Eigenschaft 'lengthItem' als auch für die Eigenschaft 'numElementsItem' angeben, wird die Variable 'lengthItem' auf die Länge gesetzt, die aus der Anzahl der Elemente im Datensatz berechnet wurde, bevor eine Nachricht der Warteschlange hinzugefügt wird. |
Informationen zu Problemen im Zusammenhang mit weiteren Plattformen und Ressourcenzuordnungen finden Sie im Abschnitt 'Kompatibilität' unter numElementsItem.