Hallo,

OS400 verwnedet Call by reference, d.h. die Variable ist im aufrufenden Programm mit Speicher hinterlegt und es wird ein Pointer auf den Speicher an das aufgerufene Programm übergeben.

Zitat Zitat von niki
Hallo! Wer kennt sich aus?

Was passiert, wenn ich in eine CL-Variable, die mit einer Länge 30 deklariert wird, einen längeren String übergebe?

Danke
In diesem Fall sind im aufgerufenen Programm die ersten 30 byte zugänglich, der Rest bleibt unverändert. Umgekehrt wird es kriminell, wenn man den Parameter im aufgerufenen Programm länger deklariert als im aufrufenden, wird lustig im Speicher des aufrufenden Programmes rumgemalt, damit können dann Variablen verdonnert werden, die nicht übergeben wurden, oder sogar Code-Segmente beschädigt werden.

mfg

Dieter Bender