2016-06-27 5 views
0

現在、API V3 .NET経由でBloombergからデータを抽出するために、C#アプリケーションで作業中です。BloombergデスクトップAPI未指定項目値

残念ながら、BloombergにISINのフィールドが入力されていない場合、解決策を見つけることができません。

私は2つのisinを持っていると私はこれらのisinのそれぞれの情報フィールドを回復する必要があります。次のように

フィールドである:値が第二ISINためブルームバーグに設定されていないためMAX_REDEMP_FEE

このフィールドは、最初のISINはなく、第二の値を有します。

enter image description here

私はブルームバーグのExcelの拡張子を使用して、私はこれらのISINsに同じ情報を取得する場合、私はC#を使用してどうなるのかだ次のような結果

enter image description here

を持っていますつまり、情報が自動的に欠けている場合は、値 "NA"を入力します。私は以下のコードを使用し、抽出フィールドが見つからない場合、値を見つけることができないためプログラムが停止します。

   switch (msg.MessageType.ToString()) 
       { 
        case "ReferenceDataResponse": 

         Element securityDataArray = msg.GetElement("securityData"); 

         for (int index = 0; index < securityDataArray.NumValues; index++) 
         { 
          Element securityData = securityDataArray.GetValueAsElement(index); 
          Element fieldData = securityData.GetElement("fieldData"); 

          double maxRedempFee = fieldData.GetElementAsFloat64("MAX_REDEMP_FEE"); 

          Console.WriteLine(maxRedempFee); 
         } 

maxRedempFeeにデフォルト値を設定するにはどうすればよいですか?

よろしくお願いいたします。

+0

'if(securityDataArray.NumValues == 0)/ *手数料が利用できません* /'? – assylias

答えて

0

ReferenceDataRequestでは、フィールドに値がない場合、フィールドは返されません。 この場合、.HasElement( "MAX_REDEMP_FEE"、true)を使用できます。そのフィールドが応答内に存在するかどうかを判断する。 falseを返した場合は、選択したNA/NA値を割り当てることができます。 trueを返す場合は、通常どおり.GetElementAs ...メソッドを使用します。

関連する問題