public void run(PerSecurityWSDL.PerSecurityWS ps) { // Setting request header information GetDataHeaders getDataHeaders = new GetDataHeaders(); getDataHeaders.secmaster = true; getDataHeaders.secmasterSpecified = true; getDataHeaders.closingvalues = true; getDataHeaders.closingvaluesSpecified = true; getDataHeaders.derived = true; getDataHeaders.derivedSpecified = true; // Setting overrides Override[] ovride = new Override[4]; ovride[0] = new Override(); ovride[0].field = "VWAP_START_DT"; DateTime start = DateTime.Today; // Specifying VWAP_START_DT in yyyymmdd format if (start.Month < 10) { ovride[0].value = start.Year.ToString() + "0" + start.Month.ToString() + start.Day.ToString(); } else { ovride[0].value = start.Year.ToString() + start.Month.ToString() + start.Day.ToString(); } ovride[1] = new Override(); ovride[1].field = "VWAP_END_DT"; DateTime end = DateTime.Today; // Specifying VWAP_END_DT in yyyymmdd format if (start.Month < 10) { ovride[1].value = end.Year.ToString() + "0" + end.Month.ToString() + end.Day.ToString(); } else { ovride[1].value = end.Year.ToString() + end.Month.ToString() + end.Day.ToString(); } ovride[2] = new Override(); ovride[2].field = "VWAP_START_TIME"; ovride[2].value = "10:00"; ovride[3] = new Override(); ovride[3].field = "VWAP_END_TIME"; ovride[3].value = "11:00"; // Setting the instruments for request Instrument bbUniqueId = new Instrument(); bbUniqueId.id = "EQ0086119600001000"; bbUniqueId.yellowkeySpecified = false; bbUniqueId.type = InstrumentType.BB_UNIQUE; bbUniqueId.typeSpecified = true; bbUniqueId.overrides = ovride; Instrument ticker = new Instrument(); ticker.id = "IBM US"; ticker.yellowkeySpecified = true; ticker.yellowkey = MarketSector.Equity; ticker.typeSpecified = false; ticker.type = InstrumentType.TICKER; ticker.overrides = ovride; Instruments instrs = new Instruments(); instrs.instrument = new Instrument[] { ticker, bbUniqueId }; // Setting the getdata request parameter SubmitGetDataRequest sbmtGtDtReq = new SubmitGetDataRequest(); sbmtGtDtReq.headers = getDataHeaders; sbmtGtDtReq.fields = new string[] { "EQY_WEIGHTED_AVG_PX" }; sbmtGtDtReq.instruments = instrs; try { Console.WriteLine("Submit getdata Request"); submitGetDataRequestRequest sbmtGtDtReqReq = new submitGetDataRequestRequest(sbmtGtDtReq); submitGetDataRequestResponse sbmtGtDtReqResp = ps.submitGetDataRequest(sbmtGtDtReqReq); SubmitGetDataResponse sbmtGtDtResp = sbmtGtDtReqResp.submitGetDataResponse; System.Console.WriteLine("status " + sbmtGtDtResp.statusCode.description); System.Console.WriteLine("Submit getdata request - response ID = " + sbmtGtDtResp.responseId); // retrieve getdata request. The response ID sent for the request is the response ID // received from SubmitGetDataRequest() RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest(); rtrvGtDrReq.responseId = sbmtGtDtResp.responseId; retrieveGetDataResponseRequest rtrvGtDrRespReq = new retrieveGetDataResponseRequest(rtrvGtDrReq); retrieveGetDataResponseResponse rtrvGtDrRespResp; RetrieveGetDataResponse rtrvGtDrResp; Console.WriteLine("Retrieve getdata request"); // Keep polling until data becomes available do { System.Threading.Thread.Sleep(PerSecurity.PollInterval); rtrvGtDrRespResp = ps.retrieveGetDataResponse(rtrvGtDrRespReq); rtrvGtDrResp = rtrvGtDrRespResp.retrieveGetDataResponse; }while (rtrvGtDrResp.statusCode.code == PerSecurity.DataNotAvailable); if (rtrvGtDrResp.statusCode.code == PerSecurity.Success) { // Displaying the RetrieveGetDataResponse for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++) { Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id + " " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey); for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++) { if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true) { // In case this is a bulk field request for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].bulkarray.Length; k++) { Console.WriteLine("-------------------------"); for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j]. bulkarray[k].data.Length; l++) { Console.WriteLine(rtrvGtDrResp. instrumentDatas[i].data[j].bulkarray[k].data[l].value); } } } else { Console.WriteLine(" " + rtrvGtDrResp.fields[j] + " : " + rtrvGtDrResp. instrumentDatas[i].data[j].value); } } } } else if (rtrvGtDrResp.statusCode.code == PerSecurity.RequestError) { Console.WriteLine("Error in the submitted request"); } } catch (Exception e) { Console.WriteLine(e.Message + " " + e.StackTrace); } }
public void run(PerSecurityWSDL.PerSecurityWS ps) { // Setting request header information GetDataHeaders getDataHeaders = new GetDataHeaders(); getDataHeaders.secmaster = true; getDataHeaders.secmasterSpecified = true; getDataHeaders.closingvalues = true; getDataHeaders.closingvaluesSpecified = true; getDataHeaders.derived = true; getDataHeaders.derivedSpecified = true; // Setting Instrument information Instrument bbUniqueId1 = new Instrument(); bbUniqueId1.id = "EQ0010174300001000"; bbUniqueId1.type = InstrumentType.BB_UNIQUE; bbUniqueId1.typeSpecified = true; Instrument ticker = new Instrument(); ticker.id = "IBM"; ticker.yellowkey = MarketSector.Equity; ticker.yellowkeySpecified = true; ticker.type = InstrumentType.TICKER; ticker.typeSpecified = true; Instrument bbUniqueId2 = new Instrument(); bbUniqueId2.id = "US0231351067"; bbUniqueId2.type = InstrumentType.ISIN; bbUniqueId2.typeSpecified = true; // group all instrument into a single instance of type Instruments. Instruments instrs = new Instruments(); instrs.instrument = new Instrument[] { bbUniqueId1, ticker, bbUniqueId2 }; System.Collections.Generic.List <Instrument> instrsList = new System.Collections.Generic.List <Instrument>(); // Setting the getdata request parameter SubmitGetDataRequest sbmtGtDtReq = new SubmitGetDataRequest(); sbmtGtDtReq.headers = getDataHeaders; sbmtGtDtReq.fields = new string[] { "ID_BB_UNIQUE", "PX_LAST" }; // sbmtGtDtReq.instruments = new Instruments(); sbmtGtDtReq.instruments = instrs; try { Console.WriteLine("Submit getdata Request"); submitGetDataRequestRequest sbmtGtDtReqReq = new submitGetDataRequestRequest(sbmtGtDtReq); submitGetDataRequestResponse sbmtGtDtReqResp = ps.submitGetDataRequest(sbmtGtDtReqReq); SubmitGetDataResponse sbmtGtDtResp = sbmtGtDtReqResp.submitGetDataResponse; System.Console.WriteLine("status " + sbmtGtDtResp.statusCode.description); System.Console.WriteLine("Submit getdata request - response ID = " + sbmtGtDtResp.responseId); // retrieve getdata request. The response ID sent for the request is the response ID // received from SubmitGetDataRequest() RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest(); rtrvGtDrReq.responseId = sbmtGtDtResp.responseId; retrieveGetDataResponseRequest rtrvGtDrRespReq = new retrieveGetDataResponseRequest(rtrvGtDrReq); retrieveGetDataResponseResponse rtrvGtDrRespResp; RetrieveGetDataResponse rtrvGtDrResp; Console.WriteLine("Retrieve getdata request"); // Keep polling until data becomes available do { System.Threading.Thread.Sleep(PerSecurity.PollInterval); rtrvGtDrRespResp = ps.retrieveGetDataResponse(rtrvGtDrRespReq); rtrvGtDrResp = rtrvGtDrRespResp.retrieveGetDataResponse; }while (rtrvGtDrResp.statusCode.code == PerSecurity.DataNotAvailable); if (rtrvGtDrResp.statusCode.code == PerSecurity.Success) { // Displaying the RetrieveGetDataResponse for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++) { Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id + " " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey); for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++) { if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true) { // In case this is a bulk field request for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].bulkarray.Length; k++) { Console.WriteLine("-------------------------"); for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j]. bulkarray[k].data.Length; l++) { Console.WriteLine(rtrvGtDrResp. instrumentDatas[i].data[j].bulkarray[k].data[l].value); } } } else { Console.WriteLine(" " + rtrvGtDrResp.fields[j] + " : " + rtrvGtDrResp. instrumentDatas[i].data[j].value); } } } } else if (rtrvGtDrResp.statusCode.code == PerSecurity.RequestError) { Console.WriteLine("Error in the submitted request"); } } catch (Exception e) { Console.WriteLine(e.Message + " " + e.StackTrace); } }
public void run(PerSecurityWSDL.PerSecurityWS ps) { try { // Setting headers for the request GetDataHeaders getDataHeaders = new GetDataHeaders(); getDataHeaders.closingvaluesSpecified = true; getDataHeaders.closingvalues = true; getDataHeaders.secmasterSpecified = true; getDataHeaders.secmaster = true; getDataHeaders.derivedSpecified = true; getDataHeaders.derived = true; // Setting list of instruments for data request Instrument ticker = new Instrument(); ticker = new Instrument(); ticker.id = "IBM US"; ticker.type = InstrumentType.TICKER; ticker.yellowkey = MarketSector.Equity; Instrument[] instr = new Instrument[] { ticker }; string[] field = new string[] { "ID_BB_UNIQUE", "TICKER", "PX_LAST", "PX_ASK", "PX_BID", "VWAP_DT" }; BvalFieldSet fieldset = new BvalFieldSet(); fieldset.fieldmacro = BvalFieldMacro.BVAL_BOND; Instruments instrmnts = new Instruments(); instrmnts.instrument = instr; // Submit getdata request SubmitGetDataRequest sbmtGetDtReq = new SubmitGetDataRequest(); sbmtGetDtReq.headers = getDataHeaders; sbmtGetDtReq.fields = field; sbmtGetDtReq.fieldsets = new BvalFieldSet[] { fieldset }; sbmtGetDtReq.instruments = instrmnts; Console.WriteLine("Sending submit getdata request"); submitGetDataRequestRequest sbmtGetDtReqReq = new submitGetDataRequestRequest(sbmtGetDtReq); submitGetDataRequestResponse sbmtGetDtReqResp = ps.submitGetDataRequest(sbmtGetDtReqReq); SubmitGetDataResponse sbmtGetDtResp = sbmtGetDtReqResp.submitGetDataResponse; Console.WriteLine("Submit getdata request status: " + sbmtGetDtResp.statusCode.description + " responseId: " + sbmtGetDtResp.responseId); // Submit retrieve data RetrieveGetDataRequest rtvGetDtReq = new RetrieveGetDataRequest(); rtvGetDtReq.responseId = sbmtGetDtResp.responseId; retrieveGetDataResponseRequest rtvGetDtRespReq = new retrieveGetDataResponseRequest(rtvGetDtReq); retrieveGetDataResponseResponse rtvGetDtRespResp; RetrieveGetDataResponse rtvGetDtResp; Console.WriteLine("Sending retrieve getdata request"); // Keep polling for response till the data is available do { System.Threading.Thread.Sleep(PerSecurity.PollInterval); rtvGetDtRespResp = ps.retrieveGetDataResponse(rtvGetDtRespReq); rtvGetDtResp = rtvGetDtRespResp.retrieveGetDataResponse; } while (rtvGetDtResp.statusCode.code == PerSecurity.DataNotAvailable); // Display data if (rtvGetDtResp.statusCode.code == PerSecurity.Success) { Console.WriteLine("Retrieve getdata request successful. Response ID:" + rtvGetDtResp.responseId); for (int i = 0; i < rtvGetDtResp.instrumentDatas.Length; i++) { Console.WriteLine("Data for :" + rtvGetDtResp.instrumentDatas[i].instrument.id + " " + rtvGetDtResp.instrumentDatas[i].instrument.yellowkey); for (int j = 0; j < rtvGetDtResp.instrumentDatas[i].data.Length; j++) { Console.WriteLine(" " + rtvGetDtResp.fields[j] + ": " + rtvGetDtResp.instrumentDatas[i].data[j].value); } } } else if (rtvGetDtResp.statusCode.code == PerSecurity.RequestError) { Console.WriteLine("Error in submitted request"); } } catch (Exception e) { Console.WriteLine(e.Message); } }
public void run(PerSecurityWSDL.PerSecurityWS ps) { try { // Setting headers GetDataHeaders getDataHeaders = new GetDataHeaders(); getDataHeaders.programflagSpecified = true; getDataHeaders.programflag = ProgramFlag.daily; getDataHeaders.rundate = DateTime.Today.ToString("yyyyMMdd"); getDataHeaders.time = "2200"; getDataHeaders.specialchar = SpecialChar.fraction; getDataHeaders.dateformat = DateFormat.ddmmyyyy; getDataHeaders.dateformatSpecified = true; getDataHeaders.secmaster = true; getDataHeaders.derived = true; // Setting Instrument information Instrument bbUniqueId = new Instrument(); bbUniqueId.id = "EQ0086119600001000"; bbUniqueId.type = InstrumentType.BB_UNIQUE; bbUniqueId.typeSpecified = true; Instrument ticker = new Instrument(); ticker.id = "IBM"; ticker.yellowkey = MarketSector.Equity; ticker.yellowkeySpecified = true; ticker.type = InstrumentType.TICKER; ticker.typeSpecified = true; Instruments instrs1 = new Instruments(); instrs1.instrument = new Instrument[] { ticker }; Instruments instrs2 = new Instruments(); instrs2.instrument = new Instrument[] { bbUniqueId }; SubmitGetDataRequest sbmtGtDtReq1 = new SubmitGetDataRequest(); sbmtGtDtReq1.headers = getDataHeaders; sbmtGtDtReq1.fields = new string[] { "PX_LAST" }; sbmtGtDtReq1.instruments = instrs1; SubmitGetDataRequest sbmtGtDtReq2 = new SubmitGetDataRequest(); sbmtGtDtReq2.headers = getDataHeaders; sbmtGtDtReq2.fields = new string[] { "PX_LAST" }; sbmtGtDtReq2.instruments = instrs2; submitGetDataRequestRequest sbmtGtDtReqReq1 = new submitGetDataRequestRequest(sbmtGtDtReq1); submitGetDataRequestRequest sbmtGtDtReqReq2 = new submitGetDataRequestRequest(sbmtGtDtReq2); submitGetDataRequestResponse sbmtGtDtReqResp1 = new submitGetDataRequestResponse(); submitGetDataRequestResponse sbmtGtDtReqResp2 = new submitGetDataRequestResponse(); sbmtGtDtReqResp1 = ps.submitGetDataRequest(sbmtGtDtReqReq1); sbmtGtDtReqResp2 = ps.submitGetDataRequest(sbmtGtDtReqReq1); SubmitGetDataResponse sbmtGtDtResp1 = sbmtGtDtReqResp1.submitGetDataResponse; SubmitGetDataResponse sbmtGtDtResp2 = sbmtGtDtReqResp2.submitGetDataResponse; Console.WriteLine("Scheduled Req 1 GetData --> " + sbmtGtDtResp1.responseId); Console.WriteLine("Scheduled Req 2 GetData --> " + sbmtGtDtResp2.responseId); System.Threading.Thread.Sleep(30000); string[] responseIds = { sbmtGtDtResp1.responseId, sbmtGtDtResp2.responseId, "dummy_id.out" }; CancelHeaders cancelHeaders = new CancelHeaders(); cancelHeaders.programflag = ProgramFlag.monthly; SubmitCancelRequest submitCancelReq = new SubmitCancelRequest(); submitCancelReq.headers = cancelHeaders; submitCancelReq.responseId = responseIds; submitCancelRequestRequest submitCancelReqReq = new submitCancelRequestRequest(submitCancelReq); submitCancelRequestResponse submitCancelReqResp = new submitCancelRequestResponse(); SubmitCancelResponse submitCancelResp; Console.WriteLine("Sending submit cancel request"); do { System.Threading.Thread.Sleep(PerSecurity.PollInterval); submitCancelReqResp = ps.submitCancelRequest(submitCancelReqReq); submitCancelResp = submitCancelReqResp.submitCancelResponse; Console.WriteLine("Submit cancel request status: " + submitCancelResp.statusCode.description + " responseId: " + submitCancelResp.responseId); } while (submitCancelResp.statusCode.code == PerSecurity.DataNotAvailable); RetrieveCancelRequest retrieveCancelReq = new RetrieveCancelRequest(); retrieveCancelReq.responseId = submitCancelResp.responseId; retrieveCancelResponseRequest retrieveCancelRespReq = new retrieveCancelResponseRequest(retrieveCancelReq); retrieveCancelResponseResponse retrieveCancelRespResp; RetrieveCancelResponse retrieveCancelResp; Console.WriteLine("Sending retrieve cancel request"); // Keep polling for response till the data is available do { System.Threading.Thread.Sleep(PerSecurity.PollInterval); retrieveCancelRespResp = ps.retrieveCancelResponse(retrieveCancelRespReq); retrieveCancelResp = retrieveCancelRespResp.retrieveCancelResponse; } while (retrieveCancelResp.statusCode.code == PerSecurity.DataNotAvailable); // Display data if (retrieveCancelResp.statusCode.code == PerSecurity.Success) { Console.WriteLine("Retrieve cancel request successful."); CancelResponseStatus[] ls = retrieveCancelResp.cancelResponseStatus; for (int i = 0; i < ls.Length; i++) { Console.WriteLine("The cancel status for response id :" + ls[i].responseId + " is " + ls[i].cancelStatus.ToString()); } } else if (retrieveCancelResp.statusCode.code == PerSecurity.RequestError) { Console.WriteLine("Error in submitted request"); } } catch (Exception e) { Console.WriteLine(e.Message); } }
public void run(PerSecurityWSDL.PerSecurityWS ps) { try { // Setting request header information GetDataHeaders getDataHeaders = new GetDataHeaders(); getDataHeaders.secmaster = true; getDataHeaders.secmasterSpecified = true; getDataHeaders.derived = true; getDataHeaders.derivedSpecified = true; getDataHeaders.bvaltierSpecified = true; getDataHeaders.bvaltier = 1; // The bval request will run at a scheduled time but the PortfolioValidation Request will get a response after the req file is copied getDataHeaders.bvalsnapshot = BvalSnapshot.ny3pm; getDataHeaders.bvalsnapshotSpecified = true; // Setting Instrument information Instrument instr = new Instrument(); instr.id = "BBG0009P1SC8"; instr.type = InstrumentType.BB_GLOBAL; instr.typeSpecified = true; // group all instrument into a single instance of type Instruments. Instruments instrs = new Instruments(); instrs.instrument = new Instrument[] { instr }; // Setting the getdata request parameter SubmitGetDataRequest sbmtGtDtReq = new SubmitGetDataRequest(); sbmtGtDtReq.headers = getDataHeaders; sbmtGtDtReq.fields = new string[] { "BVAL_BEEM", "BVAL_SNAPSHOT" }; // sbmtGtDtReq.instruments = new Instruments(); sbmtGtDtReq.instruments = instrs; Console.WriteLine("Submit BvalGetData Request"); submitGetDataRequestRequest sbmtGtDtReqReq = new submitGetDataRequestRequest(sbmtGtDtReq); submitGetDataRequestResponse sbmtGtDtReqResp = ps.submitGetDataRequest(sbmtGtDtReqReq); SubmitGetDataResponse sbmtGtDtResp = sbmtGtDtReqResp.submitGetDataResponse; System.Console.WriteLine("status " + sbmtGtDtResp.statusCode.description); System.Console.WriteLine("Submit BvalGetData request - response ID = " + sbmtGtDtResp.responseId); GetPortfolioValidationRequest req = new GetPortfolioValidationRequest(); req.responseId = sbmtGtDtResp.responseId; Console.WriteLine("Sending submit portfolio validation request"); getPortfolioValidationRequest1 req1 = new getPortfolioValidationRequest1(req); getPortfolioValidationResponse1 resp1; GetPortfolioValidationResponse resp; // Keep polling for response till the data is available do { Console.WriteLine("Polling for PortfolioValidation request"); System.Threading.Thread.Sleep(PerSecurity.PollInterval); resp1 = ps.getPortfolioValidation(req1); resp = resp1.getPortfolioValidationResponse; } while (resp.statusCode.code == PerSecurity.DataNotAvailable); // Display data if (resp.statusCode.code == PerSecurity.Success) { Console.WriteLine("Retrieve get quotes request successful. Response ID:" + resp.responseId); for (int i = 0; i < resp.instrumentDatas.Length; i++) { Console.WriteLine("Data for :" + resp.instrumentDatas[i].instrument.id + " " + resp.instrumentDatas[i].instrument.yellowkey); Console.WriteLine("validation code = " + resp.instrumentDatas[i].code.ToString()); } } else if (resp.statusCode.code == PerSecurity.RequestError) { Console.WriteLine("Error in submitted PortfolioValidation request"); } } catch (Exception e) { Console.WriteLine(e.Message + " " + e.StackTrace); } }