17:
18: -- Hint: Primary key needs to be returned.
19: PROCEDURE Create_warranty_contract(
20: P_Api_Version_Number IN NUMBER,
21: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
22: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
23: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
24: P_WARRANTY_Rec IN WARRANTY_Rec_Type := G_MISS_WARRANTY_REC,
25: --Hint: Add detail tables as parameter lists if it's master-detail relationship.
18: -- Hint: Primary key needs to be returned.
19: PROCEDURE Create_warranty_contract(
20: P_Api_Version_Number IN NUMBER,
21: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
22: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
23: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
24: P_WARRANTY_Rec IN WARRANTY_Rec_Type := G_MISS_WARRANTY_REC,
25: --Hint: Add detail tables as parameter lists if it's master-detail relationship.
26: X_WARRANTY_CONTRACT_XREF_ID OUT NOCOPY NUMBER,
19: PROCEDURE Create_warranty_contract(
20: P_Api_Version_Number IN NUMBER,
21: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
22: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
23: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
24: P_WARRANTY_Rec IN WARRANTY_Rec_Type := G_MISS_WARRANTY_REC,
25: --Hint: Add detail tables as parameter lists if it's master-detail relationship.
26: X_WARRANTY_CONTRACT_XREF_ID OUT NOCOPY NUMBER,
27: X_Return_Status OUT NOCOPY VARCHAR2,
37: -- Standard Start of API savepoint
38: SAVEPOINT Create_warranty_contract;
39:
40: -- Standard call to check for call compatibility.
41: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
42: p_api_version_number,
43: l_api_name,
44: G_PKG_NAME)
45: THEN
42: p_api_version_number,
43: l_api_name,
44: G_PKG_NAME)
45: THEN
46: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
47: END IF;
48:
49:
50: -- Initialize message list if p_init_msg_list is set to TRUE.
47: END IF;
48:
49:
50: -- Initialize message list if p_init_msg_list is set to TRUE.
51: IF FND_API.to_Boolean( p_init_msg_list )
52: THEN
53: FND_MSG_PUB.initialize;
54: END IF;
55:
58: JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD','Create_warranty_contract API: ' || l_api_name || 'start');
59:
60:
61: -- Initialize API return status to SUCCESS
62: x_return_status := FND_API.G_RET_STS_SUCCESS;
63:
64: --
65: -- API body
66: --
74: FND_MESSAGE.Set_Name('CSD', 'UT_CANNOT_GET_PROFILE_VALUE');
75: FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
76: FND_MSG_PUB.ADD;
77: END IF;
78: RAISE FND_API.G_EXC_ERROR;
79: END IF;
80:
81: -- Debug Message
82: JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD',
115: ,p_INSTANCE_ID => p_WARRANTY_rec.INSTANCE_ID); --yvchen
116: -- Hint: Primary key should be returned.
117: -- x_WARRANTY_CONTRACT_XREF_ID := px_WARRANTY_CONTRACT_XREF_ID;
118:
119: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
120: RAISE FND_API.G_EXC_ERROR;
121: END IF;
122:
123: --
116: -- Hint: Primary key should be returned.
117: -- x_WARRANTY_CONTRACT_XREF_ID := px_WARRANTY_CONTRACT_XREF_ID;
118:
119: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
120: RAISE FND_API.G_EXC_ERROR;
121: END IF;
122:
123: --
124: -- End of API body
124: -- End of API body
125: --
126:
127: -- Standard check for p_commit
128: IF FND_API.to_Boolean( p_commit )
129: THEN
130: COMMIT WORK;
131: END IF;
132:
141: p_data => x_msg_data
142: );
143:
144: EXCEPTION
145: WHEN FND_API.G_EXC_ERROR THEN
146: JTF_PLSQL_API.HANDLE_EXCEPTIONS(
147: P_API_NAME => L_API_NAME
148: ,P_PKG_NAME => G_PKG_NAME
149: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
151: ,X_MSG_COUNT => X_MSG_COUNT
152: ,X_MSG_DATA => X_MSG_DATA
153: ,X_RETURN_STATUS => X_RETURN_STATUS);
154:
155: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
156: JTF_PLSQL_API.HANDLE_EXCEPTIONS(
157: P_API_NAME => L_API_NAME
158: ,P_PKG_NAME => G_PKG_NAME
159: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
177:
178:
179: PROCEDURE Default_Warranty_Contract (
180: P_Api_Version_Number IN NUMBER,
181: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
182: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
183: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
184: P_Repair_Line_Id IN NUMBER,
185: P_Wip_Entity_Id IN NUMBER,
178:
179: PROCEDURE Default_Warranty_Contract (
180: P_Api_Version_Number IN NUMBER,
181: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
182: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
183: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
184: P_Repair_Line_Id IN NUMBER,
185: P_Wip_Entity_Id IN NUMBER,
186: P_Instance_Id IN NUMBER DEFAULT NULL, --yvchen
179: PROCEDURE Default_Warranty_Contract (
180: P_Api_Version_Number IN NUMBER,
181: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
182: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
183: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
184: P_Repair_Line_Id IN NUMBER,
185: P_Wip_Entity_Id IN NUMBER,
186: P_Instance_Id IN NUMBER DEFAULT NULL, --yvchen
187: P_Is_Parent IN VARCHAR2 := FND_API.G_TRUE, --yvchen
183: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
184: P_Repair_Line_Id IN NUMBER,
185: P_Wip_Entity_Id IN NUMBER,
186: P_Instance_Id IN NUMBER DEFAULT NULL, --yvchen
187: P_Is_Parent IN VARCHAR2 := FND_API.G_TRUE, --yvchen
188: X_Return_Status OUT NOCOPY VARCHAR2,
189: X_Msg_Count OUT NOCOPY NUMBER,
190: X_Msg_Data OUT NOCOPY VARCHAR2
191: )
233: -- Standard Start of API savepoint
234: SAVEPOINT Default_Warranty_Contract;
235:
236: -- Standard call to check for call compatibility.
237: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
238: p_api_version_number,
239: l_api_name,
240: G_PKG_NAME)
241: THEN
238: p_api_version_number,
239: l_api_name,
240: G_PKG_NAME)
241: THEN
242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
243: END IF;
244:
245:
246: -- Initialize message list if p_init_msg_list is set to TRUE.
243: END IF;
244:
245:
246: -- Initialize message list if p_init_msg_list is set to TRUE.
247: IF FND_API.to_Boolean( p_init_msg_list )
248: THEN
249: FND_MSG_PUB.initialize;
250: END IF;
251:
249: FND_MSG_PUB.initialize;
250: END IF;
251:
252: -- Initialize API return status to SUCCESS
253: x_return_status := FND_API.G_RET_STS_SUCCESS;
254:
255: --
256: -- API body
257: --
265: FND_MESSAGE.Set_Name('CSD', 'UT_CANNOT_GET_PROFILE_VALUE');
266: FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
267: FND_MSG_PUB.ADD;
268: END IF;
269: RAISE FND_API.G_EXC_ERROR;
270: END IF;
271:
272:
273: -- Debug Message
310: l_WARRANTY_Rec.INSTANCE_ID := l_instance_id; --yvchen
311:
312: Create_warranty_contract(
313: P_Api_Version_Number => 1.0,
314: P_Init_Msg_List => FND_API.G_FALSE,
315: p_commit => FND_API.G_TRUE,
316: X_Return_Status => X_Return_Status,
317: X_Msg_Count => X_Msg_Count,
318: X_Msg_Data => X_Msg_Data,
311:
312: Create_warranty_contract(
313: P_Api_Version_Number => 1.0,
314: P_Init_Msg_List => FND_API.G_FALSE,
315: p_commit => FND_API.G_TRUE,
316: X_Return_Status => X_Return_Status,
317: X_Msg_Count => X_Msg_Count,
318: X_Msg_Data => X_Msg_Data,
319: p_validation_level => fnd_api.g_valid_level_none,
315: p_commit => FND_API.G_TRUE,
316: X_Return_Status => X_Return_Status,
317: X_Msg_Count => X_Msg_Count,
318: X_Msg_Data => X_Msg_Data,
319: p_validation_level => fnd_api.g_valid_level_none,
320: P_WARRANTY_Rec => l_WARRANTY_Rec,
321: X_WARRANTY_CONTRACT_XREF_ID => l_WARRANTY_CONTRACT_XREF_ID
322: );
323: IF NOT (X_Return_Status = Fnd_Api.G_RET_STS_SUCCESS)
319: p_validation_level => fnd_api.g_valid_level_none,
320: P_WARRANTY_Rec => l_WARRANTY_Rec,
321: X_WARRANTY_CONTRACT_XREF_ID => l_WARRANTY_CONTRACT_XREF_ID
322: );
323: IF NOT (X_Return_Status = Fnd_Api.G_RET_STS_SUCCESS)
324: THEN
325: RAISE Fnd_Api.G_EXC_ERROR;
326: END IF;
327:
321: X_WARRANTY_CONTRACT_XREF_ID => l_WARRANTY_CONTRACT_XREF_ID
322: );
323: IF NOT (X_Return_Status = Fnd_Api.G_RET_STS_SUCCESS)
324: THEN
325: RAISE Fnd_Api.G_EXC_ERROR;
326: END IF;
327:
328: END IF;
329:
327:
328: END IF;
329:
330: --yvchen: if parent, find components at all levels
331: IF( p_is_parent = FND_API.G_TRUE ) THEN
332:
333: l_relationship_rec.relationship_type_code := 'COMPONENT-OF';
334: l_relationship_rec.object_id := l_instance_id; --parent instance id
335:
335:
336: --this method returns components at all levels
337: csi_ii_relationships_pub.get_relationships (
338: p_api_version => 1.0,
339: p_commit => fnd_api.g_false,
340: p_init_msg_list => fnd_api.g_false,
341: p_validation_level => 1.0,
342: p_relationship_query_rec => l_relationship_rec,
343: p_depth => fnd_api.g_miss_num,
336: --this method returns components at all levels
337: csi_ii_relationships_pub.get_relationships (
338: p_api_version => 1.0,
339: p_commit => fnd_api.g_false,
340: p_init_msg_list => fnd_api.g_false,
341: p_validation_level => 1.0,
342: p_relationship_query_rec => l_relationship_rec,
343: p_depth => fnd_api.g_miss_num,
344: p_time_stamp => fnd_api.g_miss_date,
339: p_commit => fnd_api.g_false,
340: p_init_msg_list => fnd_api.g_false,
341: p_validation_level => 1.0,
342: p_relationship_query_rec => l_relationship_rec,
343: p_depth => fnd_api.g_miss_num,
344: p_time_stamp => fnd_api.g_miss_date,
345: p_active_relationship_only => fnd_api.g_true,
346: x_relationship_tbl => l_relationship_tbl,
347: x_return_status => x_return_status,
340: p_init_msg_list => fnd_api.g_false,
341: p_validation_level => 1.0,
342: p_relationship_query_rec => l_relationship_rec,
343: p_depth => fnd_api.g_miss_num,
344: p_time_stamp => fnd_api.g_miss_date,
345: p_active_relationship_only => fnd_api.g_true,
346: x_relationship_tbl => l_relationship_tbl,
347: x_return_status => x_return_status,
348: x_msg_count => x_msg_count,
341: p_validation_level => 1.0,
342: p_relationship_query_rec => l_relationship_rec,
343: p_depth => fnd_api.g_miss_num,
344: p_time_stamp => fnd_api.g_miss_date,
345: p_active_relationship_only => fnd_api.g_true,
346: x_relationship_tbl => l_relationship_tbl,
347: x_return_status => x_return_status,
348: x_msg_count => x_msg_count,
349: x_msg_data => x_msg_data
347: x_return_status => x_return_status,
348: x_msg_count => x_msg_count,
349: x_msg_data => x_msg_data
350: );
351: IF NOT (X_Return_Status = Fnd_Api.G_RET_STS_SUCCESS)
352: THEN
353: RAISE Fnd_Api.G_EXC_ERROR;
354: END IF;
355:
349: x_msg_data => x_msg_data
350: );
351: IF NOT (X_Return_Status = Fnd_Api.G_RET_STS_SUCCESS)
352: THEN
353: RAISE Fnd_Api.G_EXC_ERROR;
354: END IF;
355:
356: --yvchen: find warranty for each component
357: FOR i IN 1..l_relationship_tbl.count LOOP
356: --yvchen: find warranty for each component
357: FOR i IN 1..l_relationship_tbl.count LOOP
358: Default_Warranty_Contract(
359: P_Api_Version_Number => 1.0,
360: P_Init_Msg_List => FND_API.G_FALSE,
361: p_commit => FND_API.G_TRUE,
362: p_validation_level => fnd_api.g_valid_level_none,
363: P_Repair_Line_Id => p_repair_line_id,
364: P_Wip_Entity_Id => p_wip_entity_id,
357: FOR i IN 1..l_relationship_tbl.count LOOP
358: Default_Warranty_Contract(
359: P_Api_Version_Number => 1.0,
360: P_Init_Msg_List => FND_API.G_FALSE,
361: p_commit => FND_API.G_TRUE,
362: p_validation_level => fnd_api.g_valid_level_none,
363: P_Repair_Line_Id => p_repair_line_id,
364: P_Wip_Entity_Id => p_wip_entity_id,
365: P_Instance_Id => l_relationship_tbl(i).SUBJECT_ID, --component instance id
358: Default_Warranty_Contract(
359: P_Api_Version_Number => 1.0,
360: P_Init_Msg_List => FND_API.G_FALSE,
361: p_commit => FND_API.G_TRUE,
362: p_validation_level => fnd_api.g_valid_level_none,
363: P_Repair_Line_Id => p_repair_line_id,
364: P_Wip_Entity_Id => p_wip_entity_id,
365: P_Instance_Id => l_relationship_tbl(i).SUBJECT_ID, --component instance id
366: P_Is_Parent => FND_API.G_FALSE, --not parent
362: p_validation_level => fnd_api.g_valid_level_none,
363: P_Repair_Line_Id => p_repair_line_id,
364: P_Wip_Entity_Id => p_wip_entity_id,
365: P_Instance_Id => l_relationship_tbl(i).SUBJECT_ID, --component instance id
366: P_Is_Parent => FND_API.G_FALSE, --not parent
367: X_Return_Status => x_return_status,
368: X_Msg_Count => x_msg_count,
369: X_Msg_Data => x_msg_data
370: );
367: X_Return_Status => x_return_status,
368: X_Msg_Count => x_msg_count,
369: X_Msg_Data => x_msg_data
370: );
371: IF NOT (X_Return_Status = Fnd_Api.G_RET_STS_SUCCESS)
372: THEN
373: RAISE Fnd_Api.G_EXC_ERROR;
374: END IF;
375: END LOOP;
369: X_Msg_Data => x_msg_data
370: );
371: IF NOT (X_Return_Status = Fnd_Api.G_RET_STS_SUCCESS)
372: THEN
373: RAISE Fnd_Api.G_EXC_ERROR;
374: END IF;
375: END LOOP;
376:
377: END IF;
382: -- End of API body
383: --
384:
385: -- Standard check for p_commit
386: IF FND_API.to_Boolean( p_commit )
387: THEN
388: COMMIT WORK;
389: END IF;
390:
399: p_data => x_msg_data
400: );
401:
402: EXCEPTION
403: WHEN FND_API.G_EXC_ERROR THEN
404: JTF_PLSQL_API.HANDLE_EXCEPTIONS(
405: P_API_NAME => L_API_NAME
406: ,P_PKG_NAME => G_PKG_NAME
407: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
409: ,X_MSG_COUNT => X_MSG_COUNT
410: ,X_MSG_DATA => X_MSG_DATA
411: ,X_RETURN_STATUS => X_RETURN_STATUS);
412:
413: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
414: JTF_PLSQL_API.HANDLE_EXCEPTIONS(
415: P_API_NAME => L_API_NAME
416: ,P_PKG_NAME => G_PKG_NAME
417: ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR