DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_SRP_PAYOUT_DTLS_PKG

Source


1 PACKAGE BODY CN_SRP_PAYOUT_DTLS_PKG AS
2   /*$Header: cntmdtlb.pls 115.0 2003/08/25 21:47:57 nkodkani noship $*/
3 
4 PROCEDURE insert_row
5   (p_SRP_payout_dtl_ID IN cn_srp_payout_dtls.SRP_payout_dtl_ID%TYPE,
6    p_srp_role_id         IN cn_srp_payout_dtls.srp_role_id%TYPE,
7    p_role_model_id IN cn_srp_payout_dtls.role_model_id%TYPE := NULL,
8    p_attain_tier_id IN cn_srp_payout_dtls.attain_tier_id%TYPE,
9    p_role_id IN cn_srp_payout_dtls.role_id%TYPE,
10    p_attain_schedule_id IN cn_srp_payout_dtls.attain_schedule_id%TYPE,
11    p_quota_category_id IN cn_srp_payout_dtls.quota_category_id%TYPE,
12    p_percent IN cn_srp_payout_dtls.percent%TYPE,
13    p_payout IN cn_srp_payout_dtls.payout%TYPE,
14    p_attribute_category IN cn_srp_payout_dtls.attribute_category%TYPE := NULL,
15    p_attribute1 IN cn_srp_payout_dtls.attribute1%TYPE := NULL,
16    p_attribute2 IN cn_srp_payout_dtls.attribute2%TYPE := NULL,
17    p_attribute3 IN cn_srp_payout_dtls.attribute3%TYPE := NULL,
18    p_attribute4 IN cn_srp_payout_dtls.attribute4%TYPE := NULL,
19    p_attribute5 IN cn_srp_payout_dtls.attribute5%TYPE := NULL,
20    p_attribute6 IN cn_srp_payout_dtls.attribute6%TYPE := NULL,
21    p_attribute7 IN cn_srp_payout_dtls.attribute7%TYPE := NULL,
22    p_attribute8 IN cn_srp_payout_dtls.attribute8%TYPE := NULL,
23    p_attribute9 IN cn_srp_payout_dtls.attribute9%TYPE := NULL,
24    p_attribute10 IN cn_srp_payout_dtls.attribute10%TYPE := NULL,
25    p_attribute11 IN cn_srp_payout_dtls.attribute11%TYPE := NULL,
26    p_attribute12 IN cn_srp_payout_dtls.attribute12%TYPE := NULL,
27    p_attribute13 IN cn_srp_payout_dtls.attribute13%TYPE := NULL,
28    p_attribute14 IN cn_srp_payout_dtls.attribute14%TYPE := NULL,
29    p_attribute15 IN cn_srp_payout_dtls.attribute15%TYPE := NULL,
30    p_created_by IN  cn_srp_payout_dtls.created_by%TYPE := NULL,
31    p_creation_date IN cn_srp_payout_dtls.creation_date%TYPE := NULL,
32    p_last_update_login IN cn_srp_payout_dtls.last_update_login%TYPE := NULL,
33    p_last_update_date IN cn_srp_payout_dtls.last_update_date%TYPE := NULL,
34    p_last_updated_by IN cn_srp_payout_dtls.last_updated_by%TYPE := NULL)
35    IS
36    MN NUMBER        := FND_API.G_MISS_NUM;
37    MC VARCHAR2(150) := FND_API.G_MISS_CHAR;
38    MD DATE          := FND_API.G_MISS_DATE;
39 
40 BEGIN
41 
42    INSERT INTO cn_srp_payout_dtls(
43      SRP_payout_dtl_ID,
44      srp_role_id,
45      role_model_id,
46      role_id,
47      attain_tier_id,
48      attain_schedule_id,
49      quota_category_id,
50      percent,
51      payout,
52      attribute_category,
53      attribute1,
54      attribute2,
55      attribute3,
56      attribute4,
57      attribute5,
58      attribute6,
59      attribute7,
60      attribute8,
61      attribute9,
62      attribute10,
63      attribute11,
64      attribute12,
65      attribute13,
66      attribute14,
67      attribute15,
68      CREATED_BY,
69      CREATION_DATE,
70      LAST_UPDATE_LOGIN,
71      LAST_UPDATE_DATE,
72      LAST_UPDATED_BY,
73      object_version_number
74    )
75    SELECT
76      cn_srp_payout_dtls_s.nextval,
77      p_srp_role_id,
78      p_role_model_id,
79      decode(p_role_id,mn,null,p_role_id),
80      decode(p_attain_tier_id,mn,null,p_attain_tier_id),
81      decode(p_attain_schedule_id,mn,null,p_attain_schedule_id),
82      decode(p_quota_category_id,mn,null,p_quota_category_id),
83      decode(p_percent,mn,null,p_percent),
84      decode(p_payout,mn,null,p_payout),
85      decode(p_attribute_category, mc, null, p_attribute_category),
86      decode(p_attribute1, mc, null, p_attribute1),
87      decode(p_attribute2, mc, null, p_attribute2),
88      decode(p_attribute3, mc, null, p_attribute3),
89      decode(p_attribute4, mc, null, p_attribute4),
90      decode(p_attribute5, mc, null, p_attribute5),
91      decode(p_attribute6, mc, null, p_attribute6),
92      decode(p_attribute7, mc, null, p_attribute7),
93      decode(p_attribute8, mc, null, p_attribute8),
94      decode(p_attribute9, mc, null, p_attribute9),
95      decode(p_attribute10, mc, null, p_attribute10),
96      decode(p_attribute11, mc, null, p_attribute11),
97      decode(p_attribute12, mc, null, p_attribute12),
98      decode(p_attribute13, mc, null, p_attribute13),
99      decode(p_attribute14, mc, null, p_attribute14),
100      decode(p_attribute15, mc, null, p_attribute15),
101      fnd_global.user_id,
102      sysdate,
103      fnd_global.login_id,
104      sysdate,
105      fnd_global.user_id,
106      1
107     FROM dual;
108 
109 END insert_row;
110 
111 
112 PROCEDURE update_row
113   (p_SRP_payout_dtl_ID IN cn_srp_payout_dtls.SRP_payout_dtl_ID%TYPE,
114    p_srp_role_id         IN cn_srp_payout_dtls.srp_role_id%TYPE,
115    p_role_model_id IN cn_srp_payout_dtls.role_model_id%TYPE :=NULL,
116    p_attain_tier_id IN cn_srp_payout_dtls.attain_tier_id%TYPE,
117    p_role_id IN cn_srp_payout_dtls.role_id%TYPE,
118    p_attain_schedule_id IN cn_srp_payout_dtls.attain_schedule_id%TYPE,
119    p_quota_category_id IN cn_srp_payout_dtls.quota_category_id%TYPE,
120    p_percent IN cn_srp_payout_dtls.percent%TYPE,
121    p_payout IN cn_srp_payout_dtls.payout%TYPE,
122    p_attribute_category IN cn_srp_payout_dtls.attribute_category%TYPE := NULL,
123    p_attribute1 IN cn_srp_payout_dtls.attribute1%TYPE := NULL,
124    p_attribute2 IN cn_srp_payout_dtls.attribute2%TYPE := NULL,
125    p_attribute3 IN cn_srp_payout_dtls.attribute3%TYPE := NULL,
126    p_attribute4 IN cn_srp_payout_dtls.attribute4%TYPE := NULL,
127    p_attribute5 IN cn_srp_payout_dtls.attribute5%TYPE := NULL,
128    p_attribute6 IN cn_srp_payout_dtls.attribute6%TYPE := NULL,
129    p_attribute7 IN cn_srp_payout_dtls.attribute7%TYPE := NULL,
130    p_attribute8 IN cn_srp_payout_dtls.attribute8%TYPE := NULL,
131    p_attribute9 IN cn_srp_payout_dtls.attribute9%TYPE := NULL,
132    p_attribute10 IN cn_srp_payout_dtls.attribute10%TYPE := NULL,
133    p_attribute11 IN cn_srp_payout_dtls.attribute11%TYPE := NULL,
134    p_attribute12 IN cn_srp_payout_dtls.attribute12%TYPE := NULL,
135    p_attribute13 IN cn_srp_payout_dtls.attribute13%TYPE := NULL,
136    p_attribute14 IN cn_srp_payout_dtls.attribute14%TYPE := NULL,
137    p_attribute15 IN cn_srp_payout_dtls.attribute15%TYPE := NULL,
138    p_last_update_login IN cn_srp_payout_dtls.last_update_login%TYPE,
139    p_last_update_date IN cn_srp_payout_dtls.last_update_date%TYPE,
140    p_last_updated_by IN cn_srp_payout_dtls.last_updated_by%TYPE,
141    p_object_version_number IN cn_srp_payout_dtls.object_version_number%TYPE) IS
142 
143    CURSOR l_old_csr IS
144       SELECT *
145 	FROM cn_srp_payout_dtls
146        WHERE srp_role_id = p_srp_role_id;
147 
148    l_old_rec   l_old_csr%ROWTYPE;
149 
150    MN NUMBER        := FND_API.G_MISS_NUM;
151    MC VARCHAR2(150) := FND_API.G_MISS_CHAR;
152    MD DATE          := FND_API.G_MISS_DATE;
153 
154    l_object_version_number  NUMBER;
155 
156 BEGIN
157    OPEN l_old_csr;
158    FETCH l_old_csr INTO l_old_rec;
159    CLOSE l_old_csr;
160 
161      SELECT decode(p_object_version_number, mn,
162                    l_old_rec.object_version_number, p_object_version_number)
163      INTO l_object_version_number
164      FROM dual
165         ;
166 
167    -- check object version number
168    IF l_object_version_number <> l_old_rec.object_version_number THEN
169      fnd_message.set_name('CN', 'CN_RECORD_CHANGED');
170      fnd_msg_pub.add;
171      raise fnd_api.g_exc_error;
172    END IF;
173 
174    UPDATE cn_srp_payout_dtls SET
175     (percent,
176      payout,
177      quota_category_id,
178      attribute_category,
179      attribute1,
180      attribute2,
181      attribute3,
182      attribute4,
183      attribute5,
184      attribute6,
185      attribute7,
186      attribute8,
187      attribute9,
188      attribute10,
189      attribute11,
190      attribute12,
191      attribute13,
192      attribute14,
193      attribute15,
194      object_version_number,
195      LAST_UPDATE_DATE,
196      LAST_UPDATED_BY,
197      LAST_UPDATE_LOGIN
198    ) =
199      (
200       SELECT
201         decode(p_percent, mn, l_old_rec.percent, p_percent),
202         decode(p_payout, mn, l_old_rec.payout, p_payout),
203         decode(p_quota_category_id, mn, l_old_rec.quota_category_id, p_quota_category_id),
204         decode(p_attribute_category, mc, l_old_rec.attribute_category,p_attribute_category),
205         decode(p_attribute1, mc, l_old_rec.attribute1, p_attribute1),
206         decode(p_attribute2, mc, l_old_rec.attribute2, p_attribute2),
207         decode(p_attribute3, mc, l_old_rec.attribute3, p_attribute3),
208         decode(p_attribute4, mc, l_old_rec.attribute4, p_attribute4),
209         decode(p_attribute5, mc, l_old_rec.attribute5, p_attribute5),
210         decode(p_attribute6, mc, l_old_rec.attribute6, p_attribute6),
211         decode(p_attribute7, mc, l_old_rec.attribute7, p_attribute7),
212         decode(p_attribute8, mc, l_old_rec.attribute8, p_attribute8),
213         decode(p_attribute9, mc, l_old_rec.attribute9, p_attribute9),
214         decode(p_attribute10, mc, l_old_rec.attribute10, p_attribute10),
215         decode(p_attribute11, mc, l_old_rec.attribute11, p_attribute11),
216         decode(p_attribute12, mc, l_old_rec.attribute12, p_attribute12),
217         decode(p_attribute13, mc, l_old_rec.attribute13, p_attribute13),
218         decode(p_attribute14, mc, l_old_rec.attribute14, p_attribute14),
219         decode(p_attribute15, mc, l_old_rec.attribute15, p_attribute15),
220         decode(p_object_version_number, mn,l_old_rec.object_version_number, p_object_version_number+1),
221         sysdate,
222         fnd_global.user_id,
223         fnd_global.login_id
224        FROM dual)
225        WHERE srp_role_id = p_srp_role_id and attain_tier_id = p_attain_tier_id
226        and attain_schedule_id = p_attain_schedule_id;
227 END update_row;
228 
229 
230 PROCEDURE delete_row
231   (p_srp_role_id         IN cn_srp_payout_dtls.srp_role_id%TYPE) IS
232 BEGIN
233    DELETE FROM cn_srp_payout_dtls
234      WHERE srp_role_id = p_srp_role_id;
235 
236 END delete_row;
237 
238 END CN_SRP_payout_dtlS_pkg;