[Home] [Help]
PACKAGE BODY: APPS.CN_PAYRUNS_PKG
Source
1 PACKAGE BODY cn_payruns_pkg AS
2 -- $Header: cnpruntb.pls 120.3 2005/09/22 13:01:26 rnagired ship $
3
4 -- ===========================================================================
5 -- Procedure Name : Insert_Record
6 -- Purpose : Main insert procedure
7 -- ===========================================================================
8 PROCEDURE INSERT_RECORD (
9 x_payrun_id IN NUMBER,
10 x_name cn_payruns.NAME%TYPE,
11 x_pay_period_id cn_payruns.pay_period_id%TYPE,
12 x_incentive_type_code cn_payruns.incentive_type_code%TYPE,
13 x_pay_group_id cn_payruns.pay_group_id%TYPE,
14 x_pay_date cn_payruns.pay_date%TYPE,
15 x_accounting_period_id cn_payruns.accounting_period_id%TYPE,
16 x_batch_id cn_payruns.batch_id%TYPE,
17 x_status cn_payruns.status%TYPE,
18 x_created_by cn_payruns.created_by%TYPE,
19 x_creation_date cn_payruns.creation_date%TYPE,
20 x_object_version_number cn_payruns.object_version_number%TYPE,
21 x_org_id cn_payruns.org_id%TYPE,
22 x_payrun_mode cn_payruns.payrun_mode%TYPE
23 )
24 IS
25 BEGIN
26 INSERT INTO cn_payruns
27 (payrun_id,
28 NAME,
29 pay_period_id,
30 incentive_type_code,
31 pay_group_id,
32 pay_date,
33 accounting_period_id,
34 batch_id,
35 status,
36 created_by,
37 creation_date,
38 object_version_number,
39 org_id,
40 payrun_mode
41
42 )
43 VALUES (NVL (x_payrun_id, cn_payruns_s.NEXTVAL),
44 x_name,
45 x_pay_period_id,
46 x_incentive_type_code,
47 x_pay_group_id,
48 x_pay_date,
49 x_accounting_period_id,
50 x_batch_id,
51 x_status,
52 x_created_by,
53 x_creation_date,
54 x_object_version_number,
55 x_org_id,
56 x_payrun_mode
57 );
58 END INSERT_RECORD;
59
60 -- ===========================================================================
61 -- Procedure Name : Lock_Record
62 -- Purpose : Lock db row after form record is changed
63 -- Notes : Only called from the form
64 -- ===========================================================================
65 PROCEDURE LOCK_RECORD (
66 x_rowid VARCHAR2,
67 x_payrun_id NUMBER
68 )
69 IS
70 CURSOR c
71 IS
72 SELECT *
73 FROM cn_payruns
74 WHERE payrun_id = x_payrun_id
75 FOR UPDATE OF payrun_id NOWAIT;
76
77 recinfo c%ROWTYPE;
78 BEGIN
79 OPEN c;
80
81 FETCH c
82 INTO recinfo;
83
84 IF (c%NOTFOUND)
85 THEN
86 CLOSE c;
87
88 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
89 app_exception.raise_exception;
90 END IF;
91
92 CLOSE c;
93
94 IF recinfo.payrun_id = x_payrun_id
95 THEN
96 RETURN;
97 ELSE
98 fnd_message.set_name ('FND', 'FORM_RECORD_CHANGED');
99 app_exception.raise_exception;
100 END IF;
101 END LOCK_RECORD;
102
103 -- ===========================================================================
104 -- Procedure Name : Update Record
105 -- Purpose : To Update the Payment Plans
106 -- ===========================================================================
107 PROCEDURE UPDATE_RECORD (
108 x_payrun_id cn_payruns.payrun_id%TYPE,
109 x_name cn_payruns.NAME%TYPE := fnd_api.g_miss_char,
110 x_pay_period_id cn_payruns.pay_period_id%TYPE := cn_api.g_miss_id,
111 x_incentive_type_code cn_payruns.incentive_type_code%TYPE := cn_api.g_miss_char,
112 x_pay_group_id cn_payruns.pay_group_id%TYPE := cn_api.g_miss_id,
113 x_pay_date cn_payruns.pay_date%TYPE := fnd_api.g_miss_date,
114 x_accounting_period_id cn_payruns.accounting_period_id%TYPE := cn_api.g_miss_id,
115 x_batch_id cn_payruns.batch_id%TYPE := cn_api.g_miss_id,
116 x_status cn_payruns.status%TYPE := fnd_api.g_miss_char,
117 x_last_updated_by cn_payruns.last_updated_by%TYPE,
118 x_last_update_date cn_payruns.last_update_date%TYPE,
119 x_last_update_login cn_payruns.last_update_login%TYPE,
120 x_object_version_number cn_payruns.object_version_number%TYPE
121 )
122 IS
123 l_name cn_payruns.NAME%TYPE;
124 l_pay_period_id cn_payruns.pay_period_id%TYPE;
125 l_incentive_type_code cn_payruns.incentive_type_code%TYPE;
126 l_pay_group_id cn_payruns.pay_group_id%TYPE;
127 l_pay_date cn_payruns.pay_date%TYPE;
128 l_accounting_period_id cn_payruns.accounting_period_id%TYPE;
129 l_batch_id cn_payruns.batch_id%TYPE;
130 l_status cn_payruns.status%TYPE;
131
132 CURSOR payrun_cur
133 IS
134 SELECT *
135 FROM cn_payruns
136 WHERE payrun_id = x_payrun_id;
137
138 l_payrun_rec payrun_cur%ROWTYPE;
139 BEGIN
140 OPEN payrun_cur;
141
142 FETCH payrun_cur
143 INTO l_payrun_rec;
144
145 CLOSE payrun_cur;
146
147 SELECT DECODE (x_name, fnd_api.g_miss_char, l_payrun_rec.NAME, x_name),
148 DECODE (x_pay_period_id, cn_api.g_miss_id, l_payrun_rec.pay_period_id, x_pay_period_id),
149 DECODE (x_incentive_type_code, cn_api.g_miss_char, l_payrun_rec.incentive_type_code, x_incentive_type_code),
150 DECODE (x_pay_group_id, cn_api.g_miss_id, l_payrun_rec.pay_group_id, x_pay_group_id),
151 DECODE (x_pay_date, fnd_api.g_miss_date, l_payrun_rec.pay_date, x_pay_date),
152 DECODE (x_accounting_period_id, cn_api.g_miss_id, l_payrun_rec.accounting_period_id, x_accounting_period_id),
153 DECODE (x_batch_id, cn_api.g_miss_id, l_payrun_rec.batch_id, x_batch_id),
154 DECODE (x_status, fnd_api.g_miss_char, l_payrun_rec.status, x_status)
155 INTO l_name,
156 l_pay_period_id,
157 l_incentive_type_code,
158 l_pay_group_id,
159 l_pay_date,
160 l_accounting_period_id,
161 l_batch_id,
162 l_status
163 FROM DUAL;
164
165 UPDATE cn_payruns
166 SET NAME = l_name,
167 pay_period_id = l_pay_period_id,
168 incentive_type_code = l_incentive_type_code,
169 pay_group_id = l_pay_group_id,
170 pay_date = l_pay_date,
171 accounting_period_id = l_accounting_period_id,
172 batch_id = l_batch_id,
173 status = l_status,
174 last_update_date = x_last_update_date,
175 last_updated_by = x_last_updated_by,
176 last_update_login = x_last_update_login,
177 object_version_number = x_object_version_number + 1
178 WHERE payrun_id = x_payrun_id AND object_version_number = x_object_version_number;
179
180 IF (SQL%NOTFOUND)
181 THEN
182 RAISE NO_DATA_FOUND;
183 END IF;
184 END UPDATE_RECORD;
185
186 -- ===========================================================================
187 -- Procedure Name : Delete_Record
188 -- Purpose : Delete the Payment Plan if it has not been assigned
189 -- to a salesrep
190 -- ===========================================================================
191 PROCEDURE DELETE_RECORD (
192 x_payrun_id NUMBER
193 )
194 IS
195 BEGIN
196 DELETE FROM cn_payruns
197 WHERE payrun_id = x_payrun_id;
198 END DELETE_RECORD;
199 END cn_payruns_pkg;