DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_DM_PERFORMANCE_PKG

Source


1 PACKAGE BODY AMS_DM_PERFORMANCE_PKG as
2 /* $Header: amstdpfb.pls 120.1 2005/06/15 23:58:08 appldev  $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 --          AMS_DM_PERFORMANCE_PKG
7 -- Purpose
8 --
9 -- History
10 -- 26-Jan-2001 choang   Removed object ver num from update criteria.
11 -- 07-Jan-2002 choang   Removed security group id
12 --
13 -- NOTE
14 --
15 -- End of Comments
16 -- ===============================================================
17 
18 
19 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_DM_PERFORMANCE_PKG';
20 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amstdpfb.pls';
21 
22 AMS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
23 AMS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
24 AMS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
25 
26 PROCEDURE Insert_Row(
27           px_performance_id   IN OUT NOCOPY NUMBER,
28           p_last_update_date    DATE,
29           p_last_updated_by    NUMBER,
30           p_creation_date    DATE,
31           p_created_by    NUMBER,
32           p_last_update_login    NUMBER,
33           px_object_version_number   IN OUT NOCOPY NUMBER,
34           p_predicted_value    VARCHAR2,
35           p_actual_value    VARCHAR2,
36           p_evaluated_records    NUMBER,
37           p_total_records_predicted    NUMBER,
38           p_model_id    NUMBER)
39 IS
40    x_rowid    VARCHAR2(30);
41 BEGIN
42    px_object_version_number := 1;
43 
44 
45    INSERT INTO AMS_DM_PERFORMANCE(
46            performance_id,
47            last_update_date,
48            last_updated_by,
49            creation_date,
50            created_by,
51            last_update_login,
52            object_version_number,
53            predicted_value,
54            actual_value,
55            evaluated_records,
56            total_records_predicted,
57            model_id
58    ) VALUES (
59            DECODE( px_performance_id, FND_API.g_miss_num, NULL, px_performance_id),
60            DECODE( p_last_update_date, FND_API.g_miss_date, SYSDATE, p_last_update_date),
61            DECODE( p_last_updated_by, FND_API.g_miss_num, FND_GLOBAL.user_id, p_last_updated_by),
62            DECODE( p_creation_date, FND_API.g_miss_date, SYSDATE, p_creation_date),
63            DECODE( p_created_by, FND_API.g_miss_num, FND_GLOBAL.user_id, p_created_by),
64            DECODE( p_last_update_login, FND_API.g_miss_num, FND_GLOBAL.conc_login_id, p_last_update_login),
65            DECODE( px_object_version_number, FND_API.g_miss_num, 1, px_object_version_number),
66            DECODE( p_predicted_value, FND_API.g_miss_char, NULL, p_predicted_value),
67            DECODE( p_actual_value, FND_API.g_miss_char, NULL, p_actual_value),
68            DECODE( p_evaluated_records, FND_API.g_miss_num, NULL, p_evaluated_records),
69            DECODE( p_total_records_predicted, FND_API.g_miss_num, NULL, p_total_records_predicted),
70            DECODE( p_model_id, FND_API.g_miss_num, NULL, p_model_id));
71 END Insert_Row;
72 
73 PROCEDURE Update_Row(
74           p_performance_id    NUMBER,
75           p_last_update_date    DATE,
76           p_last_updated_by    NUMBER,
77           p_creation_date    DATE,
78           p_created_by    NUMBER,
79           p_last_update_login    NUMBER,
80           p_object_version_number    NUMBER,
81           p_predicted_value    VARCHAR2,
82           p_actual_value    VARCHAR2,
83           p_evaluated_records    NUMBER,
84           p_total_records_predicted    NUMBER,
85           p_model_id    NUMBER)
86 
87  IS
88 BEGIN
89     Update AMS_DM_PERFORMANCE
90     SET
91               performance_id = DECODE( p_performance_id, FND_API.g_miss_num, performance_id, p_performance_id),
92               last_update_date = DECODE( p_last_update_date, FND_API.g_miss_date, last_update_date, p_last_update_date),
93               last_updated_by = DECODE( p_last_updated_by, FND_API.g_miss_num, last_updated_by, p_last_updated_by),
94               last_update_login = DECODE( p_last_update_login, FND_API.g_miss_num, last_update_login, p_last_update_login),
95               object_version_number = DECODE( p_object_version_number, FND_API.g_miss_num, object_version_number, p_object_version_number),
96               predicted_value = DECODE( p_predicted_value, FND_API.g_miss_char, predicted_value, p_predicted_value),
97               actual_value = DECODE( p_actual_value, FND_API.g_miss_char, actual_value, p_actual_value),
98               evaluated_records = DECODE( p_evaluated_records, FND_API.g_miss_num, evaluated_records, p_evaluated_records),
99               total_records_predicted = DECODE( p_total_records_predicted, FND_API.g_miss_num, total_records_predicted, p_total_records_predicted),
100               model_id = DECODE( p_model_id, FND_API.g_miss_num, model_id, p_model_id)
101    WHERE PERFORMANCE_ID = p_PERFORMANCE_ID;
102 
103    IF (SQL%NOTFOUND) THEN
104       RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
105    END IF;
106 END Update_Row;
107 
108 PROCEDURE Delete_Row(
109     p_PERFORMANCE_ID  NUMBER)
110  IS
111  BEGIN
112    DELETE FROM AMS_DM_PERFORMANCE
113     WHERE PERFORMANCE_ID = p_PERFORMANCE_ID;
114    If (SQL%NOTFOUND) then
115 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
116    End If;
117  END Delete_Row ;
118 
119 
120 PROCEDURE Lock_Row(
121           p_performance_id    NUMBER,
122           p_last_update_date    DATE,
123           p_last_updated_by    NUMBER,
124           p_creation_date    DATE,
125           p_created_by    NUMBER,
126           p_last_update_login    NUMBER,
127           p_object_version_number    NUMBER,
128           p_predicted_value    VARCHAR2,
129           p_actual_value    VARCHAR2,
130           p_evaluated_records    NUMBER,
131           p_total_records_predicted    NUMBER,
132           p_model_id    NUMBER)
133 
134  IS
135    CURSOR C IS
136         SELECT *
137          FROM AMS_DM_PERFORMANCE
138         WHERE PERFORMANCE_ID =  p_PERFORMANCE_ID
139         FOR UPDATE of PERFORMANCE_ID NOWAIT;
140    Recinfo C%ROWTYPE;
141  BEGIN
142     OPEN c;
143     FETCH c INTO Recinfo;
144     If (c%NOTFOUND) then
145         CLOSE c;
146         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
147         APP_EXCEPTION.RAISE_EXCEPTION;
148     END IF;
149     CLOSE C;
150     IF (
151            (      Recinfo.performance_id = p_performance_id)
152        AND (    ( Recinfo.last_update_date = p_last_update_date)
153             OR (    ( Recinfo.last_update_date IS NULL )
154                 AND (  p_last_update_date IS NULL )))
155        AND (    ( Recinfo.last_updated_by = p_last_updated_by)
156             OR (    ( Recinfo.last_updated_by IS NULL )
157                 AND (  p_last_updated_by IS NULL )))
158        AND (    ( Recinfo.creation_date = p_creation_date)
159             OR (    ( Recinfo.creation_date IS NULL )
160                 AND (  p_creation_date IS NULL )))
161        AND (    ( Recinfo.created_by = p_created_by)
162             OR (    ( Recinfo.created_by IS NULL )
163                 AND (  p_created_by IS NULL )))
164        AND (    ( Recinfo.last_update_login = p_last_update_login)
165             OR (    ( Recinfo.last_update_login IS NULL )
166                 AND (  p_last_update_login IS NULL )))
167        AND (    ( Recinfo.object_version_number = p_object_version_number)
168             OR (    ( Recinfo.object_version_number IS NULL )
169                 AND (  p_object_version_number IS NULL )))
170        AND (    ( Recinfo.predicted_value = p_predicted_value)
171             OR (    ( Recinfo.predicted_value IS NULL )
172                 AND (  p_predicted_value IS NULL )))
173        AND (    ( Recinfo.actual_value = p_actual_value)
174             OR (    ( Recinfo.actual_value IS NULL )
175                 AND (  p_actual_value IS NULL )))
176        AND (    ( Recinfo.evaluated_records = p_evaluated_records)
177             OR (    ( Recinfo.evaluated_records IS NULL )
178                 AND (  p_evaluated_records IS NULL )))
179        AND (    ( Recinfo.total_records_predicted = p_total_records_predicted)
180             OR (    ( Recinfo.total_records_predicted IS NULL )
181                 AND (  p_total_records_predicted IS NULL )))
182        AND (    ( Recinfo.model_id = p_model_id)
183             OR (    ( Recinfo.model_id IS NULL )
184                 AND (  p_model_id IS NULL )))
185        ) THEN
186        RETURN;
187    ELSE
188        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
189        APP_EXCEPTION.RAISE_EXCEPTION;
190    END IF;
191 END Lock_Row;
192 
193 END AMS_DM_PERFORMANCE_PKG;