Declare
lr_adjustment_rec ozf_fund_utilized_pub.adjustment_rec_type;
lc_return_status VARCHAR2 (1);
lc_record_exist VARCHAR2 (1);
lc_error_flag VARCHAR2 (1) := 'N';
lc_adjustment_type VARCHAR2 (80);
lc_error_msg VARCHAR2 (200);
lc_err_locations VARCHAR2 (200);
lc_msg_data VARCHAR2 (32767);
lc_errbuf VARCHAR2 (32767);
ln_claim_type_id NUMBER;
ln_qp_list_header_id NUMBER;
ln_cr_ccid NUMBER;
ln_dr_ccid NUMBER;
ln_fund_id NUMBER;
ln_msg_count NUMBER;
ln_util_id NUMBER;
ln_user_id NUMBER;
ln_resp_id NUMBER;
ln_resp_app_id NUMBER;
ln_budget_amt NUMBER;
ln_cust_id NUMBER;
ln_num_of_months NUMBER;
ln_loop_count NUMBER;
ln_tot_budg_amt NUMBER;
ln_prov_amt NUMBER;
ld_fund_date DATE;
ld_start_date DATE;
ld_end_date DATE;
n_request_id NUMBER := 0;
CURSOR lcur_fund_data(p_fund_number number)
IS
SELECT v.fund_id, v.fund_number,b.cust_account_id,
o.qp_list_header_id,
adjustment_type_id old_adjustment_type_id, b.attribute4
FROM ozf_funds_all_vl v,
ozf_funds_utilized_all_b b,
ozf_offers o
WHERE 1 = 1
AND b.fund_id = v.fund_id
AND v.attribute3 = o.offer_code
AND v.fund_number = p_fund_number
AND b.attribute4 = 'PROVISION'
AND rownum = 1;
BEGIN
BEGIN
mo_global.set_policy_context (UPPER ('s'), 22);
END;
FOR i IN lcur_fund_data (p_fund_id)
LOOP
EXIT WHEN lcur_fund_data%NOTFOUND;
FND_GLOBAL.apps_initialize (user_id => 8605,
resp_id => 22371,
resp_appl_id => 682);
lr_adjustment_rec.adjustment_type := 'STANDARD';
lr_adjustment_rec.adjustment_type_id := 21;
lr_adjustment_rec.fund_id := i.fund_id;
lr_adjustment_rec.fund_number := i.fund_number;
lr_adjustment_rec.adjustment_date := Sysdate;
lr_adjustment_rec.gl_date := Sysdate;
lr_adjustment_rec.activity_type := 'OFFR';
lr_adjustment_rec.activity_id := i.qp_list_header_id;
lr_adjustment_rec.plan_currency_code :='INR';
lr_adjustment_rec.org_id := 22;
lr_adjustment_rec.skip_acct_gen_flag := 'F';
lr_adjustment_rec.amount := p_amount;
lr_adjustment_rec.customer_type := 'CUSTOMER';
lr_adjustment_rec.attribute4 := 'PROVISION';
lr_adjustment_rec.cust_id := i.cust_account_id;
ozf_fund_utilized_pub.create_fund_adjustment (
p_api_version => 1.0,
p_init_msg_list => fnd_api.g_false,
p_commit => fnd_api.g_false,
p_validation_level => fnd_api.g_valid_level_full,
p_adj_rec => lr_adjustment_rec,
x_return_status => lc_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lc_msg_data,
x_utilization_id => ln_util_id);
FND_FILE.PUT_LINE(FND_FILE.LOG,'lc_return_status ' || lc_return_status);
IF lc_return_status <> 'S'
THEN
IF ln_msg_count <= 1
THEN
lc_errbuf := NULL;
lc_errbuf := lc_errbuf || lc_msg_data;
lc_errbuf:=substr(lc_errbuf,1,150);
FND_FILE.PUT_LINE(FND_FILE.LOG,'error message - '||lc_errbuf);
ELSE
lc_errbuf := NULL;
FOR ln_i IN 1 .. ln_msg_count
LOOP
lc_errbuf :=
lc_errbuf || ' ' || fnd_msg_pub.get (ln_i, 'F');
lc_errbuf:=Substr(lc_errbuf,1,150);
FND_FILE.PUT_LINE(FND_FILE.LOG,'error message - '|| lc_errbuf);
END LOOP;
END IF;
ELSE
FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Provision transfer is Successfull and utilization id is - '||ln_util_id);
END IF;
COMMIT;
END LOOP;
END;
lr_adjustment_rec ozf_fund_utilized_pub.adjustment_rec_type;
lc_return_status VARCHAR2 (1);
lc_record_exist VARCHAR2 (1);
lc_error_flag VARCHAR2 (1) := 'N';
lc_adjustment_type VARCHAR2 (80);
lc_error_msg VARCHAR2 (200);
lc_err_locations VARCHAR2 (200);
lc_msg_data VARCHAR2 (32767);
lc_errbuf VARCHAR2 (32767);
ln_claim_type_id NUMBER;
ln_qp_list_header_id NUMBER;
ln_cr_ccid NUMBER;
ln_dr_ccid NUMBER;
ln_fund_id NUMBER;
ln_msg_count NUMBER;
ln_util_id NUMBER;
ln_user_id NUMBER;
ln_resp_id NUMBER;
ln_resp_app_id NUMBER;
ln_budget_amt NUMBER;
ln_cust_id NUMBER;
ln_num_of_months NUMBER;
ln_loop_count NUMBER;
ln_tot_budg_amt NUMBER;
ln_prov_amt NUMBER;
ld_fund_date DATE;
ld_start_date DATE;
ld_end_date DATE;
n_request_id NUMBER := 0;
CURSOR lcur_fund_data(p_fund_number number)
IS
SELECT v.fund_id, v.fund_number,b.cust_account_id,
o.qp_list_header_id,
adjustment_type_id old_adjustment_type_id, b.attribute4
FROM ozf_funds_all_vl v,
ozf_funds_utilized_all_b b,
ozf_offers o
WHERE 1 = 1
AND b.fund_id = v.fund_id
AND v.attribute3 = o.offer_code
AND v.fund_number = p_fund_number
AND b.attribute4 = 'PROVISION'
AND rownum = 1;
BEGIN
BEGIN
mo_global.set_policy_context (UPPER ('s'), 22);
END;
FOR i IN lcur_fund_data (p_fund_id)
LOOP
EXIT WHEN lcur_fund_data%NOTFOUND;
FND_GLOBAL.apps_initialize (user_id => 8605,
resp_id => 22371,
resp_appl_id => 682);
lr_adjustment_rec.adjustment_type := 'STANDARD';
lr_adjustment_rec.adjustment_type_id := 21;
lr_adjustment_rec.fund_id := i.fund_id;
lr_adjustment_rec.fund_number := i.fund_number;
lr_adjustment_rec.adjustment_date := Sysdate;
lr_adjustment_rec.gl_date := Sysdate;
lr_adjustment_rec.activity_type := 'OFFR';
lr_adjustment_rec.activity_id := i.qp_list_header_id;
lr_adjustment_rec.plan_currency_code :='INR';
lr_adjustment_rec.org_id := 22;
lr_adjustment_rec.skip_acct_gen_flag := 'F';
lr_adjustment_rec.amount := p_amount;
lr_adjustment_rec.customer_type := 'CUSTOMER';
lr_adjustment_rec.attribute4 := 'PROVISION';
lr_adjustment_rec.cust_id := i.cust_account_id;
ozf_fund_utilized_pub.create_fund_adjustment (
p_api_version => 1.0,
p_init_msg_list => fnd_api.g_false,
p_commit => fnd_api.g_false,
p_validation_level => fnd_api.g_valid_level_full,
p_adj_rec => lr_adjustment_rec,
x_return_status => lc_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lc_msg_data,
x_utilization_id => ln_util_id);
FND_FILE.PUT_LINE(FND_FILE.LOG,'lc_return_status ' || lc_return_status);
IF lc_return_status <> 'S'
THEN
IF ln_msg_count <= 1
THEN
lc_errbuf := NULL;
lc_errbuf := lc_errbuf || lc_msg_data;
lc_errbuf:=substr(lc_errbuf,1,150);
FND_FILE.PUT_LINE(FND_FILE.LOG,'error message - '||lc_errbuf);
ELSE
lc_errbuf := NULL;
FOR ln_i IN 1 .. ln_msg_count
LOOP
lc_errbuf :=
lc_errbuf || ' ' || fnd_msg_pub.get (ln_i, 'F');
lc_errbuf:=Substr(lc_errbuf,1,150);
FND_FILE.PUT_LINE(FND_FILE.LOG,'error message - '|| lc_errbuf);
END LOOP;
END IF;
ELSE
FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Provision transfer is Successfull and utilization id is - '||ln_util_id);
END IF;
COMMIT;
END LOOP;
END;
No comments:
Post a Comment