以下のとおりです。
(J-GATE接続仕様解説書の「7.1.2.3 差分クエリ」の「DQ124 の差分クエリにおけるDRN とタイムスタンプの設定例」にも記載がございますので、ご参照ください)
〔1〕全銘柄情報取得時において、最後にクエリした際のアンサー(DA124)の構造体37001のダウンロード・リファレンス番号(download_ref_number_q)と処理時刻(full_answer_timestampのtv_secとtv_nsec)を保持しておく。
〔2〕DQ124のdownload_ref_number_qに保持していたダウンロード・リファレンス番号に1を加えた値を、tv_secとtv_nsecに保持していた処理時刻をそれぞれ指定し、セグメント番号も指定してクエリを実行する。
〔3〕アンサー(DA124)のセグメント番号が"0"になるまでクエリを実行し、最後にクエリした際のアンサー(DA124)の構造体37001のダウンロード・リファレンス番号(download_ref_number_q)と処理時刻(full_answer_timestampのtv_secとtv_nsec)を保持しておく。
以降、〔2〕と〔3〕を繰り返す。
なお、BU124の情報も取り込む場合は、以下の処理を加える。
〔4〕ブロードキャストで受信したBU124の情報を適切に処理した上で、最終レコードのダウンロード・リファレンス番号(download_ref_number_q)を保持しておく。
〔5〕DQ124のdownload_ref_number_qに保持していたダウンロード・リファレンス番号(上記BU124にて取得)に1を加えた値を、tv_secとtv_nsecに保持していた処理時刻(上記BU124以前の差分クエリにて取得)をそれぞれ指定し、セグメント番号も指定してクエリを実行する。
〔6〕アンサー(DA124)のセグメント番号が"0"になるまでクエリを実行し、最後にクエリした際のアンサー(DA124)の構造体37001のダウンロード・リファレンス番号(download_ref_number_q)と処理時刻(full_answer_timestampのtv_secとtv_nsec)を保持しておく。
以降、〔5〕と〔6〕を繰り返す。