%STR(ポインター:長さ) は、式の左側で使用されると、式の右側の値を、 ポインターによって指し示されている記憶域に割り当て、最後にヌル文字 終了記号のバイトを追加します。 %STR の 2 番目のパラメーターとして指定されている長さが N である場合、最後のヌル文字終了記号用に 1 バイトを予約しておく必要があるため、右側で使用可能な最大値は N-1 バイトになります。
指定可能な最大長は 65535 です。これは、最後に ヌル文字終了記号用に 1 バイトを予約しておく必要があるので、最高でも、右側の 65534 バイトが使用可能であるということです
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
D String1 S *
D Fld1 S 10A
/FREE
%str(String1: 25)= 'abcdef';
// The storage pointed at by String1 now contains 'abcdef¬'
// Bytes 8-25 following the null-terminator are unchanged.
%str (String1: 4) = 'abcdef';
// The storage pointed at by String1 now contains 'abc¬'
/END-FREE