データラボから取得するデータに関して

先日からデータラボを利用させて頂いてます。

自作プログラム開発中となりますが、セットアップデータ取得の部分でエラーとなっており困っております。

過去データを利用したプログラムを作成するため、セットアップデータの血統情報を取得しようとしているのですが、

処理の最初の方で、System.ArgumentOutOfRangeExceptionが発生しております。

2010年分から取得使用としたところ、上記のエラーが発生します。

確認すると、ご提供いただいているツールであるJV-Data構造体の部分で発生しておりました。

具体的にはJV_HN_HANSYOKUのHansyokuMNum = MidB2S(bBuff, 240, 10)の部分となります。

処理しているデータを調べたところ、HNVM2010069920181003183456.jvdを読み込んでいてエラーとなっていました。

上記ファイルをJVReadでプログラムの文字列変数にセットした結果をみると、JVData 仕様書の2023年8月8日の変更にある、

「18.繁殖馬マスタの「繁殖登録番号、父馬繁殖登録番号、母馬繁殖登録番号」8バイト⇒10バイト」

が反映されていないデータに見受けられます。

過去のデータは新フォーマット修正に対応されないものなのでしょうか?

もしくは、過去のデータを取得するためのツール(JV-Data構造体のようなもの)がご提供されていますでしょうか?

また、「繁殖登録番号、父馬繁殖登録番号、母馬繁殖登録番号」は他のデータと紐づけするためのキーとなる部分かと思います。

8桁から10桁に増えているので、過去のデータにも2桁を手動で追加する場合、何をどこに追加すべきでしょうか。(ユニークにする方法)

今は、最初のデータのところでエラーとなっております。他の過去データも同様に桁数が増えたところの対応はされていないと考えた方がよろしいでしょうか?

もし、その場合、2023年8月8日の変更履歴でフォーマットが多数変更となっておりますので、その部分の対応方法もご教示いただけないでしょうか。

初めての投稿となります。投稿方法等に誤りがある場合、ご容赦ください。

takaraさん、こんばんは。

サラッと内容読ませて頂いた感じで気になったのは、JVOpenの第1引数のデータ種別IDで何を指定しているかなんですが、繁殖馬マスタ取得する場合に、自分の手元にあるJV-Data仕様書 4.9.0.1にも"BLOD"と"BLDN"が併記されてます。これ、そもそもJRA-VANさんが未だに仕様書に残す必要があると判断している理由が理解出来ませんが、基本、あれ?、仕様変更って何時だったかの記憶が飛んでますが、仕様変更以前から利用しているユーザーにはある程度意味があるのですが、これからの新規ユーザーには逆に無用で紛らわしいだけに感じます。

あっ、話それましたが、これ、"BLOD"指定すると仕様変更前のデータが飛んでくるので、"BLDN"にしているのかが気になりました。

これから開発する方には旧仕様データは不要な筈。単純に"BLDN"で得られるデータのみでデータベースはJV-Dataで提供される全ての繁殖馬マスタデータ取得可能の筈です。

何か間違っていたら、きっと公式から指摘があると思います :sweat_smile:

「いいね!」 2

SameNoEsaさん、ありがとうございます。
そうだったのですね。開発していたのが、数年前で、システム移行でその部分はそのままにしていました。古いデータと新しいデータでデータ種別が変わっているとは認識していませんでした。データ仕様書をよく見ればわかったのかもしれません。
大変助かりました。全体的にデータ仕様書を見直します!

「いいね!」 1