2016-06-27 2 views
0

현재 API # .NET을 통해 Bloomberg에서 데이터를 추출하기 위해 C# 응용 프로그램에서 작업 중입니다.Bloomberg 데스크톱 API 익명 필드 값

불행히도 ISIN 필드가 Bloomberg에 입력되지 않은 경우 솔루션을 찾을 수 없습니다.

내가 설명 할게, 나는 두 개의 isin이 있고 나는이 두 isin 각각에 대한 정보 필드를 복구해야한다. 다음

필드는 다음 MAX_REDEMP_FEE

값이 상기 제 ISIN 대한 블룸버그 설정이므로,이 필드는 제 ISIN 값이지만 제되지있다. 내가 블룸버그의 엑셀 확장자를 사용하고 내가 다음과 같은 결과를 가지고이 ISINs에 대한 동일한 정보를 검색 할 경우

enter image description here

enter image description here

나는 C#을 사용 할 것입니다 무엇을 그 즉, 정보가 자동으로 누락 된 경우 "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 ... 메서드를 사용합니다.

관련 문제