Die Funktion sdfstv analysiert einen struktureinleitenden Operandenwert auf seinen Typ und seine Länge. Dem Funktionsaufruf sdfstv muss ein Aufruf der Funktion sdftyp vorangegangen sein, der den Operandentyp Struktur (19) als Ergebnis brachte. Ein Operandenwert ist nur dann struktureinleitend, wenn er in der SDF-A-Anweisung ADD-VALUE mit STRUCTURE=YES(FORM=NORMAL) definiert wurde.
Da die Funktion einen optionalen Parameter hat, gibt es 2 verschiedene Formate.
Format 1
int sdfstv (char *area, int pos, int *typ, int *lng);
Format 2
int sdfstvls (char *area, int pos, int *typ, int *lng, int lst);
Beschreibung der Parameter
char *area | Zeiger auf den Puffer, in dem der normierte Übergabebereich angelegt wurde (siehe sdfinit) |
int pos | Position des struktureinleitenden Operandenwertes |
int *typ | Zeiger auf einen Wert, der den Typ des Operandenwertes enthält |
int *lng | Zeiger auf die Länge des Operandenwertes |
int lst | ist nur relevant, wenn der Operandenwert Element einer Liste ist; gibt die Position der Struktur in der Liste an |
Ergebnis
Die Funktion liefert eine Integerzahl als Ergebnis (siehe "Beispiele").