Проблема
Заключается сделка на Московской Бирже. В терминале заполняется поле "Комментарий" (TRADE_REF в SEC_BROKER_DEALS), по которому должен определиться "Брокер" (В сделках покупки/продажи ценных бумаг и РЕПО – таблица "SEC_DEAL" поле "BROKER_ID". В конверсионных сделках – таблица "FX" поле "BROKERID1"). По какой-либо причине поле "Брокер" в сделку не передается.
Решение
Пример заполнения поля, где 76 – тэг брокера:
TRADE_REF = #76:CHASE#
Для реализации функционала необходимо соблюдение требований:
- Используется тег брокера – "76" .
- Код "CHASE" необходимо привязать в справочнике Коды (cущность – контрагенты).
В Администраторе указаны соответствующие символы и разделители.
После приведения всех настроек в соответствие, при загрузке сделки будет корректно определяться брокер.
Проверка настроек
DECLARE vTradeRef VARCHAR2 (128); VFIXSTR VARCHAR2 (128); VRESULT VARCHAR2 (128); VBROKSTR VARCHAR2 (128); vBrokerId number; VSYSTEM_ALIASE number; vBOURSE_ALIASE VARCHAR2(100); BEGIN select trade_ref,BOURSE_ALIASE into vTradeRef,vBOURSE_ALIASE from SEC_BROKER_DEALS where id = :YourIdDealFromSBD; --vTradeRef := '#76:BDOT#50833'; select max (SYSTEM_ALIASE) into VSYSTEM_ALIASE from EXT_SYSTEMS where SYSTEM_ALIASE = vBOURSE_ALIASE; --VSYSTEM_ALIASE := 3; -- Change to your extSystemId from ext_systems --RESMAN.PKG_SEC_BROKER_DEALS.ANALYZETRADEREF (vTradeRef); PKG_COMMON.TRIMSUBSTR (vTRADEREF -- ,F_PARAMETER_STR ('SEC_LOAD_FIX_PROT_BEGIN_END', '#') -- ,F_PARAMETER_STR ('SEC_LOAD_FIX_PROT_BEGIN_END', '#') -- ,VFIXSTR -- ,VRESULT); IF VFIXSTR IS NOT NULL THEN -- брокер - параметр 76 (задача 9816) VBROKSTR := PKG_COMMON.FUNC_GETSTRPARAMETER ( VFIXSTR -- ,'76' || F_PARAMETER_STR ('SEC_LOAD_FIX_HEAD_DELIMITER', ':') -- ,F_PARAMETER_STR ('SEC_LOAD_FIX_PARAM_DELIMITER', ';') -- ,'True' -- ,'True' -- ); IF VBROKSTR IS NOT NULL THEN vBrokerId := F_CODE_RN_FROM_EXT_SYSTEM (VSYSTEM_ALIASE, 2, VBROKSTR); END IF; ELSE zzz_Ex(' VFIXSTR = '||NVL (VFIXSTR,' Empty ')); END IF; IF vBrokerId is null then zzz_ex ('Code not Found. Check your next settings. SEC_LOAD_FIX_PROT_BEGIN_END = '|| F_PARAMETER_STR ('SEC_LOAD_FIX_PROT_BEGIN_END', '#')|| ' SEC_LOAD_FIX_PARAM_DELIMITER = '||F_PARAMETER_STR ('SEC_LOAD_FIX_PARAM_DELIMITER', ';')|| ' VBROKSTR = '||VBROKSTR ); end if; zzz_Ex(' VBROKSTR = '||VBROKSTR || ' vBrokerId = '||NVL (vBrokerId,'-1')); END; /
Похожие статьи