• 締切済み

SAP BAPIの戻り値参照時のエラー

VB.netにてSAP BAPIの戻り値を参照する際にエラーとなり困っています。 --- Connection処理 --- --- BAPIコール --- objReturnが結果として戻ってくる --- BAPIコール(終了) --- dim objStr as Object for i = 1 as integer to objReturn.Rowcount  for j = 1 as integer to 10 '項目数   objStr = objReturn.Value(i,j)  next j next i --- Connection切断 --- 上記記載の場合、特に問題なくデータ取得できるのですが、 objReturnのデータ量が大きいため以下の様にして高速化を計りました。 --- Connection処理 --- --- BAPIコール --- objReturnが結果として戻ってくる --- BAPIコール(終了) --- dim aryReturn as Object dim objStr as Object aryReturn = objReturn.Data for i = 1 as integer to objReturn.Rowcount  for j = 1 as integer to 10 '項目数   objStr = aryReturn(i,j)  next j next i --- Connection切断 --- この時、5万件程度のデータであれば取得できたのですが、 10万件以上のデータを取得しようとした際に エラーとなってしまいました。 (データ取得できなかった模様・・・) Dataメソッドでデータを取得する場合、データ量などによる制限があるのでしょうか? また、objReturnの内容参照をする別の方法がありますでしょうか? (Valueでは、件数が大きくなると格段に処理速度が落ちているようです) 抽象的な質問で申し訳ありませんが、ご教授の程よろしくお願い致します。

みんなの回答

  • avanzato
  • ベストアンサー率54% (52/95)
回答No.1

こんにちは。 ぱっと見た目ですがinteger型は正数32,767までしか入らずそれ以上はオーバーフローします。 Long型ならば100,000,000でも入ります。

masajun884
質問者

補足

早速の回答ありがとうございます。 ただ、VB6のIntegerは確かに32,767までだったのですが、 VB.netのIntegerは2,147,483,647まで拡張されているようです。 (自分も今日知った次第ですが・・・><) 5万でも取得できていますので、そこが原因ではないと考えております。 また、1件目からエラーが発生しています。 objStr = aryReturn(i,j)  ←の地点 とはいえ、こちら知識不足ですのでこれからもご教示お願い致します。

関連するQ&A