DBA Data[Home] [Help]

APPS.AHL_UMP_PROCESSUNIT_EXTN_PVT dependencies on AHL_DEBUG_PUB

Line 6: G_DEBUG VARCHAR2(1) := AHL_DEBUG_PUB.is_log_enabled;

2: /* $Header: AHLVUMEB.pls 120.5.12010000.2 2008/12/27 01:01:31 sracha ship $ */
3:
4: G_PKG_NAME CONSTANT VARCHAR2(30) := 'AHL_UMP_ProcessUnit_EXTN_PVT';
5: G_APPLN_USAGE_CODE CONSTANT VARCHAR2(30) := LTRIM(RTRIM(FND_PROFILE.VALUE('AHL_APPLN_USAGE')));
6: G_DEBUG VARCHAR2(1) := AHL_DEBUG_PUB.is_log_enabled;
7:
8: ------------------------------
9: -- Declare Local Procedures --
10: ------------------------------

Line 316: AHL_DEBUG_PUB.Debug('Start Flush from Temporary Table');

312:
313: BEGIN
314:
315: IF G_DEBUG = 'Y' THEN
316: AHL_DEBUG_PUB.Debug('Start Flush from Temporary Table');
317: END IF;
318:
319: -- record start time.
320: l_start_time := sysdate;

Line 456: AHL_DEBUG_PUB.Debug('End Process of all MRs from temp table');

452:
453: END LOOP; /* for temp_individual_mrs_csr */
454:
455: IF G_DEBUG = 'Y' THEN
456: AHL_DEBUG_PUB.Debug('End Process of all MRs from temp table');
457: END IF;
458:
459: -- Now read ahl_unit_effectivities and update preceding_ue_id.
460: FOR dependent_rec IN dependent_mr_csr LOOP

Line 568: AHL_DEBUG_PUB.Debug('End Preceding MR processing');

564:
565: END LOOP;
566:
567: IF G_DEBUG = 'Y' THEN
568: AHL_DEBUG_PUB.Debug('End Preceding MR processing');
569: AHL_DEBUG_PUB.Debug('Start Deferral-SR Processing');
570: END IF;
571:
572: -- Process deferral and SR records.

Line 569: AHL_DEBUG_PUB.Debug('Start Deferral-SR Processing');

565: END LOOP;
566:
567: IF G_DEBUG = 'Y' THEN
568: AHL_DEBUG_PUB.Debug('End Preceding MR processing');
569: AHL_DEBUG_PUB.Debug('Start Deferral-SR Processing');
570: END IF;
571:
572: -- Process deferral and SR records.
573: Flush_Unit_SR_Deferrals;

Line 576: AHL_DEBUG_PUB.Debug('End Deferral-SR processing');

572: -- Process deferral and SR records.
573: Flush_Unit_SR_Deferrals;
574:
575: IF G_DEBUG = 'Y' THEN
576: AHL_DEBUG_PUB.Debug('End Deferral-SR processing');
577: AHL_DEBUG_PUB.Debug('Start Exception Processing');
578: END IF;
579:
580: -- Now read ahl_unit_effectivities

Line 577: AHL_DEBUG_PUB.Debug('Start Exception Processing');

573: Flush_Unit_SR_Deferrals;
574:
575: IF G_DEBUG = 'Y' THEN
576: AHL_DEBUG_PUB.Debug('End Deferral-SR processing');
577: AHL_DEBUG_PUB.Debug('Start Exception Processing');
578: END IF;
579:
580: -- Now read ahl_unit_effectivities
581: -- for records with date_run < l_startTime.

Line 591: AHL_DEBUG_PUB.Debug('Exception for unit effectivity ID:' || exception_rec.unit_effectivity_id);

587:
588: FOR exception_rec IN ahl_exception_csr(l_csi_item_instance_id, l_start_time) LOOP
589:
590: IF G_DEBUG = 'Y' THEN
591: AHL_DEBUG_PUB.Debug('Exception for unit effectivity ID:' || exception_rec.unit_effectivity_id);
592: END IF;
593:
594: -- Initialize.
595: l_exception_upd_flag := FALSE;

