一,导入外部风险
FUNCTION import_credit_exposure(p_org_id IN NUMBER,
p_customer_id IN NUMBER,
p_bill_to_site_uses_id IN NUMBER,
p_amount IN NUMBER,
p_import_type IN VARCHAR2,
p_currency_code IN VARCHAR2)
RETURN VARCHAR2 IS
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
l_return_status VARCHAR2(30);
l_cc_hold_comment VARCHAR2(30);
l_result_out VARCHAR2(30);
l_request_id NUMBER;
l_p_request_id NUMBER;
l_wait BOOLEAN;
l_p_wait BOOLEAN;
l_phase VARCHAR2(80);
l_status VARCHAR2(80);
l_dev_phase VARCHAR2(80);
l_dev_status VARCHAR2(80);
l_message VARCHAR2(80);
l_data_access NUMBER;
l_id NUMBER;
l_e_wait BOOLEAN;
-- l_batch_id NUMBER;
l_ret_status VARCHAR2(1);
l_msg_count NUMBER;
l_msg_data VARCHAR2(200);
l_org_id NUMBER;
l_exposure_source_code VARCHAR2(240);
l_batch_id NUMBER;
l_validate_only VARCHAR2(1);
l_rec oe_exposure_interface%ROWTYPE;
BEGIN
l_rec.exposure_source_code := 'CLE_F147_SOURCE';
l_rec.exposure_interface_id := oe_exposure_interface_s.nextval;
l_rec.batch_id := NULL;
l_rec.operation_code := p_import_type;
l_rec.exposure_amount := p_amount;
l_rec.currency_code := p_currency_code;
l_rec.bill_to_site_use_id := p_bill_to_site_uses_id;
l_rec.bill_to_customer_name := NULL;
l_rec.bill_to_customer_number := NULL;
l_rec.bill_to_customer_id := p_customer_id;
l_rec.bill_to_address1 := NULL;
l_rec.bill_to_address2 := NULL;
l_rec.bill_to_address3 := NULL;
l_rec.bill_to_address4 := NULL;
l_rec.bill_to_city := NULL;
l_rec.bill_to_state := NULL;
l_rec.bill_to_country := NULL;
l_rec.bill_to_postal_code := NULL;
l_rec.import_status_code := NULL;
l_rec.exposure_date := SYSDATE;
l_rec.org_id := p_org_id;
l_rec.original_system_reference := NULL;
l_rec.created_by := g_user_id;
l_rec.creation_date := SYSDATE;
l_rec.last_updated_by := g_user_id;
l_rec.last_update_date := SYSDATE;
l_rec.last_update_login := g_login_id;
l_rec.program_application_id := NULL;
l_rec.program_id := NULL;
l_rec.program_update_date := NULL;
l_rec.request_id := NULL;
l_rec.bill_to_province := NULL;
l_rec.bill_to_county := NULL;
INSERT INTO oe_exposure_interface VALUES l_rec;
l_org_id := p_org_id;
l_exposure_source_code := 'CLE_F147_SOURCE';
l_batch_id := NULL;
l_validate_only := 'N';
l_request_id := fnd_request.submit_request('ONT',
'OEXCEIMP',
'',
to_char(SYSDATE,
'YYYY/MM/DD HH24:MI:SS'),
FALSE,
l_org_id,
l_exposure_source_code,
l_batch_id,
l_validate_only,
chr(0));
COMMIT;
-- dbms_output.put_line(l_request_id);
IF l_request_id = 0 THEN
cux_conc_utl.log_msg('导入信用风险出错');
raise_exception('E');
END IF;
-- 导入信用风险完成
-- wait request
l_wait := fnd_concurrent.wait_for_request(request_id => l_request_id,
INTERVAL => 1, -- interval second for check
max_wait => 0, -- max_wait, Max amount of time to wait (in seconds)
phase => l_phase,
status => l_status,
dev_phase => l_dev_phase,
dev_status => l_dev_status,
message => l_message);
IF upper(l_status) NOT IN ('NORMAL', '正常') THEN
cux_conc_utl.log_msg('导入信用风险出错 - ' || l_message);
raise_exception('E');
END IF;
RETURN 'S';
END import_credit_exposure;
二,初始化信用汇总表
FUNCTION check_credit(p_org_id IN NUMBER,
p_customer_id IN NUMBER,
p_bill_to_site_uses_id IN NUMBER,
p_amount IN NUMBER,
p_import_type IN VARCHAR2,
p_currency_code IN VARCHAR2) RETURN VARCHAR2 IS
-- l_return_status VARCHAR2(30);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
l_return_status VARCHAR2(30);
l_cc_hold_comment VARCHAR2(30);
l_result_out VARCHAR2(30);
l_request_id NUMBER;
l_p_request_id NUMBER;
l_wait BOOLEAN;
l_p_wait BOOLEAN;
l_phase VARCHAR2(80);
l_status VARCHAR2(80);
l_dev_phase VARCHAR2(80);
l_dev_status VARCHAR2(80);
l_message VARCHAR2(80);
l_data_access NUMBER;
l_id NUMBER;
l_e_wait BOOLEAN;
-- l_batch_id NUMBER;
l_ret_status VARCHAR2(1);
l_msg_count NUMBER;
l_msg_data VARCHAR2(200);
BEGIN
--先调用 import_credit_exposure 导入可拓展类型为18 的信用风险
mo_global.init('ONT');
fnd_global.apps_initialize(user_id => g_user_id,
resp_id => fnd_global.resp_id,
resp_appl_id => fnd_global.resp_appl_id);
l_return_status := import_credit_exposure(p_org_id => p_org_id,
p_customer_id => p_customer_id,
p_bill_to_site_uses_id => p_bill_to_site_uses_id,
p_amount => p_amount,
p_import_type => p_import_type,
p_currency_code => p_currency_code);
IF l_return_status = 'S' THEN
--调用标准请求 初始化信用汇总表
l_request_id := fnd_request.submit_request('ONT',
'OEXINICS',
'',
to_char(SYSDATE,
'YYYY/MM/DD HH24:MI:SS'),
FALSE,
'N',
chr(0));
COMMIT;
-- dbms_output.put_line(l_request_id);
IF l_request_id = 0 THEN
cux_conc_utl.log_msg('调用标准请求 初始化信用汇总表 出错');
raise_exception('E');
END IF;
-- 导入信用风险完成
-- wait request
l_wait := fnd_concurrent.wait_for_request(request_id => l_request_id,
INTERVAL => 1, -- interval second for check
max_wait => 0, -- max_wait, Max amount of time to wait (in seconds)
phase => l_phase,
status => l_status,
dev_phase => l_dev_phase,
dev_status => l_dev_status,
message => l_message);
IF upper(l_status) NOT IN ('NORMAL', '正常') THEN
cux_conc_utl.log_msg('调用标准请求 初始化信用汇总表 - ' || l_message);
raise_exception('E');
END IF;
ELSE
cux_conc_utl.log_msg('调用 import_credit_exposure 导入可拓展类型为18 的信用风险出错 - ');
raise_exception('E');
END IF; -- IF l_return_status = 'S' THNE
RETURN 'S';
END check_credit;