def bulkref(self, tickers, flds, ovrds=None):
ovrds = [] if not ovrds else ovrds<EOL>logger = _get_logger(self.debug)<EOL>if type(tickers) is not list:<EOL><INDENT>tickers = [tickers]<EOL><DEDENT>if type(flds) is not list:<EOL><INDENT>flds = [flds]<EOL><DEDENT>setvals = []<EOL>request = self._create_req('<STR_LIT>', tickers, flds,<EOL>ovrds, setvals)<EOL>logger.info('<STR_LIT>'.format(request))<EOL>self._session.sendRequest(request, identity=self._identity)<EOL>data = self._parse_bulkref(flds)<EOL>data = pd.DataFrame(data)<EOL>data.columns = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT:name>', '<STR_LIT:value>', '<STR_LIT>']<EOL>return data<EOL>
Make a bulk reference data request, get tickers and fields, return long
pandas DataFrame with columns [ticker, field, name, value, position].
Name refers to the element name and position is the position in the
corresponding array returned.

Parameters
----------
tickers: {list, string}
    String or list of strings corresponding to tickers
flds: {list, string}
    String or list of strings corresponding to FLDS
ovrds: list of tuples
    List of tuples where each tuple corresponds to the override
    field and value

Example
-------
>>> import pdblp
>>> con = pdblp.BCon()
>>> con.start()
>>> con.bulkref('BCOM Index', 'INDX_MWEIGHT')

Notes
-----
This returns bulk reference data which has array values. In raw format
the messages passed back contain data of the form

fieldData = {
    INDX_MWEIGHT[] = {
        INDX_MWEIGHT = {
            Member Ticker and Exchange Code = "BON8"
            Percentage Weight = 2.410000
        }
        INDX_MWEIGHT = {
            Member Ticker and Exchange Code = "C N8"
            Percentage Weight = 6.560000
        }
        INDX_MWEIGHT = {
            Member Ticker and Exchange Code = "CLN8"
            Percentage Weight = 7.620000
        }
    }
}