ACCEPT 文で使用できない CURSOR 句

RM/COBOL の CURSOR 句は Enterprise Developer ではサポートされません。Enterprise Developer では、CURSOR 句内で指定されたデータ項目を special-names 段落で使用する必要があります。RM/COBOL から返される ACCEPT 文の CURSOR 句のように、受け取ったフィールドのオフセットを取得するには、次のようにします。

  1. ACCEPT 文の開始行と開始列が含まれるように、CURSOR 句で指定するデータ項目を設定します。ACCEPT 文の位置付けを行わず、現在のカーソル位置で開始する場合は、CBL_GET_CRSR ライブラリ ルーチンを使用して現在のカーソル位置を取得できます。CBL_GET_CRSR からは 0 を基準にした相対位置情報が返されるため、CURSOR 句で指定されたデータ項目内の位置を設定するときに、1 を基準にした相対位置情報に調整する必要があります。
  2. 他のデータ項目に開始列を保存します。
  3. ACCEPT 文を実行します (CURSOR 句はサポートされないので含めない)。
  4. CURSOR 句で指定されたデータ項目内の現在の列から、元の開始列を差し引き、これをオフセットとして格納します。