次のような場合は、SQL レコードの内部レイアウトに注意する必要があります。
- EGL の assignment 文を使用して SQL レコードを別の種類のレコードにコピーするか、またはその逆方向のコピーをする場合。
- EGL プログラムに渡されるランタイムの引き数が SQL レコードであるのに、プログラム・パラメーターが SQL レコードではない場合。
- EGL 関数に渡されるランタイムの引き数が SQL レコードである。この場合、パラメーターは、作業用ストレージ・レコードでなければならない場合。
- SQL レコードを EGL 以外のプログラムのパラメーターとして受け取る場合。
SQL レコードの各構造体項目の前には、4 バイトのデータがあります。最初の 2 バイトは NULL 標識で、ここが NULL の場合は負の値と解釈されます。2 番目の 2 バイトは長さフィールド用に予約されているので、このフィールドは決して書き換えない でください。
COBOL プログラムを生成する場合は、SQL レコードの名前を 01 レベルに、すべての構造体項目を最低から 2 番目のレベルに配置します。