83: PROCEDURE Default_Missing_Attribs
84: ( p_x_task_rec IN OUT NOCOPY AHL_VWP_RULES_PVT.Task_Rec_Type)
85: AS
86: BEGIN
87: IF p_x_task_rec.DURATION = Fnd_Api.G_MISS_NUM THEN
88: p_x_task_rec.DURATION := NULL;
89: ELSE
90: p_x_task_rec.DURATION := p_x_task_rec.DURATION;
91: END IF;
89: ELSE
90: p_x_task_rec.DURATION := p_x_task_rec.DURATION;
91: END IF;
92:
93: IF p_x_task_rec.PROJECT_TASK_ID = Fnd_Api.G_MISS_NUM THEN
94: p_x_task_rec.PROJECT_TASK_ID := NULL;
95: ELSE
96: p_x_task_rec.PROJECT_TASK_ID := p_x_task_rec.PROJECT_TASK_ID;
97: END IF;
95: ELSE
96: p_x_task_rec.PROJECT_TASK_ID := p_x_task_rec.PROJECT_TASK_ID;
97: END IF;
98:
99: IF p_x_task_rec.COST_PARENT_ID = Fnd_Api.G_MISS_NUM THEN
100: p_x_task_rec.COST_PARENT_ID := NULL;
101: ELSE
102: p_x_task_rec.COST_PARENT_ID := p_x_task_rec.COST_PARENT_ID;
103: END IF;
101: ELSE
102: p_x_task_rec.COST_PARENT_ID := p_x_task_rec.COST_PARENT_ID;
103: END IF;
104:
105: IF p_x_task_rec.MR_ROUTE_ID = Fnd_Api.G_MISS_NUM THEN
106: p_x_task_rec.MR_ROUTE_ID := NULL;
107: ELSE
108: p_x_task_rec.MR_ROUTE_ID := p_x_task_rec.MR_ROUTE_ID;
109: END IF;
107: ELSE
108: p_x_task_rec.MR_ROUTE_ID := p_x_task_rec.MR_ROUTE_ID;
109: END IF;
110:
111: IF p_x_task_rec.MR_ID = Fnd_Api.G_MISS_NUM THEN
112: p_x_task_rec.MR_ID := NULL;
113: ELSE
114: p_x_task_rec.MR_ID := p_x_task_rec.MR_ID;
115: END IF;
113: ELSE
114: p_x_task_rec.MR_ID := p_x_task_rec.MR_ID;
115: END IF;
116:
117: IF p_x_task_rec.UNIT_EFFECTIVITY_ID = Fnd_Api.G_MISS_NUM THEN
118: p_x_task_rec.UNIT_EFFECTIVITY_ID := NULL;
119: ELSE
120: p_x_task_rec.UNIT_EFFECTIVITY_ID := p_x_task_rec.UNIT_EFFECTIVITY_ID;
121: END IF;
119: ELSE
120: p_x_task_rec.UNIT_EFFECTIVITY_ID := p_x_task_rec.UNIT_EFFECTIVITY_ID;
121: END IF;
122:
123: IF p_x_task_rec.START_FROM_HOUR = Fnd_Api.G_MISS_NUM THEN
124: p_x_task_rec.START_FROM_HOUR := NULL;
125: ELSE
126: p_x_task_rec.START_FROM_HOUR := p_x_task_rec.START_FROM_HOUR;
127: END IF;
125: ELSE
126: p_x_task_rec.START_FROM_HOUR := p_x_task_rec.START_FROM_HOUR;
127: END IF;
128:
129: IF p_x_task_rec.PRIMARY_VISIT_TASK_ID = Fnd_Api.G_MISS_NUM THEN
130: p_x_task_rec.PRIMARY_VISIT_TASK_ID := NULL;
131: ELSE
132: p_x_task_rec.PRIMARY_VISIT_TASK_ID := p_x_task_rec.PRIMARY_VISIT_TASK_ID;
133: END IF;
131: ELSE
132: p_x_task_rec.PRIMARY_VISIT_TASK_ID := p_x_task_rec.PRIMARY_VISIT_TASK_ID;
133: END IF;
134:
135: IF p_x_task_rec.ORIGINATING_TASK_ID = Fnd_Api.G_MISS_NUM THEN
136: p_x_task_rec.ORIGINATING_TASK_ID := NULL;
137: ELSE
138: p_x_task_rec.ORIGINATING_TASK_ID := p_x_task_rec.ORIGINATING_TASK_ID;
139: END IF;
137: ELSE
138: p_x_task_rec.ORIGINATING_TASK_ID := p_x_task_rec.ORIGINATING_TASK_ID;
139: END IF;
140:
141: IF p_x_task_rec.SERVICE_REQUEST_ID = Fnd_Api.G_MISS_NUM THEN
142: p_x_task_rec.SERVICE_REQUEST_ID := NULL;
143: ELSE
144: p_x_task_rec.SERVICE_REQUEST_ID := p_x_task_rec.SERVICE_REQUEST_ID;
145: END IF;
143: ELSE
144: p_x_task_rec.SERVICE_REQUEST_ID := p_x_task_rec.SERVICE_REQUEST_ID;
145: END IF;
146:
147: IF p_x_task_rec.attribute_category = Fnd_Api.G_MISS_CHAR THEN
148: p_x_task_rec.attribute_category := NULL;
149: ELSE
150: p_x_task_rec.attribute_category := p_x_task_rec.attribute_category;
151: END IF;
149: ELSE
150: p_x_task_rec.attribute_category := p_x_task_rec.attribute_category;
151: END IF;
152:
153: IF p_x_task_rec.attribute1 = Fnd_Api.G_MISS_CHAR THEN
154: p_x_task_rec.attribute1 := NULL;
155: ELSE
156: p_x_task_rec.attribute1 := p_x_task_rec.attribute1;
157: END IF;
155: ELSE
156: p_x_task_rec.attribute1 := p_x_task_rec.attribute1;
157: END IF;
158:
159: IF p_x_task_rec.attribute2 = Fnd_Api.G_MISS_CHAR THEN
160: p_x_task_rec.attribute2 := NULL;
161: ELSE
162: p_x_task_rec.attribute2 := p_x_task_rec.attribute2;
163: END IF;
161: ELSE
162: p_x_task_rec.attribute2 := p_x_task_rec.attribute2;
163: END IF;
164: --
165: IF p_x_task_rec.attribute3 = Fnd_Api.G_MISS_CHAR THEN
166: p_x_task_rec.attribute3 := NULL;
167: ELSE
168: p_x_task_rec.attribute3 := p_x_task_rec.attribute3;
169: END IF;
167: ELSE
168: p_x_task_rec.attribute3 := p_x_task_rec.attribute3;
169: END IF;
170: --
171: IF p_x_task_rec.attribute4 = Fnd_Api.G_MISS_CHAR THEN
172: p_x_task_rec.attribute4 := NULL;
173: ELSE
174: p_x_task_rec.attribute4 := p_x_task_rec.attribute4;
175: END IF;
173: ELSE
174: p_x_task_rec.attribute4 := p_x_task_rec.attribute4;
175: END IF;
176: --
177: IF p_x_task_rec.attribute5 = Fnd_Api.G_MISS_CHAR THEN
178: p_x_task_rec.attribute5 := NULL;
179: ELSE
180: p_x_task_rec.attribute5 := p_x_task_rec.attribute5;
181: END IF;
179: ELSE
180: p_x_task_rec.attribute5 := p_x_task_rec.attribute5;
181: END IF;
182: --
183: IF p_x_task_rec.attribute6 = Fnd_Api.G_MISS_CHAR THEN
184: p_x_task_rec.attribute6 := NULL;
185: ELSE
186: p_x_task_rec.attribute6 := p_x_task_rec.attribute6;
187: END IF;
185: ELSE
186: p_x_task_rec.attribute6 := p_x_task_rec.attribute6;
187: END IF;
188: --
189: IF p_x_task_rec.attribute7 = Fnd_Api.G_MISS_CHAR THEN
190: p_x_task_rec.attribute7 := NULL;
191: ELSE
192: p_x_task_rec.attribute7 := p_x_task_rec.attribute7;
193: END IF;
191: ELSE
192: p_x_task_rec.attribute7 := p_x_task_rec.attribute7;
193: END IF;
194: --
195: IF p_x_task_rec.attribute8 = Fnd_Api.G_MISS_CHAR THEN
196: p_x_task_rec.attribute8 := NULL;
197: ELSE
198: p_x_task_rec.attribute8 := p_x_task_rec.attribute8;
199: END IF;
197: ELSE
198: p_x_task_rec.attribute8 := p_x_task_rec.attribute8;
199: END IF;
200: --
201: IF p_x_task_rec.attribute9 = Fnd_Api.G_MISS_CHAR THEN
202: p_x_task_rec.attribute9 := NULL;
203: ELSE
204: p_x_task_rec.attribute9 := p_x_task_rec.attribute9;
205: END IF;
203: ELSE
204: p_x_task_rec.attribute9 := p_x_task_rec.attribute9;
205: END IF;
206: --
207: IF p_x_task_rec.attribute10 = Fnd_Api.G_MISS_CHAR THEN
208: p_x_task_rec.attribute10 := NULL;
209: ELSE
210: p_x_task_rec.attribute10 := p_x_task_rec.attribute10;
211: END IF;
209: ELSE
210: p_x_task_rec.attribute10 := p_x_task_rec.attribute10;
211: END IF;
212: --
213: IF p_x_task_rec.attribute11 = Fnd_Api.G_MISS_CHAR THEN
214: p_x_task_rec.attribute11 := NULL;
215: ELSE
216: p_x_task_rec.attribute11 := p_x_task_rec.attribute11;
217: END IF;
215: ELSE
216: p_x_task_rec.attribute11 := p_x_task_rec.attribute11;
217: END IF;
218: --
219: IF p_x_task_rec.attribute12 = Fnd_Api.G_MISS_CHAR THEN
220: p_x_task_rec.attribute12 := NULL;
221: ELSE
222: p_x_task_rec.attribute12 := p_x_task_rec.attribute12;
223: END IF;
221: ELSE
222: p_x_task_rec.attribute12 := p_x_task_rec.attribute12;
223: END IF;
224: --
225: IF p_x_task_rec.attribute13 = Fnd_Api.G_MISS_CHAR THEN
226: p_x_task_rec.attribute13 := NULL;
227: ELSE
228: p_x_task_rec.attribute13 := p_x_task_rec.attribute13;
229: END IF;
227: ELSE
228: p_x_task_rec.attribute13 := p_x_task_rec.attribute13;
229: END IF;
230: --
231: IF p_x_task_rec.attribute14 = Fnd_Api.G_MISS_CHAR THEN
232: p_x_task_rec.attribute14 := NULL;
233: ELSE
234: p_x_task_rec.attribute14 := p_x_task_rec.attribute14;
235: END IF;
233: ELSE
234: p_x_task_rec.attribute14 := p_x_task_rec.attribute14;
235: END IF;
236: --
237: IF p_x_task_rec.attribute15 = Fnd_Api.G_MISS_CHAR THEN
238: p_x_task_rec.attribute15 := NULL;
239: ELSE
240: p_x_task_rec.attribute15 := p_x_task_rec.attribute15;
241: END IF;
239: ELSE
240: p_x_task_rec.attribute15 := p_x_task_rec.attribute15;
241: END IF;
242: --
243: IF p_x_task_rec.description = Fnd_Api.G_MISS_CHAR THEN
244: p_x_task_rec.description := NULL;
245: ELSE
246: p_x_task_rec.description := p_x_task_rec.description;
247: END IF;
329:
330: END IF;
331: -- Check item name or item id
332: IF (p_x_task_Rec.inventory_item_id IS NOT NULL AND
333: p_x_task_Rec.inventory_item_id <> Fnd_Api.G_MISS_NUM) AND
334: (p_x_task_Rec.item_organization_id IS NOT NULL AND
335: p_x_task_Rec.item_organization_id <> Fnd_Api.G_MISS_NUM) THEN
336: AHL_VWP_RULES_PVT.Check_Item_name_Or_Id
337: (p_item_id => p_x_task_Rec.inventory_item_id,
331: -- Check item name or item id
332: IF (p_x_task_Rec.inventory_item_id IS NOT NULL AND
333: p_x_task_Rec.inventory_item_id <> Fnd_Api.G_MISS_NUM) AND
334: (p_x_task_Rec.item_organization_id IS NOT NULL AND
335: p_x_task_Rec.item_organization_id <> Fnd_Api.G_MISS_NUM) THEN
336: AHL_VWP_RULES_PVT.Check_Item_name_Or_Id
337: (p_item_id => p_x_task_Rec.inventory_item_id,
338: p_org_id => p_x_task_Rec.item_organization_id,
339: p_item_name => p_x_task_Rec.item_name,
344: x_error_msg_code => l_msg_data);
345: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
346: fnd_log.string(fnd_log.level_statement, l_full_name, 'item id, item name, orgid: ' || l_item_id || '**' || l_item_name || '**' || l_org_id);
347: END IF;
348: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS
349: THEN
350: Fnd_Message.SET_NAME('AHL','AHL_VWP_ITEM_NOT_EXISTS');
351: Fnd_Msg_Pub.ADD;
352: RAISE Fnd_Api.G_EXC_ERROR;
348: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS
349: THEN
350: Fnd_Message.SET_NAME('AHL','AHL_VWP_ITEM_NOT_EXISTS');
351: Fnd_Msg_Pub.ADD;
352: RAISE Fnd_Api.G_EXC_ERROR;
353: END IF;
354:
355: -- Changes made by skpathak on 20-OCT-2008 while fixing bug 7016519
356: -- Removing incorrect checks
358: p_x_task_Rec.item_name := l_item_name;
359:
360:
361: ELSE -- Else of item id and item org id exists or not
362: IF p_x_task_Rec.item_name IS NULL OR p_x_task_Rec.item_name = FND_API.g_miss_char THEN
363: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
364: fnd_log.string(fnd_log.level_statement, l_full_name, 'Item name missing');
365: END IF;
366: Fnd_Message.SET_NAME('AHL','AHL_VWP_TSK_ITEM_MISSING');
364: fnd_log.string(fnd_log.level_statement, l_full_name, 'Item name missing');
365: END IF;
366: Fnd_Message.SET_NAME('AHL','AHL_VWP_TSK_ITEM_MISSING');
367: Fnd_Msg_Pub.ADD;
368: RAISE Fnd_Api.G_EXC_ERROR;
369: ELSE
370: -- Item name is not null, but at least one of item id and org id is null
371: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
372: fnd_log.string(fnd_log.level_statement, l_full_name, 'Check item else condition.');
372: fnd_log.string(fnd_log.level_statement, l_full_name, 'Check item else condition.');
373: END IF;
374: Fnd_Message.SET_NAME('AHL','AHL_VWP_ITEM_USE_LOV');
375: Fnd_Msg_Pub.ADD;
376: RAISE Fnd_Api.G_EXC_ERROR;
377: END IF;
378: END IF; -- End of itemid and itemorg id check
379:
380: --Assign the returned value
391: FETCH c_check INTO l_count;
392: CLOSE c_check;
393:
394: IF l_count = 0 OR l_count IS NULL THEN
395: x_return_status := Fnd_Api.g_ret_sts_error;
396: Fnd_Message.SET_NAME('AHL','AHL_VWP_ITEM_MR_NOT_MATCH');
397: Fnd_Msg_Pub.ADD;
398: END IF;
399: END IF;
406: FETCH c_check_inst_nonserial INTO l_serial_ctrl;
407: IF c_check_inst_nonserial%NOTFOUND THEN
408: CLOSE c_check_inst_nonserial;
409: -- Convert serial number to instance/ serial id
410: IF (p_x_task_Rec.serial_number IS NOT NULL AND p_x_task_Rec.serial_number <> Fnd_Api.G_MISS_CHAR) OR
411: (p_x_task_Rec.instance_id IS NOT NULL AND p_x_task_Rec.instance_id <> Fnd_Api.G_MISS_CHAR) THEN
412:
413: AHL_VWP_RULES_PVT.Check_serial_name_Or_Id
414: (p_item_id => p_x_task_Rec.inventory_item_id,
407: IF c_check_inst_nonserial%NOTFOUND THEN
408: CLOSE c_check_inst_nonserial;
409: -- Convert serial number to instance/ serial id
410: IF (p_x_task_Rec.serial_number IS NOT NULL AND p_x_task_Rec.serial_number <> Fnd_Api.G_MISS_CHAR) OR
411: (p_x_task_Rec.instance_id IS NOT NULL AND p_x_task_Rec.instance_id <> Fnd_Api.G_MISS_CHAR) THEN
412:
413: AHL_VWP_RULES_PVT.Check_serial_name_Or_Id
414: (p_item_id => p_x_task_Rec.inventory_item_id,
415: p_org_id => p_x_task_Rec.item_organization_id,
418: x_serial_id => l_instance_id,
419: x_return_status => l_return_status,
420: x_error_msg_code => l_msg_data);
421:
422: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS THEN
423: Fnd_Message.SET_NAME('AHL','AHL_VWP_SERIAL_NOT_EXISTS');
424: Fnd_Msg_Pub.ADD;
425: RAISE Fnd_Api.G_EXC_ERROR;
426: ELSE
421:
422: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS THEN
423: Fnd_Message.SET_NAME('AHL','AHL_VWP_SERIAL_NOT_EXISTS');
424: Fnd_Msg_Pub.ADD;
425: RAISE Fnd_Api.G_EXC_ERROR;
426: ELSE
427: --Assign the returned value
428: p_x_task_Rec.instance_id := l_instance_id;
429: END IF;
433: fnd_log.string(fnd_log.level_statement, l_full_name, 'Check serial not found else');
434: END IF;
435: Fnd_Message.SET_NAME('AHL','AHL_VWP_TSK_SERIAL_MISSING');
436: Fnd_Msg_Pub.ADD;
437: RAISE Fnd_Api.G_EXC_ERROR;
438: END IF; --Serial number not null
439: ELSE --non serial controlled item
440: p_x_task_Rec.instance_id := l_inst_id;
441: CLOSE c_check_inst_nonserial;
443: -- End changes by rnahata for Issue 105
444:
445: IF c_visit_rec.organization_id IS NOT NULL THEN
446: -- Get dept code using dept description
447: IF (p_x_task_Rec.dept_name IS NOT NULL AND p_x_task_Rec.dept_name <> Fnd_Api.G_MISS_CHAR ) THEN
448:
449: AHL_VWP_RULES_PVT.Check_Dept_Desc_Or_Id
450: (p_organization_id => c_visit_rec.organization_id,
451: p_dept_name => p_x_task_Rec.dept_name,
453: x_department_id => p_x_task_Rec.department_id,
454: x_return_status => l_return_status,
455: x_error_msg_code => l_msg_data);
456:
457: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS
458: THEN
459: Fnd_Message.SET_NAME('AHL','AHL_VWP_DEPT_NOT_EXISTS');
460: Fnd_Msg_Pub.ADD;
461: RAISE Fnd_Api.G_EXC_ERROR;
457: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS
458: THEN
459: Fnd_Message.SET_NAME('AHL','AHL_VWP_DEPT_NOT_EXISTS');
460: Fnd_Msg_Pub.ADD;
461: RAISE Fnd_Api.G_EXC_ERROR;
462: END IF;
463:
464: -- Changes for Post 11.5.10 by amagrawa
465: Ahl_vwp_rules_pvt.CHECK_DEPARTMENT_SHIFT
465: Ahl_vwp_rules_pvt.CHECK_DEPARTMENT_SHIFT
466: (P_DEPT_ID => p_x_task_Rec.department_id,
467: X_RETURN_STATUS => l_return_status);
468:
469: IF (NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS) THEN
470: Fnd_Message.SET_NAME('AHL','AHL_VWP_NO_DEPT_SHIFT');
471: Fnd_Msg_Pub.ADD;
472: RAISE Fnd_Api.G_EXC_ERROR;
473: END IF;
468:
469: IF (NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS) THEN
470: Fnd_Message.SET_NAME('AHL','AHL_VWP_NO_DEPT_SHIFT');
471: Fnd_Msg_Pub.ADD;
472: RAISE Fnd_Api.G_EXC_ERROR;
473: END IF;
474: ELSE
475: p_x_task_Rec.dept_name := NULL;
476: -- Post 11.5.10 changes by Senthil
479: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
480: fnd_log.string(fnd_log.level_statement, l_full_name, 'Dept ID= ' || p_x_task_Rec.department_id);
481: END IF;
482: ELSE -- Else of if visit org not exists
483: IF (p_x_task_Rec.dept_name IS NOT NULL AND p_x_task_Rec.dept_name <> Fnd_Api.G_MISS_CHAR ) THEN
484: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
485: fnd_log.string(fnd_log.level_statement, l_full_name, 'NO ORGANIZATION FOR VISIT');
486: END IF;
487: Fnd_Message.SET_NAME('AHL','AHL_VWP_VISIT_NO_ORG_EXISTS');
485: fnd_log.string(fnd_log.level_statement, l_full_name, 'NO ORGANIZATION FOR VISIT');
486: END IF;
487: Fnd_Message.SET_NAME('AHL','AHL_VWP_VISIT_NO_ORG_EXISTS');
488: Fnd_Msg_Pub.ADD;
489: RAISE Fnd_Api.G_EXC_ERROR;
490: END IF;
491: END IF; -- End of if visit org exists
492:
493:
508: --
509: --------------------------------------------------------------------
510: PROCEDURE Create_Unplanned_Task (
511: p_api_version IN NUMBER,
512: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
513: p_commit IN VARCHAR2 := Fnd_Api.g_false,
514: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
515: p_module_type IN VARCHAR2 := 'JSP',
516: p_x_task_Rec IN OUT NOCOPY AHL_VWP_RULES_PVT.task_rec_type,
509: --------------------------------------------------------------------
510: PROCEDURE Create_Unplanned_Task (
511: p_api_version IN NUMBER,
512: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
513: p_commit IN VARCHAR2 := Fnd_Api.g_false,
514: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
515: p_module_type IN VARCHAR2 := 'JSP',
516: p_x_task_Rec IN OUT NOCOPY AHL_VWP_RULES_PVT.task_rec_type,
517: x_return_status OUT NOCOPY VARCHAR2,
510: PROCEDURE Create_Unplanned_Task (
511: p_api_version IN NUMBER,
512: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
513: p_commit IN VARCHAR2 := Fnd_Api.g_false,
514: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
515: p_module_type IN VARCHAR2 := 'JSP',
516: p_x_task_Rec IN OUT NOCOPY AHL_VWP_RULES_PVT.task_rec_type,
517: x_return_status OUT NOCOPY VARCHAR2,
518: x_msg_count OUT NOCOPY NUMBER,
604: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
605: fnd_log.string(fnd_log.level_procedure, l_full_name || '.begin', 'Entering Procedure');
606: END IF;
607:
608: IF Fnd_Api.to_boolean (p_init_msg_list) THEN
609: Fnd_Msg_Pub.initialize;
610: END IF;
611:
612: IF NOT Fnd_Api.compatible_api_call (
608: IF Fnd_Api.to_boolean (p_init_msg_list) THEN
609: Fnd_Msg_Pub.initialize;
610: END IF;
611:
612: IF NOT Fnd_Api.compatible_api_call (
613: L_API_VERSION,
614: p_api_version,
615: L_API_NAME,
616: G_PKG_NAME
614: p_api_version,
615: L_API_NAME,
616: G_PKG_NAME
617: ) THEN
618: RAISE Fnd_Api.g_exc_unexpected_error;
619: END IF;
620: x_return_status := Fnd_Api.g_ret_sts_success;
621:
622: -- Calling Asso_Inst_Dept_SR_to_Tasks API
616: G_PKG_NAME
617: ) THEN
618: RAISE Fnd_Api.g_exc_unexpected_error;
619: END IF;
620: x_return_status := Fnd_Api.g_ret_sts_success;
621:
622: -- Calling Asso_Inst_Dept_SR_to_Tasks API
623: Asso_Inst_Dept_SR_to_Tasks (
624: p_module_type => p_module_type,
636: l_item_id := p_x_task_Rec.inventory_item_id;
637: l_org_id := p_x_task_Rec.item_organization_id;
638: l_mr_header_id := p_x_task_Rec.MR_ID;
639:
640: IF l_department_id = FND_API.g_miss_num THEN
641: l_department_id := NULL;
642: END IF;
643:
644: IF l_instance_id = FND_API.g_miss_num THEN
640: IF l_department_id = FND_API.g_miss_num THEN
641: l_department_id := NULL;
642: END IF;
643:
644: IF l_instance_id = FND_API.g_miss_num THEN
645: l_instance_id := NULL;
646: END IF;
647:
648: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
658: FETCH c_MR_Visit INTO c_MR_Visit_rec;
659:
660: IF c_MR_Visit%FOUND THEN
661: -- ERROR MESSAGE
662: x_return_status := Fnd_Api.g_ret_sts_error;
663: Fnd_Message.SET_NAME('AHL','AHL_VWP_MR_FOUND');
664: Fnd_Message.SET_TOKEN('MR_TITLE', c_MR_Visit_rec.Title);
665: Fnd_Msg_Pub.ADD;
666: CLOSE c_MR_Visit;
672: CLOSE c_MR_Visit;
673:
674: IF l_count > 0 THEN
675: -- ERROR MESSAGE
676: x_return_status := Fnd_Api.g_ret_sts_error;
677: Fnd_Message.SET_NAME('AHL','AHL_VWP_MR_FOUND');
678: Fnd_Msg_Pub.ADD;
679: */
680: --B6452310 - sowsubra
726: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
727: fnd_log.string(fnd_log.level_statement, l_full_name, 'Returned from call to AHL_UMP_UNPLANNED_PVT.CREATE_UNIT_EFFECTIVITY. x_return_status = ' || l_return_status || ' and x_orig_ue_id = ' || l_ue_id);
728: END IF;
729:
730: IF l_msg_count > 0 OR NVL(l_return_status,'X') <> Fnd_Api.G_RET_STS_SUCCESS THEN
731: X_msg_count := l_msg_count;
732: X_return_status := Fnd_Api.G_RET_STS_ERROR;
733: RAISE Fnd_Api.G_EXC_ERROR;
734: END IF;
728: END IF;
729:
730: IF l_msg_count > 0 OR NVL(l_return_status,'X') <> Fnd_Api.G_RET_STS_SUCCESS THEN
731: X_msg_count := l_msg_count;
732: X_return_status := Fnd_Api.G_RET_STS_ERROR;
733: RAISE Fnd_Api.G_EXC_ERROR;
734: END IF;
735:
736:
729:
730: IF l_msg_count > 0 OR NVL(l_return_status,'X') <> Fnd_Api.G_RET_STS_SUCCESS THEN
731: X_msg_count := l_msg_count;
732: X_return_status := Fnd_Api.G_RET_STS_ERROR;
733: RAISE Fnd_Api.G_EXC_ERROR;
734: END IF;
735:
736:
737: p_x_task_Rec.task_type_code :='UNPLANNED';
753: END IF;
754:
755: IF l_msg_count > 0 THEN
756: X_msg_count := l_msg_count;
757: X_return_status := Fnd_Api.G_RET_STS_ERROR;
758: RAISE Fnd_Api.G_EXC_ERROR;
759: END IF;
760:
761: UPDATE ahl_visit_tasks_b SET task_type_code = 'UNPLANNED'
754:
755: IF l_msg_count > 0 THEN
756: X_msg_count := l_msg_count;
757: X_return_status := Fnd_Api.G_RET_STS_ERROR;
758: RAISE Fnd_Api.G_EXC_ERROR;
759: END IF;
760:
761: UPDATE ahl_visit_tasks_b SET task_type_code = 'UNPLANNED'
762: WHERE visit_id = l_visit_id
782: p_visit_id =>l_visit_csr_rec.visit_id,
783: p_flag =>'Y',
784: x_return_status =>x_return_status);
785: END IF;
786: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
787: CLOSE C_VISIT;
788: RAISE FND_API.G_EXC_ERROR;
789: END IF;
790: CLOSE C_VISIT;
784: x_return_status =>x_return_status);
785: END IF;
786: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
787: CLOSE C_VISIT;
788: RAISE FND_API.G_EXC_ERROR;
789: END IF;
790: CLOSE C_VISIT;
791: -- B6452310 - sowsubra
792: -- END IF;
795: --
796: -- END of API body.
797: --
798: -- Standard check of p_commit.
799: IF Fnd_Api.To_Boolean ( p_commit ) THEN
800: COMMIT WORK;
801: END IF;
802:
803: -- Standard call to get message count and if count is 1, get message info
801: END IF;
802:
803: -- Standard call to get message count and if count is 1, get message info
804: Fnd_Msg_Pub.count_and_get(
805: p_encoded => Fnd_Api.g_false,
806: p_count => x_msg_count,
807: p_data => x_msg_data
808: );
809:
811: fnd_log.string(fnd_log.level_procedure, l_full_name ||'.end', 'Exiting procedure');
812: END IF;
813:
814: EXCEPTION
815: WHEN Fnd_Api.g_exc_error THEN
816: ROLLBACK TO Create_Unplanned_Task;
817: x_return_status := Fnd_Api.g_ret_sts_error;
818: Fnd_Msg_Pub.count_and_get(
819: p_encoded => Fnd_Api.g_false,
813:
814: EXCEPTION
815: WHEN Fnd_Api.g_exc_error THEN
816: ROLLBACK TO Create_Unplanned_Task;
817: x_return_status := Fnd_Api.g_ret_sts_error;
818: Fnd_Msg_Pub.count_and_get(
819: p_encoded => Fnd_Api.g_false,
820: p_count => x_msg_count,
821: p_data => x_msg_data
815: WHEN Fnd_Api.g_exc_error THEN
816: ROLLBACK TO Create_Unplanned_Task;
817: x_return_status := Fnd_Api.g_ret_sts_error;
818: Fnd_Msg_Pub.count_and_get(
819: p_encoded => Fnd_Api.g_false,
820: p_count => x_msg_count,
821: p_data => x_msg_data
822: );
823: WHEN Fnd_Api.g_exc_unexpected_error THEN
819: p_encoded => Fnd_Api.g_false,
820: p_count => x_msg_count,
821: p_data => x_msg_data
822: );
823: WHEN Fnd_Api.g_exc_unexpected_error THEN
824: ROLLBACK TO Create_Unplanned_Task;
825: x_return_status := Fnd_Api.g_ret_sts_unexp_error;
826: Fnd_Msg_Pub.count_and_get (
827: p_encoded => Fnd_Api.g_false,
821: p_data => x_msg_data
822: );
823: WHEN Fnd_Api.g_exc_unexpected_error THEN
824: ROLLBACK TO Create_Unplanned_Task;
825: x_return_status := Fnd_Api.g_ret_sts_unexp_error;
826: Fnd_Msg_Pub.count_and_get (
827: p_encoded => Fnd_Api.g_false,
828: p_count => x_msg_count,
829: p_data => x_msg_data
823: WHEN Fnd_Api.g_exc_unexpected_error THEN
824: ROLLBACK TO Create_Unplanned_Task;
825: x_return_status := Fnd_Api.g_ret_sts_unexp_error;
826: Fnd_Msg_Pub.count_and_get (
827: p_encoded => Fnd_Api.g_false,
828: p_count => x_msg_count,
829: p_data => x_msg_data
830: );
831: WHEN OTHERS THEN
829: p_data => x_msg_data
830: );
831: WHEN OTHERS THEN
832: ROLLBACK TO Create_Unplanned_Task;
833: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
834: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_unexp_error)
835: THEN
836: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
837: END IF;
835: THEN
836: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
837: END IF;
838: Fnd_Msg_Pub.count_and_get (
839: p_encoded => Fnd_Api.g_false,
840: p_count => x_msg_count,
841: p_data => x_msg_data
842: );
843: END Create_Unplanned_Task;
850: -- To update Unplanned task for the Maintainance visit.
851: --------------------------------------------------------------------
852: PROCEDURE Update_Unplanned_Task (
853: p_api_version IN NUMBER,
854: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
855: p_commit IN VARCHAR2 := Fnd_Api.g_false,
856: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
857: p_module_type IN VARCHAR2 := 'JSP',
858:
851: --------------------------------------------------------------------
852: PROCEDURE Update_Unplanned_Task (
853: p_api_version IN NUMBER,
854: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
855: p_commit IN VARCHAR2 := Fnd_Api.g_false,
856: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
857: p_module_type IN VARCHAR2 := 'JSP',
858:
859: p_x_task_rec IN OUT NOCOPY AHL_VWP_RULES_PVT.Task_Rec_Type,
852: PROCEDURE Update_Unplanned_Task (
853: p_api_version IN NUMBER,
854: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
855: p_commit IN VARCHAR2 := Fnd_Api.g_false,
856: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
857: p_module_type IN VARCHAR2 := 'JSP',
858:
859: p_x_task_rec IN OUT NOCOPY AHL_VWP_RULES_PVT.Task_Rec_Type,
860: x_return_status OUT NOCOPY VARCHAR2,
898: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
899: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.', l_full_name ||':*************************Start*************************');
900: END IF;
901:
902: IF Fnd_Api.to_boolean (p_init_msg_list) THEN
903: Fnd_Msg_Pub.initialize;
904: END IF;
905:
906: -- Initialize API return status to success
903: Fnd_Msg_Pub.initialize;
904: END IF;
905:
906: -- Initialize API return status to success
907: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
908:
909: -- Standard call to check for call compatibility.
910: IF NOT Fnd_Api.compatible_api_call(
911: l_api_version,
906: -- Initialize API return status to success
907: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
908:
909: -- Standard call to check for call compatibility.
910: IF NOT Fnd_Api.compatible_api_call(
911: l_api_version,
912: p_api_version,
913: l_api_name,
914: G_PKG_NAME
912: p_api_version,
913: l_api_name,
914: G_PKG_NAME
915: ) THEN
916: RAISE Fnd_Api.g_exc_unexpected_error;
917: END IF;
918:
919: ------------------------Start of API Body------------------------------------
920: OPEN c_Visit(l_Task_rec.visit_id);
940: ----------- Start defining and validate all LOVs on Create Visit's Task UI Screen---
941: --
942: -- For DEPARTMENT
943: -- Convert department name to department id
944: IF (l_task_rec.dept_name IS NOT NULL AND l_task_rec.dept_name <> Fnd_Api.G_MISS_CHAR ) THEN
945:
946: AHL_VWP_RULES_PVT.Check_Dept_Desc_Or_Id
947: (p_organization_id => c_visit_rec.organization_id,
948: p_dept_name => l_task_rec.dept_name,
950: x_department_id => l_department_id,
951: x_return_status => l_return_status,
952: x_error_msg_code => l_msg_data);
953:
954: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS
955: THEN
956: Fnd_Message.SET_NAME('AHL','AHL_VWP_DEPT_NOT_EXISTS');
957: Fnd_Msg_Pub.ADD;
958: RAISE Fnd_Api.G_EXC_ERROR;
954: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS
955: THEN
956: Fnd_Message.SET_NAME('AHL','AHL_VWP_DEPT_NOT_EXISTS');
957: Fnd_Msg_Pub.ADD;
958: RAISE Fnd_Api.G_EXC_ERROR;
959: END IF;
960:
961: --Assign the returned value
962: l_task_rec.department_id := l_department_id;
970: --
971: -- For COST PARENT TASK
972: -- Convert cost parent number to id
973: IF (l_Task_rec.cost_parent_number IS NOT NULL AND
974: l_Task_rec.cost_parent_number <> Fnd_Api.G_MISS_NUM ) THEN
975:
976: AHL_VWP_RULES_PVT.Check_Visit_Task_Number_OR_ID
977: (p_visit_task_id => l_Task_rec.cost_parent_id,
978: p_visit_task_number => l_Task_rec.cost_parent_number,
980: x_visit_task_id => l_cost_parent_id,
981: x_return_status => l_return_status,
982: x_error_msg_code => l_msg_data);
983:
984: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS
985: THEN
986: Fnd_Message.SET_NAME('AHL','AHL_VWP_PARENT_NOT_EXISTS');
987: Fnd_Msg_Pub.ADD;
988: RAISE Fnd_Api.g_exc_error;
984: IF NVL(l_return_status,'x') <> FND_API.G_RET_STS_SUCCESS
985: THEN
986: Fnd_Message.SET_NAME('AHL','AHL_VWP_PARENT_NOT_EXISTS');
987: Fnd_Msg_Pub.ADD;
988: RAISE Fnd_Api.g_exc_error;
989: END IF;
990:
991: --Assign the returned value
992: l_Task_rec.cost_parent_id := l_cost_parent_id;
998: END IF;
999:
1000: -- To Check for cost parent task id not forming loop
1001: IF (l_Task_rec.cost_parent_id IS NOT NULL AND
1002: l_Task_rec.cost_parent_id <> Fnd_Api.G_MISS_NUM ) THEN
1003:
1004: AHL_VWP_RULES_PVT.Check_Cost_Parent_Loop
1005: (p_visit_id => l_Task_rec.visit_id,
1006: p_visit_task_id => l_Task_rec.visit_task_id ,
1034: p_task_rec => p_x_task_rec,
1035: p_validation_mode => Jtf_Plsql_Api.g_update,
1036: x_return_status => l_return_status
1037: );
1038: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
1039: RAISE Fnd_Api.g_exc_unexpected_error;
1040: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
1041: RAISE Fnd_Api.g_exc_error;
1042: END IF;
1035: p_validation_mode => Jtf_Plsql_Api.g_update,
1036: x_return_status => l_return_status
1037: );
1038: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
1039: RAISE Fnd_Api.g_exc_unexpected_error;
1040: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
1041: RAISE Fnd_Api.g_exc_error;
1042: END IF;
1043: END IF;
1036: x_return_status => l_return_status
1037: );
1038: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
1039: RAISE Fnd_Api.g_exc_unexpected_error;
1040: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
1041: RAISE Fnd_Api.g_exc_error;
1042: END IF;
1043: END IF;
1044:
1037: );
1038: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
1039: RAISE Fnd_Api.g_exc_unexpected_error;
1040: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
1041: RAISE Fnd_Api.g_exc_error;
1042: END IF;
1043: END IF;
1044:
1045: -- Check Object version number.
1045: -- Check Object version number.
1046: IF (c_task_rec.object_version_number <> l_task_rec.object_version_number) THEN
1047: Fnd_Message.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
1048: Fnd_Msg_Pub.ADD;
1049: RAISE Fnd_Api.G_EXC_ERROR;
1050: END IF;
1051:
1052: -- Post 11.5.10 Changes by Senthil.
1053: IF(L_task_rec.STAGE_ID IS NOT NULL OR L_task_rec.STAGE_NAME IS NOT NULL) THEN
1065:
1066: --Standard check to count messages
1067: l_msg_count := Fnd_Msg_Pub.count_msg;
1068:
1069: IF l_msg_count > 0 OR l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1070: X_msg_count := l_msg_count;
1071: X_return_status := Fnd_Api.G_RET_STS_ERROR;
1072: RAISE Fnd_Api.G_EXC_ERROR;
1073: END IF;
1067: l_msg_count := Fnd_Msg_Pub.count_msg;
1068:
1069: IF l_msg_count > 0 OR l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1070: X_msg_count := l_msg_count;
1071: X_return_status := Fnd_Api.G_RET_STS_ERROR;
1072: RAISE Fnd_Api.G_EXC_ERROR;
1073: END IF;
1074:
1075: -------------------------- update --------------------
1068:
1069: IF l_msg_count > 0 OR l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1070: X_msg_count := l_msg_count;
1071: X_return_status := Fnd_Api.G_RET_STS_ERROR;
1072: RAISE Fnd_Api.G_EXC_ERROR;
1073: END IF;
1074:
1075: -------------------------- update --------------------
1076: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1144: ------------------------End of API Body------------------------------------
1145: -- Added cxcheng POST11510--------------
1146: --Now adjust the times derivation for task
1147: AHL_VWP_TIMES_PVT.Adjust_Task_Times(p_api_version => 1.0,
1148: p_init_msg_list => Fnd_Api.G_FALSE,
1149: p_commit => Fnd_Api.G_FALSE,
1150: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
1151: x_return_status => l_return_status,
1152: x_msg_count => l_msg_count,
1145: -- Added cxcheng POST11510--------------
1146: --Now adjust the times derivation for task
1147: AHL_VWP_TIMES_PVT.Adjust_Task_Times(p_api_version => 1.0,
1148: p_init_msg_list => Fnd_Api.G_FALSE,
1149: p_commit => Fnd_Api.G_FALSE,
1150: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
1151: x_return_status => l_return_status,
1152: x_msg_count => l_msg_count,
1153: x_msg_data => l_msg_data,
1146: --Now adjust the times derivation for task
1147: AHL_VWP_TIMES_PVT.Adjust_Task_Times(p_api_version => 1.0,
1148: p_init_msg_list => Fnd_Api.G_FALSE,
1149: p_commit => Fnd_Api.G_FALSE,
1150: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
1151: x_return_status => l_return_status,
1152: x_msg_count => l_msg_count,
1153: x_msg_data => l_msg_data,
1154: p_task_id => l_task_rec.visit_task_id);
1155:
1156: --Standard check to count messages
1157: l_msg_count := Fnd_Msg_Pub.count_msg;
1158:
1159: IF l_msg_count > 0 OR l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1160: x_msg_count := l_msg_count;
1161: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1162: RAISE Fnd_Api.G_EXC_ERROR;
1163: END IF;
1157: l_msg_count := Fnd_Msg_Pub.count_msg;
1158:
1159: IF l_msg_count > 0 OR l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1160: x_msg_count := l_msg_count;
1161: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1162: RAISE Fnd_Api.G_EXC_ERROR;
1163: END IF;
1164:
1165:
1158:
1159: IF l_msg_count > 0 OR l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1160: x_msg_count := l_msg_count;
1161: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1162: RAISE Fnd_Api.G_EXC_ERROR;
1163: END IF;
1164:
1165:
1166: -- To Update visit attribute any_task_chg_flag for costing purpose
1177: IF c_upd_Task_rec.start_date_time IS NOT NULL THEN
1178:
1179: AHL_LTP_REQST_MATRL_PVT.Process_Planned_Materials (
1180: p_api_version => 1.0,
1181: p_init_msg_list => FND_API.g_false,
1182: p_commit => FND_API.g_false,
1183: p_validation_level => FND_API.g_valid_level_full,
1184: p_visit_id => l_task_rec.visit_id,
1185: p_visit_task_id => NULL,
1178:
1179: AHL_LTP_REQST_MATRL_PVT.Process_Planned_Materials (
1180: p_api_version => 1.0,
1181: p_init_msg_list => FND_API.g_false,
1182: p_commit => FND_API.g_false,
1183: p_validation_level => FND_API.g_valid_level_full,
1184: p_visit_id => l_task_rec.visit_id,
1185: p_visit_task_id => NULL,
1186: p_org_id => NULL,
1179: AHL_LTP_REQST_MATRL_PVT.Process_Planned_Materials (
1180: p_api_version => 1.0,
1181: p_init_msg_list => FND_API.g_false,
1182: p_commit => FND_API.g_false,
1183: p_validation_level => FND_API.g_valid_level_full,
1184: p_visit_id => l_task_rec.visit_id,
1185: p_visit_task_id => NULL,
1186: p_org_id => NULL,
1187: p_start_date => NULL,
1196: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.',l_full_name ||'Planned Order Flag : ' || l_planned_order_flag);
1197: END IF;
1198:
1199: IF l_return_status <> 'S' THEN
1200: RAISE Fnd_Api.G_EXC_ERROR;
1201: END IF;
1202:
1203: END IF; -- Start_date_time check.
1204:
1215: l_msg_count := Fnd_Msg_Pub.count_msg;
1216:
1217: IF l_msg_count > 0 THEN
1218: X_msg_count := l_msg_count;
1219: X_return_status := Fnd_Api.G_RET_STS_ERROR;
1220: RAISE Fnd_Api.G_EXC_ERROR;
1221: END IF;
1222:
1223: --Standard check for commit
1216:
1217: IF l_msg_count > 0 THEN
1218: X_msg_count := l_msg_count;
1219: X_return_status := Fnd_Api.G_RET_STS_ERROR;
1220: RAISE Fnd_Api.G_EXC_ERROR;
1221: END IF;
1222:
1223: --Standard check for commit
1224: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
1220: RAISE Fnd_Api.G_EXC_ERROR;
1221: END IF;
1222:
1223: --Standard check for commit
1224: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
1225: COMMIT;
1226: END IF;
1227:
1228: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1230: END IF;
1231:
1232:
1233: EXCEPTION
1234: WHEN Fnd_Api.g_exc_error THEN
1235: ROLLBACK TO Update_Unplanned_Task;
1236: x_return_status := Fnd_Api.g_ret_sts_error;
1237: Fnd_Msg_Pub.count_and_get (
1238: p_encoded => Fnd_Api.g_false,
1232:
1233: EXCEPTION
1234: WHEN Fnd_Api.g_exc_error THEN
1235: ROLLBACK TO Update_Unplanned_Task;
1236: x_return_status := Fnd_Api.g_ret_sts_error;
1237: Fnd_Msg_Pub.count_and_get (
1238: p_encoded => Fnd_Api.g_false,
1239: p_count => x_msg_count,
1240: p_data => x_msg_data
1234: WHEN Fnd_Api.g_exc_error THEN
1235: ROLLBACK TO Update_Unplanned_Task;
1236: x_return_status := Fnd_Api.g_ret_sts_error;
1237: Fnd_Msg_Pub.count_and_get (
1238: p_encoded => Fnd_Api.g_false,
1239: p_count => x_msg_count,
1240: p_data => x_msg_data
1241: );
1242: WHEN Fnd_Api.g_exc_unexpected_error THEN
1238: p_encoded => Fnd_Api.g_false,
1239: p_count => x_msg_count,
1240: p_data => x_msg_data
1241: );
1242: WHEN Fnd_Api.g_exc_unexpected_error THEN
1243: ROLLBACK TO Update_Unplanned_Task;
1244: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
1245: Fnd_Msg_Pub.count_and_get (
1246: p_encoded => Fnd_Api.g_false,
1240: p_data => x_msg_data
1241: );
1242: WHEN Fnd_Api.g_exc_unexpected_error THEN
1243: ROLLBACK TO Update_Unplanned_Task;
1244: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
1245: Fnd_Msg_Pub.count_and_get (
1246: p_encoded => Fnd_Api.g_false,
1247: p_count => x_msg_count,
1248: p_data => x_msg_data
1242: WHEN Fnd_Api.g_exc_unexpected_error THEN
1243: ROLLBACK TO Update_Unplanned_Task;
1244: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
1245: Fnd_Msg_Pub.count_and_get (
1246: p_encoded => Fnd_Api.g_false,
1247: p_count => x_msg_count,
1248: p_data => x_msg_data
1249: );
1250: WHEN OTHERS THEN
1248: p_data => x_msg_data
1249: );
1250: WHEN OTHERS THEN
1251: ROLLBACK TO Update_Unplanned_Task;
1252: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
1253: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_unexp_error)
1254: THEN
1255: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
1256: END IF;
1254: THEN
1255: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
1256: END IF;
1257: Fnd_Msg_Pub.count_and_get (
1258: p_encoded => Fnd_Api.g_false,
1259: p_count => x_msg_count,
1260: p_data => x_msg_data
1261: );
1262: END Update_Unplanned_Task;
1270: -- Modifying the Unplanned tasks for costing by rtadikon
1271: --------------------------------------------------------------------
1272: PROCEDURE Delete_Unplanned_Task (
1273: p_api_version IN NUMBER,
1274: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
1275: p_commit IN VARCHAR2 := Fnd_Api.g_false,
1276: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
1277: p_module_type IN VARCHAR2 := 'JSP',
1278: p_visit_task_ID IN NUMBER,
1271: --------------------------------------------------------------------
1272: PROCEDURE Delete_Unplanned_Task (
1273: p_api_version IN NUMBER,
1274: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
1275: p_commit IN VARCHAR2 := Fnd_Api.g_false,
1276: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
1277: p_module_type IN VARCHAR2 := 'JSP',
1278: p_visit_task_ID IN NUMBER,
1279: x_return_status OUT NOCOPY VARCHAR2,
1272: PROCEDURE Delete_Unplanned_Task (
1273: p_api_version IN NUMBER,
1274: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
1275: p_commit IN VARCHAR2 := Fnd_Api.g_false,
1276: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
1277: p_module_type IN VARCHAR2 := 'JSP',
1278: p_visit_task_ID IN NUMBER,
1279: x_return_status OUT NOCOPY VARCHAR2,
1280: x_msg_count OUT NOCOPY NUMBER,
1304: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1305: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.', l_full_name ||':*************************START*************************');
1306: END IF;
1307:
1308: IF Fnd_Api.to_boolean (p_init_msg_list) THEN
1309: Fnd_Msg_Pub.initialize;
1310: END IF;
1311:
1312: -- Initialize API return status to success
1309: Fnd_Msg_Pub.initialize;
1310: END IF;
1311:
1312: -- Initialize API return status to success
1313: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
1314:
1315: -- Standard call to check for call compatibility.
1316: IF NOT Fnd_Api.compatible_api_call(
1317: l_api_version,
1312: -- Initialize API return status to success
1313: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
1314:
1315: -- Standard call to check for call compatibility.
1316: IF NOT Fnd_Api.compatible_api_call(
1317: l_api_version,
1318: p_api_version,
1319: l_api_name,
1320: G_PKG_NAME) THEN
1317: l_api_version,
1318: p_api_version,
1319: l_api_name,
1320: G_PKG_NAME) THEN
1321: RAISE Fnd_Api.g_exc_unexpected_error;
1322: END IF;
1323:
1324: ------------------------Start of API Body------------------------------------
1325: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)
1336: CLOSE c_Task;
1337: Fnd_Message.set_name('AHL', 'AHL_VWP_TASK_ID_INVALID');
1338: FND_MESSAGE.SET_TOKEN('TASK_ID',p_visit_task_id,false);
1339: Fnd_Msg_Pub.ADD;
1340: RAISE Fnd_Api.g_exc_error;
1341: ELSE
1342: CLOSE c_Task;
1343:
1344: l_origin_id:= c_task_rec.originating_task_id;
1350: END IF;
1351:
1352: AHL_VWP_TASKS_PVT.Delete_Summary_Task(
1353: p_api_version => p_api_version,
1354: p_init_msg_list => Fnd_Api.g_false,
1355: p_commit => Fnd_Api.g_false,
1356: p_validation_level => Fnd_Api.g_valid_level_full,
1357: p_module_type => NULL,
1358: p_Visit_Task_Id => l_origin_id,
1351:
1352: AHL_VWP_TASKS_PVT.Delete_Summary_Task(
1353: p_api_version => p_api_version,
1354: p_init_msg_list => Fnd_Api.g_false,
1355: p_commit => Fnd_Api.g_false,
1356: p_validation_level => Fnd_Api.g_valid_level_full,
1357: p_module_type => NULL,
1358: p_Visit_Task_Id => l_origin_id,
1359: x_return_status => x_return_status,
1352: AHL_VWP_TASKS_PVT.Delete_Summary_Task(
1353: p_api_version => p_api_version,
1354: p_init_msg_list => Fnd_Api.g_false,
1355: p_commit => Fnd_Api.g_false,
1356: p_validation_level => Fnd_Api.g_valid_level_full,
1357: p_module_type => NULL,
1358: p_Visit_Task_Id => l_origin_id,
1359: x_return_status => x_return_status,
1360: x_msg_count => x_msg_count,
1360: x_msg_count => x_msg_count,
1361: x_msg_data => x_msg_data
1362: );
1363:
1364: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1365: RAISE Fnd_Api.G_EXC_ERROR;
1366: END IF;
1367:
1368: Else
1361: x_msg_data => x_msg_data
1362: );
1363:
1364: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1365: RAISE Fnd_Api.G_EXC_ERROR;
1366: END IF;
1367:
1368: Else
1369: Fnd_Message.SET_NAME('AHL','AHL_VWP_UNPLANNEDTASKMR');
1367:
1368: Else
1369: Fnd_Message.SET_NAME('AHL','AHL_VWP_UNPLANNEDTASKMR');
1370: Fnd_Msg_Pub.ADD;
1371: RAISE Fnd_Api.G_EXC_ERROR;
1372: --Displays 'Unplanned Task association to Maintenance Requirement is missing.'
1373: End IF;
1374:
1375: END IF;
1386: */
1387:
1388: l_msg_count := Fnd_Msg_Pub.count_msg;
1389:
1390: IF l_msg_count > 0 OR x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1391: X_msg_count := l_msg_count;
1392: X_return_status := Fnd_Api.G_RET_STS_ERROR;
1393:
1394: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1388: l_msg_count := Fnd_Msg_Pub.count_msg;
1389:
1390: IF l_msg_count > 0 OR x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1391: X_msg_count := l_msg_count;
1392: X_return_status := Fnd_Api.G_RET_STS_ERROR;
1393:
1394: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1395: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.', ' Error Before Commit---> After Delete Summary task call');
1396: END IF;
1394: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1395: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.', ' Error Before Commit---> After Delete Summary task call');
1396: END IF;
1397:
1398: RAISE Fnd_Api.G_EXC_ERROR;
1399: END IF;
1400:
1401:
1402: ------------------------End of API Body------------------------------------
1399: END IF;
1400:
1401:
1402: ------------------------End of API Body------------------------------------
1403: IF Fnd_Api.to_boolean (p_commit) THEN
1404: COMMIT;
1405: END IF;
1406:
1407: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1407: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1408: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.', l_full_name ||':*************************END*************************');
1409: END IF;
1410: EXCEPTION
1411: WHEN Fnd_Api.g_exc_error THEN
1412: ROLLBACK TO Delete_Unplanned_Task;
1413: x_return_status := Fnd_Api.g_ret_sts_error;
1414: Fnd_Msg_Pub.count_and_get (
1415: p_encoded => Fnd_Api.g_false,
1409: END IF;
1410: EXCEPTION
1411: WHEN Fnd_Api.g_exc_error THEN
1412: ROLLBACK TO Delete_Unplanned_Task;
1413: x_return_status := Fnd_Api.g_ret_sts_error;
1414: Fnd_Msg_Pub.count_and_get (
1415: p_encoded => Fnd_Api.g_false,
1416: p_count => x_msg_count,
1417: p_data => x_msg_data
1411: WHEN Fnd_Api.g_exc_error THEN
1412: ROLLBACK TO Delete_Unplanned_Task;
1413: x_return_status := Fnd_Api.g_ret_sts_error;
1414: Fnd_Msg_Pub.count_and_get (
1415: p_encoded => Fnd_Api.g_false,
1416: p_count => x_msg_count,
1417: p_data => x_msg_data
1418: );
1419:
1416: p_count => x_msg_count,
1417: p_data => x_msg_data
1418: );
1419:
1420: WHEN Fnd_Api.g_exc_unexpected_error THEN
1421: ROLLBACK TO Delete_Unplanned_Task;
1422: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
1423: Fnd_Msg_Pub.count_and_get (
1424: p_encoded => Fnd_Api.g_false,
1418: );
1419:
1420: WHEN Fnd_Api.g_exc_unexpected_error THEN
1421: ROLLBACK TO Delete_Unplanned_Task;
1422: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
1423: Fnd_Msg_Pub.count_and_get (
1424: p_encoded => Fnd_Api.g_false,
1425: p_count => x_msg_count,
1426: p_data => x_msg_data
1420: WHEN Fnd_Api.g_exc_unexpected_error THEN
1421: ROLLBACK TO Delete_Unplanned_Task;
1422: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
1423: Fnd_Msg_Pub.count_and_get (
1424: p_encoded => Fnd_Api.g_false,
1425: p_count => x_msg_count,
1426: p_data => x_msg_data
1427: );
1428:
1427: );
1428:
1429: WHEN OTHERS THEN
1430: ROLLBACK TO Delete_Unplanned_Task;
1431: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
1432: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_unexp_error)
1433: THEN
1434: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
1435: END IF;
1433: THEN
1434: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
1435: END IF;
1436: Fnd_Msg_Pub.count_and_get (
1437: p_encoded => Fnd_Api.g_false,
1438: p_count => x_msg_count,
1439: p_data => x_msg_data
1440: );
1441:
1458: BEGIN
1459: --
1460: -- Validate required items.
1461:
1462: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
1463:
1464: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1465: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.'||G_PKG_NAME,'Check_Task_Items' || ':Before Check_Visit_Task_Req_Items');
1466: END IF;
1467: Check_Visit_Task_Req_Items (
1468: p_task_rec => p_task_rec,
1469: x_return_status => x_return_status
1470: );
1471: IF x_return_status <> Fnd_Api.g_ret_sts_success THEN
1472: RETURN;
1473: END IF;
1474: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1475: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.', 'Check_Task_Items' || ':After Check_Visit_Task_Req_Items');
1484: p_task_rec => p_task_rec,
1485: p_validation_mode => p_validation_mode,
1486: x_return_status => x_return_status
1487: );
1488: IF x_return_status <> Fnd_Api.g_ret_sts_success THEN
1489: RETURN;
1490: END IF;
1491: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1492: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.'||G_PKG_NAME, 'Check_Task_Items' ||':Before Check_Visit_Task_UK_Items');
1523: IF c_Visit_Task%NOTFOUND THEN
1524: CLOSE c_Visit_Task;
1525: Fnd_Message.set_name('AHL', 'AHL_API_RECORD_NOT_FOUND');
1526: Fnd_Msg_Pub.ADD;
1527: RAISE Fnd_Api.g_exc_error;
1528: END IF;
1529: CLOSE c_Visit_Task;
1530:
1531: END Complete_Visit_Task_Rec;
1545: IS
1546:
1547: BEGIN
1548:
1549: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
1550: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1551: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.'||G_PKG_NAME,'Check_Visit_Task_Req_Items: = Start Check_Visit_Task_Req_Items ');
1552: END IF;
1553: -- TASK NAME ==== NAME
1550: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1551: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.'||G_PKG_NAME,'Check_Visit_Task_Req_Items: = Start Check_Visit_Task_Req_Items ');
1552: END IF;
1553: -- TASK NAME ==== NAME
1554: IF (p_task_rec.VISIT_TASK_NAME IS NULL OR p_Task_rec.VISIT_TASK_NAME = Fnd_Api.G_MISS_CHAR) THEN
1555: Fnd_Message.set_name ('AHL', 'AHL_VWP_NAME_MISSING');
1556: Fnd_Msg_Pub.ADD;
1557: x_return_status := Fnd_Api.g_ret_sts_error;
1558: RETURN;
1553: -- TASK NAME ==== NAME
1554: IF (p_task_rec.VISIT_TASK_NAME IS NULL OR p_Task_rec.VISIT_TASK_NAME = Fnd_Api.G_MISS_CHAR) THEN
1555: Fnd_Message.set_name ('AHL', 'AHL_VWP_NAME_MISSING');
1556: Fnd_Msg_Pub.ADD;
1557: x_return_status := Fnd_Api.g_ret_sts_error;
1558: RETURN;
1559: END IF;
1560: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1561: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.'||G_PKG_NAME,'Check_Visit_Task_Req_Items:Inside Validation Start from Hour = ' || p_task_rec.START_FROM_HOUR);
1559: END IF;
1560: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1561: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.'||G_PKG_NAME,'Check_Visit_Task_Req_Items:Inside Validation Start from Hour = ' || p_task_rec.START_FROM_HOUR);
1562: END IF;
1563: IF (p_task_rec.START_FROM_HOUR IS NOT NULL and p_Task_rec.START_FROM_HOUR <> Fnd_Api.G_MISS_NUM) THEN
1564: IF p_task_rec.START_FROM_HOUR < 0 OR FLOOR(p_task_rec.START_FROM_HOUR) <> p_task_rec.START_FROM_HOUR THEN
1565: Fnd_Message.set_name ('AHL', 'AHL_VWP_ONLY_POSITIVE_VALUE');
1566: Fnd_Msg_Pub.ADD;
1567: x_return_status := Fnd_Api.g_ret_sts_error;
1563: IF (p_task_rec.START_FROM_HOUR IS NOT NULL and p_Task_rec.START_FROM_HOUR <> Fnd_Api.G_MISS_NUM) THEN
1564: IF p_task_rec.START_FROM_HOUR < 0 OR FLOOR(p_task_rec.START_FROM_HOUR) <> p_task_rec.START_FROM_HOUR THEN
1565: Fnd_Message.set_name ('AHL', 'AHL_VWP_ONLY_POSITIVE_VALUE');
1566: Fnd_Msg_Pub.ADD;
1567: x_return_status := Fnd_Api.g_ret_sts_error;
1568: RETURN;
1569: END IF;
1570: END IF;
1571:
1586: IS
1587: l_valid_flag VARCHAR2(1);
1588:
1589: BEGIN
1590: x_return_status := Fnd_Api.g_ret_sts_success;
1591: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
1592: fnd_log.string(fnd_log.level_procedure,'ahl.plsql.'||G_PKG_NAME,'Check_Visit_Task_UK_Items: = Start Check_Visit_Task_UK_Items ');
1593: END IF;
1594: --
1601: -- FOR CREATION
1602: IF Ahl_Utility_Pvt.check_uniqueness(
1603: 'Ahl_Visit_Tasks_vl',
1604: 'Visit_Task_ID = ' || p_task_rec.Visit_Task_ID
1605: ) = Fnd_Api.g_false
1606: THEN
1607: Fnd_Message.set_name ('AHL', 'AHL_VWP_DUPLICATE_TASK_ID');
1608: Fnd_Msg_Pub.ADD;
1609: x_return_status := Fnd_Api.g_ret_sts_error;
1605: ) = Fnd_Api.g_false
1606: THEN
1607: Fnd_Message.set_name ('AHL', 'AHL_VWP_DUPLICATE_TASK_ID');
1608: Fnd_Msg_Pub.ADD;
1609: x_return_status := Fnd_Api.g_ret_sts_error;
1610: RETURN;
1611: END IF;
1612: END IF;
1613: