9: -- Pre-reqs : None.
10: -- Parameters :
11: -- IN : p_api_version IN NUMBER Required
12: -- p_init_msg_list IN VARCHAR2 Optional
13: -- Default = FND_API.G_FALSE
14: -- p_commit IN VARCHAR2 Optional
15: -- Default = FND_API.G_FALSE
16: -- p_validation_level IN NUMBER Optional
17: -- Default = FND_API.G_VALID_LEVEL_FULL
11: -- IN : p_api_version IN NUMBER Required
12: -- p_init_msg_list IN VARCHAR2 Optional
13: -- Default = FND_API.G_FALSE
14: -- p_commit IN VARCHAR2 Optional
15: -- Default = FND_API.G_FALSE
16: -- p_validation_level IN NUMBER Optional
17: -- Default = FND_API.G_VALID_LEVEL_FULL
18: -- parameter1
19: -- parameter2
13: -- Default = FND_API.G_FALSE
14: -- p_commit IN VARCHAR2 Optional
15: -- Default = FND_API.G_FALSE
16: -- p_validation_level IN NUMBER Optional
17: -- Default = FND_API.G_VALID_LEVEL_FULL
18: -- parameter1
19: -- parameter2
20: -- .
21: -- .
43: G_PKG_NAME CONSTANT VARCHAR2(30):='EAM_WorkOrderBilling_PVT';
44:
45: PROCEDURE insert_AR_Interface
46: ( p_api_version IN NUMBER ,
47: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
48: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
49: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
50: x_return_status OUT NOCOPY VARCHAR2 ,
51: x_msg_count OUT NOCOPY NUMBER ,
44:
45: PROCEDURE insert_AR_Interface
46: ( p_api_version IN NUMBER ,
47: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
48: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
49: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
50: x_return_status OUT NOCOPY VARCHAR2 ,
51: x_msg_count OUT NOCOPY NUMBER ,
52: x_msg_data OUT NOCOPY VARCHAR2 ,
45: PROCEDURE insert_AR_Interface
46: ( p_api_version IN NUMBER ,
47: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
48: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
49: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
50: x_return_status OUT NOCOPY VARCHAR2 ,
51: x_msg_count OUT NOCOPY NUMBER ,
52: x_msg_data OUT NOCOPY VARCHAR2 ,
53: p_ra_line IN WO_Billing_RA_Rec_Type
77: l_stmt := 10;
78: -- Standard Start of API savepoint
79: SAVEPOINT insert_AR_Interface_PVT;
80: -- Standard call to check for call compatibility.
81: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
82: p_api_version ,
83: l_api_name ,
84: G_PKG_NAME )
85: THEN
82: p_api_version ,
83: l_api_name ,
84: G_PKG_NAME )
85: THEN
86: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
87: END IF;
88: -- Initialize message list if p_init_msg_list is set to TRUE.
89: IF FND_API.to_Boolean( p_init_msg_list ) THEN
90: FND_MSG_PUB.initialize;
85: THEN
86: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
87: END IF;
88: -- Initialize message list if p_init_msg_list is set to TRUE.
89: IF FND_API.to_Boolean( p_init_msg_list ) THEN
90: FND_MSG_PUB.initialize;
91: END IF;
92: -- Initialize API return status to success
93: x_return_status := FND_API.G_RET_STS_SUCCESS;
89: IF FND_API.to_Boolean( p_init_msg_list ) THEN
90: FND_MSG_PUB.initialize;
91: END IF;
92: -- Initialize API return status to success
93: x_return_status := FND_API.G_RET_STS_SUCCESS;
94:
95: -- API body
96:
97: -- validation 0: All required fields have to be present.
102: (p_ra_line.line_num is null)
103: then
104: FND_MESSAGE.SET_NAME('EAM', 'EAM_NOT_ENOUGH_PARAMS');
105: FND_MSG_PUB.Add;
106: RAISE FND_API.G_EXC_ERROR;
107: end if;
108:
109: l_stmt := 20;
110:
123:
124: if (l_count=0) then
125: FND_MESSAGE.SET_NAME('EAM', 'EAM_CUSTOMER_NOT_EXIST');
126: FND_MSG_PUB.Add;
127: RAISE FND_API.G_EXC_ERROR;
128: end if;
129:
130: -- validation 3: unit selling price * quantity = amount
131: if not (p_ra_line.unit_selling_price * p_ra_line.quantity = p_ra_line.billed_amount)
131: if not (p_ra_line.unit_selling_price * p_ra_line.quantity = p_ra_line.billed_amount)
132: then
133: FND_MESSAGE.SET_NAME('EAM', 'EAM_RA_WRONG_AMOUNT');
134: FND_MSG_PUB.Add;
135: RAISE FND_API.G_EXC_ERROR;
136: end if;
137:
138: l_stmt := 30;
139:
153: exception
154: when no_data_found then
155: FND_MESSAGE.SET_NAME ('EAM', 'EAM_INVALID_ORG_ID');
156: FND_MSG_PUB.Add;
157: RAISE FND_API.G_EXC_ERROR;
158: end;
159:
160: -- get desc. of invoice
161: l_desc_of_invoice:='Invoice for work order #' || p_ra_line.wip_entity_id || ', ' || p_ra_line.wip_entity_name;
168: exception
169: when no_data_found then
170: FND_MESSAGE.SET_NAME ('EAM', 'EAM_INVALID_UOM_CODE');
171: FND_MSG_PUB.Add;
172: RAISE FND_API.G_EXC_ERROR;
173: end;
174:
175: l_stmt := 40;
176: -- get term id
353:
354: -- End of API body.
355:
356: -- Standard check of p_commit.
357: IF FND_API.To_Boolean( p_commit ) THEN
358: COMMIT WORK;
359: END IF;
360: -- Standard call to get message count and if count is 1, get message info.
361: FND_MSG_PUB.Count_And_Get
362: ( p_count => x_msg_count ,
363: p_data => x_msg_data
364: );
365: EXCEPTION
366: WHEN FND_API.G_EXC_ERROR THEN
367: ROLLBACK TO insert_AR_Interface_PVT;
368: x_return_status := FND_API.G_RET_STS_ERROR ;
369: FND_MSG_PUB.Count_And_Get
370: ( p_count => x_msg_count ,
364: );
365: EXCEPTION
366: WHEN FND_API.G_EXC_ERROR THEN
367: ROLLBACK TO insert_AR_Interface_PVT;
368: x_return_status := FND_API.G_RET_STS_ERROR ;
369: FND_MSG_PUB.Count_And_Get
370: ( p_count => x_msg_count ,
371: p_data => x_msg_data
372: );
369: FND_MSG_PUB.Count_And_Get
370: ( p_count => x_msg_count ,
371: p_data => x_msg_data
372: );
373: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
374: ROLLBACK TO insert_AR_Interface_PVT;
375: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
376: FND_MSG_PUB.Count_And_Get
377: ( p_count => x_msg_count ,
371: p_data => x_msg_data
372: );
373: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
374: ROLLBACK TO insert_AR_Interface_PVT;
375: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
376: FND_MSG_PUB.Count_And_Get
377: ( p_count => x_msg_count ,
378: p_data => x_msg_data
379: );
378: p_data => x_msg_data
379: );
380: WHEN OTHERS THEN
381: ROLLBACK TO insert_AR_Interface_PVT;
382: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
383: IF FND_MSG_PUB.Check_Msg_Level
384: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
385: THEN
386: FND_MSG_PUB.Add_Exc_Msg
397:
398:
399: PROCEDURE insert_WOB_Table
400: ( p_api_version IN NUMBER ,
401: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
402: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
403: p_validation_level IN NUMBER :=
404: FND_API.G_VALID_LEVEL_FULL ,
405: x_return_status OUT NOCOPY VARCHAR2 ,
398:
399: PROCEDURE insert_WOB_Table
400: ( p_api_version IN NUMBER ,
401: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
402: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
403: p_validation_level IN NUMBER :=
404: FND_API.G_VALID_LEVEL_FULL ,
405: x_return_status OUT NOCOPY VARCHAR2 ,
406: x_msg_count OUT NOCOPY NUMBER ,
400: ( p_api_version IN NUMBER ,
401: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
402: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
403: p_validation_level IN NUMBER :=
404: FND_API.G_VALID_LEVEL_FULL ,
405: x_return_status OUT NOCOPY VARCHAR2 ,
406: x_msg_count OUT NOCOPY NUMBER ,
407: x_msg_data OUT NOCOPY VARCHAR2 ,
408: p_wob_rec IN WO_Billing_Rec_Type
416: BEGIN
417: -- Standard Start of API savepoint
418: SAVEPOINT insert_WO_Table_PVT;
419: -- Standard call to check for call compatibility.
420: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
421: p_api_version ,
422: l_api_name ,
423: G_PKG_NAME )
424: THEN
421: p_api_version ,
422: l_api_name ,
423: G_PKG_NAME )
424: THEN
425: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
426: END IF;
427: -- Initialize message list if p_init_msg_list is set to TRUE.
428: IF FND_API.to_Boolean( p_init_msg_list ) THEN
429: FND_MSG_PUB.initialize;
424: THEN
425: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
426: END IF;
427: -- Initialize message list if p_init_msg_list is set to TRUE.
428: IF FND_API.to_Boolean( p_init_msg_list ) THEN
429: FND_MSG_PUB.initialize;
430: END IF;
431: -- Initialize API return status to success
432: x_return_status := FND_API.G_RET_STS_SUCCESS;
428: IF FND_API.to_Boolean( p_init_msg_list ) THEN
429: FND_MSG_PUB.initialize;
430: END IF;
431: -- Initialize API return status to success
432: x_return_status := FND_API.G_RET_STS_SUCCESS;
433: -- API body
434:
435: -- check all the "not null" fields
436: if (p_wob_rec.organization_id is null) or
445: (p_wob_rec.currency_code is null)
446: then
447: FND_MESSAGE.SET_NAME('EAM', 'EAM_WRONG_PARAM_COST_PL');
448: FND_MSG_PUB.Add;
449: RAISE FND_API.G_EXC_ERROR;
450: end if;
451:
452: -- get rounded amount
453: select decode(c1.minimum_accountable_unit,
560:
561:
562: -- End of API body.
563: -- Standard check of p_commit.
564: IF FND_API.To_Boolean( p_commit ) THEN
565: COMMIT WORK;
566: END IF;
567: -- Standard call to get message count and if count is 1, get message info.
568: FND_MSG_PUB.Count_And_Get
569: ( p_count => x_msg_count ,
570: p_data => x_msg_data
571: );
572: EXCEPTION
573: WHEN FND_API.G_EXC_ERROR THEN
574: ROLLBACK TO insert_WO_Table_PVT;
575: x_return_status := FND_API.G_RET_STS_ERROR ;
576: FND_MSG_PUB.Count_And_Get
577: ( p_count => x_msg_count ,
571: );
572: EXCEPTION
573: WHEN FND_API.G_EXC_ERROR THEN
574: ROLLBACK TO insert_WO_Table_PVT;
575: x_return_status := FND_API.G_RET_STS_ERROR ;
576: FND_MSG_PUB.Count_And_Get
577: ( p_count => x_msg_count ,
578: p_data => x_msg_data
579: );
576: FND_MSG_PUB.Count_And_Get
577: ( p_count => x_msg_count ,
578: p_data => x_msg_data
579: );
580: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
581: ROLLBACK TO insert_WO_Table_PVT;
582: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
583: FND_MSG_PUB.Count_And_Get
584: ( p_count => x_msg_count ,
578: p_data => x_msg_data
579: );
580: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
581: ROLLBACK TO insert_WO_Table_PVT;
582: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
583: FND_MSG_PUB.Count_And_Get
584: ( p_count => x_msg_count ,
585: p_data => x_msg_data
586: );
585: p_data => x_msg_data
586: );
587: WHEN OTHERS THEN
588: ROLLBACK TO insert_WO_Table_PVT;
589: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
590: IF FND_MSG_PUB.Check_Msg_Level
591: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
592: THEN
593: FND_MSG_PUB.Add_Exc_Msg
605: /*
606: PROCEDURE insert_PAEvent_Table
607: ( p_api_version IN NUMBER
608: ,
609: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
610: p_commit IN VARCHAR2 := FND_API.G_FALSE
611: ,
612: p_validation_level IN NUMBER :=
613: FND_API.G_VALID_LEVEL_FULL
606: PROCEDURE insert_PAEvent_Table
607: ( p_api_version IN NUMBER
608: ,
609: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
610: p_commit IN VARCHAR2 := FND_API.G_FALSE
611: ,
612: p_validation_level IN NUMBER :=
613: FND_API.G_VALID_LEVEL_FULL
614: ,
609: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
610: p_commit IN VARCHAR2 := FND_API.G_FALSE
611: ,
612: p_validation_level IN NUMBER :=
613: FND_API.G_VALID_LEVEL_FULL
614: ,
615: x_return_status OUT NOCOPY VARCHAR2 ,
616: x_msg_count OUT NOCOPY NUMBER
617: ,
654: BEGIN
655: -- Standard Start of API savepoint
656: SAVEPOINT insert_PAEvent_Table_PVT;
657: -- Standard call to check for call compatibility.
658: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
659: p_api_version ,
660: l_api_name ,
661: G_PKG_NAME )
662: THEN
659: p_api_version ,
660: l_api_name ,
661: G_PKG_NAME )
662: THEN
663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
664: END IF;
665: -- Initialize message list if p_init_msg_list is set to TRUE.
666: IF FND_API.to_Boolean( p_init_msg_list ) THEN
667: FND_MSG_PUB.initialize;
662: THEN
663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
664: END IF;
665: -- Initialize message list if p_init_msg_list is set to TRUE.
666: IF FND_API.to_Boolean( p_init_msg_list ) THEN
667: FND_MSG_PUB.initialize;
668: END IF;
669: -- Initialize API return status to success
670: x_return_status := FND_API.G_RET_STS_SUCCESS;
666: IF FND_API.to_Boolean( p_init_msg_list ) THEN
667: FND_MSG_PUB.initialize;
668: END IF;
669: -- Initialize API return status to success
670: x_return_status := FND_API.G_RET_STS_SUCCESS;
671: -- API body
672:
673: /*
674: -- get event_num
714:
715: if (l_return_status='E') then
716: FND_MESSAGE.SET_NAME('EAM', 'EAM_INVALID_PROJ_ID');
717: FND_MSG_PUB.Add;
718: RAISE FND_API.G_EXC_ERROR;
719: end if;
720:
721:
722: -- Get the rounded amount
814:
815:
816: -- End of API body.
817: -- Standard check of p_commit.
818: IF FND_API.To_Boolean( p_commit ) THEN
819: COMMIT WORK;
820: END IF;
821: -- Standard call to get message count and if count is 1, get message info.
822: FND_MSG_PUB.Count_And_Get
823: ( p_count => x_msg_count ,
824: p_data => x_msg_data
825: );
826: EXCEPTION
827: WHEN FND_API.G_EXC_ERROR THEN
828: ROLLBACK TO insert_PAEvent_Table_PVT;
829: x_return_status := FND_API.G_RET_STS_ERROR ;
830: FND_MSG_PUB.Count_And_Get
831: ( p_count => x_msg_count ,
825: );
826: EXCEPTION
827: WHEN FND_API.G_EXC_ERROR THEN
828: ROLLBACK TO insert_PAEvent_Table_PVT;
829: x_return_status := FND_API.G_RET_STS_ERROR ;
830: FND_MSG_PUB.Count_And_Get
831: ( p_count => x_msg_count ,
832: p_data => x_msg_data
833: );
830: FND_MSG_PUB.Count_And_Get
831: ( p_count => x_msg_count ,
832: p_data => x_msg_data
833: );
834: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
835: ROLLBACK TO insert_PAEvent_Table_PVT;
836: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
837: FND_MSG_PUB.Count_And_Get
838: ( p_count => x_msg_count ,
832: p_data => x_msg_data
833: );
834: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
835: ROLLBACK TO insert_PAEvent_Table_PVT;
836: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
837: FND_MSG_PUB.Count_And_Get
838: ( p_count => x_msg_count ,
839: p_data => x_msg_data
840: );
839: p_data => x_msg_data
840: );
841: WHEN OTHERS THEN
842: ROLLBACK TO insert_PAEvent_Table_PVT;
843: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
844: IF FND_MSG_PUB.Check_Msg_Level
845: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
846: THEN
847: FND_MSG_PUB.Add_Exc_Msg