Line 603: AHL_DEBUG_PUB.Debug('Visit Status Code from VWP is:' || l_visit_status_code);

599: -- If status code is INIT-DUE mark as exception.
600: IF (exception_rec.status_code = 'INIT-DUE') THEN
601: l_visit_status_code := AHL_UMP_UTIL_PKG.get_visit_status (exception_rec.unit_effectivity_id);
602: IF G_DEBUG = 'Y' THEN
603: AHL_DEBUG_PUB.Debug('Visit Status Code from VWP is:' || l_visit_status_code);
604: END IF;
605:
606: -- If visit is in released and closed status then, do not mark exception or deletion.
607: IF (l_visit_status_code IS NOT NULL AND l_visit_status_code = 'PLANNING') THEN

Line 612: AHL_DEBUG_PUB.Debug('Exception - Init-Due');

608: l_exception_upd_flag := TRUE;
609: l_exception_code := 'INIT-DUE';
610:
611: IF G_DEBUG = 'Y' THEN
612: AHL_DEBUG_PUB.Debug('Exception - Init-Due');
613: END IF;
614: ELSIF (l_visit_status_code IS NULL) THEN -- not assigned to visit
615: l_delete_flag := TRUE;
616: ELSE -- on shop floor

Line 637: AHL_DEBUG_PUB.Debug('Exception - Init-Accomplished');

633: l_exception_upd_flag := TRUE;
634: l_exception_code := 'INIT-ACCOMPLISHED';
635:
636: IF G_DEBUG = 'Y' THEN
637: AHL_DEBUG_PUB.Debug('Exception - Init-Accomplished');
638: END IF;
639: END IF;
640:
641: ELSIF (exception_rec.status_code = 'DEFERRED') THEN

Line 646: AHL_DEBUG_PUB.Debug('Exception - Deferred');

642: l_exception_upd_flag := TRUE;
643: l_exception_code := 'DEFERRED';
644:
645: IF G_DEBUG = 'Y' THEN
646: AHL_DEBUG_PUB.Debug('Exception - Deferred');
647: END IF;
648:
649: ELSIF (exception_rec.status_code = 'EXCEPTION' AND
650: exception_rec.message_code = 'INIT-DUE'

Line 664: AHL_DEBUG_PUB.Debug('Exception - Init-Due');

660: IF (exception_init_due_csr%FOUND) THEN
661: l_exception_upd_flag := TRUE;
662: l_exception_code := exception_rec.message_code;
663: IF G_DEBUG = 'Y' THEN
664: AHL_DEBUG_PUB.Debug('Exception - Init-Due');
665: END IF;
666: END IF;
667: CLOSE exception_init_due_csr;
668: END IF;

Line 676: AHL_DEBUG_PUB.Debug('Visit Status Code from VWP is:' || l_visit_status_code);

672: -- check if assigned to visit if not flagged for exception.
673: IF (AHL_UTIL_PKG.IS_PM_INSTALLED = 'N') THEN -- AHL Installation.
674: l_visit_status_code := AHL_UMP_UTIL_PKG.get_visit_status (exception_rec.unit_effectivity_id);
675: IF G_DEBUG = 'Y' THEN
676: AHL_DEBUG_PUB.Debug('Visit Status Code from VWP is:' || l_visit_status_code);
677: END IF;
678:
679: -- If visit is in released and closed status then, do not mark exception or deletion.
680: IF (l_visit_status_code IS NOT NULL) THEN

Line 687: AHL_DEBUG_PUB.Debug('Exception - Init-Due');

683: l_exception_upd_flag := TRUE;
684: l_exception_code := 'INIT-DUE';
685:
686: IF G_DEBUG = 'Y' THEN
687: AHL_DEBUG_PUB.Debug('Exception - Init-Due');
688: END IF;
689:
690: ELSE
691: l_exception_upd_flag := TRUE;

Line 694: AHL_DEBUG_PUB.Debug('Exception - Visit Assign');

690: ELSE
691: l_exception_upd_flag := TRUE;
692: l_exception_code := 'VISIT-ASSIGN';
693: IF G_DEBUG = 'Y' THEN
694: AHL_DEBUG_PUB.Debug('Exception - Visit Assign');
695: END IF;
696: END IF;
697:
698: ELSE

Line 719: AHL_DEBUG_PUB.Debug('Service request ID-NUM is:' || l_incident_id || '-' || l_incident_number);

715: l_incident_id,
716: l_incident_number,
717: l_scheduled_date);
718: IF G_DEBUG = 'Y' THEN
719: AHL_DEBUG_PUB.Debug('Service request ID-NUM is:' || l_incident_id || '-' || l_incident_number);
720: END IF;
721:
722: IF (l_incident_id IS NOT NULL) THEN
723: l_delete_flag := FALSE;

