1: PACKAGE BODY AHL_UMP_UNITMAINT_PVT AS
2: /* $Header: AHLVUMXB.pls 120.20.12010000.3 2008/12/29 02:29:26 sracha ship $ */
3:
4:
5: G_PKG_NAME CONSTANT VARCHAR2(30) := 'AHL_UMP_UnitMaint_PVT';
1: PACKAGE BODY AHL_UMP_UNITMAINT_PVT AS
2: /* $Header: AHLVUMXB.pls 120.20.12010000.3 2008/12/29 02:29:26 sracha ship $ */
3:
4:
5: G_PKG_NAME CONSTANT VARCHAR2(30) := 'AHL_UMP_UnitMaint_PVT';
6:
7: G_DEBUG VARCHAR2(1) := AHL_DEBUG_PUB.is_log_enabled;
8:
9: TYPE CounterCurTyp is REF CURSOR;
13: -- Declare Local Procedures --
14: -------------------------------
15: -- Converts Value to Id for a Threshold
16: PROCEDURE Convert_Threshold_Val_To_ID(
17: p_x_unit_threshold_rec IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_rec_type,
18: x_return_status OUT NOCOPY VARCHAR2);
19:
20: -- Converts Value to Id for an Accomplishment
21: PROCEDURE Convert_Accomplish_Val_To_ID(
18: x_return_status OUT NOCOPY VARCHAR2);
19:
20: -- Converts Value to Id for an Accomplishment
21: PROCEDURE Convert_Accomplish_Val_To_ID(
22: p_x_unit_accomplish_rec IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_rec_type,
23: x_return_status OUT NOCOPY VARCHAR2);
24:
25: -- Converts Value to Id for an Unit Effectivity
26: PROCEDURE Convert_Effectivity_Val_To_ID(
23: x_return_status OUT NOCOPY VARCHAR2);
24:
25: -- Converts Value to Id for an Unit Effectivity
26: PROCEDURE Convert_Effectivity_Val_To_ID(
27: p_x_unit_Effectivity_rec IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type,
28: x_return_status OUT NOCOPY VARCHAR2);
29:
30: -- Validates an Unit Effectivity
31: PROCEDURE Validate_Effectivity(
28: x_return_status OUT NOCOPY VARCHAR2);
29:
30: -- Validates an Unit Effectivity
31: PROCEDURE Validate_Effectivity(
32: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type,
33: p_authorized_user_flag IN VARCHAR2 := 'N',
34: x_return_status IN OUT NOCOPY VARCHAR2);
35:
36: -- Validates Thresholds
34: x_return_status IN OUT NOCOPY VARCHAR2);
35:
36: -- Validates Thresholds
37: PROCEDURE Validate_Thresholds(
38: p_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
39: x_return_status IN OUT NOCOPY VARCHAR2);
40:
41: -- Validates Accomplishments
42: -- Added accomplishment date to fix bug# 6750836.
40:
41: -- Validates Accomplishments
42: -- Added accomplishment date to fix bug# 6750836.
43: PROCEDURE Validate_Accomplishments(
44: p_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
45: p_accomplishment_date IN DATE,
46: p_ue_status_code IN VARCHAR2,
47: x_return_status IN OUT NOCOPY VARCHAR2);
48:
47: x_return_status IN OUT NOCOPY VARCHAR2);
48:
49: -- Updates a Unit Effectivity
50: PROCEDURE Update_Unit_Effectivity(
51: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type);
52:
53: -- Terminates a descendent Unit Effectivity
54: PROCEDURE Terminate_Descendent(
55: p_descendent_ue_id IN NUMBER);
55: p_descendent_ue_id IN NUMBER);
56:
57: -- Updates Thresholds
58: PROCEDURE Update_Thresholds(
59: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type,
60: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type);
61:
62: -- Updates Accomplishments
63: -- Added p_unit_Effectivity_rec for R12: for counter lock
56:
57: -- Updates Thresholds
58: PROCEDURE Update_Thresholds(
59: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type,
60: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type);
61:
62: -- Updates Accomplishments
63: -- Added p_unit_Effectivity_rec for R12: for counter lock
64: PROCEDURE Update_Accomplishments(
61:
62: -- Updates Accomplishments
63: -- Added p_unit_Effectivity_rec for R12: for counter lock
64: PROCEDURE Update_Accomplishments(
65: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
66: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type);
67:
68: -- Copies updated Thresholds from a sublist back to the original master list
69: PROCEDURE Restore_Thresholds(
62: -- Updates Accomplishments
63: -- Added p_unit_Effectivity_rec for R12: for counter lock
64: PROCEDURE Update_Accomplishments(
65: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
66: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type);
67:
68: -- Copies updated Thresholds from a sublist back to the original master list
69: PROCEDURE Restore_Thresholds(
70: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
66: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type);
67:
68: -- Copies updated Thresholds from a sublist back to the original master list
69: PROCEDURE Restore_Thresholds(
70: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
71: p_unit_threshold_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type);
72:
73: -- Copies updated Accomplishments from a sublist back to the original master list
74: PROCEDURE Restore_Accomplishments(
67:
68: -- Copies updated Thresholds from a sublist back to the original master list
69: PROCEDURE Restore_Thresholds(
70: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
71: p_unit_threshold_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type);
72:
73: -- Copies updated Accomplishments from a sublist back to the original master list
74: PROCEDURE Restore_Accomplishments(
75: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
71: p_unit_threshold_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type);
72:
73: -- Copies updated Accomplishments from a sublist back to the original master list
74: PROCEDURE Restore_Accomplishments(
75: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
76: p_unit_accomplish_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type);
77:
78: -- Calls FMP API to match counters before accomplishments and terminations
79: PROCEDURE Match_Counters_with_FMP(
72:
73: -- Copies updated Accomplishments from a sublist back to the original master list
74: PROCEDURE Restore_Accomplishments(
75: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
76: p_unit_accomplish_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type);
77:
78: -- Calls FMP API to match counters before accomplishments and terminations
79: PROCEDURE Match_Counters_with_FMP(
80: p_unit_effectivity_id IN NUMBER,
567: p_commit IN VARCHAR2 := FND_API.G_FALSE,
568: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
569: p_default IN VARCHAR2 := FND_API.G_TRUE,
570: p_module_type IN VARCHAR2 := NULL,
571: p_unit_Effectivity_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_tbl_type,
572: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
573: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
574: x_return_status OUT NOCOPY VARCHAR2,
575: x_msg_count OUT NOCOPY NUMBER,
568: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
569: p_default IN VARCHAR2 := FND_API.G_TRUE,
570: p_module_type IN VARCHAR2 := NULL,
571: p_unit_Effectivity_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_tbl_type,
572: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
573: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
574: x_return_status OUT NOCOPY VARCHAR2,
575: x_msg_count OUT NOCOPY NUMBER,
576: x_msg_data OUT NOCOPY VARCHAR2) IS
569: p_default IN VARCHAR2 := FND_API.G_TRUE,
570: p_module_type IN VARCHAR2 := NULL,
571: p_unit_Effectivity_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_tbl_type,
572: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
573: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
574: x_return_status OUT NOCOPY VARCHAR2,
575: x_msg_count OUT NOCOPY NUMBER,
576: x_msg_data OUT NOCOPY VARCHAR2) IS
577:
576: x_msg_data OUT NOCOPY VARCHAR2) IS
577:
578: l_api_version CONSTANT NUMBER := 1.5;
579: l_api_name CONSTANT VARCHAR2(30) := 'Capture_MR_Updates';
580: l_unit_Effectivity_rec AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type;
581: l_unit_threshold_tbl AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type;
582: l_unit_accomplish_tbl AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type;
583: l_MR_Initialization_flag VARCHAR2(1) := 'N';
584: l_prev_status VARCHAR2(30);
577:
578: l_api_version CONSTANT NUMBER := 1.5;
579: l_api_name CONSTANT VARCHAR2(30) := 'Capture_MR_Updates';
580: l_unit_Effectivity_rec AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type;
581: l_unit_threshold_tbl AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type;
582: l_unit_accomplish_tbl AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type;
583: l_MR_Initialization_flag VARCHAR2(1) := 'N';
584: l_prev_status VARCHAR2(30);
585: l_prev_object_version_no NUMBER;
578: l_api_version CONSTANT NUMBER := 1.5;
579: l_api_name CONSTANT VARCHAR2(30) := 'Capture_MR_Updates';
580: l_unit_Effectivity_rec AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type;
581: l_unit_threshold_tbl AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type;
582: l_unit_accomplish_tbl AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type;
583: l_MR_Initialization_flag VARCHAR2(1) := 'N';
584: l_prev_status VARCHAR2(30);
585: l_prev_object_version_no NUMBER;
586: l_counter_index BINARY_INTEGER := 0;
1036: -- Local Procedure Definitions follow --
1037: ----------------------------------------
1038:
1039: PROCEDURE Convert_Effectivity_Val_To_ID(
1040: p_x_unit_Effectivity_rec IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type,
1041: x_return_status OUT NOCOPY VARCHAR2 ) IS
1042:
1043: CURSOR l_get_mr_id_csr(p_mr_title IN VARCHAR2,
1044: p_mr_version_number IN NUMBER) IS
1127:
1128: ------------------------------------
1129:
1130: PROCEDURE Convert_Threshold_Val_To_ID(
1131: p_x_unit_threshold_rec IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_Rec_Type,
1132: x_return_status OUT NOCOPY VARCHAR2 ) IS
1133:
1134: CURSOR l_get_counter_id(p_counter_name IN VARCHAR2,
1135: p_ue_id IN NUMBER) IS
1199:
1200: ------------------------------------
1201:
1202: PROCEDURE Convert_Accomplish_Val_To_ID(
1203: p_x_unit_accomplish_rec IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_rec_type,
1204: x_return_status OUT NOCOPY VARCHAR2 ) IS
1205:
1206: CURSOR l_get_counter_id(p_counter_name IN VARCHAR2,
1207: p_ue_id IN NUMBER) IS
1268: -----------------------------
1269:
1270: PROCEDURE Validate_Effectivity
1271: (
1272: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type,
1273: p_authorized_user_flag IN VARCHAR2 := 'N',
1274: x_return_status IN OUT NOCOPY VARCHAR2) IS
1275:
1276: CURSOR l_invalid_descendents_csr(p_ue_id IN NUMBER) IS
1757: ------------------------------------
1758:
1759: PROCEDURE Validate_Thresholds
1760: (
1761: p_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
1762: x_return_status IN OUT NOCOPY VARCHAR2) IS
1763:
1764: CURSOR l_validate_counter_csr(p_ue_id IN NUMBER,
1765: p_counter_id IN NUMBER) IS
1947:
1948: -- Added accomplishment date to fix bug# 6750836.
1949: PROCEDURE Validate_Accomplishments
1950: (
1951: p_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
1952: p_accomplishment_date IN DATE,
1953: p_ue_status_code IN VARCHAR2,
1954: x_return_status IN OUT NOCOPY VARCHAR2) IS
1955:
2191: ------------------------------------
2192:
2193: PROCEDURE Update_Unit_Effectivity
2194: (
2195: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type) IS
2196:
2197: CURSOR l_threshold_exists_csr(p_ue_id IN NUMBER) IS
2198: SELECT 'x'
2199: FROM AHL_UNIT_THRESHOLDS UTH, AHL_UNIT_DEFERRALS_B UDF
2904: -- the insert_row, update_row or delete_row methods
2905: -- of the Thresholds table handler
2906: ------------------------------------
2907: PROCEDURE Update_Thresholds(
2908: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type,
2909: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type) IS
2910:
2911: CURSOR l_get_unit_threshold_csr(p_threshold_id IN NUMBER) IS
2912: SELECT OBJECT_VERSION_NUMBER,
2905: -- of the Thresholds table handler
2906: ------------------------------------
2907: PROCEDURE Update_Thresholds(
2908: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type,
2909: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type) IS
2910:
2911: CURSOR l_get_unit_threshold_csr(p_threshold_id IN NUMBER) IS
2912: SELECT OBJECT_VERSION_NUMBER,
2913: --UNIT_EFFECTIVITY_ID,
3243: -- the insert_row, update_row or delete_row methods
3244: -- of the Accomplishments table handler
3245: ------------------------------------
3246: PROCEDURE Update_Accomplishments(
3247: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
3248: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type) IS
3249:
3250: CURSOR l_get_unit_accomplish_csr(p_accomplish_id IN NUMBER) IS
3251: SELECT OBJECT_VERSION_NUMBER,
3244: -- of the Accomplishments table handler
3245: ------------------------------------
3246: PROCEDURE Update_Accomplishments(
3247: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
3248: p_unit_Effectivity_rec IN AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_rec_type) IS
3249:
3250: CURSOR l_get_unit_accomplish_csr(p_accomplish_id IN NUMBER) IS
3251: SELECT OBJECT_VERSION_NUMBER,
3252: UNIT_EFFECTIVITY_ID,
3559: -- This procedure transfers data to the master
3560: -- table from the sub list
3561: ------------------------------------
3562: PROCEDURE Restore_Thresholds(
3563: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
3564: p_unit_threshold_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type) IS
3565: l_index NUMBER;
3566: l_curr_ue_id NUMBER;
3567: BEGIN
3560: -- table from the sub list
3561: ------------------------------------
3562: PROCEDURE Restore_Thresholds(
3563: p_x_unit_threshold_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
3564: p_unit_threshold_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type) IS
3565: l_index NUMBER;
3566: l_curr_ue_id NUMBER;
3567: BEGIN
3568: IF (p_unit_threshold_tbl.COUNT > 0) THEN
3581: -- This procedure transfers data to the master
3582: -- table from the sub list
3583: ------------------------------------
3584: PROCEDURE Restore_Accomplishments(
3585: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
3586: p_unit_accomplish_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type) IS
3587: l_index NUMBER;
3588: l_curr_ue_id NUMBER;
3589: BEGIN
3582: -- table from the sub list
3583: ------------------------------------
3584: PROCEDURE Restore_Accomplishments(
3585: p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
3586: p_unit_accomplish_tbl IN AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type) IS
3587: l_index NUMBER;
3588: l_curr_ue_id NUMBER;
3589: BEGIN
3590: IF (p_unit_accomplish_tbl.COUNT > 0) THEN
4740: END IF;
4741:
4742: /* commented call from here as BUE api commits. Launching concurrent program instead.
4743: IF (l_new_mr_header_id IS NOT NULL AND trunc(l_effective_from_date) <= trunc(sysdate)) THEN
4744: AHL_UMP_UNITMAINT_PVT.Build_UnitEffectivity (
4745: p_init_msg_list => FND_API.G_FALSE,
4746: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4747: p_default => FND_API.G_TRUE,
4748: p_module_type => NULL,
5632: -------------------------------
5633: -- End Local Procedures --
5634: -------------------------------
5635:
5636: END AHL_UMP_UNITMAINT_PVT;