Пример #1
0
  @Override
  public void execute(String name) {
    final BloombergSession bs = new BloombergSession(name);
    bs.start();
    try {
      final Service service = bs.getService("//blp/refdata");

      for (String crncy : currency) {

        final String idq[] = {"1CQ", "2CQ", "3CQ", "4CQ", "1CS", "2CS", "1CY", "2CY"};
        for (final String quarter : idq) {
          final Request request = service.createRequest("ReferenceDataRequest");

          final Element _securities = request.getElement("securities");
          for (String s : securities) {
            final int p = s.indexOf('|');
            if (crncy.equals(s.substring(p + 1))) {
              _securities.appendValue(s.substring(0, p));
            }
          }

          final Element _fields = request.getElement("fields");
          for (String field : fields) {
            _fields.appendValue(field);
          }

          final Element overrides = request.getElement("overrides");

          final Element overridePeriod = overrides.appendElement();
          overridePeriod.setElement("fieldId", "BEST_FPERIOD_OVERRIDE");
          overridePeriod.setElement("value", period = quarter);

          final Element overrideCrncy = overrides.appendElement();
          overrideCrncy.setElement("fieldId", "EQY_FUND_CRNCY");
          overrideCrncy.setElement("value", crncy);

          if (null != override) {
            final Element overrideDataSource = overrides.appendElement();
            overrideDataSource.setElement("fieldId", "BEST_DATA_SOURCE_OVERRIDE");
            overrideDataSource.setElement("value", override);
          }

          bs.sendRequest(request, this);
        }
      }
    } finally {
      bs.stop();
    }
  }