Line 733: IF AHL_DEBUG_PUB.G_FILE_DEBUG THEN

729: exception_rec.due_date);
730: FETCH valid_due_date_csr INTO l_junk;
731: IF(valid_due_date_csr%FOUND)THEN
732: l_delete_flag := FALSE;
733: IF AHL_DEBUG_PUB.G_FILE_DEBUG THEN
734: AHL_DEBUG_PUB.Debug('Service Line Expired for UE with due date < termination/end date. Will not delete');
735: END IF;
736: END IF;
737: CLOSE valid_due_date_csr;

Line 734: AHL_DEBUG_PUB.Debug('Service Line Expired for UE with due date < termination/end date. Will not delete');

730: FETCH valid_due_date_csr INTO l_junk;
731: IF(valid_due_date_csr%FOUND)THEN
732: l_delete_flag := FALSE;
733: IF AHL_DEBUG_PUB.G_FILE_DEBUG THEN
734: AHL_DEBUG_PUB.Debug('Service Line Expired for UE with due date < termination/end date. Will not delete');
735: END IF;
736: END IF;
737: CLOSE valid_due_date_csr;
738: END IF; -- exception_rec.due_date IS NOT NULL

Line 744: AHL_DEBUG_PUB.Debug('Updating exception code..');

740: END IF; -- AHL Installation.
741:
742: IF (l_exception_upd_flag) THEN
743: IF G_DEBUG = 'Y' THEN
744: AHL_DEBUG_PUB.Debug('Updating exception code..');
745: END IF;
746:
747: -- update unit effectivity.
748: exception_rec.message_code := l_exception_code;

Line 895: AHL_DEBUG_PUB.Debug('Deleting exception code..');

891:
892: ELSIF (l_delete_flag) THEN
893:
894: IF G_DEBUG = 'Y' THEN
895: AHL_DEBUG_PUB.Debug('Deleting exception code..');
896: END IF;
897:
898: FOR ue_reln_rec IN decendent_csr(exception_rec.unit_effectivity_id) LOOP
899:

Line 917: AHL_DEBUG_PUB.Debug('Exception - Init-Due');

913:
914: IF (exception_rec.status_code = 'INIT-DUE' OR
915: exception_rec.message_code = 'INIT-DUE') THEN
916: IF G_DEBUG = 'Y' THEN
917: AHL_DEBUG_PUB.Debug('Exception - Init-Due');
918: END IF;
919:
920: OPEN exception_init_due_csr (exception_rec.unit_effectivity_id);
921: FETCH exception_init_due_csr INTO l_unit_deferral_id;

Line 941: AHL_DEBUG_PUB.Debug('End Flush from temporary table.');

937: END LOOP; /* for node */
938: END IF;
939:
940: IF G_DEBUG = 'Y' THEN
941: AHL_DEBUG_PUB.Debug('End Flush from temporary table.');
942: END IF;
943:
944:
945: END Flush_From_Temp_table;

Line 959: AHL_DEBUG_PUB.Debug('Start Create Record');

955:
956: BEGIN
957:
958: IF G_DEBUG = 'Y' THEN
959: AHL_DEBUG_PUB.Debug('Start Create Record');
960: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_x_temp_mr_rec.csi_item_instance_id || ',' || p_x_temp_mr_rec.MR_header_id);
961: END IF;
962:
963: -- Default object type and application usage values.

Line 960: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_x_temp_mr_rec.csi_item_instance_id || ',' || p_x_temp_mr_rec.MR_header_id);

956: BEGIN
957:
958: IF G_DEBUG = 'Y' THEN
959: AHL_DEBUG_PUB.Debug('Start Create Record');
960: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_x_temp_mr_rec.csi_item_instance_id || ',' || p_x_temp_mr_rec.MR_header_id);
961: END IF;
962:
963: -- Default object type and application usage values.
964:

Line 1030: AHL_DEBUG_PUB.Debug('End Create Record');

1026:
1027: p_x_temp_mr_rec.unit_effectivity_id := l_unit_effectivity_id;
1028:
1029: IF G_DEBUG = 'Y' THEN
1030: AHL_DEBUG_PUB.Debug('End Create Record');
1031: END IF;
1032:
1033:
1034: EXCEPTION

Line 1054: AHL_DEBUG_PUB.Debug('Start Update Record-' || p_mr_rec.unit_effectivity_id);

1050:
1051: BEGIN
1052:
1053: IF G_DEBUG = 'Y' THEN
1054: AHL_DEBUG_PUB.Debug('Start Update Record-' || p_mr_rec.unit_effectivity_id);
1055: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_mr_rec.csi_item_instance_id || ',' || p_mr_rec.MR_header_id);
1056: END IF;
1057:
1058: AHL_UNIT_EFFECTIVITIES_PKG.Update_Row (

Line 1055: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_mr_rec.csi_item_instance_id || ',' || p_mr_rec.MR_header_id);

1051: BEGIN
1052:
1053: IF G_DEBUG = 'Y' THEN
1054: AHL_DEBUG_PUB.Debug('Start Update Record-' || p_mr_rec.unit_effectivity_id);
1055: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_mr_rec.csi_item_instance_id || ',' || p_mr_rec.MR_header_id);
1056: END IF;
1057:
1058: AHL_UNIT_EFFECTIVITIES_PKG.Update_Row (
1059: X_UNIT_EFFECTIVITY_ID => p_mr_rec.unit_effectivity_id,

Line 1123: AHL_DEBUG_PUB.Debug('End Update Record');

1119: Delete_Sch_Materials(p_mr_rec.unit_effectivity_id);
1120: END IF;
1121:
1122: IF G_DEBUG = 'Y' THEN
1123: AHL_DEBUG_PUB.Debug('End Update Record');
1124: END IF;
1125:
1126: EXCEPTION
1127: -- If any error occurs, then, abort API.

Line 1206: AHL_DEBUG_PUB.Debug('Start Create Group');

1202:
1203: BEGIN
1204:
1205: IF G_DEBUG = 'Y' THEN
1206: AHL_DEBUG_PUB.Debug('Start Create Group');
1207: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_x_temp_grp_rec.csi_item_instance_id || ',' || p_x_temp_grp_rec.MR_header_id);
1208: END IF;
1209:
1210: -- For top node.

Line 1207: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_x_temp_grp_rec.csi_item_instance_id || ',' || p_x_temp_grp_rec.MR_header_id);

1203: BEGIN
1204:
1205: IF G_DEBUG = 'Y' THEN
1206: AHL_DEBUG_PUB.Debug('Start Create Group');
1207: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_x_temp_grp_rec.csi_item_instance_id || ',' || p_x_temp_grp_rec.MR_header_id);
1208: END IF;
1209:
1210: -- For top node.
1211: Create_Record (p_x_temp_grp_rec);

Line 1317: AHL_DEBUG_PUB.Debug('End Create Group');

1313:
1314: END LOOP;
1315:
1316: IF G_DEBUG = 'Y' THEN
1317: AHL_DEBUG_PUB.Debug('End Create Group');
1318: END IF;
1319:
1320: EXCEPTION
1321: -- If any error occurs, then, abort API.

