How to debug and find the exact constraint violation error

{14:22:36:ErrorCode 122712 - 1 with ErrorMessage as ORA-00001: unique constraint (OPS$ CMS.)} {PK_TB_ML_EXER_UPLOAD) violated appeared [SSO16063259009], pk_xop_subsales.pr_process_exer [CMSCOST_USER]}

{Pr_process_exer (PROCEDURE)
p_voucher_num tb_xop_order_manager_t.voucher_num%TYPE,
p_status_type tb_xop_order_manager_t.status_type%type,
p_dest tb_xop_order_manager_t.dest%type,
p_reference_key tb_xop_order_manager_t.reference_key%type,
p_seq_num tb_xop_order_manager_t.seq_num%type,
p_return_code tb_xop_order_manager_t.return_code%type,
p_reason_desc tb_xop_order_manager_t.reason_desc%type,
p_activity_qty tb_xop_order_manager_t.activity_qty%type,
p_leaves_qty tb_xop_order_manager_t.leaves_qty%type,
p_exec_price tb_xop_order_manager_t.exec_price%type,
p_current_status tb_xop_order_manager_t.current_status%type,
p_err_cur ON ref_cursor)
IS
CURSOR get_order_dtls (v_voucher_num tb_xop_order_manager_t.voucher_num%type)
IS
SELECT *.
OF tb_xop_order_manager_t
WHERE voucher_num = v_voucher_num;

CURSOR get_mail_cd (v_opt_num OPTIONEE.opt_num%TYPE) IS
SELECT mail_cd, sp_mail_cd
OF XOP_OPTIONEE
WHERE opt_num = v_opt_num;

cursor get_opt_dtls (v_opt_num OPTIONEE.opt_num%TYPE) IS
Select
SUBSTR (Trim (O.name_first) |) ' ' || Trim (O.name_mi) | ' ' ||
Trim (O.name_last), 1: 35) p_name,.
SUBSTR (O.address1, 1, 35) opt_addr1,.
SUBSTR (O.address2, 1, 35) opt_addr2,.
SUBSTR (O.address3, 1, 35) opt_addr3,.
SUBSTR (O.address4, 1, 35) opt_addr4,.
SUBSTR (O.address5, 1, 35) opt_addr5,.
SUBSTR (O.address6, 1, 35) opt_addr6,.
SUBSTR (Trim (O.City) |) ' ' || Trim (O.State) | ' ' ||
Trim (O.zip) | ' ' || Trim (O.Country), 1: 35) city_state_zip_country,.
Trim town (O.City),
Trim (O.State) State,
Trim (O.zip) zip,
Trim (O.Country) countries
of the option o holder
where o.opt_num = v_opt_num;
-CQ: PCTUP00210726 - added wire instructions audit for info thread deleted.
CURSOR (c_wire_instruction)
in_wire_seq_no TB_XOP_WIRE_INSTRUCTIONS.wire_seq_no%TYPE) IS
SELECT ml_brok_acct_num,
SSN,
plan_num,
instr_type,
aba_routing_num,
swift_routing_code,
bank_name,
bank_acct_num,
name_on_account,
bank_addr_1,
bank_addr_2,
bank_addr_3,
City,
State,
countries,
zip,
bank_ident_num,
addtl_info
OF TB_XOP_WIRE_INSTRUCTIONS
WHERE wire_seq_no = in_wire_seq_no
UNION
SELECT ml_brok_acct_num,
SSN,
plan_num,
instr_type,
aba_routing_num,
swift_routing_code,
bank_name,
bank_acct_num,
name_on_account,
bank_addr_1,
bank_addr_2,
bank_addr_3,
City,
State,
countries,
zip,
bank_ident_num,
addtl_info
OF TB_XOP_WIRE_INSTRUCTIONS_AUDIT
WHERE wire_seq_no = in_wire_seq_no;

CURSOR c_order_qty IS
SELECT order_qty
OF tb_xop_order_manager
WHERE voucher_num = p_voucher_num;
v_order_qty tb_xop_order_manager.order_qty%TYPE;

v_wire_instruction c_wire_instruction % ROWTYPE;
v_order_dtls get_order_dtls % rowtype;
v_opt_dtls get_opt_dtls % rowtype;
v_settle_dt tb_ml_exer_upload.settle_dt%type;
v_cusip_num corp.cusip_num%type;
number of v_err_cd (12): = 0;
v_err_msg varchar2 (4000);
v_compy_nme tb_fc_Compy.compy_nme%type;
v_ml_sec_num tb_fc_compy.ml_sec_num%type;
v_mail_cd xop_optionee.mail_cd%type;
v_count1 PLS_INTEGER: = 0;
v_sum_activity_qty tb_xop_order_manager_t.activity_qty%TYPE;
v_transact_no PLS_INTEGER;

v_ivr_plan_num tb_fc_compy.ivr_plan_num%TYPE;

wait_for_more EXCEPTION;
exceeds_order_qty EXCEPTION;
-Added CQ # PCTUP00481233
number of v_sub_totfee;
number of v_sub_fixedfee1;
number of v_sub_fixedfee2;
number of v_sub_fixedfee3;
number of v_sub_secfee;
number of v_sub_feenum;
-Added CQ # PCTUP00481233
v_fixedfee1 tb_xop_order_manager_t.fixed_fee1%TYPE; -SPIF # 43161 - variable to contain the fixed mensuels1

BEGIN

OPEN c_order_qty.
SEEK c_order_qty INTO v_order_qty;
CLOSE C_order_qty;
DBMS.output.put_line ('completed1');
IF v_order_qty <>p_activity_qty THEN
DBMS.output.put_line ('completed2');
IF p_status_type = "EO" AND v_order_qty < p_activity_qty THEN
RAISE exceeds_order_qty;
DBMS.output.put_line ('completed3');
ELSIF p_status_type = 'EO' AND v_order_qty > p_activity_qty THEN
-Partial enforcement
INSERT INTO tb_xop_hold_multi_orders
(voucher_num
reference_key
seq_num
return_code
reason_desc
status_type
activity_qty
leaves_qty
exec_price
current_status
waiting
activ_dt)
VALUES
(p_voucher_num
p_reference_key
p_seq_num
p_return_code
p_reason_desc
p_status_type
p_activity_qty
p_leaves_qty
p_exec_price
p_current_status
, 'Y'
SYSTIMESTAMP);
DBMS.output.put_line ('completed4');
ON THE OTHER
IF p_status_type = "BE" THEN
SELECT COUNT (1) IN v_count1
OF tb_xop_hold_multi_orders
WHERE voucher_num = p_voucher_num;
DBMS.output.put_line ('completed5');
IF v_count1 > 0 THEN
INSERT INTO tb_xop_hold_multi_orders
(voucher_num
reference_key
seq_num
return_code
reason_desc
status_type
activity_qty
leaves_qty
exec_price
current_status
waiting
activ_dt)
VALUES
(p_voucher_num
p_reference_key
p_seq_num
p_return_code
p_reason_desc
p_status_type
, (-1) * p_activity_qty
p_leaves_qty
p_exec_price
p_current_status
, 'Y'
SYSTIMESTAMP);
UPDATE tb_xop_hold_multi_orders
QUEUE = 'Y '.
WHERE voucher_num = p_voucher_num;
DBMS.output.put_line ('completed6');
END IF;
END IF;
END IF;
DBMS.output.put_line ('completed7');
SELECT SUM (NVL(activity_qty,0)) IN the v_sum_activity_qty
OF tb_xop_hold_multi_orders
When pending = 'Y '.
AND voucher_num = p_voucher_num;

IF v_sum_activity_qty > 0 THEN
IF v_sum_activity_qty <>v_order_qty THEN
RAISE wait_for_more;
ON THE OTHER
-final order in the case of partial performance; complete the process
UPDATE tb_xop_hold_multi_orders
PUT on hold = ' don't
process_dt = SYSDATE
WHERE voucher_num = p_voucher_num;
END IF;
END IF;
END IF;

UPDATE tb_xop_order_manager_t
SET activ_dt = TO_CHAR (SYSDATE, "YYYY-MM-DD HH24:MI:SS") | '. 000'
dest = p_dest
reference_key = p_reference_key,
seq_num = p_seq_num
return_code = p_return_code
reason_desc = p_reason_desc,
status_type = p_status_type
, activity_qty = v_order_qty - p_activity_qty
, leaves_qty = 0 - p_leaves_qty
exec_price = p_exec_price,
WHERE voucher_num = p_voucher_num;
DBMS.output.put_line ('completed8');
/*
* SPIF # 43161 - update of the current situation to the PO moved to the end, even in works of the PROD.
*/

IF (p_status_type = "EO") THEN

BEGIN
Select cusip_num
in v_cusip_num
Corp;
EXCEPTION
WHEN NO_DATA_FOUND THEN
SELECT cusip_num
IN v_cusip_num
OF tb_xop_espp_compy
WHERE compy_acronym = replace (replace(user,'CMS'), '_USER');
WHILE OTHERS THEN
NULL;
END;

Select compy_nme, ml_sec_num, ivr_plan_num
in v_compy_nme, v_ml_sec_num, v_ivr_plan_num
of tb_fc_compy
where compy_acronym = replace (replace(user,'CMS'), '_USER')
UNION ALL
Select compy_nme, je_ml_security_number, ivr_plan_num
of tb_xop_espp_compy
where compy_acronym = replace (replace(user,'CMS'), '_USER');
-where ivr_plan_num = replace (substr(p_voucher_num,1,7), 'NORTH', 'XOP');

Open get_order_dtls (p_voucher_num);
SEEK get_order_dtls INTO v_order_dtls;

v_settle_dt: = fn_xop_bankopen_bizday (TRUNC (v_order_dtls.exer_date + 1));
v_settle_dt: = fn_xop_bankopen_bizday (TRUNC (v_settle_dt + 1));
v_settle_dt: = fn_xop_bankopen_bizday (TRUNC (v_settle_dt + 1));

FOR c_mail_cd IN get_mail_cd (v_order_dtls.opt_num)
LOOP
v_mail_cd: = c_mail_cd.mail_cd;
-We need get sp_mail_cd and overlay with the sp_mail_cd in order_manager_t?
END LOOP;

OPEN get_opt_dtls (v_order_dtls.opt_num);
SEEK get_opt_dtls INTO v_opt_dtls;
CLOSE Get_opt_dtls;

v_fixedfee1: = nvl (v_order_dtls.fixed_fee1, 0);
/*
* SPIF # 43161 - at least one transaction per day fees
*/
v_fixedfee1: = pk_xop_enh_exerupdate.chrg_tranxfixed_fee (v_fixedfee1,
v_order_dtls. Symbol,
v_order_dtls.corp_acronym,
v_order_dtls.opt_num);
-Insert in tb_ml_exer_upload
-Added CQ # PCTUP00481233
Pk_Xop_Transactmodel.GET_FEE (v_order_dtls. GROUP_ID, v_order_dtls. SVC_ID, 'SQ', v_order_dtls.opts_exer,
round (v_order_dtls.exec_price, 4), v_sub_totfee, v_sub_fixedfee2, v_sub_fixedfee1,.
v_sub_fixedfee3, v_sub_secfee, v_sub_feenum, LPAD (v_order_dtls. SSN, 9, 0));
v_order_dtls.sec_fee: = v_sub_secfee;
UPDATE tb_xop_order_manager_t
SET sec_fee = v_sub_secfee
WHERE voucher_num = p_voucher_num;

DBMS.output.put_line ('completed8');
-End CQ # PCTUP00481233
INSERT INTO tb_ml_exer_upload
(exer_num, exer_seq,
exer_dt, written_flag, backout_flag, output_line,
je_flag, opts_exer,
tot_tax, shrs_sold, comm_value, tot_fee,
mkt_prc, exer_type, soc_sec,
name_first, name_mi,
name_last, check_addr_1, check_addr_2, check_addr_3,
check_addr_4, check_addr_5, city, state, zip, country,.
city_state_zip_country,
p_name, opt_addr1, opt_addr2, opt_addr3, opt_addr4,
opt_addr5, opt_addr6,
settle_dt, send_to_citibank_flag,
dom_chek_distr, foreign_currency_code,
distribution_method, wire_seq_no,
cusip_num, ml_retail_account, multi_curr_handling_fee,
ml_sec_num, corp_name, upd_optionee_addr,
outbound_flag,-there are N
corp_symbol, taxwire_approve,-not make applicaplabe
exersource,
mail_cd, sp_mail_cd,
backup_withholding,
user_id,
acct_num_othr)
VALUES (v_order_dtls.exer_num, 0, v_order_dtls.exer_date, 'No', not, NULL,)
-Would be PG 12/12/05 Changed to fill the resulting je_flag of dom_chek_distr',.
-PG 16/12/05 I should not be generated for international controls... If 'Y' always
'Y',-je_flag
v_order_dtls.opts_exer, 0,-total tax will be 0.
v_order_dtls.opts_exer, shrs_sold,
v_order_dtls.comm_value,
-SPIF # 43161 - replaced nvl (v_order_dtls.fixed_fee1, 0), with v_fixedfee1
v_fixedfee1 + nvl(v_order_dtls.fixed_fee3,0) + nvl(v_order_dtls.sec_fee,0), - v_order_dtls.fees_amt,
round (v_order_dtls.exec_price, 4), v_order_dtls.exer_type.
LPAD (v_order_dtls. SSN, 9, '0'),-v_order_dtls.ssn, modified by Suresh on 08/02/07 for SPIF # 37210
v_order_dtls.name_first, v_order_dtls.name_mi, v_order_dtls.name_last,
v_order_dtls.check_addr_1, v_order_dtls.check_addr_2, v_order_dtls.check_addr_3,
v_order_dtls.check_addr_4, v_order_dtls.check_addr_5, NVL (v_order_dtls. City, v_opt_dtls. (City),
NVL (v_order_dtls. State, v_opt_dtls. State), NVL (v_order_dtls.zip, v_opt_dtls.zip).
NVL (v_order_dtls. Country, v_opt_dtls. (Country),
SUBSTR (nvl (v_order_dtls.city | v_order_dtls.)) State | v_order_dtls.zip | v_order_dtls. Country,
v_opt_dtls.city_state_zip_country), 1: 34),-COLUMN LENGTH MAX IS 35
v_opt_dtls.p_name, v_opt_dtls.opt_addr1, v_opt_dtls.opt_addr2, v_opt_dtls.opt_addr3,
v_opt_dtls.opt_addr4, v_opt_dtls.opt_addr5, v_opt_dtls.opt_addr6,
v_settle_dt, Decode(v_order_dtls.distribution_method,'W','Y','D','Y','C','Y','D'),
v_order_dtls.dom_chek_distr, v_order_dtls.foreign_currency_code,
v_order_dtls.distribution_method, v_order_dtls.wire_seq_no,
v_cusip_num, v_order_dtls.acct_num, v_order_dtls.multi_curr_handling_fee,
-nvl (fn_get_sec_num (replace (substr (p_voucher_num, 1, 7), 'NORTH', 'XOP'), v_order_dtls.symbol), v_ml_sec_num).
NVL (fn_get_sec_num (v_ivr_plan_num, v_order_dtls.symbol), v_ml_sec_num).
v_compy_nme, v_order_dtls.upd_optionee_addr,
'N'-' is for outgoing flag.
v_order_dtls. Symbol, 'd', --a ' for disabled taxwires
The of ', - the of ' source being a subsequent sale.
v_mail_cd, need to get mail_Cd?
v_order_dtls.sp_mail_cd, v_order_dtls.backup_withholding,
(User, v_order_dtls.acct_num_othr);

IF (NVL(v_order_dtls.wire_seq_no,0) > 0) THEN

OPEN c_wire_instruction (v_order_dtls.wire_seq_no);
SEEK c_wire_instruction INTO v_wire_instruction;
CLOSE C_wire_instruction;

INSERT INTO TB_XOP_TRANSACT_WIRE_INSTR
(user_id, exer_num, wire_seq_no, ml_brok_acct_num, ssn,
plan_num, instr_type, aba_routing_num,
swift_routing_code, bank_name, bank_acct_num,
name_on_account, bank_addr_1, bank_addr_2, bank_addr_3,
City, State, country, zip, bank_ident_num, addtl_info)
VALUES
(USER, v_order_dtls.exer_num, v_order_dtls.wire_seq_no,
v_wire_instruction.ml_brok_acct_num, v_wire_instruction.ssn,
v_wire_instruction.plan_num, v_wire_instruction.instr_type, v_wire_instruction.aba_routing_num,
v_wire_instruction.swift_routing_code, v_wire_instruction.bank_name, v_wire_instruction.bank_acct_num,
v_wire_instruction.name_on_account, v_wire_instruction.bank_addr_1, v_wire_instruction.bank_addr_2,
v_wire_instruction.bank_addr_3, v_wire_instruction.city, v_wire_instruction.state, v_wire_instruction.country, v_wire_instruction.zip,
(v_wire_instruction.bank_ident_num, v_wire_instruction.addtl_info);
DBMS.output.put_line ('completed10');
END IF;


/ * PG 05/01/06 call conversion check only for international controls and son * /.
IF = v_order_dtls.dom_chek_distr ' n AND v_order_dtls.distribution_method IN ('W' ' d ","C"" ") THEN
/ * PG 20/12/05 to treat the subsequent sales with the wire or the distribution of currency * /.
v_transact_no: = 88;
pk_xop_citibank_forex.pr_cashconversion_ins_request (v_order_dtls.acct_num
LPAD(v_order_dtls.ssn,9,'0') - v_order_dtls.ssn, modified by Suresh on 15/02/07 for SPIF # 37210
v_order_dtls.distribution_method
v_order_dtls.foreign_currency_code
v_order_dtls.wire_seq_no
, TOWER ((v_order_dtls.opts_exer * ronds (v_order_dtls.exec_price, 4)), 2)
-ROUND(v_order_dtls.comm_value,2)
-ROUND (nvl(v_order_dtls.fixed_fee1,0) + nvl(v_order_dtls.fixed_fee3,0) + nvl(v_order_dtls.sec_fee,0), 2)
-nvl(v_order_dtls.multi_curr_handling_fee,0)
-product net nvl(v_order_dtls.backup_withholding,0)-
, v_order_dtls.multi_curr_handling_fee - handling fee
-Modified by Billon/Suresh on 03/02/2006-, v_order_dtls.login_name
, CASE v_order_dtls.login_name WHEN ' CUSTOMER /' THEN v_order_dtls.login_name |' SSO' ELSE v_order_dtls.login_name |' / SSO' END
, v_transact_no - transact_no as a placeholder for the 88 exer_type
v_order_dtls.check_addr_1
v_order_dtls.check_addr_2
v_order_dtls.check_addr_3
v_order_dtls.check_addr_4
v_order_dtls.upd_optionee_addr
v_order_dtls.city
v_order_dtls.state
v_order_dtls.zip
v_order_dtls.country
v_order_dtls.login_ipaddress
v_order_dtls.fcnum
v_order_dtls.opt_num
v_settle_dt,
p_exer_num = > v_order_dtls.exer_num
);
END IF;

COMMIT;

close get_order_dtls;

END IF;

/*
* SPIF # 43161 - update of current status in IN. is moved to this part, even PROD.
*/
UPDATE tb_xop_order_manager_t
SET exec_dttime = decode (p_status_type, "EO", to_char (sysdate, 'DD-MON-YYYY HH24:mi:ss'), null)
exer_date = trunc (sysdate)
, cancel_dttime = decode (p_status_type, 'CX', to_char (sysdate, 'DD-MON-YYYY HH24:mi:ss'), 'UR', to_char (sysdate, "MON-DD-YYYY HH24:mi:ss), null)
, current_status = "PO."
sum_status = decode(p_status_type,'EO','X','C'),
sum_stat_dttime = SYSDATE
WHERE voucher_num = p_voucher_num;

v_err_cd: = sqlcode;
v_err_msg: = sqlerrm;

Open the p_err_cur for v_err_cd select err_code, v_err_msg err_msg double;

EXCEPTION
DBMS.output.put_line ('completed200');
/ * PG 02/10 managed 'order of partial fill' exception * /.
When wait_for_more then
v_err_cd: = 0;
v_err_msg: = ' ORA-0000: normal completion, successfully ';
pr_xop_log_errors (' partially filled;) Pending-activity qty:' | TO_CHAR (v_sum_activity_qty) | "pk_xop_subsales.pr_process_exer");
Open the p_err_cur for v_err_cd select err_code, v_err_msg err_msg double;
When exceeds_order_qty then
v_err_cd: = sqlcode;
v_err_msg: = sqlerrm;
Open the p_err_cur for v_err_cd select err_code, v_err_msg err_msg double;
pr_xop_log_errors ("exceeded the amount of activity Order_qty - activity qty: ' | ') TO_CHAR (p_activity_qty) | "pk_xop_subsales.pr_process_exer");
while others then
v_err_cd: = sqlcode;
v_err_msg: = sqlerrm;
Open the p_err_cur for v_err_cd select err_code, v_err_msg err_msg double;
pr_xop_log_errors (' error code ' | ') SQLCODE |' with ErrorMessage like ' | SQLERRM |' occurred '. the user | (' pk_xop_subsales.pr_process_exer');
DBMS.output.put_line ('completed125');
END pr_process_exer;
}

Hi friends, any1 help me how set ref-cursor in the declaration section and how to find the constraint error situation has occurred...

956684 wrote:
Hello.

Friends please help... How to debug and find the exact position of the constraint violation... Thank you for the help...

It's not a way to track it unless you have taken the exception raised.

As a way to start debugging, you will need to monitor
1. all DML against the Table on which you have constraint. Specifically, the DML that Act on the column you will be forced.
2. use the exception handling, to record the error and the data that causes the constraint to fail.
3. don't forget to monitor triggers, if used, could write data in the column you have forced on.

Or

Another track is to:

select *
  from user_source
where lower(text) like '%your_table_name%';
order by type, name, line;

Look at the lines, exclude that are in the statement or in the SELECT statements and targets of the DML.

Looking at the unformatted code, that you have published, this statement looks like a culprit.

INSERT INTO tb_ml_exer_upload
(exer_num,exer_seq,
exer_dt, written_flag, backout_flag, output_line,
je_flag, opts_exer,
tot_tax,shrs_sold,comm_value,tot_fee,
mkt_prc,exer_type, soc_sec,
name_first, name_mi,
name_last,check_addr_1,check_addr_2,check_addr_3,
check_addr_4,check_addr_5,city,state,zip,country,
city_state_zip_country,
p_name,opt_addr1,opt_addr2,opt_addr3,opt_addr4,
opt_addr5,opt_addr6,
settle_dt,send_to_citibank_flag,
dom_chek_distr,foreign_currency_code,
distribution_method,wire_seq_no,
cusip_num, ml_retail_account,multi_curr_handling_fee,
ml_sec_num, corp_name,upd_optionee_addr,
outbound_flag, -- make it N
corp_symbol,taxwire_approve, -- make it not applicaplabe
exersource,
mail_cd, sp_mail_cd,
backup_withholding,
user_id,
acct_num_othr)
VALUES(v_order_dtls.exer_num,0,v_order_dtls.exer_date,'N','N',NULL,
-- PG 12/12/05 Changed to populate the je_flag based on dom_chek_distr 'D',
-- PG 12/16/05 JE should not be generated for international checks.. So 'Y' always
'Y', --je_flag
v_order_dtls.opts_exer,0,--total tax will be 0.
v_order_dtls.opts_exer, --shrs_sold,
v_order_dtls.comm_value,
--SPIF# 43161- replaced nvl(v_order_dtls.fixed_fee1, 0) with v_fixedfee1
v_fixedfee1 + nvl(v_order_dtls.fixed_fee3,0) + nvl(v_order_dtls.sec_fee,0), --v_order_dtls.fees_amt,
round(v_order_dtls.exec_price, 4),v_order_dtls.exer_type,
LPAD(v_order_dtls.ssn,9,'0'), --v_order_dtls.ssn, Modified by Suresh on 02/08/07 for SPIF # 37210
v_order_dtls.name_first,v_order_dtls.name_mi,v_order_dtls.name_last,
v_order_dtls.check_addr_1,v_order_dtls.check_addr_2,v_order_dtls.check_addr_3,
v_order_dtls.check_addr_4,v_order_dtls.check_addr_5,nvl(v_order_dtls.city,v_opt_dtls.city),
nvl(v_order_dtls.state,v_opt_dtls.state),nvl(v_order_dtls.zip,v_opt_dtls.zip),
nvl(v_order_dtls.country,v_opt_dtls.country),
SUBSTR(nvl(v_order_dtls.city||v_order_dtls.state||v_order_dtls.zip||v_order_dtls.country,
v_opt_dtls.city_state_zip_country),1,34), -- COLUMN LENGTH MAX IS 35
v_opt_dtls.p_name,v_opt_dtls.opt_addr1,v_opt_dtls.opt_addr2,v_opt_dtls.opt_addr3,
v_opt_dtls.opt_addr4,v_opt_dtls.opt_addr5,v_opt_dtls.opt_addr6,
v_settle_dt,decode(v_order_dtls.distribution_method,'W','Y','D','Y','C','Y','D'),
v_order_dtls.dom_chek_distr,v_order_dtls.foreign_currency_code,
v_order_dtls.distribution_method,v_order_dtls.wire_seq_no,
v_cusip_num,v_order_dtls.acct_num,v_order_dtls.multi_curr_handling_fee,
-- nvl(fn_get_sec_num(replace(substr(p_voucher_num,1,7),'SSO','XOP'),v_order_dtls.symbol),v_ml_sec_num),
nvl(fn_get_sec_num(v_ivr_plan_num, v_order_dtls.symbol),v_ml_sec_num),
v_compy_nme,v_order_dtls.upd_optionee_addr,
'N', --'N' is for outbound flag.
v_order_dtls.symbol,'D', --'D' for taxwires disabled
'S', -- 'S' for source being subsequent sale.
v_mail_cd, --need to get mail_Cd??
v_order_dtls.sp_mail_cd,v_order_dtls.backup_withholding,
user,v_order_dtls.acct_num_othr);

What is the structure of the tb_ml_exer_upload Table and the columns do you have constraints?
Which column of the tb_ml_exer_upload table is your primary key (because the constraint name mentions pk_tb_ml_exer_upload)?

Published by: Jen K on January 4, 2013 12:57

Tags: Database

Similar Questions

  • Unique constraint violation error

    Hi all

    I have a procedure called - FHM_DASHBOARD_PROC which inserts data into a table called FHM_DASHBOARD_F retrieve records in multiple tables. However, for a particular type of record, these data are not inserted because of the Unique constraint violation

    the procedure is:
    create or replace
    PROCEDURE FHM_DASHBOARD_PROC AS
    
    DB_METRICS_CNT1Z number;
    --V_PODNAME varchar2(10);
    V_KI_CODE_DB_STATSZ varchar2(50);
    V_ERRORSTRING varchar2(100);
    
    --CURSOR PODNAME_CUR IS SELECT PODNAME,SHORTNAME FROM CRMODDEV.POD_DATA WHERE PODSTATUS_ID=1 AND PODTYPE_ID=1 ORDER BY PODNAME;
    
    
    -- DB STATS
    
    BEGIN 
    
      -- OPEN PODNAME_CUR;
        --   LOOP
          --   FETCH PODNAME_CUR INTO V_PODNAME,V_POD_SHORTNAME ;
            -- EXIT WHEN PODNAME_CUR%NOTFOUND;
    
               BEGIN
               
                     SELECT COUNT(*) INTO DB_METRICS_CNT1Z FROM FHM_DB_METRICS_F A, FHM_DB_D B where A.DBNAME=B.DBNAME and PODNAME=V_PODNAME AND DB_DATE=TRUNC(SYSDATE-1);
                               DBMS_OUTPUT.PUT_LINE('DB_METRICS_CNT1Z :'|| DB_METRICS_CNT1Z);
                               IF DB_METRICS_CNT1Z >0 THEN
                             
                        DBMS_OUTPUT.PUT_LINE('DB STATS');
                                  
                       INSERT INTO FHM_DASHBOARD_F(PODNAME,DASH_DATE,KI_CODE,KI_VALUE,KI_STATUS)
                                  
                          (SELECT PODNAME, DASH_DATE AS CU_DATE, KI.KI_CODE, NVL(PF.KI_VALUE,0), 
                                                                  CASE
                                                                   WHEN PF.KI_VALUE = ki.warning_threshold then 2
                        when PF.KI_VALUE=0 then 0
                        ELSE 1 
                        END  AS ALERT_STATUS
                        
                        FROM 
                        
                        (SELECT PODNAME,DB_DATE AS DASH_DATE,decode(a.stats_last_status,'SUCCEEDED',1,'FAILED',2,'STOPPED',2,NULL,0) KI_VALUE from  
                        FHM_DB_METRICS_F a,fhm_db_d b where a.dbname=b.dbname and podname='XYZ' and db_date=TRUNC(SYSDATE-1) and dbtype='OLTP')PF,
                        FHM_KEY_INDICATOR_D KI where PF.PODNAME=KI.POD_NAME AND KI.TIER_CODE=3 AND KI.KI_NAME='DB_STATS'
                        AND (PF.PODNAME,TRUNC(PF.DASH_DATE),KI.KI_CODE) NOT IN (SELECT PODNAME,DASH_DATE,KI_CODE FROM FHM_DASHBOARD_F)); 
                                 COMMIT;
                     
                             ELSE
                                    SELECT KI_CODE INTO V_KI_CODE_DB_STATSZ FROM FHM_KEY_INDICATOR_D WHERE POD_NAME=V_PODNAME AND KI_NAME='DB_STATS';
                                     DBMS_OUTPUT.PUT_LINE('V_KI_CODE_DB_STATSZ :'||V_KI_CODE_DB_STATSZ);
                                     INSERT INTO FHM_DASHBOARD_F(PODNAME,DASH_DATE,KI_CODE,KI_VALUE,KI_STATUS) VALUES(V_PODNAME,TRUNC(SYSDATE-1),V_KI_CODE_DB_STATSZ,0,0); 
                                     COMMIT; 
                                     
                             END IF;
                            
         EXCEPTION
                            WHEN OTHERS THEN
                            V_ERRORSTRING :='INSERT INTO FHM_DASHBOARD_F_ERROR_LOG(POD_NAME,KI_NAME,ERRORNO,ERRORMESSAGE,DATETIME) VALUES
                   ('''||V_PODNAME||''',''DB_STATS'','''||SQLCODE||''','''||SQLERRM||''',SYSDATE)';                         
                   EXECUTE IMMEDIATE  V_ERRORSTRING;
                            COMMIT;
              END;
    
          --END LOOP;
      --CLOSE PODNAME_CUR;
    
    
    END;
    
    
    END FHM_DASHBOARD_PROC;
    and the table where data integration is
    CREATE TABLE "CRMODDEV"."FHM_DASHBOARD_F"
      (
        "PODNAME" VARCHAR2(25 BYTE) NOT NULL ENABLE,
        "DASH_DATE" DATE,
        "KI_CODE"   NUMBER NOT NULL ENABLE,
        "KI_VALUE"  NUMBER,
        "KI_STATUS" NUMBER,
        CONSTRAINT "FHM_DASHBOARD_F_DATE_PK" PRIMARY KEY ("DASH_DATE", "PODNAME", "KI_CODE") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING COMPUTE STATISTICS STORAGE(INITIAL 4194304 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "CRMODDEV_IDX" ENABLE,
        CONSTRAINT "FHM_DASHBOARD_F_KI_CODE_FK" FOREIGN KEY ("KI_CODE") REFERENCES "CRMODDEV"."FHM_KEY_INDICATOR_D" ("KI_CODE") ENABLE
      )
      PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING STORAGE
      (
        INITIAL 3145728 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
      )
      TABLESPACE "CRMODDEV_TBL" ENABLE ROW MOVEMENT ;
    the constraint primary key is FHM_DASHBOARD_F_DATE_PK and is on 3 columns of the table, DASH_DATE, PODNAME, KI_CODE



    And it's the query used in the procedure to insert the data into the table
    (SELECT  PODNAME, DASH_DATE AS CU_DATE, KI.KI_CODE, NVL(PF.KI_VALUE,0), 
                                   CASE
                                   WHEN PF.KI_VALUE = ki.warning_threshold then 2
    when PF.KI_VALUE=0 then 0
    ELSE 1 
    END  AS ALERT_STATUS
    From 
    (Select  Podname,Db_Date As Dash_Date,Decode(A.Stats_Last_Status,'SUCCEEDED',1,'FAILED',2,'STOPPED',2,Null,0) Ki_Value From  -- Added Distinct
    FHM_DB_METRICS_F a,fhm_db_d b where a.dbname=b.dbname and podname in ('XYZ') and db_date = TRUNC(SYSDATE-2) and dbtype='OLTP')PF,
    Fhm_Key_Indicator_D Ki Where Pf.Podname=Ki.Pod_Name And Ki.Tier_Code=3 And Ki.Ki_Name='DB_STATS'
    And (Pf.Podname,Trunc(Pf.Dash_Date),Ki.Ki_Code) Not In (Select Podname,Dash_Date,Ki_Code From Fhm_Dashboard_F));
    It gives * record * 2 suite
    ---------------------------------------
    XYZ JANUARY 20 12 2521 1 1
    XYZ JANUARY 20 12 2521 1 1

    It gives the Unique constraint violation error when inserting. Then, I changed in the above insertion code by adding a distinct clause. Once the query gives only a SINGLE record accordingly. However, this record is not be inserted into the table and give the same error.

    Now the question is how should I insert that record into the table with success?


    If the message is too long, however, I gave you the real structure of the object or procedure and error.

    Thank you in advance.

    When you have 5 columns in the game adding THAT SEPARATE is n ot solution that you can still get the same error once.

    Check the target table if the data exists before inserting... If this is not the case, check the structure of the table for a unique constraint created on other columns.

    select *from 
    where
    DASH_DATE=date '2012-01-20'
    and PODNAME='XYZ'
    and  KI_CODE=2521;
    
  • How to find the exact motherboard for Satellite P100-347 model?

    Hello
    I hope someone could help me. I'm looking for a new motherboard for my computer toshiba laptop because it replaced needs.

    I own a laptop Satellite P100-347 of pspa6e-03302cen and have not been able to find this anywhere online forum. Although I found two suppliers of many motherboards of p100, they use numbers of alternative model in which I can't find anywhere in my documents or on the computer. The model numbers they use are something like A000008350 or a number starting with k. I'm sure that the supplier I found has the motherboard, I would need but I would need a list of all the numbers of the other party for my laptop, or a way to find the exact numbers. Any help on this is appreciated...
    Thank you

    To be honest I really don't think that someone here can offer you this info. As you know, this info is for internal use and you can try to get this info from service provider authorized in your country. Sorry, but I don't see a better solution, except to wait here and hope someone can help.

    Good luck!

  • Find the exact index of maximum PNo() local and ChnFind() seem to be problematic

    Good day to all experts DIAdem!

    I am after some help and wonder if what I intend to do is possible, as much as tiara fucntions are concerned.

    I have a few cyclical data (continuous acquired as a set of data), which I am able to identify individual events. Within each of these events, I use the StatBlockCalc, so calculate the minimum and maximum local power (in the range of the specified index). I would then use the calculated maximum, a specific channel, then 'read' effective competition on other channels.

    I tried to use the ChnFind and PNo and both give results that often fall beyond the top and bottom of the index for this event. I believe that this is due to the fact that these search functions for a nearest value of the value in question and NOT the exact value for (rounding errors may also play a role). Please note this is not a criticism of the functions, because I believe that what I am asking is perhaps more by the high-performance computing (as opposed to hunting for the nearest value).

    So my question is - this feasible? To calculate a local maximum, and then use this value index reading on the remaining channels (to determine the values to the maximum).

    I hope that what I am asking is clear, if not so, feel free to ask away.

    Kind regards

    Dan

    Hi Dan,.

    If you want to attack this from the rounded side error, then I suggest to insert the ValEqual() function in your search expression - it has been designed to avoid rounding problems you seem like you're running.  My other recommendataion would be to abandon PNo() and use instead of ChnFind() with the known since your window index the starting index.  This action runs more quickly and find the extremum of right.

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • Find the exact need in oracle support site

    Hi all

    Oracle support is very complex to find the exact needs.

    Suppose I want to download FMW 11 GR 2 version 11.1.2.0.0 forms and reports

    I'm wonder how to find and download?

    kindly help.

    Hello

    Check this link MOS!
    -Asking the physical URL send or download software Media [ID 1071023.1]

    Kind regards

  • How/where can I find the image masters of my photos in the PHOTOS app?

    How/where can I find the image masters of my photos in the PHOTOS app?

    Pictures of launch and watch them. If you want to use the somewhere with other software, select them and export the original unmodified in a folder on the desktop and use there

    LN

  • How to recover or find the network key for a router wireless (Netgear)

    Network wireless adapter NIC Ethernet network device

    How to recover or find the network key for a router wireless (Netgear)

    Hi RaymondKramp,

    ·         What version of Windows is installed on your computer?

    If you have lost the key to network and not connected to the network, then you can reset the router to factory settings wireless.

    If you lost the key network and connected to the network, and then log on to the Web page of the router and get the key.

    For more assistance, you can contact Netgear Support:

    http://support.NETGEAR.com/app/home

    Hope this information helps.

  • I get videos from cell phones of the people with a type of file like 3GP. I need to know how to save and change the format so I can open them.

    I get videos from cell phones of the people with a type of file like 3GP. I need to know how to save and change the format so I can open them.

    Trying to convert to the. WMV format:

    There are many converters available on the net... some
    free... some detail.

    The following freeware converter is just one example:

    (FWIW... it's always a good idea to create a system)
    Restore point before installing software or updates)

    Format Factory (freeware)
    http://www.videohelp.com/tools/Format_Factory
    (the 'direct link' is faster download)
    (the file you want to download is: > FFSetup295.zip<>
    (FWIW... installation..., you can uncheck
    ('all' boxes on the final screens)
    (Windows XP / Vista / 7)

    First, you will need to decompress the file or just open the
    Drag > FFSetup295.exe< out="" of="" the="">
    and drop it on your desktop. To install left click.

    Next, after the download and installation of Format
    Factory... you can open the program and
    left click on the toolbar, the "Option" button and
    "Select an output folder to" / apply / OK.
    (this is where you find your files after they)
    are converted)

    Drag and drop your video clips on the main screen...

    Select "all to WMV" / OK...

    Click on... Beginning... in the toolbar...

    That should do it...

    Good luck...

  • How/where can I find the 25-digit product key requested by Microsoft when I try to open a file on a SanDisk?

    ORIGINAL TITLE: Product key

    How/where can I find the 25-digit product key requested by Microsoft when I try to open a file on a SanDisk?

    The game, June 21, 2012 20:26 + 0000, Faye Barker wrote:

    How/where can I find the 25-digit product key requested by Microsoft when I try to open a file on a SanDisk?

    What kind of file is it? What is its extension (the characters
    After the dot at the end of the file name)? And what program is trying
    to open it and needs a product key?

    Please answer these questions, but I'll also venture a guess: you
    try to open a file with Microsoft Word and Word .docx or .doc
    request a product key.
    If this is the case, in all probability, your computer comes with a trial version
    version of Microsoft Office pre-installed. Your trial period is now in place and if
    you want to continue using it, you must buy a copy and get a
    product key for this.

    Ken Blake, Microsoft MVP

  • How to compress and decompress the file in mac

    How to compress and decompress the file in mac

    I will use third party software to do this.

  • Satellite A30 921: how to remove and replace the memory?

    Hi, can someone help me how to remove and replace the memory of satellite A30 921. and also, please give a detailed instruction.

    Thank you in advance.

    Hello

    There is not much to explain. On the low side in the Middle it is placed to cover memory (fixed with two screws). Remove the cover and you will see 2 slots there. I put t know how much memory you here but like Stefan says you can use max 2 GB of RAM (2 x 1024Mo PC2700 - PA3313U-1M1G). How to remove the memory modules, which you can see on http://www.hardwaresecrets.com/article/189/5

    Good bye

  • Laptop HP Touchsmart 15-D020: how to remove and replace the keyboard on laptop HP Touchsmart 15-D020NR

    I spilt a drink on my keyboard and now I can not turn off the caps lock and a number of keys does not work. I need instructions on how to remove and replace the keyboard frame. Thank you.

    On your page of support-look for Maintenance and Service of Guide in the manuals.

    http://support.HP.com/us-en/product/HP-15-D000-TouchSmart-notebook-PC-series/6627588/model/6761859/manuals

  • How to activate and use the built-in webcam

    built in webcam

    How to activate and use the built in webcam on my desktop Dell Inspiron 1?

    MikeViklund,

    Try to read...

    Use and troubleshooting of the Webcam Dell and Dell Webcam Central Software

    Rick

  • How to compile and install the kernel modules after nation and nipalk for installation of Gentoo 64 bit?

    We are trying to install a PCIe 6251 DAQ card in a box of Gentoo 64 bit running Linux kernel 2.6.28 - gentoo-r5 4.3.2 - gcc and glibc - 2.8.  We have installed RPM utilities to manage the installation.  The current problem is that we are not able to compile and install the kernel modules: nidmxfk, nimsdrk, nimstsk and nipxirmk.  Here's a summary of what we have done so far, and to what extent we got.

    First of all, we have changed the configuration of the kernel that we could export the init_mm unused symbol by changing the configuration option of the CONFIG_UNUSED_SYMBOLS = o kernel and recompile the kernel.  Then we installed LabView 8.6.1.  Then we ran the nation 1.9 installer who has installed the source code in vain on the compilation.  To resolve this problem, we have changed the function of pte_offset to pte_offset_kernel by editing the file/usr/local/natinst/nation/configures following the instructions here:

    http://decibel.NI.com/content/docs/doc-4511

    We were then able to compile and install the kernel nation module thanks to:

    . / configure
    do
    make install

    lsmod said that nation has been properly installed.  Then we ran the installer for DAQmx 8.0.1 by:

    . / INSTALL - nodeps

    To do this, we have received errors indicating that LabView support could not be installed because check addictive (incorrectly we think) stated that labviewbase86 has not been installed; This caused the installer to have an abortion.  Therefore, we refused to install support for LabView 8.6 and revived the installation program which produces the output:

    Installation of the driver NOR-DAQmx Distribution of Linux Installer version 8.0.1f0...

    Already to jump Edward - 1.9.0 - f0.noarch.rpm installation, same or newer
    installed.

    Pre Installation...

    Preparing... ########################################### [100%]
    1:nitimingi ########################################### [ 4%]
    2:nipalki ########################################### [ 7%]
    3:nipali ########################################### [ 11%]
    RC0.d directory not found, startup script is not accredited with init levels.
    4:labview80 - rte # [14%]
    5:ni653x ########################################### [ 18%]
    6:nicdigi ########################################### [ 21%]
    7:nidaqmxcapiexmp # [25%]
    8:nidaqmxcapihelp # [29%]
    9:nidaqmxcapii # [32%]
    LN: create the symbolic link ' / usr/local/include/NIDAQmx.h': no such file or directory
    10:nidaqmxcfgi # [36%]
    11:nidaqmxef # [39%]
    12:nidaqmxhelp # [43%]
    13:nidaqmxinfi # [46%]
    14:nidaqmxswitch # [50%]
    15:nidimi ########################################### [ 54%]
    16:nidsai ########################################### [ 57%]
    17:nimdbgi ########################################### [ 61%]
    18:nimioi ########################################### [ 64%]
    19:nimru2i ########################################### [ 68%]
    20:nimxdfi ########################################### [ 71%]
    21:nimxpi ########################################### [ 75%]
    22:nimxs ########################################### [ 79%]
    RC0.d directory not found, startup script is not accredited with init levels.
    23:niorbi ########################################### [ 82%]
    24:nipxirmi ########################################### [ 86%]
    25:nirpci ########################################### [ 89%]
    26:niscarabmm # [93%]
    27:niscxi ########################################### [ 96%]
    28:nistci ########################################### [100%]

    After Installation...

    At this point, after reading this report, we used the Gentoo rc update utility to add several scripts for the boot runlevel initialisation:

    update of RC - a boot nipple
    update of RC - a bunch of nipxirmu
    update of RC - a bunch of mxssvr
    update of RC - a bunch of nisvcloc
    update of RC - a bunch of nidevldu

    When the computer reboots, you get an error message indicating that the following kernel modules are not: nidmxfk, nimsdrk, nimstsk and nipxirmk.  lsmod shows that the nation and nipalk are installed, but no other kernel modules NOR are present.  modprobe-l shows that only nation and nipalk are available.

    So we have several questions:

    1. we install drivers in the correct order?  Should use us NI-VISA 4.5 or NOR-488. 2 rather than DAQmx 8.0.1?

    2. What kernel modules should be loaded for this equipment run?  How to compile and install the ones that we have yet, specifically nidmxfk, nimsdrk, nimstsk and nipxirmk?  Are there others?

    3. How can we get the installer to properly recognize that we have installed LabView Core and install support for LabView?  Are there additional kernel modules related to the support of LabView?

    4. What is the symbolic link that was not created in the DAQmx installation report? (ln: create the symbolic link ' / usr/local/include/NIDAQmx.h': no such file or directory)?

    I apologize for so many questions, but these seem to be the last obstacles to obtaining OR runs correctly on this system.  Is there other information that we can provide that would be useful?  Thanks for any help or suggestions you can offer.

    Craig

    Hey Craig,.

    Given that you use 64-bit Linux all kernel modules must be compiled for 64 - bit.  User mode binaries can be 32-bit, assuming that you have installed the 32-bit support libraries.

    NOR-DAQmx is a complex architecture and requires several kernel modules to support your PCIe card.  Most of these kernel modules have not been brought to support 64-bit Linux.  Some kernel modules are components infrustructure that are shared with other pilots OR as NI-VISA and NOR-488. 2 and have been brought to support 64-bit Linux.  Unfortunately, you need all the modules to use your hardware.

    I hope that answers your question.

    Shawn Bohrer

    National Instruments

  • How to release and renew the IP?

    I use adsl modem and I want to know how to release and renew the dynamic IP address.

    When I type ipconfig/release, he returned to "the operation failed as no adapter is in the State permitted for this operation.

    Anyone have any suggestions on what evil is?

    Any help will be much appreciated :>

    With ADSL modems, the usual method would be to disconnect and reconnect.

    The INVESTIGATION period is on the modem, not the PC.

Maybe you are looking for