DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_DETERMINING_FACTORS_PKG

Source


1 package body ZX_DETERMINING_FACTORS_PKG as
2 /* $Header: zxritrldetfactb.pls 120.14 2005/11/01 23:51:58 rsanthan ship $ */
3 
4   g_current_runtime_level CONSTANT  NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5   g_level_statement       CONSTANT  NUMBER := FND_LOG.LEVEL_STATEMENT;
6   g_level_procedure       CONSTANT  NUMBER := FND_LOG.LEVEL_PROCEDURE;
7   g_level_event           CONSTANT  NUMBER := FND_LOG.LEVEL_EVENT;
8   g_level_unexpected      CONSTANT  NUMBER := FND_LOG.LEVEL_UNEXPECTED;
9 
10 PROCEDURE INSERT_ROW
11      (X_ROWID                    IN OUT NOCOPY VARCHAR2,
12       X_DETERMINING_FACTOR_ID                  NUMBER,
13       X_DETERMINING_FACTOR_CODE                VARCHAR2,
14       X_DETERMINING_FACTOR_CLASS_COD           VARCHAR2,
15       X_VALUE_SET                              VARCHAR2,
16       X_TAX_PARAMETER_CODE                     VARCHAR2,
17       X_DATA_TYPE_CODE                         VARCHAR2,
18       X_TAX_FUNCTION_CODE                      VARCHAR2,
19       X_RECORD_TYPE_CODE                       VARCHAR2,
20       X_TAX_REGIME_DET_FLAG                    VARCHAR2,
21       X_TAX_SUMMARIZATION_FLAG                 VARCHAR2,
22       X_TAX_RULES_FLAG                         VARCHAR2,
23       X_TAXABLE_BASIS_FLAG                     VARCHAR2,
24       X_TAX_CALCULATION_FLAG                   VARCHAR2,
25       X_INTERNAL_FLAG                          VARCHAR2,
26       X_RECORD_ONLY_FLAG                       VARCHAR2,
27       X_REQUEST_ID                             NUMBER,
28       X_DETERMINING_FACTOR_NAME                VARCHAR2,
29       X_DETERMINING_FACTOR_DESC                VARCHAR2,
30       X_CREATION_DATE                          DATE,
31       X_CREATED_BY                             NUMBER,
32       X_LAST_UPDATE_DATE                       DATE,
33       X_LAST_UPDATED_BY                        NUMBER,
34       X_LAST_UPDATE_LOGIN                      NUMBER,
35       X_OBJECT_VERSION_NUMBER                  NUMBER) IS
36 
37     CURSOR C IS
38       SELECT ROWID
39       FROM ZX_DETERMINING_FACTORS_B
40       WHERE DETERMINING_FACTOR_ID = X_DETERMINING_FACTOR_ID;
41 
42 BEGIN
43   IF (g_level_procedure >= g_current_runtime_level ) THEN
44     FND_LOG.STRING(g_level_procedure,
48 
45                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.INSERT_ROW.BEGIN',
46                    'ZX_DETERMINING_FACTORS_PKG.INSERT_ROW (+)');
47   END IF;
49   INSERT INTO ZX_DETERMINING_FACTORS_B (DETERMINING_FACTOR_ID,
50                                         DETERMINING_FACTOR_CODE,
51                                         DETERMINING_FACTOR_CLASS_CODE,
52                                         VALUE_SET,
53                                         TAX_PARAMETER_CODE,
54                                         DATA_TYPE_CODE,
55                                         TAX_FUNCTION_CODE,
56                                         RECORD_TYPE_CODE,
57                                         TAX_REGIME_DET_FLAG,
58                                         TAX_SUMMARIZATION_FLAG,
59                                         TAX_RULES_FLAG,
60                                         TAXABLE_BASIS_FLAG,
61                                         TAX_CALCULATION_FLAG,
62                                         INTERNAL_FLAG,
63                                         RECORD_ONLY_FLAG,
64                                         REQUEST_ID,
65                                         CREATION_DATE,
66                                         CREATED_BY,
67                                         LAST_UPDATE_DATE,
68                                         LAST_UPDATED_BY,
69                                         LAST_UPDATE_LOGIN,
70                                         OBJECT_VERSION_NUMBER)
71                                 values (X_DETERMINING_FACTOR_ID,
72                                         X_DETERMINING_FACTOR_CODE,
73                                         X_DETERMINING_FACTOR_CLASS_COD,
74                                         X_VALUE_SET,
75                                         X_TAX_PARAMETER_CODE,
76                                         X_DATA_TYPE_CODE,
77                                         X_TAX_FUNCTION_CODE,
78                                         X_RECORD_TYPE_CODE,
79                                         NVL(X_TAX_REGIME_DET_FLAG, 'N'),
80                                         NVL(X_TAX_SUMMARIZATION_FLAG, 'N'),
81                                         NVL(X_TAX_RULES_FLAG, 'N'),
82                                         NVL(X_TAXABLE_BASIS_FLAG, 'N'),
83                                         NVL(X_TAX_CALCULATION_FLAG, 'N'),
84                                         NVL(X_INTERNAL_FLAG, 'N'),
85                                         NVL(X_RECORD_ONLY_FLAG, 'N'),
86                                         X_REQUEST_ID,
87                                         X_CREATION_DATE,
88                                         X_CREATED_BY,
89                                         X_LAST_UPDATE_DATE,
90                                         X_LAST_UPDATED_BY,
91                                         X_LAST_UPDATE_LOGIN,
92                                         X_OBJECT_VERSION_NUMBER);
93 
94   INSERT INTO ZX_DET_FACTORS_TL (DETERMINING_FACTOR_NAME,
95                                          DETERMINING_FACTOR_DESC,
96                                          CREATION_DATE,
97                                          CREATED_BY,
98                                          LAST_UPDATE_DATE,
99                                          LAST_UPDATED_BY,
100                                          LAST_UPDATE_LOGIN,
101                                          DETERMINING_FACTOR_ID,
102                                          LANGUAGE,
103                                          SOURCE_LANG)
104                                   SELECT X_DETERMINING_FACTOR_NAME,
105                                          X_DETERMINING_FACTOR_DESC,
106                                          X_CREATION_DATE,
107                                          X_CREATED_BY,
108                                          X_LAST_UPDATE_DATE,
109                                          X_LAST_UPDATED_BY,
110                                          X_LAST_UPDATE_LOGIN,
111                                          X_DETERMINING_FACTOR_ID,
112                                          L.LANGUAGE_CODE,
113                                          userenv('LANG')
114                                     FROM FND_LANGUAGES L
115                                     WHERE L.INSTALLED_FLAG in ('I', 'B')
116                                     AND NOT EXISTS (SELECT NULL
117                                                     FROM ZX_DET_FACTORS_TL T
118                                                     WHERE T.DETERMINING_FACTOR_ID = X_DETERMINING_FACTOR_ID
119                                                     AND T.LANGUAGE = L.LANGUAGE_CODE);
120 
121   OPEN C;
122   FETCH C INTO X_ROWID;
123   IF (C%NOTFOUND) THEN
124     CLOSE C;
125     RAISE NO_DATA_FOUND;
126   END IF;
127   CLOSE C;
128 
129   IF (g_level_procedure >= g_current_runtime_level ) THEN
130     FND_LOG.STRING(g_level_procedure,
131                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.INSERT_ROW.END',
132                    'ZX_DETERMINING_FACTORS_PKG.INSERT_ROW (-)');
133   END IF;
134 END INSERT_ROW;
135 
136 PROCEDURE LOCK_ROW
137      (X_DETERMINING_FACTOR_ID                  NUMBER,
138       X_DETERMINING_FACTOR_CODE                VARCHAR2,
139       X_DETERMINING_FACTOR_CLASS_COD           VARCHAR2,
140       X_VALUE_SET                              VARCHAR2,
141       X_TAX_PARAMETER_CODE                     VARCHAR2,
142       X_DATA_TYPE_CODE                         VARCHAR2,
143       X_TAX_FUNCTION_CODE                      VARCHAR2,
144       X_RECORD_TYPE_CODE                       VARCHAR2,
145       X_TAX_REGIME_DET_FLAG                    VARCHAR2,
146       X_TAX_SUMMARIZATION_FLAG                 VARCHAR2,
147       X_TAX_RULES_FLAG                         VARCHAR2,
148       X_TAXABLE_BASIS_FLAG                     VARCHAR2,
152       X_REQUEST_ID                             NUMBER,
149       X_TAX_CALCULATION_FLAG                   VARCHAR2,
150       X_INTERNAL_FLAG                          VARCHAR2,
151       X_RECORD_ONLY_FLAG                       VARCHAR2,
153       X_DETERMINING_FACTOR_NAME                VARCHAR2,
154       X_DETERMINING_FACTOR_DESC                VARCHAR2,
155       X_OBJECT_VERSION_NUMBER                  NUMBER) IS
156 
157   CURSOR C IS
158     SELECT DETERMINING_FACTOR_CODE,
159            DETERMINING_FACTOR_CLASS_CODE,
160            VALUE_SET,
161            TAX_PARAMETER_CODE,
162            DATA_TYPE_CODE,
163            TAX_FUNCTION_CODE,
164            RECORD_TYPE_CODE,
165            TAX_REGIME_DET_FLAG,
166            TAX_SUMMARIZATION_FLAG,
167            TAX_RULES_FLAG,
168            TAXABLE_BASIS_FLAG,
169            TAX_CALCULATION_FLAG,
170            INTERNAL_FLAG,
171            RECORD_ONLY_FLAG,
172            REQUEST_ID,
173            OBJECT_VERSION_NUMBER
174       FROM ZX_DETERMINING_FACTORS_B
175       WHERE DETERMINING_FACTOR_ID = X_DETERMINING_FACTOR_ID
176       FOR UPDATE OF DETERMINING_FACTOR_ID NOWAIT;
177   RECINFO C%ROWTYPE;
178 
179   CURSOR C1 IS
180     SELECT DETERMINING_FACTOR_NAME,
181            DETERMINING_FACTOR_DESC,
182            DECODE(LANGUAGE, USERENV('LANG'), 'Y', 'N') BASELANG
183     FROM ZX_DET_FACTORS_TL
184     WHERE DETERMINING_FACTOR_ID = X_DETERMINING_FACTOR_ID
185     AND USERENV('LANG') IN (LANGUAGE, SOURCE_LANG)
186     FOR UPDATE OF DETERMINING_FACTOR_ID NOWAIT;
187 
188 BEGIN
189   IF (g_level_procedure >= g_current_runtime_level ) THEN
190     FND_LOG.STRING(g_level_procedure,
191                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.LOCK_ROW.BEGIN',
192                    'ZX_DETERMINING_FACTORS_PKG.LOCK_ROW (+)');
193   END IF;
194 
195   OPEN C;
196   FETCH C INTO RECINFO;
197   IF (c%notfound) THEN
198     close c;
199     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
200     app_exception.raise_exception;
201   END IF;
202   CLOSE C;
203   IF ((recinfo.DETERMINING_FACTOR_CODE = X_DETERMINING_FACTOR_CODE) AND
204       (recinfo.DETERMINING_FACTOR_CLASS_CODE = X_DETERMINING_FACTOR_CLASS_COD) AND
205       ((recinfo.VALUE_SET = X_VALUE_SET) OR
206        ((recinfo.VALUE_SET is null) AND
207         (X_VALUE_SET is null))) AND
208       ((recinfo.TAX_PARAMETER_CODE = X_TAX_PARAMETER_CODE) OR
209        ((recinfo.TAX_PARAMETER_CODE is null) AND
210         (X_TAX_PARAMETER_CODE is null))) AND
211       (recinfo.DATA_TYPE_CODE = X_DATA_TYPE_CODE) AND
212       ((recinfo.TAX_FUNCTION_CODE = X_TAX_FUNCTION_CODE) OR
213        ((recinfo.TAX_FUNCTION_CODE is null) AND
214         (X_TAX_FUNCTION_CODE is null))) AND
215       (recinfo.RECORD_TYPE_CODE = X_RECORD_TYPE_CODE) AND
216       ((recinfo.TAX_REGIME_DET_FLAG = X_TAX_REGIME_DET_FLAG) OR
217        ((recinfo.TAX_REGIME_DET_FLAG is null) AND
218         (X_TAX_REGIME_DET_FLAG is null))) AND
219       ((recinfo.TAX_SUMMARIZATION_FLAG = X_TAX_SUMMARIZATION_FLAG) OR
220        ((recinfo.TAX_SUMMARIZATION_FLAG is null) AND
221         (X_TAX_SUMMARIZATION_FLAG is null))) AND
222       ((recinfo.TAX_RULES_FLAG = X_TAX_RULES_FLAG) OR
223        ((recinfo.TAX_RULES_FLAG is null) AND
224         (X_TAX_RULES_FLAG is null))) AND
225       ((recinfo.TAXABLE_BASIS_FLAG = X_TAXABLE_BASIS_FLAG) OR
226        ((recinfo.TAXABLE_BASIS_FLAG is null) AND
227         (X_TAXABLE_BASIS_FLAG is null))) AND
228       ((recinfo.TAX_CALCULATION_FLAG = X_TAX_CALCULATION_FLAG) OR
229        ((recinfo.TAX_CALCULATION_FLAG is null) AND
230         (X_TAX_CALCULATION_FLAG is null))) AND
231       ((recinfo.INTERNAL_FLAG = X_INTERNAL_FLAG) OR
232        ((recinfo.INTERNAL_FLAG is null) AND
233         (X_INTERNAL_FLAG is null))) AND
234       ((recinfo.RECORD_ONLY_FLAG = X_RECORD_ONLY_FLAG) OR
235        ((recinfo.RECORD_ONLY_FLAG is null) AND
236         (X_RECORD_ONLY_FLAG is null))) AND
237       ((recinfo.REQUEST_ID = X_REQUEST_ID) OR
238        ((recinfo.REQUEST_ID is null) AND
239         (X_REQUEST_ID is null))))
240       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)  THEN
241     NULL;
242   ELSE
243     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
244     app_exception.raise_exception;
245   END IF;
246 
247   FOR tlinfo in c1 LOOP
248     IF (tlinfo.BASELANG = 'Y') THEN
249       IF ((tlinfo.DETERMINING_FACTOR_NAME = X_DETERMINING_FACTOR_NAME) AND
250           ((tlinfo.DETERMINING_FACTOR_DESC = X_DETERMINING_FACTOR_DESC) OR
251            ((tlinfo.DETERMINING_FACTOR_DESC is null) AND
252             (X_DETERMINING_FACTOR_DESC is null)))) THEN
253         NULL;
254       ELSE
255         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
256         app_exception.raise_exception;
257       END IF;
258     END IF;
259   END LOOP;
260 
261   IF (g_level_procedure >= g_current_runtime_level ) THEN
262     FND_LOG.STRING(g_level_procedure,
263                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.LOCK_ROW.END',
264                    'ZX_DETERMINING_FACTORS_PKG.LOCK_ROW (-)');
265   END IF;
266 
267   RETURN;
268 END LOCK_ROW;
269 
270 PROCEDURE UPDATE_ROW
271      (X_DETERMINING_FACTOR_ID                  NUMBER,
272       X_DETERMINING_FACTOR_CODE                VARCHAR2,
273       X_DETERMINING_FACTOR_CLASS_COD           VARCHAR2,
274       X_VALUE_SET                              VARCHAR2,
275       X_TAX_PARAMETER_CODE                     VARCHAR2,
276       X_DATA_TYPE_CODE                         VARCHAR2,
277       X_TAX_FUNCTION_CODE                      VARCHAR2,
278       X_RECORD_TYPE_CODE                       VARCHAR2,
282       X_TAXABLE_BASIS_FLAG                     VARCHAR2,
279       X_TAX_REGIME_DET_FLAG                    VARCHAR2,
280       X_TAX_SUMMARIZATION_FLAG                 VARCHAR2,
281       X_TAX_RULES_FLAG                         VARCHAR2,
283       X_TAX_CALCULATION_FLAG                   VARCHAR2,
284       X_INTERNAL_FLAG                          VARCHAR2,
285       X_RECORD_ONLY_FLAG                       VARCHAR2,
286       X_REQUEST_ID                             NUMBER,
287       X_DETERMINING_FACTOR_NAME                VARCHAR2,
288       X_DETERMINING_FACTOR_DESC                VARCHAR2,
289       X_LAST_UPDATE_DATE                       DATE,
290       X_LAST_UPDATED_BY                        NUMBER,
291       X_LAST_UPDATE_LOGIN                      NUMBER,
292       X_OBJECT_VERSION_NUMBER                  NUMBER) IS
293 
294 BEGIN
295   IF (g_level_procedure >= g_current_runtime_level ) THEN
296     FND_LOG.STRING(g_level_procedure,
297                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.UPDATE_ROW.BEGIN',
298                    'ZX_DETERMINING_FACTORS_PKG.UPDATE_ROW (+)');
299   END IF;
300 
301   UPDATE ZX_DETERMINING_FACTORS_B
302     SET DETERMINING_FACTOR_CODE = X_DETERMINING_FACTOR_CODE,
303         DETERMINING_FACTOR_CLASS_CODE = X_DETERMINING_FACTOR_CLASS_COD,
304         VALUE_SET = X_VALUE_SET,
305         TAX_PARAMETER_CODE = X_TAX_PARAMETER_CODE,
306         DATA_TYPE_CODE = X_DATA_TYPE_CODE,
307         TAX_FUNCTION_CODE = X_TAX_FUNCTION_CODE,
308         RECORD_TYPE_CODE = X_RECORD_TYPE_CODE,
309         TAX_REGIME_DET_FLAG = NVL(X_TAX_REGIME_DET_FLAG, 'N'),
310         TAX_SUMMARIZATION_FLAG = NVL(X_TAX_SUMMARIZATION_FLAG, 'N'),
311         TAX_RULES_FLAG = NVL(X_TAX_RULES_FLAG, 'N'),
312         TAXABLE_BASIS_FLAG = NVL(X_TAXABLE_BASIS_FLAG, 'N'),
313         TAX_CALCULATION_FLAG = NVL(X_TAX_CALCULATION_FLAG, 'N'),
314         INTERNAL_FLAG = NVL(X_INTERNAL_FLAG, 'N'),
315         RECORD_ONLY_FLAG = NVL(X_RECORD_ONLY_FLAG, 'N'),
316         REQUEST_ID = X_REQUEST_ID,
317         LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
318         LAST_UPDATED_BY = X_LAST_UPDATED_BY,
319         LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
320         OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
321     WHERE DETERMINING_FACTOR_ID = X_DETERMINING_FACTOR_ID;
322 
323   IF (SQL%NOTFOUND) THEN
324     RAISE NO_DATA_FOUND;
325   END IF;
326 
327   UPDATE ZX_DET_FACTORS_TL
328     SET DETERMINING_FACTOR_NAME = X_DETERMINING_FACTOR_NAME,
329         DETERMINING_FACTOR_DESC = X_DETERMINING_FACTOR_DESC,
330         LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
331         LAST_UPDATED_BY = X_LAST_UPDATED_BY,
332         LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
333         SOURCE_LANG = userenv('LANG')
334     WHERE DETERMINING_FACTOR_ID = X_DETERMINING_FACTOR_ID
335     AND userenv('LANG') in (LANGUAGE, SOURCE_LANG);
336 
337   IF (sql%notfound) THEN
338     RAISE NO_DATA_FOUND;
339   END IF;
340 
341   IF (g_level_procedure >= g_current_runtime_level ) THEN
342     FND_LOG.STRING(g_level_procedure,
343                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.UPDATE_ROW.END',
344                    'ZX_DETERMINING_FACTORS_PKG.UPDATE_ROW (-)');
345   END IF;
346 
347 END UPDATE_ROW;
348 
349 PROCEDURE DELETE_ROW
350      (X_DETERMINING_FACTOR_ID                  NUMBER) IS
351 
352 BEGIN
353   IF (g_level_procedure >= g_current_runtime_level ) THEN
354     FND_LOG.STRING(g_level_procedure,
355                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.DELETE_ROW.BEGIN',
356                    'ZX_DETERMINING_FACTORS_PKG.DELETE_ROW (+)');
357   END IF;
358 
359   DELETE FROM ZX_DET_FACTORS_TL
360   WHERE DETERMINING_FACTOR_ID = X_DETERMINING_FACTOR_ID;
361 
362   IF (sql%notfound) THEN
363     RAISE NO_DATA_FOUND;
364   END IF;
365 
366   DELETE FROM ZX_DETERMINING_FACTORS_B
367   WHERE DETERMINING_FACTOR_ID = X_DETERMINING_FACTOR_ID;
368 
369   IF (sql%notfound) THEN
370     RAISE NO_DATA_FOUND;
371   END IF;
372 
373   IF (g_level_procedure >= g_current_runtime_level ) THEN
374     FND_LOG.STRING(g_level_procedure,
375                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.DELETE_ROW.END',
376                    'ZX_DETERMINING_FACTORS_PKG.DELETE_ROW (-)');
377   END IF;
378 
379 END DELETE_ROW;
380 
381 PROCEDURE ADD_LANGUAGE IS
382 
383 BEGIN
384   IF (g_level_procedure >= g_current_runtime_level ) THEN
385     FND_LOG.STRING(g_level_procedure,
386                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.ADD_LANGUAGE.BEGIN',
387                    'ZX_DETERMINING_FACTORS_PKG.ADD_LANGUAGE (+)');
388   END IF;
389 
390   DELETE FROM ZX_DET_FACTORS_TL T
391     WHERE NOT EXISTS (SELECT NULL
392                       FROM ZX_DETERMINING_FACTORS_B B
393                       WHERE B.DETERMINING_FACTOR_ID = T.DETERMINING_FACTOR_ID);
394 
395   UPDATE ZX_DET_FACTORS_TL T
396     SET (DETERMINING_FACTOR_NAME,
397          DETERMINING_FACTOR_DESC) = (SELECT B.DETERMINING_FACTOR_NAME,
398                                             B.DETERMINING_FACTOR_DESC
399                                      FROM ZX_DET_FACTORS_TL B
400                                      WHERE B.DETERMINING_FACTOR_ID = T.DETERMINING_FACTOR_ID
401                                      AND B.LANGUAGE = T.SOURCE_LANG)
402     WHERE (T.DETERMINING_FACTOR_ID,
403            T.LANGUAGE) IN (SELECT SUBT.DETERMINING_FACTOR_ID,
404                                   SUBT.LANGUAGE
405                            FROM ZX_DET_FACTORS_TL SUBB,
406                                 ZX_DET_FACTORS_TL SUBT
407                            WHERE SUBB.DETERMINING_FACTOR_ID = SUBT.DETERMINING_FACTOR_ID
408                            AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
412                                  SUBT.DETERMINING_FACTOR_DESC IS NOT NULL) OR
409                            AND (SUBB.DETERMINING_FACTOR_NAME <> SUBT.DETERMINING_FACTOR_NAME OR
410                                 SUBB.DETERMINING_FACTOR_DESC <> SUBT.DETERMINING_FACTOR_DESC OR
411                                 (SUBB.DETERMINING_FACTOR_DESC IS NULL AND
413                                 (SUBB.DETERMINING_FACTOR_DESC IS NOT NULL AND
414                                  SUBT.DETERMINING_FACTOR_DESC IS NULL)));
415 
416   INSERT INTO ZX_DET_FACTORS_TL (DETERMINING_FACTOR_NAME,
417                                          DETERMINING_FACTOR_DESC,
418                                          CREATION_DATE,
419                                          CREATED_BY,
420                                          LAST_UPDATE_DATE,
421                                          LAST_UPDATED_BY,
422                                          LAST_UPDATE_LOGIN,
423                                          DETERMINING_FACTOR_ID,
424                                          LANGUAGE,
425                                          SOURCE_LANG)
426                                   SELECT /*+ ORDERED */
427                                          B.DETERMINING_FACTOR_NAME,
428                                          B.DETERMINING_FACTOR_DESC,
429                                          B.CREATION_DATE,
430                                          B.CREATED_BY,
431                                          B.LAST_UPDATE_DATE,
432                                          B.LAST_UPDATED_BY,
433                                          B.LAST_UPDATE_LOGIN,
434                                          B.DETERMINING_FACTOR_ID,
435                                          L.LANGUAGE_CODE,
436                                          B.SOURCE_LANG
437                                     FROM ZX_DET_FACTORS_TL B,
438                                          FND_LANGUAGES L
439                                     WHERE L.INSTALLED_FLAG IN ('I', 'B')
440                                     AND B.LANGUAGE = USERENV('LANG')
441                                     AND NOT EXISTS (SELECT NULL
442                                                     FROM ZX_DET_FACTORS_TL T
443                                                     WHERE T.DETERMINING_FACTOR_ID = B.DETERMINING_FACTOR_ID
444                                                     AND T.LANGUAGE = L.LANGUAGE_CODE);
445 
446   IF (g_level_procedure >= g_current_runtime_level ) THEN
447     FND_LOG.STRING(g_level_procedure,
448                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.ADD_LANGUAGE.END',
449                    'ZX_DETERMINING_FACTORS_PKG.ADD_LANGUAGE (-)');
450   END IF;
451 
452 END ADD_LANGUAGE;
453 
454 PROCEDURE INSERT_GEOGRAPHY_ROW
455      (X_DETERMINING_FACTOR_CLASS_COD            VARCHAR2,
456       X_DETERMINING_FACTOR_CODE                 VARCHAR2,
457       X_RECORD_TYPE_CODE                        VARCHAR2) IS
458     L_DETERMINING_FACTOR_ID                     NUMBER;
459     L_DET_FACTOR_NAME                           VARCHAR2(150);
460     X_ROWID				        ROWID;
461     CURSOR C IS
462       SELECT	ROWID
463       FROM 	ZX_DETERMINING_FACTORS_B
464       WHERE 	DETERMINING_FACTOR_CLASS_CODE = X_DETERMINING_FACTOR_CLASS_COD
465       AND 	DETERMINING_FACTOR_CODE = X_DETERMINING_FACTOR_CODE;
466 BEGIN
467   IF (g_level_procedure >= g_current_runtime_level ) THEN
468     FND_LOG.STRING(g_level_procedure,
469                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.INSERT_GEOGRAPHY_ROW.BEGIN',
470                    'ZX_DETERMINING_FACTORS_PKG.INSERT_GEOGRAPHY_ROW (+)');
471   END IF;
472 
473 OPEN C;
474   FETCH C INTO X_ROWID;
475   IF (C%NOTFOUND) THEN
476   BEGIN
477     SELECT Zx_Determining_Factors_B_S.nextval INTO L_DETERMINING_FACTOR_ID FROM DUAL;
478     /*Get the DETERMINING_FACTOR_NAME from HZ_GEOGRAPHIES for DETERMINING_FACTOR_CODE*/
479     SELECT GEOGRAPHY_TYPE_NAME INTO L_DET_FACTOR_NAME FROM HZ_GEOGRAPHY_TYPES_VL
480     WHERE GEOGRAPHY_TYPE = X_DETERMINING_FACTOR_CODE
481     AND GEOGRAPHY_USE= (DECODE(X_DETERMINING_FACTOR_CLASS_COD, 'GEOGRAPHY', 'MASTER_REF', 'TAX'))
482     AND ROWNUM = 1;
483   EXCEPTION
484     WHEN NO_DATA_FOUND THEN
485       RETURN;
486   END;
487   INSERT_ROW(
488 	X_ROWID,
489 	L_DETERMINING_FACTOR_ID,
490 	X_DETERMINING_FACTOR_CODE,
491 	X_DETERMINING_FACTOR_CLASS_COD,
492 	null,
493 	null,
494 	'NUMERIC',
495 	null,
496 	X_RECORD_TYPE_CODE,
497 	'N',
498 	'N',
499 	'Y',
500 	'N',
501 	'N',
502 	'Y',
503 	'N',
504 	FND_GLOBAL.CONC_LOGIN_ID,
505 	L_DET_FACTOR_NAME,
506 	null,
507 	SYSDATE,
508 	FND_GLOBAL.USER_ID,
509 	SYSDATE,
510 	FND_GLOBAL.USER_ID,
511 	FND_GLOBAL.CONC_LOGIN_ID,
512 	1);
513   END IF;
514     CLOSE C;
515   IF (g_level_procedure >= g_current_runtime_level ) THEN
516     FND_LOG.STRING(g_level_procedure,
517                    'ZX.PLSQL.ZX_DETERMINING_FACTORS_PKG.INSERT_GEOGRAPHY_ROW.END',
518                    'ZX_DETERMINING_FACTORS_PKG.INSERT_GEOGRAPHY_ROW (-)');
519   END IF;
520 
521 END INSERT_GEOGRAPHY_ROW;
522 
523 END ZX_DETERMINING_FACTORS_PKG;