16:
17: PROCEDURE CREATE_MASS_EDIT_BATCH
18: (
19: p_api_version IN NUMBER,
20: p_commit IN VARCHAR2 := fnd_api.g_false,
21: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
22: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
23: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
24: px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec ,
17: PROCEDURE CREATE_MASS_EDIT_BATCH
18: (
19: p_api_version IN NUMBER,
20: p_commit IN VARCHAR2 := fnd_api.g_false,
21: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
22: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
23: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
24: px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec ,
25: px_mass_edit_inst_tbl IN OUT NOCOPY csi_mass_edit_pub.mass_edit_inst_tbl,
18: (
19: p_api_version IN NUMBER,
20: p_commit IN VARCHAR2 := fnd_api.g_false,
21: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
22: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
23: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
24: px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec ,
25: px_mass_edit_inst_tbl IN OUT NOCOPY csi_mass_edit_pub.mass_edit_inst_tbl,
26: px_txn_line_detail_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
80: -- Standard Start of API savepoint
81: SAVEPOINT CREATE_MASS_EDIT_BATCH_PVT;
82:
83: -- Initialize message list if p_init_msg_list is set to TRUE.
84: IF FND_API.To_Boolean( p_init_msg_list ) THEN
85: FND_MSG_PUB.Initialize;
86: END IF;
87:
88: -- Initialize API return status to succcess
85: FND_MSG_PUB.Initialize;
86: END IF;
87:
88: -- Initialize API return status to succcess
89: x_return_status := FND_API.G_RET_STS_SUCCESS;
90:
91: -- Standard call to check for call compatibility.
92: IF NOT
93:
90:
91: -- Standard call to check for call compatibility.
92: IF NOT
93:
94: FND_API.Compatible_API_Call (
95: p_current_version_number => l_api_version,
96: p_caller_version_number => p_api_version,
97: p_api_name => l_api_name,
98: p_pkg_name => g_pkg_name) THEN
96: p_caller_version_number => p_api_version,
97: p_api_name => l_api_name,
98: p_pkg_name => g_pkg_name) THEN
99:
100: RAISE FND_API.G_Exc_Unexpected_Error;
101:
102: END IF;
103: -- main code starts here
104:
110: p_api_name => 'CREATE_MASS_EDIT_BATCH',
111: x_mass_edit_error_tbl => l_mass_edit_error_tbl);
112:
113: -- Validate that the status of the batch is NOT Processed or Successful
114: IF nvl(px_mass_edit_rec.status_code, fnd_api.g_miss_char) <> fnd_api.g_miss_char
115: THEN
116: validate_batch_status(p_batch_id => px_mass_edit_rec.entry_id,
117: x_mass_edit_error_tbl => l_mass_edit_error_tbl);
118: ELSE
137: --check if all the txn_line_detail recs have a instance id
138: IF px_mass_edit_inst_tbl.count > 0 THEN
139: FOR i IN px_mass_edit_inst_tbl.FIRST .. px_mass_edit_inst_tbl.LAST
140: LOOP
141: IF NVL(px_mass_edit_inst_tbl(i).instance_id , fnd_api.g_miss_num)
142: = fnd_api.g_miss_num
143: THEN
144: FND_MESSAGE.set_name('CSI','CSI_MU_MISSING_INSTANCE');
145: FND_MESSAGE.set_token('BATCH_NAME',px_mass_edit_rec.name) ;
138: IF px_mass_edit_inst_tbl.count > 0 THEN
139: FOR i IN px_mass_edit_inst_tbl.FIRST .. px_mass_edit_inst_tbl.LAST
140: LOOP
141: IF NVL(px_mass_edit_inst_tbl(i).instance_id , fnd_api.g_miss_num)
142: = fnd_api.g_miss_num
143: THEN
144: FND_MESSAGE.set_name('CSI','CSI_MU_MISSING_INSTANCE');
145: FND_MESSAGE.set_token('BATCH_NAME',px_mass_edit_rec.name) ;
146: FND_MESSAGE.set_token('TXN_LINE_DETAIL_ID',px_mass_edit_inst_tbl(i).txn_line_detail_id) ;
148: (
149: p_index => 1,
150: p_instance_id => px_mass_edit_inst_tbl(i).instance_id,
151: p_txn_line_detail_id => px_mass_edit_inst_tbl(i).txn_line_detail_id,
152: p_error_code => fnd_api.g_ret_sts_error,
153: x_mass_edit_error_tbl => l_mass_edit_error_tbl
154: );
155: RAISE FND_API.g_exc_error;
156: END IF ;
151: p_txn_line_detail_id => px_mass_edit_inst_tbl(i).txn_line_detail_id,
152: p_error_code => fnd_api.g_ret_sts_error,
153: x_mass_edit_error_tbl => l_mass_edit_error_tbl
154: );
155: RAISE FND_API.g_exc_error;
156: END IF ;
157: END LOOP ;
158: END IF;
159:
213: (
214: p_index => nvl(l_mass_edit_error_tbl.last, 0) + 1,
215: p_instance_id => px_mass_edit_inst_tbl(inst_idx).instance_id,
216: p_txn_line_detail_id => null,
217: p_error_code => fnd_api.g_ret_sts_error,
218: x_mass_edit_error_tbl => l_mass_edit_error_tbl
219: );
220: Raise fnd_api.g_exc_error;
221: End If;
216: p_txn_line_detail_id => null,
217: p_error_code => fnd_api.g_ret_sts_error,
218: x_mass_edit_error_tbl => l_mass_edit_error_tbl
219: );
220: Raise fnd_api.g_exc_error;
221: End If;
222: CLOSE instance_csr;
223:
224: --add the txn_line_id to all records in the detail rec and default the instance_exists flag to 'Y'
299: (
300: p_index => nvl(l_mass_edit_error_tbl.last, 0) + 1,
301: p_instance_id => l_instance_csr.instance_id,
302: p_txn_line_detail_id => null,
303: p_error_code => fnd_api.g_ret_sts_error,
304: x_mass_edit_error_tbl => l_mass_edit_error_tbl
305: );
306: RAISE fnd_api.g_exc_error;
307: When too_many_rows Then
302: p_txn_line_detail_id => null,
303: p_error_code => fnd_api.g_ret_sts_error,
304: x_mass_edit_error_tbl => l_mass_edit_error_tbl
305: );
306: RAISE fnd_api.g_exc_error;
307: When too_many_rows Then
308: FND_MESSAGE.set_name('CSI','CSI_MANY_INST_OWNER_FOUND');
309: FND_MESSAGE.set_token('INSTANCE_ID',l_instance_csr.instance_id);
310: log_mu_error
311: (
312: p_index => nvl(l_mass_edit_error_tbl.last, 0) + 1,
313: p_instance_id => l_instance_csr.instance_id,
314: p_txn_line_detail_id => null,
315: p_error_code => fnd_api.g_ret_sts_error,
316: x_mass_edit_error_tbl => l_mass_edit_error_tbl
317: );
318: RAISE fnd_api.g_exc_error;
319: When others Then
314: p_txn_line_detail_id => null,
315: p_error_code => fnd_api.g_ret_sts_error,
316: x_mass_edit_error_tbl => l_mass_edit_error_tbl
317: );
318: RAISE fnd_api.g_exc_error;
319: When others Then
320: FND_MESSAGE.set_name('CSI','CSI_API_OWNER_OTHERS_EXCEPTION');
321: log_mu_error
322: (
322: (
323: p_index => nvl(l_mass_edit_error_tbl.last, 0) + 1,
324: p_instance_id => l_instance_csr.instance_id,
325: p_txn_line_detail_id => null,
326: p_error_code => fnd_api.g_ret_sts_error,
327: x_mass_edit_error_tbl => l_mass_edit_error_tbl
328: );
329: RAISE fnd_api.g_exc_unexpected_error;
330: End;
325: p_txn_line_detail_id => null,
326: p_error_code => fnd_api.g_ret_sts_error,
327: x_mass_edit_error_tbl => l_mass_edit_error_tbl
328: );
329: RAISE fnd_api.g_exc_unexpected_error;
330: End;
331:
332: pty_idx := pty_idx +1;
333:
336: l_txn_line_rec.transaction_line_id := px_mass_edit_rec.txn_line_id;
337: l_txn_line_rec.source_transaction_id := px_mass_edit_rec.ENTRY_ID;
338: l_txn_line_rec.object_version_number := 1.0;
339:
340: IF ( ( nvl(l_source_txn_type_id,fnd_api.g_miss_num) = fnd_api.g_miss_num)
341: AND (nvl(l_source_txn_table,fnd_api.g_miss_char) = fnd_api.g_miss_char ))
342: THEN
343: --Default these values for mass update transactions
344: l_txn_line_rec.source_transaction_type_id := '3'; -- SOURCE_TRANSACTION_TYPE_ID for MASS_EDIT is 3
337: l_txn_line_rec.source_transaction_id := px_mass_edit_rec.ENTRY_ID;
338: l_txn_line_rec.object_version_number := 1.0;
339:
340: IF ( ( nvl(l_source_txn_type_id,fnd_api.g_miss_num) = fnd_api.g_miss_num)
341: AND (nvl(l_source_txn_table,fnd_api.g_miss_char) = fnd_api.g_miss_char ))
342: THEN
343: --Default these values for mass update transactions
344: l_txn_line_rec.source_transaction_type_id := '3'; -- SOURCE_TRANSACTION_TYPE_ID for MASS_EDIT is 3
345: l_txn_line_rec.source_transaction_table := 'CSI_MASS_EDIT_ENTRIES';
375:
376: -- Resetting the Transaction Party Contacts table
377: FOR con_ind IN px_txn_party_detail_tbl.FIRST .. px_txn_party_detail_tbl.LAST
378: LOOP
379: IF nvl(px_txn_party_detail_tbl(con_ind).contact_flag,fnd_api.g_miss_char) = 'Y' THEN
380: IF px_txn_party_detail_tbl(con_ind).contact_party_id = pc_ind THEN
381: px_txn_party_detail_tbl(con_ind).contact_party_id := t_p_indx;
382: END IF;
383: END IF;
397: -- right now we do not process org assignments, txn systems, relationships
398:
399: csi_t_txn_details_grp.update_transaction_dtls(
400: p_api_version => p_api_version,
401: p_commit => fnd_api.g_false,
402: p_init_msg_list => p_init_msg_list,
403: p_validation_level => p_validation_level,
404: p_txn_line_rec => l_txn_line_rec,
405: px_txn_line_detail_tbl => l_txn_line_detail_tbl,
411: x_return_status => l_return_status,
412: x_msg_count => l_msg_count,
413: x_msg_data => l_msg_data);
414:
415: IF l_return_status <> fnd_api.g_ret_sts_success THEN
416: l_msg_index := 1;
417: WHILE l_msg_count > 0 loop
418:
419: -- Set Error Table Index
418:
419: -- Set Error Table Index
420: err_indx := nvl(l_mass_edit_error_tbl.last,0) + 1;
421:
422: l_error_message := l_error_message || fnd_msg_pub.get(l_msg_index,FND_API.G_FALSE);
423: l_mass_edit_error_tbl(err_indx).instance_id := NULL;
424: l_mass_edit_error_tbl(err_indx).entry_id := g_entry_id;
425: l_mass_edit_error_tbl(err_indx).name := g_batch_name;
426: l_mass_edit_error_tbl(err_indx).txn_line_detail_id := NULL;
424: l_mass_edit_error_tbl(err_indx).entry_id := g_entry_id;
425: l_mass_edit_error_tbl(err_indx).name := g_batch_name;
426: l_mass_edit_error_tbl(err_indx).txn_line_detail_id := NULL;
427: l_mass_edit_error_tbl(err_indx).error_text := l_error_message;
428: l_mass_edit_error_tbl(err_indx).error_code := fnd_api.g_ret_sts_error;
429: l_msg_index := l_msg_index + 1;
430: l_msg_count := l_msg_count - 1;
431: END LOOP;
432: RAISE fnd_api.g_exc_error;
428: l_mass_edit_error_tbl(err_indx).error_code := fnd_api.g_ret_sts_error;
429: l_msg_index := l_msg_index + 1;
430: l_msg_count := l_msg_count - 1;
431: END LOOP;
432: RAISE fnd_api.g_exc_error;
433: ELSE
434: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
435: END IF;
436: ELSE -- validate batch has errors
434: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
435: END IF;
436: ELSE -- validate batch has errors
437: debug('Validate Batch Failed. Pl. check and fix the Errors.');
438: RAISE fnd_api.g_exc_error;
439: END IF; -- check for batch validate
440: END IF; -- px_mass_edit_inst_tbl count > 0
441:
442: Debug('CREATE_MASS_EDIT_BATCH API Successfully completed');
446: p_data => x_msg_data
447: );
448:
449: EXCEPTION
450: WHEN FND_API.G_EXC_ERROR THEN
451: ROLLBACK TO CREATE_MASS_EDIT_BATCH_PVT;
452: x_return_status := FND_API.G_RET_STS_ERROR ;
453: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
454: FND_MSG_PUB.Count_And_Get
448:
449: EXCEPTION
450: WHEN FND_API.G_EXC_ERROR THEN
451: ROLLBACK TO CREATE_MASS_EDIT_BATCH_PVT;
452: x_return_status := FND_API.G_RET_STS_ERROR ;
453: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
454: FND_MSG_PUB.Count_And_Get
455: (p_count => x_msg_count,
456: p_data => x_msg_data
454: FND_MSG_PUB.Count_And_Get
455: (p_count => x_msg_count,
456: p_data => x_msg_data
457: );
458: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
460: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
461: ROLLBACK TO CREATE_MASS_EDIT_BATCH_PVT;
462: FND_MSG_PUB.Count_And_Get
455: (p_count => x_msg_count,
456: p_data => x_msg_data
457: );
458: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
460: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
461: ROLLBACK TO CREATE_MASS_EDIT_BATCH_PVT;
462: FND_MSG_PUB.Count_And_Get
463: ( p_count => x_msg_count,
463: ( p_count => x_msg_count,
464: p_data => x_msg_data
465: );
466: WHEN OTHERS THEN
467: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
468: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
469: ROLLBACK TO CREATE_MASS_EDIT_BATCH_PVT;
470: IF FND_MSG_PUB.Check_Msg_Level
471: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
502:
503: BEGIN
504: debug('Batch Name: '||p_batch_name||' Batch ID: '||p_batch_id);
505:
506: IF nvl(p_batch_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
507:
508: SELECT *
509: INTO l_mass_edit_rec
510: FROM csi_mass_edit_entries_vl
511: WHERE entry_id = p_batch_id;
512:
513: -- to validate duplicate batch name in an update scenaio...
514:
515: IF nvl(p_batch_name, fnd_api.g_miss_char) <> fnd_api.g_miss_char THEN
516: IF p_batch_name <> l_mass_edit_rec.name THEN
517:
518: OPEN dup_batch_name (p_batch_id,p_batch_name);
519: FETCH dup_batch_name INTO l_dup_batch_name;
528:
529: END IF;
530: END IF;
531:
532: ELSIF nvl(p_batch_name, fnd_api.g_miss_char) <> fnd_api.g_miss_char THEN
533:
534: SELECT entry_id
535: ,name
536: ,txn_line_id
593: END;
594:
595: If(l_found is not null) THEN
596: debug('Duplicate batch name');
597: Raise fnd_api.g_exc_error;
598: END IF;
599:
600: EXCEPTION
601: WHEN fnd_api.g_exc_error THEN
597: Raise fnd_api.g_exc_error;
598: END IF;
599:
600: EXCEPTION
601: WHEN fnd_api.g_exc_error THEN
602: FND_MESSAGE.set_name('CSI','CSI_MU_DUPLICATE_BATCH_NAME');
603: FND_MESSAGE.set_token('BATCH_NAME',p_batch_name) ;
604: log_mu_error
605: (
605: (
606: p_index => 1,
607: p_instance_id => null,
608: p_txn_line_detail_id => null,
609: p_error_code => fnd_api.g_ret_sts_error,
610: x_mass_edit_error_tbl => x_mass_edit_error_tbl
611: );
612: Raise;
613: WHEN OTHERS THEN
617: (
618: p_index => 1,
619: p_instance_id => null,
620: p_txn_line_detail_id => null,
621: p_error_code => fnd_api.g_ret_sts_error,
622: x_mass_edit_error_tbl => x_mass_edit_error_tbl
623: );
624: Raise;
625: END validate_batch_name;
657: (
658: p_index => 1,
659: p_instance_id => null,
660: p_txn_line_detail_id => null,
661: p_error_code => fnd_api.g_ret_sts_error,
662: x_mass_edit_error_tbl => x_mass_edit_error_tbl
663: );
664: Raise;
665: WHEN OTHERS THEN
669: (
670: p_index => 1,
671: p_instance_id => null,
672: p_txn_line_detail_id => null,
673: p_error_code => fnd_api.g_ret_sts_error,
674: x_mass_edit_error_tbl => x_mass_edit_error_tbl
675: );
676: Raise;
677: END validate_batch_type;
698:
699: EXCEPTION
700: WHEN NO_DATA_FOUND THEN
701: l_status :=null;
702: Raise fnd_api.g_exc_unexpected_error;
703: END;
704:
705: If l_status in ('SUCCESSFUL','PROCESSING') THEN
706: debug('Invalid Status for this batch - Cannot be Successful or Processed');
703: END;
704:
705: If l_status in ('SUCCESSFUL','PROCESSING') THEN
706: debug('Invalid Status for this batch - Cannot be Successful or Processed');
707: Raise fnd_api.g_exc_error;
708: END IF;
709:
710: EXCEPTION
711: WHEN fnd_api.g_exc_error THEN
707: Raise fnd_api.g_exc_error;
708: END IF;
709:
710: EXCEPTION
711: WHEN fnd_api.g_exc_error THEN
712: FND_MESSAGE.set_name('CSI','CSI_MU_BATCH_UPD_DISALLOWED');
713: FND_MESSAGE.set_token('BATCH_STATUS',l_status) ;
714: FND_MESSAGE.set_token('BATCH_NAME',g_batch_name) ;
715: log_mu_error
716: (
717: p_index => 1,
718: p_instance_id => null,
719: p_txn_line_detail_id => null,
720: p_error_code => fnd_api.g_ret_sts_error,
721: x_mass_edit_error_tbl => x_mass_edit_error_tbl
722: );
723: Raise;
724: WHEN fnd_api.g_exc_unexpected_error THEN
720: p_error_code => fnd_api.g_ret_sts_error,
721: x_mass_edit_error_tbl => x_mass_edit_error_tbl
722: );
723: Raise;
724: WHEN fnd_api.g_exc_unexpected_error THEN
725: FND_MESSAGE.set_name('CSI','CSI_MU_INVALID_BATCH_STATUS');
726: FND_MESSAGE.set_token('BATCH_STATUS',l_status) ;
727: FND_MESSAGE.set_token('BATCH_NAME',g_batch_name) ;
728: log_mu_error
729: (
730: p_index => 1,
731: p_instance_id => null,
732: p_txn_line_detail_id => null,
733: p_error_code => fnd_api.g_ret_sts_error,
734: x_mass_edit_error_tbl => x_mass_edit_error_tbl
735: );
736: Raise;
737: WHEN OTHERS THEN
741: (
742: p_index => 1,
743: p_instance_id => null,
744: p_txn_line_detail_id => null,
745: p_error_code => fnd_api.g_ret_sts_error,
746: x_mass_edit_error_tbl => x_mass_edit_error_tbl
747: );
748: Raise;
749: END validate_batch_status;
767:
768:
769: PROCEDURE UPDATE_MASS_EDIT_BATCH (
770: p_api_version IN NUMBER,
771: p_commit IN VARCHAR2 := fnd_api.g_false,
772: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
773: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
774: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
775: px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
768:
769: PROCEDURE UPDATE_MASS_EDIT_BATCH (
770: p_api_version IN NUMBER,
771: p_commit IN VARCHAR2 := fnd_api.g_false,
772: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
773: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
774: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
775: px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
776: px_mass_edit_inst_tbl IN OUT NOCOPY csi_mass_edit_pub.mass_edit_inst_tbl,
769: PROCEDURE UPDATE_MASS_EDIT_BATCH (
770: p_api_version IN NUMBER,
771: p_commit IN VARCHAR2 := fnd_api.g_false,
772: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
773: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
774: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
775: px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
776: px_mass_edit_inst_tbl IN OUT NOCOPY csi_mass_edit_pub.mass_edit_inst_tbl,
777: px_txn_line_detail_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
823: BEGIN
824: SAVEPOINT UPDATE_MASS_EDIT_PVT;
825:
826: -- Initialize message list if p_init_msg_list is set to TRUE.
827: IF FND_API.To_Boolean( p_init_msg_list ) THEN
828: FND_MSG_PUB.Initialize;
829: END IF;
830:
831: -- Initialize API return status to succcess
828: FND_MSG_PUB.Initialize;
829: END IF;
830:
831: -- Initialize API return status to succcess
832: x_return_status := FND_API.G_RET_STS_SUCCESS;
833:
834: -- Standard call to check for call compatibility.
835: IF NOT FND_API.Compatible_API_Call (
836: p_current_version_number => l_api_version,
831: -- Initialize API return status to succcess
832: x_return_status := FND_API.G_RET_STS_SUCCESS;
833:
834: -- Standard call to check for call compatibility.
835: IF NOT FND_API.Compatible_API_Call (
836: p_current_version_number => l_api_version,
837: p_caller_version_number => p_api_version,
838: p_api_name => l_api_name,
839: p_pkg_name => g_pkg_name) THEN
837: p_caller_version_number => p_api_version,
838: p_api_name => l_api_name,
839: p_pkg_name => g_pkg_name) THEN
840:
841: RAISE FND_API.G_Exc_Unexpected_Error;
842: END IF;
843:
844: -- Check required parameters
845: csi_t_vldn_routines_pvt.check_reqd_param(
852:
853: -- Assign the mass edit rec to a local variable so it can be passed to the update row
854: l_mass_edit_rec := px_mass_edit_rec;
855:
856: IF ( (nvl(px_mass_edit_rec.entry_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num)
857: OR ( nvl(px_mass_edit_rec.name, fnd_api.g_miss_char) <> fnd_api.g_miss_char )) THEN
858:
859: IF NOT Is_valid_batch (p_batch_name => g_batch_name,
860: p_batch_id => g_entry_id,
853: -- Assign the mass edit rec to a local variable so it can be passed to the update row
854: l_mass_edit_rec := px_mass_edit_rec;
855:
856: IF ( (nvl(px_mass_edit_rec.entry_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num)
857: OR ( nvl(px_mass_edit_rec.name, fnd_api.g_miss_char) <> fnd_api.g_miss_char )) THEN
858:
859: IF NOT Is_valid_batch (p_batch_name => g_batch_name,
860: p_batch_id => g_entry_id,
861: x_mass_edit_rec => px_mass_edit_rec
860: p_batch_id => g_entry_id,
861: x_mass_edit_rec => px_mass_edit_rec
862: )
863: THEN
864: IF nvl(px_mass_edit_rec.entry_id, fnd_api.g_miss_num) = fnd_api.g_miss_num THEN
865: FND_MESSAGE.set_name('CSI','CSI_MU_INVALID_BATCH_NAME');
866: FND_MESSAGE.set_token('BATCH_NAME',px_mass_edit_rec.name);
867: ELSE
868: FND_MESSAGE.set_name('CSI','CSI_MU_INVALID_BATCH_ID');
873: (
874: p_index => 1,
875: p_instance_id => null,
876: p_txn_line_detail_id => null,
877: p_error_code => fnd_api.g_ret_sts_error,
878: x_mass_edit_error_tbl => l_mass_edit_error_tbl
879: );
880: Raise fnd_api.g_exc_error;
881: END IF;
876: p_txn_line_detail_id => null,
877: p_error_code => fnd_api.g_ret_sts_error,
878: x_mass_edit_error_tbl => l_mass_edit_error_tbl
879: );
880: Raise fnd_api.g_exc_error;
881: END IF;
882: END IF;
883:
884: -- Check to see if there is an instance id on the detail record if so fail
882: END IF;
883:
884: -- Check to see if there is an instance id on the detail record if so fail
885:
886: IF nvl(px_txn_line_detail_rec.txn_line_detail_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
887: IF nvl(px_txn_line_detail_rec.instance_id,fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
888: -- trying to provide an instance on the dummy line detail rec for mass update
889: l_invalid_operation := 'Y';
890: FND_MESSAGE.SET_NAME('CSI','CSI_MU_BATCH_INST_ON_DTL_REC');
883:
884: -- Check to see if there is an instance id on the detail record if so fail
885:
886: IF nvl(px_txn_line_detail_rec.txn_line_detail_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
887: IF nvl(px_txn_line_detail_rec.instance_id,fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
888: -- trying to provide an instance on the dummy line detail rec for mass update
889: l_invalid_operation := 'Y';
890: FND_MESSAGE.SET_NAME('CSI','CSI_MU_BATCH_INST_ON_DTL_REC');
891: FND_MESSAGE.SET_TOKEN('INSTANCE_ID',px_txn_line_detail_rec.instance_id);
903: (
904: p_index => 1,
905: p_instance_id => px_txn_line_detail_rec.instance_id,
906: p_txn_line_detail_id => px_txn_line_detail_rec.txn_line_detail_id,
907: p_error_code => fnd_api.g_ret_sts_error,
908: x_mass_edit_error_tbl => l_mass_edit_error_tbl
909: );
910: RAISE FND_API.G_EXC_ERROR;
911: END IF;
906: p_txn_line_detail_id => px_txn_line_detail_rec.txn_line_detail_id,
907: p_error_code => fnd_api.g_ret_sts_error,
908: x_mass_edit_error_tbl => l_mass_edit_error_tbl
909: );
910: RAISE FND_API.G_EXC_ERROR;
911: END IF;
912: END IF;
913:
914: csi_t_gen_utility_pvt.dump_mass_edit_rec(px_mass_edit_rec);
922: debug('px_txn_pty_acct_detail_tbl Count: '||px_txn_pty_acct_detail_tbl.count);
923: debug('px_txn_ext_attrib_vals_tbl Count: '||px_txn_ext_attrib_vals_tbl.count);
924:
925: IF (px_mass_edit_inst_tbl.count > 0 OR
926: nvl(px_txn_line_detail_rec.txn_line_detail_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num) THEN
927: IF (px_txn_party_detail_tbl.count > 0 OR
928: px_txn_pty_acct_detail_tbl.count > 0 OR
929: px_txn_ext_attrib_vals_tbl.count > 0) THEN
930: csi_t_vldn_routines_pvt.check_reqd_param(
935:
936: -- assign all the required local pl/sql tables for calling the transaction details API
937: l_txn_line_rec := px_txn_line_rec;
938: -- added the IF below for bug 4769442
939: IF nvl(l_txn_line_rec.source_transaction_type_id,fnd_api.g_miss_num) = fnd_api.g_miss_num
940: THEN
941: --Default this seeded value for mass update transactions
942: l_txn_line_rec.source_transaction_type_id := '3'; -- SOURCE_TRANSACTION_TYPE_ID for MASS_EDIT is 3
943: END IF;
942: l_txn_line_rec.source_transaction_type_id := '3'; -- SOURCE_TRANSACTION_TYPE_ID for MASS_EDIT is 3
943: END IF;
944:
945:
946: IF nvl(px_txn_line_detail_rec.txn_line_detail_id,fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
947: l_txn_line_detail_tbl(tld_idx) := px_txn_line_detail_rec;
948: l_txn_party_detail_tbl := px_txn_party_detail_tbl;
949: l_txn_pty_acct_detail_tbl := px_txn_pty_acct_detail_tbl;
950: l_txn_ext_attrib_vals_tbl := px_txn_ext_attrib_vals_tbl;
964:
965:
966: IF px_mass_edit_inst_tbl.count > 0 THEN
967: FOR i IN px_mass_edit_inst_tbl.FIRST .. px_mass_edit_inst_tbl.LAST LOOP
968: IF nvl(px_mass_edit_inst_tbl(i).txn_line_detail_id,fnd_api.g_miss_num) = fnd_api.g_miss_num THEN
969: l_create_instance_tdls := 'Y';
970: validate_batch_type(p_batch_type => px_mass_edit_rec.BATCH_TYPE,
971: p_api_name => 'UPDATE_MASS_EDIT_BATCH',
972: x_sub_type_id => l_sub_type_id,
991: IF (l_mass_edit_error_tbl.count = 0 OR
992: l_return_status = 'W') THEN
993: IF px_mass_edit_inst_tbl.count > 0 THEN
994: FOR inst_idx IN px_mass_edit_inst_tbl.FIRST .. px_mass_edit_inst_tbl.LAST LOOP
995: IF nvl(px_mass_edit_inst_tbl(inst_idx).txn_line_detail_id, fnd_api.g_miss_num)
996: = fnd_api.g_miss_num
997: THEN
998: debug('px_mass_edit_inst_tbl('||inst_idx||').instance_id = '
999: ||px_mass_edit_inst_tbl(inst_idx).instance_id);
992: l_return_status = 'W') THEN
993: IF px_mass_edit_inst_tbl.count > 0 THEN
994: FOR inst_idx IN px_mass_edit_inst_tbl.FIRST .. px_mass_edit_inst_tbl.LAST LOOP
995: IF nvl(px_mass_edit_inst_tbl(inst_idx).txn_line_detail_id, fnd_api.g_miss_num)
996: = fnd_api.g_miss_num
997: THEN
998: debug('px_mass_edit_inst_tbl('||inst_idx||').instance_id = '
999: ||px_mass_edit_inst_tbl(inst_idx).instance_id);
1000: OPEN instance_csr (px_mass_edit_inst_tbl(inst_idx).instance_id);
1008: (
1009: p_index => nvl(l_mass_edit_error_tbl.last, 0) + 1,
1010: p_instance_id => px_mass_edit_inst_tbl(inst_idx).instance_id,
1011: p_txn_line_detail_id => null,
1012: p_error_code => fnd_api.g_ret_sts_error,
1013: x_mass_edit_error_tbl => l_mass_edit_error_tbl
1014: );
1015: Raise fnd_api.g_exc_error;
1016: End If;
1011: p_txn_line_detail_id => null,
1012: p_error_code => fnd_api.g_ret_sts_error,
1013: x_mass_edit_error_tbl => l_mass_edit_error_tbl
1014: );
1015: Raise fnd_api.g_exc_error;
1016: End If;
1017: CLOSE instance_csr;
1018: --add the txn_line_id to all records in the detail rec and default the instance_exists flag to 'Y'
1019: l_txn_line_rec.SOURCE_TRANSACTION_ID := px_mass_edit_rec.entry_id;
1097: (
1098: p_index => nvl(l_mass_edit_error_tbl.last, 0) + 1,
1099: p_instance_id => l_instance_csr.instance_id,
1100: p_txn_line_detail_id => null,
1101: p_error_code => fnd_api.g_ret_sts_error,
1102: x_mass_edit_error_tbl => l_mass_edit_error_tbl
1103: );
1104: RAISE fnd_api.g_exc_error;
1105: When too_many_rows Then
1100: p_txn_line_detail_id => null,
1101: p_error_code => fnd_api.g_ret_sts_error,
1102: x_mass_edit_error_tbl => l_mass_edit_error_tbl
1103: );
1104: RAISE fnd_api.g_exc_error;
1105: When too_many_rows Then
1106: FND_MESSAGE.set_name('CSI','CSI_MANY_INST_OWNER_FOUND');
1107: FND_MESSAGE.set_token('INSTANCE_ID',l_instance_csr.instance_id);
1108: log_mu_error
1109: (
1110: p_index => nvl(l_mass_edit_error_tbl.last, 0) + 1,
1111: p_instance_id => l_instance_csr.instance_id,
1112: p_txn_line_detail_id => null,
1113: p_error_code => fnd_api.g_ret_sts_error,
1114: x_mass_edit_error_tbl => l_mass_edit_error_tbl
1115: );
1116: RAISE fnd_api.g_exc_error;
1117: When others Then
1112: p_txn_line_detail_id => null,
1113: p_error_code => fnd_api.g_ret_sts_error,
1114: x_mass_edit_error_tbl => l_mass_edit_error_tbl
1115: );
1116: RAISE fnd_api.g_exc_error;
1117: When others Then
1118: FND_MESSAGE.set_name('CSI','CSI_API_OWNER_OTHERS_EXCEPTION');
1119: log_mu_error
1120: (
1120: (
1121: p_index => nvl(l_mass_edit_error_tbl.last, 0) + 1,
1122: p_instance_id => l_instance_csr.instance_id,
1123: p_txn_line_detail_id => null,
1124: p_error_code => fnd_api.g_ret_sts_error,
1125: x_mass_edit_error_tbl => l_mass_edit_error_tbl
1126: );
1127: RAISE fnd_api.g_exc_unexpected_error;
1128: End;
1123: p_txn_line_detail_id => null,
1124: p_error_code => fnd_api.g_ret_sts_error,
1125: x_mass_edit_error_tbl => l_mass_edit_error_tbl
1126: );
1127: RAISE fnd_api.g_exc_unexpected_error;
1128: End;
1129: pty_idx := pty_idx +1;
1130: ELSE -- if line_detail_id = g_miss_num
1131: -- Setting txn line detail, active end date and object version number only for updates
1153: debug('l_txn_pty_acct_detail_tbl count: '||l_txn_pty_acct_detail_tbl.count);
1154:
1155: csi_t_txn_details_grp.update_transaction_dtls(
1156: p_api_version => p_api_version,
1157: p_commit => fnd_api.g_false,
1158: p_init_msg_list => p_init_msg_list,
1159: p_validation_level => p_validation_level,
1160: p_txn_line_rec => l_txn_line_rec,
1161: px_txn_line_detail_tbl => l_txn_line_detail_tbl,
1167: x_return_status => l_return_status,
1168: x_msg_count => l_msg_count,
1169: x_msg_data => l_msg_data);
1170:
1171: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1172: l_msg_index := 1;
1173: WHILE l_msg_count > 0 loop
1174:
1175: -- Set Error Table Index
1174:
1175: -- Set Error Table Index
1176: err_indx := nvl(l_mass_edit_error_tbl.last,0) + 1;
1177:
1178: l_error_message := l_error_message || fnd_msg_pub.get(l_msg_index,FND_API.G_FALSE);
1179: l_mass_edit_error_tbl(err_indx).instance_id := NULL;
1180: l_mass_edit_error_tbl(err_indx).entry_id := g_entry_id;
1181: l_mass_edit_error_tbl(err_indx).txn_line_detail_id := NULL;
1182: l_mass_edit_error_tbl(err_indx).error_text := l_error_message;
1179: l_mass_edit_error_tbl(err_indx).instance_id := NULL;
1180: l_mass_edit_error_tbl(err_indx).entry_id := g_entry_id;
1181: l_mass_edit_error_tbl(err_indx).txn_line_detail_id := NULL;
1182: l_mass_edit_error_tbl(err_indx).error_text := l_error_message;
1183: l_mass_edit_error_tbl(err_indx).error_code := fnd_api.g_ret_sts_error;
1184: l_msg_index := l_msg_index + 1;
1185: l_msg_count := l_msg_count - 1;
1186: err_indx := err_indx + 1;
1187: END LOOP;
1184: l_msg_index := l_msg_index + 1;
1185: l_msg_count := l_msg_count - 1;
1186: err_indx := err_indx + 1;
1187: END LOOP;
1188: RAISE fnd_api.g_exc_error;
1189: ELSE
1190: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
1191: END IF;
1192:
1200: debug('Done validating batch, no. of errors: '||l_mass_edit_error_tbl.count);
1201: debug('Return status: '||l_return_status);
1202:
1203: IF (l_return_status = 'E') THEN
1204: RAISE FND_API.G_EXC_ERROR;
1205: END IF;
1206: END IF;
1207:
1208: ELSE -- Validate Batch returned errors and they were errors and warnings
1206: END IF;
1207:
1208: ELSE -- Validate Batch returned errors and they were errors and warnings
1209: debug('Validate Batch Failed. Pl. check and fix the Errors.');
1210: RAISE FND_API.G_EXC_ERROR;
1211: END IF; -- Check return of Validate Batch
1212: END IF; -- IF mass edit inst tbl.count OR line_detail_rec exists
1213:
1214: -- calling table handler at the end to handle cases where only mu rec is updated in a batch
1219: p_SCHEDULE_DATE => l_mass_edit_rec.SCHEDULE_DATE,
1220: p_START_DATE => l_mass_edit_rec.START_DATE,
1221: p_END_DATE => l_mass_edit_rec.END_DATE,
1222: p_NAME => l_mass_edit_rec.NAME,
1223: p_CREATED_BY => fnd_api.g_miss_num,
1224: p_CREATION_DATE => fnd_api.g_miss_date,
1225: p_LAST_UPDATED_BY => csi_mass_edit_pub.g_user_id,
1226: p_LAST_UPDATE_DATE => sysdate,
1227: p_LAST_UPDATE_LOGIN => csi_mass_edit_pub.g_login_id,
1220: p_START_DATE => l_mass_edit_rec.START_DATE,
1221: p_END_DATE => l_mass_edit_rec.END_DATE,
1222: p_NAME => l_mass_edit_rec.NAME,
1223: p_CREATED_BY => fnd_api.g_miss_num,
1224: p_CREATION_DATE => fnd_api.g_miss_date,
1225: p_LAST_UPDATED_BY => csi_mass_edit_pub.g_user_id,
1226: p_LAST_UPDATE_DATE => sysdate,
1227: p_LAST_UPDATE_LOGIN => csi_mass_edit_pub.g_login_id,
1228: p_OBJECT_VERSION_NUMBER => l_mass_edit_rec.OBJECT_VERSION_NUMBER,
1230: p_BATCH_TYPE => px_mass_edit_rec.BATCH_TYPE,
1231: p_SYSTEM_CASCADE => l_mass_edit_rec.SYSTEM_CASCADE
1232: );
1233: EXCEPTION
1234: WHEN FND_API.G_EXC_ERROR THEN
1235: ROLLBACK TO update_mass_edit_pvt;
1236: x_return_status := FND_API.G_RET_STS_ERROR ;
1237: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
1238: FND_MSG_PUB.Count_And_Get
1232: );
1233: EXCEPTION
1234: WHEN FND_API.G_EXC_ERROR THEN
1235: ROLLBACK TO update_mass_edit_pvt;
1236: x_return_status := FND_API.G_RET_STS_ERROR ;
1237: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
1238: FND_MSG_PUB.Count_And_Get
1239: (p_count => x_msg_count,
1240: p_data => x_msg_data
1238: FND_MSG_PUB.Count_And_Get
1239: (p_count => x_msg_count,
1240: p_data => x_msg_data
1241: );
1242: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1243: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1244: ROLLBACK TO update_mass_edit_pvt;
1245:
1246: FND_MSG_PUB.Count_And_Get
1239: (p_count => x_msg_count,
1240: p_data => x_msg_data
1241: );
1242: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1243: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1244: ROLLBACK TO update_mass_edit_pvt;
1245:
1246: FND_MSG_PUB.Count_And_Get
1247: ( p_count => x_msg_count,
1247: ( p_count => x_msg_count,
1248: p_data => x_msg_data
1249: );
1250: WHEN OTHERS THEN
1251: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1252: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
1253: debug( to_char(SQLCODE)||substr(SQLERRM, 1, 255));
1254: ROLLBACK TO update_mass_edit_pvt;
1255: IF FND_MSG_PUB.Check_Msg_Level
1269:
1270: PROCEDURE DELETE_MASS_EDIT_BATCH
1271: (
1272: p_api_version IN NUMBER,
1273: p_commit IN VARCHAR2 := fnd_api.g_false,
1274: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1275: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
1276: p_mass_edit_rec IN csi_mass_edit_pub.mass_edit_rec,
1277: x_return_status OUT NOCOPY VARCHAR2,
1270: PROCEDURE DELETE_MASS_EDIT_BATCH
1271: (
1272: p_api_version IN NUMBER,
1273: p_commit IN VARCHAR2 := fnd_api.g_false,
1274: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1275: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
1276: p_mass_edit_rec IN csi_mass_edit_pub.mass_edit_rec,
1277: x_return_status OUT NOCOPY VARCHAR2,
1278: x_msg_count OUT NOCOPY NUMBER,
1271: (
1272: p_api_version IN NUMBER,
1273: p_commit IN VARCHAR2 := fnd_api.g_false,
1274: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1275: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
1276: p_mass_edit_rec IN csi_mass_edit_pub.mass_edit_rec,
1277: x_return_status OUT NOCOPY VARCHAR2,
1278: x_msg_count OUT NOCOPY NUMBER,
1279: x_msg_data OUT NOCOPY VARCHAR2
1292: -- Standard Start of API savepoint
1293: SAVEPOINT delete_mass_edit_batch_pvt;
1294:
1295: -- Initialize message list if p_init_msg_list is set to TRUE.
1296: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1297: FND_MSG_PUB.Initialize;
1298: END IF;
1299:
1300: -- Initialize API return status to success
1297: FND_MSG_PUB.Initialize;
1298: END IF;
1299:
1300: -- Initialize API return status to success
1301: x_return_status := FND_API.G_RET_STS_SUCCESS;
1302:
1303: -- Standard call to check for call compatibility.
1304: IF NOT
1305: FND_API.Compatible_API_Call (
1301: x_return_status := FND_API.G_RET_STS_SUCCESS;
1302:
1303: -- Standard call to check for call compatibility.
1304: IF NOT
1305: FND_API.Compatible_API_Call (
1306: p_current_version_number => l_api_version,
1307: p_caller_version_number => p_api_version,
1308: p_api_name => l_api_name,
1309: p_pkg_name => g_pkg_name) THEN
1307: p_caller_version_number => p_api_version,
1308: p_api_name => l_api_name,
1309: p_pkg_name => g_pkg_name) THEN
1310:
1311: RAISE FND_API.G_Exc_Unexpected_Error;
1312: END IF;
1313:
1314: -- Validate the Batch
1315: IF ( (nvl(p_mass_edit_rec.entry_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num)
1311: RAISE FND_API.G_Exc_Unexpected_Error;
1312: END IF;
1313:
1314: -- Validate the Batch
1315: IF ( (nvl(p_mass_edit_rec.entry_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num)
1316: OR ( nvl(p_mass_edit_rec.name, fnd_api.g_miss_char) = fnd_api.g_miss_char ))
1317: THEN
1318:
1319: IF NOT Is_valid_batch (p_batch_name => p_mass_edit_rec.name,
1312: END IF;
1313:
1314: -- Validate the Batch
1315: IF ( (nvl(p_mass_edit_rec.entry_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num)
1316: OR ( nvl(p_mass_edit_rec.name, fnd_api.g_miss_char) = fnd_api.g_miss_char ))
1317: THEN
1318:
1319: IF NOT Is_valid_batch (p_batch_name => p_mass_edit_rec.name,
1320: p_batch_id => p_mass_edit_rec.entry_id,
1320: p_batch_id => p_mass_edit_rec.entry_id,
1321: x_mass_edit_rec => l_mass_edit_rec
1322: )
1323: THEN
1324: IF nvl(p_mass_edit_rec.entry_id, fnd_api.g_miss_num) = fnd_api.g_miss_num THEN
1325: FND_MESSAGE.set_name('CSI','CSI_MU_INVALID_BATCH_NAME');
1326: FND_MESSAGE.set_token('BATCH_NAME',p_mass_edit_rec.name);
1327: ELSE
1328: FND_MESSAGE.set_name('CSI','CSI_MU_INVALID_BATCH_ID');
1328: FND_MESSAGE.set_name('CSI','CSI_MU_INVALID_BATCH_ID');
1329: FND_MESSAGE.set_token('BATCH_ID',p_mass_edit_rec.entry_id);
1330: END IF;
1331: FND_MSG_PUB.add;
1332: Raise fnd_api.g_exc_error;
1333: END IF;
1334: IF nvl(l_mass_edit_rec.status_code, 'CREATED') = 'PROCESSING' THEN
1335: debug('Cannot Delete a Batch that is being Processed: '||l_mass_edit_rec.status_code);
1336: FND_MESSAGE.set_name('CSI','CSI_MU_BATCH_UPD_DISALLOWED');
1336: FND_MESSAGE.set_name('CSI','CSI_MU_BATCH_UPD_DISALLOWED');
1337: FND_MESSAGE.set_token('BATCH_NAME',l_mass_edit_rec.name);
1338: FND_MESSAGE.set_token('BATCH_STATUS',l_mass_edit_rec.status_code) ;
1339: FND_MSG_PUB.add;
1340: Raise fnd_api.g_exc_error;
1341: END IF;
1342: END IF;
1343:
1344: csi_t_txn_details_grp.delete_transaction_dtls (
1351: x_msg_count => l_msg_count,
1352: x_msg_data => l_msg_data
1353: );
1354:
1355: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1356: RAISE fnd_api.g_exc_error;
1357: END IF;
1358:
1359: -- call table handler to delete mass edit entry
1352: x_msg_data => l_msg_data
1353: );
1354:
1355: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1356: RAISE fnd_api.g_exc_error;
1357: END IF;
1358:
1359: -- call table handler to delete mass edit entry
1360:
1370: x_return_status => l_return_status,
1371: x_msg_count => l_msg_count,
1372: x_msg_data => l_msg_data);
1373:
1374: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1375: RAISE fnd_api.g_exc_error;
1376: END IF;
1377:
1378: -- Standard check of p_commit.
1371: x_msg_count => l_msg_count,
1372: x_msg_data => l_msg_data);
1373:
1374: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1375: RAISE fnd_api.g_exc_error;
1376: END IF;
1377:
1378: -- Standard check of p_commit.
1379: IF FND_API.To_Boolean( p_commit ) THEN
1375: RAISE fnd_api.g_exc_error;
1376: END IF;
1377:
1378: -- Standard check of p_commit.
1379: IF FND_API.To_Boolean( p_commit ) THEN
1380: COMMIT WORK;
1381: END IF;
1382:
1383: -- Standard call to get message count and IF count is get message info.
1386: p_data => x_msg_data
1387: );
1388:
1389: EXCEPTION
1390: WHEN FND_API.G_EXC_ERROR THEN
1391:
1392: ROLLBACK TO Delete_Mass_Edit_Batch_pvt;
1393: x_return_status := FND_API.G_RET_STS_ERROR ;
1394: FND_MSG_PUB.Count_And_Get (
1389: EXCEPTION
1390: WHEN FND_API.G_EXC_ERROR THEN
1391:
1392: ROLLBACK TO Delete_Mass_Edit_Batch_pvt;
1393: x_return_status := FND_API.G_RET_STS_ERROR ;
1394: FND_MSG_PUB.Count_And_Get (
1395: p_count => x_msg_count,
1396: p_data => x_msg_data);
1397:
1396: p_data => x_msg_data);
1397:
1398: csi_t_gen_utility_pvt.set_debug_off;
1399:
1400: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1401:
1402: ROLLBACK TO Delete_Mass_Edit_Batch_pvt;
1403: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1404:
1399:
1400: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1401:
1402: ROLLBACK TO Delete_Mass_Edit_Batch_pvt;
1403: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1404:
1405: FND_MSG_PUB.Count_And_Get(
1406: p_count => x_msg_count,
1407: p_data => x_msg_data);
1410:
1411: WHEN OTHERS THEN
1412:
1413: ROLLBACK TO Delete_Mass_Edit_Batch_pvt;
1414: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1415:
1416: IF FND_MSG_PUB.Check_Msg_Level(
1417: p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1418:
1432:
1433:
1434: PROCEDURE GET_MASS_EDIT_DETAILS (
1435: p_api_version IN NUMBER,
1436: p_commit IN VARCHAR2 := fnd_api.g_false,
1437: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1438: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
1439: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
1440: x_txn_line_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl ,
1433:
1434: PROCEDURE GET_MASS_EDIT_DETAILS (
1435: p_api_version IN NUMBER,
1436: p_commit IN VARCHAR2 := fnd_api.g_false,
1437: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1438: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
1439: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
1440: x_txn_line_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl ,
1441: x_txn_party_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
1434: PROCEDURE GET_MASS_EDIT_DETAILS (
1435: p_api_version IN NUMBER,
1436: p_commit IN VARCHAR2 := fnd_api.g_false,
1437: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1438: p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
1439: px_mass_edit_rec IN OUT NOCOPY csi_mass_edit_pub.mass_edit_rec,
1440: x_txn_line_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl ,
1441: x_txn_party_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
1442: x_txn_pty_acct_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
1464: -- Standard Start of API savepoint
1465: SAVEPOINT get_mass_edit_details_pvt;
1466:
1467: -- Initialize message list if p_init_msg_list is set to TRUE.
1468: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1469: FND_MSG_PUB.Initialize;
1470: END IF;
1471:
1472: -- Initialize API return status to success
1469: FND_MSG_PUB.Initialize;
1470: END IF;
1471:
1472: -- Initialize API return status to success
1473: x_return_status := FND_API.G_RET_STS_SUCCESS;
1474:
1475: -- Standard call to check for call compatibility.
1476: IF NOT
1477: FND_API.Compatible_API_Call (
1473: x_return_status := FND_API.G_RET_STS_SUCCESS;
1474:
1475: -- Standard call to check for call compatibility.
1476: IF NOT
1477: FND_API.Compatible_API_Call (
1478: p_current_version_number => l_api_version,
1479: p_caller_version_number => p_api_version,
1480: p_api_name => l_api_name,
1481: p_pkg_name => g_pkg_name) THEN
1479: p_caller_version_number => p_api_version,
1480: p_api_name => l_api_name,
1481: p_pkg_name => g_pkg_name) THEN
1482:
1483: RAISE FND_API.G_Exc_Unexpected_Error;
1484: END IF;
1485:
1486: -- Assign Txn Line query attributes (Get txn details) for the Mass Update
1487:
1485:
1486: -- Assign Txn Line query attributes (Get txn details) for the Mass Update
1487:
1488: IF px_mass_edit_rec.txn_line_id IS NOT NULL
1489: OR px_mass_edit_rec.txn_line_id <> fnd_api.g_miss_num
1490: THEN
1491: l_txn_line_query_rec.transaction_line_id := px_mass_edit_rec.txn_line_id ;
1492: l_txn_line_detail_query_rec.transaction_line_id := px_mass_edit_rec.txn_line_id ;
1493: END IF ;
1492: l_txn_line_detail_query_rec.transaction_line_id := px_mass_edit_rec.txn_line_id ;
1493: END IF ;
1494:
1495: IF px_mass_edit_rec.entry_id IS NOT NULL
1496: OR px_mass_edit_rec.entry_id <> fnd_api.g_miss_num
1497: THEN
1498: l_txn_line_query_rec.source_transaction_id := px_mass_edit_rec.entry_id ;
1499: l_txn_line_query_rec.source_transaction_type_id := 3 ;
1500: l_txn_line_query_rec.source_transaction_table := 'CSI_MASS_EDIT_ENTRIES' ;
1500: l_txn_line_query_rec.source_transaction_table := 'CSI_MASS_EDIT_ENTRIES' ;
1501: END IF ;
1502:
1503: -- Validate the Batch
1504: IF ( (nvl(px_mass_edit_rec.entry_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num)
1505: OR ( nvl(px_mass_edit_rec.name, fnd_api.g_miss_char) = fnd_api.g_miss_char ))
1506: THEN
1507:
1508: IF NOT Is_valid_batch (p_batch_name => px_mass_edit_rec.name,
1501: END IF ;
1502:
1503: -- Validate the Batch
1504: IF ( (nvl(px_mass_edit_rec.entry_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num)
1505: OR ( nvl(px_mass_edit_rec.name, fnd_api.g_miss_char) = fnd_api.g_miss_char ))
1506: THEN
1507:
1508: IF NOT Is_valid_batch (p_batch_name => px_mass_edit_rec.name,
1509: p_batch_id => px_mass_edit_rec.entry_id,
1509: p_batch_id => px_mass_edit_rec.entry_id,
1510: x_mass_edit_rec => px_mass_edit_rec
1511: )
1512: THEN
1513: IF nvl(px_mass_edit_rec.entry_id, fnd_api.g_miss_num) = fnd_api.g_miss_num THEN
1514: FND_MESSAGE.set_name('CSI','CSI_MU_INVALID_BATCH_NAME');
1515: FND_MESSAGE.set_token('BATCH_NAME',px_mass_edit_rec.name);
1516: ELSE
1517: FND_MESSAGE.set_name('CSI','CSI_MU_INVALID_BATCH_ID');
1518: FND_MESSAGE.set_token('BATCH_ID',px_mass_edit_rec.entry_id);
1519: END IF;
1520:
1521: FND_MSG_PUB.add;
1522: Raise fnd_api.g_exc_error;
1523: END IF;
1524: END IF;
1525:
1526: csi_t_txn_details_grp.get_transaction_details(
1550: x_return_status => l_return_status,
1551: x_msg_count => l_msg_count,
1552: x_msg_data => l_msg_data);
1553:
1554: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1555: RAISE fnd_api.g_exc_error;
1556: END IF;
1557:
1558: -- Standard check of p_commit.
1551: x_msg_count => l_msg_count,
1552: x_msg_data => l_msg_data);
1553:
1554: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1555: RAISE fnd_api.g_exc_error;
1556: END IF;
1557:
1558: -- Standard check of p_commit.
1559: IF FND_API.To_Boolean( p_commit ) THEN
1555: RAISE fnd_api.g_exc_error;
1556: END IF;
1557:
1558: -- Standard check of p_commit.
1559: IF FND_API.To_Boolean( p_commit ) THEN
1560: COMMIT WORK;
1561: END IF;
1562:
1563: -- Standard call to get message count and IF count is get message info.
1566: p_data => x_msg_data
1567: );
1568:
1569: EXCEPTION
1570: WHEN FND_API.G_EXC_ERROR THEN
1571:
1572: ROLLBACK TO Get_mass_edit_details_pvt;
1573: x_return_status := FND_API.G_RET_STS_ERROR ;
1574: FND_MSG_PUB.Count_And_Get (
1569: EXCEPTION
1570: WHEN FND_API.G_EXC_ERROR THEN
1571:
1572: ROLLBACK TO Get_mass_edit_details_pvt;
1573: x_return_status := FND_API.G_RET_STS_ERROR ;
1574: FND_MSG_PUB.Count_And_Get (
1575: p_count => x_msg_count,
1576: p_data => x_msg_data);
1577:
1576: p_data => x_msg_data);
1577:
1578: csi_t_gen_utility_pvt.set_debug_off;
1579:
1580: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1581:
1582: ROLLBACK TO Get_mass_edit_details_pvt;
1583: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1584:
1579:
1580: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1581:
1582: ROLLBACK TO Get_mass_edit_details_pvt;
1583: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1584:
1585: FND_MSG_PUB.Count_And_Get(
1586: p_count => x_msg_count,
1587: p_data => x_msg_data);
1590:
1591: WHEN OTHERS THEN
1592:
1593: ROLLBACK TO Get_mass_edit_details_pvt;
1594: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1595:
1596: IF FND_MSG_PUB.Check_Msg_Level(
1597: p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1598:
1643: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
1644: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
1645: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := p_txn_line_detail_id_tab(ind);
1646: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
1647: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
1648: e_indx := e_indx + 1;
1649: END IF;
1650:
1651: END LOOP;
1736: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
1737: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
1738: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := l_txn_line_detail_id_tab(ind);
1739: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
1740: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
1741: e_indx := e_indx + 1;
1742: END IF;
1743:
1744: IF l_party_source_table_tab(ind) = 'HZ_PARTIES' THEN
1770: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
1771: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
1772: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := l_txn_line_detail_id_tab(ind);
1773: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
1774: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
1775: e_indx := e_indx + 1;
1776: END IF;
1777:
1778:
1880: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
1881: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
1882: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := l_txn_line_detail_id_tab(ind);
1883: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
1884: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
1885: e_indx := e_indx + 1;
1886: END IF;
1887:
1888: FOR acct_rec IN acct_csr (party_rec.txn_party_detail_id) LOOP
1896: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
1897: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
1898: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := l_txn_line_detail_id_tab(ind);
1899: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
1900: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
1901: e_indx := e_indx + 1;
1902: END IF;
1903:
1904: END LOOP; -- acct_csr
1964: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
1965: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
1966: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := p_txn_line_detail_id_tab(i);
1967: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
1968: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
1969: e_indx := e_indx + 1;
1970: END IF;
1971: END IF;
1972: END LOOP;
2028: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
2029: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
2030: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := dummy_rec.txn_line_detail_id;
2031: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
2032: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
2033: e_indx := e_indx + 1;
2034: END IF;
2035:
2036: IF dummy_rec.location_id IS NOT NULL THEN
2042: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
2043: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
2044: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := dummy_rec.txn_line_detail_id;
2045: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
2046: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
2047: e_indx := e_indx + 1;
2048: END IF;
2049:
2050: IF dummy_rec.install_location_id IS NOT NULL THEN
2056: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
2057: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
2058: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := dummy_rec.txn_line_detail_id;
2059: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
2060: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
2061: e_indx := e_indx + 1;
2062: END IF;
2063:
2064: END LOOP;
2090:
2091: FOR dummy_rec IN dummy_csr (p_txn_line_id_tab(1)) LOOP
2092:
2093: IF (dummy_rec.active_end_date > sysdate) OR
2094: (nvl(dummy_rec.active_end_date,fnd_api.g_miss_date) = fnd_api.g_miss_date) THEN
2095: FND_MESSAGE.SET_NAME('CSI','CSI_MU_TERM_DATE');
2096: FND_MESSAGE.SET_TOKEN('TERMINATION_DATE',dummy_rec.active_end_date);
2097: FND_MESSAGE.SET_TOKEN('BATCH_NAME',g_batch_name);
2098: FND_MESSAGE.SET_TOKEN('CURR_DATE',sysdate);
2099: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
2100: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
2101: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := dummy_rec.txn_line_detail_id;
2102: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
2103: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
2104: e_indx := e_indx + 1;
2105: END IF;
2106:
2107: END LOOP;
2131: e_indx := nvl(px_mass_edit_error_tbl.last,0) + 1;
2132:
2133: FOR party_rec IN party_csr (p_txn_line_id_tab(1)) LOOP
2134: IF (party_rec.active_start_date > sysdate) OR
2135: (nvl(party_rec.active_start_date,fnd_api.g_miss_date) = fnd_api.g_miss_date) THEN
2136: FND_MESSAGE.SET_NAME('CSI','CSI_MU_XFER_DATE');
2137: FND_MESSAGE.SET_TOKEN('TRANSFER_DATE',party_rec.active_start_date);
2138: FND_MESSAGE.SET_TOKEN('BATCH_NAME',g_batch_name);
2139: FND_MESSAGE.SET_TOKEN('CURR_DATE',sysdate);
2140: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
2141: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
2142: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := party_rec.txn_line_detail_id;
2143: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
2144: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
2145: e_indx := e_indx + 1;
2146: END IF;
2147:
2148: END LOOP;
2193: px_mass_edit_error_tbl(e_indx).entry_id := g_entry_id;
2194: px_mass_edit_error_tbl(e_indx).name := g_batch_name;
2195: px_mass_edit_error_tbl(e_indx).txn_line_detail_id := p_txn_line_detail_id_tab(ind);
2196: px_mass_edit_error_tbl(e_indx).error_text := fnd_message.get;
2197: px_mass_edit_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
2198: e_indx := e_indx + 1;
2199: END IF;
2200:
2201: IF txn_det_rec.location_id <> p_location_id_tab(ind) THEN
2281: -- CP = Concurrent Process
2282:
2283: l_api_version NUMBER := 1.0;
2284: l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_BATCH';
2285: l_init_msg_list VARCHAR2(1) := FND_API.G_FALSE;
2286: l_msg_count NUMBER;
2287: l_msg_data VARCHAR2(2000);
2288: l_return_status VARCHAR2(1);
2289: l_mass_edit_error_tbl csi_mass_edit_pub.mass_edit_error_tbl;
2332:
2333: csi_t_gen_utility_pvt.add('In VALIDATE_BATCH');
2334:
2335: -- Initialize message list if p_init_msg_list is set to TRUE.
2336: IF FND_API.To_Boolean( l_init_msg_list ) THEN
2337: FND_MSG_PUB.Initialize;
2338: END IF;
2339:
2340: -- Initialize API return status to succcess
2337: FND_MSG_PUB.Initialize;
2338: END IF;
2339:
2340: -- Initialize API return status to succcess
2341: x_return_status := FND_API.G_RET_STS_SUCCESS;
2342:
2343: -- Set the Global Batch ID
2344: g_entry_id := px_mass_edit_rec.entry_id;
2345: g_batch_name := px_mass_edit_rec.name;
2447:
2448: IF l_mass_edit_error_tbl.count > 0 THEN
2449: debug('Total Number of recs being passed out in the error table from validate batch: '||l_mass_edit_error_tbl.count);
2450: FOR f in l_mass_edit_error_tbl.first .. l_mass_edit_error_tbl.last LOOP
2451: IF (l_mass_edit_error_tbl(f).error_code = fnd_api.g_ret_sts_error AND
2452: l_errors_found = 'N') THEN
2453: l_errors_found := 'Y';
2454: debug('Errors found from validate_batch');
2455: ELSIF (l_mass_edit_error_tbl(f).error_code = 'W' AND
2460: END LOOP;
2461:
2462: IF (l_errors_found = 'Y' and l_warnings_found = 'Y' OR
2463: l_errors_found = 'Y' and l_warnings_found = 'N') THEN
2464: debug('Errors found from validate_batch and raising FND_API.G_EXC_ERROR');
2465: RAISE FND_API.G_EXC_ERROR;
2466: ELSIF (l_errors_found = 'N' and l_warnings_found = 'Y') THEN
2467: x_return_status := 'W';
2468: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
2461:
2462: IF (l_errors_found = 'Y' and l_warnings_found = 'Y' OR
2463: l_errors_found = 'Y' and l_warnings_found = 'N') THEN
2464: debug('Errors found from validate_batch and raising FND_API.G_EXC_ERROR');
2465: RAISE FND_API.G_EXC_ERROR;
2466: ELSIF (l_errors_found = 'N' and l_warnings_found = 'Y') THEN
2467: x_return_status := 'W';
2468: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
2469: END IF;
2468: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
2469: END IF;
2470: debug('Return Status from validate_batch: '||x_return_status);
2471: ELSE
2472: x_return_status := fnd_api.g_ret_sts_success;
2473: END IF;
2474:
2475: EXCEPTION
2476: WHEN FND_API.G_EXC_ERROR THEN
2472: x_return_status := fnd_api.g_ret_sts_success;
2473: END IF;
2474:
2475: EXCEPTION
2476: WHEN FND_API.G_EXC_ERROR THEN
2477: debug('Encountered FND_API.G_EXC_ERROR in Validate_Batch');
2478: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
2479: x_return_status := FND_API.G_RET_STS_ERROR ;
2480: WHEN OTHERS THEN
2473: END IF;
2474:
2475: EXCEPTION
2476: WHEN FND_API.G_EXC_ERROR THEN
2477: debug('Encountered FND_API.G_EXC_ERROR in Validate_Batch');
2478: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
2479: x_return_status := FND_API.G_RET_STS_ERROR ;
2480: WHEN OTHERS THEN
2481: debug('Encountered WHEN OTHERS in Validate_Batch');
2475: EXCEPTION
2476: WHEN FND_API.G_EXC_ERROR THEN
2477: debug('Encountered FND_API.G_EXC_ERROR in Validate_Batch');
2478: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
2479: x_return_status := FND_API.G_RET_STS_ERROR ;
2480: WHEN OTHERS THEN
2481: debug('Encountered WHEN OTHERS in Validate_Batch');
2482: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
2483: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2479: x_return_status := FND_API.G_RET_STS_ERROR ;
2480: WHEN OTHERS THEN
2481: debug('Encountered WHEN OTHERS in Validate_Batch');
2482: x_mass_edit_error_tbl := l_mass_edit_error_tbl;
2483: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2484:
2485: END validate_batch;
2486:
2487:
2522: p_mu_sys_error_tbl(e_indx).entry_id := g_entry_id;
2523: p_mu_sys_error_tbl(e_indx).batch_name := g_batch_name;
2524: p_mu_sys_error_tbl(e_indx).txn_line_detail_id := p_txn_line_id;
2525: p_mu_sys_error_tbl(e_indx).error_text := fnd_message.get;
2526: p_mu_sys_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
2527: e_indx := e_indx + 1;
2528: END IF;
2529:
2530: debug('System Error Table Count after VLD_SYSTEM_ACTIVE is: '||p_mu_sys_error_tbl.count);
2569: p_mu_sys_error_tbl(e_indx).entry_id := g_entry_id;
2570: p_mu_sys_error_tbl(e_indx).name := g_batch_name;
2571: p_mu_sys_error_tbl(e_indx).txn_line_detail_id := p_txn_line_id;
2572: p_mu_sys_error_tbl(e_indx).error_text := fnd_message.get;
2573: p_mu_sys_error_tbl(e_indx).error_code := fnd_api.g_ret_sts_error;
2574: e_indx := e_indx + 1;
2575: END IF;
2576:
2577: debug('System Error Table Count after VLD_SYSTEM_CURRENT_OWNER is: '||p_mu_sys_error_tbl.count);