DECLARE l_rec_profile_t hz_customer_profile_v2pub.customer_profile_rec_type; l_rec_profile hz_customer_profile_v2pub.cust_profile_amt_rec_type; l_profile_amt_id NUMBER; l_profile_id NUMBER; l_return_status1 VARCHAR2(30); l_msg_count1 NUMBER; l_msg_data1 VARCHAR2(2000); l_return_status2 VARCHAR2(30); l_msg_count2 NUMBER; l_msg_data2 VARCHAR2(2000); l_object_version_number NUMBER; BEGIN /* alter session set NLS_LANGUAGE = 'AMERICAN' ;*/ mo_global.init('AR'); fnd_global.apps_initialize(user_id => 1250, resp_id => 50719, resp_appl_id => 20005); l_rec_profile_t.cust_account_profile_id := 1040; l_rec_profile_t.cust_account_id := 1042; --CXY-TEST0028660 /* l_rec_profile_t.status := 'A'; l_rec_profile_t.collector_id := NULL; l_rec_profile_t.credit_analyst_id := NULL; l_rec_profile_t.credit_checking := NULL; l_rec_profile_t.next_credit_review_date := NULL; l_rec_profile_t.tolerance := NULL; l_rec_profile_t.discount_terms := NULL; l_rec_profile_t.dunning_letters := NULL; l_rec_profile_t.interest_charges := NULL; l_rec_profile_t.send_statements := NULL; l_rec_profile_t.credit_balance_statements := NULL;*/ l_rec_profile_t.credit_hold := 'N'; /*l_rec_profile_t.profile_class_id := NULL; l_rec_profile_t.site_use_id := 420072; --BILL_TO l_rec_profile_t.credit_rating := NULL; l_rec_profile_t.risk_code := NULL; l_rec_profile_t.standard_terms := NULL; l_rec_profile_t.override_terms := NULL; l_rec_profile_t.dunning_letter_set_id := NULL; l_rec_profile_t.interest_period_days := NULL; l_rec_profile_t.payment_grace_days := NULL; l_rec_profile_t.discount_grace_days := NULL; l_rec_profile_t.statement_cycle_id := NULL; l_rec_profile_t.account_status := NULL; l_rec_profile_t.percent_collectable := NULL; l_rec_profile_t.autocash_hierarchy_id := NULL; l_rec_profile_t.auto_rec_incl_disputed_flag := NULL; l_rec_profile_t.tax_printing_option := NULL; l_rec_profile_t.charge_on_finance_charge_flag := NULL; l_rec_profile_t.grouping_rule_id := NULL; l_rec_profile_t.clearing_days := NULL; l_rec_profile_t.cons_inv_flag := NULL; l_rec_profile_t.cons_inv_type := NULL; l_rec_profile_t.autocash_hierarchy_id_for_adr := NULL; l_rec_profile_t.lockbox_matching_option := NULL; l_rec_profile_t.created_by_module := 'BLC'; l_rec_profile_t.application_id := NULL; l_rec_profile_t.review_cycle := NULL; l_rec_profile_t.last_credit_review_date := NULL; l_rec_profile_t.party_id := NULL; l_rec_profile_t.credit_classification := NULL; l_rec_profile_t.cons_bill_level := NULL; l_rec_profile_t.late_charge_calculation_trx := NULL; l_rec_profile_t.credit_items_flag := NULL; l_rec_profile_t.disputed_transactions_flag := NULL; l_rec_profile_t.late_charge_type := NULL; l_rec_profile_t.late_charge_term_id := NULL; l_rec_profile_t.interest_calculation_period := NULL; l_rec_profile_t.hold_charged_invoices_flag := NULL; l_rec_profile_t.message_text_id := NULL; l_rec_profile_t.multiple_interest_rates_flag := NULL; l_rec_profile_t.charge_begin_date := NULL; l_rec_profile_t.automatch_set_id := NULL;*/ l_object_version_number := 5;--此值需为当前此配置文件的值,API里验证例如以下 /* IF NOT ((p_object_version_number IS NULL AND l_object_version_number IS NULL) OR (p_object_version_number IS NOT NULL AND l_object_version_number IS NOT NULL AND p_object_version_number = l_object_version_number)) THEN fnd_message.set_name('AR', 'HZ_API_RECORD_CHANGED'); fnd_message.set_token('TABLE', 'hz_customer_profiles'); fnd_msg_pub.add; RAISE fnd_api.g_exc_error; 因为还有一用户已经更新了表 hz_customer_profiles 中的记录。因此无法锁定该记录。 END IF;*/ hz_customer_profile_v2pub.update_customer_profile(p_init_msg_list => fnd_api.g_false, p_customer_profile_rec => l_rec_profile_t, p_object_version_number => l_object_version_number, x_return_status => l_return_status1, x_msg_count => l_msg_count1, x_msg_data => l_msg_data1); FOR i IN 1 .. l_msg_count1 LOOP l_msg_data1 := fnd_msg_pub.get(p_msg_index => i, p_encoded => 'F'); END LOOP; --FOR i IN 1 .. x_msg_count LOOP dbms_output.put_line('x_return_status1:' || l_return_status1); dbms_output.put_line('l_msg_count1:' || l_msg_count1); dbms_output.put_line('l_msg_data1:' || l_msg_data1); dbms_output.put_line('l_profile_amt_id:' || l_profile_amt_id); EXCEPTION WHEN OTHERS THEN dbms_output.put_line('x_return_status:' || SQLERRM); END;