DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_WKSHT_BONUS_PKG

Source


1 PACKAGE BODY CN_WKSHT_BONUS_PKG AS
2 /* $Header: cntwbonb.pls 115.3 2001/10/29 17:17:23 pkm ship    $ */
3 --
4 -- Package Name
5 -- CN_WKSHT_BONUS_PKG
6 -- Purpose
7 --  Table Handler for CN_WORKSHEET_BONUSES
8 --  FORM 	CNSBPS
9 --  BLOCK	BONUSES
10 --
11 -- History
12 -- 26-May-99	Renu Chintalapati	Created
13 /*-------------------------------------------------------------------------*
14  |
15  |                             PRIVATE VARIABLES
16  |
17  *-------------------------------------------------------------------------*/
18   g_program_type     VARCHAR2(30) := NULL;
19 /*-------------------------------------------------------------------------*
20  |
21  |                             PRIVATE ROUTINES
22  |
23  *-------------------------------------------------------------------------*/
24 
25 /*-------------------------------------------------------------------------*
26   -- Procedure Name
27   --	Insert_row
28   -- Purpose
29   --    Main insert procedure
30  *-------------------------------------------------------------------------*/
31    PROCEDURE insert_row
32    (x_payrun_id                 IN NUMBER
33     ,x_salesrep_id              IN NUMBER
34     ,x_quota_id                 IN NUMBER
35     ,x_comp_plan_id             IN NUMBER
36     ,x_amount                   IN NUMBER
37     ,x_srp_plan_assign_id       IN NUMBER
38     ,x_payment_worksheet_id     IN NUMBER
39     ,x_created_by               IN NUMBER
40     ,x_creation_date            IN DATE
41   ) IS
42 
43    BEGIN
44 
45      INSERT INTO cn_worksheet_bonuses
46        (payrun_id
47 	,salesrep_id
48 	,quota_id
49 	,comp_plan_id
50 	,amount
51 	,srp_plan_assign_id
52 	,payment_worksheet_id)
53        VALUES
54        (x_payrun_id
55 	,x_salesrep_id
56 	,x_quota_id
57 	,x_comp_plan_id
58 	,x_amount
59 	,x_srp_plan_assign_id
60 	,x_payment_worksheet_id);
61 
62    END Insert_row;
63 
64 /*-------------------------------------------------------------------------*
65   -- Procedure Name
66   --	Lock_row
67   -- Purpose
68   --    Lock db row after form record is changed
69   -- Notes
70   --    Only called from the form
71  *-------------------------------------------------------------------------*/
72    PROCEDURE lock_row
73    ( x_payment_worksheet_id          NUMBER
74      ,x_quota_id                     NUMBER
75      ,x_comp_plan_id                 NUMBER  ) IS
76 
77      CURSOR C IS
78         SELECT *
79           FROM cn_worksheet_bonuses
80 	  WHERE payment_worksheet_id = x_payment_worksheet_id
81 	  AND quota_id = x_quota_id
82 	  AND comp_plan_id = x_comp_plan_id
83            FOR UPDATE NOWAIT;
84      l_record C%ROWTYPE;
85 
86   BEGIN
87      OPEN C;
88      FETCH C INTO l_record;
89 
90      IF (C%NOTFOUND) then
91         CLOSE C;
92         fnd_message.Set_Name('FND', 'FORM_RECORD_DELETED');
93         app_exception.raise_exception;
94      END IF;
95      CLOSE C;
96 
97   END Lock_row;
98 
99 /*-------------------------------------------------------------------------
100   -- Procedure Name
101   --   Update Record
102   -- Purpose
103   --   To Update the bonus worksheet
104   --
105  -------------------------------------------------------------------------*/
106 PROCEDURE update_row (
107 		      x_payment_worksheet_id      NUMBER
108 		      ,x_quota_id                 NUMBER
109 		      ,x_comp_plan_id             NUMBER
110 		      ,x_amount                   NUMBER   	:= fnd_api.g_miss_num
111 		      ,x_last_updated_by          NUMBER
112 		      ,x_last_update_login       NUMBER
113 		      ,x_last_update_date         DATE
114 		      ) IS
115 	l_amount NUMBER;
116 
117 	CURSOR C IS
118 	   SELECT *
119 	     FROM cn_worksheet_bonuses
120 	     WHERE payment_worksheet_id = x_payment_worksheet_id
121 	     AND quota_id = x_quota_id
122 	     AND comp_plan_id = x_comp_plan_id
123 	     FOR UPDATE;
124 	oldrow C%ROWTYPE;
125 
126   BEGIN
127      OPEN C;
128      FETCH C INTO oldrow;
129 
130      IF (C%NOTFOUND) then
131 	CLOSE C;
132 	fnd_message.Set_Name('FND', 'FORM_RECORD_DELETED');
133 	app_exception.raise_exception;
134      END IF;
135      CLOSE C;
136 
137      SELECT
138        decode(x_amount,
139 	      fnd_api.g_miss_num, oldrow.amount,
140 	      Nvl(x_amount, 0))
141        INTO
142        l_amount
143        FROM dual;
144 
145      UPDATE cn_worksheet_bonuses
146        SET  amount =  l_amount,
147        last_updated_by = x_last_updated_by,
148        last_update_date = x_last_update_date,
149        last_update_login = x_last_update_login
150        WHERE payment_worksheet_id = x_payment_worksheet_id
151        AND quota_id = x_quota_id
152        AND comp_plan_id = x_comp_plan_id;
153 
154 
155 
156      IF (SQL%NOTFOUND) THEN
157         RAISE NO_DATA_FOUND;
158      END IF;
159 
160   END Update_row;
161 
162 /*-------------------------------------------------------------------------*
163   -- Procedure Name
164   --	Delete_row
165   -- Purpose
166   --    Delete the bonus worksheet
167  *-------------------------------------------------------------------------*/
168   PROCEDURE Delete_row( x_payment_worksheet_id     NUMBER ) IS
169   BEGIN
170 
171      DELETE FROM cn_worksheet_bonuses
172        WHERE  payment_worksheet_id = x_payment_worksheet_id;
173 /*     IF (SQL%NOTFOUND) THEN
174 	RAISE NO_DATA_FOUND;
175      END IF;*/
176 
177   END Delete_row;
178 
179 END CN_WKSHT_BONUS_PKG;