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 := PKG_CODES.F_CODE_RN_FROM_EXT_SYSTEM (VSYSTEM_ALIASE, 24, 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;
/
|