DBA Data[Home] [Help]

PACKAGE BODY: APPS.JL_ZZ_AR_TX_RULES_PKG

Source


1 PACKAGE BODY JL_ZZ_AR_TX_RULES_PKG AS
2 /* $Header: jlzztxrb.pls 120.2 2003/03/03 19:39:38 opedrega ship $ */
3 
4   PROCEDURE Insert_Row
5        (X_rowid             IN OUT NOCOPY VARCHAR2,
6         X_rule_id                         NUMBER,
7         X_tax_rule_level                  VARCHAR2,
8         X_rule                            VARCHAR2,
9         X_tax_category_id                 NUMBER,
10         X_contributor_type                VARCHAR2,
11         X_cust_trx_type_id                NUMBER,
12         X_last_update_date                DATE,
13         X_last_updated_by                 NUMBER,
14         X_priority                        NUMBER,
15         X_description                     VARCHAR2,
16         X_org_id                          NUMBER,
17         X_last_update_login               NUMBER,
18         X_creation_date                   DATE,
19         X_created_by                      NUMBER,
20         X_calling_sequence  IN            VARCHAR2) IS
21 
22     CURSOR C IS
23       SELECT rowid
24       FROM jl_zz_ar_tx_rules
25       WHERE rule = X_rule
26       AND tax_rule_level = X_tax_rule_level
27       AND tax_category_id = X_tax_category_id
28       AND contributor_type = X_contributor_type
29       AND cust_trx_type_id = X_cust_trx_type_id
30       AND priority = X_priority
31       AND org_id = X_org_id;
32 
33     current_calling_sequence VARCHAR2(2000);
34     debug_info               VARCHAR2(100);
35 
36   BEGIN
37     -- Update the calling sequence
38     --
39     current_calling_sequence := 'JL_ZZ_AR_TX_RULES_PKG.INSERT_ROW<-' ||
40                                 X_calling_sequence;
41 
42     debug_info := 'Insert into JL_ZZ_AR_TX_RULES  ';
43     INSERT INTO JL_ZZ_AR_TX_RULES(rule_id,
44                                   tax_rule_level,
45                                   rule,
46                                   tax_category_id,
47                                   contributor_type,
48                                   cust_trx_type_id,
49                                   org_id,
50                                   last_update_date,
51                                   last_updated_by,
52                                   priority,
53                                   description,
54                                   last_update_login,
55                                   creation_date,
56                                   created_by)
57                           VALUES (X_rule_id,
58                                   X_tax_rule_level,
59                                   X_rule,
60                                   X_tax_category_id,
61                                   X_contributor_type,
62                                   X_cust_trx_type_id,
63                                   X_org_id,
64                                   X_last_update_date,
65                                   X_last_updated_by,
66                                   X_priority,
67                                   X_description,
68                                   X_last_update_login,
69                                   X_creation_date,
70                                   X_created_by);
71 
72     debug_info := 'Open cursor C';
73     OPEN C;
74     debug_info := 'Fetch cursor C';
75     FETCH C INTO X_rowid;
76     if (C%NOTFOUND) then
77       debug_info := 'Close cursor C - DATA NOTFOUND';
78       CLOSE C;
79       Raise NO_DATA_FOUND;
80     end if;
81     debug_info := 'Close cursor C';
82     CLOSE C;
83 
84   EXCEPTION
85     WHEN OTHERS THEN
86       IF (SQLCODE <> -20001) THEN
87         FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
88         FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
89         FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
90         FND_MESSAGE.SET_TOKEN('PARAMETERS',
91                               'rule = ' || X_rule ||
92                               'tax_rule_level = ' || X_tax_rule_level ||
93                               'tax_category_id =' ||X_tax_category_id||
94                               'contributor_type = ' || X_contributor_type ||
95                               'cust_trx_type_id = ' || X_cust_trx_type_id ||
96                               'priority =' ||X_priority);
97         FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
98       END IF;
99       APP_EXCEPTION.RAISE_EXCEPTION;
100 
101   END Insert_Row;
102 
103   PROCEDURE Lock_Row
104        (X_rowid                           VARCHAR2,
105         X_rule_id                         NUMBER,
106         X_tax_rule_level                  VARCHAR2,
107         X_rule                            VARCHAR2,
108         X_tax_category_id                 NUMBER,
109         X_contributor_type                VARCHAR2,
110         X_cust_trx_type_id                NUMBER,
111         X_last_update_date                DATE,
112         X_last_updated_by                 NUMBER,
113         X_priority                        NUMBER,
114         X_description                     VARCHAR2,
115         X_org_id                          NUMBER,
116         X_last_update_login               NUMBER,
117         X_creation_date                   DATE,
118         X_created_by                      NUMBER,
119         X_calling_sequence   IN           VARCHAR2) IS
120 
121     CURSOR C IS
122       SELECT *
123       FROM jl_zz_ar_tx_rules
124       WHERE rule = X_rule
125       AND tax_rule_level = X_tax_rule_level
126       AND tax_category_id = X_tax_category_id
127       AND contributor_type = X_contributor_type
128       AND cust_trx_type_id = X_cust_trx_type_id
129       AND priority = X_priority
130       AND org_id = X_org_id
131       FOR UPDATE of rule,
132                     tax_rule_level,
133                     tax_category_id,
134                     contributor_type,
135                     cust_trx_type_id,
136                     priority
137       NOWAIT;
138 
139     Recinfo C%ROWTYPE;
140 
141     current_calling_sequence VARCHAR2(2000);
142     debug_info               VARCHAR2(100);
143 
144   BEGIN
145     -- Update the calling sequence
146     --
147     current_calling_sequence := 'JL_ZZ_AR_TX_RULES_PKG.LOCK_ROW<-' ||
148                                  X_calling_sequence;
149     debug_info := 'Open cursor C';
150     OPEN C;
151     debug_info := 'Fetch cursor C';
152     FETCH C INTO Recinfo;
153 
154     IF (C%NOTFOUND) THEN
155       debug_info := 'Close cursor C - DATA NOTFOUND';
156       CLOSE C;
157       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
158       APP_EXCEPTION.Raise_Exception;
159     END IF;
160     debug_info := 'Close cursor C';
161     CLOSE C;
162 
163     IF ((Recinfo.rule = X_rule) AND
164         (Recinfo.tax_rule_level = X_tax_rule_level) AND
165         (Recinfo.tax_category_id = X_tax_category_id) AND
166         (Recinfo.contributor_type = X_contributor_type) AND
167         (Recinfo.cust_trx_type_id = X_cust_trx_type_id) AND
168         (Recinfo.priority = X_priority) AND
169         (Recinfo.rule_id = X_rule_id) AND
170         (Recinfo.last_updated_by = X_last_updated_by) AND
171         (Recinfo.last_update_date = X_last_update_date) AND
172         ((Recinfo.description = X_description) OR
173          ((Recinfo.description IS NULL) AND
174           (X_description IS NULL))) AND
175         ((Recinfo.last_update_login = X_last_update_login) OR
176          ((Recinfo.last_update_login IS NULL) AND
177           (X_last_update_login IS NULL))) AND
178         ((Recinfo.creation_date = X_creation_date) OR
179          ((Recinfo.creation_date IS NULL) AND
180           (X_creation_date IS NULL))) AND
181         ((Recinfo.created_by = X_created_by) OR
182          ((Recinfo.created_by IS NULL) AND
183           (X_created_by IS NULL)))) THEN
184       return;
185     ELSE
186       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
187       APP_EXCEPTION.Raise_Exception;
188     END IF;
189 
190   EXCEPTION
191     WHEN OTHERS THEN
192       IF (SQLCODE <> -20001) THEN
193         IF (SQLCODE = -54) THEN
194           FND_MESSAGE.SET_NAME('SQLAP','AP_RESOURCE_BUSY');
195         ELSE
196           FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
197           FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
198           FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
199           FND_MESSAGE.SET_TOKEN('PARAMETERS',
200                                 'rule = ' || X_rule ||
201                                 'tax_rule_level = ' || X_tax_rule_level ||
202                                 'tax_category_id =' ||X_tax_category_id||
203                                 'contributor_type = ' || X_contributor_type ||
204                                 'cust_trx_type_id = ' || X_cust_trx_type_id ||
205                                 'priority =' ||X_priority);
206           FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
207         END IF;
208       END IF;
209       APP_EXCEPTION.RAISE_EXCEPTION;
210   END Lock_Row;
211 
212   PROCEDURE Update_Row
213        (X_rowid                           VARCHAR2,
214         X_rule_id                         NUMBER,
215         X_tax_rule_level                  VARCHAR2,
216         X_rule                            VARCHAR2,
217         X_tax_category_id                 NUMBER,
218         X_contributor_type                VARCHAR2,
219         X_cust_trx_type_id                NUMBER,
220         X_last_update_date                DATE,
221         X_last_updated_by                 NUMBER,
222         X_priority                        NUMBER,
223         X_description                     VARCHAR2,
224         X_org_id                          NUMBER,
225         X_last_update_login               NUMBER,
226         X_creation_date                   DATE,
227         X_created_by                      NUMBER,
228         X_calling_sequence        IN      VARCHAR2) IS
229 
230   BEGIN
231     UPDATE jl_zz_ar_tx_rules
232     SET rule_id           = X_rule_id,
233         tax_rule_level    = X_tax_rule_level,
234         rule              = X_rule,
235         tax_category_id   = X_tax_category_id,
236         contributor_type  = X_contributor_type,
237         cust_trx_type_id  = X_cust_trx_type_id,
238         org_id            = X_org_id,
239         last_update_date  = X_last_update_date,
240         last_updated_by   = X_last_updated_by,
241         priority          = X_priority,
242         description       = X_description,
243         last_update_login = X_last_update_login,
244         creation_date     = X_creation_date,
245         created_by        = X_created_by
246     WHERE  rowid = X_rowid;
247 
248     IF (SQL%NOTFOUND) THEN
249       raise NO_DATA_FOUND;
250     END IF;
251   END Update_Row;
252 
253   PROCEDURE Delete_Row
254        (X_rowid                   VARCHAR2) IS
255 
256   BEGIN
257     DELETE
258     FROM jl_zz_ar_tx_rules
259     WHERE rowid = X_rowid;
260 
261     IF (SQL%NOTFOUND) THEN
262       raise NO_DATA_FOUND;
263     END IF;
264   END Delete_Row;
265 
266 END JL_ZZ_AR_TX_RULES_PKG;