Line 1490: AHL_DEBUG_PUB.Debug('Start Update Group');

1486:
1487: BEGIN
1488:
1489: IF G_DEBUG = 'Y' THEN
1490: AHL_DEBUG_PUB.Debug('Start Update Group');
1491: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_mr_rec.csi_item_instance_id || ',' || p_mr_rec.MR_header_id);
1492: END IF;
1493:
1494: -- Set savepoint.

Line 1491: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_mr_rec.csi_item_instance_id || ',' || p_mr_rec.MR_header_id);

1487: BEGIN
1488:
1489: IF G_DEBUG = 'Y' THEN
1490: AHL_DEBUG_PUB.Debug('Start Update Group');
1491: AHL_DEBUG_PUB.Debug('CSI:MR:' || p_mr_rec.csi_item_instance_id || ',' || p_mr_rec.MR_header_id);
1492: END IF;
1493:
1494: -- Set savepoint.
1495: SAVEPOINT update_group;

Line 1725: AHL_DEBUG_PUB.Debug('End Update Group');

1721:
1722: END IF;
1723:
1724: IF G_DEBUG = 'Y' THEN
1725: AHL_DEBUG_PUB.Debug('End Update Group');
1726: END IF;
1727:
1728:
1729: EXCEPTION

Line 1902: AHL_DEBUG_PUB.Debug('Start Unit Sr Deferrals');

1898:
1899: BEGIN
1900:
1901: IF G_DEBUG = 'Y' THEN
1902: AHL_DEBUG_PUB.Debug('Start Unit Sr Deferrals');
1903: END IF;
1904:
1905: FOR unit_sr_def_rec IN ahl_unit_sr_def_csr LOOP
1906: IF G_DEBUG = 'Y' THEN

Line 1907: AHL_DEBUG_PUB.Debug('UE_ID:' || unit_sr_def_rec.unit_effectivity_id);

1903: END IF;
1904:
1905: FOR unit_sr_def_rec IN ahl_unit_sr_def_csr LOOP
1906: IF G_DEBUG = 'Y' THEN
1907: AHL_DEBUG_PUB.Debug('UE_ID:' || unit_sr_def_rec.unit_effectivity_id);
1908: END IF;
1909:
1910: IF (unit_sr_def_rec.group_match_flag = 'Y') THEN
1911: IF G_DEBUG = 'Y' THEN

Line 1912: AHL_DEBUG_PUB.Debug('Group flag match');

1908: END IF;
1909:
1910: IF (unit_sr_def_rec.group_match_flag = 'Y') THEN
1911: IF G_DEBUG = 'Y' THEN
1912: AHL_DEBUG_PUB.Debug('Group flag match');
1913: END IF;
1914:
1915:
1916: -- update unit effectivities with due date and tolerance info.

Line 1936: AHL_DEBUG_PUB.Debug('Update Record-' || l_unit_effectivity_rec.unit_effectivity_id);

1932: l_unit_effectivity_rec.counter_id := unit_sr_def_rec.counter_id;
1933:
1934: -- update record.
1935: IF G_DEBUG = 'Y' THEN
1936: AHL_DEBUG_PUB.Debug('Update Record-' || l_unit_effectivity_rec.unit_effectivity_id);
1937: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || unit_sr_def_rec.MR_header_id);
1938: END IF;
1939:
1940: AHL_UNIT_EFFECTIVITIES_PKG.Update_Row (

Line 1937: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || unit_sr_def_rec.MR_header_id);

1933:
1934: -- update record.
1935: IF G_DEBUG = 'Y' THEN
1936: AHL_DEBUG_PUB.Debug('Update Record-' || l_unit_effectivity_rec.unit_effectivity_id);
1937: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || unit_sr_def_rec.MR_header_id);
1938: END IF;
1939:
1940: AHL_UNIT_EFFECTIVITIES_PKG.Update_Row (
1941: X_UNIT_EFFECTIVITY_ID => l_unit_effectivity_rec.unit_effectivity_id,

Line 2027: AHL_DEBUG_PUB.Debug('Update Record-' || l_unit_effectivity_rec.unit_effectivity_id);

2023: l_unit_effectivity_rec.counter_id := unit_sr_def_rec.counter_id;
2024:
2025: -- update record.
2026: IF G_DEBUG = 'Y' THEN
2027: AHL_DEBUG_PUB.Debug('Update Record-' || l_unit_effectivity_rec.unit_effectivity_id);
2028: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || l_unit_effectivity_rec.MR_header_id);
2029: END IF;
2030:
2031: AHL_UNIT_EFFECTIVITIES_PKG.Update_Row (

Line 2028: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || l_unit_effectivity_rec.MR_header_id);

2024:
2025: -- update record.
2026: IF G_DEBUG = 'Y' THEN
2027: AHL_DEBUG_PUB.Debug('Update Record-' || l_unit_effectivity_rec.unit_effectivity_id);
2028: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || l_unit_effectivity_rec.MR_header_id);
2029: END IF;
2030:
2031: AHL_UNIT_EFFECTIVITIES_PKG.Update_Row (
2032: X_UNIT_EFFECTIVITY_ID => l_unit_effectivity_rec.unit_effectivity_id,

Line 2125: AHL_DEBUG_PUB.Debug('Insert Record-');

2121: l_index := l_index + 1;
2122: l_delete_ue_id_tbl(l_index) := unit_sr_def_rec.unit_effectivity_id;
2123:
2124: IF G_DEBUG = 'Y' THEN
2125: AHL_DEBUG_PUB.Debug('Insert Record-');
2126: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || l_unit_effectivity_rec.MR_header_id);
2127: END IF;
2128:
2129: AHL_UNIT_EFFECTIVITIES_PKG.Insert_Row (

Line 2126: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || l_unit_effectivity_rec.MR_header_id);

2122: l_delete_ue_id_tbl(l_index) := unit_sr_def_rec.unit_effectivity_id;
2123:
2124: IF G_DEBUG = 'Y' THEN
2125: AHL_DEBUG_PUB.Debug('Insert Record-');
2126: AHL_DEBUG_PUB.Debug('CSI:MR:' || l_unit_effectivity_rec.csi_item_instance_id || ',' || l_unit_effectivity_rec.MR_header_id);
2127: END IF;
2128:
2129: AHL_UNIT_EFFECTIVITIES_PKG.Insert_Row (
2130: X_ROWID => l_rowid,

Line 2529: AHL_DEBUG_PUB.Debug('End Unit Sr Deferrals');

2525: END LOOP;
2526: END IF;
2527:
2528: IF G_DEBUG = 'Y' THEN
2529: AHL_DEBUG_PUB.Debug('End Unit Sr Deferrals');
2530: END IF;
2531:
2532: END Flush_Unit_SR_Deferrals;
2533:

Line 2548: AHL_DEBUG_PUB.Debug('Start Delete_Sch_Materials for UE:' || p_unit_effectivity_id,'UMP-ProcessUnit');

2544:
2545: BEGIN
2546:
2547: IF G_DEBUG = 'Y' THEN
2548: AHL_DEBUG_PUB.Debug('Start Delete_Sch_Materials for UE:' || p_unit_effectivity_id,'UMP-ProcessUnit');
2549: END IF;
2550:
2551: FOR sch_material_rec IN ahl_sch_material_csr(p_unit_effectivity_id) LOOP
2552: AHL_SCHEDULE_MATERIALS_PKG.delete_row(x_scheduled_material_id => sch_material_rec.scheduled_material_id);

Line 2557: AHL_DEBUG_PUB.Debug('End Delete_Sch_Materials');

2553:
2554: END LOOP;
2555:
2556: IF G_DEBUG = 'Y' THEN
2557: AHL_DEBUG_PUB.Debug('End Delete_Sch_Materials');
2558: END IF;
2559:
2560: END Delete_Sch_Materials;
2561: