37:
38: IF l_org_id IS NULL THEN
39: fnd_message.set_name('FND', 'MO_OU_REQUIRED');
40: fnd_msg_pub.ADD;
41: RAISE FND_API.G_EXC_ERROR;
42: END IF;
43:
44: cn_message_pkg.begin_batch
45:
53: cn_message_pkg.debug('Processing payment');
54:
55: Pay
56: ( p_api_version => 1.0,
57: p_init_msg_list => fnd_api.g_true,
58: p_commit => fnd_api.g_true,
59: x_return_status => l_return_status,
60: x_msg_count => l_msg_count,
61: x_msg_data => l_msg_data,
54:
55: Pay
56: ( p_api_version => 1.0,
57: p_init_msg_list => fnd_api.g_true,
58: p_commit => fnd_api.g_true,
59: x_return_status => l_return_status,
60: x_msg_count => l_msg_count,
61: x_msg_data => l_msg_data,
62: p_payrun_name => p_name,
64: x_loading_status => l_loading_status,
65: x_status => l_status
66: );
67:
68: IF l_return_status <> FND_API.g_ret_sts_success
69: THEN
70: retcode := 2;
71: errbuf := FND_MSG_PUB.get(p_msg_index => fnd_msg_pub.G_LAST,
72: p_encoded => FND_API.G_FALSE);
68: IF l_return_status <> FND_API.g_ret_sts_success
69: THEN
70: retcode := 2;
71: errbuf := FND_MSG_PUB.get(p_msg_index => fnd_msg_pub.G_LAST,
72: p_encoded => FND_API.G_FALSE);
73: cn_message_pkg.debug('Error for payrun : '||errbuf);
74:
75: ELSE
76: COMMIT;
118: SAVEPOINT Pay;
119: --
120: -- Standard call to check for call compatibility.
121: --
122: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
123: p_api_version ,
124: l_api_name ,
125: l_PKG_NAME )
126: THEN
123: p_api_version ,
124: l_api_name ,
125: l_PKG_NAME )
126: THEN
127: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
128: END IF;
129: --
130: -- Initialize message list if p_init_msg_list is set to TRUE.
131: --
128: END IF;
129: --
130: -- Initialize message list if p_init_msg_list is set to TRUE.
131: --
132: IF FND_API.to_Boolean( p_init_msg_list ) THEN
133: FND_MSG_PUB.initialize;
134: END IF;
135: --
136: -- Initialize API return status to success
134: END IF;
135: --
136: -- Initialize API return status to success
137: --
138: x_return_status := FND_API.G_RET_STS_SUCCESS;
139: x_loading_status := 'CN_UPDATED';
140:
141: --
142: -- Assign the parameter to a local variable
153:
154: IF l_org_id IS NULL THEN
155: fnd_message.set_name('FND', 'MO_OU_REQUIRED');
156: fnd_msg_pub.ADD;
157: RAISE FND_API.G_EXC_ERROR;
158: END IF;
159:
160: --
161: -- User hooks
167: 'C')
168: THEN
169: cn_pmtsub_pub_cuhk.pay_pre
170: (p_api_version => p_api_version,
171: p_init_msg_list => fnd_api.g_false,
172: p_commit => fnd_api.g_false,
173: p_validation_level => p_validation_level,
174: x_return_status => x_return_status,
175: x_msg_count => x_msg_count,
168: THEN
169: cn_pmtsub_pub_cuhk.pay_pre
170: (p_api_version => p_api_version,
171: p_init_msg_list => fnd_api.g_false,
172: p_commit => fnd_api.g_false,
173: p_validation_level => p_validation_level,
174: x_return_status => x_return_status,
175: x_msg_count => x_msg_count,
176: x_msg_data => x_msg_data,
179: x_loading_status => x_loading_status,
180: x_status => x_status
181: );
182:
183: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
184: THEN
185: RAISE FND_API.G_EXC_ERROR;
186: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
187: THEN
181: );
182:
183: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
184: THEN
185: RAISE FND_API.G_EXC_ERROR;
186: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
187: THEN
188: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
189: END IF;
182:
183: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
184: THEN
185: RAISE FND_API.G_EXC_ERROR;
186: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
187: THEN
188: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
189: END IF;
190: END IF;
184: THEN
185: RAISE FND_API.G_EXC_ERROR;
186: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
187: THEN
188: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
189: END IF;
190: END IF;
191:
192: IF JTF_USR_HKS.Ok_to_Execute('CN_PMTSUB_PUB',
195: 'V')
196: THEN
197: cn_pmtsub_pub_vuhk.pay_pre
198: (p_api_version => p_api_version,
199: p_init_msg_list => fnd_api.g_false,
200: p_commit => fnd_api.g_false,
201: p_validation_level => p_validation_level,
202: x_return_status => x_return_status,
203: x_msg_count => x_msg_count,
196: THEN
197: cn_pmtsub_pub_vuhk.pay_pre
198: (p_api_version => p_api_version,
199: p_init_msg_list => fnd_api.g_false,
200: p_commit => fnd_api.g_false,
201: p_validation_level => p_validation_level,
202: x_return_status => x_return_status,
203: x_msg_count => x_msg_count,
204: x_msg_data => x_msg_data,
207: x_loading_status => x_loading_status,
208: x_status => x_status
209: );
210:
211: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
212: THEN
213: RAISE FND_API.G_EXC_ERROR;
214: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
215: THEN
209: );
210:
211: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
212: THEN
213: RAISE FND_API.G_EXC_ERROR;
214: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
215: THEN
216: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
217: END IF;
210:
211: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
212: THEN
213: RAISE FND_API.G_EXC_ERROR;
214: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
215: THEN
216: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
217: END IF;
218: END IF;
212: THEN
213: RAISE FND_API.G_EXC_ERROR;
214: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
215: THEN
216: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
217: END IF;
218: END IF;
219:
220:
233: fnd_message.set_name('CN', 'CN_PAYRUN_ALREADY_PAID');
234: fnd_msg_pub.add;
235: END IF;
236: x_loading_status := 'CN_PAYRUN_ALREADY_PAID';
237: RAISE FND_API.G_EXC_ERROR;
238: END IF;
239:
240: EXCEPTION
241: WHEN no_data_found THEN
245: fnd_message.set_name('CN', 'CN_PAYRUN_DOES_NOT_EXIST');
246: fnd_msg_pub.add;
247: END IF;
248: x_loading_status := 'CN_PAYRUN_DOES_NOT_EXIST';
249: RAISE FND_API.G_EXC_ERROR;
250: END ;
251:
252: --
253: -- API body
255:
256: cn_payrun_pvt.pay_payrun
257: ( p_api_version => p_api_version,
258: p_init_msg_list => p_init_msg_list,
259: p_commit => fnd_api.g_false,
260: p_validation_level => p_validation_level,
261: x_return_status => x_return_status,
262: x_msg_count => x_msg_count,
263: x_msg_data => x_msg_data,
282: 'V')
283: THEN
284: cn_pmtsub_pub_vuhk.pay_post
285: (p_api_version => p_api_version,
286: p_init_msg_list => fnd_api.g_false,
287: p_commit => fnd_api.g_false,
288: p_validation_level => p_validation_level,
289: x_return_status => x_return_status,
290: x_msg_count => x_msg_count,
283: THEN
284: cn_pmtsub_pub_vuhk.pay_post
285: (p_api_version => p_api_version,
286: p_init_msg_list => fnd_api.g_false,
287: p_commit => fnd_api.g_false,
288: p_validation_level => p_validation_level,
289: x_return_status => x_return_status,
290: x_msg_count => x_msg_count,
291: x_msg_data => x_msg_data,
294: x_loading_status => x_loading_status,
295: x_status => x_status
296: );
297:
298: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
299: THEN
300: RAISE FND_API.G_EXC_ERROR;
301: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
302: THEN
296: );
297:
298: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
299: THEN
300: RAISE FND_API.G_EXC_ERROR;
301: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
302: THEN
303: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
304: END IF;
297:
298: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
299: THEN
300: RAISE FND_API.G_EXC_ERROR;
301: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
302: THEN
303: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
304: END IF;
305: END IF;
299: THEN
300: RAISE FND_API.G_EXC_ERROR;
301: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
302: THEN
303: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
304: END IF;
305: END IF;
306:
307: IF JTF_USR_HKS.Ok_to_Execute('CN_PMTSUB_PUB',
310: 'C')
311: THEN
312: cn_pmtsub_pub_cuhk.pay_post
313: (p_api_version => p_api_version,
314: p_init_msg_list => fnd_api.g_false,
315: p_commit => fnd_api.g_false,
316: p_validation_level => p_validation_level,
317: x_return_status => x_return_status,
318: x_msg_count => x_msg_count,
311: THEN
312: cn_pmtsub_pub_cuhk.pay_post
313: (p_api_version => p_api_version,
314: p_init_msg_list => fnd_api.g_false,
315: p_commit => fnd_api.g_false,
316: p_validation_level => p_validation_level,
317: x_return_status => x_return_status,
318: x_msg_count => x_msg_count,
319: x_msg_data => x_msg_data,
322: x_loading_status => x_loading_status,
323: x_status => x_status
324: );
325:
326: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
327: THEN
328: RAISE FND_API.G_EXC_ERROR;
329: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
330: THEN
324: );
325:
326: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
327: THEN
328: RAISE FND_API.G_EXC_ERROR;
329: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
330: THEN
331: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
332: END IF;
325:
326: IF ( x_return_status = FND_API.G_RET_STS_ERROR )
327: THEN
328: RAISE FND_API.G_EXC_ERROR;
329: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
330: THEN
331: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
332: END IF;
333: END IF;
327: THEN
328: RAISE FND_API.G_EXC_ERROR;
329: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
330: THEN
331: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
332: END IF;
333: END IF;
334:
335: IF JTF_USR_HKS.Ok_to_execute('CN_PMTSUB_PUB',
357: p_oai_param => null,
358: p_oai_array => l_oai_array,
359: x_return_code => x_return_status);
360:
361: IF (x_return_status = FND_API.G_RET_STS_ERROR)
362: THEN
363: RAISE FND_API.G_EXC_ERROR;
364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
365: THEN
359: x_return_code => x_return_status);
360:
361: IF (x_return_status = FND_API.G_RET_STS_ERROR)
362: THEN
363: RAISE FND_API.G_EXC_ERROR;
364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
365: THEN
366: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
367: END IF;
360:
361: IF (x_return_status = FND_API.G_RET_STS_ERROR)
362: THEN
363: RAISE FND_API.G_EXC_ERROR;
364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
365: THEN
366: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
367: END IF;
368: END IF;
362: THEN
363: RAISE FND_API.G_EXC_ERROR;
364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR )
365: THEN
366: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
367: END IF;
368: END IF;
369: END IF;
370:
368: END IF;
369: END IF;
370:
371: -- Standard check of p_commit.
372: IF FND_API.To_Boolean( p_commit ) THEN
373: COMMIT WORK;
374: END IF;
375:
376: --
380: FND_MSG_PUB.Count_And_Get
381: (
382: p_count => x_msg_count ,
383: p_data => x_msg_data ,
384: p_encoded => FND_API.G_FALSE
385: );
386:
387: EXCEPTION
388: WHEN FND_API.G_EXC_ERROR THEN
384: p_encoded => FND_API.G_FALSE
385: );
386:
387: EXCEPTION
388: WHEN FND_API.G_EXC_ERROR THEN
389: ROLLBACK TO Pay;
390: x_return_status := FND_API.G_RET_STS_ERROR ;
391: FND_MSG_PUB.Count_And_Get
392: (
386:
387: EXCEPTION
388: WHEN FND_API.G_EXC_ERROR THEN
389: ROLLBACK TO Pay;
390: x_return_status := FND_API.G_RET_STS_ERROR ;
391: FND_MSG_PUB.Count_And_Get
392: (
393: p_count => x_msg_count ,
394: p_data => x_msg_data ,
391: FND_MSG_PUB.Count_And_Get
392: (
393: p_count => x_msg_count ,
394: p_data => x_msg_data ,
395: p_encoded => FND_API.G_FALSE
396: );
397: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
398: ROLLBACK TO Pay;
399: x_loading_status := 'UNEXPECTED_ERR';
393: p_count => x_msg_count ,
394: p_data => x_msg_data ,
395: p_encoded => FND_API.G_FALSE
396: );
397: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
398: ROLLBACK TO Pay;
399: x_loading_status := 'UNEXPECTED_ERR';
400: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
401: FND_MSG_PUB.Count_And_Get
396: );
397: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
398: ROLLBACK TO Pay;
399: x_loading_status := 'UNEXPECTED_ERR';
400: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
401: FND_MSG_PUB.Count_And_Get
402: (
403: p_count => x_msg_count ,
404: p_data => x_msg_data ,
401: FND_MSG_PUB.Count_And_Get
402: (
403: p_count => x_msg_count ,
404: p_data => x_msg_data ,
405: p_encoded => FND_API.G_FALSE
406: );
407: WHEN OTHERS THEN
408: ROLLBACK TO Pay;
409: x_loading_status := 'UNEXPECTED_ERR';
406: );
407: WHEN OTHERS THEN
408: ROLLBACK TO Pay;
409: x_loading_status := 'UNEXPECTED_ERR';
410: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
411: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
412: THEN
413: FND_MSG_PUB.Add_Exc_Msg( l_PKG_NAME ,l_api_name );
414: END IF;
415: FND_MSG_PUB.Count_And_Get
416: (
417: p_count => x_msg_count ,
418: p_data => x_msg_data ,
419: p_encoded => FND_API.G_FALSE
420: );
421: END Pay;
422: --============================================================================
423: PROCEDURE submit_request (p_payrun_id IN NUMBER,