62: RESOURCE_BUSY EXCEPTION;
63: PRAGMA EXCEPTION_INIT(RESOURCE_BUSY, -0054);
64:
65: BEGIN
66: arp_message.set_line('CS_SR_PARTY_MERGE_PKG.MERGE_CUSTOMER_ID()+');
67:
68: x_return_status := FND_API.G_RET_STS_SUCCESS;
69:
70: SELECT merge_reason_code
99:
100: IF p_from_fk_id <> p_to_fk_id THEN
101: BEGIN
102: -- obtain lock on records to be updated.
103: arp_message.set_name('AR', 'AR_LOCKING_TABLE');
104: arp_message.set_token('TABLE_NAME', 'XDP_ORDER_HEADERS', FALSE);
105:
106: OPEN c1;
107: FETCH c1 bulk collect INTO l_rowid_tbl;
100: IF p_from_fk_id <> p_to_fk_id THEN
101: BEGIN
102: -- obtain lock on records to be updated.
103: arp_message.set_name('AR', 'AR_LOCKING_TABLE');
104: arp_message.set_token('TABLE_NAME', 'XDP_ORDER_HEADERS', FALSE);
105:
106: OPEN c1;
107: FETCH c1 bulk collect INTO l_rowid_tbl;
108: CLOSE c1;
128: WHERE rowid = l_rowid_tbl(i);
129:
130: l_count := SQL%ROWCOUNT;
131:
132: arp_message.set_name('AR', 'AR_ROWS_UPDATED');
133: arp_message.set_token('NUM_ROWS', to_char(l_count) );
134:
135: EXCEPTION
136: WHEN resource_busy THEN
129:
130: l_count := SQL%ROWCOUNT;
131:
132: arp_message.set_name('AR', 'AR_ROWS_UPDATED');
133: arp_message.set_token('NUM_ROWS', to_char(l_count) );
134:
135: EXCEPTION
136: WHEN resource_busy THEN
137: arp_message.set_line(g_proc_name || '.' || l_api_name ||
133: arp_message.set_token('NUM_ROWS', to_char(l_count) );
134:
135: EXCEPTION
136: WHEN resource_busy THEN
137: arp_message.set_line(g_proc_name || '.' || l_api_name ||
138: '; Could not obtain lock for records in table ' ||
139: 'XDP_ORDER_HEADERS for customer_id = ' || p_from_fk_id );
140: x_return_status := FND_API.G_RET_STS_ERROR;
141: RAISE;
140: x_return_status := FND_API.G_RET_STS_ERROR;
141: RAISE;
142:
143: WHEN others THEN
144: arp_message.set_line(g_proc_name || '.' || l_api_name || ': ' || sqlerrm);
145: x_return_status := FND_API.G_RET_STS_ERROR;
146: RAISE;
147: END;
148: END IF; -- if p_from_fk_id <> p_to_fk_id