21: -- Desc :
22: --
23: -- Parameters :
24: -- IN : p_api_version NUMBER Require
25: -- p_init_msg_list VARCHAR2 Optional (FND_API.G_FALSE)
26: -- p_commit VARCHAR2 Optional (FND_API.G_FALSE)
27: -- p_validation_level NUMBER Optional (FND_API.G_VALID_LEVEL_FULL)
28: -- OUT : x_return_status VARCHAR2(1)
29: -- x_msg_count NUMBER
22: --
23: -- Parameters :
24: -- IN : p_api_version NUMBER Require
25: -- p_init_msg_list VARCHAR2 Optional (FND_API.G_FALSE)
26: -- p_commit VARCHAR2 Optional (FND_API.G_FALSE)
27: -- p_validation_level NUMBER Optional (FND_API.G_VALID_LEVEL_FULL)
28: -- OUT : x_return_status VARCHAR2(1)
29: -- x_msg_count NUMBER
30: -- x_msg_data VARCHAR2(2000)
23: -- Parameters :
24: -- IN : p_api_version NUMBER Require
25: -- p_init_msg_list VARCHAR2 Optional (FND_API.G_FALSE)
26: -- p_commit VARCHAR2 Optional (FND_API.G_FALSE)
27: -- p_validation_level NUMBER Optional (FND_API.G_VALID_LEVEL_FULL)
28: -- OUT : x_return_status VARCHAR2(1)
29: -- x_msg_count NUMBER
30: -- x_msg_data VARCHAR2(2000)
31: -- IN : p_physical_batch_id NUMBER(15) Require
41: -- End of comments
42:
43: PROCEDURE classify_batch
44: ( p_api_version IN NUMBER,
45: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
46: p_commit IN VARCHAR2 := FND_API.G_FALSE,
47: p_validation_level IN VARCHAR2 := FND_API.G_VALID_LEVEL_FULL,
48:
49: x_return_status OUT NOCOPY VARCHAR2,
42:
43: PROCEDURE classify_batch
44: ( p_api_version IN NUMBER,
45: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
46: p_commit IN VARCHAR2 := FND_API.G_FALSE,
47: p_validation_level IN VARCHAR2 := FND_API.G_VALID_LEVEL_FULL,
48:
49: x_return_status OUT NOCOPY VARCHAR2,
50: x_msg_count OUT NOCOPY NUMBER,
43: PROCEDURE classify_batch
44: ( p_api_version IN NUMBER,
45: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
46: p_commit IN VARCHAR2 := FND_API.G_FALSE,
47: p_validation_level IN VARCHAR2 := FND_API.G_VALID_LEVEL_FULL,
48:
49: x_return_status OUT NOCOPY VARCHAR2,
50: x_msg_count OUT NOCOPY NUMBER,
51: x_msg_data OUT NOCOPY VARCHAR2,
82: BEGIN
83: -- Standard Start of API savepoint
84: SAVEPOINT classify_batch;
85: -- Standard call to check for call compatibility.
86: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
87: p_api_version ,
88: l_api_name ,
89: G_PKG_NAME )
90: THEN
87: p_api_version ,
88: l_api_name ,
89: G_PKG_NAME )
90: THEN
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
93:
94: -- Initialize message list if p_init_msg_list is set to TRUE.
95: IF FND_API.to_Boolean( p_init_msg_list ) THEN
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
93:
94: -- Initialize message list if p_init_msg_list is set to TRUE.
95: IF FND_API.to_Boolean( p_init_msg_list ) THEN
96: FND_MSG_PUB.initialize;
97: END IF;
98:
99: -- Initialize API return status to success
96: FND_MSG_PUB.initialize;
97: END IF;
98:
99: -- Initialize API return status to success
100: x_return_status := FND_API.G_RET_STS_SUCCESS;
101:
102: -- Codes start here
103: IF (p_mode = 'NEW') THEN
104: l_calc_type := 'COMMISSION';
323: END; -- end of one ruleset
324: END LOOP;
325:
326: -- Standard check of p_commit.
327: IF FND_API.To_Boolean( p_commit ) THEN
328: COMMIT WORK;
329: END IF;
330:
331: -- Standard call to get message count and if count is 1, get message info.
331: -- Standard call to get message count and if count is 1, get message info.
332: FND_MSG_PUB.Count_And_Get
333: ( p_count => x_msg_count ,
334: p_data => x_msg_data ,
335: p_encoded => FND_API.G_FALSE
336: );
337:
338: EXCEPTION
339: WHEN FND_API.G_EXC_ERROR THEN
335: p_encoded => FND_API.G_FALSE
336: );
337:
338: EXCEPTION
339: WHEN FND_API.G_EXC_ERROR THEN
340: ROLLBACK TO classify_batch;
341: x_return_status := FND_API.G_RET_STS_ERROR ;
342: FND_MSG_PUB.Count_And_Get
343: (p_count => x_msg_count ,
337:
338: EXCEPTION
339: WHEN FND_API.G_EXC_ERROR THEN
340: ROLLBACK TO classify_batch;
341: x_return_status := FND_API.G_RET_STS_ERROR ;
342: FND_MSG_PUB.Count_And_Get
343: (p_count => x_msg_count ,
344: p_data => x_msg_data ,
345: p_encoded => FND_API.G_FALSE
341: x_return_status := FND_API.G_RET_STS_ERROR ;
342: FND_MSG_PUB.Count_And_Get
343: (p_count => x_msg_count ,
344: p_data => x_msg_data ,
345: p_encoded => FND_API.G_FALSE
346: );
347:
348: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
349: ROLLBACK TO classify_batch;
344: p_data => x_msg_data ,
345: p_encoded => FND_API.G_FALSE
346: );
347:
348: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
349: ROLLBACK TO classify_batch;
350: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
351: FND_MSG_PUB.Count_And_Get
352: (p_count => x_msg_count ,
346: );
347:
348: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
349: ROLLBACK TO classify_batch;
350: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
351: FND_MSG_PUB.Count_And_Get
352: (p_count => x_msg_count ,
353: p_data => x_msg_data ,
354: p_encoded => FND_API.G_FALSE
350: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
351: FND_MSG_PUB.Count_And_Get
352: (p_count => x_msg_count ,
353: p_data => x_msg_data ,
354: p_encoded => FND_API.G_FALSE
355: );
356:
357: WHEN OTHERS THEN
358: ROLLBACK TO classify_batch;
363: sqlerrm);
364: end if;
365:
366: fnd_file.put_line(fnd_file.Log, sqlerrm);
367: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
368: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
369: THEN
370: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
371: END IF;
371: END IF;
372: FND_MSG_PUB.Count_And_Get
373: (p_count => x_msg_count ,
374: p_data => x_msg_data ,
375: p_encoded => FND_API.G_FALSE
376: );
377:
378: END classify_batch;
379:
388: --
389: --+
390: -- Parameters :
391: -- IN : p_api_version NUMBER Require
392: -- p_init_msg_list VARCHAR2 Optional (FND_API.G_FALSE)
393: -- p_commit VARCHAR2 Optional (FND_API.G_FALSE)
394: -- p_validation_level NUMBER Optional (FND_API.G_VALID_LEVEL_FULL)
395: -- p_transaction_rec cn_commission_headers%rowtype
396: -- OUT : x_return_status VARCHAR2(1)
389: --+
390: -- Parameters :
391: -- IN : p_api_version NUMBER Require
392: -- p_init_msg_list VARCHAR2 Optional (FND_API.G_FALSE)
393: -- p_commit VARCHAR2 Optional (FND_API.G_FALSE)
394: -- p_validation_level NUMBER Optional (FND_API.G_VALID_LEVEL_FULL)
395: -- p_transaction_rec cn_commission_headers%rowtype
396: -- OUT : x_return_status VARCHAR2(1)
397: -- x_msg_count NUMBER
390: -- Parameters :
391: -- IN : p_api_version NUMBER Require
392: -- p_init_msg_list VARCHAR2 Optional (FND_API.G_FALSE)
393: -- p_commit VARCHAR2 Optional (FND_API.G_FALSE)
394: -- p_validation_level NUMBER Optional (FND_API.G_VALID_LEVEL_FULL)
395: -- p_transaction_rec cn_commission_headers%rowtype
396: -- OUT : x_return_status VARCHAR2(1)
397: -- x_msg_count NUMBER
398: -- x_msg_data VARCHAR2(2000)
408: --+
409: -- End of comments
410:
411: procedure classify(p_api_version IN NUMBER,
412: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
413: p_commit IN VARCHAR2 := FND_API.G_FALSE,
414: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
415: p_transaction_rec IN cn_commission_headers%rowtype,
416: x_revenue_class_id OUT NOCOPY NUMBER,
409: -- End of comments
410:
411: procedure classify(p_api_version IN NUMBER,
412: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
413: p_commit IN VARCHAR2 := FND_API.G_FALSE,
414: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
415: p_transaction_rec IN cn_commission_headers%rowtype,
416: x_revenue_class_id OUT NOCOPY NUMBER,
417: x_return_status OUT NOCOPY VARCHAR2,
410:
411: procedure classify(p_api_version IN NUMBER,
412: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
413: p_commit IN VARCHAR2 := FND_API.G_FALSE,
414: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
415: p_transaction_rec IN cn_commission_headers%rowtype,
416: x_revenue_class_id OUT NOCOPY NUMBER,
417: x_return_status OUT NOCOPY VARCHAR2,
418: x_msg_count OUT NOCOPY NUMBER,
442:
443: begin
444:
445: --check fo null values of Processed date and Org_id
446: IF p_transaction_rec.processed_date = FND_API.G_MISS_DATE THEN
447: RAISE FND_API.G_EXC_ERROR;
448: ELSE IF p_transaction_rec.org_id = FND_API.G_MISS_NUM THEN
449: RAISE FND_API.G_EXC_ERROR;
450: END IF;
443: begin
444:
445: --check fo null values of Processed date and Org_id
446: IF p_transaction_rec.processed_date = FND_API.G_MISS_DATE THEN
447: RAISE FND_API.G_EXC_ERROR;
448: ELSE IF p_transaction_rec.org_id = FND_API.G_MISS_NUM THEN
449: RAISE FND_API.G_EXC_ERROR;
450: END IF;
451: END IF;
444:
445: --check fo null values of Processed date and Org_id
446: IF p_transaction_rec.processed_date = FND_API.G_MISS_DATE THEN
447: RAISE FND_API.G_EXC_ERROR;
448: ELSE IF p_transaction_rec.org_id = FND_API.G_MISS_NUM THEN
449: RAISE FND_API.G_EXC_ERROR;
450: END IF;
451: END IF;
452:
445: --check fo null values of Processed date and Org_id
446: IF p_transaction_rec.processed_date = FND_API.G_MISS_DATE THEN
447: RAISE FND_API.G_EXC_ERROR;
448: ELSE IF p_transaction_rec.org_id = FND_API.G_MISS_NUM THEN
449: RAISE FND_API.G_EXC_ERROR;
450: END IF;
451: END IF;
452:
453: open get_ruleset(p_transaction_rec.org_id,p_transaction_rec.processed_date);
455:
456: --Check if there is any Ruleset for the given processed date
457: if(get_ruleset%notfound) then
458: close get_ruleset;
459: raise FND_API.G_EXC_ERROR;
460: end if;
461:
462: close get_ruleset;
463: --Check if the Classification package has been generated for the selected Ruleset
461:
462: close get_ruleset;
463: --Check if the Classification package has been generated for the selected Ruleset
464: if l_ruleset_status <> 'GENERATED' then
465: raise FND_API.G_EXC_ERROR;
466: end if;
467:
468: l_package := 'cn_clsfn_' || abs(l_ruleset_id) || '_1_' || p_transaction_rec.org_id || '.';
469:
646: p_transaction_rec.transaction_amount_orig;
647:
648: -- Error handling. etc.
649: EXCEPTION
650: WHEN FND_API.G_EXC_ERROR THEN
651: x_return_status := FND_API.G_RET_STS_ERROR;
652: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
653: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
654: WHEN OTHERS THEN
647:
648: -- Error handling. etc.
649: EXCEPTION
650: WHEN FND_API.G_EXC_ERROR THEN
651: x_return_status := FND_API.G_RET_STS_ERROR;
652: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
653: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
654: WHEN OTHERS THEN
655: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
648: -- Error handling. etc.
649: EXCEPTION
650: WHEN FND_API.G_EXC_ERROR THEN
651: x_return_status := FND_API.G_RET_STS_ERROR;
652: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
653: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
654: WHEN OTHERS THEN
655: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
656:
649: EXCEPTION
650: WHEN FND_API.G_EXC_ERROR THEN
651: x_return_status := FND_API.G_RET_STS_ERROR;
652: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
653: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
654: WHEN OTHERS THEN
655: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
656:
657: end classify;
651: x_return_status := FND_API.G_RET_STS_ERROR;
652: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
653: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
654: WHEN OTHERS THEN
655: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
656:
657: end classify;
658:
659: