DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKS_RULE_MIGRATE

Source


1 PACKAGE BODY OKS_RULE_MIGRATE AS
2 /* $Header: OKSRMIGB.pls 120.4 2006/08/02 23:37:28 tweichen noship $ */
3 
4 
5 -- Global vars to hold the min and max hdr_id for each sub-request range
6  type range_rec is record (
7  	lo number,
8 	hi number,
9 	jobno number);
10  type rangeArray is VARRAY(50) of range_rec;
11  range_arr rangeArray;
12  g_instance_id integer := 0;
13 --------------------------------------------------------------------------------
14 -------------- Global Varibale declarations for Rules Migration ----------------
15 --------------------------------------------------------------------------------
16 -- Global constant for the threshold count before splitting into sub-requests
17          MAX_SINGLE_REQUEST	NUMBER := 500;
18 
19 -- Global constant for the maximum allowed sub-requests (parallel workers)
20          MAX_JOBS		NUMBER := 30;
21 
22 --------------------------------------------------------------------------------
23 FUNCTION GET_DATA_VOLUME RETURN NUMBER IS
24 
25  CURSOR L_DATA_VOLUME_CSR IS
26  SELECT /*+ PARALLEL(L) */ COUNT(*)
27   FROM OKC_K_LINES_B L
28  WHERE LSE_ID IN (1,2,3,4,5,6,7,8,9,10,11,35, 12,13,14,15,16,17,18,19,20,21,22,23,24,46) ;
29  L_COUNT NUMBER;
30 BEGIN
31 
32  OPEN L_DATA_VOLUME_CSR ;
33  FETCH L_DATA_VOLUME_CSR INTO L_COUNT;
34  CLOSE L_DATA_VOLUME_CSR;
35  RETURN(NVL(L_COUNT,0));
36 
37 END GET_DATA_VOLUME;
38 
39 
40 
41 
42 --------------------------------------------------------------------------------------------
43 --             Generate Range and Split Function.                                         --
44 --------------------------------------------------------------------------------------------
45 
46 procedure split_range (
47  p_lo number,
48  p_hi number,
49  p_buckets number) is
50  -- splits range (p_lo=>p_hi) into p_buckets pieces and appends to VArrays.
51  l_lo number := p_lo;
52  l_idx1 number := range_arr.count + 1;
53  l_idx2 number := range_arr.count + p_buckets;
54  l_bucket_width integer;
55 begin
56   FND_FILE.PUT_LINE (FND_FILE.LOG, 'p_lo = '||p_lo );
57   FND_FILE.PUT_LINE (FND_FILE.LOG, 'p_hi = '||p_hi );
58   FND_FILE.PUT_LINE (FND_FILE.LOG, 'p_buckets = '||p_buckets );
59 
60   If p_buckets = 0 then
61      return;
62   End if;
63   if range_arr.count > 0 then
64      -- so we don't overlap high value of previous range
65      l_lo := p_lo + 1;
66   end if;
67 
68   l_bucket_width := (p_hi - l_lo) / p_buckets;
69 
70   range_arr.extend(p_buckets);
71 
72   for idx in l_idx1..l_idx2 loop
73       range_arr(idx).lo := l_lo + ((idx - l_idx1) * l_bucket_width);
74       if idx < l_idx2 then
75 	 range_arr(idx).hi := range_arr(idx).lo + l_bucket_width -1;
76       else
77 	range_arr(idx).hi := p_hi;
78       end if;
79   end loop;
80 end split_range;
81 
82 function generate_ranges (
83      p_lo  IN number,
84      p_hi  IN number,
85      p_avg In number,
86      p_stddev IN number,
87      p_total  IN number,
88      p_sub_requests IN number) return integer is
89 
90  l_total_buckets integer := 0;
91  l_stdlo number := greatest(round(p_avg - p_stddev), p_lo);
92  l_stdhi number := least(round(p_avg + p_stddev), p_hi);
93  l_stddev_percent number   := 0.66;  -- the area covered by +/-1 stddev
94 
95 
96  l_outlier_buckets integer := 0;
97  l_std_buckets integer     := 0;
98  l_lo_buckets integer      := 0;
99  l_hi_buckets integer      := 0;
100  l_outlier_entries_per_bucket number := 0;
101  modidx integer;
102 begin
103   range_arr := rangeArray();
104 
105   --l_total_buckets := greatest(nvl(p_sub_requests,3), least(p_total/MAX_SINGLE_REQUEST, MAX_JOBS));
106     l_total_buckets := greatest(p_sub_requests,2);
107   l_outlier_buckets := l_total_buckets * (1 - l_stddev_percent);
108   if l_outlier_buckets > 0 then
109      l_outlier_entries_per_bucket := p_total * (1 - l_stddev_percent)
110                                                   / l_outlier_buckets ;
111   end if;
112 
113   for idx in 1..l_outlier_buckets
114   loop
115        modidx := mod(idx,2);
116        -- alternate assignment between hi and lo buckets
117        if modidx = 1
118           AND (p_hi - (l_hi_buckets+1) * l_outlier_entries_per_bucket)
119           > l_stdhi then
120                -- allocate buckets for positive outliers
121                l_hi_buckets := l_hi_buckets + 1;
122        elsif modidx = 0
123           AND (p_lo + (l_lo_buckets+1) * l_outlier_entries_per_bucket)
124           < l_stdlo then
125                -- allocate buckets for negative outliers
126                l_lo_buckets := l_lo_buckets + 1;
127           -- else min or max has been consumed, save bucket for middle
128       end if;
129   end loop;
130 
131   -- compute middle buckets
132   l_std_buckets := l_total_buckets - l_lo_buckets - l_hi_buckets;
133 
134   -- in case low-high allocations yielded zero buckets.
135   -- i.e., outliers were folded into middle buckets.
136   if l_lo_buckets = 0 then
137        l_stdlo := p_lo;
138   end if;
139   if l_hi_buckets = 0 then
140        l_stdhi := p_hi;
141   end if;
142 
143   -- ranges for negative outliers
144   split_range(p_lo, l_stdlo, l_lo_buckets);
145   -- ranges for +/-1 stddev from mean
146   split_range(l_stdlo, l_stdhi, l_std_buckets);
147   -- ranges for positive outliers
148   split_range(l_stdhi, p_hi, l_hi_buckets);
149 
150   return l_total_buckets;
151 end generate_ranges;
152 
153 
154 
155 ------------------------------------------------------------------------------------------------------------
156 ------------------------------------------------------------------------------------------------------------
157 ------                     Rule Migration new process code starts from here                              ---
158 ------------------------------------------------------------------------------------------------------------
159 ------------------------------------------------------------------------------------------------------------
160 
161 
162 PROCEDURE UPDATE_RULE_RECORD(
163      P_ID                 IN NUMBER,
164      P_COLUMN_NAME        IN VARCHAR2,
165      P_NEW_VALUE          IN VARCHAR2,
166      P_CURRENT_VALUE      IN VARCHAR2,
167      P_RULE_INFO_CATEGORY IN VARCHAR2,
168      P_ROW_ID             IN VARCHAR2,
169      P_MAJOR_VERSION      IN NUMBER,
170      X_RETURN_STATUS      OUT NOCOPY VARCHAR2,
171      X_ERROR_MSG          OUT NOCOPY VARCHAR2) is
172 
173  L_STMT  varchar2(2000);
174  L_STMT1 varchar2(2000);
175 
176 BEGIN
177   X_RETURN_STATUS := 'S' ;
178 
179   IF(P_MAJOR_VERSION IS NULL) THEN
180 
181     L_STMT := 'UPDATE OKC_RULES_B SET '|| P_COLUMN_NAME ||
182               ' =  :1 ' || ' WHERE ID = :2 AND RULE_INFORMATION_CATEGORY = :3 ';
183     EXECUTE IMMEDIATE L_STMT USING  P_NEW_VALUE , P_ID , P_RULE_INFO_CATEGORY;
184 
185   ELSE
186 
187     L_STMT := 'UPDATE OKC_RULES_BH SET '|| P_COLUMN_NAME ||
188               ' =  :1 ' || ' WHERE ID = :2 AND RULE_INFORMATION_CATEGORY = :3
189 	      AND MAJOR_VERSION = :4';
190 
191     EXECUTE IMMEDIATE L_STMT USING  P_NEW_VALUE , P_ID , P_RULE_INFO_CATEGORY,P_MAJOR_VERSION;
192 
193   END IF;
194 
195   L_STMT1 := 'UPDATE OKS_RULE_ERROR SET NEW_VALUE = :1 ' ||
196               ' WHERE ROWID = '|| ''''||P_ROW_ID || '''' ;
197 
198   EXECUTE IMMEDIATE L_STMT1 USING  P_NEW_VALUE;
199 
200   X_RETURN_STATUS := 'S';
201 
202 EXCEPTION
203 WHEN OTHERS THEN
204   X_RETURN_STATUS := 'E' ;
205   X_ERROR_MSG     := SQLERRM;
206 
207 
208 END UPDATE_RULE_RECORD;
209 
210 
211 --------------------------------------------------------------------------------------------
212 -- This is the main procedure called from validate rule Concurrent request .              --
213 --------------------------------------------------------------------------------------------
214 
215 Procedure Validate_data1 (
216     ERRBUF            OUT  NOCOPY VARCHAR2,
217     RETCODE           OUT  NOCOPY NUMBER,
218     P_STATUS          IN   VARCHAR2,
219     P_ORG_ID          IN   NUMBER,
220     P_LEVEL           IN VARCHAR2,
221     P_SUB_REQUESTS    IN NUMBER,
222     P_BATCH_SIZE      IN NUMBER )
223 IS
224 
225   Cursor l_hdr_agg_csr1 IS
226   Select /*+ PARALLEL(rgp) */
227          min(rgp.id) minid,
228          max(rgp.id) maxid,
229          avg(rgp.id) avgid,
230          stddev(rgp.id) stdid,
231          count(*) total
232     From OKC_RULE_GROUPS_B rgp ;
233 
234   Cursor l_hdr_agg_csr2 IS
235   Select /*+ PARALLEL(hdr) */
236          min(hdr.id) minid,
237          max(hdr.id) maxid,
238          avg(hdr.id) avgid,
239          stddev(hdr.id) stdid,
240          count(*) total
241     From OKC_K_HEADERS_B Hdr;
242 
243   Cursor l_hdr_agg_csr3 IS
244   Select /*+ PARALLEL(rgp) */
245          min(rgp.id) minid,
246          max(rgp.id) maxid,
247          avg(rgp.id) avgid,
248          stddev(rgp.id) stdid,
249          count(*) total
250     From OKC_RULE_GROUPS_BH rgp ;
251 
252   Cursor l_hdr_agg_csr4 IS
253   Select /*+ PARALLEL(hdr) */
254          min(hdr.id) minid,
255          max(hdr.id) maxid,
256          avg(hdr.id) avgid,
257          stddev(hdr.id) stdid,
258          count(*) total
259     From OKC_K_HEADERS_BH Hdr;
260 
261   l_hdr_agg_rec l_hdr_agg_csr1%ROWTYPE;
262 
263   -----------------------------------------------------------------
264   --  Variable declaration for report                            --
265   -----------------------------------------------------------------
266   CURSOR L_REPORT_CSR IS
267   SELECT OKS1.CONTRACT_NUMBER
268        , OKS1.CONTRACT_NUMBER_MODIFIER
269        , OKS1.LINE_NUMBER
270        , OKS1.MAJOR_VERSION
271        , OKS1.ATTRIBUTE_NAME
272        , OKS1.ATTRIBUTE_VALUE
273    FROM OKS_RULE_ERROR OKS1;
274 
275    CURSOR L_LEVEL IS
276    SELECT MEANING
277    FROM FND_LOOKUPS
278    WHERE LOOKUP_TYPE='OKS_VAL_LOOKUP'
279    AND LOOKUP_CODE=P_LEVEL;
280 
281 
282 TYPE L_CHR_TBL IS TABLE OF  CHAR(50) INDEX  By BINARY_INTEGER ;
283 TYPE L_CHR1_TBL IS TABLE OF  CHAR(20) INDEX  By BINARY_INTEGER ;
284 TYPE L_CHR2_TBL IS TABLE OF  CHAR(50) INDEX  By BINARY_INTEGER ;
285 TYPE L_CHR3_TBL IS TABLE OF  CHAR(100) INDEX  By BINARY_INTEGER ;
286 
287  L_CONTRACT_NUMBER L_CHR_TBL;
288  L_MODIFIER        L_CHR_TBL;
289  L_LINE_NUMBER     L_CHR1_TBL;
290  L_MAJOR_VERSION   L_CHR1_TBL;
291  L_ATTRIBUTE_NAME  L_CHR2_TBL;
292  L_ATTRIBUTE_VALUE L_CHR3_TBL;
293 ----------------------------------------------------------------
294  l_sub_requests        INTEGER ;
295  ip_sub_requests       INTEGER ;
296  l_batch_size          INTEGER ;
297  l_ret                 INTEGER;
298  trunc_curs            INTEGER;
299  rc                    INTEGER;
300  plevel_msg            VARCHAR2(50);
301  Contract_Number_msg   VARCHAR2(50);
302  Modifier_msg          VARCHAR2(50);
303  Major_Version_msg     VARCHAR2(50);
304  Line_Number_msg       VARCHAR2(50);
305  Attribute_Name_msg    VARCHAR2(50);
306  Current_Value_msg     VARCHAR2(50);
307  Validation_Report_msg VARCHAR2(50);
308  l_truncate_string     varchar2(2000);
309 
310 
311  ---------Variables for collecting table stats -----------------
312  L_RETURN_CODE          VARCHAR2(100);
313  L_ERROR_BUFFER         VARCHAR2(2000);
314 
315 
316  ----------------------------------------------------------------
317 ----------For NLS Numeric Characters---------------------------
318 -----------------------------------------------------------------
319 l_format varchar2(200);
320 l_us_yn VARCHAR2(30);
321 
322 CURSOR l_nls_csr is
323 select   c.profile_option_value
324   from   fnd_profile_options p,
325          fnd_profile_option_values c
326  where  p.profile_option_name = 'ICX_NUMERIC_CHARACTERS'
327    and    p.start_date_active  <= sysdate
328    and    nvl(p.end_date_active, sysdate) >= sysdate
329    and    c.profile_option_id = p.profile_option_id
330    and    c.application_id    = p.application_id
331    and    c.level_id          = 10001
332    and    c.level_value       = 0;
333 ------------------------------------------------------------------
334 
335 
336 BEGIN
337  FND_FILE.PUT_LINE (FND_FILE.LOG, '-------------------------------------------------------------------------------');
338  FND_FILE.PUT_LINE (FND_FILE.LOG, '           START OF LOG FOR THE MAIN PROCEDURE                                 ');
339  FND_FILE.PUT_LINE (FND_FILE.LOG, '-------------------------------------------------------------------------------');
340  FND_FILE.PUT_LINE (FND_FILE.LOG, '----------Parameters passed to the Concurrent Request are as follows-----------');
341  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_STATUS ==============> '||P_STATUS);
342  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ORG_ID ==============> '||P_ORG_ID);
343  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_LEVEL  ==============> '||P_LEVEL);
344  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_SUB_REQUESTS ========> '||P_SUB_REQUESTS);
345  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_BATCH_SIZE  =========> '||P_BATCH_SIZE);
346  FND_FILE.PUT_LINE (FND_FILE.LOG, '-------------------------------------------------------------------------------');
347 
348  IF P_SUB_REQUESTS IS NULL OR P_SUB_REQUESTS > 30 OR P_SUB_REQUESTS = 0 then
349   ip_sub_requests := 30 ;
350  ELSE
351   ip_sub_requests := p_sub_requests ;
352  END IF;
353 
354  IF p_batch_size is null or p_batch_size > 10000 or p_batch_size = 0 then
355    l_batch_size := 10000;
356  ELSE
357    l_batch_size := p_batch_size;
358  END IF;
359 
360  open L_LEVEL;
361  fetch L_LEVEL into plevel_msg;
362  close L_LEVEL;
363 
364  FND_MESSAGE.CLEAR;
365  FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONTRACT_NO');
366  Contract_Number_msg := FND_MESSAGE.GET;
367 
368  FND_MESSAGE.CLEAR;
369  FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MODIFIER');
370  Modifier_msg := FND_MESSAGE.GET;
371 
372  FND_MESSAGE.CLEAR;
373  FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MAJOR_VERSION');
374  Major_Version_msg := FND_MESSAGE.GET;
375 
376  FND_MESSAGE.CLEAR;
377  FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LINE_NUMBER');
378  Line_Number_msg := FND_MESSAGE.GET;
379 
380  FND_MESSAGE.CLEAR;
381  FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ATTRIBUTE_NAME');
382  Attribute_Name_msg := FND_MESSAGE.GET;
383 
384  FND_MESSAGE.CLEAR;
385  FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CURRENT_VALUE');
386  Current_Value_msg := FND_MESSAGE.GET;
387 
388  FND_MESSAGE.CLEAR;
389  FND_MESSAGE.SET_NAME('OKS','OKS_VAL_VALIDATION_REPORT');
390  Validation_Report_msg := FND_MESSAGE.GET;
391 
392  open  l_nls_csr;
393  fetch l_nls_csr into l_format;
394  close l_nls_csr;
395  if SUBSTR(l_format,0,1) = ',' THEN
396     l_us_yn := 'false';
397  else
398     l_us_yn := 'true';
399  end if;
400 
401 l_truncate_string := 'TRUNCATE TABLE ' ;
402 l_truncate_string := l_truncate_string || 'OKS';
403 l_truncate_string := l_truncate_string || '.OKS_RULE_ERROR';
404 
405 
406 IF P_LEVEL = 'HDR'  THEN
407    -------------------------------------------------------------------------------------------
408    --                  Code to validate the Header rule.                                    --
409    -------------------------------------------------------------------------------------------
410       IF (FND_CONC_GLOBAL.request_data is null)  THEN
411 
412          trunc_curs := DBMS_SQL.OPEN_CURSOR;
413          DBMS_SQL.PARSE(trunc_curs,l_truncate_string,dbms_sql.native);
414 	    rc := dbms_sql.execute(trunc_curs);
415          DBMS_SQL.CLOSE_CURSOR(trunc_curs);
416 
417 
418          If (p_status is null and p_org_id is null ) then
419             -- The following csr is on OKC_RULE_GROUPS_B
420             open  l_hdr_agg_csr1;
421             fetch l_hdr_agg_csr1 into l_hdr_agg_rec;
422             close l_hdr_agg_csr1;
423 
424             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr1' );
425             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
426             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
427             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
428             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
429             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
430 
431             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
432                                               l_hdr_agg_rec.maxid,
433                                               l_hdr_agg_rec.avgid,
434                                               l_hdr_agg_rec.stdid,
435                                               l_hdr_agg_rec.total,
436                                               nvl(ip_sub_requests,30));
437 
438             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
439 
440          Else
441             -- The following csr is on OKC_K_HEADERS_B
442             open  l_hdr_agg_csr2;
443             fetch l_hdr_agg_csr2 into l_hdr_agg_rec;
444             close l_hdr_agg_csr2;
445 
446             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr2' );
447             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
448             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
449             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
450             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
451             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
452 
453             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
454                                               l_hdr_agg_rec.maxid,
455                                               l_hdr_agg_rec.avgid,
456                                               l_hdr_agg_rec.stdid,
457                                               l_hdr_agg_rec.total,
458                                               nvl(ip_sub_requests,30));
459             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
460 
461          End If;
462 
463          FOR idx in reverse 1..l_sub_requests
464          LOOP
465             l_ret := FND_REQUEST.submit_request('OKS',
466                                              'OKS_VALIDATE_HDR_RULE_DATA1',
467                                               to_char(idx), -- UI job display
468                                               null,
469                                               TRUE, -- TRUE means isSubRequest
470                                               p_status,
471                                               p_org_id,
472                                               nvl(l_batch_size,10000),
473 					      l_us_yn,
474                                               range_arr(idx).lo,
475                                               range_arr(idx).hi);
476 
477            IF (l_ret = 0) then
478                errbuf := fnd_message.get;
479                retcode := 2;
480                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request failed to submit: ' || errbuf);
481                return;
482            ELSE
483                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' submitted');
484                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' p_low_id ==> '|| range_arr(idx).lo || ' l_hig_id ==> '||range_arr(idx).hi );
485            END IF;
486          END LOOP;
487          FND_CONC_GLOBAL.set_req_globals(conc_status => 'PAUSED',
488                                          request_data => to_char(l_sub_requests));
489              errbuf := to_char(l_sub_requests) || ' sub-requests submitted';
490              retcode := 0;
491              return;
492      End If;
493    -------------------------------------------------------------------------------------------
494    --                  Code to validate the Header rule ends here .                         --
495    -------------------------------------------------------------------------------------------
496 ELSIF P_LEVEL = 'HDRH' THEN
497    -------------------------------------------------------------------------------------------
498    --                  Code to validate the Header History rule.                             --
499    -------------------------------------------------------------------------------------------
500      IF (FND_CONC_GLOBAL.request_data is null) THEN
501 
502          trunc_curs := DBMS_SQL.OPEN_CURSOR;
503          DBMS_SQL.PARSE(trunc_curs,l_truncate_string,dbms_sql.native);
504 	    rc := dbms_sql.execute(trunc_curs);
505          DBMS_SQL.CLOSE_CURSOR(trunc_curs);
506 
507          If (p_status is null and p_org_id is null ) then
508             -- The following csr is on OKC_RULE_GROUPS_BH
509             open  l_hdr_agg_csr3;
510             fetch l_hdr_agg_csr3 into l_hdr_agg_rec;
511             close l_hdr_agg_csr3;
512 
513             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr3' );
514             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
515             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
516             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
517             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
518             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
519 
520             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
521                                               l_hdr_agg_rec.maxid,
522                                               l_hdr_agg_rec.avgid,
523                                               l_hdr_agg_rec.stdid,
524                                               l_hdr_agg_rec.total,
525                                               nvl(ip_sub_requests,30));
526             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
527          Else
528             -- The following csr is on OKC_K_HEADERS_BH
529             open  l_hdr_agg_csr4;
530             fetch l_hdr_agg_csr4 into l_hdr_agg_rec;
531             close l_hdr_agg_csr4;
532 
533             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr4' );
534             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
535             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
536             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
537             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
538             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
539 
540             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
541                                               l_hdr_agg_rec.maxid,
542                                               l_hdr_agg_rec.avgid,
543                                               l_hdr_agg_rec.stdid,
544                                               l_hdr_agg_rec.total,
545                                               nvl(ip_sub_requests,30));
546             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
547          End If;
548          FOR idx in reverse 1..l_sub_requests
549          LOOP
550             l_ret := FND_REQUEST.submit_request('OKS',
551                                              'OKS_VALIDATE_HDRH_RULE_DATA1',
552                                               to_char(idx), -- UI job display
553                                               null,
554                                               TRUE, -- TRUE means isSubRequest
555                                               p_status,
556                                               p_org_id,
557                                               nvl(l_batch_size,10000),
558 					      l_us_yn,
559                                               range_arr(idx).lo,
560                                               range_arr(idx).hi);
561 
562            IF (l_ret = 0) then
563                errbuf := fnd_message.get;
564                retcode := 2;
565                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request failed to submit: ' || errbuf);
566                return;
567            ELSE
568                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' submitted');
569                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' p_low_id ==> '|| range_arr(idx).lo || ' l_hig_id ==> '||range_arr(idx).hi );
570            END IF;
571          END LOOP;
572          FND_CONC_GLOBAL.set_req_globals(conc_status => 'PAUSED',
573                                          request_data => to_char(l_sub_requests));
574              errbuf := to_char(l_sub_requests) || ' sub-requests submitted';
575              retcode := 0;
576              return;
577      End If;
578 
579 
580 
581    -------------------------------------------------------------------------------------------
582    --                  Code to validate the Header History rule ends here .                 --
583    -------------------------------------------------------------------------------------------
584 
585 ELSIF P_LEVEL = 'LINE' THEN
586    -------------------------------------------------------------------------------------------
587    --                  Code to validate the Line rule.                                      --
588    -------------------------------------------------------------------------------------------
589       IF (FND_CONC_GLOBAL.request_data is null)  THEN
590 
591          trunc_curs := DBMS_SQL.OPEN_CURSOR;
592          DBMS_SQL.PARSE(trunc_curs,l_truncate_string,dbms_sql.native);
593 	    rc := dbms_sql.execute(trunc_curs);
594          DBMS_SQL.CLOSE_CURSOR(trunc_curs);
595 
596          If (p_status is null and p_org_id is null ) then
597             -- The following csr is on OKC_RULE_GROUPS_B
598             open  l_hdr_agg_csr1;
599             fetch l_hdr_agg_csr1 into l_hdr_agg_rec;
600             close l_hdr_agg_csr1;
601 
602             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr1' );
603             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
604             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
605             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
606             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
607             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
608 
609             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
610                                               l_hdr_agg_rec.maxid,
611                                               l_hdr_agg_rec.avgid,
612                                               l_hdr_agg_rec.stdid,
613                                               l_hdr_agg_rec.total,
614                                               nvl(ip_sub_requests,30));
615             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
616          Else
617             -- The following csr is on OKC_K_HEADERS_B
618             open  l_hdr_agg_csr2;
619             fetch l_hdr_agg_csr2 into l_hdr_agg_rec;
620             close l_hdr_agg_csr2;
621 
622             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr2' );
623             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
624             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
625             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
626             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
627             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
628 
629             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
630                                               l_hdr_agg_rec.maxid,
631                                               l_hdr_agg_rec.avgid,
632                                               l_hdr_agg_rec.stdid,
633                                               l_hdr_agg_rec.total,
634                                               nvl(ip_sub_requests,30));
635             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
636          End If;
637 	 FOR idx in reverse 1..l_sub_requests
638          LOOP
639             l_ret := FND_REQUEST.submit_request('OKS',
640                                              'OKS_VALIDATE_LINE_RULE_DATA1',
641                                               to_char(idx), -- UI job display
642                                               null,
643                                               TRUE, -- TRUE means isSubRequest
644                                               p_status,
645                                               p_org_id,
646                                               nvl(l_batch_size,10000),
647 					      l_us_yn,
648                                               range_arr(idx).lo,
649                                               range_arr(idx).hi);
650 
651            IF (l_ret = 0) then
652                errbuf := fnd_message.get;
653                retcode := 2;
654                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request failed to submit: ' || errbuf);
655                return;
656            ELSE
657                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' submitted');
658                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' p_low_id ==> '|| range_arr(idx).lo || ' l_hig_id ==> '||range_arr(idx).hi );
659            END IF;
660          END LOOP;
661          FND_CONC_GLOBAL.set_req_globals(conc_status => 'PAUSED',
662                                          request_data => to_char(l_sub_requests));
663              errbuf := to_char(l_sub_requests) || ' sub-requests submitted';
664              retcode := 0;
665              return;
666       End If;
667    -------------------------------------------------------------------------------------------
668    --                  Code to validate the Line rule ends here .                         --
669    -------------------------------------------------------------------------------------------
670 ELSIF P_LEVEL = 'LINEH' THEN
671    -------------------------------------------------------------------------------------------
672    --                  Code to validate the Line History rule.                              --
673    -------------------------------------------------------------------------------------------
674       IF (FND_CONC_GLOBAL.request_data is null) THEN
675 
676          trunc_curs := DBMS_SQL.OPEN_CURSOR;
677          DBMS_SQL.PARSE(trunc_curs,l_truncate_string,dbms_sql.native);
678 	    rc := dbms_sql.execute(trunc_curs);
679          DBMS_SQL.CLOSE_CURSOR(trunc_curs);
680 
681          If (p_status is null and p_org_id is null ) then
682             -- The following csr is on OKC_RULE_GROUPS_B
683             open  l_hdr_agg_csr3;
684             fetch l_hdr_agg_csr3 into l_hdr_agg_rec;
685             close l_hdr_agg_csr3;
686 
687             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr3' );
688             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
689             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
690             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
691             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
692             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
693 
694             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
695                                               l_hdr_agg_rec.maxid,
696                                               l_hdr_agg_rec.avgid,
697                                               l_hdr_agg_rec.stdid,
698                                               l_hdr_agg_rec.total,
699                                               nvl(ip_sub_requests,30));
700             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
701          Else
702             -- The following csr is on OKC_K_HEADERS_B
703             open  l_hdr_agg_csr4;
704             fetch l_hdr_agg_csr4 into l_hdr_agg_rec;
705             close l_hdr_agg_csr4;
706 
707             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr4' );
708             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
709             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
710             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
711             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
712             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
713 
714             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
715                                               l_hdr_agg_rec.maxid,
716                                               l_hdr_agg_rec.avgid,
717                                               l_hdr_agg_rec.stdid,
718                                               l_hdr_agg_rec.total,
719                                               nvl(ip_sub_requests,30));
720             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
721          End If;
722 
723          FOR idx in reverse 1..l_sub_requests
724          LOOP
725             l_ret := FND_REQUEST.submit_request('OKS',
726                                              'OKS_VALIDATE_LINEH_RULE_DATA1',
727                                               to_char(idx), -- UI job display
728                                               null,
729                                               TRUE, -- TRUE means isSubRequest
730                                               p_status,
731                                               p_org_id,
732                                               nvl(l_batch_size,10000),
733 					      l_us_yn,
734                                               range_arr(idx).lo,
735                                               range_arr(idx).hi);
736 
737            IF (l_ret = 0) then
738                errbuf := fnd_message.get;
739                retcode := 2;
740                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request failed to submit: ' || errbuf);
741                return;
742            ELSE
743                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' submitted');
744                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' p_low_id ==> '|| range_arr(idx).lo || ' l_hig_id ==> '||range_arr(idx).hi );
745            END IF;
746          END LOOP;
747          FND_CONC_GLOBAL.set_req_globals(conc_status => 'PAUSED',
748                                          request_data => to_char(l_sub_requests));
749              errbuf := to_char(l_sub_requests) || ' sub-requests submitted';
750              retcode := 0;
751              return;
752       End If;
753    -------------------------------------------------------------------------------------------
754    --                  Code to validate the ALL rules ends here .                   --
755    -------------------------------------------------------------------------------------------
756 
757 ELSIF P_LEVEL = 'ALL' THEN
758    -------------------------------------------------------------------------------------------
759    --                  Code to validate the ALL rules.                              --
760    -------------------------------------------------------------------------------------------
761       IF (FND_CONC_GLOBAL.request_data is null) THEN
762 
763          trunc_curs := DBMS_SQL.OPEN_CURSOR;
764          DBMS_SQL.PARSE(trunc_curs,l_truncate_string,dbms_sql.native);
765 	    rc := dbms_sql.execute(trunc_curs);
766          DBMS_SQL.CLOSE_CURSOR(trunc_curs);
767 
768 
769          If (p_status is null and p_org_id is null ) then
770             -- The following csr is on OKC_RULE_GROUPS_BH
771             open  l_hdr_agg_csr3;
772             fetch l_hdr_agg_csr3 into l_hdr_agg_rec;
773             close l_hdr_agg_csr3;
774 
775             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr3' );
776             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
777             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
778             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
779 
780          Else
781             -- The following csr is on OKC_K_HEADERS_BH
782             open  l_hdr_agg_csr4;
783             fetch l_hdr_agg_csr4 into l_hdr_agg_rec;
784             close l_hdr_agg_csr4;
785 
786             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr4' );
787             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
788             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
789             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
790          End If;
791 
792 
793          l_ret := FND_REQUEST.submit_request('OKS',
794                                              'OKS_VALIDATE_ALL_HISTORY',
795                                               to_char(ip_sub_requests), -- UI job display
796                                               null,
797                                               TRUE, -- TRUE means isSubRequest
798                                               p_status,
799                                               p_org_id,
800                                               nvl(l_batch_size,10000),
801 					      l_us_yn,
802                                               l_hdr_agg_rec.minid,
803                                               l_hdr_agg_rec.maxid);
804 
805          IF (l_ret = 0) then
806              errbuf := fnd_message.get;
807              retcode := 2;
808              FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request failed to submit: ' || errbuf);
809              return;
810          ELSE
811              FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' submitted');
812              FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' p_low_id ==> '|| l_hdr_agg_rec.minid || ' l_hig_id ==> '||l_hdr_agg_rec.maxid );
813          END IF;
814 
815 
816 
817          If (p_status is null and p_org_id is null ) then
818             -- The following csr is on OKC_RULE_GROUPS_B
819             open  l_hdr_agg_csr1;
820             fetch l_hdr_agg_csr1 into l_hdr_agg_rec;
821             close l_hdr_agg_csr1;
822 
823             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr1' );
824             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
825             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
826             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
827             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
828             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
829 
830             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
831                                               l_hdr_agg_rec.maxid,
832                                               l_hdr_agg_rec.avgid,
833                                               l_hdr_agg_rec.stdid,
834                                               l_hdr_agg_rec.total,
835                                               nvl(ip_sub_requests-1,30));
836             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
837          Else
838             -- The following csr is on OKC_K_HEADERS_B
839             open  l_hdr_agg_csr2;
840             fetch l_hdr_agg_csr2 into l_hdr_agg_rec;
841             close l_hdr_agg_csr2;
842 
843             FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_agg_csr2' );
844             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.minid = '|| l_hdr_agg_rec.minid );
845             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.maxid = '|| l_hdr_agg_rec.maxid );
846             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.avgid = '|| l_hdr_agg_rec.avgid );
847             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.stdid = '|| l_hdr_agg_rec.stdid );
848             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_hdr_agg_re.total = '|| l_hdr_agg_rec.total );
849 
850             l_sub_requests := generate_ranges(l_hdr_agg_rec.minid,
851                                               l_hdr_agg_rec.maxid,
852                                               l_hdr_agg_rec.avgid,
853                                               l_hdr_agg_rec.stdid,
854                                               l_hdr_agg_rec.total,
855                                               nvl(ip_sub_requests-1,30));
856             FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_sub_requests = '|| l_sub_requests );
857          End If;
858 
859          FOR idx in reverse 1..l_sub_requests
860          LOOP
861             l_ret := FND_REQUEST.submit_request('OKS',
862                                              'OKS_VALIDATE_ALL',
863                                               to_char(idx), -- UI job display
864                                               null,
865                                               TRUE, -- TRUE means isSubRequest
866                                               p_status,
867                                               p_org_id,
868                                               nvl(l_batch_size,10000),
869 					      l_us_yn,
870                                               range_arr(idx).lo,
871                                               range_arr(idx).hi);
872 
873            IF (l_ret = 0) then
874                errbuf := fnd_message.get;
875                retcode := 2;
876                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request failed to submit: ' || errbuf);
877                return;
878            ELSE
879                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' submitted');
880                FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sub-request '||to_char(l_ret)||' p_low_id ==> '|| range_arr(idx).lo || ' l_hig_id ==> '||range_arr(idx).hi );
881            END IF;
882          END LOOP;
883 
884 
885          FND_CONC_GLOBAL.set_req_globals(conc_status => 'PAUSED',
886                                          request_data => to_char(l_sub_requests));
887              errbuf := to_char(l_sub_requests) || ' sub-requests submitted';
888              retcode := 0;
889              return;
890       End If;
891    -------------------------------------------------------------------------------------------
892    --                  Code to validate ALL rules ends here .                   --
893    -------------------------------------------------------------------------------------------
894 
895 END IF;
896    -------------------------------------------------------------------------------------------
897    --                      Code to generate the output report                               --
898    -------------------------------------------------------------------------------------------
899    OPEN L_REPORT_CSR ;
900    FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,rpad('-',289,'-'));
901    FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,rpad(' ',119,' ')|| plevel_msg ||' '||Validation_Report_msg||rpad(' ',119,' '));
902    FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,rpad('-',289,'-'));
903    FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,Contract_Number_msg||rpad(' ',35,' ')||Modifier_msg||rpad(' ',42,' ')||Major_Version_msg||rpad(' ',7,' ')||Line_Number_msg||rpad(' ',9,' ')||Attribute_Name_msg||rpad(' ',36,' ')||Current_Value_msg);
904 
905    LOOP
906 
907      FETCH L_REPORT_CSR BULK COLLECT INTO L_CONTRACT_NUMBER
908                                         , L_MODIFIER
909                                         , L_LINE_NUMBER
910                                         , L_MAJOR_VERSION
911                                         , L_ATTRIBUTE_NAME
912                                         , L_ATTRIBUTE_VALUE LIMIT 7000;
913      EXIT WHEN L_CONTRACT_NUMBER.COUNT = 0;
914 
915      FOR I IN L_CONTRACT_NUMBER.FIRST..L_CONTRACT_NUMBER.LAST
916      LOOP
917           FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,L_CONTRACT_NUMBER(I)||rpad(nvl(L_MODIFIER(I),'---------------'),50,' ')||
918 	 rpad(nvl(L_MAJOR_VERSION(I),'-----'),20,' ')||rpad(nvl(L_LINE_NUMBER(I),'-----'),20,' ')||L_ATTRIBUTE_NAME(I)||L_ATTRIBUTE_VALUE(I));
919 
920      END LOOP;
921      L_CONTRACT_NUMBER.DELETE;
922 
923    END LOOP;
924 
925    If(L_REPORT_CSR%ISOPEN) THEN
926 	Close  L_REPORT_CSR;
927    END IF;
928 
929   ----------------------------------------------------------------------------------------------------
930   ---                  Added the following code to analyze the OKS_RULE_ERROR table                ---
931   ----------------------------------------------------------------------------------------------------
932   FND_STATS.Gather_Table_Stats(OWNNAME =>'OKS',
933                                TABNAME =>'OKS_RULE_ERROR',
934                                PERCENT => 20,
935                                RETCODE => l_return_code,
936                                ERRBUF  => l_error_buffer);
937 
938   ----------------------------------------------------------------------------------------------------
939 
940 EXCEPTION
941 
942      WHEN UTL_FILE.INVALID_PATH THEN
943           FND_FILE.PUT_LINE (FND_FILE.LOG, 'FILE LOCATION OR NAME WAS INVALID');
944           NULL;
945      WHEN UTL_FILE.INVALID_MODE THEN
946           FND_FILE.PUT_LINE (FND_FILE.LOG, 'FILE OPEN MODE STRING WAS INVALID');
947           NULL;
948      WHEN UTL_FILE.INVALID_FILEHANDLE THEN
949           FND_FILE.PUT_LINE (FND_FILE.LOG, 'FILE HANDLE WAS INVALID');
950           NULL;
951      WHEN UTL_FILE.INVALID_OPERATION THEN
952           FND_FILE.PUT_LINE (FND_FILE.LOG, 'FILE IS NOT OPEN FOR WRITTING');
953           NULL;
954      WHEN UTL_FILE.WRITE_ERROR THEN
955           FND_FILE.PUT_LINE (FND_FILE.LOG, 'OS ERROR OCCURRED DURING WRITE OPERATION');
956           NULL;
957 
958 End Validate_data1;
959 
960 --------------------------------------------------------------------------------------------
961 --    This is the procedure called from VALIDATE_DATA1 to validate HDR rule data           --
962 --------------------------------------------------------------------------------------------
963 Procedure VALIDATE_HDR_RULE(
964                             ERRBUF            OUT NOCOPY VARCHAR2 ,
965                             RETCODE           OUT NOCOPY NUMBER ,
966                             p_status          in VARCHAR2,
967                             p_org_id          in NUMBER ,
968                             p_batch_size      in NUMBER,
969 			    p_us_yn           in VARCHAR2,
970                             p_id_low          in NUMBER,
971                             p_id_hig          in NUMBER)
972 IS
973 
974 Type l_num_tbl is table of  NUMBER         index  by BINARY_INTEGER ;
975 Type l_date_tbl is table of DATE           index  by BINARY_INTEGER ;
976 Type l_chr_tbl is table of  VARCHAR2(2000) index  by BINARY_INTEGER ;
977 
978 
979 ID                        l_num_tbl ;
980 CHR_ID                    l_num_tbl ;
981 DNZ_CHR_ID                l_num_tbl ;
982 ACCT_RULE_ID              l_num_tbl ;
983 PAYMENT_TYPE              L_CHR_TBL ;
984 CC_NO                     l_chr_tbl ;
985 CC_EXPIRY_DATE            l_date_tbl;
986 CC_BANK_ACCT_ID           l_num_tbl ;
987 CC_AUTH_CODE              l_chr_tbl ;
988 GRACE_DURATION            l_num_tbl ;
989 GRACE_PERIOD              l_chr_tbl ;
990 EST_REV_PERCENT           l_num_tbl ;
991 EST_REV_DATE              l_date_tbl;
992 INVOICE_TEXT              l_chr_tbl ;
993 INV_PRINT_FLAG            l_chr_tbl ;
994 PRICE_UOM                 l_chr_tbl ;
995 TAX_AMOUNT                l_num_tbl ;
996 TAX_INCLUSIVE_YN          l_chr_tbl ;
997 TAX_STATUS                l_chr_tbl ;
998 TAX_CODE                  l_num_tbl ;
999 TAX_EXEMPTION_ID          l_num_tbl ;
1000 BILLING_SCHEDULE_TYPE     l_chr_tbl ;
1001 CUST_ACCT_ID              l_num_tbl ;
1002 BILL_TO_SITE_USE_ID       l_num_tbl ;
1003 INV_RULE_ID               l_num_tbl ;
1004 RENEWAL_TYPE_CODE         l_chr_tbl ;
1005 RENEWAL_NOTIFY_TO         l_num_tbl ;
1006 RENEWAL_END_DATE          l_date_tbl;
1007 SHIP_TO_SITE_USE_ID       l_num_tbl ;
1008 PAYMENT_TERM_ID           l_num_tbl ;
1009 BILLING_PROFILE_ID        l_num_tbl ;
1010 RENEWAL_STATUS            l_chr_tbl ;
1011 ELECTRONIC_RENEWAL_FLAG   l_chr_tbl ;
1012 QUOTE_TO_CONTACT_ID       l_num_tbl ;
1013 QUOTE_TO_SITE_ID          l_num_tbl ;
1014 QUOTE_TO_EMAIL_ID         l_num_tbl ;
1015 QUOTE_TO_PHONE_ID         l_num_tbl ;
1016 QUOTE_TO_FAX_ID           l_num_tbl ;
1017 RENEWAL_PO_REQUIRED       l_chr_tbl ;
1018 RENEWAL_PRICE_LIST        l_num_tbl ;
1019 RENEWAL_PRICING_TYPE      l_chr_tbl ;
1020 RENEWAL_MARKUP_PERCENT    l_num_tbl ;
1021 RENEWAL_GRACE_DURATION    l_num_tbl ;
1022 RENEWAL_GRACE_PERIOD      l_chr_tbl ;
1023 RENEWAL_EST_REV_PERCENT   l_num_tbl ;
1024 RENEWAL_EST_REV_DURATION  l_num_tbl ;
1025 RENEWAL_EST_REV_PERIOD    l_chr_tbl ;
1026 RENEWAL_PRICE_LIST_USED   l_num_tbl ;
1027 RENEWAL_TYPE_USED         l_chr_tbl ;
1028 RENEWAL_NOTIFICATION_TO   l_num_tbl ;
1029 RENEWAL_PO_USED           l_chr_tbl ;
1030 RENEWAL_PRICING_TYPE_USED l_chr_tbl ;
1031 RENEWAL_MARKUP_PERCENT_USED   l_num_tbl ;
1032 REV_EST_PERCENT_USED      l_num_tbl ;
1033 REV_EST_DURATION_USED     l_num_tbl ;
1034 BILLING_PROFILE_USED      l_num_tbl ;
1035 REV_EST_PERIOD_USED       l_chr_tbl ;
1036 ERN_FLAG_USED_YN          l_chr_tbl ;
1037 EVN_THRESHOLD_AMT         l_num_tbl ;
1038 EVN_THRESHOLD_CUR         l_chr_tbl ;
1039 ERN_THRESHOLD_AMT         l_num_tbl ;
1040 ERN_THRESHOLD_CUR         l_chr_tbl ;
1041 RENEWAL_GRACE_DURATION_USED   l_num_tbl ;
1042 RENEWAL_GRACE_PERIOD_USED l_chr_tbl ;
1043 INV_TRX_TYPE              l_chr_tbl ;
1044 INV_PRINT_PROFILE         l_chr_tbl ;
1045 RENEWAL_PO_NUMBER         l_chr_tbl ;
1046 AR_INTERFACE_YN           l_chr_tbl ;
1047 HOLD_BILLING              l_chr_tbl ;
1048 SUMMARY_TRX_YN            l_chr_tbl ;
1049 SERVICE_PO_NUMBER         l_chr_tbl ;
1050 SERVICE_PO_REQUIRED       l_chr_tbl ;
1051 PRICE_LIST_ID             l_num_tbl ;
1052 CONVERSION_TYPE           l_chr_tbl ;
1053 CONVERSION_RATE           l_num_tbl ;
1054 CONVERSION_RATE_DATE      l_date_tbl;
1055 CONVERSION_EURO_RATE      l_num_tbl ;
1056 
1057 
1058 
1059 -- FOLLOWING ARE NUMBER FIELDS --
1060 ACCT_RULE_ID_CHR              l_chr_tbl ;
1061 CC_BANK_ACCT_ID_CHR           l_chr_tbl ;
1062 GRACE_DURATION_CHR            l_chr_tbl ;
1063 EST_REV_PERCENT_CHR           l_chr_tbl ;
1064 TAX_AMOUNT_CHR                l_chr_tbl ;
1065 TAX_CODE_CHR                  l_chr_tbl ;
1066 TAX_EXEMPTION_ID_CHR          l_chr_tbl ;
1067 CUST_ACCT_ID_CHR              l_chr_tbl ;
1068 BILL_TO_SITE_USE_ID_CHR       l_chr_tbl ;
1069 INV_RULE_ID_CHR               l_chr_tbl ;
1070 RENEWAL_NOTIFY_TO_CHR         l_chr_tbl ;
1071 SHIP_TO_SITE_USE_ID_CHR       l_chr_tbl ;
1072 PAYMENT_TERM_ID_CHR           l_chr_tbl ;
1073 BILLING_PROFILE_ID_CHR        l_chr_tbl ;
1074 QUOTE_TO_CONTACT_ID_CHR       l_chr_tbl ;
1075 QUOTE_TO_SITE_ID_CHR          l_chr_tbl ;
1076 QUOTE_TO_EMAIL_ID_CHR         l_chr_tbl ;
1077 QUOTE_TO_PHONE_ID_CHR         l_chr_tbl ;
1078 QUOTE_TO_FAX_ID_CHR           l_chr_tbl ;
1079 RENEWAL_PRICE_LIST_CHR        l_chr_tbl ;
1080 RENEWAL_MARKUP_PERCENT_CHR    l_chr_tbl ;
1081 RENEWAL_GRACE_DURATION_CHR    l_chr_tbl ;
1082 RENEWAL_EST_REV_PERCENT_CHR   l_chr_tbl ;
1083 RENEWAL_EST_REV_DURATION_CHR  l_chr_tbl ;
1084 RENEWAL_PRICE_LIST_USED_CHR   l_chr_tbl ;
1085 RENEWAL_NOTIFICATION_TO_CHR   l_chr_tbl ;
1086 RENEWAL_MARKUP_PERCENT_USED_CH l_chr_tbl ;
1087 REV_EST_PERCENT_USED_CHR      l_chr_tbl ;
1088 REV_EST_DURATION_USED_CHR     l_chr_tbl ;
1089 BILLING_PROFILE_USED_CHR      l_chr_tbl ;
1090 EVN_THRESHOLD_AMT_CHR         l_chr_tbl ;
1091 ERN_THRESHOLD_AMT_CHR         l_chr_tbl ;
1092 RENEWAL_GRACE_DURATION_USED_CH l_chr_tbl ;
1093 PRICE_LIST_ID_CHR             l_chr_tbl ;
1094 CONVERSION_RATE_CHR           l_chr_tbl ;
1095 CONVERSION_EURO_RATE_CHR      l_chr_tbl ;
1096 
1097 -- FOLLOWING ARE DATE FIELDS --
1098 CC_EXPIRY_DATE_CHR            l_chr_tbl ;
1099 EST_REV_DATE_CHR              l_chr_tbl ;
1100 RENEWAL_END_DATE_CHR          l_chr_tbl ;
1101 CONVERSION_RATE_DATE_CHR      l_chr_tbl ;
1102 
1103 --Misc Variables --
1104 L_ATTRIBUTE_NAME              VARCHAR2(2000);
1105 L_ERROR_MSG                   VARCHAR2(2000);
1106 
1107 l_us_yn                       BOOLEAN;
1108 
1109 -------------------------------------------------------------------------------
1110 -- The following is the cursor opened if all the parameters passed are null  --
1111 -------------------------------------------------------------------------------
1112 CURSOR l_hdr_rule_csr1 (p_id_low in NUMBER , p_id_hig in NUMBER )is
1113 SELECT * FROM (
1114 SELECT  RGP.CHR_ID CHR_ID
1115        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
1116             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1117             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
1118             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
1119             ACCT_RULE_ID
1120        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
1121             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
1122             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
1123             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
1124             CC_BANK_ACCT_ID
1125        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
1126             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1127             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
1128             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
1129             GRACE_DURATION
1130        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
1131             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
1132             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
1133             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
1134             EST_REV_PERCENT
1135        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
1136             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!' ),
1137             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
1138             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
1139             TAX_AMOUNT
1140        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
1141             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
1142             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
1143             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
1144             TAX_CODE
1145        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
1146             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1147             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
1148             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
1149             TAX_EXEMPTION_ID
1150        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
1151             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1152             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
1153             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
1154             BILLING_PROFILE_ID
1155        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
1156             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
1157             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
1158             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
1159             QUOTE_TO_CONTACT_ID
1160        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
1161             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1162             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
1163             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
1164             QUOTE_TO_SITE_ID
1165        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
1166             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1167             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
1168             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
1169             QUOTE_TO_EMAIL_ID
1170        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
1171             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1172             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
1173             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
1174             QUOTE_TO_PHONE_ID
1175        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
1176             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1177             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
1178             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
1179             QUOTE_TO_FAX_ID
1180        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
1181             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1182             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
1183             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
1184             RENEWAL_PRICE_LIST
1185        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
1186             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1187             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
1188             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
1189             RENEWAL_MARKUP_PERCENT
1190        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
1191             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1192             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
1193             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
1194             RENEWAL_GRACE_DURATION
1195        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
1196             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1197             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
1198             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
1199             RENEWAL_EST_REV_PERCENT
1200        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
1201             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1202             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
1203             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
1204             RENEWAL_EST_REV_DURATION
1205        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
1206             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1207             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
1208             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
1209             RENEWAL_PRICE_LIST_USED
1210        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
1211             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1212             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
1213             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
1214             RENEWAL_NOTIFICATION_TO
1215        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
1216             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1217             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
1218             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
1219             RENEWAL_MARKUP_PERCENT_USED
1220        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
1221             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1222             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
1223             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
1224             REV_EST_PERCENT_USED
1225        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
1226             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1227             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
1228             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
1229             REV_EST_DURATION_USED
1230        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
1231             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1232             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
1233             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
1234             BILLING_PROFILE_USED
1235        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
1236             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1237             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
1238             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
1239             EVN_THRESHOLD_AMT
1240         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
1241 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1242             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
1243             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
1244             ERN_THRESHOLD_AMT
1245        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
1246             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1247             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
1248             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
1249             RENEWAL_GRACE_DURATION_USED
1250        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
1251             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
1252             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
1253             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
1254             CONVERSION_RATE --OKC
1255        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
1256             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
1257             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
1258             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
1259             CONVERSION_EURO_RATE --OKC
1260        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
1261             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1262             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
1263             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
1264             CUST_ACCT_ID --OKC
1265        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
1266             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1267             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
1268             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
1269             BILL_TO_SITE_USE_ID --OKC
1270        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
1271             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1272             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
1273             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
1274             INV_RULE_ID --OKC
1275        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
1276             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1277             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
1278             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
1279             RENEWAL_NOTIFY_TO --OKC
1280        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
1281             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1282             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
1283             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
1284             SHIP_TO_SITE_USE_ID --OKC
1285        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
1286             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1287             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
1288             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
1289             PAYMENT_TERM_ID --OKC
1290        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
1291             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1292             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
1293             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
1294             PRICE_LIST_ID --OKC
1295 FROM OKC_RULE_GROUPS_B RGP
1296    , OKC_RULES_B RUL
1297 WHERE rgp.id = rul.rgp_id
1298   AND rgp.cle_id is null
1299   AND rgp.chr_id is not null
1300   AND rgp.rgd_code = 'SVC_K'
1301   AND   RUL.RULE_INFORMATION_CATEGORY IN
1302        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
1303         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
1304   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
1305   AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
1306   GROUP BY rgp.chr_id )
1307 WHERE
1308   ACCT_RULE_ID    IS NOT NULL OR
1309   CC_BANK_ACCT_ID IS NOT NULL OR
1310   GRACE_DURATION  IS NOT NULL OR
1311   EST_REV_PERCENT IS NOT NULL OR
1312   TAX_AMOUNT      IS NOT NULL OR
1313   TAX_CODE        IS NOT NULL OR
1314   TAX_EXEMPTION_ID    IS NOT NULL OR
1315   BILLING_PROFILE_ID  IS NOT NULL OR
1316   QUOTE_TO_CONTACT_ID IS NOT NULL OR
1317   QUOTE_TO_SITE_ID    IS NOT NULL OR
1318   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
1319   QUOTE_TO_PHONE_ID   IS NOT NULL OR
1320   QUOTE_TO_FAX_ID     IS NOT NULL OR
1321   RENEWAL_PRICE_LIST  IS NOT NULL OR
1322   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
1323   RENEWAL_GRACE_DURATION   IS NOT NULL OR
1324   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
1325   RENEWAL_EST_REV_DURATION IS NOT NULL OR
1326   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
1327   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
1328   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
1329   REV_EST_PERCENT_USED  IS NOT NULL OR
1330   REV_EST_DURATION_USED IS NOT NULL OR
1331   BILLING_PROFILE_USED  IS NOT NULL OR
1332   EVN_THRESHOLD_AMT  IS NOT NULL OR
1333   ERN_THRESHOLD_AMT  IS NOT NULL OR
1334   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
1335   CONVERSION_RATE     IS NOT NULL OR
1336   CONVERSION_EURO_RATE IS NOT NULL OR
1337   CUST_ACCT_ID        IS NOT NULL OR
1338   BILL_TO_SITE_USE_ID IS NOT NULL OR
1339   INV_RULE_ID         IS NOT NULL OR
1340   RENEWAL_NOTIFY_TO   IS NOT NULL OR
1341   SHIP_TO_SITE_USE_ID IS NOT NULL OR
1342   PAYMENT_TERM_ID     IS NOT NULL OR
1343   PRICE_LIST_ID       IS NOT NULL ;
1344 
1345 
1346 -------------------------------------------------------------------------------
1347 -- The following is the cursor opened if any of the following parameters are --
1348 -- passed to the concurrent request                                          --
1349 -- 1. p_status
1350 -- 2. p_org_id
1351 -------------------------------------------------------------------------------
1352 CURSOR l_hdr_rule_csr2 (p_id_low in NUMBER , p_id_hig in NUMBER , p_status in VARCHAR2 , p_org_id in NUMBER )is
1353 SELECT * FROM (
1354 SELECT  RGP.CHR_ID CHR_ID
1355        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
1356             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1357             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
1358             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
1359             ACCT_RULE_ID
1360        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
1361             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
1362             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
1363             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
1364             CC_BANK_ACCT_ID
1365        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
1366             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1367             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
1368             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
1369             GRACE_DURATION
1370        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
1371             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
1372             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
1373             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
1374             EST_REV_PERCENT
1375        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
1376             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!' ),
1377             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
1378             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
1379             TAX_AMOUNT
1380        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
1381             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
1382             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
1383             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
1384             TAX_CODE
1385        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
1386             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1387             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
1388             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
1389             TAX_EXEMPTION_ID
1390        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
1391             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1392             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
1393             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
1394             BILLING_PROFILE_ID
1395        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
1396             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
1397             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
1398             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
1399             QUOTE_TO_CONTACT_ID
1400        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
1401             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1402             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
1403             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
1404             QUOTE_TO_SITE_ID
1405        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
1406             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1407             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
1408             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
1409             QUOTE_TO_EMAIL_ID
1410        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
1411             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1412             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
1413             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
1414             QUOTE_TO_PHONE_ID
1415        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
1416             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1417             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
1418             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
1419             QUOTE_TO_FAX_ID
1420        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
1421             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1422             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
1423             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
1424             RENEWAL_PRICE_LIST
1425        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
1426             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1427             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
1428             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
1429             RENEWAL_MARKUP_PERCENT
1430        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
1431             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1432             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
1433             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
1434             RENEWAL_GRACE_DURATION
1435        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
1436             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1437             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
1438             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
1439             RENEWAL_EST_REV_PERCENT
1440        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
1441             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1442             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
1443             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
1444             RENEWAL_EST_REV_DURATION
1445        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
1446             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1447             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
1448             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
1449             RENEWAL_PRICE_LIST_USED
1450        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
1451             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1452             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
1453             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
1454             RENEWAL_NOTIFICATION_TO
1455        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
1456             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1457             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
1458             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
1459             RENEWAL_MARKUP_PERCENT_USED
1460        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
1461             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1462             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
1463             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
1464             REV_EST_PERCENT_USED
1465        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
1466             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1467             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
1468             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
1469             REV_EST_DURATION_USED
1470        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
1471             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1472             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
1473             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
1474             BILLING_PROFILE_USED
1475        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
1476             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1477             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
1478             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
1479             EVN_THRESHOLD_AMT
1480         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
1481 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
1482             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
1483             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
1484             ERN_THRESHOLD_AMT
1485        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
1486             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1487             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
1488             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
1489             RENEWAL_GRACE_DURATION_USED
1490        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
1491             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
1492             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
1493             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
1494             CONVERSION_RATE --OKC
1495        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
1496             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
1497             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
1498             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
1499             CONVERSION_EURO_RATE --OKC
1500        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
1501             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1502             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
1503             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
1504             CUST_ACCT_ID --OKC
1505        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
1506             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1507             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
1508             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
1509             BILL_TO_SITE_USE_ID --OKC
1510        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
1511             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1512             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
1513             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
1514             INV_RULE_ID --OKC
1515        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
1516             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1517             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
1518             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
1519             RENEWAL_NOTIFY_TO --OKC
1520        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
1521             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1522             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
1523             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
1524             SHIP_TO_SITE_USE_ID --OKC
1525        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
1526             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1527             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
1528             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
1529             PAYMENT_TERM_ID --OKC
1530        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
1531             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1532             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
1533             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
1534             PRICE_LIST_ID --OKC
1535 FROM OKC_RULE_GROUPS_B RGP
1536    , OKC_RULES_B RUL
1537    , OKC_K_HEADERS_B HDR
1538 WHERE rgp.id = rul.rgp_id
1539   and rgp.cle_id is null
1540   and rgp.chr_id is not null
1541   and rgp.rgd_code = 'SVC_K'
1542   AND   RUL.RULE_INFORMATION_CATEGORY IN
1543        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
1544         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
1545   AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
1546   AND HDR.ID = RGP.DNZ_CHR_ID
1547   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
1548   AND HDR.ID = RUL.DNZ_CHR_ID
1549   AND HDR.STS_CODE = nvl(p_status,HDR.STS_CODE)
1550   AND HDR.AUTHORING_ORG_ID = nvl(P_ORG_ID, HDR.AUTHORING_ORG_ID)
1551   GROUP BY rgp.chr_id )
1552 WHERE
1553   ACCT_RULE_ID    IS NOT NULL OR
1554   CC_BANK_ACCT_ID IS NOT NULL OR
1555   GRACE_DURATION  IS NOT NULL OR
1556   EST_REV_PERCENT IS NOT NULL OR
1557   TAX_AMOUNT      IS NOT NULL OR
1558   TAX_CODE        IS NOT NULL OR
1559   TAX_EXEMPTION_ID    IS NOT NULL OR
1560   BILLING_PROFILE_ID  IS NOT NULL OR
1561   QUOTE_TO_CONTACT_ID IS NOT NULL OR
1562   QUOTE_TO_SITE_ID    IS NOT NULL OR
1563   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
1564   QUOTE_TO_PHONE_ID   IS NOT NULL OR
1565   QUOTE_TO_FAX_ID     IS NOT NULL OR
1566   RENEWAL_PRICE_LIST  IS NOT NULL OR
1567   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
1568   RENEWAL_GRACE_DURATION   IS NOT NULL OR
1569   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
1570   RENEWAL_EST_REV_DURATION IS NOT NULL OR
1571   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
1572   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
1573   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
1574   REV_EST_PERCENT_USED  IS NOT NULL OR
1575   REV_EST_DURATION_USED IS NOT NULL OR
1576   BILLING_PROFILE_USED  IS NOT NULL OR
1577   EVN_THRESHOLD_AMT  IS NOT NULL OR
1578   ERN_THRESHOLD_AMT  IS NOT NULL OR
1579   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
1580   CONVERSION_RATE     IS NOT NULL OR
1581   CONVERSION_EURO_RATE IS NOT NULL OR
1582   CUST_ACCT_ID        IS NOT NULL OR
1583   BILL_TO_SITE_USE_ID IS NOT NULL OR
1584   INV_RULE_ID         IS NOT NULL OR
1585   RENEWAL_NOTIFY_TO   IS NOT NULL OR
1586   SHIP_TO_SITE_USE_ID IS NOT NULL OR
1587   PAYMENT_TERM_ID     IS NOT NULL OR
1588   PRICE_LIST_ID       IS NOT NULL ;
1589 
1590 -------------------------------------------------------------------------
1591 -------The following cursors will be opened if p_us_yn is false
1592 ----------------------------------------------------------------------------
1593 
1594 -------------------------------------------------------------------------------
1595 -- The following is the cursor opened if all the parameters passed are null  --
1596 -------------------------------------------------------------------------------
1597 CURSOR l_hdr_rule_csr1_nus (p_id_low in NUMBER , p_id_hig in NUMBER )is
1598 SELECT * FROM (
1599 SELECT  RGP.CHR_ID CHR_ID
1600        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
1601             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1602             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
1603             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
1604             ACCT_RULE_ID
1605        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
1606             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
1607             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
1608             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
1609             CC_BANK_ACCT_ID
1610        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
1611             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1612             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
1613             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
1614             GRACE_DURATION
1615        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
1616             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
1617             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
1618             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
1619             EST_REV_PERCENT
1620        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
1621             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!' ),
1622             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
1623             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
1624             TAX_AMOUNT
1625        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
1626             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
1627             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
1628             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
1629             TAX_CODE
1630        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
1631             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1632             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
1633             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
1634             TAX_EXEMPTION_ID
1635        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
1636             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1637             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
1638             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
1639             BILLING_PROFILE_ID
1640        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
1641             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
1642             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
1643             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
1644             QUOTE_TO_CONTACT_ID
1645        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
1646             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1647             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
1648             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
1649             QUOTE_TO_SITE_ID
1650        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
1651             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1652             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
1653             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
1654             QUOTE_TO_EMAIL_ID
1655        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
1656             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1657             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
1658             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
1659             QUOTE_TO_PHONE_ID
1660        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
1661             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1662             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
1663             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
1664             QUOTE_TO_FAX_ID
1665        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
1666             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1667             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
1668             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
1669             RENEWAL_PRICE_LIST
1670        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
1671             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1672             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
1673             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
1674             RENEWAL_MARKUP_PERCENT
1675        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
1676             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1677             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
1678             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
1679             RENEWAL_GRACE_DURATION
1680        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
1681             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1682             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
1683             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
1684             RENEWAL_EST_REV_PERCENT
1685        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
1686             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1687             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
1688             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
1689             RENEWAL_EST_REV_DURATION
1690        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
1691             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1692             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
1693             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
1694             RENEWAL_PRICE_LIST_USED
1695        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
1696             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1697             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
1698             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
1699             RENEWAL_NOTIFICATION_TO
1700        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
1701             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1702             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
1703             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
1704             RENEWAL_MARKUP_PERCENT_USED
1705        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
1706             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1707             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
1708             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
1709             REV_EST_PERCENT_USED
1710        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
1711             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1712             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
1713             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
1714             REV_EST_DURATION_USED
1715        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
1716             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1717             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
1718             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
1719             BILLING_PROFILE_USED
1720        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
1721             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1722             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
1723             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
1724             EVN_THRESHOLD_AMT
1725         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
1726 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1727             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
1728             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
1729             ERN_THRESHOLD_AMT
1730        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
1731             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1732             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
1733             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
1734             RENEWAL_GRACE_DURATION_USED
1735        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
1736             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
1737             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
1738             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
1739             CONVERSION_RATE --OKC
1740        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
1741             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
1742             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
1743             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
1744             CONVERSION_EURO_RATE --OKC
1745        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
1746             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1747             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
1748             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
1749             CUST_ACCT_ID --OKC
1750        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
1751             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1752             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
1753             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
1754             BILL_TO_SITE_USE_ID --OKC
1755        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
1756             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1757             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
1758             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
1759             INV_RULE_ID --OKC
1760        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
1761             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1762             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
1763             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
1764             RENEWAL_NOTIFY_TO --OKC
1765        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
1766             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1767             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
1768             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
1769             SHIP_TO_SITE_USE_ID --OKC
1770        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
1771             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1772             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
1773             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
1774             PAYMENT_TERM_ID --OKC
1775        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
1776             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1777             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
1778             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
1779             PRICE_LIST_ID --OKC
1780 FROM OKC_RULE_GROUPS_B RGP
1781    , OKC_RULES_B RUL
1782 WHERE rgp.id = rul.rgp_id
1783   AND rgp.cle_id is null
1784   AND rgp.chr_id is not null
1785   AND rgp.rgd_code = 'SVC_K'
1786   AND   RUL.RULE_INFORMATION_CATEGORY IN
1787        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
1788         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
1789   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
1790   AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
1791   GROUP BY rgp.chr_id )
1792 WHERE
1793   ACCT_RULE_ID    IS NOT NULL OR
1794   CC_BANK_ACCT_ID IS NOT NULL OR
1795   GRACE_DURATION  IS NOT NULL OR
1796   EST_REV_PERCENT IS NOT NULL OR
1797   TAX_AMOUNT      IS NOT NULL OR
1798   TAX_CODE        IS NOT NULL OR
1799   TAX_EXEMPTION_ID    IS NOT NULL OR
1800   BILLING_PROFILE_ID  IS NOT NULL OR
1801   QUOTE_TO_CONTACT_ID IS NOT NULL OR
1802   QUOTE_TO_SITE_ID    IS NOT NULL OR
1803   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
1804   QUOTE_TO_PHONE_ID   IS NOT NULL OR
1805   QUOTE_TO_FAX_ID     IS NOT NULL OR
1806   RENEWAL_PRICE_LIST  IS NOT NULL OR
1807   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
1808   RENEWAL_GRACE_DURATION   IS NOT NULL OR
1809   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
1810   RENEWAL_EST_REV_DURATION IS NOT NULL OR
1811   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
1812   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
1813   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
1814   REV_EST_PERCENT_USED  IS NOT NULL OR
1815   REV_EST_DURATION_USED IS NOT NULL OR
1816   BILLING_PROFILE_USED  IS NOT NULL OR
1817   EVN_THRESHOLD_AMT  IS NOT NULL OR
1818   ERN_THRESHOLD_AMT  IS NOT NULL OR
1819   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
1820   CONVERSION_RATE     IS NOT NULL OR
1821   CONVERSION_EURO_RATE IS NOT NULL OR
1822   CUST_ACCT_ID        IS NOT NULL OR
1823   BILL_TO_SITE_USE_ID IS NOT NULL OR
1824   INV_RULE_ID         IS NOT NULL OR
1825   RENEWAL_NOTIFY_TO   IS NOT NULL OR
1826   SHIP_TO_SITE_USE_ID IS NOT NULL OR
1827   PAYMENT_TERM_ID     IS NOT NULL OR
1828   PRICE_LIST_ID       IS NOT NULL ;
1829 
1830 
1831 -------------------------------------------------------------------------------
1832 -- The following is the cursor opened if any of the following parameters are --
1833 -- passed to the concurrent request                                          --
1834 -- 1. p_status
1835 -- 2. p_org_id
1836 -------------------------------------------------------------------------------
1837 CURSOR l_hdr_rule_csr2_nus (p_id_low in NUMBER , p_id_hig in NUMBER , p_status in VARCHAR2 , p_org_id in NUMBER )is
1838 SELECT * FROM (
1839 SELECT  RGP.CHR_ID CHR_ID
1840        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
1841             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1842             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
1843             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
1844             ACCT_RULE_ID
1845        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
1846             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
1847             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
1848             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
1849             CC_BANK_ACCT_ID
1850        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
1851             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1852             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
1853             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
1854             GRACE_DURATION
1855        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
1856             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
1857             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
1858             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
1859             EST_REV_PERCENT
1860        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
1861             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!' ),
1862             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
1863             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
1864             TAX_AMOUNT
1865        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
1866             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
1867             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
1868             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
1869             TAX_CODE
1870        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
1871             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1872             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
1873             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
1874             TAX_EXEMPTION_ID
1875        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
1876             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1877             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
1878             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
1879             BILLING_PROFILE_ID
1880        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
1881             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
1882             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
1883             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
1884             QUOTE_TO_CONTACT_ID
1885        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
1886             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1887             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
1888             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
1889             QUOTE_TO_SITE_ID
1890        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
1891             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1892             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
1893             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
1894             QUOTE_TO_EMAIL_ID
1895        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
1896             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1897             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
1898             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
1899             QUOTE_TO_PHONE_ID
1900        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
1901             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1902             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
1903             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
1904             QUOTE_TO_FAX_ID
1905        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
1906             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1907             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
1908             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
1909             RENEWAL_PRICE_LIST
1910        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
1911             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1912             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
1913             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
1914             RENEWAL_MARKUP_PERCENT
1915        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
1916             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1917             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
1918             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
1919             RENEWAL_GRACE_DURATION
1920        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
1921             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1922             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
1923             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
1924             RENEWAL_EST_REV_PERCENT
1925        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
1926             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1927             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
1928             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
1929             RENEWAL_EST_REV_DURATION
1930        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
1931             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1932             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
1933             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
1934             RENEWAL_PRICE_LIST_USED
1935        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
1936             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1937             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
1938             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
1939             RENEWAL_NOTIFICATION_TO
1940        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
1941             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1942             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
1943             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
1944             RENEWAL_MARKUP_PERCENT_USED
1945        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
1946             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1947             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
1948             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
1949             REV_EST_PERCENT_USED
1950        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
1951             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1952             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
1953             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
1954             REV_EST_DURATION_USED
1955        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
1956             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1957             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
1958             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
1959             BILLING_PROFILE_USED
1960        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
1961             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1962             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
1963             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
1964             EVN_THRESHOLD_AMT
1965         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
1966 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
1967             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
1968             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
1969             ERN_THRESHOLD_AMT
1970        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
1971             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1972             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
1973             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
1974             RENEWAL_GRACE_DURATION_USED
1975        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
1976             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
1977             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
1978             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
1979             CONVERSION_RATE --OKC
1980        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
1981             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
1982             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
1983             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
1984             CONVERSION_EURO_RATE --OKC
1985        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
1986             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1987             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
1988             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
1989             CUST_ACCT_ID --OKC
1990        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
1991             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1992             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
1993             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
1994             BILL_TO_SITE_USE_ID --OKC
1995        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
1996             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
1997             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
1998             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
1999             INV_RULE_ID --OKC
2000        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
2001             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
2002             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
2003             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
2004             RENEWAL_NOTIFY_TO --OKC
2005        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
2006             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
2007             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
2008             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
2009             SHIP_TO_SITE_USE_ID --OKC
2010        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
2011             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
2012             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
2013             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
2014             PAYMENT_TERM_ID --OKC
2015        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
2016             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
2017             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
2018             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
2019             PRICE_LIST_ID --OKC
2020 FROM OKC_RULE_GROUPS_B RGP
2021    , OKC_RULES_B RUL
2022    , OKC_K_HEADERS_B HDR
2023 WHERE rgp.id = rul.rgp_id
2024   and rgp.cle_id is null
2025   and rgp.chr_id is not null
2026   and rgp.rgd_code = 'SVC_K'
2027   AND   RUL.RULE_INFORMATION_CATEGORY IN
2028        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
2029         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
2030   AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
2031   AND HDR.ID = RGP.DNZ_CHR_ID
2032   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
2033   AND HDR.ID = RUL.DNZ_CHR_ID
2034   AND HDR.STS_CODE = nvl(p_status,HDR.STS_CODE)
2035   AND HDR.AUTHORING_ORG_ID = nvl(P_ORG_ID, HDR.AUTHORING_ORG_ID)
2036   GROUP BY rgp.chr_id )
2037 WHERE
2038   ACCT_RULE_ID    IS NOT NULL OR
2039   CC_BANK_ACCT_ID IS NOT NULL OR
2040   GRACE_DURATION  IS NOT NULL OR
2041   EST_REV_PERCENT IS NOT NULL OR
2042   TAX_AMOUNT      IS NOT NULL OR
2043   TAX_CODE        IS NOT NULL OR
2044   TAX_EXEMPTION_ID    IS NOT NULL OR
2045   BILLING_PROFILE_ID  IS NOT NULL OR
2046   QUOTE_TO_CONTACT_ID IS NOT NULL OR
2047   QUOTE_TO_SITE_ID    IS NOT NULL OR
2048   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
2049   QUOTE_TO_PHONE_ID   IS NOT NULL OR
2050   QUOTE_TO_FAX_ID     IS NOT NULL OR
2051   RENEWAL_PRICE_LIST  IS NOT NULL OR
2052   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
2053   RENEWAL_GRACE_DURATION   IS NOT NULL OR
2054   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
2055   RENEWAL_EST_REV_DURATION IS NOT NULL OR
2056   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
2057   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
2058   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
2059   REV_EST_PERCENT_USED  IS NOT NULL OR
2060   REV_EST_DURATION_USED IS NOT NULL OR
2061   BILLING_PROFILE_USED  IS NOT NULL OR
2062   EVN_THRESHOLD_AMT  IS NOT NULL OR
2063   ERN_THRESHOLD_AMT  IS NOT NULL OR
2064   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
2065   CONVERSION_RATE     IS NOT NULL OR
2066   CONVERSION_EURO_RATE IS NOT NULL OR
2067   CUST_ACCT_ID        IS NOT NULL OR
2068   BILL_TO_SITE_USE_ID IS NOT NULL OR
2069   INV_RULE_ID         IS NOT NULL OR
2070   RENEWAL_NOTIFY_TO   IS NOT NULL OR
2071   SHIP_TO_SITE_USE_ID IS NOT NULL OR
2072   PAYMENT_TERM_ID     IS NOT NULL OR
2073   PRICE_LIST_ID       IS NOT NULL ;
2074 
2075 
2076 ----------------------------------------------------------------------------
2077 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
2078 ----------------------------------------------------------------------------
2079 CURSOR L_HDR_DTLS_CSR ( P_HDR_ID  IN NUMBER , P_CATEGORY IN VARCHAR2 ) IS
2080 SELECT HDR.CONTRACT_NUMBER
2081      , HDR.CONTRACT_NUMBER_MODIFIER
2082      , RUL.ID
2083      , RGP.ID RGP_ID
2084  FROM  OKC_K_HEADERS_B HDR
2085      , OKC_RULE_GROUPS_B RGP
2086      , OKC_RULES_B RUL
2087 WHERE HDR.ID = P_HDR_ID
2088   AND RGP.DNZ_CHR_ID = P_HDR_ID
2089   AND RGP.CHR_ID = P_HDR_ID
2090   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
2091   AND RGP.ID = RUL.RGP_ID
2092   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
2093 
2094 L_HDR_DTLS_REC L_HDR_DTLS_CSR%ROWTYPE;
2095 ----------------------------------------------------------------------------
2096 
2097 
2098 BEGIN
2099  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
2100  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Header Rule Data Validation----------------');
2101  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
2102  FND_FILE.PUT_LINE (FND_FILE.LOG, '----------Parameters passed to the Subrequest Request are as follows  -----------');
2103  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_STATUS ==============> '||P_STATUS);
2104  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ORG_ID ==============> '||P_ORG_ID);
2105  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_BATCH_SIZE  =========> '||P_BATCH_SIZE);
2106  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_LOW ==============> '||p_ID_LOW);
2107  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_HIG ==============> '||P_ID_HIG);
2108  FND_FILE.PUT_LINE (FND_FILE.LOG, '---------------------------------------------------------------------------------');
2109 
2110 
2111 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
2112 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'                Start of Header Validation Report for                  ');
2113 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
2114 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,' Contract Number      |Modifier                |Line Number    |Rule Category     |Attribute Name       |Current Value       ');
2115 
2116 if(p_us_yn = 'true') THEN
2117    l_us_yn:=true;
2118 else
2119    l_us_yn:=false;
2120 end if;
2121 
2122 
2123 if(l_us_yn) THEN
2124  If (p_status is null and p_org_id is null  )  then
2125      OPEN l_hdr_rule_csr1(p_id_low , p_id_hig);
2126      FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr1');
2127  Else
2128      OPEN l_hdr_rule_csr2(p_id_low , p_id_hig, p_status , p_org_id);
2129      FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr2');
2130  End IF;
2131 
2132 else
2133  If (p_status is null and p_org_id is null  )  then
2134      OPEN l_hdr_rule_csr1_nus(p_id_low , p_id_hig);
2135      FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr1_nus');
2136  Else
2137      OPEN l_hdr_rule_csr2_nus(p_id_low , p_id_hig, p_status , p_org_id);
2138      FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr2_nus');
2139  End IF;
2140 
2141 end if;
2142 
2143  Loop
2144     ------------------------------------------------------------------------------------
2145 
2146   if(l_us_yn) then
2147 
2148     --Start of If to choose the cursor to be fetched --
2149     If (p_status is null and p_org_id is null )  then
2150         FETCH l_hdr_rule_csr1 bulk collect into
2151                         CHR_ID
2152                         ,ACCT_RULE_ID_CHR
2153                         --,CC_EXPIRY_DATE_CHR
2154                         ,CC_BANK_ACCT_ID_CHR
2155                         ,GRACE_DURATION_CHR
2156                         ,EST_REV_PERCENT_CHR
2157                         --,EST_REV_DATE_CHR
2158                         ,TAX_AMOUNT_CHR
2159                         ,TAX_CODE_CHR
2160                         ,TAX_EXEMPTION_ID_CHR
2161                         ,BILLING_PROFILE_ID_CHR
2162                         ,QUOTE_TO_CONTACT_ID_CHR
2163                         ,QUOTE_TO_SITE_ID_CHR
2164                         ,QUOTE_TO_EMAIL_ID_CHR
2165                         ,QUOTE_TO_PHONE_ID_CHR
2166                         ,QUOTE_TO_FAX_ID_CHR
2167                         ,RENEWAL_PRICE_LIST_CHR
2168                         ,RENEWAL_MARKUP_PERCENT_CHR
2169                         ,RENEWAL_GRACE_DURATION_CHR
2170                         ,RENEWAL_EST_REV_PERCENT_CHR
2171                         ,RENEWAL_EST_REV_DURATION_CHR
2172                         ,RENEWAL_PRICE_LIST_USED_CHR
2173                         ,RENEWAL_NOTIFICATION_TO_CHR
2174                         ,RENEWAL_MARKUP_PERCENT_USED_CH
2175                         ,REV_EST_PERCENT_USED_CHR
2176                         ,REV_EST_DURATION_USED_CHR
2177                         ,BILLING_PROFILE_USED_CHR
2178                         ,EVN_THRESHOLD_AMT_CHR
2179                         ,ERN_THRESHOLD_AMT_CHR
2180                         ,RENEWAL_GRACE_DURATION_USED_CH
2181                         ,CONVERSION_RATE_CHR              --OKC
2182                         --,CONVERSION_RATE_DATE_CHR         --OKC
2183                         ,CONVERSION_EURO_RATE_CHR         --OKC
2184                         ,CUST_ACCT_ID_CHR                 --OKC
2185                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
2186                         ,INV_RULE_ID_CHR                  --OKC
2187                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
2188                         --,RENEWAL_END_DATE_CHR             --OKC
2189                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
2190                         ,PAYMENT_TERM_ID_CHR              --OKC
2191                         ,PRICE_LIST_ID_CHR  LIMIT p_batch_size; --OKC
2192 
2193        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr1');
2194        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
2195        EXIT WHEN CHR_ID.COUNT = 0 ;
2196     Else
2197         FETCH l_hdr_rule_csr2 bulk collect into
2198                         CHR_ID
2199                         ,ACCT_RULE_ID_CHR
2200                         --,CC_EXPIRY_DATE_CHR
2201                         ,CC_BANK_ACCT_ID_CHR
2202                         ,GRACE_DURATION_CHR
2203                         ,EST_REV_PERCENT_CHR
2204                         --,EST_REV_DATE_CHR
2205                         ,TAX_AMOUNT_CHR
2206                         ,TAX_CODE_CHR
2207                         ,TAX_EXEMPTION_ID_CHR
2208                         ,BILLING_PROFILE_ID_CHR
2209                         ,QUOTE_TO_CONTACT_ID_CHR
2210                         ,QUOTE_TO_SITE_ID_CHR
2211                         ,QUOTE_TO_EMAIL_ID_CHR
2212                         ,QUOTE_TO_PHONE_ID_CHR
2213                         ,QUOTE_TO_FAX_ID_CHR
2214                         ,RENEWAL_PRICE_LIST_CHR
2215                         ,RENEWAL_MARKUP_PERCENT_CHR
2216                         ,RENEWAL_GRACE_DURATION_CHR
2217                         ,RENEWAL_EST_REV_PERCENT_CHR
2218                         ,RENEWAL_EST_REV_DURATION_CHR
2219                         ,RENEWAL_PRICE_LIST_USED_CHR
2220                         ,RENEWAL_NOTIFICATION_TO_CHR
2221                         ,RENEWAL_MARKUP_PERCENT_USED_CH
2222                         ,REV_EST_PERCENT_USED_CHR
2223                         ,REV_EST_DURATION_USED_CHR
2224                         ,BILLING_PROFILE_USED_CHR
2225                         ,EVN_THRESHOLD_AMT_CHR
2226                         ,ERN_THRESHOLD_AMT_CHR
2227                         ,RENEWAL_GRACE_DURATION_USED_CH
2228                         ,CONVERSION_RATE_CHR              --OKC
2229                         --,CONVERSION_RATE_DATE_CHR         --OKC
2230                         ,CONVERSION_EURO_RATE_CHR         --OKC
2231                         ,CUST_ACCT_ID_CHR                 --OKC
2232                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
2233                         ,INV_RULE_ID_CHR                  --OKC
2234                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
2235                         --,RENEWAL_END_DATE_CHR             --OKC
2236                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
2237                         ,PAYMENT_TERM_ID_CHR              --OKC
2238                         ,PRICE_LIST_ID_CHR  LIMIT p_batch_size; --OKC
2239 
2240        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr2');
2241        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
2242        EXIT WHEN CHR_ID.COUNT = 0 ;
2243 
2244     End IF;
2245     --End of If to choose the cursor to be fetched --
2246 
2247 else
2248 
2249     --Start of If to choose the cursor to be fetched --
2250     If (p_status is null and p_org_id is null )  then
2251         FETCH l_hdr_rule_csr1_nus bulk collect into
2252                         CHR_ID
2253                         ,ACCT_RULE_ID_CHR
2254                         --,CC_EXPIRY_DATE_CHR
2255                         ,CC_BANK_ACCT_ID_CHR
2256                         ,GRACE_DURATION_CHR
2257                         ,EST_REV_PERCENT_CHR
2258                         --,EST_REV_DATE_CHR
2259                         ,TAX_AMOUNT_CHR
2260                         ,TAX_CODE_CHR
2261                         ,TAX_EXEMPTION_ID_CHR
2262                         ,BILLING_PROFILE_ID_CHR
2263                         ,QUOTE_TO_CONTACT_ID_CHR
2264                         ,QUOTE_TO_SITE_ID_CHR
2265                         ,QUOTE_TO_EMAIL_ID_CHR
2266                         ,QUOTE_TO_PHONE_ID_CHR
2267                         ,QUOTE_TO_FAX_ID_CHR
2268                         ,RENEWAL_PRICE_LIST_CHR
2269                         ,RENEWAL_MARKUP_PERCENT_CHR
2270                         ,RENEWAL_GRACE_DURATION_CHR
2271                         ,RENEWAL_EST_REV_PERCENT_CHR
2272                         ,RENEWAL_EST_REV_DURATION_CHR
2273                         ,RENEWAL_PRICE_LIST_USED_CHR
2274                         ,RENEWAL_NOTIFICATION_TO_CHR
2275                         ,RENEWAL_MARKUP_PERCENT_USED_CH
2276                         ,REV_EST_PERCENT_USED_CHR
2277                         ,REV_EST_DURATION_USED_CHR
2278                         ,BILLING_PROFILE_USED_CHR
2279                         ,EVN_THRESHOLD_AMT_CHR
2280                         ,ERN_THRESHOLD_AMT_CHR
2281                         ,RENEWAL_GRACE_DURATION_USED_CH
2282                         ,CONVERSION_RATE_CHR              --OKC
2283                         --,CONVERSION_RATE_DATE_CHR         --OKC
2284                         ,CONVERSION_EURO_RATE_CHR         --OKC
2285                         ,CUST_ACCT_ID_CHR                 --OKC
2286                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
2287                         ,INV_RULE_ID_CHR                  --OKC
2288                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
2289                         --,RENEWAL_END_DATE_CHR             --OKC
2290                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
2291                         ,PAYMENT_TERM_ID_CHR              --OKC
2292                         ,PRICE_LIST_ID_CHR  LIMIT p_batch_size; --OKC
2293 
2294        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr1');
2295        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
2296        EXIT WHEN CHR_ID.COUNT = 0 ;
2297     Else
2298         FETCH l_hdr_rule_csr2_nus bulk collect into
2299                         CHR_ID
2300                         ,ACCT_RULE_ID_CHR
2301                         --,CC_EXPIRY_DATE_CHR
2302                         ,CC_BANK_ACCT_ID_CHR
2303                         ,GRACE_DURATION_CHR
2304                         ,EST_REV_PERCENT_CHR
2305                         --,EST_REV_DATE_CHR
2306                         ,TAX_AMOUNT_CHR
2307                         ,TAX_CODE_CHR
2308                         ,TAX_EXEMPTION_ID_CHR
2309                         ,BILLING_PROFILE_ID_CHR
2310                         ,QUOTE_TO_CONTACT_ID_CHR
2311                         ,QUOTE_TO_SITE_ID_CHR
2312                         ,QUOTE_TO_EMAIL_ID_CHR
2313                         ,QUOTE_TO_PHONE_ID_CHR
2314                         ,QUOTE_TO_FAX_ID_CHR
2315                         ,RENEWAL_PRICE_LIST_CHR
2316                         ,RENEWAL_MARKUP_PERCENT_CHR
2317                         ,RENEWAL_GRACE_DURATION_CHR
2318                         ,RENEWAL_EST_REV_PERCENT_CHR
2319                         ,RENEWAL_EST_REV_DURATION_CHR
2320                         ,RENEWAL_PRICE_LIST_USED_CHR
2321                         ,RENEWAL_NOTIFICATION_TO_CHR
2322                         ,RENEWAL_MARKUP_PERCENT_USED_CH
2323                         ,REV_EST_PERCENT_USED_CHR
2324                         ,REV_EST_DURATION_USED_CHR
2325                         ,BILLING_PROFILE_USED_CHR
2326                         ,EVN_THRESHOLD_AMT_CHR
2327                         ,ERN_THRESHOLD_AMT_CHR
2328                         ,RENEWAL_GRACE_DURATION_USED_CH
2329                         ,CONVERSION_RATE_CHR              --OKC
2330                         --,CONVERSION_RATE_DATE_CHR         --OKC
2331                         ,CONVERSION_EURO_RATE_CHR         --OKC
2332                         ,CUST_ACCT_ID_CHR                 --OKC
2333                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
2334                         ,INV_RULE_ID_CHR                  --OKC
2335                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
2336                         --,RENEWAL_END_DATE_CHR             --OKC
2337                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
2338                         ,PAYMENT_TERM_ID_CHR              --OKC
2339                         ,PRICE_LIST_ID_CHR  LIMIT p_batch_size; --OKC
2340 
2341        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr2');
2342        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
2343        EXIT WHEN CHR_ID.COUNT = 0 ;
2344 
2345     End IF;
2346     --End of If to choose the cursor to be fetched --
2347 
2348 
2349 end if;
2350     ------------------------------------------------------------------------------------
2351 
2352     ------------------------------------------------------------------------------------
2353     -- Begin of code to validate data type .
2354     FOR a in CHR_ID.FIRST..CHR_ID.LAST
2355     LOOP
2356        --1. Validation for ARL rule .
2357        BEGIN
2358           ACCT_RULE_ID(1)      := ACCT_RULE_ID_CHR(a);
2359        EXCEPTION
2360        WHEN OTHERS THEN
2361           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ARL') ;
2362           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2363           CLOSE L_HDR_DTLS_CSR;
2364           FND_MESSAGE.CLEAR;
2365           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
2366           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2367           L_ERROR_MSG      := SQLERRM;
2368           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2369                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2370                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
2371                                       ERROR_MSG)
2372                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2373                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2374                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR(a),
2375                                        L_ERROR_MSG );
2376           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
2377        END;
2378 
2379        --2. Validation for CCR rule .
2380        BEGIN
2381           CC_BANK_ACCT_ID(1)      := CC_BANK_ACCT_ID_CHR(a);
2382        EXCEPTION
2383        WHEN OTHERS THEN
2384           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CCR') ;
2385           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2386           CLOSE L_HDR_DTLS_CSR;
2387           FND_MESSAGE.CLEAR;
2388           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
2389           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2390           L_ERROR_MSG      := SQLERRM;
2391           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2392                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2393                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2394                                       ERROR_MSG)
2395                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2396                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2397                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR(a),
2398                                        L_ERROR_MSG );
2399 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3'  ||L_ATTRIBUTE_NAME || CC_BANK_ACCT_ID_CHR(a)  );
2400        END;
2401 
2402        --3. Validation for GPR rule .
2403        BEGIN
2404           GRACE_DURATION(1)    := GRACE_DURATION_CHR(a);
2405        EXCEPTION
2406        WHEN OTHERS THEN
2407           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'GPR') ;
2408           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2409           CLOSE L_HDR_DTLS_CSR;
2410           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
2411           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2412           L_ERROR_MSG      := SQLERRM;
2413           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2414                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2415                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2416                                       ERROR_MSG)
2417                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2418                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2419                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR(a),
2420                                        L_ERROR_MSG );
2421 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || GRACE_DURATION_CHR(a)  );
2422        END;
2423 
2424        --4. Validation for RVE rule .
2425        BEGIN
2426           EST_REV_PERCENT(1)      := EST_REV_PERCENT_CHR(a);
2427        EXCEPTION
2428        WHEN OTHERS THEN
2429           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RVE') ;
2430           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2431           CLOSE L_HDR_DTLS_CSR;
2432           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
2433           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2434           L_ERROR_MSG      := SQLERRM;
2435           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2436                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2437                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2438                                       ERROR_MSG)
2439                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2440                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2441                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR(a),
2442                                        L_ERROR_MSG );
2443 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EST_REV_PERCENT_CHR(a)  );
2444        END;
2445 
2446        --5. Validation for IRT rule.
2447        BEGIN
2448           TAX_AMOUNT(1)      := TAX_AMOUNT_CHR(a);
2449        EXCEPTION
2450        WHEN OTHERS THEN
2451           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRT') ;
2452           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2453           CLOSE L_HDR_DTLS_CSR;
2454           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
2455           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2456           L_ERROR_MSG      := SQLERRM;
2457           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2458                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2459                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2460                                       ERROR_MSG)
2461                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2462                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2463                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR(a),
2464                                        L_ERROR_MSG );
2465 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || TAX_AMOUNT_CHR(a)  );
2466        END;
2467 
2468        --6. Validation for TAX (TAX_CODE) rule.
2469        BEGIN
2470           TAX_CODE(1)      := TAX_CODE_CHR(a);
2471        EXCEPTION
2472        WHEN OTHERS THEN
2473           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'TAX') ;
2474           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2475           CLOSE L_HDR_DTLS_CSR;
2476           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
2477           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2478           L_ERROR_MSG      := SQLERRM;
2479           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2480                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2481                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2482                                       ERROR_MSG)
2483                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2484                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2485                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR(a),
2486                                        L_ERROR_MSG );
2487 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || TAX_CODE_CHR(a)  );
2488        END;
2489 
2490        --7. Validation for TAX (TAX_EXEMPTION_ID) rule.
2491        BEGIN
2492           TAX_EXEMPTION_ID(1)      := TAX_EXEMPTION_ID_CHR(a);
2493        EXCEPTION
2494        WHEN OTHERS THEN
2495           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'TAX');
2496           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2497           CLOSE L_HDR_DTLS_CSR;
2498           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
2499           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2500           L_ERROR_MSG      := SQLERRM;
2501           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2502                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2503                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2504                                       ERROR_MSG)
2505                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2506                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2507                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR(a),
2508                                        L_ERROR_MSG );
2509 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || TAX_EXEMPTION_ID_CHR(a)  );
2510        END;
2511 
2512 
2513        --8. Validation for CAN  rule.
2514        BEGIN
2515           CUST_ACCT_ID(1)      := CUST_ACCT_ID_CHR(a);
2516        EXCEPTION
2517        WHEN OTHERS THEN
2518           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CAN');
2519           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2520           CLOSE L_HDR_DTLS_CSR;
2521           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
2522           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2523           L_ERROR_MSG      := SQLERRM;
2524           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2525                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2526                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2527                                       ERROR_MSG)
2528                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2529                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2530                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR(a),
2531                                        L_ERROR_MSG );
2532 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || CUST_ACCT_ID_CHR(a)  );
2533        END;
2534 
2535        --9. Validation for BTO  rule.
2536        BEGIN
2537           BILL_TO_SITE_USE_ID(1)      := BILL_TO_SITE_USE_ID_CHR(a);
2538        EXCEPTION
2539        WHEN OTHERS THEN
2540           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'BTO');
2541           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2542           CLOSE L_HDR_DTLS_CSR;
2543           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
2544           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2545           L_ERROR_MSG      := SQLERRM;
2546           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2547                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2548                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2549                                       ERROR_MSG)
2550                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2551                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2552                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR(a),
2553                                        L_ERROR_MSG );
2554 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || BILL_TO_SITE_USE_ID_CHR(a)  );
2555        END;
2556 
2557 
2558        --10. Validation for IRE  rule.
2559        BEGIN
2560           INV_RULE_ID(1)      := INV_RULE_ID_CHR(a);
2561        EXCEPTION
2562        WHEN OTHERS THEN
2563           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRE');
2564           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2565           CLOSE L_HDR_DTLS_CSR;
2566           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
2567           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2568           L_ERROR_MSG      := SQLERRM;
2569           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2570                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2571                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2572                                       ERROR_MSG)
2573                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2574                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2575                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR(a),
2576                                        L_ERROR_MSG );
2577 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || INV_RULE_ID_CHR(a)  );
2578        END;
2579 
2580        --11. Validation for REN ( RENEWAL_NOTIFY_TO )  rule.
2581        BEGIN
2582           RENEWAL_NOTIFY_TO(1)      := RENEWAL_NOTIFY_TO_CHR(a);
2583        EXCEPTION
2584        WHEN OTHERS THEN
2585           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRE');
2586           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2587           CLOSE L_HDR_DTLS_CSR;
2588           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
2589           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2590           L_ERROR_MSG      := SQLERRM;
2591           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2592                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2593                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2594                                       ERROR_MSG)
2595                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2596                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2597                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR(a),
2598                                        L_ERROR_MSG );
2599 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_NOTIFY_TO_CHR(a)  );
2600        END;
2601 
2602        --12. Validation for STO rule.
2603        BEGIN
2604           SHIP_TO_SITE_USE_ID(1)      := SHIP_TO_SITE_USE_ID_CHR(a);
2605        EXCEPTION
2606        WHEN OTHERS THEN
2607           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'STO');
2608           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2609           CLOSE L_HDR_DTLS_CSR;
2610           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
2611           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2612           L_ERROR_MSG      := SQLERRM;
2613           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2614                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2615                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2616                                       ERROR_MSG)
2617                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2618                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2619                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR(a),
2620                                        L_ERROR_MSG );
2621 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || SHIP_TO_SITE_USE_ID_CHR(a)  );
2622        END;
2623 
2624        --13. Validation for PTR rule.
2625        BEGIN
2626           PAYMENT_TERM_ID(1)      := PAYMENT_TERM_ID_CHR(a);
2627        EXCEPTION
2628        WHEN OTHERS THEN
2629           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PTR');
2630           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2631           CLOSE L_HDR_DTLS_CSR;
2632           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
2633           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2634           L_ERROR_MSG      := SQLERRM;
2635           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2636                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2637                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2638                                       ERROR_MSG)
2639                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2640                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2641                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR(a),
2642                                        L_ERROR_MSG );
2643 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PAYMENT_TERM_ID_CHR(a)  );
2644        END;
2645 
2646        --14. Validation for ERN rule.
2647        BEGIN
2648           BILLING_PROFILE_ID(1)      := BILLING_PROFILE_ID_CHR(a);
2649        EXCEPTION
2650        WHEN OTHERS THEN
2651           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ERN');
2652           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2653           CLOSE L_HDR_DTLS_CSR;
2654           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
2655           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2656           L_ERROR_MSG      := SQLERRM;
2657           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2658                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2659                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2660                                       ERROR_MSG)
2661                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2662                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2663                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR(a),
2664                                        L_ERROR_MSG );
2665 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || BILLING_PROFILE_ID_CHR(a)  );
2666        END;
2667 
2668 
2669        --15. Validation for QTO ( QUOTE_TO_CONTACT_ID )rule.
2670        BEGIN
2671           QUOTE_TO_CONTACT_ID(1)      := QUOTE_TO_CONTACT_ID_CHR(a);
2672        EXCEPTION
2673        WHEN OTHERS THEN
2674           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
2675           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2676           CLOSE L_HDR_DTLS_CSR;
2677           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
2678           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2679           L_ERROR_MSG      := SQLERRM;
2680           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2681                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2682                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2683                                       ERROR_MSG)
2684                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2685                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2686                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR(a),
2687                                        L_ERROR_MSG );
2688 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || QUOTE_TO_CONTACT_ID_CHR(a)  );
2689        END;
2690 
2691        --16. Validation for QTO ( QUOTE_TO_SITE_ID ) rule.
2692        BEGIN
2693           QUOTE_TO_SITE_ID(1)      := QUOTE_TO_SITE_ID_CHR(a);
2694        EXCEPTION
2695        WHEN OTHERS THEN
2696           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
2697           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2698           CLOSE L_HDR_DTLS_CSR;
2699           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
2700           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2701           L_ERROR_MSG      := SQLERRM;
2702           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2703                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2704                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2705                                       ERROR_MSG)
2706                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2707                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2708                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR(a),
2709                                        L_ERROR_MSG );
2710 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || QUOTE_TO_SITE_ID_CHR(a)  );
2711        END;
2712 
2713        --17. Validation for QTO ( QUOTE_TO_EMAIL_ID ) rule.
2714        BEGIN
2715           QUOTE_TO_EMAIL_ID(1)      := QUOTE_TO_EMAIL_ID_CHR(a);
2716        EXCEPTION
2717        WHEN OTHERS THEN
2718           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
2719           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2720           CLOSE L_HDR_DTLS_CSR;
2721           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
2722           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2723           L_ERROR_MSG      := SQLERRM;
2724           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2725                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2726                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2727                                       ERROR_MSG)
2728                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2729                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2730                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR(a),
2731                                        L_ERROR_MSG );
2732 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1'  ||L_ATTRIBUTE_NAME || QUOTE_TO_EMAIL_ID_CHR(a)  );
2733        END;
2734 
2735        --18. Validation for QTO ( QUOTE_TO_PHONE_ID ) rule.
2736        BEGIN
2737           QUOTE_TO_PHONE_ID(1)      := QUOTE_TO_PHONE_ID_CHR(a);
2738        EXCEPTION
2739        WHEN OTHERS THEN
2740           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
2741           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2742           CLOSE L_HDR_DTLS_CSR;
2743           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
2744           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2745           L_ERROR_MSG      := SQLERRM;
2746           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2747                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2748                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2749                                       ERROR_MSG)
2750                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2751                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2752                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR(a),
2753                                        L_ERROR_MSG );
2754 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || QUOTE_TO_PHONE_ID_CHR(a)  );
2755        END;
2756 
2757        --19. Validation for QTO ( QUOTE_TO_FAX_ID ) rule.
2758        BEGIN
2759           QUOTE_TO_FAX_ID(1)      := QUOTE_TO_FAX_ID_CHR(a);
2760        EXCEPTION
2761        WHEN OTHERS THEN
2762           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
2763           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2764           CLOSE L_HDR_DTLS_CSR;
2765           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
2766           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2767           L_ERROR_MSG      := SQLERRM;
2768           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2769                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2770                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2771                                       ERROR_MSG)
2772                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2773                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2774                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR(a),
2775                                        L_ERROR_MSG );
2776 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || QUOTE_TO_FAX_ID_CHR(a)  );
2777        END;
2778 
2779        --20. Validation for RPT ( RENEWAL_PRICE_LIST ) rule.
2780        BEGIN
2781           RENEWAL_PRICE_LIST(1)      := RENEWAL_PRICE_LIST_CHR(a);
2782        EXCEPTION
2783        WHEN OTHERS THEN
2784           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
2785           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2786           CLOSE L_HDR_DTLS_CSR;
2787           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
2788           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2789           L_ERROR_MSG      := SQLERRM;
2790           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2791                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2792                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2793                                       ERROR_MSG)
2794                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2795                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2796                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR(a),
2797                                        L_ERROR_MSG );
2798 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RENEWAL_PRICE_LIST_CHR(a)  );
2799        END;
2800 
2801        --21. Validation for RPT ( RENEWAL_MARKUP_PERCENT ) rule.
2802        BEGIN
2803           RENEWAL_MARKUP_PERCENT(1)      := RENEWAL_MARKUP_PERCENT_CHR(a);
2804        EXCEPTION
2805        WHEN OTHERS THEN
2806           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
2807           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2808           CLOSE L_HDR_DTLS_CSR;
2809           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
2810           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2811           L_ERROR_MSG      := SQLERRM;
2812           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2813                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2814                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2815                                       ERROR_MSG)
2816                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2817                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2818                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR(a),
2819                                        L_ERROR_MSG );
2820 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_MARKUP_PERCENT_CHR(a)  );
2821        END;
2822 
2823        --22. Validation for RPT ( RENEWAL_GRACE_DURATION ) rule.
2824        BEGIN
2825           RENEWAL_GRACE_DURATION(1)      := RENEWAL_GRACE_DURATION_CHR(a);
2826        EXCEPTION
2827        WHEN OTHERS THEN
2828           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
2829           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2830           CLOSE L_HDR_DTLS_CSR;
2831           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
2832           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2833           L_ERROR_MSG      := SQLERRM;
2834           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2835                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2836                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2837                                       ERROR_MSG)
2838                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2839                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2840                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR(a),
2841                                        L_ERROR_MSG );
2842 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || RENEWAL_GRACE_DURATION_CHR(a)  );
2843        END;
2844 
2845        --23. Validation for RER ( RENEWAL_EST_REV_PERCENT ) rule.
2846        BEGIN
2847           RENEWAL_EST_REV_PERCENT(1)      := RENEWAL_EST_REV_PERCENT_CHR(a);
2848        EXCEPTION
2849        WHEN OTHERS THEN
2850           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RER');
2851           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2852           CLOSE L_HDR_DTLS_CSR;
2853           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
2854           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2855           L_ERROR_MSG      := SQLERRM;
2856           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2857                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2858                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2859                                       ERROR_MSG)
2860                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2861                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2862                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR(a),
2863                                        L_ERROR_MSG );
2864 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RENEWAL_EST_REV_PERCENT_CHR(a)  );
2865        END;
2866 
2867        --24. Validation for RER ( RENEWAL_EST_REV_DURATION ) rule.
2868        BEGIN
2869           RENEWAL_EST_REV_DURATION(1)      := RENEWAL_EST_REV_DURATION_CHR(a);
2870        EXCEPTION
2871        WHEN OTHERS THEN
2872           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RER');
2873           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2874           CLOSE L_HDR_DTLS_CSR;
2875           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
2876           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2877           L_ERROR_MSG      := SQLERRM;
2878           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2879                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2880                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2881                                       ERROR_MSG)
2882                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2883                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2884                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR(a),
2885                                        L_ERROR_MSG );
2886 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2'  ||L_ATTRIBUTE_NAME || RENEWAL_EST_REV_DURATION_CHR(a)  );
2887        END;
2888 
2889        --25. Validation for RRU ( RENEWAL_PRICE_LIST_USED ) rule.
2890        BEGIN
2891           RENEWAL_PRICE_LIST_USED(1)      := RENEWAL_PRICE_LIST_USED_CHR(a);
2892        EXCEPTION
2893        WHEN OTHERS THEN
2894           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
2895           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2896           CLOSE L_HDR_DTLS_CSR;
2897           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
2898           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2899           L_ERROR_MSG      := SQLERRM;
2900           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2901                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2902                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2903                                       ERROR_MSG)
2904                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2905                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2906                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR(a),
2907                                        L_ERROR_MSG );
2908 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RENEWAL_PRICE_LIST_USED_CHR(a)  );
2909        END;
2910 
2911        --26. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
2912        BEGIN
2913           RENEWAL_NOTIFICATION_TO(1)      := RENEWAL_NOTIFICATION_TO_CHR(a);
2914        EXCEPTION
2915        WHEN OTHERS THEN
2916           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
2917           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2918           CLOSE L_HDR_DTLS_CSR;
2919           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
2920           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2921           L_ERROR_MSG      := SQLERRM;
2922           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2923                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2924                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2925                                       ERROR_MSG)
2926                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2927                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2928                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR(a),
2929                                        L_ERROR_MSG );
2930 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_NOTIFICATION_TO_CHR(a)  );
2931        END;
2932 
2933        --27. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
2934        BEGIN
2935           RENEWAL_MARKUP_PERCENT_USED(1)      := RENEWAL_MARKUP_PERCENT_USED_CH(a);
2936        EXCEPTION
2937        WHEN OTHERS THEN
2938           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
2939           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2940           CLOSE L_HDR_DTLS_CSR;
2941           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
2942           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2943           L_ERROR_MSG      := SQLERRM;
2944           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2945                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2946                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2947                                       ERROR_MSG)
2948                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2949                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2950                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH(a),
2951                                        L_ERROR_MSG );
2952 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION5' ||L_ATTRIBUTE_NAME || RENEWAL_MARKUP_PERCENT_USED_CH(a)  );
2953        END;
2954 
2955        --28. Validation for RRU ( REV_EST_PERCENT_USED ) rule.
2956        BEGIN
2957           REV_EST_PERCENT_USED(1)      := REV_EST_PERCENT_USED_CHR(a);
2958        EXCEPTION
2959        WHEN OTHERS THEN
2960           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
2961           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2962           CLOSE L_HDR_DTLS_CSR;
2963           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
2964           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2965           L_ERROR_MSG      := SQLERRM;
2966           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2967                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2968                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2969                                       ERROR_MSG)
2970                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2971                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2972                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR(a),
2973                                        L_ERROR_MSG );
2974 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION6' ||L_ATTRIBUTE_NAME || REV_EST_PERCENT_USED_CHR(a)  );
2975        END;
2976 
2977        --29. Validation for RRU ( REV_EST_DURATION_USED ) rule.
2978        BEGIN
2979           REV_EST_DURATION_USED(1)      := REV_EST_DURATION_USED_CHR(a);
2980        EXCEPTION
2981        WHEN OTHERS THEN
2982           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
2983           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
2984           CLOSE L_HDR_DTLS_CSR;
2985           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
2986           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
2987           L_ERROR_MSG      := SQLERRM;
2988           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
2989                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
2990                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
2991                                       ERROR_MSG)
2992                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
2993                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
2994                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR(a),
2995                                        L_ERROR_MSG );
2996 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION7'||L_ATTRIBUTE_NAME || REV_EST_DURATION_USED_CHR(a)  );
2997        END;
2998 
2999        --30. Validation for RRU ( BILLING_PROFILE_USED ) rule.
3000        BEGIN
3001           BILLING_PROFILE_USED(1)      := BILLING_PROFILE_USED_CHR(a);
3002        EXCEPTION
3003        WHEN OTHERS THEN
3004           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
3005           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3006           CLOSE L_HDR_DTLS_CSR;
3007           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
3008           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3009           L_ERROR_MSG      := SQLERRM;
3010           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3011                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3012                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3013                                       ERROR_MSG)
3014                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3015                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3016                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR(a),
3017                                        L_ERROR_MSG );
3018 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION9' ||L_ATTRIBUTE_NAME || BILLING_PROFILE_USED_CHR(a)  );
3019        END;
3020 
3021        --31. Validation for RRU ( EVN_THRESHOLD_AMT ) rule.
3022        BEGIN
3023           EVN_THRESHOLD_AMT(1)      := EVN_THRESHOLD_AMT_CHR(a);
3024        EXCEPTION
3025        WHEN OTHERS THEN
3026           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
3027           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3028           CLOSE L_HDR_DTLS_CSR;
3029           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
3030           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3031           L_ERROR_MSG      := SQLERRM;
3032           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3033                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3034                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3035                                       ERROR_MSG)
3036                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3037                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3038                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR(a),
3039                                        L_ERROR_MSG );
3040 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION11' ||L_ATTRIBUTE_NAME || EVN_THRESHOLD_AMT_CHR(a)  );
3041        END;
3042 
3043        --32. Validation for RRU ( ERN_THRESHOLD_AMT ) rule.
3044        BEGIN
3045           ERN_THRESHOLD_AMT(1)      := ERN_THRESHOLD_AMT_CHR(a);
3046        EXCEPTION
3047        WHEN OTHERS THEN
3048           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
3049           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3050           CLOSE L_HDR_DTLS_CSR;
3051           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
3052           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3053           L_ERROR_MSG      := SQLERRM;
3054           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3055                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3056                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3057                                       ERROR_MSG)
3058                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3059                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3060                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR(a),
3061                                        L_ERROR_MSG );
3062 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || ERN_THRESHOLD_AMT_CHR(a)  );
3063        END;
3064 
3065        --33. Validation for RRE ( RENEWAL_GRACE_DURATION_USED ) rule.
3066        BEGIN
3067           RENEWAL_GRACE_DURATION_USED(1)      := RENEWAL_GRACE_DURATION_USED_CH(a);
3068        EXCEPTION
3069        WHEN OTHERS THEN
3070           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRE');
3071           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3072           CLOSE L_HDR_DTLS_CSR;
3073           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
3074           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3075           L_ERROR_MSG      := SQLERRM;
3076           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3077                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3078                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3079                                       ERROR_MSG)
3080                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3081                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3082                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH(a),
3083                                        L_ERROR_MSG );
3084 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RENEWAL_GRACE_DURATION_USED_CH(a)  );
3085        END;
3086 
3087        --34. Validation for PRE ( PRICE_LIST_ID ) rule.
3088        BEGIN
3089           PRICE_LIST_ID(1)      := PRICE_LIST_ID_CHR(a);
3090        EXCEPTION
3091        WHEN OTHERS THEN
3092           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PRE');
3093           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3094           CLOSE L_HDR_DTLS_CSR;
3095           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
3096           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3097           L_ERROR_MSG      := SQLERRM;
3098           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3099                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3100                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3101                                       ERROR_MSG)
3102                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3103                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3104                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR(a),
3105                                        L_ERROR_MSG );
3106 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_CHR(a)  );
3107        END;
3108 
3109        --35. Validation for CVN ( CONVERSION_RATE ) rule.
3110        BEGIN
3111           CONVERSION_RATE(1)      := CONVERSION_RATE_CHR(a);
3112        EXCEPTION
3113        WHEN OTHERS THEN
3114           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CVN');
3115           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3116           CLOSE L_HDR_DTLS_CSR;
3117           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
3118           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3119           L_ERROR_MSG      := SQLERRM;
3120           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3121                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3122                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3123                                       ERROR_MSG)
3124                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3125                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3126                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR(a),
3127                                        L_ERROR_MSG );
3128 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || CONVERSION_RATE_CHR(a)  );
3129        END;
3130 
3131        --36. Validation for CVN ( CONVERSION_EURO_RATE ) rule.
3132        BEGIN
3133           CONVERSION_EURO_RATE(1)      := CONVERSION_EURO_RATE_CHR(a);
3134        EXCEPTION
3135        WHEN OTHERS THEN
3136           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CVN');
3137           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3138           CLOSE L_HDR_DTLS_CSR;
3139           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
3140           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3141           L_ERROR_MSG      := SQLERRM;
3142           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3143                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3144                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3145                                       ERROR_MSG)
3146                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3147                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3148                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR(a),
3149                                        L_ERROR_MSG );
3150 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CONVERSION_EURO_RATE_CHR(a)  );
3151        END;
3152 
3153 /*
3154        --37. Validation for CCR ( CC_EXPIRY_DATE ) rule.
3155        BEGIN
3156           CC_EXPIRY_DATE(1)      := to_date(CC_EXPIRY_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
3157        EXCEPTION
3158        WHEN OTHERS THEN
3159           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CCR');
3160           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3161           CLOSE L_HDR_DTLS_CSR;
3162           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
3163           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3164           L_ERROR_MSG      := SQLERRM;
3165           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3166                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3167                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3168                                       ERROR_MSG)
3169                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3170                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3171                                       'CCR'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CC_EXPIRY_DATE_CHR(a),
3172                                        L_ERROR_MSG );
3173 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2'  ||L_ATTRIBUTE_NAME || CC_EXPIRY_DATE_CHR(a)  );
3174        END;
3175 */
3176 /*
3177        --38. Validation for RVE ( EST_REV_DATE ) rule.
3178        BEGIN
3179           EST_REV_DATE(1)      := to_date(EST_REV_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
3180        EXCEPTION
3181        WHEN OTHERS THEN
3182           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RVE');
3183           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3184           CLOSE L_HDR_DTLS_CSR;
3185           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_DATE');
3186           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3187           L_ERROR_MSG      := SQLERRM;
3188           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3189                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3190                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3191                                       ERROR_MSG)
3192                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3193                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3194                                       'RVE'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , EST_REV_DATE_CHR(a),
3195                                        L_ERROR_MSG );
3196 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || EST_REV_DATE_CHR(a)  );
3197        END;
3198 
3199 */
3200 /*
3201        --39. Validation for REN ( RENEWAL_END_DATE ) rule.
3202        BEGIN
3203           RENEWAL_END_DATE(1)      := to_date(RENEWAL_END_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
3204        EXCEPTION
3205        WHEN OTHERS THEN
3206           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'REN');
3207           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3208           CLOSE L_HDR_DTLS_CSR;
3209           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_END_DATE');
3210           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3211           L_ERROR_MSG      := SQLERRM;
3212           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3213                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3214                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3215                                       ERROR_MSG)
3216                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3217                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3218                                       'REN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_END_DATE_CHR(a),
3219                                        L_ERROR_MSG );
3220 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || RENEWAL_END_DATE_CHR(a)  );
3221        END;
3222 */
3223 /*
3224        --40. Validation for REN ( CONVERSION_RATE_DATE ) rule.
3225        BEGIN
3226           CONVERSION_RATE_DATE(1)      := to_date(CONVERSION_RATE_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
3227        EXCEPTION
3228        WHEN OTHERS THEN
3229           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'REN');
3230           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
3231           CLOSE L_HDR_DTLS_CSR;
3232           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE_DATE');
3233           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
3234           L_ERROR_MSG      := SQLERRM;
3235           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
3236                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
3237                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
3238                                       ERROR_MSG)
3239                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
3240                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
3241                                       'CVN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_DATE_CHR(a),
3242                                        L_ERROR_MSG );
3243 	 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CONVERSION_RATE_DATE_CHR(a)  );
3244        END;
3245 */
3246 
3247     END LOOP;
3248     CHR_ID.DELETE;
3249 
3250     -- End of code to validate data type .
3251     ------------------------------------------------------------------------------------
3252 
3253  End Loop;
3254 
3255 
3256 
3257 
3258   If(l_hdr_rule_csr1%ISOPEN) THEN
3259     Close  l_hdr_rule_csr1;
3260   END IF;
3261   If(l_hdr_rule_csr2%ISOPEN) THEN
3262     Close  l_hdr_rule_csr2;
3263   End if;
3264 
3265   If(l_hdr_rule_csr1_nus%ISOPEN) THEN
3266     Close  l_hdr_rule_csr1_nus;
3267   END IF;
3268   If(l_hdr_rule_csr2_nus%ISOPEN) THEN
3269     Close  l_hdr_rule_csr2_nus;
3270   End if;
3271 
3272 
3273 EXCEPTION
3274 WHEN OTHERS THEN
3275   If(l_hdr_rule_csr1%ISOPEN) THEN
3276     Close  l_hdr_rule_csr1;
3277   END IF;
3278   If(l_hdr_rule_csr2%ISOPEN) THEN
3279     Close  l_hdr_rule_csr2;
3280   End if;
3281   If(l_hdr_rule_csr1_nus%ISOPEN) THEN
3282     Close  l_hdr_rule_csr1_nus;
3283   END IF;
3284   If(l_hdr_rule_csr2_nus%ISOPEN) THEN
3285     Close  l_hdr_rule_csr2_nus;
3286   End if;
3287 
3288 END VALIDATE_HDR_RULE;
3289 
3290 --------------------------------------------------------------------------------------------
3291 --    This is the procedure called from VALIDATE_DATA1 to validate Line rule data           --
3292 --------------------------------------------------------------------------------------------
3293 
3294 Procedure VALIDATE_LINE_RULE(
3295 			    ERRBUF            OUT NOCOPY VARCHAR2 ,
3296                             RETCODE           OUT NOCOPY NUMBER ,
3297                             p_status          in VARCHAR2,
3298                             p_org_id          in NUMBER ,
3299                             p_batch_size      in NUMBER,
3300 			    p_us_yn           in VARCHAR2,
3301                             p_id_low          in NUMBER,
3302                             p_id_hig          in NUMBER)
3303 IS
3304 
3305 Type l_num_tbl is table of  NUMBER         index  by BINARY_INTEGER ;
3306 Type l_date_tbl is table of DATE           index  by BINARY_INTEGER ;
3307 Type l_chr_tbl is table of  VARCHAR2(2000) index  by BINARY_INTEGER ;
3308 
3309 --table types declared with existing rule name wherever applicable
3310 
3311 
3312 CLE_ID                          l_num_tbl ;
3313 DNZ_CHR_ID                      l_num_tbl ;
3314 DISCOUNT_LIST                   l_num_tbl ;  --DST
3315 ACCT_RULE_ID                    l_num_tbl ;  --ARL
3316 PAYMENT_TYPE                    l_chr_tbl ;  --CCR
3317 CC_NO                           l_chr_tbl ;  --CCR
3318 CC_EXPIRY_DATE			l_date_tbl ; --CCR
3319 CC_BANK_ACCT_ID			l_num_tbl ;  --CCR
3320 CC_AUTH_CODE			l_chr_tbl ;  --CCR
3321 GRACE_DURATION			l_num_tbl ;  --GPR
3322 GRACE_PERIOD			l_chr_tbl ;  --GPR
3323 INVOICE_TEXT			l_chr_tbl ;  --IRT
3324 INV_PRINT_FLAG			l_chr_tbl ;  --IRT
3325 PRICE_UOM			l_chr_tbl ;  --IRT
3326 TAX_AMOUNT			l_num_tbl ;  --IRT
3327 TAX_INCLUSIVE_YN		l_chr_tbl ;  --IRT
3328 TAX_STATUS			l_chr_tbl ;  --TAX
3329 TAX_CODE			l_num_tbl ;  --TAX
3330 TAX_EXEMPTION_ID		l_num_tbl ;  --TAX
3331 IB_TRANS_TYPE			l_chr_tbl ;  --IBR
3332 IB_TRANS_DATE			l_date_tbl ; --IBR
3333 IB_TRX_DETAILS			l_chr_tbl ;  --IBR
3334 CLVL_LIST_PRICE			l_num_tbl ;  --PDL
3335 CLVL_QUANTITY			l_num_tbl ;  --PDL
3336 CLVL_EXTENDED_AMT		l_num_tbl ;  --PDL
3337 TOPLVL_OPERAND_CODE		l_chr_tbl ;  --PDL
3338 TOPLVL_OPERAND_VAL		l_num_tbl ;  --PDL
3339 CLVL_UOM_CODE			l_chr_tbl ;  --PDL
3340 TOPLVL_QUANTITY			l_num_tbl ;  --PDL
3341 TOPLVL_UOM_CODE			l_chr_tbl ;  --PDL
3342 TOPLVL_ADJ_PRICE		l_num_tbl ;  --PDL
3343 TOPLVL_PRICE_QTY		l_num_tbl ;  --PDL
3344 STATUS_TEXT			l_chr_tbl ;  --PDL
3345 LINE_LIST_PRICE                 l_num_tbl ;  --PDL
3346 AVERAGING_INTERVAL		l_num_tbl ;  --QRE
3347 USAGE_PERIOD			l_chr_tbl ;  --QRE
3348 SETTLEMENT_INTERVAL		l_chr_tbl ;  --QRE
3349 MINIMUM_QUANTITY		l_num_tbl ;  --QRE
3350 DEFAULT_QUANTITY		l_num_tbl ;  --QRE
3351 AMCV_FLAG			l_chr_tbl ;  --QRE
3352 FIXED_QUANTITY			l_num_tbl ;  --QRE
3353 USAGE_DURATION			l_num_tbl ;  --QRE
3354 LEVEL_YN			l_chr_tbl ;  --QRE
3355 USAGE_TYPE			l_chr_tbl ;  --QRE
3356 UOM_QUANTIFIED			l_chr_tbl ;  --QRE
3357 BASE_READING			l_num_tbl ;  --QRE
3358 USAGE_EST_METHOD		l_chr_tbl ;  --QRE
3359 BILLING_SCHEDULE_TYPE		l_chr_tbl ;  --SLH
3360 CUST_ACCT_ID			l_num_tbl ;  --CAN (OKC)
3361 BILL_TO_SITE_USE_ID		l_num_tbl ;  --BTO (OKC)
3362 INV_RULE_ID			l_num_tbl ;  --IRE (OKC)
3363 LINE_RENEWAL_TYPE_CODE		l_chr_tbl ;  --REN (OKC)
3364 SHIP_TO_SITE_USE_ID		l_num_tbl ;  --STO (OKC)
3365 PAYMENT_TERM_ID			l_num_tbl ;  --PTR (OKC)
3366 -- Following for Coverage --
3367 EXCEPTION_COV_ID		l_num_tbl ;
3368 PM_PROGRAM_ID			l_num_tbl ;
3369 PRICE_LIST_ID			l_num_tbl ;
3370 RCN_INCIDENT_SEVERITY_ID	l_num_tbl ;
3371 RCN_PDF_ID			l_num_tbl ;
3372 LIMIT_UOM_QUANTIFIED		l_num_tbl ;
3373 DISCOUNT_AMOUNT			l_num_tbl ;
3374 DISCOUNT_PERCENT		l_num_tbl ;
3375 
3376 -- Following for SLL --
3377 LEVEL_PERIODS			l_num_tbl ;
3378 UOM_PER_PERIOD			l_num_tbl ;
3379 ADVANCE_PERIODS			l_num_tbl ;
3380 LEVEL_AMOUNT			l_num_tbl ;
3381 INVOICE_OFFSET_DAYS		l_num_tbl ;
3382 INTERFACE_OFFSET_DAYS		l_num_tbl ;
3383 
3384 
3385 
3386 -- FOLLOWING ARE NUMBER FIELDS --
3387 DISCOUNT_LIST_CHR               l_chr_tbl ;  --DST
3388 ACCT_RULE_ID_CHR                l_chr_tbl ;  --ARL
3389 CC_BANK_ACCT_ID_CHR		l_chr_tbl ;  --CCR
3390 GRACE_DURATION_CHR		l_chr_tbl ;  --GPR
3391 TAX_AMOUNT_CHR   		l_chr_tbl ;  --IRT
3392 TAX_CODE_CHR    		l_chr_tbl ;  --TAX
3393 TAX_EXEMPTION_ID_CHR		l_chr_tbl ;  --TAX
3394 CLVL_LIST_PRICE_CHR		l_chr_tbl ;  --PDL
3395 CLVL_QUANTITY_CHR		l_chr_tbl ;  --PDL
3396 CLVL_EXTENDED_AMT_CHR   	l_chr_tbl ;  --PDL
3397 TOPLVL_OPERAND_VAL_CHR		l_chr_tbl ;  --PDL
3398 TOPLVL_QUANTITY_CHR		l_chr_tbl ;  --PDL
3399 TOPLVL_ADJ_PRICE_CHR		l_chr_tbl ;  --PDL
3400 TOPLVL_PRICE_QTY_CHR		l_chr_tbl ;  --PDL
3401 LINE_LIST_PRICE_CHR             l_chr_tbl ;  --PDL (OKC) rule_info4
3402 AVERAGING_INTERVAL_CHR		l_chr_tbl ;  --QRE
3403 MINIMUM_QUANTITY_CHR		l_chr_tbl ;  --QRE
3404 DEFAULT_QUANTITY_CHR		l_chr_tbl ;  --QRE
3405 FIXED_QUANTITY_CHR		l_chr_tbl ;  --QRE
3406 USAGE_DURATION_CHR		l_chr_tbl ;  --QRE
3407 BASE_READING_CHR		l_chr_tbl ;  --QRE
3408 CUST_ACCT_ID_CHR		l_chr_tbl ;  --CAN (OKC)
3409 BILL_TO_SITE_USE_ID_CHR		l_chr_tbl ;  --BTO (OKC)
3410 INV_RULE_ID_CHR			l_chr_tbl ;  --IRE (OKC)
3411 SHIP_TO_SITE_USE_ID_CHR		l_chr_tbl ;  --STO (OKC)
3412 PAYMENT_TERM_ID_CHR		l_chr_tbl ;  --PTR (OKC)
3413 
3414 ---- FOLLOWING ARE NUMBER FIELDS For Coverage/PM----
3415 EXCEPTION_COV_ID_chr            l_chr_tbl ;
3416 PM_PROGRAM_ID_chr               l_chr_tbl ;
3417 --DISCOUNT_LIST_chr               l_chr_tbl ;
3418 PRICE_LIST_ID_chr               l_chr_tbl ;
3419 RCN_INCIDENT_SEVERITY_ID_chr    l_chr_tbl ;
3420 RCN_PDF_ID_chr                  l_chr_tbl ;
3421 LIMIT_UOM_QUANTIFIED_chr        l_chr_tbl ;
3422 DISCOUNT_AMOUNT_chr             l_chr_tbl ;
3423 DISCOUNT_PERCENT_chr            l_chr_tbl ;
3424 
3425 ----- FOLLOWING ARE NUMBER FIELDS For SLL-----
3426 LEVEL_PERIODS_CHR		l_chr_tbl ;
3427 UOM_PER_PERIOD_CHR		l_chr_tbl ;
3428 ADVANCE_PERIODS_CHR		l_chr_tbl ;
3429 LEVEL_AMOUNT_CHR		l_chr_tbl ;
3430 INVOICE_OFFSET_DAYS_CHR		l_chr_tbl ;
3431 INTERFACE_OFFSET_DAYS_CHR	l_chr_tbl ;
3432 
3433 
3434 -- FOLLOWING ARE DATE FIELDS --
3435 CC_EXPIRY_DATE_CHR		l_chr_tbl ; --CCR
3436 IB_TRANS_DATE_CHR		l_chr_tbl ; --IBR
3437 
3438 --Misc Variables --
3439 L_ATTRIBUTE_NAME              VARCHAR2(2000);
3440 L_ERROR_MSG                   VARCHAR2(2000);
3441 
3442 l_us_yn                       BOOLEAN;
3443 
3444 -------------------------------------------------------------------------------
3445 -- The following is the cursor opened if all the parameters passed are null  --
3446 -------------------------------------------------------------------------------
3447 CURSOR L_LINE_CSR1 (p_id_low in NUMBER , p_id_hig in NUMBER ) IS
3448 SELECT * FROM (
3449 SELECT  RGP.CLE_ID     CLE_ID
3450        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
3451        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
3452                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3453                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
3454                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
3455                DISCOUNT_LIST
3456        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
3457                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3458                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
3459                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
3460                ACCT_RULE_ID
3461        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
3462                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3463                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
3464                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
3465                CC_BANK_ACCT_ID
3466        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
3467                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3468                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
3469                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
3470                GRACE_DURATION
3471        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
3472                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3473                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
3474                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
3475                TAX_AMOUNT
3476        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
3477                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3478                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
3479                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
3480                TAX_CODE
3481        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
3482                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3483                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
3484                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
3485                TAX_EXEMPTION_ID
3486        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
3487                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3488                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
3489                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
3490                CLVL_LIST_PRICE
3491        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
3492                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3493                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
3494                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
3495                CLVL_QUANTITY
3496        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
3497                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3498                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
3499                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
3500                CLVL_EXTENDED_AMT
3501        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
3502                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3503                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),NULL,
3504                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)))
3505                LINE_LIST_PRICE
3506        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
3507                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3508                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
3509                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
3510                TOPLVL_OPERAND_VAL
3511        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
3512                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3513                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
3514                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
3515                TOPLVL_QUANTITY
3516        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
3517                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3518                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
3519                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
3520                TOPLVL_ADJ_PRICE
3521        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
3522                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3523                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
3524                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
3525                TOPLVL_PRICE_QTY
3526        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
3527                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3528                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
3529                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
3530                AVERAGING_INTERVAL
3531        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
3532                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3533                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
3534                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
3535                MINIMUM_QUANTITY
3536        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
3537                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3538                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
3539                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
3540                DEFAULT_QUANTITY
3541        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
3542                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3543                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
3544                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
3545                FIXED_QUANTITY
3546        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
3547                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3548                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
3549                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
3550                USAGE_DURATION
3551        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
3552                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3553                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
3554                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
3555                BASE_READING
3556        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
3557                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3558                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
3559                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
3560                CUST_ACCT_ID --OKC
3561        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
3562                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3563                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
3564                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
3565                BILL_TO_SITE_USE_ID --OKC
3566        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
3567                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3568                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
3569                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
3570                INV_RULE_ID --OKC
3571        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
3572                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3573                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
3574                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
3575                SHIP_TO_SITE_USE_ID --OKC
3576        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
3577                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3578                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
3579                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
3580                PAYMENT_TERM_ID --OKC
3581         ----------------------------- COVERAGE CODE START -------------------------------------------------
3582        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
3583                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3584                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
3585                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
3586                EXCEPTION_COV_ID
3587        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
3588                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3589                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
3590                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
3591                PM_PROGRAM_ID
3592        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),
3593                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3594                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),NULL,
3595                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)))
3596                PRICE_LIST_ID
3597        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
3598                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3599                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
3600                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
3601                RCN_INCIDENT_SEVERITY_ID
3602        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
3603                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3604                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
3605                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
3606                RCN_PDF_ID
3607        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
3608                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3609                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
3610                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
3611                LIMIT_UOM_QUANTIFIED
3612        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
3613                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3614                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
3615                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
3616                DISCOUNT_AMOUNT
3617        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
3618                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3619                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
3620                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
3621                DISCOUNT_PERCENT
3622         ----------------------------- COVERAGE CODE END ----------------------------------------------------
3623        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
3624                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3625                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
3626                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
3627                LEVEL_AMOUNT
3628   FROM OKC_RULE_GROUPS_B RGP
3629      , OKC_RULES_B RUL
3630  WHERE RGP.ID  = RUL.RGP_ID
3631    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
3632                                          'ECE','PMP','DST','RCN','RSN','LMT','PRE','SLL')
3633    AND RGP.CLE_ID IS NOT NULL
3634    AND RGP.RGD_CODE = 'SVC_K'
3635    AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
3636    AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
3637  GROUP BY RGP.CLE_ID ,RGP.DNZ_CHR_ID )
3638 WHERE   DISCOUNT_LIST IS NOT NULL OR
3639   ACCT_RULE_ID IS NOT NULL OR
3640   CC_BANK_ACCT_ID IS NOT NULL OR
3641   GRACE_DURATION IS NOT NULL OR
3642   TAX_AMOUNT IS NOT NULL OR
3643   TAX_CODE IS NOT NULL OR
3644   TAX_EXEMPTION_ID IS NOT NULL OR
3645   CLVL_LIST_PRICE IS NOT NULL OR
3646   CLVL_QUANTITY IS NOT NULL OR
3647   CLVL_EXTENDED_AMT IS NOT NULL OR
3648   TOPLVL_OPERAND_VAL IS NOT NULL OR
3649   TOPLVL_QUANTITY IS NOT NULL OR
3650   TOPLVL_ADJ_PRICE IS NOT NULL OR
3651   TOPLVL_PRICE_QTY IS NOT NULL OR
3652   AVERAGING_INTERVAL IS NOT NULL OR
3653   MINIMUM_QUANTITY IS NOT NULL OR
3654   DEFAULT_QUANTITY IS NOT NULL OR
3655   FIXED_QUANTITY IS NOT NULL OR
3656   USAGE_DURATION IS NOT NULL OR
3657   BASE_READING IS NOT NULL OR
3658   -- OKC --
3659   CUST_ACCT_ID IS NOT NULL OR
3660   BILL_TO_SITE_USE_ID IS NOT NULL OR
3661   INV_RULE_ID IS NOT NULL OR
3662   SHIP_TO_SITE_USE_ID IS NOT NULL OR
3663   PAYMENT_TERM_ID IS NOT NULL OR
3664   -- COVERAGE CODE START --
3665   EXCEPTION_COV_ID IS NOT NULL OR
3666   PM_PROGRAM_ID IS NOT NULL OR
3667   PRICE_LIST_ID IS NOT NULL OR
3668   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
3669   RCN_PDF_ID IS NOT NULL OR
3670   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
3671   DISCOUNT_AMOUNT IS NOT NULL OR
3672   DISCOUNT_PERCENT IS NOT NULL OR
3673   -- COVERAGE CODE END ---
3674   LEVEL_AMOUNT IS NOT NULL ;
3675 
3676  -------------------------------------------------------------------------------
3677 -- The following is the cursor opened if any of the following parameters are --
3678 -- passed to the concurrent request                                          --
3679 -- 1. p_status
3680 -- 2. p_org_id
3681 -------------------------------------------------------------------------------
3682 CURSOR L_LINE_CSR2 (p_id_low in NUMBER , p_id_hig in NUMBER  , p_status in VARCHAR2 , p_org_id in NUMBER ) IS
3683 SELECT * FROM (
3684 SELECT  RGP.CLE_ID     CLE_ID
3685        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
3686        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
3687                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3688                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
3689                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
3690                DISCOUNT_LIST
3691        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
3692                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3693                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
3694                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
3695                ACCT_RULE_ID
3696        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
3697                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3698                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
3699                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
3700                CC_BANK_ACCT_ID
3701        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
3702                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3703                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
3704                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
3705                GRACE_DURATION
3706        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
3707                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3708                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
3709                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
3710                TAX_AMOUNT
3711        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
3712                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3713                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
3714                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
3715                TAX_CODE
3716        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
3717                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3718                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
3719                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
3720                TAX_EXEMPTION_ID
3721        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
3722                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3723                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
3724                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
3725                CLVL_LIST_PRICE
3726        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
3727                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3728                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
3729                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
3730                CLVL_QUANTITY
3731        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
3732                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3733                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
3734                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
3735                CLVL_EXTENDED_AMT
3736        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
3737                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3738                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),NULL,
3739                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)))
3740                LINE_LIST_PRICE
3741        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
3742                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3743                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
3744                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
3745                TOPLVL_OPERAND_VAL
3746        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
3747                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3748                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
3749                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
3750                TOPLVL_QUANTITY
3751        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
3752                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3753                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
3754                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
3755                TOPLVL_ADJ_PRICE
3756        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
3757                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3758                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
3759                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
3760                TOPLVL_PRICE_QTY
3761        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
3762                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3763                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
3764                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
3765                AVERAGING_INTERVAL
3766        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
3767                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3768                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
3769                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
3770                MINIMUM_QUANTITY
3771        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
3772                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3773                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
3774                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
3775                DEFAULT_QUANTITY
3776        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
3777                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3778                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
3779                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
3780                FIXED_QUANTITY
3781        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
3782                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3783                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
3784                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
3785                USAGE_DURATION
3786        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
3787                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3788                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
3789                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
3790                BASE_READING
3791        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
3792                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3793                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
3794                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
3795                CUST_ACCT_ID --OKC
3796        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
3797                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3798                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
3799                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
3800                BILL_TO_SITE_USE_ID --OKC
3801        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
3802                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3803                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
3804                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
3805                INV_RULE_ID --OKC
3806        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
3807                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3808                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
3809                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
3810                SHIP_TO_SITE_USE_ID --OKC
3811        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
3812                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3813                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
3814                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
3815                PAYMENT_TERM_ID --OKC
3816         ----------------------------- COVERAGE CODE START -------------------------------------------------
3817        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
3818                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3819                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
3820                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
3821                EXCEPTION_COV_ID
3822        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
3823                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3824                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
3825                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
3826                PM_PROGRAM_ID
3827        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),
3828                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3829                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),NULL,
3830                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)))
3831                PRICE_LIST_ID
3832        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
3833                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3834                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
3835                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
3836                RCN_INCIDENT_SEVERITY_ID
3837        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
3838                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3839                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
3840                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
3841                RCN_PDF_ID
3842        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
3843                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3844                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
3845                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
3846                LIMIT_UOM_QUANTIFIED
3847        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
3848                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3849                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
3850                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
3851                DISCOUNT_AMOUNT
3852        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
3853                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3854                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
3855                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
3856                DISCOUNT_PERCENT
3857         ----------------------------- COVERAGE CODE END ----------------------------------------------------
3858        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
3859                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
3860                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
3861                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
3862                LEVEL_AMOUNT
3863   FROM OKC_RULE_GROUPS_B RGP
3864      , OKC_RULES_B RUL
3865      , OKC_K_HEADERS_B HDR
3866  WHERE RGP.ID  = RUL.RGP_ID
3867    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
3868                                          'ECE','PMP','DST','RCN','RSN','LMT','PRE','SLL')
3869    AND RGP.CLE_ID IS NOT NULL
3870    AND RGP.RGD_CODE = 'SVC_K'
3871    AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
3872    AND HDR.STS_CODE = NVL(P_STATUS,HDR.STS_CODE)
3873    AND HDR.AUTHORING_ORG_ID = NVL(P_ORG_ID,HDR.AUTHORING_ORG_ID)
3874    AND HDR.ID = RGP.DNZ_CHR_ID
3875    AND HDR.ID = RUL.DNZ_CHR_ID
3876    AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
3877  GROUP BY RGP.CLE_ID ,RGP.DNZ_CHR_ID )
3878 WHERE   DISCOUNT_LIST IS NOT NULL OR
3879   ACCT_RULE_ID IS NOT NULL OR
3880   CC_BANK_ACCT_ID IS NOT NULL OR
3881   GRACE_DURATION IS NOT NULL OR
3882   TAX_AMOUNT IS NOT NULL OR
3883   TAX_CODE IS NOT NULL OR
3884   TAX_EXEMPTION_ID IS NOT NULL OR
3885   CLVL_LIST_PRICE IS NOT NULL OR
3886   CLVL_QUANTITY IS NOT NULL OR
3887   CLVL_EXTENDED_AMT IS NOT NULL OR
3888   TOPLVL_OPERAND_VAL IS NOT NULL OR
3889   TOPLVL_QUANTITY IS NOT NULL OR
3890   TOPLVL_ADJ_PRICE IS NOT NULL OR
3891   TOPLVL_PRICE_QTY IS NOT NULL OR
3892   AVERAGING_INTERVAL IS NOT NULL OR
3893   MINIMUM_QUANTITY IS NOT NULL OR
3894   DEFAULT_QUANTITY IS NOT NULL OR
3895   FIXED_QUANTITY IS NOT NULL OR
3896   USAGE_DURATION IS NOT NULL OR
3897   BASE_READING IS NOT NULL OR
3898   -- OKC --
3899   CUST_ACCT_ID IS NOT NULL OR
3900   BILL_TO_SITE_USE_ID IS NOT NULL OR
3901   INV_RULE_ID IS NOT NULL OR
3902   SHIP_TO_SITE_USE_ID IS NOT NULL OR
3903   PAYMENT_TERM_ID IS NOT NULL OR
3904   -- COVERAGE CODE START --
3905   EXCEPTION_COV_ID IS NOT NULL OR
3906   PM_PROGRAM_ID IS NOT NULL OR
3907   PRICE_LIST_ID IS NOT NULL OR
3908   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
3909   RCN_PDF_ID IS NOT NULL OR
3910   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
3911   DISCOUNT_AMOUNT IS NOT NULL OR
3912   DISCOUNT_PERCENT IS NOT NULL OR
3913   -- COVERAGE CODE END ---
3914   LEVEL_AMOUNT IS NOT NULL;
3915 
3916 
3917 -------------------------------------------------------------------------------
3918 -- The following is the cursor opened if all the parameters passed are null  --
3919 -------------------------------------------------------------------------------
3920 CURSOR L_LINE_CSR1_nus(p_id_low in NUMBER , p_id_hig in NUMBER ) IS
3921 SELECT * FROM (
3922 SELECT  RGP.CLE_ID     CLE_ID
3923        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
3924        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
3925                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3926                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
3927                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
3928                DISCOUNT_LIST
3929        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
3930                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3931                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
3932                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
3933                ACCT_RULE_ID
3934        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
3935                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3936                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
3937                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
3938                CC_BANK_ACCT_ID
3939        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
3940                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3941                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
3942                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
3943                GRACE_DURATION
3944        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
3945                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
3946                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
3947                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
3948                TAX_AMOUNT
3949        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
3950                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3951                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
3952                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
3953                TAX_CODE
3954        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
3955                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3956                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
3957                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
3958                TAX_EXEMPTION_ID
3959        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
3960                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
3961                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
3962                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
3963                CLVL_LIST_PRICE
3964        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
3965                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3966                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
3967                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
3968                CLVL_QUANTITY
3969        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
3970                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
3971                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
3972                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
3973                CLVL_EXTENDED_AMT
3974        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
3975                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
3976                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),NULL,
3977                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)))
3978                LINE_LIST_PRICE
3979        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
3980                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
3981                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
3982                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
3983                TOPLVL_OPERAND_VAL
3984        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
3985                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
3986                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
3987                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
3988                TOPLVL_QUANTITY
3989        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
3990                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
3991                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
3992                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
3993                TOPLVL_ADJ_PRICE
3994        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
3995                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
3996                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
3997                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
3998                TOPLVL_PRICE_QTY
3999        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
4000                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4001                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
4002                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
4003                AVERAGING_INTERVAL
4004        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
4005                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4006                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
4007                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
4008                MINIMUM_QUANTITY
4009        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
4010                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4011                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
4012                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
4013                DEFAULT_QUANTITY
4014        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
4015                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4016                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
4017                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
4018                FIXED_QUANTITY
4019        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
4020                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4021                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
4022                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
4023                USAGE_DURATION
4024        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
4025                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4026                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
4027                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
4028                BASE_READING
4029        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
4030                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4031                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
4032                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
4033                CUST_ACCT_ID --OKC
4034        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
4035                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4036                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
4037                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
4038                BILL_TO_SITE_USE_ID --OKC
4039        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
4040                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4041                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
4042                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
4043                INV_RULE_ID --OKC
4044        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
4045                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4046                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
4047                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
4048                SHIP_TO_SITE_USE_ID --OKC
4049        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
4050                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4051                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
4052                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
4053                PAYMENT_TERM_ID --OKC
4054         ----------------------------- COVERAGE CODE START -------------------------------------------------
4055        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
4056                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4057                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
4058                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
4059                EXCEPTION_COV_ID
4060        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
4061                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4062                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
4063                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
4064                PM_PROGRAM_ID
4065        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),
4066                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4067                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),NULL,
4068                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)))
4069                PRICE_LIST_ID
4070        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
4071                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4072                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
4073                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
4074                RCN_INCIDENT_SEVERITY_ID
4075        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
4076                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4077                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
4078                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
4079                RCN_PDF_ID
4080        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
4081                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4082                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
4083                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
4084                LIMIT_UOM_QUANTIFIED
4085        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
4086                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4087                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
4088                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
4089                DISCOUNT_AMOUNT
4090        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
4091                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4092                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
4093                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
4094                DISCOUNT_PERCENT
4095         ----------------------------- COVERAGE CODE END ----------------------------------------------------
4096        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
4097                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4098                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
4099                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
4100                LEVEL_AMOUNT
4101   FROM OKC_RULE_GROUPS_B RGP
4102      , OKC_RULES_B RUL
4103  WHERE RGP.ID  = RUL.RGP_ID
4104    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
4105                                          'ECE','PMP','DST','RCN','RSN','LMT','PRE','SLL')
4106    AND RGP.CLE_ID IS NOT NULL
4107    AND RGP.RGD_CODE = 'SVC_K'
4108    AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
4109    AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
4110  GROUP BY RGP.CLE_ID ,RGP.DNZ_CHR_ID )
4111 WHERE   DISCOUNT_LIST IS NOT NULL OR
4112   ACCT_RULE_ID IS NOT NULL OR
4113   CC_BANK_ACCT_ID IS NOT NULL OR
4114   GRACE_DURATION IS NOT NULL OR
4115   TAX_AMOUNT IS NOT NULL OR
4116   TAX_CODE IS NOT NULL OR
4117   TAX_EXEMPTION_ID IS NOT NULL OR
4118   CLVL_LIST_PRICE IS NOT NULL OR
4119   CLVL_QUANTITY IS NOT NULL OR
4120   CLVL_EXTENDED_AMT IS NOT NULL OR
4121   TOPLVL_OPERAND_VAL IS NOT NULL OR
4122   TOPLVL_QUANTITY IS NOT NULL OR
4123   TOPLVL_ADJ_PRICE IS NOT NULL OR
4124   TOPLVL_PRICE_QTY IS NOT NULL OR
4125   AVERAGING_INTERVAL IS NOT NULL OR
4126   MINIMUM_QUANTITY IS NOT NULL OR
4127   DEFAULT_QUANTITY IS NOT NULL OR
4128   FIXED_QUANTITY IS NOT NULL OR
4129   USAGE_DURATION IS NOT NULL OR
4130   BASE_READING IS NOT NULL OR
4131   -- OKC --
4132   CUST_ACCT_ID IS NOT NULL OR
4133   BILL_TO_SITE_USE_ID IS NOT NULL OR
4134   INV_RULE_ID IS NOT NULL OR
4135   SHIP_TO_SITE_USE_ID IS NOT NULL OR
4136   PAYMENT_TERM_ID IS NOT NULL OR
4137   -- COVERAGE CODE START --
4138   EXCEPTION_COV_ID IS NOT NULL OR
4139   PM_PROGRAM_ID IS NOT NULL OR
4140   PRICE_LIST_ID IS NOT NULL OR
4141   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
4142   RCN_PDF_ID IS NOT NULL OR
4143   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
4144   DISCOUNT_AMOUNT IS NOT NULL OR
4145   DISCOUNT_PERCENT IS NOT NULL OR
4146   -- COVERAGE CODE END ---
4147   LEVEL_AMOUNT IS NOT NULL ;
4148 
4149  -------------------------------------------------------------------------------
4150 -- The following is the cursor opened if any of the following parameters are --
4151 -- passed to the concurrent request                                          --
4152 -- 1. p_status
4153 -- 2. p_org_id
4154 -------------------------------------------------------------------------------
4155 CURSOR L_LINE_CSR2_nus(p_id_low in NUMBER , p_id_hig in NUMBER  , p_status in VARCHAR2 , p_org_id in NUMBER ) IS
4156 SELECT * FROM (
4157 SELECT  RGP.CLE_ID     CLE_ID
4158        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
4159        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
4160                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4161                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
4162                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
4163                DISCOUNT_LIST
4164        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
4165                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4166                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
4167                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
4168                ACCT_RULE_ID
4169        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
4170                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4171                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
4172                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
4173                CC_BANK_ACCT_ID
4174        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
4175                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4176                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
4177                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
4178                GRACE_DURATION
4179        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
4180                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4181                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
4182                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
4183                TAX_AMOUNT
4184        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
4185                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4186                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
4187                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
4188                TAX_CODE
4189        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
4190                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4191                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
4192                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
4193                TAX_EXEMPTION_ID
4194        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
4195                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4196                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
4197                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
4198                CLVL_LIST_PRICE
4199        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
4200                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4201                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
4202                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
4203                CLVL_QUANTITY
4204        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
4205                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4206                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
4207                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
4208                CLVL_EXTENDED_AMT
4209        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
4210                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4211                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),NULL,
4212                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)))
4213                LINE_LIST_PRICE
4214        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
4215                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4216                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
4217                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
4218                TOPLVL_OPERAND_VAL
4219        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
4220                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4221                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
4222                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
4223                TOPLVL_QUANTITY
4224        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
4225                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4226                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
4227                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
4228                TOPLVL_ADJ_PRICE
4229        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
4230                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4231                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
4232                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
4233                TOPLVL_PRICE_QTY
4234        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
4235                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4236                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
4237                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
4238                AVERAGING_INTERVAL
4239        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
4240                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4241                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
4242                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
4243                MINIMUM_QUANTITY
4244        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
4245                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4246                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
4247                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
4248                DEFAULT_QUANTITY
4249        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
4250                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4251                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
4252                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
4253                FIXED_QUANTITY
4254        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
4255                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4256                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
4257                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
4258                USAGE_DURATION
4259        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
4260                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4261                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
4262                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
4263                BASE_READING
4264        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
4265                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4266                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
4267                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
4268                CUST_ACCT_ID --OKC
4269        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
4270                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4271                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
4272                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
4273                BILL_TO_SITE_USE_ID --OKC
4274        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
4275                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4276                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
4277                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
4278                INV_RULE_ID --OKC
4279        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
4280                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4281                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
4282                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
4283                SHIP_TO_SITE_USE_ID --OKC
4284        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
4285                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4286                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
4287                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
4288                PAYMENT_TERM_ID --OKC
4289         ----------------------------- COVERAGE CODE START -------------------------------------------------
4290        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
4291                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4292                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
4293                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
4294                EXCEPTION_COV_ID
4295        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
4296                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4297                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
4298                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
4299                PM_PROGRAM_ID
4300        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),
4301                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4302                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),NULL,
4303                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)))
4304                PRICE_LIST_ID
4305        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
4306                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4307                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
4308                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
4309                RCN_INCIDENT_SEVERITY_ID
4310        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
4311                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
4312                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
4313                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
4314                RCN_PDF_ID
4315        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
4316                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4317                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
4318                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
4319                LIMIT_UOM_QUANTIFIED
4320        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
4321                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4322                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
4323                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
4324                DISCOUNT_AMOUNT
4325        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
4326                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4327                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
4328                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
4329                DISCOUNT_PERCENT
4330         ----------------------------- COVERAGE CODE END ----------------------------------------------------
4331        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
4332                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
4333                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
4334                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
4335                LEVEL_AMOUNT
4336   FROM OKC_RULE_GROUPS_B RGP
4337      , OKC_RULES_B RUL
4338      , OKC_K_HEADERS_B HDR
4339  WHERE RGP.ID  = RUL.RGP_ID
4340    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
4341                                          'ECE','PMP','DST','RCN','RSN','LMT','PRE','SLL')
4342    AND RGP.CLE_ID IS NOT NULL
4343    AND RGP.RGD_CODE = 'SVC_K'
4344    AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
4345    AND HDR.STS_CODE = NVL(P_STATUS,HDR.STS_CODE)
4346    AND HDR.AUTHORING_ORG_ID = NVL(P_ORG_ID,HDR.AUTHORING_ORG_ID)
4347    AND HDR.ID = RGP.DNZ_CHR_ID
4348    AND HDR.ID = RUL.DNZ_CHR_ID
4349    AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
4350  GROUP BY RGP.CLE_ID ,RGP.DNZ_CHR_ID )
4351 WHERE   DISCOUNT_LIST IS NOT NULL OR
4352   ACCT_RULE_ID IS NOT NULL OR
4353   CC_BANK_ACCT_ID IS NOT NULL OR
4354   GRACE_DURATION IS NOT NULL OR
4355   TAX_AMOUNT IS NOT NULL OR
4356   TAX_CODE IS NOT NULL OR
4357   TAX_EXEMPTION_ID IS NOT NULL OR
4358   CLVL_LIST_PRICE IS NOT NULL OR
4359   CLVL_QUANTITY IS NOT NULL OR
4360   CLVL_EXTENDED_AMT IS NOT NULL OR
4361   TOPLVL_OPERAND_VAL IS NOT NULL OR
4362   TOPLVL_QUANTITY IS NOT NULL OR
4363   TOPLVL_ADJ_PRICE IS NOT NULL OR
4364   TOPLVL_PRICE_QTY IS NOT NULL OR
4365   AVERAGING_INTERVAL IS NOT NULL OR
4366   MINIMUM_QUANTITY IS NOT NULL OR
4367   DEFAULT_QUANTITY IS NOT NULL OR
4368   FIXED_QUANTITY IS NOT NULL OR
4369   USAGE_DURATION IS NOT NULL OR
4370   BASE_READING IS NOT NULL OR
4371   -- OKC --
4372   CUST_ACCT_ID IS NOT NULL OR
4373   BILL_TO_SITE_USE_ID IS NOT NULL OR
4374   INV_RULE_ID IS NOT NULL OR
4375   SHIP_TO_SITE_USE_ID IS NOT NULL OR
4376   PAYMENT_TERM_ID IS NOT NULL OR
4377   -- COVERAGE CODE START --
4378   EXCEPTION_COV_ID IS NOT NULL OR
4379   PM_PROGRAM_ID IS NOT NULL OR
4380   PRICE_LIST_ID IS NOT NULL OR
4381   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
4382   RCN_PDF_ID IS NOT NULL OR
4383   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
4384   DISCOUNT_AMOUNT IS NOT NULL OR
4385   DISCOUNT_PERCENT IS NOT NULL OR
4386   -- COVERAGE CODE END ---
4387   LEVEL_AMOUNT IS NOT NULL;
4388 
4389 
4390 ----------------------------------------------------------------------------
4391 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
4392 ----------------------------------------------------------------------------
4393 CURSOR L_LINE_DTLS_CSR (P_CLE_ID  IN NUMBER ,P_HDR_ID IN NUMBER, P_CATEGORY IN VARCHAR2 ) IS
4394 SELECT HDR.CONTRACT_NUMBER
4395      , HDR.CONTRACT_NUMBER_MODIFIER
4396      , LIN.LINE_NUMBER
4397      , RUL.ID
4398      , RGP.ID RGP_ID
4399  FROM  OKC_K_HEADERS_B HDR
4400      , OKC_RULE_GROUPS_B RGP
4401      , OKC_RULES_B RUL
4402      , OKC_K_LINES_B LIN
4403 WHERE HDR.ID = P_HDR_ID
4404   AND LIN.ID= P_CLE_ID
4405   AND RGP.DNZ_CHR_ID = P_HDR_ID
4406   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
4407   AND RGP.CLE_ID = LIN.ID
4408   AND RGP.ID = RUL.RGP_ID
4409   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
4410 
4411 L_LINE_DTLS_REC L_LINE_DTLS_CSR%ROWTYPE;
4412 ----------------------------------------------------------------------------
4413 
4414 BEGIN
4415   FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
4416   FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Line Rule Data Validation------------------');
4417   FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
4418   FND_FILE.PUT_LINE (FND_FILE.LOG, '----------Parameters passed to the Subrequest Request are as follows  -----------');
4419   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_STATUS ==============> '||P_STATUS);
4420   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ORG_ID ==============> '||P_ORG_ID);
4421   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_BATCH_SIZE  =========> '||P_BATCH_SIZE);
4422   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_LOW ==============> '||p_ID_LOW);
4423   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_HIG ==============> '||P_ID_HIG);
4424   FND_FILE.PUT_LINE (FND_FILE.LOG, '---------------------------------------------------------------------------------');
4425 
4426 
4427 --  FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
4428 --  FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'                  Start of Line Validation Report for                  ');
4429 --  FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
4430 --  FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,' Contract Number      |Modifier                |Line Number    |Rule Category     |Attribute Name       |Current Value       ');
4431 
4432   if(p_us_yn = 'true') THEN
4433     l_us_yn := true;
4434   else
4435     l_us_yn := false;
4436   end if;
4437 
4438   if(l_us_yn) then
4439     If ( p_status is null and p_org_id is null  )  then
4440        OPEN L_LINE_CSR1(p_id_low , p_id_hig);
4441        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is L_LINE_CSR1');
4442     Else
4443        OPEN L_LINE_CSR2(p_id_low , p_id_hig , p_status , p_org_id);
4444        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is L_LINE_CSR2');
4445     End IF;
4446   else
4447     If ( p_status is null and p_org_id is null  )  then
4448        OPEN L_LINE_CSR1_nus(p_id_low , p_id_hig);
4449        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is L_LINE_CSR1_nus');
4450     Else
4451        OPEN L_LINE_CSR2_nus(p_id_low , p_id_hig , p_status , p_org_id);
4452        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is L_LINE_CSR2_nus');
4453     End IF;
4454 
4455   end if;
4456 
4457 
4458   Loop
4459 
4460      ------------------------------------------------------------------------------------
4461     --Start of If to choose the cursor to be fetched --
4462   if(l_us_yn) then
4463     If (p_status is null and p_org_id is null )  then
4464         FETCH L_LINE_CSR1 bulk collect into
4465 		CLE_ID,
4466 		DNZ_CHR_ID,
4467 		DISCOUNT_LIST_CHR,
4468 		ACCT_RULE_ID_CHR,
4469 		--CC_EXPIRY_DATE_CHR,
4470 		CC_BANK_ACCT_ID_CHR,
4471 		GRACE_DURATION_CHR,
4472 		TAX_AMOUNT_CHR,
4473 		TAX_CODE_CHR,
4474 		TAX_EXEMPTION_ID_CHR,
4475 		--IB_TRANS_DATE_CHR,
4476 		CLVL_LIST_PRICE_CHR,
4477 		CLVL_QUANTITY_CHR,
4478 		CLVL_EXTENDED_AMT_CHR,
4479                 LINE_LIST_PRICE_CHR,
4480 		TOPLVL_OPERAND_VAL_CHR,
4481 		TOPLVL_QUANTITY_CHR,
4482 		TOPLVL_ADJ_PRICE_CHR,
4483 		TOPLVL_PRICE_QTY_CHR,
4484 		AVERAGING_INTERVAL_CHR,
4485 		MINIMUM_QUANTITY_CHR,
4486 		DEFAULT_QUANTITY_CHR,
4487 		FIXED_QUANTITY_CHR,
4488 		USAGE_DURATION_CHR,
4489         	BASE_READING_CHR,
4490 		CUST_ACCT_ID_CHR,
4491 		BILL_TO_SITE_USE_ID_CHR,
4492 		INV_RULE_ID_CHR,
4493 		SHIP_TO_SITE_USE_ID_CHR,
4494 		PAYMENT_TERM_ID_CHR	   ,
4495             -----------------------------------
4496 		EXCEPTION_COV_ID_chr,
4497 		PM_PROGRAM_ID_chr,
4498 		PRICE_LIST_ID_chr,
4499 		RCN_INCIDENT_SEVERITY_ID_chr,
4500 		RCN_PDF_ID_chr,
4501 		LIMIT_UOM_QUANTIFIED_chr,
4502 	        DISCOUNT_AMOUNT_chr,
4503 		DISCOUNT_PERCENT_chr,
4504 	    -----------------------------------
4505 	        --LEVEL_PERIODS_CHR,
4506 		--UOM_PER_PERIOD_CHR,
4507 		--ADVANCE_PERIODS_CHR,
4508 		LEVEL_AMOUNT_CHR
4509 		--INVOICE_OFFSET_DAYS_CHR,
4510 		--INTERFACE_OFFSET_DAYS_CHR
4511             LIMIT p_batch_size; --OKC
4512 
4513       FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is L_LINE_CSR1');
4514       FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CLE_ID.COUNT );
4515       EXIT WHEN CLE_ID.COUNT = 0 ;
4516 
4517     Else
4518         FETCH L_LINE_CSR2 bulk collect into
4519 		CLE_ID,
4520 		DNZ_CHR_ID,
4521 		DISCOUNT_LIST_CHR,
4522 		ACCT_RULE_ID_CHR,
4523 		--CC_EXPIRY_DATE_CHR,
4524 		CC_BANK_ACCT_ID_CHR,
4525 		GRACE_DURATION_CHR,
4526 		TAX_AMOUNT_CHR,
4527 		TAX_CODE_CHR,
4528 		TAX_EXEMPTION_ID_CHR,
4529 		--IB_TRANS_DATE_CHR,
4530 		CLVL_LIST_PRICE_CHR,
4531 		CLVL_QUANTITY_CHR,
4532 		CLVL_EXTENDED_AMT_CHR,
4533                 LINE_LIST_PRICE_CHR,
4534 		TOPLVL_OPERAND_VAL_CHR,
4535 		TOPLVL_QUANTITY_CHR,
4536 		TOPLVL_ADJ_PRICE_CHR,
4537 		TOPLVL_PRICE_QTY_CHR,
4538 		AVERAGING_INTERVAL_CHR,
4539 		MINIMUM_QUANTITY_CHR,
4540 		DEFAULT_QUANTITY_CHR,
4541 		FIXED_QUANTITY_CHR,
4542 		USAGE_DURATION_CHR,
4543         	BASE_READING_CHR,
4544 		CUST_ACCT_ID_CHR,
4545 		BILL_TO_SITE_USE_ID_CHR,
4546 		INV_RULE_ID_CHR,
4547 		SHIP_TO_SITE_USE_ID_CHR,
4548 		PAYMENT_TERM_ID_CHR	   ,
4549             -----------------------------------
4550 		EXCEPTION_COV_ID_chr,
4551 		PM_PROGRAM_ID_chr,
4552 		PRICE_LIST_ID_chr,
4553 		RCN_INCIDENT_SEVERITY_ID_chr,
4554 		RCN_PDF_ID_chr,
4555 		LIMIT_UOM_QUANTIFIED_chr,
4556 		DISCOUNT_AMOUNT_chr,
4557 		DISCOUNT_PERCENT_chr,
4558 	    -----------------------------------
4559 	        --LEVEL_PERIODS_CHR,
4560 		--UOM_PER_PERIOD_CHR,
4561 		--ADVANCE_PERIODS_CHR,
4562 		LEVEL_AMOUNT_CHR
4563 		--INVOICE_OFFSET_DAYS_CHR,
4564 		--INTERFACE_OFFSET_DAYS_CHR
4565 		LIMIT p_batch_size; --OKC
4566 
4567       FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is L_LINE_CSR2');
4568       FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CLE_ID.COUNT );
4569       EXIT WHEN CLE_ID.COUNT = 0 ;
4570 
4571     End IF;
4572     --End of If to choose the cursor to be fetched --
4573 
4574    else
4575     If (p_status is null and p_org_id is null )  then
4576         FETCH L_LINE_CSR1_nus bulk collect into
4577 		CLE_ID,
4578 		DNZ_CHR_ID,
4579 		DISCOUNT_LIST_CHR,
4580 		ACCT_RULE_ID_CHR,
4581 		--CC_EXPIRY_DATE_CHR,
4582 		CC_BANK_ACCT_ID_CHR,
4583 		GRACE_DURATION_CHR,
4584 		TAX_AMOUNT_CHR,
4585 		TAX_CODE_CHR,
4586 		TAX_EXEMPTION_ID_CHR,
4587 		--IB_TRANS_DATE_CHR,
4588 		CLVL_LIST_PRICE_CHR,
4589 		CLVL_QUANTITY_CHR,
4590 		CLVL_EXTENDED_AMT_CHR,
4591                 LINE_LIST_PRICE_CHR,
4592 		TOPLVL_OPERAND_VAL_CHR,
4593 		TOPLVL_QUANTITY_CHR,
4594 		TOPLVL_ADJ_PRICE_CHR,
4595 		TOPLVL_PRICE_QTY_CHR,
4596 		AVERAGING_INTERVAL_CHR,
4597 		MINIMUM_QUANTITY_CHR,
4598 		DEFAULT_QUANTITY_CHR,
4599 		FIXED_QUANTITY_CHR,
4600 		USAGE_DURATION_CHR,
4601         	BASE_READING_CHR,
4602 		CUST_ACCT_ID_CHR,
4603 		BILL_TO_SITE_USE_ID_CHR,
4604 		INV_RULE_ID_CHR,
4605 		SHIP_TO_SITE_USE_ID_CHR,
4606 		PAYMENT_TERM_ID_CHR	   ,
4607             -----------------------------------
4608 		EXCEPTION_COV_ID_chr,
4609 		PM_PROGRAM_ID_chr,
4610 		PRICE_LIST_ID_chr,
4611 		RCN_INCIDENT_SEVERITY_ID_chr,
4612 		RCN_PDF_ID_chr,
4613 		LIMIT_UOM_QUANTIFIED_chr,
4614 	        DISCOUNT_AMOUNT_chr,
4615 		DISCOUNT_PERCENT_chr,
4616 	    -----------------------------------
4617 	        --LEVEL_PERIODS_CHR,
4618 		--UOM_PER_PERIOD_CHR,
4619 		--ADVANCE_PERIODS_CHR,
4620 		LEVEL_AMOUNT_CHR
4621 		--INVOICE_OFFSET_DAYS_CHR,
4622 		--INTERFACE_OFFSET_DAYS_CHR
4623             LIMIT p_batch_size; --OKC
4624 
4625       FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is L_LINE_CSR1');
4626       FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CLE_ID.COUNT );
4627       EXIT WHEN CLE_ID.COUNT = 0 ;
4628 
4629     Else
4630         FETCH L_LINE_CSR2_nus bulk collect into
4631 		CLE_ID,
4632 		DNZ_CHR_ID,
4633 		DISCOUNT_LIST_CHR,
4634 		ACCT_RULE_ID_CHR,
4635 		--CC_EXPIRY_DATE_CHR,
4636 		CC_BANK_ACCT_ID_CHR,
4637 		GRACE_DURATION_CHR,
4638 		TAX_AMOUNT_CHR,
4639 		TAX_CODE_CHR,
4640 		TAX_EXEMPTION_ID_CHR,
4641 		--IB_TRANS_DATE_CHR,
4642 		CLVL_LIST_PRICE_CHR,
4643 		CLVL_QUANTITY_CHR,
4644 		CLVL_EXTENDED_AMT_CHR,
4645                 LINE_LIST_PRICE_CHR,
4646 		TOPLVL_OPERAND_VAL_CHR,
4647 		TOPLVL_QUANTITY_CHR,
4648 		TOPLVL_ADJ_PRICE_CHR,
4649 		TOPLVL_PRICE_QTY_CHR,
4650 		AVERAGING_INTERVAL_CHR,
4651 		MINIMUM_QUANTITY_CHR,
4652 		DEFAULT_QUANTITY_CHR,
4653 		FIXED_QUANTITY_CHR,
4654 		USAGE_DURATION_CHR,
4655         	BASE_READING_CHR,
4656 		CUST_ACCT_ID_CHR,
4657 		BILL_TO_SITE_USE_ID_CHR,
4658 		INV_RULE_ID_CHR,
4659 		SHIP_TO_SITE_USE_ID_CHR,
4660 		PAYMENT_TERM_ID_CHR	   ,
4661             -----------------------------------
4662 		EXCEPTION_COV_ID_chr,
4663 		PM_PROGRAM_ID_chr,
4664 		PRICE_LIST_ID_chr,
4665 		RCN_INCIDENT_SEVERITY_ID_chr,
4666 		RCN_PDF_ID_chr,
4667 		LIMIT_UOM_QUANTIFIED_chr,
4668 		DISCOUNT_AMOUNT_chr,
4669 		DISCOUNT_PERCENT_chr,
4670 	    -----------------------------------
4671 	        --LEVEL_PERIODS_CHR,
4672 		--UOM_PER_PERIOD_CHR,
4673 		--ADVANCE_PERIODS_CHR,
4674 		LEVEL_AMOUNT_CHR
4675 		--INVOICE_OFFSET_DAYS_CHR,
4676 		--INTERFACE_OFFSET_DAYS_CHR
4677 		LIMIT p_batch_size; --OKC
4678 
4679       FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is L_LINE_CSR2');
4680       FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CLE_ID.COUNT );
4681       EXIT WHEN CLE_ID.COUNT = 0 ;
4682 
4683     End IF;
4684     --End of If to choose the cursor to be fetched --
4685 
4686    end if;
4687     ------------------------------------------------------------------------------------
4688 
4689     ------------------------------------------------------------------------------------
4690     -- Begin of code to validate data type .
4691 
4692     FOR i in CLE_ID.FIRST..CLE_ID.LAST
4693     LOOP
4694        --1. Validation for DST rule .
4695        BEGIN
4696           DISCOUNT_LIST(1)      := DISCOUNT_LIST_CHR(i);
4697        EXCEPTION
4698        WHEN OTHERS THEN
4699           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'DST') ;
4700           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4701           CLOSE L_LINE_DTLS_CSR;
4702           FND_MESSAGE.CLEAR;
4703           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
4704           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4705           L_ERROR_MSG      := SQLERRM;
4706           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4707                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, LINE_NUMBER, SCRIPT_NAME  ,
4708                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4709                                       ERROR_MSG)
4710                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4711                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4712                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR(i),
4713                                        L_ERROR_MSG );
4714           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || DISCOUNT_LIST_CHR(i) );
4715        END;
4716 
4717        --2. Validation for ARL rule .
4718        BEGIN
4719           ACCT_RULE_ID(1)      := ACCT_RULE_ID_CHR(i);
4720        EXCEPTION
4721        WHEN OTHERS THEN
4722           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'ARL') ;
4723           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4724           CLOSE L_LINE_DTLS_CSR;
4725           FND_MESSAGE.CLEAR;
4726           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
4727           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4728           L_ERROR_MSG      := SQLERRM;
4729           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4730                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER  ,LINE_NUMBER, SCRIPT_NAME  ,
4731                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4732                                       ERROR_MSG)
4733                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4734                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4735                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,ACCT_RULE_ID_CHR(i),
4736                                        L_ERROR_MSG );
4737           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(i) );
4738        END;
4739 
4740        --3. Validation for CCR rule .
4741        BEGIN
4742           CC_BANK_ACCT_ID(1)      := CC_BANK_ACCT_ID_CHR(i);
4743        EXCEPTION
4744        WHEN OTHERS THEN
4745           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'CCR') ;
4746           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4747           CLOSE L_LINE_DTLS_CSR;
4748           FND_MESSAGE.CLEAR;
4749           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
4750           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4751           L_ERROR_MSG      := SQLERRM;
4752           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4753                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4754                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4755                                       ERROR_MSG)
4756                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4757                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4758                                       'CCR'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CC_BANK_ACCT_ID_CHR(i),
4759                                        L_ERROR_MSG );
4760           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CC_BANK_ACCT_ID_CHR(i) );
4761        END;
4762 
4763 
4764        --4. Validation for GPR rule .
4765        BEGIN
4766           GRACE_DURATION(1)      := GRACE_DURATION_CHR(i);
4767        EXCEPTION
4768        WHEN OTHERS THEN
4769           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'GPR') ;
4770           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4771           CLOSE L_LINE_DTLS_CSR;
4772           FND_MESSAGE.CLEAR;
4773           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
4774           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4775           L_ERROR_MSG      := SQLERRM;
4776           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4777                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4778                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4779                                       ERROR_MSG)
4780                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4781                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4782                                       'GPR'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,GRACE_DURATION_CHR(i),
4783                                        L_ERROR_MSG );
4784           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || GRACE_DURATION_CHR(i) );
4785        END;
4786        --5. Validation for IRT rule .
4787        BEGIN
4788           TAX_AMOUNT(1)      := TAX_AMOUNT_CHR(i);
4789        EXCEPTION
4790        WHEN OTHERS THEN
4791           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'IRT') ;
4792           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4793           CLOSE L_LINE_DTLS_CSR;
4794           FND_MESSAGE.CLEAR;
4795           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
4796           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4797           L_ERROR_MSG      := SQLERRM;
4798           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4799                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4800                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4801                                       ERROR_MSG)
4802                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4803                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4804                                       'IRT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,TAX_AMOUNT_CHR(i),
4805                                        L_ERROR_MSG );
4806           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || TAX_AMOUNT_CHR(i) );
4807        END;
4808 
4809        --6. Validation for TAX rule .
4810        BEGIN
4811           TAX_CODE(1)      := TAX_CODE_CHR(i);
4812        EXCEPTION
4813        WHEN OTHERS THEN
4814           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'TAX') ;
4815           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4816           CLOSE L_LINE_DTLS_CSR;
4817           FND_MESSAGE.CLEAR;
4818           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
4819           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4820           L_ERROR_MSG      := SQLERRM;
4821           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4822                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4823                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4824                                       ERROR_MSG)
4825                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4826                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4827                                       'TAX'    ,'OBJECT2_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_CODE_CHR(i),
4828                                        L_ERROR_MSG );
4829           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || TAX_CODE_CHR(i) );
4830        END;
4831 
4832        --7. Validation for TAX rule .
4833        BEGIN
4834           TAX_EXEMPTION_ID(1)      := TAX_EXEMPTION_ID_CHR(i);
4835        EXCEPTION
4836        WHEN OTHERS THEN
4837           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'TAX') ;
4838           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4839           CLOSE L_LINE_DTLS_CSR;
4840           FND_MESSAGE.CLEAR;
4841           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
4842           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4843           L_ERROR_MSG      := SQLERRM;
4844           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4845                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4846                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4847                                       ERROR_MSG)
4848                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4849                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4850                                       'TAX'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_EXEMPTION_ID_CHR(i),
4851                                        L_ERROR_MSG );
4852           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || TAX_EXEMPTION_ID_CHR(i) );
4853        END;
4854 
4855        --8. Validation for PDL rule .
4856        BEGIN
4857           CLVL_LIST_PRICE(1)      := CLVL_LIST_PRICE_CHR(i);
4858        EXCEPTION
4859        WHEN OTHERS THEN
4860           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL') ;
4861           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4862           CLOSE L_LINE_DTLS_CSR;
4863           FND_MESSAGE.CLEAR;
4864           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
4865           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4866           L_ERROR_MSG      := SQLERRM;
4867           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4868                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4869                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4870                                       ERROR_MSG)
4871                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4872                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4873                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR(i),
4874                                        L_ERROR_MSG );
4875           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || CLVL_LIST_PRICE_CHR(i) );
4876        END;
4877 
4878        --9. Validation for PDL rule .
4879        BEGIN
4880           CLVL_QUANTITY(1)      := CLVL_QUANTITY_CHR(i);
4881        EXCEPTION
4882        WHEN OTHERS THEN
4883           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL') ;
4884           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4885           CLOSE L_LINE_DTLS_CSR;
4886           FND_MESSAGE.CLEAR;
4887           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
4888           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4889           L_ERROR_MSG      := SQLERRM;
4890           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4891                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4892                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4893                                       ERROR_MSG)
4894                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4895                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4896                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR(i),
4897                                        L_ERROR_MSG );
4898           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CLVL_QUANTITY_CHR(i) );
4899        END;
4900 
4901        --10. Validation for PDL rule .
4902        BEGIN
4903           CLVL_EXTENDED_AMT(1)      := CLVL_EXTENDED_AMT_CHR(i);
4904        EXCEPTION
4905        WHEN OTHERS THEN
4906           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL') ;
4907           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4908           CLOSE L_LINE_DTLS_CSR;
4909           FND_MESSAGE.CLEAR;
4910           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
4911           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4912           L_ERROR_MSG      := SQLERRM;
4913           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4914                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4915                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4916                                       ERROR_MSG)
4917                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4918                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4919                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR(i),
4920                                        L_ERROR_MSG );
4921           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CLVL_EXTENDED_AMT_CHR(i) );
4922        END;
4923 
4924        --11. Validation for PDL rule .
4925        BEGIN
4926           TOPLVL_OPERAND_VAL(1)      := TOPLVL_OPERAND_VAL_CHR(i);
4927        EXCEPTION
4928        WHEN OTHERS THEN
4929           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL') ;
4930           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4931           CLOSE L_LINE_DTLS_CSR;
4932           FND_MESSAGE.CLEAR;
4933           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
4934           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4935           L_ERROR_MSG      := SQLERRM;
4936           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4937                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4938                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4939                                       ERROR_MSG)
4940                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4941                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4942                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR(i),
4943                                        L_ERROR_MSG );
4944           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION6' ||L_ATTRIBUTE_NAME || TOPLVL_OPERAND_VAL_CHR(i) );
4945        END;
4946 
4947        --12. Validation for PDL rule .
4948        BEGIN
4949           TOPLVL_QUANTITY(1)      := TOPLVL_QUANTITY_CHR(i);
4950        EXCEPTION
4951        WHEN OTHERS THEN
4952           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL') ;
4953           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4954           CLOSE L_LINE_DTLS_CSR;
4955           FND_MESSAGE.CLEAR;
4956           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
4957           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4958           L_ERROR_MSG      := SQLERRM;
4959           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4960                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4961                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4962                                       ERROR_MSG)
4963                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4964                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4965                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR(i),
4966                                        L_ERROR_MSG );
4967           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION8' ||L_ATTRIBUTE_NAME || TOPLVL_QUANTITY_CHR(i) );
4968        END;
4969 
4970        --13. Validation for PDL rule .
4971        BEGIN
4972           TOPLVL_ADJ_PRICE(1)      := TOPLVL_ADJ_PRICE_CHR(i);
4973        EXCEPTION
4974        WHEN OTHERS THEN
4975           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL') ;
4976           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
4977           CLOSE L_LINE_DTLS_CSR;
4978           FND_MESSAGE.CLEAR;
4979           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
4980           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
4981           L_ERROR_MSG      := SQLERRM;
4982           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
4983                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
4984                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
4985                                       ERROR_MSG)
4986                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
4987                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
4988                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR(i),
4989                                        L_ERROR_MSG );
4990           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION10' ||L_ATTRIBUTE_NAME || TOPLVL_ADJ_PRICE_CHR(i) );
4991        END;
4992 
4993        --14. Validation for PDL rule .
4994        BEGIN
4995           TOPLVL_PRICE_QTY(1)      := TOPLVL_PRICE_QTY_CHR(i);
4996        EXCEPTION
4997        WHEN OTHERS THEN
4998           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL') ;
4999           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5000           CLOSE L_LINE_DTLS_CSR;
5001           FND_MESSAGE.CLEAR;
5002           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
5003           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5004           L_ERROR_MSG      := SQLERRM;
5005           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5006                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5007                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5008                                       ERROR_MSG)
5009                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5010                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5011                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR(i),
5012                                        L_ERROR_MSG );
5013           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || TOPLVL_PRICE_QTY_CHR(i) );
5014        END;
5015 
5016        --15. Validation for QRE rule .
5017        BEGIN
5018           AVERAGING_INTERVAL(1)      := AVERAGING_INTERVAL_CHR(i);
5019        EXCEPTION
5020        WHEN OTHERS THEN
5021           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE') ;
5022           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5023           CLOSE L_LINE_DTLS_CSR;
5024           FND_MESSAGE.CLEAR;
5025           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
5026           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5027           L_ERROR_MSG      := SQLERRM;
5028           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5029                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5030                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5031                                       ERROR_MSG)
5032                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5033                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5034                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR(i),
5035                                        L_ERROR_MSG );
5036           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || AVERAGING_INTERVAL_CHR(i) );
5037        END;
5038 
5039        --16. Validation for QRE rule .
5040        BEGIN
5041           MINIMUM_QUANTITY(1)      := MINIMUM_QUANTITY_CHR(i);
5042        EXCEPTION
5043        WHEN OTHERS THEN
5044           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE') ;
5045           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5046           CLOSE L_LINE_DTLS_CSR;
5047           FND_MESSAGE.CLEAR;
5048           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
5049           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5050           L_ERROR_MSG      := SQLERRM;
5051           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5052                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5053                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5054                                       ERROR_MSG)
5055                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5056                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5057                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR(i),
5058                                        L_ERROR_MSG );
5059           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || MINIMUM_QUANTITY_CHR(i) );
5060        END;
5061 
5062 
5063        --17. Validation for QRE rule .
5064        BEGIN
5065           DEFAULT_QUANTITY(1)      := DEFAULT_QUANTITY_CHR(i);
5066        EXCEPTION
5067        WHEN OTHERS THEN
5068           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE') ;
5069           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5070           CLOSE L_LINE_DTLS_CSR;
5071           FND_MESSAGE.CLEAR;
5072           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
5073           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5074           L_ERROR_MSG      := SQLERRM;
5075           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5076                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5077                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5078                                       ERROR_MSG)
5079                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5080                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5081                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR(i),
5082                                        L_ERROR_MSG );
5083           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION5' ||L_ATTRIBUTE_NAME || DEFAULT_QUANTITY_CHR(i) );
5084        END;
5085 
5086        --18. Validation for QRE rule .
5087        BEGIN
5088           FIXED_QUANTITY(1)      := FIXED_QUANTITY_CHR(i);
5089        EXCEPTION
5090        WHEN OTHERS THEN
5091           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE') ;
5092           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5093           CLOSE L_LINE_DTLS_CSR;
5094           FND_MESSAGE.CLEAR;
5095           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
5096           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5097           L_ERROR_MSG      := SQLERRM;
5098           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5099                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5100                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5101                                       ERROR_MSG)
5102                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5103                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5104                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR(i),
5105                                        L_ERROR_MSG );
5106           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION7' ||L_ATTRIBUTE_NAME || FIXED_QUANTITY_CHR(i) );
5107        END;
5108 
5109        --19. Validation for QRE rule .
5110        BEGIN
5111           USAGE_DURATION(1)      := USAGE_DURATION_CHR(i);
5112        EXCEPTION
5113        WHEN OTHERS THEN
5114           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE') ;
5115           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5116           CLOSE L_LINE_DTLS_CSR;
5117           FND_MESSAGE.CLEAR;
5118           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
5119           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5120           L_ERROR_MSG      := SQLERRM;
5121           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5122                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5123                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5124                                       ERROR_MSG)
5125                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5126                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5127                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR(i),
5128                                        L_ERROR_MSG );
5129           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION8' ||L_ATTRIBUTE_NAME || USAGE_DURATION_CHR(i) );
5130        END;
5131 
5132        --20. Validation for QRE rule .
5133        BEGIN
5134           BASE_READING(1)      := BASE_READING_CHR(i);
5135        EXCEPTION
5136        WHEN OTHERS THEN
5137           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE') ;
5138           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5139           CLOSE L_LINE_DTLS_CSR;
5140           FND_MESSAGE.CLEAR;
5141           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
5142           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5143           L_ERROR_MSG      := SQLERRM;
5144           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5145                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5146                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5147                                       ERROR_MSG)
5148                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5149                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5150                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR(i),
5151                                        L_ERROR_MSG );
5152           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || BASE_READING_CHR(i) );
5153        END;
5154 
5155        --21. Validation for CAN rule .
5156        BEGIN
5157           CUST_ACCT_ID(1)      := CUST_ACCT_ID_CHR(i);
5158        EXCEPTION
5159        WHEN OTHERS THEN
5160           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'CAN') ;
5161           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5162           CLOSE L_LINE_DTLS_CSR;
5163           FND_MESSAGE.CLEAR;
5164           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
5165           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5166           L_ERROR_MSG      := SQLERRM;
5167           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5168                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5169                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5170                                       ERROR_MSG)
5171                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5172                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5173                                       'CAN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,CUST_ACCT_ID_CHR(i),
5174                                        L_ERROR_MSG );
5175           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || CUST_ACCT_ID_CHR(i) );
5176        END;
5177 
5178        --22. Validation for BTO rule .
5179        BEGIN
5180           BILL_TO_SITE_USE_ID(1)      := BILL_TO_SITE_USE_ID_CHR(i);
5181        EXCEPTION
5182        WHEN OTHERS THEN
5183           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'BTO') ;
5184           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5185           CLOSE L_LINE_DTLS_CSR;
5186           FND_MESSAGE.CLEAR;
5187           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
5188           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5189           L_ERROR_MSG      := SQLERRM;
5190           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5191                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5192                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5193                                       ERROR_MSG)
5194                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5195                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5196                                       'BTO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,BILL_TO_SITE_USE_ID_CHR(i),
5197                                        L_ERROR_MSG );
5198           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || BILL_TO_SITE_USE_ID_CHR(i) );
5199        END;
5200 
5201        --23. Validation for IRE rule .
5202        BEGIN
5203           INV_RULE_ID(1)      := INV_RULE_ID_CHR(i);
5204        EXCEPTION
5205        WHEN OTHERS THEN
5206           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'IRE') ;
5207           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5208           CLOSE L_LINE_DTLS_CSR;
5209           FND_MESSAGE.CLEAR;
5210           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
5211           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5212           L_ERROR_MSG      := SQLERRM;
5213           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5214                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5215                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5216                                       ERROR_MSG)
5217                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5218                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5219                                       'IRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,INV_RULE_ID_CHR(i),
5220                                        L_ERROR_MSG );
5221           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || INV_RULE_ID_CHR(i) );
5222        END;
5223 
5224        --24. Validation for STO rule .
5225        BEGIN
5226           SHIP_TO_SITE_USE_ID(1)      := SHIP_TO_SITE_USE_ID_CHR(i);
5227        EXCEPTION
5228        WHEN OTHERS THEN
5229           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'STO') ;
5230           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5231           CLOSE L_LINE_DTLS_CSR;
5232           FND_MESSAGE.CLEAR;
5233           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
5234           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5235           L_ERROR_MSG      := SQLERRM;
5236           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5237                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5238                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5239                                       ERROR_MSG)
5240                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5241                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5242                                       'STO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,SHIP_TO_SITE_USE_ID_CHR(i),
5243                                        L_ERROR_MSG );
5244           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || SHIP_TO_SITE_USE_ID_CHR(i) );
5245        END;
5246 
5247        --25. Validation for PTR rule .
5248        BEGIN
5249           PAYMENT_TERM_ID(1)      := PAYMENT_TERM_ID_CHR(i);
5250        EXCEPTION
5251        WHEN OTHERS THEN
5252           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PTR') ;
5253           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5254           CLOSE L_LINE_DTLS_CSR;
5255           FND_MESSAGE.CLEAR;
5256           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
5257           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5258           L_ERROR_MSG      := SQLERRM;
5259           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5260                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5261                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5262                                       ERROR_MSG)
5263                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5264                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5265                                       'PTR'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PAYMENT_TERM_ID_CHR(i),
5266                                        L_ERROR_MSG );
5267           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PAYMENT_TERM_ID_CHR(i) );
5268        END;
5269 
5270 /*
5271        --26. Validation for CCR rule .
5272        BEGIN
5273           CC_EXPIRY_DATE(1)      := CC_EXPIRY_DATE_CHR(i);
5274        EXCEPTION
5275        WHEN OTHERS THEN
5276           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'CCR') ;
5277           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5278           CLOSE L_LINE_DTLS_CSR;
5279           FND_MESSAGE.CLEAR;
5280           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
5281           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5282           L_ERROR_MSG      := SQLERRM;
5283           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5284                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5285                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5286                                       ERROR_MSG)
5287                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5288                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5289                                       'CCR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CC_EXPIRY_DATE_CHR(i),
5290                                        L_ERROR_MSG );
5291           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CC_EXPIRY_DATE_CHR(i) );
5292        END;
5293    */
5294 
5295   /*
5296        --27. Validation for IBR  rule .
5297        BEGIN
5298           IB_TRANS_DATE(1)      := IB_TRANS_DATE_CHR(i);
5299        EXCEPTION
5300        WHEN OTHERS THEN
5301           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'IBR') ;
5302           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5303           CLOSE L_LINE_DTLS_CSR;
5304           FND_MESSAGE.CLEAR;
5305           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_IB_TRANS_DATE');
5306           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5307           L_ERROR_MSG      := SQLERRM;
5308           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5309                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5310                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5311                                       ERROR_MSG)
5312                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5313                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5314                                       'IBR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,IB_TRANS_DATE_CHR(i),
5315                                        L_ERROR_MSG );
5316           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || IB_TRANS_DATE_CHR(i) );
5317        END;
5318 */
5319 
5320 
5321     --28
5322        BEGIN
5323           EXCEPTION_COV_ID(1)      := EXCEPTION_COV_ID_chr(i);
5324        EXCEPTION
5325        WHEN OTHERS THEN
5326           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'ECE') ;
5327           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5328           CLOSE L_LINE_DTLS_CSR;
5329           FND_MESSAGE.CLEAR;
5330           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
5331           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5332           L_ERROR_MSG      := SQLERRM;
5333           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5334                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5335                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5336                                       ERROR_MSG)
5337                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5338                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5339                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr(i),
5340                                        L_ERROR_MSG );
5341           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EXCEPTION_COV_ID_chr(i));
5342        END;
5343 --29
5344        BEGIN
5345           PM_PROGRAM_ID(1)      := PM_PROGRAM_ID_chr(i);
5346        EXCEPTION
5347        WHEN OTHERS THEN
5348           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PMP') ;
5349           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5350           CLOSE L_LINE_DTLS_CSR;
5351           FND_MESSAGE.CLEAR;
5352           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
5353           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5354           L_ERROR_MSG      := SQLERRM;
5355           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5356                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5357                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5358                                       ERROR_MSG)
5359                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5360                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5361                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr(i),
5362                                        L_ERROR_MSG );
5363           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PM_PROGRAM_ID_chr(i));
5364 
5365        END;
5366 --30
5367        BEGIN
5368           PRICE_LIST_ID(1)      := PRICE_LIST_ID_chr(i);
5369        EXCEPTION
5370        WHEN OTHERS THEN
5371           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PRE') ;
5372           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5373           CLOSE L_LINE_DTLS_CSR;
5374           FND_MESSAGE.CLEAR;
5375           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
5376           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5377           L_ERROR_MSG      := SQLERRM;
5378           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5379                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5380                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5381                                       ERROR_MSG)
5382                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5383                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5384                                       'PRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PRICE_LIST_ID_chr(i),
5385                                        L_ERROR_MSG );
5386           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_chr(i));
5387 
5388        END;
5389 --31
5390        BEGIN
5391           RCN_INCIDENT_SEVERITY_ID(1)      := RCN_INCIDENT_SEVERITY_ID_chr(i);
5392        EXCEPTION
5393        WHEN OTHERS THEN
5394           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'RCN') ;
5395           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5396           CLOSE L_LINE_DTLS_CSR;
5397           FND_MESSAGE.CLEAR;
5398           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
5399           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5400           L_ERROR_MSG      := SQLERRM;
5401           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5402                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5403                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5404                                       ERROR_MSG)
5405                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5406                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5407                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr(i),
5408                                        L_ERROR_MSG );
5409           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RCN_INCIDENT_SEVERITY_ID_chr(i));
5410 
5411        END;
5412 --32
5413        BEGIN
5414           RCN_PDF_ID(1)      := RCN_PDF_ID_chr(i);
5415        EXCEPTION
5416        WHEN OTHERS THEN
5417           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'RCN') ;
5418           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5419           CLOSE L_LINE_DTLS_CSR;
5420           FND_MESSAGE.CLEAR;
5421           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
5422           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5423           L_ERROR_MSG      := SQLERRM;
5424           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5425                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5426                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5427                                       ERROR_MSG)
5428                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5429                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5430                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr(i),
5431                                        L_ERROR_MSG );
5432           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RCN_PDF_ID_chr(i));
5433 
5434        END;
5435 --33
5436 
5437        BEGIN
5438           LIMIT_UOM_QUANTIFIED(1)      := LIMIT_UOM_QUANTIFIED_chr(i);
5439        EXCEPTION
5440        WHEN OTHERS THEN
5441           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'LMT') ;
5442           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5443           CLOSE L_LINE_DTLS_CSR;
5444           FND_MESSAGE.CLEAR;
5445           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LIMIT_UOM_QUANTIFIED');
5446           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5447           L_ERROR_MSG      := SQLERRM;
5448           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5449                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5450                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5451                                       ERROR_MSG)
5452                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5453                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5454                                       'LMT'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,LIMIT_UOM_QUANTIFIED_chr(i),
5455                                        L_ERROR_MSG );
5456           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || LIMIT_UOM_QUANTIFIED_chr(i));
5457 
5458        END;
5459 --34
5460        BEGIN
5461           DISCOUNT_AMOUNT(1)      := DISCOUNT_AMOUNT_chr(i);
5462        EXCEPTION
5463        WHEN OTHERS THEN
5464           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'LMT') ;
5465           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5466           CLOSE L_LINE_DTLS_CSR;
5467           FND_MESSAGE.CLEAR;
5468           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
5469           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5470           L_ERROR_MSG      := SQLERRM;
5471           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5472                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5473                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5474                                       ERROR_MSG)
5475                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5476                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5477                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr(i),
5478                                        L_ERROR_MSG );
5479          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || DISCOUNT_AMOUNT_chr(i));
5480 
5481        END;
5482 --35
5483        BEGIN
5484           DISCOUNT_PERCENT(1)      := DISCOUNT_PERCENT_chr(i);
5485        EXCEPTION
5486        WHEN OTHERS THEN
5487           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'LMT') ;
5488           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5489           CLOSE L_LINE_DTLS_CSR;
5490           FND_MESSAGE.CLEAR;
5491           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
5492           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5493           L_ERROR_MSG      := SQLERRM;
5494           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5495                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5496                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5497                                       ERROR_MSG)
5498                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5499                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5500                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr(i),
5501                                        L_ERROR_MSG );
5502          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
5503 
5504        END;
5505 
5506 --35a
5507        BEGIN
5508           LINE_LIST_PRICE(1)      := LINE_LIST_PRICE_CHR(i);
5509        EXCEPTION
5510        WHEN OTHERS THEN
5511           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL') ;
5512           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5513           CLOSE L_LINE_DTLS_CSR;
5514           FND_MESSAGE.CLEAR;
5515           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LINE_LIST_PRICE');
5516           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5517           L_ERROR_MSG      := SQLERRM;
5518           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5519                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5520                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5521                                       ERROR_MSG)
5522                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5523                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5524                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,LINE_LIST_PRICE_CHR(i),
5525                                        L_ERROR_MSG );
5526          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || LINE_LIST_PRICE_CHR(i));
5527 
5528        END;
5529 ----------------------------------------------------------------------------------------------------------------------
5530 --FOR SLL
5531 
5532 /*
5533 --36
5534        BEGIN
5535           LEVEL_PERIODS(1)      := LEVEL_PERIODS_CHR(i);
5536        EXCEPTION
5537        WHEN OTHERS THEN
5538           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL') ;
5539           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5540           CLOSE L_LINE_DTLS_CSR;
5541           FND_MESSAGE.CLEAR;
5542           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LEVEL_PERIODS');
5543           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5544           L_ERROR_MSG      := SQLERRM;
5545           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5546                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5547                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5548                                       ERROR_MSG)
5549                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5550                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5551                                       'SLL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,LEVEL_PERIODS_CHR(i),
5552                                        L_ERROR_MSG );
5553          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
5554 
5555        END;
5556 */
5557 
5558 /*
5559 --37
5560        BEGIN
5561           UOM_PER_PERIOD(1)      := UOM_PER_PERIOD_CHR(i);
5562        EXCEPTION
5563        WHEN OTHERS THEN
5564           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL') ;
5565           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5566           CLOSE L_LINE_DTLS_CSR;
5567           FND_MESSAGE.CLEAR;
5568           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_UOM_PER_PERIOD');
5569           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5570           L_ERROR_MSG      := SQLERRM;
5571           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5572                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5573                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5574                                       ERROR_MSG)
5575                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5576                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5577                                       'SLL'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,UOM_PER_PERIOD_CHR(i),
5578                                        L_ERROR_MSG );
5579          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
5580 
5581        END;
5582 */
5583 
5584 /*
5585 --38
5586        BEGIN
5587           ADVANCE_PERIODS(1)      := ADVANCE_PERIODS_CHR(i);
5588        EXCEPTION
5589        WHEN OTHERS THEN
5590           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL') ;
5591           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5592           CLOSE L_LINE_DTLS_CSR;
5593           FND_MESSAGE.CLEAR;
5594           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ADVANCE_PERIODS');
5595           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5596           L_ERROR_MSG      := SQLERRM;
5597           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5598                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5599                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5600                                       ERROR_MSG)
5601                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5602                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5603                                       'SLL'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,ADVANCE_PERIODS_CHR(i),
5604                                        L_ERROR_MSG );
5605          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
5606 
5607        END;
5608 */
5609 
5610 --39
5611        BEGIN
5612           LEVEL_AMOUNT(1)      := LEVEL_AMOUNT_CHR(i);
5613        EXCEPTION
5614        WHEN OTHERS THEN
5615           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL') ;
5616           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5617           CLOSE L_LINE_DTLS_CSR;
5618           FND_MESSAGE.CLEAR;
5619           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LEVEL_AMOUNT');
5620           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5621           L_ERROR_MSG      := SQLERRM;
5622           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5623                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5624                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5625                                       ERROR_MSG)
5626                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5627                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5628                                       'SLL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,LEVEL_AMOUNT_CHR(i),
5629                                        L_ERROR_MSG );
5630          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
5631 
5632        END;
5633 
5634 /*
5635 --40
5636        BEGIN
5637           INVOICE_OFFSET_DAYS(1)      := INVOICE_OFFSET_DAYS_CHR(i);
5638        EXCEPTION
5639        WHEN OTHERS THEN
5640           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL') ;
5641           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5642           CLOSE L_LINE_DTLS_CSR;
5643           FND_MESSAGE.CLEAR;
5644           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INVOICE_OFFSET_DAYS');
5645           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5646           L_ERROR_MSG      := SQLERRM;
5647           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5648                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5649                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5650                                       ERROR_MSG)
5651                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5652                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5653                                       'SLL'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,INVOICE_OFFSET_DAYS_CHR(i),
5654                                        L_ERROR_MSG );
5655          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
5656 
5657        END;
5658 */
5659 
5660 /*
5661 --41
5662        BEGIN
5663           INTERFACE_OFFSET_DAYS(1)      := INTERFACE_OFFSET_DAYS_CHR(i);
5664        EXCEPTION
5665        WHEN OTHERS THEN
5666           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL') ;
5667           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
5668           CLOSE L_LINE_DTLS_CSR;
5669           FND_MESSAGE.CLEAR;
5670           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INTERFACE_OFFSET_DAYS');
5671           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
5672           L_ERROR_MSG      := SQLERRM;
5673           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
5674                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
5675                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
5676                                       ERROR_MSG)
5677                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
5678                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
5679                                       'SLL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,INTERFACE_OFFSET_DAYS_CHR(i),
5680                                        L_ERROR_MSG );
5681          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
5682 
5683        END;
5684 */
5685 
5686     End Loop;
5687 
5688      CLE_ID.DELETE;
5689 
5690     -- End of code to validate data type .
5691     ------------------------------------------------------------------------------------
5692 
5693   End Loop;
5694 
5695   If(L_LINE_CSR1%ISOPEN) THEN
5696     Close  L_LINE_CSR1;
5697   END IF;
5698   If(L_LINE_CSR2%ISOPEN) THEN
5699     Close  L_LINE_CSR2;
5700   End if;
5701 
5702   If(L_LINE_CSR1_nus%ISOPEN) THEN
5703     Close  L_LINE_CSR1_nus;
5704   END IF;
5705   If(L_LINE_CSR2_nus%ISOPEN) THEN
5706     Close  L_LINE_CSR2_nus;
5707   End if;
5708 
5709 
5710 EXCEPTION
5711 WHEN OTHERS THEN
5712   If(L_LINE_CSR1%ISOPEN) THEN
5713     Close  L_LINE_CSR1;
5714   END IF;
5715   If(L_LINE_CSR2%ISOPEN) THEN
5716     Close  L_LINE_CSR2;
5717   End if;
5718   If(L_LINE_CSR1_nus%ISOPEN) THEN
5719     Close  L_LINE_CSR1_nus;
5720   END IF;
5721   If(L_LINE_CSR2_nus%ISOPEN) THEN
5722     Close  L_LINE_CSR2_nus;
5723   End if;
5724 
5725 
5726 
5727 END VALIDATE_LINE_RULE;
5728 
5729 --------------------------------------------------------------------------------------------
5730 --    This is the procedure called from VALIDATE_DATA1 to validate Line History rule data           --
5731 --------------------------------------------------------------------------------------------
5732 
5733 Procedure VALIDATE_LINE_HIST_RULE(
5734 			    ERRBUF            OUT NOCOPY VARCHAR2 ,
5735                             RETCODE           OUT NOCOPY NUMBER ,
5736                             p_status          in VARCHAR2,
5737                             p_org_id          in NUMBER ,
5738                             p_batch_size      in NUMBER,
5739 			    p_us_yn           in VARCHAR2,
5740                             p_id_low          in NUMBER,
5741                             p_id_hig          in NUMBER)
5742 IS
5743 
5744 Type l_num_tbl is table of  NUMBER         index  by BINARY_INTEGER ;
5745 Type l_date_tbl is table of DATE           index  by BINARY_INTEGER ;
5746 Type l_chr_tbl is table of  VARCHAR2(2000) index  by BINARY_INTEGER ;
5747 
5748 --table types declared with existing rule name wherever applicable
5749 
5750 
5751 CLE_ID                          l_num_tbl ;
5752 MAJOR_VERSION                   l_num_tbl ;
5753 DNZ_CHR_ID                      l_num_tbl ;
5754 DISCOUNT_LIST                   l_num_tbl ;  --DST
5755 ACCT_RULE_ID                    l_num_tbl ;  --ARL
5756 PAYMENT_TYPE                    l_chr_tbl ;  --CCR
5757 CC_NO                           l_chr_tbl ;  --CCR
5758 CC_EXPIRY_DATE			l_date_tbl ; --CCR
5759 CC_BANK_ACCT_ID			l_num_tbl ;  --CCR
5760 CC_AUTH_CODE			l_chr_tbl ;  --CCR
5761 GRACE_DURATION			l_num_tbl ;  --GPR
5762 GRACE_PERIOD			l_chr_tbl ;  --GPR
5763 INVOICE_TEXT			l_chr_tbl ;  --IRT
5764 INV_PRINT_FLAG			l_chr_tbl ;  --IRT
5765 PRICE_UOM			l_chr_tbl ;  --IRT
5766 TAX_AMOUNT			l_num_tbl ;  --IRT
5767 TAX_INCLUSIVE_YN		l_chr_tbl ;  --IRT
5768 TAX_STATUS			l_chr_tbl ;  --TAX
5769 TAX_CODE			l_num_tbl ;  --TAX
5770 TAX_EXEMPTION_ID		l_num_tbl ;  --TAX
5771 IB_TRANS_TYPE			l_chr_tbl ;  --IBR
5772 IB_TRANS_DATE			l_date_tbl ; --IBR
5773 IB_TRX_DETAILS			l_chr_tbl ;  --IBR
5774 CLVL_LIST_PRICE			l_num_tbl ;  --PDL
5775 CLVL_QUANTITY			l_num_tbl ;  --PDL
5776 CLVL_EXTENDED_AMT		l_num_tbl ;  --PDL
5777 TOPLVL_OPERAND_CODE		l_chr_tbl ;  --PDL
5778 TOPLVL_OPERAND_VAL		l_num_tbl ;  --PDL
5779 CLVL_UOM_CODE			l_chr_tbl ;  --PDL
5780 TOPLVL_QUANTITY			l_num_tbl ;  --PDL
5781 TOPLVL_UOM_CODE			l_chr_tbl ;  --PDL
5782 TOPLVL_ADJ_PRICE		l_num_tbl ;  --PDL
5783 TOPLVL_PRICE_QTY		l_num_tbl ;  --PDL
5784 STATUS_TEXT			l_chr_tbl ;  --PDL
5785 LINE_LIST_PRICE                 l_num_tbl ;  --PDL (OKC) rule_info4
5786 AVERAGING_INTERVAL		l_num_tbl ;  --QRE
5787 USAGE_PERIOD			l_chr_tbl ;  --QRE
5788 SETTLEMENT_INTERVAL		l_chr_tbl ;  --QRE
5789 MINIMUM_QUANTITY		l_num_tbl ;  --QRE
5790 DEFAULT_QUANTITY		l_num_tbl ;  --QRE
5791 AMCV_FLAG			l_chr_tbl ;  --QRE
5792 FIXED_QUANTITY			l_num_tbl ;  --QRE
5793 USAGE_DURATION			l_num_tbl ;  --QRE
5794 LEVEL_YN			l_chr_tbl ;  --QRE
5795 USAGE_TYPE			l_chr_tbl ;  --QRE
5796 UOM_QUANTIFIED			l_chr_tbl ;  --QRE
5797 BASE_READING			l_num_tbl ;  --QRE
5798 USAGE_EST_METHOD		l_chr_tbl ;  --QRE
5799 BILLING_SCHEDULE_TYPE		l_chr_tbl ;  --SLH
5800 CUST_ACCT_ID			l_num_tbl ;  --CAN (OKC)
5801 BILL_TO_SITE_USE_ID		l_num_tbl ;  --BTO (OKC)
5802 INV_RULE_ID			l_num_tbl ;  --IRE (OKC)
5803 LINE_RENEWAL_TYPE_CODE		l_chr_tbl ;  --REN (OKC)
5804 SHIP_TO_SITE_USE_ID		l_num_tbl ;  --STO (OKC)
5805 PAYMENT_TERM_ID			l_num_tbl ;  --PTR (OKC)
5806 
5807 -- Following for SLL --
5808 LEVEL_PERIODS			l_num_tbl ;
5809 UOM_PER_PERIOD			l_num_tbl ;
5810 ADVANCE_PERIODS			l_num_tbl ;
5811 LEVEL_AMOUNT			l_num_tbl ;
5812 INVOICE_OFFSET_DAYS		l_num_tbl ;
5813 INTERFACE_OFFSET_DAYS		l_num_tbl ;
5814 
5815 
5816 -- FOLLOWING ARE NUMBER FIELDS --
5817 DISCOUNT_LIST_CHR               l_chr_tbl ;  --DST
5818 ACCT_RULE_ID_CHR                l_chr_tbl ;  --ARL
5819 CC_BANK_ACCT_ID_CHR		l_chr_tbl ;  --CCR
5820 GRACE_DURATION_CHR		l_chr_tbl ;  --GPR
5821 TAX_AMOUNT_CHR   		l_chr_tbl ;  --IRT
5822 TAX_CODE_CHR    		l_chr_tbl ;  --TAX
5823 TAX_EXEMPTION_ID_CHR		l_chr_tbl ;  --TAX
5824 CLVL_LIST_PRICE_CHR		l_chr_tbl ;  --PDL
5825 CLVL_QUANTITY_CHR		l_chr_tbl ;  --PDL
5826 CLVL_EXTENDED_AMT_CHR   	l_chr_tbl ;  --PDL
5827 TOPLVL_OPERAND_VAL_CHR		l_chr_tbl ;  --PDL
5828 TOPLVL_QUANTITY_CHR		l_chr_tbl ;  --PDL
5829 TOPLVL_ADJ_PRICE_CHR		l_chr_tbl ;  --PDL
5830 TOPLVL_PRICE_QTY_CHR		l_chr_tbl ;  --PDL
5831 AVERAGING_INTERVAL_CHR		l_chr_tbl ;  --QRE
5832 MINIMUM_QUANTITY_CHR		l_chr_tbl ;  --QRE
5833 DEFAULT_QUANTITY_CHR		l_chr_tbl ;  --QRE
5834 FIXED_QUANTITY_CHR		l_chr_tbl ;  --QRE
5835 USAGE_DURATION_CHR		l_chr_tbl ;  --QRE
5836 BASE_READING_CHR		l_chr_tbl ;  --QRE
5837 CUST_ACCT_ID_CHR		l_chr_tbl ;  --CAN (OKC)
5838 BILL_TO_SITE_USE_ID_CHR		l_chr_tbl ;  --BTO (OKC)
5839 INV_RULE_ID_CHR			l_chr_tbl ;  --IRE (OKC)
5840 SHIP_TO_SITE_USE_ID_CHR		l_chr_tbl ;  --STO (OKC)
5841 PAYMENT_TERM_ID_CHR		l_chr_tbl ;  --PTR (OKC)
5842 LINE_LIST_PRICE_CHR             l_chr_tbl ;  --PDL (OKC) rule_info4
5843 
5844 -- Following for Coverage --
5845 EXCEPTION_COV_ID            l_num_tbl ;
5846 PM_PROGRAM_ID               l_num_tbl ;
5847 PRICE_LIST_ID               l_num_tbl ;
5848 RCN_INCIDENT_SEVERITY_ID    l_num_tbl ;
5849 RCN_PDF_ID                  l_num_tbl ;
5850 LIMIT_UOM_QUANTIFIED        l_num_tbl ;
5851 DISCOUNT_AMOUNT             l_num_tbl ;
5852 DISCOUNT_PERCENT            l_num_tbl ;
5853 
5854 
5855 
5856 ---- FOLLOWING ARE NUMBER FIELDS For Coverage/PM----
5857 EXCEPTION_COV_ID_chr            l_chr_tbl ;
5858 PM_PROGRAM_ID_chr               l_chr_tbl ;
5859 --DISCOUNT_LIST_chr               l_chr_tbl ;
5860 PRICE_LIST_ID_chr               l_chr_tbl ;
5861 RCN_INCIDENT_SEVERITY_ID_chr    l_chr_tbl ;
5862 RCN_PDF_ID_chr                  l_chr_tbl ;
5863 LIMIT_UOM_QUANTIFIED_chr        l_chr_tbl ;
5864 DISCOUNT_AMOUNT_chr             l_chr_tbl ;
5865 DISCOUNT_PERCENT_chr            l_chr_tbl ;
5866 
5867 ----- FOLLOWING ARE NUMBER FIELDS For SLL-----
5868 LEVEL_PERIODS_CHR		l_chr_tbl ;
5869 UOM_PER_PERIOD_CHR		l_chr_tbl ;
5870 ADVANCE_PERIODS_CHR		l_chr_tbl ;
5871 LEVEL_AMOUNT_CHR		l_chr_tbl ;
5872 INVOICE_OFFSET_DAYS_CHR		l_chr_tbl ;
5873 INTERFACE_OFFSET_DAYS_CHR	l_chr_tbl ;
5874 
5875 
5876 -- FOLLOWING ARE DATE FIELDS --
5877 CC_EXPIRY_DATE_CHR		l_chr_tbl ; --CCR
5878 IB_TRANS_DATE_CHR		l_chr_tbl ; --IBR
5879 
5880 --Misc Variables --
5881 L_ATTRIBUTE_NAME              VARCHAR2(2000);
5882 L_ERROR_MSG                   VARCHAR2(2000);
5883 
5884 l_us_yn                       BOOLEAN;
5885 -------------------------------------------------------------------------------
5886 -- The following is the cursor opened if all the parameters passed are null  --
5887 -------------------------------------------------------------------------------
5888 
5889 CURSOR L_LINE_HIST_CSR1 (p_id_low in NUMBER , p_id_hig in NUMBER ) IS
5890 SELECT * FROM (
5891 SELECT  RGP.CLE_ID        CLE_ID
5892        ,RUL.MAJOR_VERSION MAJOR_VERSION
5893        ,RGP.DNZ_CHR_ID    DNZ_CHR_ID
5894        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
5895                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5896                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
5897                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
5898                DISCOUNT_LIST
5899        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
5900                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5901                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
5902                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
5903                ACCT_RULE_ID
5904        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
5905                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5906                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
5907                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
5908                CC_BANK_ACCT_ID
5909        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
5910                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5911                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
5912                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
5913                GRACE_DURATION
5914        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
5915                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
5916                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
5917                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
5918                TAX_AMOUNT
5919        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
5920                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5921                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
5922                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
5923                TAX_CODE
5924        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
5925                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5926                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
5927                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
5928                TAX_EXEMPTION_ID
5929        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
5930                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
5931                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
5932                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
5933                CLVL_LIST_PRICE
5934        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
5935                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5936                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
5937                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
5938                CLVL_QUANTITY
5939        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
5940                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
5941                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
5942                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
5943                CLVL_EXTENDED_AMT
5944        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
5945                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
5946                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),NULL,
5947                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)))
5948                LINE_LIST_PRICE
5949        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
5950                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
5951                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
5952                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
5953                TOPLVL_OPERAND_VAL
5954        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
5955                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5956                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
5957                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
5958                TOPLVL_QUANTITY
5959        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
5960                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
5961                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
5962                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
5963                TOPLVL_ADJ_PRICE
5964        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
5965                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5966                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
5967                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
5968                TOPLVL_PRICE_QTY
5969        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
5970                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5971                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
5972                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
5973                AVERAGING_INTERVAL
5974        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
5975                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5976                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
5977                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
5978                MINIMUM_QUANTITY
5979        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
5980                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5981                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
5982                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
5983                DEFAULT_QUANTITY
5984        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
5985                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5986                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
5987                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
5988                FIXED_QUANTITY
5989        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
5990                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5991                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
5992                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
5993                USAGE_DURATION
5994        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
5995                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
5996                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
5997                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
5998                BASE_READING
5999        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
6000                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6001                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
6002                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
6003                CUST_ACCT_ID --OKC
6004        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
6005                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6006                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
6007                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
6008                BILL_TO_SITE_USE_ID --OKC
6009        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
6010                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6011                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
6012                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
6013                INV_RULE_ID --OKC
6014        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
6015                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6016                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
6017                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
6018                SHIP_TO_SITE_USE_ID --OKC
6019        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
6020                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6021                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
6022                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
6023                PAYMENT_TERM_ID --OKC
6024         ----------------------------- COVERAGE CODE START -------------------------------------------------
6025        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
6026                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6027                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
6028                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
6029                EXCEPTION_COV_ID
6030        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
6031                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6032                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
6033                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
6034                PM_PROGRAM_ID
6035        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),
6036                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6037                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),NULL,
6038                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)))
6039                PRICE_LIST_ID
6040        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
6041                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6042                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
6043                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
6044                RCN_INCIDENT_SEVERITY_ID
6045        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
6046                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6047                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
6048                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
6049                RCN_PDF_ID
6050        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
6051                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6052                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
6053                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
6054                LIMIT_UOM_QUANTIFIED
6055        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
6056                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6057                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
6058                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
6059                DISCOUNT_AMOUNT
6060        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
6061                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6062                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
6063                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
6064                DISCOUNT_PERCENT
6065         ----------------------------- COVERAGE CODE END ----------------------------------------------------
6066        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
6067                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6068                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
6069                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
6070                LEVEL_AMOUNT
6071   FROM OKC_RULE_GROUPS_BH RGP
6072      , OKC_RULES_BH       RUL
6073  WHERE RGP.ID  = RUL.RGP_ID
6074    AND RGP.MAJOR_VERSION = RUL.MAJOR_VERSION
6075    AND RGP.DNZ_CHR_ID    = RUL.DNZ_CHR_ID
6076    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
6077                                          'ECE','PMP','DST','RCN','RSN','LMT','PRE','SLL')
6078    AND RGP.CLE_ID IS NOT NULL
6079    AND RGP.RGD_CODE = 'SVC_K'
6080    AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
6081  GROUP BY RGP.CLE_ID ,RUL.MAJOR_VERSION,RGP.DNZ_CHR_ID )
6082 WHERE DISCOUNT_LIST IS NOT NULL OR
6083       ACCT_RULE_ID IS NOT NULL OR
6084       CC_BANK_ACCT_ID IS NOT NULL OR
6085       GRACE_DURATION IS NOT NULL OR
6086       TAX_AMOUNT IS NOT NULL OR
6087       TAX_CODE IS NOT NULL OR
6088       TAX_EXEMPTION_ID IS NOT NULL OR
6089       CLVL_LIST_PRICE IS NOT NULL OR
6090       CLVL_QUANTITY IS NOT NULL OR
6091       CLVL_EXTENDED_AMT IS NOT NULL OR
6092       TOPLVL_OPERAND_VAL IS NOT NULL OR
6093       TOPLVL_QUANTITY IS NOT NULL OR
6094       TOPLVL_ADJ_PRICE IS NOT NULL OR
6095       TOPLVL_PRICE_QTY IS NOT NULL OR
6096       AVERAGING_INTERVAL IS NOT NULL OR
6097       MINIMUM_QUANTITY IS NOT NULL OR
6098       DEFAULT_QUANTITY IS NOT NULL OR
6099       FIXED_QUANTITY IS NOT NULL OR
6100       USAGE_DURATION IS NOT NULL OR
6101       BASE_READING IS NOT NULL OR
6102       -- OKC --
6103       CUST_ACCT_ID IS NOT NULL OR
6104       BILL_TO_SITE_USE_ID IS NOT NULL OR
6105       INV_RULE_ID IS NOT NULL OR
6106       SHIP_TO_SITE_USE_ID IS NOT NULL OR
6107       PAYMENT_TERM_ID IS NOT NULL OR
6108       -- COVERAGE CODE START --
6109       EXCEPTION_COV_ID IS NOT NULL OR
6110       PM_PROGRAM_ID IS NOT NULL OR
6111       PRICE_LIST_ID IS NOT NULL OR
6112       RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
6113       RCN_PDF_ID IS NOT NULL OR
6114       LIMIT_UOM_QUANTIFIED IS NOT NULL OR
6115       DISCOUNT_AMOUNT IS NOT NULL OR
6116       DISCOUNT_PERCENT IS NOT NULL OR
6117       -- COVERAGE CODE END ---
6118       LEVEL_AMOUNT IS NOT NULL ;
6119 
6120  -------------------------------------------------------------------------------
6121 -- The following is the cursor opened if any of the following parameters are --
6122 -- passed to the concurrent request                                          --
6123 -- 1. p_status
6124 -- 2. p_org_id
6125 -------------------------------------------------------------------------------
6126 
6127 CURSOR L_LINE_HIST_CSR2 (p_id_low in NUMBER , p_id_hig in NUMBER  , p_status in VARCHAR2 , p_org_id in NUMBER ) IS
6128 SELECT * FROM (
6129 SELECT  RGP.CLE_ID        CLE_ID
6130        ,RUL.MAJOR_VERSION MAJOR_VERSION
6131        ,RGP.DNZ_CHR_ID    DNZ_CHR_ID
6132        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
6133                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6134                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
6135                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
6136                DISCOUNT_LIST
6137        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
6138                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6139                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
6140                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
6141                ACCT_RULE_ID
6142        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
6143                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6144                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
6145                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
6146                CC_BANK_ACCT_ID
6147        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
6148                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6149                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
6150                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
6151                GRACE_DURATION
6152        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
6153                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6154                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
6155                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
6156                TAX_AMOUNT
6157        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
6158                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6159                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
6160                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
6161                TAX_CODE
6162        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
6163                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6164                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
6165                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
6166                TAX_EXEMPTION_ID
6167        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
6168                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6169                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
6170                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
6171                CLVL_LIST_PRICE
6172        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
6173                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6174                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
6175                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
6176                CLVL_QUANTITY
6177        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
6178                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6179                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
6180                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
6181                CLVL_EXTENDED_AMT
6182        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
6183                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6184                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),NULL,
6185                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)))
6186                LINE_LIST_PRICE
6187        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
6188                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6189                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
6190                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
6191                TOPLVL_OPERAND_VAL
6192        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
6193                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6194                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
6195                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
6196                TOPLVL_QUANTITY
6197        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
6198                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6199                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
6200                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
6201                TOPLVL_ADJ_PRICE
6202        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
6203                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6204                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
6205                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
6206                TOPLVL_PRICE_QTY
6207        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
6208                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6209                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
6210                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
6211                AVERAGING_INTERVAL
6212        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
6213                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6214                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
6215                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
6216                MINIMUM_QUANTITY
6217        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
6218                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6219                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
6220                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
6221                DEFAULT_QUANTITY
6222        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
6223                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6224                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
6225                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
6226                FIXED_QUANTITY
6227        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
6228                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6229                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
6230                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
6231                USAGE_DURATION
6232        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
6233                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6234                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
6235                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
6236                BASE_READING
6237        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
6238                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6239                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
6240                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
6241                CUST_ACCT_ID --OKC
6242        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
6243                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6244                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
6245                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
6246                BILL_TO_SITE_USE_ID --OKC
6247        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
6248                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6249                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
6250                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
6251                INV_RULE_ID --OKC
6252        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
6253                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6254                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
6255                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
6256                SHIP_TO_SITE_USE_ID --OKC
6257        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
6258                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6259                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
6260                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
6261                PAYMENT_TERM_ID --OKC
6262         ----------------------------- COVERAGE CODE START -------------------------------------------------
6263        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
6264                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6265                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
6266                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
6267                EXCEPTION_COV_ID
6268        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
6269                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6270                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
6271                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
6272                PM_PROGRAM_ID
6273        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),
6274                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6275                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),NULL,
6276                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)))
6277                PRICE_LIST_ID
6278        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
6279                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6280                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
6281                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
6282                RCN_INCIDENT_SEVERITY_ID
6283        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
6284                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6285                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
6286                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
6287                RCN_PDF_ID
6288        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
6289                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6290                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
6291                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
6292                LIMIT_UOM_QUANTIFIED
6293        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
6294                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6295                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
6296                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
6297                DISCOUNT_AMOUNT
6298        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
6299                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6300                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
6301                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
6302                DISCOUNT_PERCENT
6303         ----------------------------- COVERAGE CODE END ----------------------------------------------------
6304        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
6305                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
6306                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
6307                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
6308                LEVEL_AMOUNT
6309   FROM OKC_RULE_GROUPS_BH RGP
6310      , OKC_RULES_BH RUL
6311      , OKC_K_HEADERS_BH HDR
6312  WHERE RGP.ID  = RUL.RGP_ID
6313    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
6314                                          'ECE','PMP','DST','RCN','RSN','LMT','PRE','SLL')
6315    AND RGP.CLE_ID IS NOT NULL
6316    AND RGP.RGD_CODE = 'SVC_K'
6317    AND HDR.STS_CODE = NVL(P_STATUS,HDR.STS_CODE)
6318    AND HDR.AUTHORING_ORG_ID = NVL(P_ORG_ID,HDR.AUTHORING_ORG_ID)
6319    AND HDR.MAJOR_VERSION = RGP.MAJOR_VERSION
6320    AND HDR.ID = RGP.DNZ_CHR_ID
6321    AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
6322    AND RGP.MAJOR_VERSION = RUL.MAJOR_VERSION
6323    AND HDR.ID = RUL.DNZ_CHR_ID
6324    AND HDR.MAJOR_VERSION = RUL.MAJOR_VERSION
6325    AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
6326  GROUP BY RGP.CLE_ID ,RUL.MAJOR_VERSION,RGP.DNZ_CHR_ID )
6327 WHERE   DISCOUNT_LIST IS NOT NULL OR
6328   ACCT_RULE_ID IS NOT NULL OR
6329   CC_BANK_ACCT_ID IS NOT NULL OR
6330   GRACE_DURATION IS NOT NULL OR
6331   TAX_AMOUNT IS NOT NULL OR
6332   TAX_CODE IS NOT NULL OR
6333   TAX_EXEMPTION_ID IS NOT NULL OR
6334   CLVL_LIST_PRICE IS NOT NULL OR
6335   CLVL_QUANTITY IS NOT NULL OR
6336   CLVL_EXTENDED_AMT IS NOT NULL OR
6337   TOPLVL_OPERAND_VAL IS NOT NULL OR
6338   TOPLVL_QUANTITY IS NOT NULL OR
6339   TOPLVL_ADJ_PRICE IS NOT NULL OR
6340   TOPLVL_PRICE_QTY IS NOT NULL OR
6341   AVERAGING_INTERVAL IS NOT NULL OR
6342   MINIMUM_QUANTITY IS NOT NULL OR
6343   DEFAULT_QUANTITY IS NOT NULL OR
6344   FIXED_QUANTITY IS NOT NULL OR
6345   USAGE_DURATION IS NOT NULL OR
6346   BASE_READING IS NOT NULL OR
6347   -- OKC --
6348   CUST_ACCT_ID IS NOT NULL OR
6349   BILL_TO_SITE_USE_ID IS NOT NULL OR
6350   INV_RULE_ID IS NOT NULL OR
6351   SHIP_TO_SITE_USE_ID IS NOT NULL OR
6352   PAYMENT_TERM_ID IS NOT NULL OR
6353   -- COVERAGE CODE START --
6354   EXCEPTION_COV_ID IS NOT NULL OR
6355   PM_PROGRAM_ID IS NOT NULL OR
6356   PRICE_LIST_ID IS NOT NULL OR
6357   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
6358   RCN_PDF_ID IS NOT NULL OR
6359   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
6360   DISCOUNT_AMOUNT IS NOT NULL OR
6361   DISCOUNT_PERCENT IS NOT NULL OR
6362   -- COVERAGE CODE END ---
6363   LEVEL_AMOUNT IS NOT NULL ;
6364 
6365 CURSOR L_LINE_HIST_CSR1_nus (p_id_low in NUMBER , p_id_hig in NUMBER ) IS
6366 SELECT * FROM (
6367 SELECT  RGP.CLE_ID        CLE_ID
6368        ,RUL.MAJOR_VERSION MAJOR_VERSION
6369        ,RGP.DNZ_CHR_ID    DNZ_CHR_ID
6370        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
6371                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6372                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
6373                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
6374                DISCOUNT_LIST
6375        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
6376                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6377                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
6378                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
6379                ACCT_RULE_ID
6380        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
6381                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6382                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
6383                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
6384                CC_BANK_ACCT_ID
6385        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
6386                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6387                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
6388                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
6389                GRACE_DURATION
6390        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
6391                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6392                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
6393                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
6394                TAX_AMOUNT
6395        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
6396                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6397                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
6398                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
6399                TAX_CODE
6400        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
6401                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6402                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
6403                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
6404                TAX_EXEMPTION_ID
6405        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
6406                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6407                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
6408                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
6409                CLVL_LIST_PRICE
6410        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
6411                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6412                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
6413                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
6414                CLVL_QUANTITY
6415        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
6416                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6417                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
6418                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
6419                CLVL_EXTENDED_AMT
6420        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
6421                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6422                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),NULL,
6423                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)))
6424                LINE_LIST_PRICE
6425        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
6426                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6427                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
6428                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
6429                TOPLVL_OPERAND_VAL
6430        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
6431                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6432                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
6433                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
6434                TOPLVL_QUANTITY
6435        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
6436                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6437                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
6438                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
6439                TOPLVL_ADJ_PRICE
6440        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
6441                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6442                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
6443                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
6444                TOPLVL_PRICE_QTY
6445        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
6446                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6447                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
6448                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
6449                AVERAGING_INTERVAL
6450        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
6451                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6452                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
6453                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
6454                MINIMUM_QUANTITY
6455        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
6456                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6457                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
6458                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
6459                DEFAULT_QUANTITY
6460        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
6461                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6462                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
6463                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
6464                FIXED_QUANTITY
6465        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
6466                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6467                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
6468                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
6469                USAGE_DURATION
6470        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
6471                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6472                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
6473                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
6474                BASE_READING
6475        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
6476                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6477                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
6478                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
6479                CUST_ACCT_ID --OKC
6480        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
6481                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6482                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
6483                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
6484                BILL_TO_SITE_USE_ID --OKC
6485        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
6486                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6487                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
6488                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
6489                INV_RULE_ID --OKC
6490        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
6491                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6492                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
6493                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
6494                SHIP_TO_SITE_USE_ID --OKC
6495        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
6496                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6497                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
6498                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
6499                PAYMENT_TERM_ID --OKC
6500         ----------------------------- COVERAGE CODE START -------------------------------------------------
6501        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
6502                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6503                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
6504                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
6505                EXCEPTION_COV_ID
6506        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
6507                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6508                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
6509                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
6510                PM_PROGRAM_ID
6511        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),
6512                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6513                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),NULL,
6514                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)))
6515                PRICE_LIST_ID
6516        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
6517                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6518                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
6519                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
6520                RCN_INCIDENT_SEVERITY_ID
6521        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
6522                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6523                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
6524                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
6525                RCN_PDF_ID
6526        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
6527                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6528                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
6529                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
6530                LIMIT_UOM_QUANTIFIED
6531        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
6532                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6533                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
6534                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
6535                DISCOUNT_AMOUNT
6536        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
6537                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6538                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
6539                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
6540                DISCOUNT_PERCENT
6541         ----------------------------- COVERAGE CODE END ----------------------------------------------------
6542        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
6543                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6544                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
6545                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
6546                LEVEL_AMOUNT
6547   FROM OKC_RULE_GROUPS_BH RGP
6548      , OKC_RULES_BH       RUL
6549  WHERE RGP.ID  = RUL.RGP_ID
6550    AND RGP.MAJOR_VERSION = RUL.MAJOR_VERSION
6551    AND RGP.DNZ_CHR_ID    = RUL.DNZ_CHR_ID
6552    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
6553                                          'ECE','PMP','DST','RCN','RSN','LMT','PRE','SLL')
6554    AND RGP.CLE_ID IS NOT NULL
6555    AND RGP.RGD_CODE = 'SVC_K'
6556    AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
6557  GROUP BY RGP.CLE_ID ,RUL.MAJOR_VERSION,RGP.DNZ_CHR_ID )
6558 WHERE DISCOUNT_LIST IS NOT NULL OR
6559       ACCT_RULE_ID IS NOT NULL OR
6560       CC_BANK_ACCT_ID IS NOT NULL OR
6561       GRACE_DURATION IS NOT NULL OR
6562       TAX_AMOUNT IS NOT NULL OR
6563       TAX_CODE IS NOT NULL OR
6564       TAX_EXEMPTION_ID IS NOT NULL OR
6565       CLVL_LIST_PRICE IS NOT NULL OR
6566       CLVL_QUANTITY IS NOT NULL OR
6567       CLVL_EXTENDED_AMT IS NOT NULL OR
6568       TOPLVL_OPERAND_VAL IS NOT NULL OR
6569       TOPLVL_QUANTITY IS NOT NULL OR
6570       TOPLVL_ADJ_PRICE IS NOT NULL OR
6571       TOPLVL_PRICE_QTY IS NOT NULL OR
6572       AVERAGING_INTERVAL IS NOT NULL OR
6573       MINIMUM_QUANTITY IS NOT NULL OR
6574       DEFAULT_QUANTITY IS NOT NULL OR
6575       FIXED_QUANTITY IS NOT NULL OR
6576       USAGE_DURATION IS NOT NULL OR
6577       BASE_READING IS NOT NULL OR
6578       -- OKC --
6579       CUST_ACCT_ID IS NOT NULL OR
6580       BILL_TO_SITE_USE_ID IS NOT NULL OR
6581       INV_RULE_ID IS NOT NULL OR
6582       SHIP_TO_SITE_USE_ID IS NOT NULL OR
6583       PAYMENT_TERM_ID IS NOT NULL OR
6584       -- COVERAGE CODE START --
6585       EXCEPTION_COV_ID IS NOT NULL OR
6586       PM_PROGRAM_ID IS NOT NULL OR
6587       PRICE_LIST_ID IS NOT NULL OR
6588       RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
6589       RCN_PDF_ID IS NOT NULL OR
6590       LIMIT_UOM_QUANTIFIED IS NOT NULL OR
6591       DISCOUNT_AMOUNT IS NOT NULL OR
6592       DISCOUNT_PERCENT IS NOT NULL OR
6593       -- COVERAGE CODE END ---
6594       LEVEL_AMOUNT IS NOT NULL ;
6595 
6596  -------------------------------------------------------------------------------
6597 -- The following is the cursor opened if any of the following parameters are --
6598 -- passed to the concurrent request                                          --
6599 -- 1. p_status
6600 -- 2. p_org_id
6601 -------------------------------------------------------------------------------
6602 
6603 CURSOR L_LINE_HIST_CSR2_nus (p_id_low in NUMBER , p_id_hig in NUMBER  , p_status in VARCHAR2 , p_org_id in NUMBER ) IS
6604 SELECT * FROM (
6605 SELECT  RGP.CLE_ID        CLE_ID
6606        ,RUL.MAJOR_VERSION MAJOR_VERSION
6607        ,RGP.DNZ_CHR_ID    DNZ_CHR_ID
6608        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
6609                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6610                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
6611                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
6612                DISCOUNT_LIST
6613        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
6614                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6615                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
6616                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
6617                ACCT_RULE_ID
6618        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
6619                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6620                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
6621                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
6622                CC_BANK_ACCT_ID
6623        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
6624                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6625                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
6626                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
6627                GRACE_DURATION
6628        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
6629                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6630                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
6631                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
6632                TAX_AMOUNT
6633        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
6634                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6635                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
6636                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
6637                TAX_CODE
6638        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
6639                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6640                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
6641                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
6642                TAX_EXEMPTION_ID
6643        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
6644                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6645                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
6646                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
6647                CLVL_LIST_PRICE
6648        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
6649                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6650                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
6651                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
6652                CLVL_QUANTITY
6653        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
6654                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6655                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
6656                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
6657                CLVL_EXTENDED_AMT
6658        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
6659                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6660                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),NULL,
6661                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)))
6662                LINE_LIST_PRICE
6663        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
6664                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6665                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
6666                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
6667                TOPLVL_OPERAND_VAL
6668        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
6669                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6670                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
6671                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
6672                TOPLVL_QUANTITY
6673        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
6674                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6675                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
6676                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
6677                TOPLVL_ADJ_PRICE
6678        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
6679                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6680                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
6681                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
6682                TOPLVL_PRICE_QTY
6683        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
6684                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6685                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
6686                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
6687                AVERAGING_INTERVAL
6688        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
6689                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6690                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
6691                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
6692                MINIMUM_QUANTITY
6693        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
6694                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6695                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
6696                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
6697                DEFAULT_QUANTITY
6698        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
6699                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6700                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
6701                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
6702                FIXED_QUANTITY
6703        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
6704                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6705                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
6706                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
6707                USAGE_DURATION
6708        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
6709                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6710                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
6711                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
6712                BASE_READING
6713        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
6714                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6715                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
6716                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
6717                CUST_ACCT_ID --OKC
6718        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
6719                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6720                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
6721                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
6722                BILL_TO_SITE_USE_ID --OKC
6723        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
6724                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6725                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
6726                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
6727                INV_RULE_ID --OKC
6728        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
6729                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6730                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
6731                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
6732                SHIP_TO_SITE_USE_ID --OKC
6733        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
6734                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6735                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
6736                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
6737                PAYMENT_TERM_ID --OKC
6738         ----------------------------- COVERAGE CODE START -------------------------------------------------
6739        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
6740                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6741                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
6742                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
6743                EXCEPTION_COV_ID
6744        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
6745                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6746                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
6747                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
6748                PM_PROGRAM_ID
6749        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),
6750                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6751                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)),NULL,
6752                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1)))
6753                PRICE_LIST_ID
6754        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
6755                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6756                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
6757                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
6758                RCN_INCIDENT_SEVERITY_ID
6759        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
6760                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
6761                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
6762                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
6763                RCN_PDF_ID
6764        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
6765                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6766                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
6767                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
6768                LIMIT_UOM_QUANTIFIED
6769        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
6770                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6771                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
6772                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
6773                DISCOUNT_AMOUNT
6774        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
6775                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6776                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
6777                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
6778                DISCOUNT_PERCENT
6779         ----------------------------- COVERAGE CODE END ----------------------------------------------------
6780        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
6781                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
6782                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
6783                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
6784                LEVEL_AMOUNT
6785   FROM OKC_RULE_GROUPS_BH RGP
6786      , OKC_RULES_BH RUL
6787      , OKC_K_HEADERS_BH HDR
6788  WHERE RGP.ID  = RUL.RGP_ID
6789    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
6790                                          'ECE','PMP','DST','RCN','RSN','LMT','PRE','SLL')
6791    AND RGP.CLE_ID IS NOT NULL
6792    AND RGP.RGD_CODE = 'SVC_K'
6793    AND HDR.STS_CODE = NVL(P_STATUS,HDR.STS_CODE)
6794    AND HDR.AUTHORING_ORG_ID = NVL(P_ORG_ID,HDR.AUTHORING_ORG_ID)
6795    AND HDR.MAJOR_VERSION = RGP.MAJOR_VERSION
6796    AND HDR.ID = RGP.DNZ_CHR_ID
6797    AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
6798    AND RGP.MAJOR_VERSION = RUL.MAJOR_VERSION
6799    AND HDR.ID = RUL.DNZ_CHR_ID
6800    AND HDR.MAJOR_VERSION = RUL.MAJOR_VERSION
6801    AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
6802  GROUP BY RGP.CLE_ID ,RUL.MAJOR_VERSION,RGP.DNZ_CHR_ID )
6803 WHERE   DISCOUNT_LIST IS NOT NULL OR
6804   ACCT_RULE_ID IS NOT NULL OR
6805   CC_BANK_ACCT_ID IS NOT NULL OR
6806   GRACE_DURATION IS NOT NULL OR
6807   TAX_AMOUNT IS NOT NULL OR
6808   TAX_CODE IS NOT NULL OR
6809   TAX_EXEMPTION_ID IS NOT NULL OR
6810   CLVL_LIST_PRICE IS NOT NULL OR
6811   CLVL_QUANTITY IS NOT NULL OR
6812   CLVL_EXTENDED_AMT IS NOT NULL OR
6813   TOPLVL_OPERAND_VAL IS NOT NULL OR
6814   TOPLVL_QUANTITY IS NOT NULL OR
6815   TOPLVL_ADJ_PRICE IS NOT NULL OR
6816   TOPLVL_PRICE_QTY IS NOT NULL OR
6817   AVERAGING_INTERVAL IS NOT NULL OR
6818   MINIMUM_QUANTITY IS NOT NULL OR
6819   DEFAULT_QUANTITY IS NOT NULL OR
6820   FIXED_QUANTITY IS NOT NULL OR
6821   USAGE_DURATION IS NOT NULL OR
6822   BASE_READING IS NOT NULL OR
6823   -- OKC --
6824   CUST_ACCT_ID IS NOT NULL OR
6825   BILL_TO_SITE_USE_ID IS NOT NULL OR
6826   INV_RULE_ID IS NOT NULL OR
6827   SHIP_TO_SITE_USE_ID IS NOT NULL OR
6828   PAYMENT_TERM_ID IS NOT NULL OR
6829   -- COVERAGE CODE START --
6830   EXCEPTION_COV_ID IS NOT NULL OR
6831   PM_PROGRAM_ID IS NOT NULL OR
6832   PRICE_LIST_ID IS NOT NULL OR
6833   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
6834   RCN_PDF_ID IS NOT NULL OR
6835   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
6836   DISCOUNT_AMOUNT IS NOT NULL OR
6837   DISCOUNT_PERCENT IS NOT NULL OR
6838   -- COVERAGE CODE END ---
6839   LEVEL_AMOUNT IS NOT NULL ;
6840 
6841 
6842  ----------------------------------------------------------------------------
6843 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
6844 ----------------------------------------------------------------------------
6845 CURSOR L_LINE_DTLS_CSR (P_CLE_ID  IN NUMBER ,P_HDR_ID IN NUMBER, P_CATEGORY IN VARCHAR2 ,P_MAJOR_VERSION IN NUMBER ) IS
6846 SELECT HDR.CONTRACT_NUMBER
6847      , HDR.CONTRACT_NUMBER_MODIFIER
6848      , LIN.MAJOR_VERSION
6849      , LIN.LINE_NUMBER
6850      , RUL.ID
6851      , RGP.ID RGP_ID
6852  FROM  OKC_K_HEADERS_BH HDR
6853      , OKC_RULE_GROUPS_BH RGP
6854      , OKC_RULES_BH RUL
6855      , OKC_K_LINES_BH LIN
6856 WHERE HDR.ID = P_HDR_ID
6857   AND LIN.ID= P_CLE_ID
6858   AND RGP.DNZ_CHR_ID = P_HDR_ID
6859   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
6860   AND RGP.CLE_ID = LIN.ID
6861   AND RGP.ID = RUL.RGP_ID
6862   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY
6863   AND RGP.MAJOR_VERSION = P_MAJOR_VERSION;
6864 
6865 L_LINE_DTLS_REC L_LINE_DTLS_CSR%ROWTYPE;
6866 ----------------------------------------------------------------------------
6867 
6868 BEGIN
6869   FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
6870   FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Line History Rule Data Validation----------');
6871   FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
6872   FND_FILE.PUT_LINE (FND_FILE.LOG, '----------Parameters passed to the Subrequest Request are as follows  -----------');
6873   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_STATUS ==============> '||P_STATUS);
6874   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ORG_ID ==============> '||P_ORG_ID);
6875   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_BATCH_SIZE  =========> '||P_BATCH_SIZE);
6876   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_LOW ==============> '||p_ID_LOW);
6877   FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_HIG ==============> '||P_ID_HIG);
6878   FND_FILE.PUT_LINE (FND_FILE.LOG, '---------------------------------------------------------------------------------');
6879 
6880 
6881 --  FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
6882 --  FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'             Start of Line History Validation Report for               ');
6883 --  FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
6884 --  FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,' Contract Number      |Modifier                |Line Number    |Rule Category     |Attribute Name       |Current Value       ');
6885 
6886 
6887   if(p_us_yn = 'true') then
6888     l_us_yn := true;
6889   else
6890     l_us_yn := false;
6891   end if;
6892 
6893   if(l_us_yn) then
6894     If ( p_status is null and p_org_id is null  )  then
6895        OPEN L_LINE_HIST_CSR1(p_id_low , p_id_hig);
6896        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is L_LINE_HIST_CSR1');
6897     Else
6898        OPEN L_LINE_HIST_CSR2(p_id_low , p_id_hig , p_status , p_org_id);
6899        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is L_LINE_HIST_CSR2');
6900     End IF;
6901 
6902   else
6903 
6904     If ( p_status is null and p_org_id is null  )  then
6905        OPEN L_LINE_HIST_CSR1_nus(p_id_low , p_id_hig);
6906        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is L_LINE_HIST_CSR1_nus');
6907     Else
6908        OPEN L_LINE_HIST_CSR2_nus(p_id_low , p_id_hig , p_status , p_org_id);
6909        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is L_LINE_HIST_CSR2_nus');
6910     End IF;
6911 
6912   end if;
6913 
6914   Loop
6915 
6916      ------------------------------------------------------------------------------------
6917    if(l_us_yn) then
6918 
6919     --Start of If to choose the cursor to be fetched --
6920 
6921     If (p_status is null and p_org_id is null )  then
6922         FETCH L_LINE_HIST_CSR1 bulk collect into
6923 		CLE_ID,
6924 		MAJOR_VERSION,
6925 		DNZ_CHR_ID,
6926 		DISCOUNT_LIST_CHR,
6927 		ACCT_RULE_ID_CHR,
6928 		--CC_EXPIRY_DATE_CHR,
6929 		CC_BANK_ACCT_ID_CHR,
6930 		GRACE_DURATION_CHR,
6931 		TAX_AMOUNT_CHR,
6932 		TAX_CODE_CHR,
6933 		TAX_EXEMPTION_ID_CHR,
6934 		--IB_TRANS_DATE_CHR,
6935 		CLVL_LIST_PRICE_CHR,
6936 		CLVL_QUANTITY_CHR,
6937 		CLVL_EXTENDED_AMT_CHR,
6938                 LINE_LIST_PRICE_CHR,
6939 		TOPLVL_OPERAND_VAL_CHR,
6940 		TOPLVL_QUANTITY_CHR,
6941 		TOPLVL_ADJ_PRICE_CHR,
6942 		TOPLVL_PRICE_QTY_CHR,
6943 		AVERAGING_INTERVAL_CHR,
6944 		MINIMUM_QUANTITY_CHR,
6945 		DEFAULT_QUANTITY_CHR,
6946 		FIXED_QUANTITY_CHR,
6947 		USAGE_DURATION_CHR,
6948         	BASE_READING_CHR,
6949 		CUST_ACCT_ID_CHR,
6950 		BILL_TO_SITE_USE_ID_CHR,
6951 		INV_RULE_ID_CHR,
6952 		SHIP_TO_SITE_USE_ID_CHR,
6953 		PAYMENT_TERM_ID_CHR	   ,
6954                 --------------------
6955                 EXCEPTION_COV_ID_chr,
6956                 PM_PROGRAM_ID_chr,
6957                 PRICE_LIST_ID_chr,
6958                 RCN_INCIDENT_SEVERITY_ID_chr,
6959                 RCN_PDF_ID_chr,
6960                 LIMIT_UOM_QUANTIFIED_chr,
6961                 DISCOUNT_AMOUNT_chr,
6962                 DISCOUNT_PERCENT_chr,
6963 	        -----------------------------------
6964 	        --LEVEL_PERIODS_CHR,
6965 		--UOM_PER_PERIOD_CHR,
6966 		--ADVANCE_PERIODS_CHR,
6967 		LEVEL_AMOUNT_CHR
6968 		--INVOICE_OFFSET_DAYS_CHR,
6969 		--INTERFACE_OFFSET_DAYS_CHR
6970 		LIMIT p_batch_size; --OKC
6971 
6972       FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is L_LINE_HIST_CSR1');
6973       FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CLE_ID.COUNT );
6974       EXIT WHEN CLE_ID.COUNT = 0 ;
6975 
6976     Else
6977         FETCH L_LINE_HIST_CSR2 bulk collect into
6978 		CLE_ID,
6979 		MAJOR_VERSION,
6980 		DNZ_CHR_ID,
6981 		DISCOUNT_LIST_CHR,
6982 		ACCT_RULE_ID_CHR,
6983 		--CC_EXPIRY_DATE_CHR,
6984 		CC_BANK_ACCT_ID_CHR,
6985 		GRACE_DURATION_CHR,
6986 		TAX_AMOUNT_CHR,
6987 		TAX_CODE_CHR,
6988 		TAX_EXEMPTION_ID_CHR,
6989 		--IB_TRANS_DATE_CHR,
6990 		CLVL_LIST_PRICE_CHR,
6991 		CLVL_QUANTITY_CHR,
6992 		CLVL_EXTENDED_AMT_CHR,
6993                 LINE_LIST_PRICE_CHR,
6994 		TOPLVL_OPERAND_VAL_CHR,
6995 		TOPLVL_QUANTITY_CHR,
6996 		TOPLVL_ADJ_PRICE_CHR,
6997 		TOPLVL_PRICE_QTY_CHR,
6998 		AVERAGING_INTERVAL_CHR,
6999 		MINIMUM_QUANTITY_CHR,
7000 		DEFAULT_QUANTITY_CHR,
7001 		FIXED_QUANTITY_CHR,
7002 		USAGE_DURATION_CHR,
7003         	BASE_READING_CHR,
7004 		CUST_ACCT_ID_CHR,
7005 		BILL_TO_SITE_USE_ID_CHR,
7006 		INV_RULE_ID_CHR,
7007 		SHIP_TO_SITE_USE_ID_CHR,
7008 		PAYMENT_TERM_ID_CHR	   ,
7009                 --------------------
7010                 EXCEPTION_COV_ID_chr,
7011                 PM_PROGRAM_ID_chr,
7012                 PRICE_LIST_ID_chr,
7013                 RCN_INCIDENT_SEVERITY_ID_chr,
7014                 RCN_PDF_ID_chr,
7015                 LIMIT_UOM_QUANTIFIED_chr,
7016                 DISCOUNT_AMOUNT_chr,
7017                 DISCOUNT_PERCENT_chr,
7018                 -----------------------------------
7019 	        --LEVEL_PERIODS_CHR,
7020 		--UOM_PER_PERIOD_CHR,
7021 		--ADVANCE_PERIODS_CHR,
7022 		LEVEL_AMOUNT_CHR
7023 		--INVOICE_OFFSET_DAYS_CHR,
7024 		--INTERFACE_OFFSET_DAYS_CHR
7025 		LIMIT p_batch_size; --OKC
7026 
7027       FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is L_LINE_HIST_CSR2');
7028       FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CLE_ID.COUNT );
7029       EXIT WHEN CLE_ID.COUNT = 0 ;
7030 
7031     End IF;
7032 
7033     --End of If to choose the cursor to be fetched --
7034 
7035    else
7036 
7037     --Start of If to choose the cursor to be fetched --
7038 
7039     If (p_status is null and p_org_id is null )  then
7040         FETCH L_LINE_HIST_CSR1_nus bulk collect into
7041 		CLE_ID,
7042 		MAJOR_VERSION,
7043 		DNZ_CHR_ID,
7044 		DISCOUNT_LIST_CHR,
7045 		ACCT_RULE_ID_CHR,
7046 		--CC_EXPIRY_DATE_CHR,
7047 		CC_BANK_ACCT_ID_CHR,
7048 		GRACE_DURATION_CHR,
7049 		TAX_AMOUNT_CHR,
7050 		TAX_CODE_CHR,
7051 		TAX_EXEMPTION_ID_CHR,
7052 		--IB_TRANS_DATE_CHR,
7053 		CLVL_LIST_PRICE_CHR,
7054 		CLVL_QUANTITY_CHR,
7055 		CLVL_EXTENDED_AMT_CHR,
7056                 LINE_LIST_PRICE_CHR,
7057 		TOPLVL_OPERAND_VAL_CHR,
7058 		TOPLVL_QUANTITY_CHR,
7059 		TOPLVL_ADJ_PRICE_CHR,
7060 		TOPLVL_PRICE_QTY_CHR,
7061 		AVERAGING_INTERVAL_CHR,
7062 		MINIMUM_QUANTITY_CHR,
7063 		DEFAULT_QUANTITY_CHR,
7064 		FIXED_QUANTITY_CHR,
7065 		USAGE_DURATION_CHR,
7066         	BASE_READING_CHR,
7067 		CUST_ACCT_ID_CHR,
7068 		BILL_TO_SITE_USE_ID_CHR,
7069 		INV_RULE_ID_CHR,
7070 		SHIP_TO_SITE_USE_ID_CHR,
7071 		PAYMENT_TERM_ID_CHR	   ,
7072                 --------------------
7073                 EXCEPTION_COV_ID_chr,
7074                 PM_PROGRAM_ID_chr,
7075                 PRICE_LIST_ID_chr,
7076                 RCN_INCIDENT_SEVERITY_ID_chr,
7077                 RCN_PDF_ID_chr,
7078                 LIMIT_UOM_QUANTIFIED_chr,
7079                 DISCOUNT_AMOUNT_chr,
7080                 DISCOUNT_PERCENT_chr,
7081 	        -----------------------------------
7082 	        --LEVEL_PERIODS_CHR,
7083 		--UOM_PER_PERIOD_CHR,
7084 		--ADVANCE_PERIODS_CHR,
7085 		LEVEL_AMOUNT_CHR
7086 		--INVOICE_OFFSET_DAYS_CHR,
7087 		--INTERFACE_OFFSET_DAYS_CHR
7088 		LIMIT p_batch_size; --OKC
7089 
7090       FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is L_LINE_HIST_CSR1');
7091       FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CLE_ID.COUNT );
7092       EXIT WHEN CLE_ID.COUNT = 0 ;
7093 
7094     Else
7095         FETCH L_LINE_HIST_CSR2_nus bulk collect into
7096 		CLE_ID,
7097 		MAJOR_VERSION,
7098 		DNZ_CHR_ID,
7099 		DISCOUNT_LIST_CHR,
7100 		ACCT_RULE_ID_CHR,
7101 		--CC_EXPIRY_DATE_CHR,
7102 		CC_BANK_ACCT_ID_CHR,
7103 		GRACE_DURATION_CHR,
7104 		TAX_AMOUNT_CHR,
7105 		TAX_CODE_CHR,
7106 		TAX_EXEMPTION_ID_CHR,
7107 		--IB_TRANS_DATE_CHR,
7108 		CLVL_LIST_PRICE_CHR,
7109 		CLVL_QUANTITY_CHR,
7110 		CLVL_EXTENDED_AMT_CHR,
7111                 LINE_LIST_PRICE_CHR,
7112 		TOPLVL_OPERAND_VAL_CHR,
7113 		TOPLVL_QUANTITY_CHR,
7114 		TOPLVL_ADJ_PRICE_CHR,
7115 		TOPLVL_PRICE_QTY_CHR,
7116 		AVERAGING_INTERVAL_CHR,
7117 		MINIMUM_QUANTITY_CHR,
7118 		DEFAULT_QUANTITY_CHR,
7119 		FIXED_QUANTITY_CHR,
7120 		USAGE_DURATION_CHR,
7121         	BASE_READING_CHR,
7122 		CUST_ACCT_ID_CHR,
7123 		BILL_TO_SITE_USE_ID_CHR,
7124 		INV_RULE_ID_CHR,
7125 		SHIP_TO_SITE_USE_ID_CHR,
7126 		PAYMENT_TERM_ID_CHR	   ,
7127                 --------------------
7128                 EXCEPTION_COV_ID_chr,
7129                 PM_PROGRAM_ID_chr,
7130                 PRICE_LIST_ID_chr,
7131                 RCN_INCIDENT_SEVERITY_ID_chr,
7132                 RCN_PDF_ID_chr,
7133                 LIMIT_UOM_QUANTIFIED_chr,
7134                 DISCOUNT_AMOUNT_chr,
7135                 DISCOUNT_PERCENT_chr,
7136                 -----------------------------------
7137 	        --LEVEL_PERIODS_CHR,
7138 		--UOM_PER_PERIOD_CHR,
7139 		--ADVANCE_PERIODS_CHR,
7140 		LEVEL_AMOUNT_CHR
7141 		--INVOICE_OFFSET_DAYS_CHR,
7142 		--INTERFACE_OFFSET_DAYS_CHR
7143 		LIMIT p_batch_size; --OKC
7144 
7145       FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is L_LINE_HIST_CSR2');
7146       FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CLE_ID.COUNT );
7147       EXIT WHEN CLE_ID.COUNT = 0 ;
7148 
7149     End IF;
7150 
7151     --End of If to choose the cursor to be fetched --
7152 
7153    end if;
7154     ------------------------------------------------------------------------------------
7155 
7156     ------------------------------------------------------------------------------------
7157     -- Begin of code to validate data type .
7158 
7159     FOR i in CLE_ID.FIRST..CLE_ID.LAST
7160     LOOP
7161        --1. Validation for DST rule .
7162        BEGIN
7163           DISCOUNT_LIST(1)      := DISCOUNT_LIST_CHR(i);
7164        EXCEPTION
7165        WHEN OTHERS THEN
7166           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'DST',MAJOR_VERSION(i)) ;
7167           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7168           CLOSE L_LINE_DTLS_CSR;
7169           FND_MESSAGE.CLEAR;
7170           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
7171           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7172           L_ERROR_MSG      := SQLERRM;
7173           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7174                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, LINE_NUMBER, SCRIPT_NAME  ,
7175                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7176                                       ERROR_MSG)
7177                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7178                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7179                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR(i),
7180                                        L_ERROR_MSG );
7181           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || DISCOUNT_LIST_CHR(i) );
7182        END;
7183 
7184        --2. Validation for ARL rule .
7185        BEGIN
7186           ACCT_RULE_ID(1)      := ACCT_RULE_ID_CHR(i);
7187        EXCEPTION
7188        WHEN OTHERS THEN
7189           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'ARL',MAJOR_VERSION(i)) ;
7190           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7191           CLOSE L_LINE_DTLS_CSR;
7192           FND_MESSAGE.CLEAR;
7193           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
7194           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7195           L_ERROR_MSG      := SQLERRM;
7196           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7197                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION  ,LINE_NUMBER, SCRIPT_NAME  ,
7198                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7199                                       ERROR_MSG)
7200                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7201                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7202                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,ACCT_RULE_ID_CHR(i),
7203                                        L_ERROR_MSG );
7204           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(i) );
7205        END;
7206 
7207        --3. Validation for CCR rule .
7208        BEGIN
7209           CC_BANK_ACCT_ID(1)      := CC_BANK_ACCT_ID_CHR(i);
7210        EXCEPTION
7211        WHEN OTHERS THEN
7212           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'CCR',MAJOR_VERSION(i)) ;
7213           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7214           CLOSE L_LINE_DTLS_CSR;
7215           FND_MESSAGE.CLEAR;
7216           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
7217           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7218           L_ERROR_MSG      := SQLERRM;
7219           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7220                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7221                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7222                                       ERROR_MSG)
7223                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7224                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7225                                       'CCR'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CC_BANK_ACCT_ID_CHR(i),
7226                                        L_ERROR_MSG );
7227           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CC_BANK_ACCT_ID_CHR(i) );
7228        END;
7229 
7230 
7231        --4. Validation for GPR rule .
7232        BEGIN
7233           GRACE_DURATION(1)      := GRACE_DURATION_CHR(i);
7234        EXCEPTION
7235        WHEN OTHERS THEN
7236           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'GPR',MAJOR_VERSION(i)) ;
7237           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7238           CLOSE L_LINE_DTLS_CSR;
7239           FND_MESSAGE.CLEAR;
7240           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
7241           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7242           L_ERROR_MSG      := SQLERRM;
7243           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7244                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7245                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7246                                       ERROR_MSG)
7247                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7248                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7249                                       'GPR'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,GRACE_DURATION_CHR(i),
7250                                        L_ERROR_MSG );
7251           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || GRACE_DURATION_CHR(i) );
7252        END;
7253        --5. Validation for IRT rule .
7254        BEGIN
7255           TAX_AMOUNT(1)      := TAX_AMOUNT_CHR(i);
7256        EXCEPTION
7257        WHEN OTHERS THEN
7258           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'IRT',MAJOR_VERSION(i)) ;
7259           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7260           CLOSE L_LINE_DTLS_CSR;
7261           FND_MESSAGE.CLEAR;
7262           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
7263           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7264           L_ERROR_MSG      := SQLERRM;
7265           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7266                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7267                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7268                                       ERROR_MSG)
7269                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7270                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7271                                       'IRT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,TAX_AMOUNT_CHR(i),
7272                                        L_ERROR_MSG );
7273           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || TAX_AMOUNT_CHR(i) );
7274        END;
7275 
7276        --6. Validation for TAX rule .
7277        BEGIN
7278           TAX_CODE(1)      := TAX_CODE_CHR(i);
7279        EXCEPTION
7280        WHEN OTHERS THEN
7281           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'TAX',MAJOR_VERSION(i)) ;
7282           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7283           CLOSE L_LINE_DTLS_CSR;
7284           FND_MESSAGE.CLEAR;
7285           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
7286           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7287           L_ERROR_MSG      := SQLERRM;
7288           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7289                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7290                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7291                                       ERROR_MSG)
7292                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7293                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7294                                       'TAX'    ,'OBJECT2_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_CODE_CHR(i),
7295                                        L_ERROR_MSG );
7296           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || TAX_CODE_CHR(i) );
7297        END;
7298 
7299        --7. Validation for TAX rule .
7300        BEGIN
7301           TAX_EXEMPTION_ID(1)      := TAX_EXEMPTION_ID_CHR(i);
7302        EXCEPTION
7303        WHEN OTHERS THEN
7304           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'TAX',MAJOR_VERSION(i)) ;
7305           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7306           CLOSE L_LINE_DTLS_CSR;
7307           FND_MESSAGE.CLEAR;
7308           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
7309           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7310           L_ERROR_MSG      := SQLERRM;
7311           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7312                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7313                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7314                                       ERROR_MSG)
7315                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7316                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7317                                       'TAX'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_EXEMPTION_ID_CHR(i),
7318                                        L_ERROR_MSG );
7319           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || TAX_EXEMPTION_ID_CHR(i) );
7320        END;
7321 
7322        --8. Validation for PDL rule .
7323        BEGIN
7324           CLVL_LIST_PRICE(1)      := CLVL_LIST_PRICE_CHR(i);
7325        EXCEPTION
7326        WHEN OTHERS THEN
7327           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL',MAJOR_VERSION(i)) ;
7328           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7329           CLOSE L_LINE_DTLS_CSR;
7330           FND_MESSAGE.CLEAR;
7331           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
7332           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7333           L_ERROR_MSG      := SQLERRM;
7334           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7335                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7336                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7337                                       ERROR_MSG)
7338                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7339                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7340                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR(i),
7341                                        L_ERROR_MSG );
7342           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || CLVL_LIST_PRICE_CHR(i) );
7343        END;
7344 
7345        --9. Validation for PDL rule .
7346        BEGIN
7347           CLVL_QUANTITY(1)      := CLVL_QUANTITY_CHR(i);
7348        EXCEPTION
7349        WHEN OTHERS THEN
7350           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL',MAJOR_VERSION(i)) ;
7351           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7352           CLOSE L_LINE_DTLS_CSR;
7353           FND_MESSAGE.CLEAR;
7354           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
7355           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7356           L_ERROR_MSG      := SQLERRM;
7357           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7358                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7359                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7360                                       ERROR_MSG)
7361                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7362                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7363                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR(i),
7364                                        L_ERROR_MSG );
7365           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CLVL_QUANTITY_CHR(i) );
7366        END;
7367 
7368        --10. Validation for PDL rule .
7369        BEGIN
7370           CLVL_EXTENDED_AMT(1)      := CLVL_EXTENDED_AMT_CHR(i);
7371        EXCEPTION
7372        WHEN OTHERS THEN
7373           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL',MAJOR_VERSION(i)) ;
7374           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7375           CLOSE L_LINE_DTLS_CSR;
7376           FND_MESSAGE.CLEAR;
7377           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
7378           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7379           L_ERROR_MSG      := SQLERRM;
7380           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7381                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7382                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7383                                       ERROR_MSG)
7384                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7385                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7386                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR(i),
7387                                        L_ERROR_MSG );
7388           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CLVL_EXTENDED_AMT_CHR(i) );
7389        END;
7390 
7391        --11. Validation for PDL rule .
7392        BEGIN
7393           TOPLVL_OPERAND_VAL(1)      := TOPLVL_OPERAND_VAL_CHR(i);
7394        EXCEPTION
7395        WHEN OTHERS THEN
7396           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL',MAJOR_VERSION(i)) ;
7397           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7398           CLOSE L_LINE_DTLS_CSR;
7399           FND_MESSAGE.CLEAR;
7400           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
7401           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7402           L_ERROR_MSG      := SQLERRM;
7403           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7404                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7405                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7406                                       ERROR_MSG)
7407                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7408                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7409                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR(i),
7410                                        L_ERROR_MSG );
7411           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION6' ||L_ATTRIBUTE_NAME || TOPLVL_OPERAND_VAL_CHR(i) );
7412        END;
7413 
7414        --12. Validation for PDL rule .
7415        BEGIN
7416           TOPLVL_QUANTITY(1)      := TOPLVL_QUANTITY_CHR(i);
7417        EXCEPTION
7418        WHEN OTHERS THEN
7419           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL',MAJOR_VERSION(i)) ;
7420           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7421           CLOSE L_LINE_DTLS_CSR;
7422           FND_MESSAGE.CLEAR;
7423           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
7424           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7425           L_ERROR_MSG      := SQLERRM;
7426           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7427                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7428                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7429                                       ERROR_MSG)
7430                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7431                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7432                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR(i),
7433                                        L_ERROR_MSG );
7434           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION8' ||L_ATTRIBUTE_NAME || TOPLVL_QUANTITY_CHR(i) );
7435        END;
7436 
7437        --13. Validation for PDL rule .
7438        BEGIN
7439           TOPLVL_ADJ_PRICE(1)      := TOPLVL_ADJ_PRICE_CHR(i);
7440        EXCEPTION
7441        WHEN OTHERS THEN
7442           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL',MAJOR_VERSION(i)) ;
7443           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7444           CLOSE L_LINE_DTLS_CSR;
7445           FND_MESSAGE.CLEAR;
7446           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
7447           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7448           L_ERROR_MSG      := SQLERRM;
7449           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7450                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7451                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7452                                       ERROR_MSG)
7453                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7454                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7455                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR(i),
7456                                        L_ERROR_MSG );
7457           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION10' ||L_ATTRIBUTE_NAME || TOPLVL_ADJ_PRICE_CHR(i) );
7458        END;
7459 
7460        --14. Validation for PDL rule .
7461        BEGIN
7462           TOPLVL_PRICE_QTY(1)      := TOPLVL_PRICE_QTY_CHR(i);
7463        EXCEPTION
7464        WHEN OTHERS THEN
7465           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL',MAJOR_VERSION(i)) ;
7466           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7467           CLOSE L_LINE_DTLS_CSR;
7468           FND_MESSAGE.CLEAR;
7469           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
7470           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7471           L_ERROR_MSG      := SQLERRM;
7472           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7473                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7474                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7475                                       ERROR_MSG)
7476                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7477                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7478                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR(i),
7479                                        L_ERROR_MSG );
7480           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || TOPLVL_PRICE_QTY_CHR(i) );
7481        END;
7482 
7483        --15. Validation for QRE rule .
7484        BEGIN
7485           AVERAGING_INTERVAL(1)      := AVERAGING_INTERVAL_CHR(i);
7486        EXCEPTION
7487        WHEN OTHERS THEN
7488           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE',MAJOR_VERSION(i)) ;
7489           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7490           CLOSE L_LINE_DTLS_CSR;
7491           FND_MESSAGE.CLEAR;
7492           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
7493           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7494           L_ERROR_MSG      := SQLERRM;
7495           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7496                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7497                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7498                                       ERROR_MSG)
7499                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7500                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7501                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR(i),
7502                                        L_ERROR_MSG );
7503           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || AVERAGING_INTERVAL_CHR(i) );
7504        END;
7505 
7506        --16. Validation for QRE rule .
7507        BEGIN
7508           MINIMUM_QUANTITY(1)      := MINIMUM_QUANTITY_CHR(i);
7509        EXCEPTION
7510        WHEN OTHERS THEN
7511           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE',MAJOR_VERSION(i)) ;
7512           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7513           CLOSE L_LINE_DTLS_CSR;
7514           FND_MESSAGE.CLEAR;
7515           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
7516           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7517           L_ERROR_MSG      := SQLERRM;
7518           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7519                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7520                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7521                                       ERROR_MSG)
7522                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7523                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7524                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR(i),
7525                                        L_ERROR_MSG );
7526           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || MINIMUM_QUANTITY_CHR(i) );
7527        END;
7528 
7529 
7530        --17. Validation for QRE rule .
7531        BEGIN
7532           DEFAULT_QUANTITY(1)      := DEFAULT_QUANTITY_CHR(i);
7533        EXCEPTION
7534        WHEN OTHERS THEN
7535           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE',MAJOR_VERSION(i)) ;
7536           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7537           CLOSE L_LINE_DTLS_CSR;
7538           FND_MESSAGE.CLEAR;
7539           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
7540           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7541           L_ERROR_MSG      := SQLERRM;
7542           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7543                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7544                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7545                                       ERROR_MSG)
7546                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7547                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7548                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR(i),
7549                                        L_ERROR_MSG );
7550           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION5' ||L_ATTRIBUTE_NAME || DEFAULT_QUANTITY_CHR(i) );
7551        END;
7552 
7553        --18. Validation for QRE rule .
7554        BEGIN
7555           FIXED_QUANTITY(1)      := FIXED_QUANTITY_CHR(i);
7556        EXCEPTION
7557        WHEN OTHERS THEN
7558           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE',MAJOR_VERSION(i)) ;
7559           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7560           CLOSE L_LINE_DTLS_CSR;
7561           FND_MESSAGE.CLEAR;
7562           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
7563           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7564           L_ERROR_MSG      := SQLERRM;
7565           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7566                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7567                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7568                                       ERROR_MSG)
7569                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7570                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7571                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR(i),
7572                                        L_ERROR_MSG );
7573           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION7' ||L_ATTRIBUTE_NAME || FIXED_QUANTITY_CHR(i) );
7574        END;
7575 
7576        --19. Validation for QRE rule .
7577        BEGIN
7578           USAGE_DURATION(1)      := USAGE_DURATION_CHR(i);
7579        EXCEPTION
7580        WHEN OTHERS THEN
7581           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE',MAJOR_VERSION(i)) ;
7582           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7583           CLOSE L_LINE_DTLS_CSR;
7584           FND_MESSAGE.CLEAR;
7585           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
7586           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7587           L_ERROR_MSG      := SQLERRM;
7588           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7589                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7590                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7591                                       ERROR_MSG)
7592                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7593                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7594                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR(i),
7595                                        L_ERROR_MSG );
7596           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION8' ||L_ATTRIBUTE_NAME || USAGE_DURATION_CHR(i) );
7597        END;
7598 
7599        --20. Validation for QRE rule .
7600        BEGIN
7601           BASE_READING(1)      := BASE_READING_CHR(i);
7602        EXCEPTION
7603        WHEN OTHERS THEN
7604           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'QRE',MAJOR_VERSION(i)) ;
7605           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7606           CLOSE L_LINE_DTLS_CSR;
7607           FND_MESSAGE.CLEAR;
7608           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
7609           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7610           L_ERROR_MSG      := SQLERRM;
7611           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7612                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7613                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7614                                       ERROR_MSG)
7615                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7616                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7617                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR(i),
7618                                        L_ERROR_MSG );
7619           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || BASE_READING_CHR(i) );
7620        END;
7621 
7622        --21. Validation for CAN rule .
7623        BEGIN
7624           CUST_ACCT_ID(1)      := CUST_ACCT_ID_CHR(i);
7625        EXCEPTION
7626        WHEN OTHERS THEN
7627           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'CAN',MAJOR_VERSION(i)) ;
7628           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7629           CLOSE L_LINE_DTLS_CSR;
7630           FND_MESSAGE.CLEAR;
7631           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
7632           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7633           L_ERROR_MSG      := SQLERRM;
7634           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7635                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7636                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7637                                       ERROR_MSG)
7638                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7639                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7640                                       'CAN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,CUST_ACCT_ID_CHR(i),
7641                                        L_ERROR_MSG );
7642           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || CUST_ACCT_ID_CHR(i) );
7643        END;
7644 
7645        --22. Validation for BTO rule .
7646        BEGIN
7647           BILL_TO_SITE_USE_ID(1)      := BILL_TO_SITE_USE_ID_CHR(i);
7648        EXCEPTION
7649        WHEN OTHERS THEN
7650           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'BTO',MAJOR_VERSION(i)) ;
7651           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7652           CLOSE L_LINE_DTLS_CSR;
7653           FND_MESSAGE.CLEAR;
7654           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
7655           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7656           L_ERROR_MSG      := SQLERRM;
7657           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7658                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7659                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7660                                       ERROR_MSG)
7661                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7662                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7663                                       'BTO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,BILL_TO_SITE_USE_ID_CHR(i),
7664                                        L_ERROR_MSG );
7665           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || BILL_TO_SITE_USE_ID_CHR(i) );
7666        END;
7667 
7668        --23. Validation for IRE rule .
7669        BEGIN
7670           INV_RULE_ID(1)      := INV_RULE_ID_CHR(i);
7671        EXCEPTION
7672        WHEN OTHERS THEN
7673           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'IRE',MAJOR_VERSION(i)) ;
7674           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7675           CLOSE L_LINE_DTLS_CSR;
7676           FND_MESSAGE.CLEAR;
7677           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
7678           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7679           L_ERROR_MSG      := SQLERRM;
7680           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7681                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7682                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7683                                       ERROR_MSG)
7684                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7685                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7686                                       'IRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,INV_RULE_ID_CHR(i),
7687                                        L_ERROR_MSG );
7688           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || INV_RULE_ID_CHR(i) );
7689        END;
7690 
7691        --24. Validation for STO rule .
7692        BEGIN
7693           SHIP_TO_SITE_USE_ID(1)      := SHIP_TO_SITE_USE_ID_CHR(i);
7694        EXCEPTION
7695        WHEN OTHERS THEN
7696           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'STO',MAJOR_VERSION(i)) ;
7697           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7698           CLOSE L_LINE_DTLS_CSR;
7699           FND_MESSAGE.CLEAR;
7700           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
7701           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7702           L_ERROR_MSG      := SQLERRM;
7703           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7704                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7705                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7706                                       ERROR_MSG)
7707                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7708                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7709                                       'STO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,SHIP_TO_SITE_USE_ID_CHR(i),
7710                                        L_ERROR_MSG );
7711           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || SHIP_TO_SITE_USE_ID_CHR(i) );
7712        END;
7713 
7714        --25. Validation for PTR rule .
7715        BEGIN
7716           PAYMENT_TERM_ID(1)      := PAYMENT_TERM_ID_CHR(i);
7717        EXCEPTION
7718        WHEN OTHERS THEN
7719           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PTR',MAJOR_VERSION(i)) ;
7720           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7721           CLOSE L_LINE_DTLS_CSR;
7722           FND_MESSAGE.CLEAR;
7723           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
7724           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7725           L_ERROR_MSG      := SQLERRM;
7726           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7727                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7728                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7729                                       ERROR_MSG)
7730                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7731                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7732                                       'PTR'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PAYMENT_TERM_ID_CHR(i),
7733                                        L_ERROR_MSG );
7734           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PAYMENT_TERM_ID_CHR(i) );
7735        END;
7736 
7737 /*
7738        --26. Validation for CCR rule .
7739        BEGIN
7740           CC_EXPIRY_DATE(1)      := CC_EXPIRY_DATE_CHR(i);
7741        EXCEPTION
7742        WHEN OTHERS THEN
7743           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'CCR',MAJOR_VERSION(i)) ;
7744           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7745           CLOSE L_LINE_DTLS_CSR;
7746           FND_MESSAGE.CLEAR;
7747           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
7748           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7749           L_ERROR_MSG      := SQLERRM;
7750           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7751                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7752                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7753                                       ERROR_MSG)
7754                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7755                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7756                                       'CCR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CC_EXPIRY_DATE_CHR(i),
7757                                        L_ERROR_MSG );
7758           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CC_EXPIRY_DATE_CHR(i) );
7759        END;
7760 
7761 */
7762 
7763 /*
7764        --27. Validation for IBR  rule .
7765        BEGIN
7766           IB_TRANS_DATE(1)      := IB_TRANS_DATE_CHR(i);
7767        EXCEPTION
7768        WHEN OTHERS THEN
7769           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'IBR',MAJOR_VERSION(i)) ;
7770           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7771           CLOSE L_LINE_DTLS_CSR;
7772           FND_MESSAGE.CLEAR;
7773           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_IB_TRANS_DATE');
7774           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7775           L_ERROR_MSG      := SQLERRM;
7776           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7777                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7778                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7779                                       ERROR_MSG)
7780                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7781                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7782                                       'IBR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,IB_TRANS_DATE_CHR(i),
7783                                        L_ERROR_MSG );
7784           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || IB_TRANS_DATE_CHR(i) );
7785        END;
7786 */
7787 
7788     --28
7789        BEGIN
7790           EXCEPTION_COV_ID(1)      := EXCEPTION_COV_ID_chr(i);
7791        EXCEPTION
7792        WHEN OTHERS THEN
7793           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'ECE',MAJOR_VERSION(i)) ;
7794           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7795           CLOSE L_LINE_DTLS_CSR;
7796           FND_MESSAGE.CLEAR;
7797           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
7798           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7799           L_ERROR_MSG      := SQLERRM;
7800           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7801                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7802                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7803                                       ERROR_MSG)
7804                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7805                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(i),L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7806                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr(i),
7807                                        L_ERROR_MSG );
7808           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EXCEPTION_COV_ID_chr(i));
7809        END;
7810 --29
7811        BEGIN
7812           PM_PROGRAM_ID(1)      := PM_PROGRAM_ID_chr(i);
7813        EXCEPTION
7814        WHEN OTHERS THEN
7815           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PMP',MAJOR_VERSION(i)) ;
7816           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7817           CLOSE L_LINE_DTLS_CSR;
7818           FND_MESSAGE.CLEAR;
7819           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
7820           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7821           L_ERROR_MSG      := SQLERRM;
7822           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7823                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7824                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7825                                       ERROR_MSG)
7826                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7827                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7828                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr(i),
7829                                        L_ERROR_MSG );
7830           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PM_PROGRAM_ID_chr(i));
7831 
7832        END;
7833 --30
7834        BEGIN
7835           PRICE_LIST_ID(1)      := PRICE_LIST_ID_chr(i);
7836        EXCEPTION
7837        WHEN OTHERS THEN
7838           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PRE',MAJOR_VERSION(i)) ;
7839           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7840           CLOSE L_LINE_DTLS_CSR;
7841           FND_MESSAGE.CLEAR;
7842           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
7843           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7844           L_ERROR_MSG      := SQLERRM;
7845           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7846                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7847                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7848                                       ERROR_MSG)
7849                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7850                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7851                                       'PRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PRICE_LIST_ID_chr(i),
7852                                        L_ERROR_MSG );
7853           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_chr(i));
7854 
7855        END;
7856 --31
7857        BEGIN
7858           RCN_INCIDENT_SEVERITY_ID(1)      := RCN_INCIDENT_SEVERITY_ID_chr(i);
7859        EXCEPTION
7860        WHEN OTHERS THEN
7861           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'RCN',MAJOR_VERSION(i)) ;
7862           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7863           CLOSE L_LINE_DTLS_CSR;
7864           FND_MESSAGE.CLEAR;
7865           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
7866           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7867           L_ERROR_MSG      := SQLERRM;
7868           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7869                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7870                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7871                                       ERROR_MSG)
7872                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7873                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(i),L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7874                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr(i),
7875                                        L_ERROR_MSG );
7876           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RCN_INCIDENT_SEVERITY_ID_chr(i));
7877 
7878        END;
7879 --32
7880        BEGIN
7881           RCN_PDF_ID(1)      := RCN_PDF_ID_chr(i);
7882        EXCEPTION
7883        WHEN OTHERS THEN
7884           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'RCN',MAJOR_VERSION(i)) ;
7885           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7886           CLOSE L_LINE_DTLS_CSR;
7887           FND_MESSAGE.CLEAR;
7888           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
7889           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7890           L_ERROR_MSG      := SQLERRM;
7891           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7892                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7893                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7894                                       ERROR_MSG)
7895                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7896                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7897                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr(i),
7898                                        L_ERROR_MSG );
7899           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RCN_PDF_ID_chr(i));
7900 
7901        END;
7902 --33
7903 
7904        BEGIN
7905           LIMIT_UOM_QUANTIFIED(1)      := LIMIT_UOM_QUANTIFIED_chr(i);
7906        EXCEPTION
7907        WHEN OTHERS THEN
7908           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'LMT',MAJOR_VERSION(i)) ;
7909           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7910           CLOSE L_LINE_DTLS_CSR;
7911           FND_MESSAGE.CLEAR;
7912           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LIMIT_UOM_QUANTIFIED');
7913           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7914           L_ERROR_MSG      := SQLERRM;
7915           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7916                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7917                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7918                                       ERROR_MSG)
7919                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7920                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7921                                       'LMT'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,LIMIT_UOM_QUANTIFIED_chr(i),
7922                                        L_ERROR_MSG );
7923           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || LIMIT_UOM_QUANTIFIED_chr(i));
7924 
7925        END;
7926 --34
7927        BEGIN
7928           DISCOUNT_AMOUNT(1)      := DISCOUNT_AMOUNT_chr(i);
7929        EXCEPTION
7930        WHEN OTHERS THEN
7931           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'LMT',MAJOR_VERSION(i)) ;
7932           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7933           CLOSE L_LINE_DTLS_CSR;
7934           FND_MESSAGE.CLEAR;
7935           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
7936           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7937           L_ERROR_MSG      := SQLERRM;
7938           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7939                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7940                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7941                                       ERROR_MSG)
7942                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7943                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7944                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr(i),
7945                                        L_ERROR_MSG );
7946           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || DISCOUNT_AMOUNT_chr(i));
7947 
7948        END;
7949 --35
7950        BEGIN
7951           DISCOUNT_PERCENT(1)      := DISCOUNT_PERCENT_chr(i);
7952        EXCEPTION
7953        WHEN OTHERS THEN
7954           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'LMT',MAJOR_VERSION(i)) ;
7955           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7956           CLOSE L_LINE_DTLS_CSR;
7957           FND_MESSAGE.CLEAR;
7958           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
7959           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7960           L_ERROR_MSG      := SQLERRM;
7961           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7962                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
7963                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7964                                       ERROR_MSG)
7965                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7966                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
7967                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr(i),
7968                                        L_ERROR_MSG );
7969          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
7970 
7971        END;
7972 --35a
7973        BEGIN
7974           LINE_LIST_PRICE(1)      := LINE_LIST_PRICE_CHR(i);
7975        EXCEPTION
7976        WHEN OTHERS THEN
7977           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'PDL',MAJOR_VERSION(i)) ;
7978           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
7979           CLOSE L_LINE_DTLS_CSR;
7980           FND_MESSAGE.CLEAR;
7981           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LINE_LIST_PRICE');
7982           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
7983           L_ERROR_MSG      := SQLERRM;
7984           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
7985                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
7986                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
7987                                       ERROR_MSG)
7988                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
7989                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
7990                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,LINE_LIST_PRICE_CHR(i),
7991                                        L_ERROR_MSG );
7992          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || LINE_LIST_PRICE_CHR(i));
7993 
7994        END;
7995 ----------------------------------------------------------------------------------------------------------------------
7996 --FOR SLL
7997 
7998 /*
7999 --36
8000        BEGIN
8001           LEVEL_PERIODS(1)      := LEVEL_PERIODS_CHR(i);
8002        EXCEPTION
8003        WHEN OTHERS THEN
8004           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL',MAJOR_VERSION(i)) ;
8005           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
8006           CLOSE L_LINE_DTLS_CSR;
8007           FND_MESSAGE.CLEAR;
8008           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LEVEL_PERIODS');
8009           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
8010           L_ERROR_MSG      := SQLERRM;
8011           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
8012                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
8013                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
8014                                       ERROR_MSG)
8015                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
8016                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
8017                                       'SLL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,LEVEL_PERIODS_CHR(i),
8018                                        L_ERROR_MSG );
8019          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
8020 
8021        END;
8022 */
8023 
8024 /*
8025 --37
8026        BEGIN
8027           UOM_PER_PERIOD(1)      := UOM_PER_PERIOD_CHR(i);
8028        EXCEPTION
8029        WHEN OTHERS THEN
8030           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL',MAJOR_VERSION(i)) ;
8031           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
8032           CLOSE L_LINE_DTLS_CSR;
8033           FND_MESSAGE.CLEAR;
8034           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_UOM_PER_PERIOD');
8035           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
8036           L_ERROR_MSG      := SQLERRM;
8037           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
8038                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
8039                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
8040                                       ERROR_MSG)
8041                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
8042                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
8043                                       'SLL'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,UOM_PER_PERIOD_CHR(i),
8044                                        L_ERROR_MSG );
8045          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
8046 
8047        END;
8048 
8049 */
8050 
8051 /*
8052 --38
8053        BEGIN
8054           ADVANCE_PERIODS(1)      := ADVANCE_PERIODS_CHR(i);
8055        EXCEPTION
8056        WHEN OTHERS THEN
8057           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL',MAJOR_VERSION(i)) ;
8058           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
8059           CLOSE L_LINE_DTLS_CSR;
8060           FND_MESSAGE.CLEAR;
8061           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ADVANCE_PERIODS');
8062           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
8063           L_ERROR_MSG      := SQLERRM;
8064           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
8065                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
8066                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
8067                                       ERROR_MSG)
8068                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
8069                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
8070                                       'SLL'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,ADVANCE_PERIODS_CHR(i),
8071                                        L_ERROR_MSG );
8072          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
8073 
8074        END;
8075 
8076 */
8077 --39
8078        BEGIN
8079           LEVEL_AMOUNT(1)      := LEVEL_AMOUNT_CHR(i);
8080        EXCEPTION
8081        WHEN OTHERS THEN
8082           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL',MAJOR_VERSION(i)) ;
8083           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
8084           CLOSE L_LINE_DTLS_CSR;
8085           FND_MESSAGE.CLEAR;
8086           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LEVEL_AMOUNT');
8087           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
8088           L_ERROR_MSG      := SQLERRM;
8089           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
8090                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
8091                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
8092                                       ERROR_MSG)
8093                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
8094                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
8095                                       'SLL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,LEVEL_AMOUNT_CHR(i),
8096                                        L_ERROR_MSG );
8097          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
8098 
8099        END;
8100 
8101 /*
8102 --40
8103        BEGIN
8104           INVOICE_OFFSET_DAYS(1)      := INVOICE_OFFSET_DAYS_CHR(i);
8105        EXCEPTION
8106        WHEN OTHERS THEN
8107           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL',MAJOR_VERSION(i)) ;
8108           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
8109           CLOSE L_LINE_DTLS_CSR;
8110           FND_MESSAGE.CLEAR;
8111           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INVOICE_OFFSET_DAYS');
8112           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
8113           L_ERROR_MSG      := SQLERRM;
8114           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
8115                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
8116                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
8117                                       ERROR_MSG)
8118                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
8119                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(i),L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
8120                                       'SLL'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,INVOICE_OFFSET_DAYS_CHR(i),
8121                                        L_ERROR_MSG );
8122          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
8123 
8124        END;
8125 
8126 */
8127 /*
8128 
8129 --41
8130        BEGIN
8131           INTERFACE_OFFSET_DAYS(1)      := INTERFACE_OFFSET_DAYS_CHR(i);
8132        EXCEPTION
8133        WHEN OTHERS THEN
8134           OPEN  L_LINE_DTLS_CSR(CLE_ID(i),DNZ_CHR_ID(i),'SLL',MAJOR_VERSION(i)) ;
8135           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
8136           CLOSE L_LINE_DTLS_CSR;
8137           FND_MESSAGE.CLEAR;
8138           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INTERFACE_OFFSET_DAYS');
8139           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
8140           L_ERROR_MSG      := SQLERRM;
8141           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
8142                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
8143                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
8144                                       ERROR_MSG)
8145                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(i), CLE_ID(i),
8146                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION(i), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
8147                                       'SLL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,INTERFACE_OFFSET_DAYS_CHR(i),
8148                                        L_ERROR_MSG );
8149          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(i));
8150 
8151        END;
8152 */
8153 
8154 
8155     End Loop;
8156 
8157      CLE_ID.DELETE;
8158 
8159     -- End of code to validate data type .
8160     ------------------------------------------------------------------------------------
8161 
8162   End Loop;
8163 
8164 
8165   If(L_LINE_HIST_CSR1%ISOPEN) THEN
8166     Close  L_LINE_HIST_CSR1;
8167   END IF;
8168   If(L_LINE_HIST_CSR2%ISOPEN) THEN
8169     Close  L_LINE_HIST_CSR2;
8170   End if;
8171 
8172   If(L_LINE_HIST_CSR1_nus%ISOPEN) THEN
8173     Close  L_LINE_HIST_CSR1_nus;
8174   END IF;
8175   If(L_LINE_HIST_CSR2_nus%ISOPEN) THEN
8176     Close  L_LINE_HIST_CSR2_nus;
8177   End if;
8178 
8179 
8180 EXCEPTION
8181 WHEN OTHERS THEN
8182   If(L_LINE_HIST_CSR1%ISOPEN) THEN
8183     Close  L_LINE_HIST_CSR1;
8184   END IF;
8185   If(L_LINE_HIST_CSR2%ISOPEN) THEN
8186     Close  L_LINE_HIST_CSR2;
8187   End if;
8188   If(L_LINE_HIST_CSR1_nus%ISOPEN) THEN
8189     Close  L_LINE_HIST_CSR1_nus;
8190   END IF;
8191   If(L_LINE_HIST_CSR2_nus%ISOPEN) THEN
8192     Close  L_LINE_HIST_CSR2_nus;
8193   End if;
8194 
8195 
8196 END VALIDATE_LINE_HIST_RULE;
8197 
8198 --------------------------------------------------------------------------------------------
8199 --    This is the procedure called from VALIDATE_DATA1 to validate Header History rule data           --
8200 --------------------------------------------------------------------------------------------
8201 
8202 Procedure VALIDATE_HDR_HIST_RULE(
8203 			    ERRBUF            OUT NOCOPY VARCHAR2 ,
8204                             RETCODE           OUT NOCOPY NUMBER ,
8205                             p_status          in VARCHAR2,
8206                             p_org_id          in NUMBER ,
8207                             p_batch_size      in NUMBER,
8208 			    p_us_yn           in VARCHAR2,
8209                             p_id_low          in NUMBER,
8210                             p_id_hig          in NUMBER)
8211 IS
8212 
8213 Type l_num_tbl is table of  NUMBER         index  by BINARY_INTEGER ;
8214 Type l_date_tbl is table of DATE           index  by BINARY_INTEGER ;
8215 Type l_chr_tbl is table of  VARCHAR2(2000) index  by BINARY_INTEGER ;
8216 
8217 --table types declared with existing rule name wherever applicable
8218 
8219 
8220 
8221 MAJOR_VERSION             l_num_tbl ;
8222 CHR_ID                    l_num_tbl ;
8223 DNZ_CHR_ID                l_num_tbl ;
8224 ACCT_RULE_ID              l_num_tbl ;
8225 PAYMENT_TYPE              L_CHR_TBL ;
8226 CC_NO                     l_chr_tbl ;
8227 CC_EXPIRY_DATE            l_date_tbl;
8228 CC_BANK_ACCT_ID           l_num_tbl ;
8229 CC_AUTH_CODE              l_chr_tbl ;
8230 GRACE_DURATION            l_num_tbl ;
8231 GRACE_PERIOD              l_chr_tbl ;
8232 EST_REV_PERCENT           l_num_tbl ;
8233 EST_REV_DATE              l_date_tbl;
8234 INVOICE_TEXT              l_chr_tbl ;
8235 INV_PRINT_FLAG            l_chr_tbl ;
8236 PRICE_UOM                 l_chr_tbl ;
8237 TAX_AMOUNT                l_num_tbl ;
8238 TAX_INCLUSIVE_YN          l_chr_tbl ;
8239 TAX_STATUS                l_chr_tbl ;
8240 TAX_CODE                  l_num_tbl ;
8241 TAX_EXEMPTION_ID          l_num_tbl ;
8242 BILLING_SCHEDULE_TYPE     l_chr_tbl ;
8243 CUST_ACCT_ID              l_num_tbl ;
8244 BILL_TO_SITE_USE_ID       l_num_tbl ;
8245 INV_RULE_ID               l_num_tbl ;
8246 RENEWAL_TYPE_CODE         l_chr_tbl ;
8247 RENEWAL_NOTIFY_TO         l_num_tbl ;
8248 RENEWAL_END_DATE          l_date_tbl;
8249 SHIP_TO_SITE_USE_ID       l_num_tbl ;
8250 PAYMENT_TERM_ID           l_num_tbl ;
8251 BILLING_PROFILE_ID        l_num_tbl ;
8252 RENEWAL_STATUS            l_chr_tbl ;
8253 ELECTRONIC_RENEWAL_FLAG   l_chr_tbl ;
8254 QUOTE_TO_CONTACT_ID       l_num_tbl ;
8255 QUOTE_TO_SITE_ID          l_num_tbl ;
8256 QUOTE_TO_EMAIL_ID         l_num_tbl ;
8257 QUOTE_TO_PHONE_ID         l_num_tbl ;
8258 QUOTE_TO_FAX_ID           l_num_tbl ;
8259 RENEWAL_PO_REQUIRED       l_chr_tbl ;
8260 RENEWAL_PRICE_LIST        l_num_tbl ;
8261 RENEWAL_PRICING_TYPE      l_chr_tbl ;
8262 RENEWAL_MARKUP_PERCENT    l_num_tbl ;
8263 RENEWAL_GRACE_DURATION    l_num_tbl ;
8264 RENEWAL_GRACE_PERIOD      l_chr_tbl ;
8265 RENEWAL_EST_REV_PERCENT   l_num_tbl ;
8266 RENEWAL_EST_REV_DURATION  l_num_tbl ;
8267 RENEWAL_EST_REV_PERIOD    l_chr_tbl ;
8268 RENEWAL_PRICE_LIST_USED   l_num_tbl ;
8269 RENEWAL_TYPE_USED         l_chr_tbl ;
8270 RENEWAL_NOTIFICATION_TO   l_num_tbl ;
8271 RENEWAL_PO_USED           l_chr_tbl ;
8272 RENEWAL_PRICING_TYPE_USED l_chr_tbl ;
8273 RENEWAL_MARKUP_PERCENT_USED   l_num_tbl ;
8274 REV_EST_PERCENT_USED      l_num_tbl ;
8275 REV_EST_DURATION_USED     l_num_tbl ;
8276 BILLING_PROFILE_USED      l_num_tbl ;
8277 REV_EST_PERIOD_USED       l_chr_tbl ;
8278 ERN_FLAG_USED_YN          l_chr_tbl ;
8279 EVN_THRESHOLD_AMT         l_num_tbl ;
8280 EVN_THRESHOLD_CUR         l_chr_tbl ;
8281 ERN_THRESHOLD_AMT         l_num_tbl ;
8282 ERN_THRESHOLD_CUR         l_chr_tbl ;
8283 RENEWAL_GRACE_DURATION_USED   l_num_tbl ;
8284 RENEWAL_GRACE_PERIOD_USED l_chr_tbl ;
8285 INV_TRX_TYPE              l_chr_tbl ;
8286 INV_PRINT_PROFILE         l_chr_tbl ;
8287 RENEWAL_PO_NUMBER         l_chr_tbl ;
8288 AR_INTERFACE_YN           l_chr_tbl ;
8289 HOLD_BILLING              l_chr_tbl ;
8290 SUMMARY_TRX_YN            l_chr_tbl ;
8291 SERVICE_PO_NUMBER         l_chr_tbl ;
8292 SERVICE_PO_REQUIRED       l_chr_tbl ;
8293 PRICE_LIST_ID             l_num_tbl ;
8294 CONVERSION_TYPE           l_chr_tbl ;
8295 CONVERSION_RATE           l_num_tbl ;
8296 CONVERSION_RATE_DATE      l_date_tbl;
8297 CONVERSION_EURO_RATE      l_num_tbl ;
8298 
8299 
8300 
8301 -- FOLLOWING ARE NUMBER FIELDS --
8302 ACCT_RULE_ID_CHR              l_chr_tbl ;
8303 CC_BANK_ACCT_ID_CHR           l_chr_tbl ;
8304 GRACE_DURATION_CHR            l_chr_tbl ;
8305 EST_REV_PERCENT_CHR           l_chr_tbl ;
8306 TAX_AMOUNT_CHR                l_chr_tbl ;
8307 TAX_CODE_CHR                  l_chr_tbl ;
8308 TAX_EXEMPTION_ID_CHR          l_chr_tbl ;
8309 CUST_ACCT_ID_CHR              l_chr_tbl ;
8310 BILL_TO_SITE_USE_ID_CHR       l_chr_tbl ;
8311 INV_RULE_ID_CHR               l_chr_tbl ;
8312 RENEWAL_NOTIFY_TO_CHR         l_chr_tbl ;
8313 SHIP_TO_SITE_USE_ID_CHR       l_chr_tbl ;
8314 PAYMENT_TERM_ID_CHR           l_chr_tbl ;
8315 BILLING_PROFILE_ID_CHR        l_chr_tbl ;
8316 QUOTE_TO_CONTACT_ID_CHR       l_chr_tbl ;
8317 QUOTE_TO_SITE_ID_CHR          l_chr_tbl ;
8318 QUOTE_TO_EMAIL_ID_CHR         l_chr_tbl ;
8319 QUOTE_TO_PHONE_ID_CHR         l_chr_tbl ;
8320 QUOTE_TO_FAX_ID_CHR           l_chr_tbl ;
8321 RENEWAL_PRICE_LIST_CHR        l_chr_tbl ;
8322 RENEWAL_MARKUP_PERCENT_CHR    l_chr_tbl ;
8323 RENEWAL_GRACE_DURATION_CHR    l_chr_tbl ;
8324 RENEWAL_EST_REV_PERCENT_CHR   l_chr_tbl ;
8325 RENEWAL_EST_REV_DURATION_CHR  l_chr_tbl ;
8326 RENEWAL_PRICE_LIST_USED_CHR   l_chr_tbl ;
8327 RENEWAL_NOTIFICATION_TO_CHR   l_chr_tbl ;
8328 RENEWAL_MARKUP_PERCENT_USED_CH l_chr_tbl ;
8329 REV_EST_PERCENT_USED_CHR      l_chr_tbl ;
8330 REV_EST_DURATION_USED_CHR     l_chr_tbl ;
8331 BILLING_PROFILE_USED_CHR      l_chr_tbl ;
8332 EVN_THRESHOLD_AMT_CHR         l_chr_tbl ;
8333 ERN_THRESHOLD_AMT_CHR         l_chr_tbl ;
8334 RENEWAL_GRACE_DURATION_USED_CH l_chr_tbl ;
8335 PRICE_LIST_ID_CHR             l_chr_tbl ;
8336 CONVERSION_RATE_CHR           l_chr_tbl ;
8337 CONVERSION_EURO_RATE_CHR      l_chr_tbl ;
8338 
8339 -- FOLLOWING ARE DATE FIELDS --
8340 CC_EXPIRY_DATE_CHR            l_chr_tbl ;
8341 EST_REV_DATE_CHR              l_chr_tbl ;
8342 RENEWAL_END_DATE_CHR          l_chr_tbl ;
8343 CONVERSION_RATE_DATE_CHR      l_chr_tbl ;
8344 
8345 --Misc Variables --
8346 L_ATTRIBUTE_NAME              VARCHAR2(2000);
8347 L_ERROR_MSG                   VARCHAR2(2000);
8348 
8349 l_us_yn                       BOOLEAN;
8350 -------------------------------------------------------------------------------
8351 -- The following is the cursor opened if all the parameters passed are null  --
8352 -------------------------------------------------------------------------------
8353 CURSOR l_hdr_rule_hist_csr1 (p_id_low in NUMBER , p_id_hig in NUMBER )is
8354 SELECT * FROM (
8355 SELECT  RGP.DNZ_CHR_ID DNZ_CHR_ID
8356        ,RUL.MAJOR_VERSION
8357        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
8358             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8359             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
8360             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
8361             ACCT_RULE_ID
8362        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
8363             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
8364             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
8365             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
8366             CC_BANK_ACCT_ID
8367        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
8368             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8369             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
8370             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
8371             GRACE_DURATION
8372        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
8373             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
8374             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
8375             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
8376             EST_REV_PERCENT
8377        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
8378             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!' ),
8379             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
8380             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
8381             TAX_AMOUNT
8382        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
8383             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
8384             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
8385             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
8386             TAX_CODE
8387        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
8388             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8389             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
8390             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
8391             TAX_EXEMPTION_ID
8392        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
8393             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8394             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
8395             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
8396             BILLING_PROFILE_ID
8397        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
8398             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
8399             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
8400             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
8401             QUOTE_TO_CONTACT_ID
8402        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
8403             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8404             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
8405             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
8406             QUOTE_TO_SITE_ID
8407        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
8408             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8409             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
8410             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
8411             QUOTE_TO_EMAIL_ID
8412        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
8413             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8414             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
8415             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
8416             QUOTE_TO_PHONE_ID
8417        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
8418             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8419             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
8420             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
8421             QUOTE_TO_FAX_ID
8422        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
8423             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8424             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
8425             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
8426             RENEWAL_PRICE_LIST
8427        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
8428             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8429             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
8430             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
8431             RENEWAL_MARKUP_PERCENT
8432        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
8433             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8434             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
8435             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
8436             RENEWAL_GRACE_DURATION
8437        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
8438             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8439             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
8440             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
8441             RENEWAL_EST_REV_PERCENT
8442        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
8443             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8444             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
8445             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
8446             RENEWAL_EST_REV_DURATION
8447        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
8448             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8449             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
8450             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
8451             RENEWAL_PRICE_LIST_USED
8452        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
8453             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8454             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
8455             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
8456             RENEWAL_NOTIFICATION_TO
8457        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
8458             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8459             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
8460             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
8461             RENEWAL_MARKUP_PERCENT_USED
8462        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
8463             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8464             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
8465             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
8466             REV_EST_PERCENT_USED
8467        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
8468             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8469             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
8470             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
8471             REV_EST_DURATION_USED
8472        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
8473             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8474             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
8475             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
8476             BILLING_PROFILE_USED
8477        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
8478             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8479             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
8480             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
8481             EVN_THRESHOLD_AMT
8482         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
8483 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8484             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
8485             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
8486             ERN_THRESHOLD_AMT
8487        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
8488             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8489             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
8490             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
8491             RENEWAL_GRACE_DURATION_USED
8492        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
8493             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
8494             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
8495             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
8496             CONVERSION_RATE --OKC
8497        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
8498             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
8499             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
8500             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
8501             CONVERSION_EURO_RATE --OKC
8502        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
8503             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8504             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
8505             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
8506             CUST_ACCT_ID --OKC
8507        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
8508             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8509             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
8510             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
8511             BILL_TO_SITE_USE_ID --OKC
8512        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
8513             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8514             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
8515             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
8516             INV_RULE_ID --OKC
8517        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
8518             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8519             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
8520             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
8521             RENEWAL_NOTIFY_TO --OKC
8522        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
8523             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8524             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
8525             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
8526             SHIP_TO_SITE_USE_ID --OKC
8527        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
8528             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8529             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
8530             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
8531             PAYMENT_TERM_ID --OKC
8532        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
8533             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8534             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
8535             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
8536             PRICE_LIST_ID --OKC
8537 FROM OKC_RULE_GROUPS_BH RGP
8538    , OKC_RULES_BH RUL
8539 WHERE rgp.id = rul.rgp_id
8540   and rgp.cle_id is null
8541   and rgp.chr_id is not null
8542   and rgp.rgd_code = 'SVC_K'
8543   AND   RUL.RULE_INFORMATION_CATEGORY IN
8544        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
8545         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
8546   and rgp.id between p_id_low  and p_id_hig
8547   GROUP BY rgp.dnz_chr_id, RUL.MAJOR_VERSION )
8548 WHERE
8549   ACCT_RULE_ID    IS NOT NULL OR
8550   CC_BANK_ACCT_ID IS NOT NULL OR
8551   GRACE_DURATION  IS NOT NULL OR
8552   EST_REV_PERCENT IS NOT NULL OR
8553   TAX_AMOUNT      IS NOT NULL OR
8554   TAX_CODE        IS NOT NULL OR
8555   TAX_EXEMPTION_ID    IS NOT NULL OR
8556   BILLING_PROFILE_ID  IS NOT NULL OR
8557   QUOTE_TO_CONTACT_ID IS NOT NULL OR
8558   QUOTE_TO_SITE_ID    IS NOT NULL OR
8559   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
8560   QUOTE_TO_PHONE_ID   IS NOT NULL OR
8561   QUOTE_TO_FAX_ID     IS NOT NULL OR
8562   RENEWAL_PRICE_LIST  IS NOT NULL OR
8563   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
8564   RENEWAL_GRACE_DURATION   IS NOT NULL OR
8565   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
8566   RENEWAL_EST_REV_DURATION IS NOT NULL OR
8567   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
8568   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
8569   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
8570   REV_EST_PERCENT_USED  IS NOT NULL OR
8571   REV_EST_DURATION_USED IS NOT NULL OR
8572   BILLING_PROFILE_USED  IS NOT NULL OR
8573   EVN_THRESHOLD_AMT  IS NOT NULL OR
8574   ERN_THRESHOLD_AMT  IS NOT NULL OR
8575   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
8576   CONVERSION_RATE     IS NOT NULL OR
8577   CONVERSION_EURO_RATE IS NOT NULL OR
8578   CUST_ACCT_ID        IS NOT NULL OR
8579   BILL_TO_SITE_USE_ID IS NOT NULL OR
8580   INV_RULE_ID         IS NOT NULL OR
8581   RENEWAL_NOTIFY_TO   IS NOT NULL OR
8582   SHIP_TO_SITE_USE_ID IS NOT NULL OR
8583   PAYMENT_TERM_ID     IS NOT NULL OR
8584   PRICE_LIST_ID       IS NOT NULL ;
8585 
8586 
8587 -------------------------------------------------------------------------------
8588 -- The following is the cursor opened if any of the following parameters are --
8589 -- passed to the concurrent request                                          --
8590 -- 1. p_status
8591 -- 2. p_org_id
8592 -------------------------------------------------------------------------------
8593 CURSOR l_hdr_rule_hist_csr2 (p_id_low in NUMBER , p_id_hig in NUMBER , p_status in VARCHAR2 , p_org_id in NUMBER )is
8594 SELECT * FROM (
8595 SELECT  RGP.DNZ_CHR_ID DNZ_CHR_ID
8596        ,RUL.MAJOR_VERSION
8597        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
8598             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8599             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
8600             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
8601             ACCT_RULE_ID
8602        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
8603             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
8604             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
8605             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
8606             CC_BANK_ACCT_ID
8607        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
8608             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8609             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
8610             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
8611             GRACE_DURATION
8612        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
8613             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
8614             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
8615             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
8616             EST_REV_PERCENT
8617        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
8618             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!' ),
8619             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
8620             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
8621             TAX_AMOUNT
8622        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
8623             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
8624             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
8625             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
8626             TAX_CODE
8627        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
8628             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8629             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
8630             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
8631             TAX_EXEMPTION_ID
8632        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
8633             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8634             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
8635             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
8636             BILLING_PROFILE_ID
8637        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
8638             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
8639             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
8640             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
8641             QUOTE_TO_CONTACT_ID
8642        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
8643             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8644             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
8645             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
8646             QUOTE_TO_SITE_ID
8647        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
8648             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8649             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
8650             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
8651             QUOTE_TO_EMAIL_ID
8652        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
8653             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8654             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
8655             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
8656             QUOTE_TO_PHONE_ID
8657        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
8658             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8659             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
8660             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
8661             QUOTE_TO_FAX_ID
8662        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
8663             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8664             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
8665             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
8666             RENEWAL_PRICE_LIST
8667        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
8668             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8669             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
8670             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
8671             RENEWAL_MARKUP_PERCENT
8672        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
8673             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8674             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
8675             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
8676             RENEWAL_GRACE_DURATION
8677        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
8678             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8679             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
8680             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
8681             RENEWAL_EST_REV_PERCENT
8682        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
8683             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8684             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
8685             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
8686             RENEWAL_EST_REV_DURATION
8687        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
8688             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8689             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
8690             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
8691             RENEWAL_PRICE_LIST_USED
8692        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
8693             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8694             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
8695             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
8696             RENEWAL_NOTIFICATION_TO
8697        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
8698             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8699             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
8700             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
8701             RENEWAL_MARKUP_PERCENT_USED
8702        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
8703             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8704             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
8705             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
8706             REV_EST_PERCENT_USED
8707        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
8708             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8709             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
8710             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
8711             REV_EST_DURATION_USED
8712        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
8713             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8714             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
8715             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
8716             BILLING_PROFILE_USED
8717        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
8718             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8719             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
8720             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
8721             EVN_THRESHOLD_AMT
8722         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
8723 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
8724             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
8725             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
8726             ERN_THRESHOLD_AMT
8727        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
8728             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8729             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
8730             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
8731             RENEWAL_GRACE_DURATION_USED
8732        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
8733             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
8734             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
8735             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
8736             CONVERSION_RATE --OKC
8737        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
8738             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
8739             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
8740             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
8741             CONVERSION_EURO_RATE --OKC
8742        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
8743             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8744             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
8745             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
8746             CUST_ACCT_ID --OKC
8747        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
8748             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8749             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
8750             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
8751             BILL_TO_SITE_USE_ID --OKC
8752        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
8753             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8754             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
8755             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
8756             INV_RULE_ID --OKC
8757        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
8758             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8759             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
8760             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
8761             RENEWAL_NOTIFY_TO --OKC
8762        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
8763             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8764             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
8765             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
8766             SHIP_TO_SITE_USE_ID --OKC
8767        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
8768             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8769             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
8770             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
8771             PAYMENT_TERM_ID --OKC
8772        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
8773             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8774             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
8775             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
8776             PRICE_LIST_ID --OKC
8777 FROM OKC_RULE_GROUPS_BH RGP
8778    , OKC_RULES_BH RUL
8779    , OKC_K_HEADERS_BH HDR
8780 WHERE rgp.id = rul.rgp_id
8781   and rgp.cle_id is null
8782   and rgp.chr_id is not null
8783   and rgp.rgd_code = 'SVC_K'
8784   AND RUL.RULE_INFORMATION_CATEGORY IN
8785        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
8786         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
8787   AND HDR.id between p_id_low and p_id_hig
8788   AND HDR.id = RGP.DNZ_CHR_ID
8789   AND HDR.STS_CODE = nvl(p_status,HDR.STS_CODE)
8790   AND HDR.AUTHORING_ORG_ID = nvl(P_ORG_ID,HDR.AUTHORING_ORG_ID)
8791   GROUP BY RGP.DNZ_CHR_ID,RUL.MAJOR_VERSION )
8792 WHERE
8793   ACCT_RULE_ID    IS NOT NULL OR
8794   CC_BANK_ACCT_ID IS NOT NULL OR
8795   GRACE_DURATION  IS NOT NULL OR
8796   EST_REV_PERCENT IS NOT NULL OR
8797   TAX_AMOUNT      IS NOT NULL OR
8798   TAX_CODE        IS NOT NULL OR
8799   TAX_EXEMPTION_ID    IS NOT NULL OR
8800   BILLING_PROFILE_ID  IS NOT NULL OR
8801   QUOTE_TO_CONTACT_ID IS NOT NULL OR
8802   QUOTE_TO_SITE_ID    IS NOT NULL OR
8803   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
8804   QUOTE_TO_PHONE_ID   IS NOT NULL OR
8805   QUOTE_TO_FAX_ID     IS NOT NULL OR
8806   RENEWAL_PRICE_LIST  IS NOT NULL OR
8807   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
8808   RENEWAL_GRACE_DURATION   IS NOT NULL OR
8809   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
8810   RENEWAL_EST_REV_DURATION IS NOT NULL OR
8811   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
8812   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
8813   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
8814   REV_EST_PERCENT_USED  IS NOT NULL OR
8815   REV_EST_DURATION_USED IS NOT NULL OR
8816   BILLING_PROFILE_USED  IS NOT NULL OR
8817   EVN_THRESHOLD_AMT  IS NOT NULL OR
8818   ERN_THRESHOLD_AMT  IS NOT NULL OR
8819   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
8820   CONVERSION_RATE     IS NOT NULL OR
8821   CONVERSION_EURO_RATE IS NOT NULL OR
8822   CUST_ACCT_ID        IS NOT NULL OR
8823   BILL_TO_SITE_USE_ID IS NOT NULL OR
8824   INV_RULE_ID         IS NOT NULL OR
8825   RENEWAL_NOTIFY_TO   IS NOT NULL OR
8826   SHIP_TO_SITE_USE_ID IS NOT NULL OR
8827   PAYMENT_TERM_ID     IS NOT NULL OR
8828   PRICE_LIST_ID       IS NOT NULL ;
8829 
8830 
8831 -------------------------------------------------------------------------------
8832 -- The following is the cursor opened if all the parameters passed are null  --
8833 -------------------------------------------------------------------------------
8834 CURSOR l_hdr_rule_hist_csr1_nus (p_id_low in NUMBER , p_id_hig in NUMBER )is
8835 SELECT * FROM (
8836 SELECT  RGP.DNZ_CHR_ID DNZ_CHR_ID
8837        ,RUL.MAJOR_VERSION
8838        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
8839             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8840             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
8841             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
8842             ACCT_RULE_ID
8843        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
8844             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
8845             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
8846             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
8847             CC_BANK_ACCT_ID
8848        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
8849             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8850             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
8851             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
8852             GRACE_DURATION
8853        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
8854             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
8855             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
8856             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
8857             EST_REV_PERCENT
8858        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
8859             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!' ),
8860             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
8861             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
8862             TAX_AMOUNT
8863        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
8864             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
8865             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
8866             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
8867             TAX_CODE
8868        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
8869             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8870             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
8871             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
8872             TAX_EXEMPTION_ID
8873        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
8874             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8875             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
8876             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
8877             BILLING_PROFILE_ID
8878        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
8879             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
8880             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
8881             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
8882             QUOTE_TO_CONTACT_ID
8883        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
8884             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8885             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
8886             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
8887             QUOTE_TO_SITE_ID
8888        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
8889             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8890             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
8891             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
8892             QUOTE_TO_EMAIL_ID
8893        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
8894             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8895             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
8896             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
8897             QUOTE_TO_PHONE_ID
8898        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
8899             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8900             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
8901             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
8902             QUOTE_TO_FAX_ID
8903        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
8904             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8905             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
8906             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
8907             RENEWAL_PRICE_LIST
8908        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
8909             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
8910             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
8911             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
8912             RENEWAL_MARKUP_PERCENT
8913        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
8914             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8915             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
8916             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
8917             RENEWAL_GRACE_DURATION
8918        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
8919             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
8920             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
8921             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
8922             RENEWAL_EST_REV_PERCENT
8923        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
8924             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8925             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
8926             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
8927             RENEWAL_EST_REV_DURATION
8928        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
8929             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8930             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
8931             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
8932             RENEWAL_PRICE_LIST_USED
8933        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
8934             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8935             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
8936             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
8937             RENEWAL_NOTIFICATION_TO
8938        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
8939             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
8940             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
8941             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
8942             RENEWAL_MARKUP_PERCENT_USED
8943        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
8944             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
8945             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
8946             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
8947             REV_EST_PERCENT_USED
8948        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
8949             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8950             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
8951             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
8952             REV_EST_DURATION_USED
8953        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
8954             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8955             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
8956             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
8957             BILLING_PROFILE_USED
8958        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
8959             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
8960             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
8961             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
8962             EVN_THRESHOLD_AMT
8963         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
8964 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
8965             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
8966             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
8967             ERN_THRESHOLD_AMT
8968        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
8969             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8970             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
8971             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
8972             RENEWAL_GRACE_DURATION_USED
8973        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
8974             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
8975             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
8976             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
8977             CONVERSION_RATE --OKC
8978        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
8979             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
8980             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
8981             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
8982             CONVERSION_EURO_RATE --OKC
8983        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
8984             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8985             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
8986             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
8987             CUST_ACCT_ID --OKC
8988        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
8989             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8990             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
8991             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
8992             BILL_TO_SITE_USE_ID --OKC
8993        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
8994             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
8995             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
8996             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
8997             INV_RULE_ID --OKC
8998        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
8999             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9000             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
9001             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
9002             RENEWAL_NOTIFY_TO --OKC
9003        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
9004             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9005             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
9006             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
9007             SHIP_TO_SITE_USE_ID --OKC
9008        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
9009             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9010             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
9011             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
9012             PAYMENT_TERM_ID --OKC
9013        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
9014             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9015             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
9016             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
9017             PRICE_LIST_ID --OKC
9018 FROM OKC_RULE_GROUPS_BH RGP
9019    , OKC_RULES_BH RUL
9020 WHERE rgp.id = rul.rgp_id
9021   and rgp.cle_id is null
9022   and rgp.chr_id is not null
9023   and rgp.rgd_code = 'SVC_K'
9024   AND   RUL.RULE_INFORMATION_CATEGORY IN
9025        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
9026         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
9027   and rgp.id between p_id_low  and p_id_hig
9028   GROUP BY rgp.dnz_chr_id, RUL.MAJOR_VERSION )
9029 WHERE
9030   ACCT_RULE_ID    IS NOT NULL OR
9031   CC_BANK_ACCT_ID IS NOT NULL OR
9032   GRACE_DURATION  IS NOT NULL OR
9033   EST_REV_PERCENT IS NOT NULL OR
9034   TAX_AMOUNT      IS NOT NULL OR
9035   TAX_CODE        IS NOT NULL OR
9036   TAX_EXEMPTION_ID    IS NOT NULL OR
9037   BILLING_PROFILE_ID  IS NOT NULL OR
9038   QUOTE_TO_CONTACT_ID IS NOT NULL OR
9039   QUOTE_TO_SITE_ID    IS NOT NULL OR
9040   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
9041   QUOTE_TO_PHONE_ID   IS NOT NULL OR
9042   QUOTE_TO_FAX_ID     IS NOT NULL OR
9043   RENEWAL_PRICE_LIST  IS NOT NULL OR
9044   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
9045   RENEWAL_GRACE_DURATION   IS NOT NULL OR
9046   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
9047   RENEWAL_EST_REV_DURATION IS NOT NULL OR
9048   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
9049   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
9050   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
9051   REV_EST_PERCENT_USED  IS NOT NULL OR
9052   REV_EST_DURATION_USED IS NOT NULL OR
9053   BILLING_PROFILE_USED  IS NOT NULL OR
9054   EVN_THRESHOLD_AMT  IS NOT NULL OR
9055   ERN_THRESHOLD_AMT  IS NOT NULL OR
9056   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
9057   CONVERSION_RATE     IS NOT NULL OR
9058   CONVERSION_EURO_RATE IS NOT NULL OR
9059   CUST_ACCT_ID        IS NOT NULL OR
9060   BILL_TO_SITE_USE_ID IS NOT NULL OR
9061   INV_RULE_ID         IS NOT NULL OR
9062   RENEWAL_NOTIFY_TO   IS NOT NULL OR
9063   SHIP_TO_SITE_USE_ID IS NOT NULL OR
9064   PAYMENT_TERM_ID     IS NOT NULL OR
9065   PRICE_LIST_ID       IS NOT NULL ;
9066 
9067 
9068 -------------------------------------------------------------------------------
9069 -- The following is the cursor opened if any of the following parameters are --
9070 -- passed to the concurrent request                                          --
9071 -- 1. p_status
9072 -- 2. p_org_id
9073 -------------------------------------------------------------------------------
9074 CURSOR l_hdr_rule_hist_csr2_nus (p_id_low in NUMBER , p_id_hig in NUMBER , p_status in VARCHAR2 , p_org_id in NUMBER )is
9075 SELECT * FROM (
9076 SELECT  RGP.DNZ_CHR_ID DNZ_CHR_ID
9077        ,RUL.MAJOR_VERSION
9078        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
9079             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9080             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
9081             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
9082             ACCT_RULE_ID
9083        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
9084             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
9085             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
9086             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
9087             CC_BANK_ACCT_ID
9088        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
9089             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9090             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
9091             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
9092             GRACE_DURATION
9093        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
9094             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
9095             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
9096             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
9097             EST_REV_PERCENT
9098        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
9099             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!' ),
9100             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
9101             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
9102             TAX_AMOUNT
9103        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
9104             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
9105             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
9106             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
9107             TAX_CODE
9108        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
9109             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9110             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
9111             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
9112             TAX_EXEMPTION_ID
9113        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
9114             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9115             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
9116             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
9117             BILLING_PROFILE_ID
9118        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
9119             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
9120             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
9121             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
9122             QUOTE_TO_CONTACT_ID
9123        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
9124             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9125             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
9126             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
9127             QUOTE_TO_SITE_ID
9128        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
9129             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9130             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
9131             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
9132             QUOTE_TO_EMAIL_ID
9133        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
9134             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9135             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
9136             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
9137             QUOTE_TO_PHONE_ID
9138        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
9139             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9140             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
9141             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
9142             QUOTE_TO_FAX_ID
9143        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
9144             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9145             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
9146             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
9147             RENEWAL_PRICE_LIST
9148        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
9149             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
9150             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
9151             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
9152             RENEWAL_MARKUP_PERCENT
9153        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
9154             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9155             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
9156             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
9157             RENEWAL_GRACE_DURATION
9158        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
9159             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
9160             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
9161             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
9162             RENEWAL_EST_REV_PERCENT
9163        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
9164             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9165             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
9166             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
9167             RENEWAL_EST_REV_DURATION
9168        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
9169             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9170             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
9171             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
9172             RENEWAL_PRICE_LIST_USED
9173        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
9174             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9175             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
9176             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
9177             RENEWAL_NOTIFICATION_TO
9178        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
9179             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
9180             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
9181             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
9182             RENEWAL_MARKUP_PERCENT_USED
9183        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
9184             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
9185             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
9186             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
9187             REV_EST_PERCENT_USED
9188        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
9189             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9190             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
9191             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
9192             REV_EST_DURATION_USED
9193        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
9194             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9195             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
9196             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
9197             BILLING_PROFILE_USED
9198        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
9199             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
9200             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
9201             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
9202             EVN_THRESHOLD_AMT
9203         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
9204 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
9205             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
9206             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
9207             ERN_THRESHOLD_AMT
9208        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
9209             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9210             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
9211             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
9212             RENEWAL_GRACE_DURATION_USED
9213        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
9214             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
9215             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
9216             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
9217             CONVERSION_RATE --OKC
9218        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
9219             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
9220             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
9221             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
9222             CONVERSION_EURO_RATE --OKC
9223        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
9224             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9225             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
9226             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
9227             CUST_ACCT_ID --OKC
9228        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
9229             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9230             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
9231             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
9232             BILL_TO_SITE_USE_ID --OKC
9233        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
9234             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9235             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
9236             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
9237             INV_RULE_ID --OKC
9238        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
9239             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9240             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
9241             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
9242             RENEWAL_NOTIFY_TO --OKC
9243        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
9244             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9245             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
9246             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
9247             SHIP_TO_SITE_USE_ID --OKC
9248        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
9249             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9250             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
9251             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
9252             PAYMENT_TERM_ID --OKC
9253        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
9254             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
9255             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
9256             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
9257             PRICE_LIST_ID --OKC
9258 FROM OKC_RULE_GROUPS_BH RGP
9259    , OKC_RULES_BH RUL
9260    , OKC_K_HEADERS_BH HDR
9261 WHERE rgp.id = rul.rgp_id
9262   and rgp.cle_id is null
9263   and rgp.chr_id is not null
9264   and rgp.rgd_code = 'SVC_K'
9265   AND RUL.RULE_INFORMATION_CATEGORY IN
9266        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
9267         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
9268   AND HDR.id between p_id_low and p_id_hig
9269   AND HDR.id = RGP.DNZ_CHR_ID
9270   AND HDR.STS_CODE = nvl(p_status,HDR.STS_CODE)
9271   AND HDR.AUTHORING_ORG_ID = nvl(P_ORG_ID,HDR.AUTHORING_ORG_ID)
9272   GROUP BY RGP.DNZ_CHR_ID,RUL.MAJOR_VERSION )
9273 WHERE
9274   ACCT_RULE_ID    IS NOT NULL OR
9275   CC_BANK_ACCT_ID IS NOT NULL OR
9276   GRACE_DURATION  IS NOT NULL OR
9277   EST_REV_PERCENT IS NOT NULL OR
9278   TAX_AMOUNT      IS NOT NULL OR
9279   TAX_CODE        IS NOT NULL OR
9280   TAX_EXEMPTION_ID    IS NOT NULL OR
9281   BILLING_PROFILE_ID  IS NOT NULL OR
9282   QUOTE_TO_CONTACT_ID IS NOT NULL OR
9283   QUOTE_TO_SITE_ID    IS NOT NULL OR
9284   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
9285   QUOTE_TO_PHONE_ID   IS NOT NULL OR
9286   QUOTE_TO_FAX_ID     IS NOT NULL OR
9287   RENEWAL_PRICE_LIST  IS NOT NULL OR
9288   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
9289   RENEWAL_GRACE_DURATION   IS NOT NULL OR
9290   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
9291   RENEWAL_EST_REV_DURATION IS NOT NULL OR
9292   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
9293   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
9294   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
9295   REV_EST_PERCENT_USED  IS NOT NULL OR
9296   REV_EST_DURATION_USED IS NOT NULL OR
9297   BILLING_PROFILE_USED  IS NOT NULL OR
9298   EVN_THRESHOLD_AMT  IS NOT NULL OR
9299   ERN_THRESHOLD_AMT  IS NOT NULL OR
9300   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
9301   CONVERSION_RATE     IS NOT NULL OR
9302   CONVERSION_EURO_RATE IS NOT NULL OR
9303   CUST_ACCT_ID        IS NOT NULL OR
9304   BILL_TO_SITE_USE_ID IS NOT NULL OR
9305   INV_RULE_ID         IS NOT NULL OR
9306   RENEWAL_NOTIFY_TO   IS NOT NULL OR
9307   SHIP_TO_SITE_USE_ID IS NOT NULL OR
9308   PAYMENT_TERM_ID     IS NOT NULL OR
9309   PRICE_LIST_ID       IS NOT NULL ;
9310 
9311 
9312 
9313 ----------------------------------------------------------------------------
9314 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
9315 ----------------------------------------------------------------------------
9316 CURSOR L_HDR_DTLS_CSR ( P_HDR_ID  IN NUMBER , P_CATEGORY IN VARCHAR2 ,P_MAJOR_VERSION IN NUMBER ) IS
9317 SELECT HDR.CONTRACT_NUMBER
9318      , HDR.CONTRACT_NUMBER_MODIFIER
9319      , HDR.MAJOR_VERSION
9320      , RUL.ID
9321      , RGP.ID RGP_ID
9322  FROM  OKC_K_HEADERS_BH HDR
9323      , OKC_RULE_GROUPS_BH RGP
9324      , OKC_RULES_BH RUL
9325 WHERE HDR.ID = P_HDR_ID
9326   AND RGP.DNZ_CHR_ID = P_HDR_ID
9327   AND RGP.CHR_ID = P_HDR_ID
9328   AND RGP.ID = RUL.RGP_ID
9329   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
9330   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY
9331   AND RGP.MAJOR_VERSION = P_MAJOR_VERSION;
9332 
9333 L_HDR_DTLS_REC L_HDR_DTLS_CSR%ROWTYPE;
9334 ----------------------------------------------------------------------------
9335 
9336 
9337 BEGIN
9338  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
9339  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Header History Rule Data Validation--------');
9340  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
9341  FND_FILE.PUT_LINE (FND_FILE.LOG, '----------Parameters passed to the Subrequest Request are as follows  -----------');
9342  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_STATUS ==============> '||P_STATUS);
9343  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ORG_ID ==============> '||P_ORG_ID);
9344  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_BATCH_SIZE  =========> '||P_BATCH_SIZE);
9345  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_LOW ==============> '||p_ID_LOW);
9346  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_HIG ==============> '||P_ID_HIG);
9347  FND_FILE.PUT_LINE (FND_FILE.LOG, '---------------------------------------------------------------------------------');
9348 
9349 
9350 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
9351 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'                Start of Header History Validation Report for          ');
9352 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
9353 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,' Contract Number      |Modifier                |Line Number    |Rule Category     |Attribute Name       |Current Value       ');
9354 
9355 if(p_us_yn = 'true') THEN
9356   l_us_yn := true;
9357  else
9358   l_us_yn := false;
9359 end if;
9360 
9361 if(l_us_yn) THEN
9362  If (p_status is null and p_org_id is null  )  then
9363      OPEN l_hdr_rule_hist_csr1(p_id_low , p_id_hig);
9364      FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_hist_csr1');
9365  Else
9366      OPEN l_hdr_rule_hist_csr2(p_id_low , p_id_hig, p_status , p_org_id);
9367      FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_hist_csr2');
9368  End IF;
9369 else
9370  If (p_status is null and p_org_id is null  )  then
9371      OPEN l_hdr_rule_hist_csr1_nus(p_id_low , p_id_hig);
9372      FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_hist_csr1_nus');
9373  Else
9374      OPEN l_hdr_rule_hist_csr2_nus(p_id_low , p_id_hig, p_status , p_org_id);
9375      FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_hist_csr2_nus');
9376  End IF;
9377 end if;
9378 
9379  Loop
9380     ------------------------------------------------------------------------------------
9381     --Start of If to choose the cursor to be fetched --
9382 
9383  if(l_us_yn) THEN
9384     If (p_status is null and p_org_id is null )  then
9385         FETCH l_hdr_rule_hist_csr1 bulk collect into
9386                         CHR_ID
9387 			,MAJOR_VERSION
9388                         ,ACCT_RULE_ID_CHR
9389                         --,CC_EXPIRY_DATE_CHR
9390                         ,CC_BANK_ACCT_ID_CHR
9391                         ,GRACE_DURATION_CHR
9392                         ,EST_REV_PERCENT_CHR
9393                         --,EST_REV_DATE_CHR
9394                         ,TAX_AMOUNT_CHR
9395                         ,TAX_CODE_CHR
9396                         ,TAX_EXEMPTION_ID_CHR
9397                         ,BILLING_PROFILE_ID_CHR
9398                         ,QUOTE_TO_CONTACT_ID_CHR
9399                         ,QUOTE_TO_SITE_ID_CHR
9400                         ,QUOTE_TO_EMAIL_ID_CHR
9401                         ,QUOTE_TO_PHONE_ID_CHR
9402                         ,QUOTE_TO_FAX_ID_CHR
9403                         ,RENEWAL_PRICE_LIST_CHR
9404                         ,RENEWAL_MARKUP_PERCENT_CHR
9405                         ,RENEWAL_GRACE_DURATION_CHR
9406                         ,RENEWAL_EST_REV_PERCENT_CHR
9407                         ,RENEWAL_EST_REV_DURATION_CHR
9408                         ,RENEWAL_PRICE_LIST_USED_CHR
9409                         ,RENEWAL_NOTIFICATION_TO_CHR
9410                         ,RENEWAL_MARKUP_PERCENT_USED_CH
9411                         ,REV_EST_PERCENT_USED_CHR
9412                         ,REV_EST_DURATION_USED_CHR
9413                         ,BILLING_PROFILE_USED_CHR
9414                         ,EVN_THRESHOLD_AMT_CHR
9415                         ,ERN_THRESHOLD_AMT_CHR
9416                         ,RENEWAL_GRACE_DURATION_USED_CH
9417                         ,CONVERSION_RATE_CHR              --OKC
9418                         --,CONVERSION_RATE_DATE_CHR         --OKC
9419                         ,CONVERSION_EURO_RATE_CHR         --OKC
9420                         ,CUST_ACCT_ID_CHR                 --OKC
9421                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
9422                         ,INV_RULE_ID_CHR                  --OKC
9423                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
9424                         --,RENEWAL_END_DATE_CHR             --OKC
9425                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
9426                         ,PAYMENT_TERM_ID_CHR              --OKC
9427                         ,PRICE_LIST_ID_CHR  LIMIT p_batch_size; --OKC
9428 
9429        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_hist_csr1');
9430        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
9431        EXIT WHEN CHR_ID.COUNT = 0 ;
9432     Else
9433         FETCH l_hdr_rule_hist_csr2 bulk collect into
9434                         CHR_ID
9435 			,MAJOR_VERSION
9436                         ,ACCT_RULE_ID_CHR
9437                         --,CC_EXPIRY_DATE_CHR
9438                         ,CC_BANK_ACCT_ID_CHR
9439                         ,GRACE_DURATION_CHR
9440                         ,EST_REV_PERCENT_CHR
9441                         --,EST_REV_DATE_CHR
9442                         ,TAX_AMOUNT_CHR
9443                         ,TAX_CODE_CHR
9444                         ,TAX_EXEMPTION_ID_CHR
9445                         ,BILLING_PROFILE_ID_CHR
9446                         ,QUOTE_TO_CONTACT_ID_CHR
9447                         ,QUOTE_TO_SITE_ID_CHR
9448                         ,QUOTE_TO_EMAIL_ID_CHR
9449                         ,QUOTE_TO_PHONE_ID_CHR
9450                         ,QUOTE_TO_FAX_ID_CHR
9451                         ,RENEWAL_PRICE_LIST_CHR
9452                         ,RENEWAL_MARKUP_PERCENT_CHR
9453                         ,RENEWAL_GRACE_DURATION_CHR
9454                         ,RENEWAL_EST_REV_PERCENT_CHR
9455                         ,RENEWAL_EST_REV_DURATION_CHR
9456                         ,RENEWAL_PRICE_LIST_USED_CHR
9457                         ,RENEWAL_NOTIFICATION_TO_CHR
9458                         ,RENEWAL_MARKUP_PERCENT_USED_CH
9459                         ,REV_EST_PERCENT_USED_CHR
9460                         ,REV_EST_DURATION_USED_CHR
9461                         ,BILLING_PROFILE_USED_CHR
9462                         ,EVN_THRESHOLD_AMT_CHR
9463                         ,ERN_THRESHOLD_AMT_CHR
9464                         ,RENEWAL_GRACE_DURATION_USED_CH
9465                         ,CONVERSION_RATE_CHR              --OKC
9466                         --,CONVERSION_RATE_DATE_CHR         --OKC
9467                         ,CONVERSION_EURO_RATE_CHR         --OKC
9468                         ,CUST_ACCT_ID_CHR                 --OKC
9469                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
9470                         ,INV_RULE_ID_CHR                  --OKC
9471                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
9472                         --,RENEWAL_END_DATE_CHR             --OKC
9473                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
9474                         ,PAYMENT_TERM_ID_CHR              --OKC
9475                         ,PRICE_LIST_ID_CHR  LIMIT p_batch_size; --OKC
9476 
9477        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_hist_csr2');
9478        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
9479        EXIT WHEN CHR_ID.COUNT = 0 ;
9480 
9481     End IF;
9482         --End of If to choose the cursor to be fetched --
9483 
9484 else
9485 
9486     If (p_status is null and p_org_id is null )  then
9487         FETCH l_hdr_rule_hist_csr1_nus bulk collect into
9488                         CHR_ID
9489 			,MAJOR_VERSION
9490                         ,ACCT_RULE_ID_CHR
9491                         --,CC_EXPIRY_DATE_CHR
9492                         ,CC_BANK_ACCT_ID_CHR
9493                         ,GRACE_DURATION_CHR
9494                         ,EST_REV_PERCENT_CHR
9495                         --,EST_REV_DATE_CHR
9496                         ,TAX_AMOUNT_CHR
9497                         ,TAX_CODE_CHR
9498                         ,TAX_EXEMPTION_ID_CHR
9499                         ,BILLING_PROFILE_ID_CHR
9500                         ,QUOTE_TO_CONTACT_ID_CHR
9501                         ,QUOTE_TO_SITE_ID_CHR
9502                         ,QUOTE_TO_EMAIL_ID_CHR
9503                         ,QUOTE_TO_PHONE_ID_CHR
9504                         ,QUOTE_TO_FAX_ID_CHR
9505                         ,RENEWAL_PRICE_LIST_CHR
9506                         ,RENEWAL_MARKUP_PERCENT_CHR
9507                         ,RENEWAL_GRACE_DURATION_CHR
9508                         ,RENEWAL_EST_REV_PERCENT_CHR
9509                         ,RENEWAL_EST_REV_DURATION_CHR
9510                         ,RENEWAL_PRICE_LIST_USED_CHR
9511                         ,RENEWAL_NOTIFICATION_TO_CHR
9512                         ,RENEWAL_MARKUP_PERCENT_USED_CH
9513                         ,REV_EST_PERCENT_USED_CHR
9514                         ,REV_EST_DURATION_USED_CHR
9515                         ,BILLING_PROFILE_USED_CHR
9516                         ,EVN_THRESHOLD_AMT_CHR
9517                         ,ERN_THRESHOLD_AMT_CHR
9518                         ,RENEWAL_GRACE_DURATION_USED_CH
9519                         ,CONVERSION_RATE_CHR              --OKC
9520                         --,CONVERSION_RATE_DATE_CHR         --OKC
9521                         ,CONVERSION_EURO_RATE_CHR         --OKC
9522                         ,CUST_ACCT_ID_CHR                 --OKC
9523                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
9524                         ,INV_RULE_ID_CHR                  --OKC
9525                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
9526                         --,RENEWAL_END_DATE_CHR             --OKC
9527                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
9528                         ,PAYMENT_TERM_ID_CHR              --OKC
9529                         ,PRICE_LIST_ID_CHR  LIMIT p_batch_size; --OKC
9530 
9531        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_hist_csr1');
9532        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
9533        EXIT WHEN CHR_ID.COUNT = 0 ;
9534     Else
9535         FETCH l_hdr_rule_hist_csr2_nus bulk collect into
9536                         CHR_ID
9537 			,MAJOR_VERSION
9538                         ,ACCT_RULE_ID_CHR
9539                         --,CC_EXPIRY_DATE_CHR
9540                         ,CC_BANK_ACCT_ID_CHR
9541                         ,GRACE_DURATION_CHR
9542                         ,EST_REV_PERCENT_CHR
9543                         --,EST_REV_DATE_CHR
9544                         ,TAX_AMOUNT_CHR
9545                         ,TAX_CODE_CHR
9546                         ,TAX_EXEMPTION_ID_CHR
9547                         ,BILLING_PROFILE_ID_CHR
9548                         ,QUOTE_TO_CONTACT_ID_CHR
9549                         ,QUOTE_TO_SITE_ID_CHR
9550                         ,QUOTE_TO_EMAIL_ID_CHR
9551                         ,QUOTE_TO_PHONE_ID_CHR
9552                         ,QUOTE_TO_FAX_ID_CHR
9553                         ,RENEWAL_PRICE_LIST_CHR
9554                         ,RENEWAL_MARKUP_PERCENT_CHR
9555                         ,RENEWAL_GRACE_DURATION_CHR
9556                         ,RENEWAL_EST_REV_PERCENT_CHR
9557                         ,RENEWAL_EST_REV_DURATION_CHR
9558                         ,RENEWAL_PRICE_LIST_USED_CHR
9559                         ,RENEWAL_NOTIFICATION_TO_CHR
9560                         ,RENEWAL_MARKUP_PERCENT_USED_CH
9561                         ,REV_EST_PERCENT_USED_CHR
9562                         ,REV_EST_DURATION_USED_CHR
9563                         ,BILLING_PROFILE_USED_CHR
9564                         ,EVN_THRESHOLD_AMT_CHR
9565                         ,ERN_THRESHOLD_AMT_CHR
9566                         ,RENEWAL_GRACE_DURATION_USED_CH
9567                         ,CONVERSION_RATE_CHR              --OKC
9568                         --,CONVERSION_RATE_DATE_CHR         --OKC
9569                         ,CONVERSION_EURO_RATE_CHR         --OKC
9570                         ,CUST_ACCT_ID_CHR                 --OKC
9571                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
9572                         ,INV_RULE_ID_CHR                  --OKC
9573                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
9574                         --,RENEWAL_END_DATE_CHR             --OKC
9575                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
9576                         ,PAYMENT_TERM_ID_CHR              --OKC
9577                         ,PRICE_LIST_ID_CHR  LIMIT p_batch_size; --OKC
9578 
9579        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_hist_csr2');
9580        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
9581        EXIT WHEN CHR_ID.COUNT = 0 ;
9582 
9583     End IF;
9584         --End of If to choose the cursor to be fetched --
9585 
9586 end if;
9587 
9588 
9589     ------------------------------------------------------------------------------------
9590 
9591     ------------------------------------------------------------------------------------
9592     -- Begin of code to validate data type .
9593     FOR a in CHR_ID.FIRST..CHR_ID.LAST
9594     LOOP
9595        --1. Validation for ARL rule .
9596        BEGIN
9597           ACCT_RULE_ID(1)      := ACCT_RULE_ID_CHR(a);
9598        EXCEPTION
9599        WHEN OTHERS THEN
9600           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ARL',MAJOR_VERSION(a)) ;
9601           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9602           CLOSE L_HDR_DTLS_CSR;
9603           FND_MESSAGE.CLEAR;
9604           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
9605           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9606           L_ERROR_MSG      := SQLERRM;
9607           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9608                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9609                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
9610                                       ERROR_MSG)
9611                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9612                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9613                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR(a),
9614                                        L_ERROR_MSG );
9615           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
9616        END;
9617 
9618        --2. Validation for CCR rule .
9619        BEGIN
9620           CC_BANK_ACCT_ID(1)      := CC_BANK_ACCT_ID_CHR(a);
9621        EXCEPTION
9622        WHEN OTHERS THEN
9623           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CCR',MAJOR_VERSION(a)) ;
9624           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9625           CLOSE L_HDR_DTLS_CSR;
9626           FND_MESSAGE.CLEAR;
9627           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
9628           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9629           L_ERROR_MSG      := SQLERRM;
9630           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9631                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9632                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9633                                       ERROR_MSG)
9634                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9635                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9636                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR(a),
9637                                        L_ERROR_MSG );
9638 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3'  ||L_ATTRIBUTE_NAME || CC_BANK_ACCT_ID_CHR(a)  );
9639        END;
9640 
9641        --3. Validation for GPR rule .
9642        BEGIN
9643           GRACE_DURATION(1)    := GRACE_DURATION_CHR(a);
9644        EXCEPTION
9645        WHEN OTHERS THEN
9646           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'GPR',MAJOR_VERSION(a)) ;
9647           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9648           CLOSE L_HDR_DTLS_CSR;
9649           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
9650           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9651           L_ERROR_MSG      := SQLERRM;
9652           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9653                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9654                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9655                                       ERROR_MSG)
9656                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9657                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9658                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR(a),
9659                                        L_ERROR_MSG );
9660 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || GRACE_DURATION_CHR(a)  );
9661        END;
9662 
9663        --4. Validation for RVE rule .
9664        BEGIN
9665           EST_REV_PERCENT(1)      := EST_REV_PERCENT_CHR(a);
9666        EXCEPTION
9667        WHEN OTHERS THEN
9668           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RVE',MAJOR_VERSION(a)) ;
9669           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9670           CLOSE L_HDR_DTLS_CSR;
9671           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
9672           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9673           L_ERROR_MSG      := SQLERRM;
9674           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9675                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9676                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9677                                       ERROR_MSG)
9678                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9679                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9680                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR(a),
9681                                        L_ERROR_MSG );
9682 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EST_REV_PERCENT_CHR(a)  );
9683        END;
9684 
9685        --5. Validation for IRT rule.
9686        BEGIN
9687           TAX_AMOUNT(1)      := TAX_AMOUNT_CHR(a);
9688        EXCEPTION
9689        WHEN OTHERS THEN
9690           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRT',MAJOR_VERSION(a)) ;
9691           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9692           CLOSE L_HDR_DTLS_CSR;
9693           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
9694           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9695           L_ERROR_MSG      := SQLERRM;
9696           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9697                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9698                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9699                                       ERROR_MSG)
9700                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9701                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9702                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR(a),
9703                                        L_ERROR_MSG );
9704 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || TAX_AMOUNT_CHR(a)  );
9705        END;
9706 
9707        --6. Validation for TAX (TAX_CODE) rule.
9708        BEGIN
9709           TAX_CODE(1)      := TAX_CODE_CHR(a);
9710        EXCEPTION
9711        WHEN OTHERS THEN
9712           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'TAX',MAJOR_VERSION(a)) ;
9713           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9714           CLOSE L_HDR_DTLS_CSR;
9715           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
9716           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9717           L_ERROR_MSG      := SQLERRM;
9718           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9719                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9720                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9721                                       ERROR_MSG)
9722                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9723                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9724                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR(a),
9725                                        L_ERROR_MSG );
9726 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || TAX_CODE_CHR(a)  );
9727        END;
9728 
9729        --7. Validation for TAX (TAX_EXEMPTION_ID) rule.
9730        BEGIN
9731           TAX_EXEMPTION_ID(1)      := TAX_EXEMPTION_ID_CHR(a);
9732        EXCEPTION
9733        WHEN OTHERS THEN
9734           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'TAX',MAJOR_VERSION(a));
9735           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9736           CLOSE L_HDR_DTLS_CSR;
9737           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
9738           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9739           L_ERROR_MSG      := SQLERRM;
9740           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9741                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9742                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9743                                       ERROR_MSG)
9744                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9745                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9746                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR(a),
9747                                        L_ERROR_MSG );
9748 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || TAX_EXEMPTION_ID_CHR(a)  );
9749        END;
9750 
9751 
9752        --8. Validation for CAN  rule.
9753        BEGIN
9754           CUST_ACCT_ID(1)      := CUST_ACCT_ID_CHR(a);
9755        EXCEPTION
9756        WHEN OTHERS THEN
9757           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CAN',MAJOR_VERSION(a));
9758           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9759           CLOSE L_HDR_DTLS_CSR;
9760           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
9761           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9762           L_ERROR_MSG      := SQLERRM;
9763           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9764                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9765                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9766                                       ERROR_MSG)
9767                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9768                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9769                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR(a),
9770                                        L_ERROR_MSG );
9771 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || CUST_ACCT_ID_CHR(a)  );
9772        END;
9773 
9774        --9. Validation for BTO  rule.
9775        BEGIN
9776           BILL_TO_SITE_USE_ID(1)      := BILL_TO_SITE_USE_ID_CHR(a);
9777        EXCEPTION
9778        WHEN OTHERS THEN
9779           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'BTO',MAJOR_VERSION(a));
9780           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9781           CLOSE L_HDR_DTLS_CSR;
9782           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
9783           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9784           L_ERROR_MSG      := SQLERRM;
9785           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9786                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9787                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9788                                       ERROR_MSG)
9789                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9790                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9791                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR(a),
9792                                        L_ERROR_MSG );
9793 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || BILL_TO_SITE_USE_ID_CHR(a)  );
9794        END;
9795 
9796 
9797        --10. Validation for IRE  rule.
9798        BEGIN
9799           INV_RULE_ID(1)      := INV_RULE_ID_CHR(a);
9800        EXCEPTION
9801        WHEN OTHERS THEN
9802           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRE',MAJOR_VERSION(a));
9803           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9804           CLOSE L_HDR_DTLS_CSR;
9805           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
9806           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9807           L_ERROR_MSG      := SQLERRM;
9808           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9809                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9810                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9811                                       ERROR_MSG)
9812                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9813                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9814                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR(a),
9815                                        L_ERROR_MSG );
9816 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || INV_RULE_ID_CHR(a)  );
9817        END;
9818 
9819        --11. Validation for REN ( RENEWAL_NOTIFY_TO )  rule.
9820        BEGIN
9821           RENEWAL_NOTIFY_TO(1)      := RENEWAL_NOTIFY_TO_CHR(a);
9822        EXCEPTION
9823        WHEN OTHERS THEN
9824           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRE',MAJOR_VERSION(a));
9825           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9826           CLOSE L_HDR_DTLS_CSR;
9827           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
9828           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9829           L_ERROR_MSG      := SQLERRM;
9830           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9831                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9832                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9833                                       ERROR_MSG)
9834                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9835                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9836                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR(a),
9837                                        L_ERROR_MSG );
9838 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_NOTIFY_TO_CHR(a)  );
9839        END;
9840 
9841        --12. Validation for STO rule.
9842        BEGIN
9843           SHIP_TO_SITE_USE_ID(1)      := SHIP_TO_SITE_USE_ID_CHR(a);
9844        EXCEPTION
9845        WHEN OTHERS THEN
9846           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'STO',MAJOR_VERSION(a));
9847           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9848           CLOSE L_HDR_DTLS_CSR;
9849           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
9850           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9851           L_ERROR_MSG      := SQLERRM;
9852           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9853                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9854                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9855                                       ERROR_MSG)
9856                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9857                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9858                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR(a),
9859                                        L_ERROR_MSG );
9860 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || SHIP_TO_SITE_USE_ID_CHR(a)  );
9861        END;
9862 
9863        --13. Validation for PTR rule.
9864        BEGIN
9865           PAYMENT_TERM_ID(1)      := PAYMENT_TERM_ID_CHR(a);
9866        EXCEPTION
9867        WHEN OTHERS THEN
9868           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PTR',MAJOR_VERSION(a));
9869           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9870           CLOSE L_HDR_DTLS_CSR;
9871           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
9872           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9873           L_ERROR_MSG      := SQLERRM;
9874           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9875                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9876                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9877                                       ERROR_MSG)
9878                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9879                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9880                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR(a),
9881                                        L_ERROR_MSG );
9882 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PAYMENT_TERM_ID_CHR(a)  );
9883        END;
9884 
9885        --14. Validation for ERN rule.
9886        BEGIN
9887           BILLING_PROFILE_ID(1)      := BILLING_PROFILE_ID_CHR(a);
9888        EXCEPTION
9889        WHEN OTHERS THEN
9890           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ERN',MAJOR_VERSION(a));
9891           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9892           CLOSE L_HDR_DTLS_CSR;
9893           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
9894           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9895           L_ERROR_MSG      := SQLERRM;
9896           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9897                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9898                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9899                                       ERROR_MSG)
9900                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9901                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9902                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR(a),
9903                                        L_ERROR_MSG );
9904 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || BILLING_PROFILE_ID_CHR(a)  );
9905        END;
9906 
9907 
9908        --15. Validation for QTO ( QUOTE_TO_CONTACT_ID )rule.
9909        BEGIN
9910           QUOTE_TO_CONTACT_ID(1)      := QUOTE_TO_CONTACT_ID_CHR(a);
9911        EXCEPTION
9912        WHEN OTHERS THEN
9913           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO',MAJOR_VERSION(a));
9914           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9915           CLOSE L_HDR_DTLS_CSR;
9916           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
9917           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9918           L_ERROR_MSG      := SQLERRM;
9919           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9920                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9921                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9922                                       ERROR_MSG)
9923                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9924                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9925                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR(a),
9926                                        L_ERROR_MSG );
9927 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || QUOTE_TO_CONTACT_ID_CHR(a)  );
9928        END;
9929 
9930        --16. Validation for QTO ( QUOTE_TO_SITE_ID ) rule.
9931        BEGIN
9932           QUOTE_TO_SITE_ID(1)      := QUOTE_TO_SITE_ID_CHR(a);
9933        EXCEPTION
9934        WHEN OTHERS THEN
9935           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO',MAJOR_VERSION(a));
9936           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9937           CLOSE L_HDR_DTLS_CSR;
9938           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
9939           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9940           L_ERROR_MSG      := SQLERRM;
9941           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9942                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9943                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9944                                       ERROR_MSG)
9945                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9946                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9947                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR(a),
9948                                        L_ERROR_MSG );
9949 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || QUOTE_TO_SITE_ID_CHR(a)  );
9950        END;
9951 
9952        --17. Validation for QTO ( QUOTE_TO_EMAIL_ID ) rule.
9953        BEGIN
9954           QUOTE_TO_EMAIL_ID(1)      := QUOTE_TO_EMAIL_ID_CHR(a);
9955        EXCEPTION
9956        WHEN OTHERS THEN
9957           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO',MAJOR_VERSION(a));
9958           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9959           CLOSE L_HDR_DTLS_CSR;
9960           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
9961           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9962           L_ERROR_MSG      := SQLERRM;
9963           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9964                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9965                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9966                                       ERROR_MSG)
9967                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9968                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9969                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR(a),
9970                                        L_ERROR_MSG );
9971 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1'  ||L_ATTRIBUTE_NAME || QUOTE_TO_EMAIL_ID_CHR(a)  );
9972        END;
9973 
9974        --18. Validation for QTO ( QUOTE_TO_PHONE_ID ) rule.
9975        BEGIN
9976           QUOTE_TO_PHONE_ID(1)      := QUOTE_TO_PHONE_ID_CHR(a);
9977        EXCEPTION
9978        WHEN OTHERS THEN
9979           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO',MAJOR_VERSION(a));
9980           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
9981           CLOSE L_HDR_DTLS_CSR;
9982           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
9983           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
9984           L_ERROR_MSG      := SQLERRM;
9985           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
9986                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
9987                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
9988                                       ERROR_MSG)
9989                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
9990                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
9991                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR(a),
9992                                        L_ERROR_MSG );
9993 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || QUOTE_TO_PHONE_ID_CHR(a)  );
9994        END;
9995 
9996        --19. Validation for QTO ( QUOTE_TO_FAX_ID ) rule.
9997        BEGIN
9998           QUOTE_TO_FAX_ID(1)      := QUOTE_TO_FAX_ID_CHR(a);
9999        EXCEPTION
10000        WHEN OTHERS THEN
10001           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO',MAJOR_VERSION(a));
10002           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10003           CLOSE L_HDR_DTLS_CSR;
10004           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
10005           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10006           L_ERROR_MSG      := SQLERRM;
10007           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10008                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10009                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10010                                       ERROR_MSG)
10011                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10012                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10013                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR(a),
10014                                        L_ERROR_MSG );
10015 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || QUOTE_TO_FAX_ID_CHR(a)  );
10016        END;
10017 
10018        --20. Validation for RPT ( RENEWAL_PRICE_LIST ) rule.
10019        BEGIN
10020           RENEWAL_PRICE_LIST(1)      := RENEWAL_PRICE_LIST_CHR(a);
10021        EXCEPTION
10022        WHEN OTHERS THEN
10023           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT',MAJOR_VERSION(a));
10024           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10025           CLOSE L_HDR_DTLS_CSR;
10026           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
10027           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10028           L_ERROR_MSG      := SQLERRM;
10029           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10030                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10031                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10032                                       ERROR_MSG)
10033                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10034                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10035                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR(a),
10036                                        L_ERROR_MSG );
10037 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RENEWAL_PRICE_LIST_CHR(a)  );
10038        END;
10039 
10040        --21. Validation for RPT ( RENEWAL_MARKUP_PERCENT ) rule.
10041        BEGIN
10042           RENEWAL_MARKUP_PERCENT(1)      := RENEWAL_MARKUP_PERCENT_CHR(a);
10043        EXCEPTION
10044        WHEN OTHERS THEN
10045           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT',MAJOR_VERSION(a));
10046           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10047           CLOSE L_HDR_DTLS_CSR;
10048           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
10049           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10050           L_ERROR_MSG      := SQLERRM;
10051           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10052                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10053                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10054                                       ERROR_MSG)
10055                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10056                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10057                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR(a),
10058                                        L_ERROR_MSG );
10059 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_MARKUP_PERCENT_CHR(a)  );
10060        END;
10061 
10062        --22. Validation for RPT ( RENEWAL_GRACE_DURATION ) rule.
10063        BEGIN
10064           RENEWAL_GRACE_DURATION(1)      := RENEWAL_GRACE_DURATION_CHR(a);
10065        EXCEPTION
10066        WHEN OTHERS THEN
10067           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT',MAJOR_VERSION(a));
10068           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10069           CLOSE L_HDR_DTLS_CSR;
10070           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
10071           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10072           L_ERROR_MSG      := SQLERRM;
10073           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10074                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10075                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10076                                       ERROR_MSG)
10077                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10078                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10079                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR(a),
10080                                        L_ERROR_MSG );
10081 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || RENEWAL_GRACE_DURATION_CHR(a)  );
10082        END;
10083 
10084        --23. Validation for RER ( RENEWAL_EST_REV_PERCENT ) rule.
10085        BEGIN
10086           RENEWAL_EST_REV_PERCENT(1)      := RENEWAL_EST_REV_PERCENT_CHR(a);
10087        EXCEPTION
10088        WHEN OTHERS THEN
10089           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RER',MAJOR_VERSION(a));
10090           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10091           CLOSE L_HDR_DTLS_CSR;
10092           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
10093           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10094           L_ERROR_MSG      := SQLERRM;
10095           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10096                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10097                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10098                                       ERROR_MSG)
10099                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10100                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10101                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR(a),
10102                                        L_ERROR_MSG );
10103 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RENEWAL_EST_REV_PERCENT_CHR(a)  );
10104        END;
10105 
10106        --24. Validation for RER ( RENEWAL_EST_REV_DURATION ) rule.
10107        BEGIN
10108           RENEWAL_EST_REV_DURATION(1)      := RENEWAL_EST_REV_DURATION_CHR(a);
10109        EXCEPTION
10110        WHEN OTHERS THEN
10111           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RER',MAJOR_VERSION(a));
10112           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10113           CLOSE L_HDR_DTLS_CSR;
10114           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
10115           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10116           L_ERROR_MSG      := SQLERRM;
10117           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10118                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10119                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10120                                       ERROR_MSG)
10121                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10122                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10123                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR(a),
10124                                        L_ERROR_MSG );
10125 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2'  ||L_ATTRIBUTE_NAME || RENEWAL_EST_REV_DURATION_CHR(a)  );
10126        END;
10127 
10128        --25. Validation for RRU ( RENEWAL_PRICE_LIST_USED ) rule.
10129        BEGIN
10130           RENEWAL_PRICE_LIST_USED(1)      := RENEWAL_PRICE_LIST_USED_CHR(a);
10131        EXCEPTION
10132        WHEN OTHERS THEN
10133           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU',MAJOR_VERSION(a));
10134           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10135           CLOSE L_HDR_DTLS_CSR;
10136           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
10137           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10138           L_ERROR_MSG      := SQLERRM;
10139           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10140                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10141                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10142                                       ERROR_MSG)
10143                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10144                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10145                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR(a),
10146                                        L_ERROR_MSG );
10147 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RENEWAL_PRICE_LIST_USED_CHR(a)  );
10148        END;
10149 
10150        --26. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
10151        BEGIN
10152           RENEWAL_NOTIFICATION_TO(1)      := RENEWAL_NOTIFICATION_TO_CHR(a);
10153        EXCEPTION
10154        WHEN OTHERS THEN
10155           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU',MAJOR_VERSION(a));
10156           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10157           CLOSE L_HDR_DTLS_CSR;
10158           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
10159           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10160           L_ERROR_MSG      := SQLERRM;
10161           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10162                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10163                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10164                                       ERROR_MSG)
10165                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10166                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10167                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR(a),
10168                                        L_ERROR_MSG );
10169 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_NOTIFICATION_TO_CHR(a)  );
10170        END;
10171 
10172        --27. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
10173        BEGIN
10174           RENEWAL_MARKUP_PERCENT_USED(1)      := RENEWAL_MARKUP_PERCENT_USED_CH(a);
10175        EXCEPTION
10176        WHEN OTHERS THEN
10177           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU',MAJOR_VERSION(a));
10178           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10179           CLOSE L_HDR_DTLS_CSR;
10180           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
10181           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10182           L_ERROR_MSG      := SQLERRM;
10183           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10184                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10185                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10186                                       ERROR_MSG)
10187                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10188                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10189                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH(a),
10190                                        L_ERROR_MSG );
10191 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION5' ||L_ATTRIBUTE_NAME || RENEWAL_MARKUP_PERCENT_USED_CH(a)  );
10192        END;
10193 
10194        --28. Validation for RRU ( REV_EST_PERCENT_USED ) rule.
10195        BEGIN
10196           REV_EST_PERCENT_USED(1)      := REV_EST_PERCENT_USED_CHR(a);
10197        EXCEPTION
10198        WHEN OTHERS THEN
10199           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU',MAJOR_VERSION(a));
10200           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10201           CLOSE L_HDR_DTLS_CSR;
10202           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
10203           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10204           L_ERROR_MSG      := SQLERRM;
10205           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10206                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10207                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10208                                       ERROR_MSG)
10209                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10210                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10211                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR(a),
10212                                        L_ERROR_MSG );
10213 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION6' ||L_ATTRIBUTE_NAME || REV_EST_PERCENT_USED_CHR(a)  );
10214        END;
10215 
10216        --29. Validation for RRU ( REV_EST_DURATION_USED ) rule.
10217        BEGIN
10218           REV_EST_DURATION_USED(1)      := REV_EST_DURATION_USED_CHR(a);
10219        EXCEPTION
10220        WHEN OTHERS THEN
10221           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU',MAJOR_VERSION(a));
10222           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10223           CLOSE L_HDR_DTLS_CSR;
10224           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
10225           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10226           L_ERROR_MSG      := SQLERRM;
10227           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10228                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10229                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10230                                       ERROR_MSG)
10231                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10232                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10233                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR(a),
10234                                        L_ERROR_MSG );
10235 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION7'||L_ATTRIBUTE_NAME || REV_EST_DURATION_USED_CHR(a)  );
10236        END;
10237 
10238        --30. Validation for RRU ( BILLING_PROFILE_USED ) rule.
10239        BEGIN
10240           BILLING_PROFILE_USED(1)      := BILLING_PROFILE_USED_CHR(a);
10241        EXCEPTION
10242        WHEN OTHERS THEN
10243           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU',MAJOR_VERSION(a));
10244           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10245           CLOSE L_HDR_DTLS_CSR;
10246           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
10247           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10248           L_ERROR_MSG      := SQLERRM;
10249           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10250                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10251                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10252                                       ERROR_MSG)
10253                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10254                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10255                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR(a),
10256                                        L_ERROR_MSG );
10257 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION9' ||L_ATTRIBUTE_NAME || BILLING_PROFILE_USED_CHR(a)  );
10258        END;
10259 
10260        --31. Validation for RRU ( EVN_THRESHOLD_AMT ) rule.
10261        BEGIN
10262           EVN_THRESHOLD_AMT(1)      := EVN_THRESHOLD_AMT_CHR(a);
10263        EXCEPTION
10264        WHEN OTHERS THEN
10265           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU',MAJOR_VERSION(a));
10266           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10267           CLOSE L_HDR_DTLS_CSR;
10268           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
10269           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10270           L_ERROR_MSG      := SQLERRM;
10271           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10272                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10273                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10274                                       ERROR_MSG)
10275                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10276                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10277                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR(a),
10278                                        L_ERROR_MSG );
10279 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION11' ||L_ATTRIBUTE_NAME || EVN_THRESHOLD_AMT_CHR(a)  );
10280        END;
10281 
10282        --32. Validation for RRU ( ERN_THRESHOLD_AMT ) rule.
10283        BEGIN
10284           ERN_THRESHOLD_AMT(1)      := ERN_THRESHOLD_AMT_CHR(a);
10285        EXCEPTION
10286        WHEN OTHERS THEN
10287           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU',MAJOR_VERSION(a));
10288           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10289           CLOSE L_HDR_DTLS_CSR;
10290           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
10291           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10292           L_ERROR_MSG      := SQLERRM;
10293           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10294                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10295                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10296                                       ERROR_MSG)
10297                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10298                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10299                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR(a),
10300                                        L_ERROR_MSG );
10301 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || ERN_THRESHOLD_AMT_CHR(a)  );
10302        END;
10303 
10304        --33. Validation for RRE ( RENEWAL_GRACE_DURATION_USED ) rule.
10305        BEGIN
10306           RENEWAL_GRACE_DURATION_USED(1)      := RENEWAL_GRACE_DURATION_USED_CH(a);
10307        EXCEPTION
10308        WHEN OTHERS THEN
10309           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRE',MAJOR_VERSION(a));
10310           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10311           CLOSE L_HDR_DTLS_CSR;
10312           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
10313           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10314           L_ERROR_MSG      := SQLERRM;
10315           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10316                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10317                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10318                                       ERROR_MSG)
10319                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10320                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10321                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH(a),
10322                                        L_ERROR_MSG );
10323 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RENEWAL_GRACE_DURATION_USED_CH(a)  );
10324        END;
10325 
10326        --34. Validation for PRE ( PRICE_LIST_ID ) rule.
10327        BEGIN
10328           PRICE_LIST_ID(1)      := PRICE_LIST_ID_CHR(a);
10329        EXCEPTION
10330        WHEN OTHERS THEN
10331           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PRE',MAJOR_VERSION(a));
10332           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10333           CLOSE L_HDR_DTLS_CSR;
10334           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
10335           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10336           L_ERROR_MSG      := SQLERRM;
10337           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10338                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10339                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10340                                       ERROR_MSG)
10341                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10342                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10343                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR(a),
10344                                        L_ERROR_MSG );
10345 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_CHR(a)  );
10346        END;
10347 
10348        --35. Validation for CVN ( CONVERSION_RATE ) rule.
10349        BEGIN
10350           CONVERSION_RATE(1)      := CONVERSION_RATE_CHR(a);
10351        EXCEPTION
10352        WHEN OTHERS THEN
10353           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CVN',MAJOR_VERSION(a));
10354           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10355           CLOSE L_HDR_DTLS_CSR;
10356           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
10357           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10358           L_ERROR_MSG      := SQLERRM;
10359           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10360                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10361                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10362                                       ERROR_MSG)
10363                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10364                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10365                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR(a),
10366                                        L_ERROR_MSG );
10367 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || CONVERSION_RATE_CHR(a)  );
10368        END;
10369 
10370        --36. Validation for CVN ( CONVERSION_EURO_RATE ) rule.
10371        BEGIN
10372           CONVERSION_EURO_RATE(1)      := CONVERSION_EURO_RATE_CHR(a);
10373        EXCEPTION
10374        WHEN OTHERS THEN
10375           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CVN',MAJOR_VERSION(a));
10376           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10377           CLOSE L_HDR_DTLS_CSR;
10378           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
10379           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10380           L_ERROR_MSG      := SQLERRM;
10381           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10382                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10383                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10384                                       ERROR_MSG)
10385                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10386                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10387                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR(a),
10388                                        L_ERROR_MSG );
10389 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CONVERSION_EURO_RATE_CHR(a)  );
10390        END;
10391 
10392 /*
10393        --37. Validation for CCR ( CC_EXPIRY_DATE ) rule.
10394        BEGIN
10395           CC_EXPIRY_DATE(1)      := to_date(CC_EXPIRY_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
10396        EXCEPTION
10397        WHEN OTHERS THEN
10398           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CCR',MAJOR_VERSION(a));
10399           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10400           CLOSE L_HDR_DTLS_CSR;
10401           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
10402           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10403           L_ERROR_MSG      := SQLERRM;
10404           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10405                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10406                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10407                                       ERROR_MSG)
10408                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10409                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10410                                       'CCR'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CC_EXPIRY_DATE_CHR(a),
10411                                        L_ERROR_MSG );
10412 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2'  ||L_ATTRIBUTE_NAME || CC_EXPIRY_DATE_CHR(a)  );
10413        END;
10414 */
10415 
10416 /*
10417        --38. Validation for RVE ( EST_REV_DATE ) rule.
10418        BEGIN
10419           EST_REV_DATE(1)      := to_date(EST_REV_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
10420        EXCEPTION
10421        WHEN OTHERS THEN
10422           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RVE',MAJOR_VERSION(a));
10423           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10424           CLOSE L_HDR_DTLS_CSR;
10425           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_DATE');
10426           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10427           L_ERROR_MSG      := SQLERRM;
10428           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10429                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10430                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10431                                       ERROR_MSG)
10432                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10433                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10434                                       'RVE'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , EST_REV_DATE_CHR(a),
10435                                        L_ERROR_MSG );
10436 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || EST_REV_DATE_CHR(a)  );
10437        END;
10438 */
10439 
10440 /*
10441        --39. Validation for REN ( RENEWAL_END_DATE ) rule.
10442        BEGIN
10443           RENEWAL_END_DATE(1)      := to_date(RENEWAL_END_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
10444        EXCEPTION
10445        WHEN OTHERS THEN
10446           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'REN',MAJOR_VERSION(a));
10447           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10448           CLOSE L_HDR_DTLS_CSR;
10449           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_END_DATE');
10450           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10451           L_ERROR_MSG      := SQLERRM;
10452           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10453                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10454                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10455                                       ERROR_MSG)
10456                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10457                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10458                                       'REN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_END_DATE_CHR(a),
10459                                        L_ERROR_MSG );
10460 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || RENEWAL_END_DATE_CHR(a)  );
10461        END;
10462 */
10463 
10464 /*
10465        --40. Validation for REN ( CONVERSION_RATE_DATE ) rule.
10466        BEGIN
10467           CONVERSION_RATE_DATE(1)      := to_date(CONVERSION_RATE_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
10468        EXCEPTION
10469        WHEN OTHERS THEN
10470           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'REN',MAJOR_VERSION(a));
10471           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
10472           CLOSE L_HDR_DTLS_CSR;
10473           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE_DATE');
10474           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
10475           L_ERROR_MSG      := SQLERRM;
10476           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
10477                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
10478                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
10479                                       ERROR_MSG)
10480                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
10481                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , MAJOR_VERSION(a),'HDRH',
10482                                       'CVN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_DATE_CHR(a),
10483                                        L_ERROR_MSG );
10484 	--  FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CONVERSION_RATE_DATE_CHR(a)  );
10485        END;
10486 */
10487 
10488     END LOOP;
10489     CHR_ID.DELETE;
10490 
10491 
10492 
10493 
10494     -- End of code to validate data type .
10495     ------------------------------------------------------------------------------------
10496 
10497  End Loop;
10498 
10499 
10500   If(l_hdr_rule_hist_csr1%ISOPEN) THEN
10501     Close  l_hdr_rule_hist_csr1;
10502   END IF;
10503   If(l_hdr_rule_hist_csr2%ISOPEN) THEN
10504     Close  l_hdr_rule_hist_csr2;
10505   End if;
10506 
10507   If(l_hdr_rule_hist_csr1_nus%ISOPEN) THEN
10508     Close  l_hdr_rule_hist_csr1_nus;
10509   END IF;
10510   If(l_hdr_rule_hist_csr2_nus%ISOPEN) THEN
10511     Close  l_hdr_rule_hist_csr2_nus;
10512   End if;
10513 
10514 
10515 EXCEPTION
10516 WHEN OTHERS THEN
10517   If(l_hdr_rule_hist_csr1%ISOPEN) THEN
10518     Close  l_hdr_rule_hist_csr1;
10519   END IF;
10520   If(l_hdr_rule_hist_csr2%ISOPEN) THEN
10521     Close  l_hdr_rule_hist_csr2;
10522   End if;
10523   If(l_hdr_rule_hist_csr1_nus%ISOPEN) THEN
10524     Close  l_hdr_rule_hist_csr1_nus;
10525   END IF;
10526   If(l_hdr_rule_hist_csr2_nus%ISOPEN) THEN
10527     Close  l_hdr_rule_hist_csr2_nus;
10528   End if;
10529 
10530 END VALIDATE_HDR_HIST_RULE;
10531 
10532 --------------------------------------------------------------------------------------------
10533 --    This is the procedure called from VALIDATE_DATA1 to validate ALL rule data           --
10534 --------------------------------------------------------------------------------------------
10535 Procedure VALIDATE_ALL_RULE(
10536                             ERRBUF            OUT NOCOPY VARCHAR2 ,
10537                             RETCODE           OUT NOCOPY NUMBER ,
10538                             p_status          in VARCHAR2,
10539                             p_org_id          in NUMBER ,
10540                             p_batch_size      in NUMBER,
10541 			    p_us_yn           in VARCHAR2,
10542                             p_id_low          in NUMBER,
10543                             p_id_hig          in NUMBER)
10544 IS
10545 
10546 Type l_num_tbl is table of  NUMBER         index  by BINARY_INTEGER ;
10547 Type l_date_tbl is table of DATE           index  by BINARY_INTEGER ;
10548 Type l_chr_tbl is table of  VARCHAR2(2000) index  by BINARY_INTEGER ;
10549 
10550 
10551 ID                        l_num_tbl ;
10552 CHR_ID                    l_num_tbl ;
10553 CLE_ID                    l_num_tbl ;
10554 DNZ_CHR_ID                l_num_tbl ;
10555 ACCT_RULE_ID              l_num_tbl ;
10556 PAYMENT_TYPE              L_CHR_TBL ;
10557 CC_NO                     l_chr_tbl ;
10558 CC_EXPIRY_DATE            l_date_tbl;
10559 CC_BANK_ACCT_ID           l_num_tbl ;
10560 CC_AUTH_CODE              l_chr_tbl ;
10561 GRACE_DURATION            l_num_tbl ;
10562 GRACE_PERIOD              l_chr_tbl ;
10563 EST_REV_PERCENT           l_num_tbl ;
10564 EST_REV_DATE              l_date_tbl;
10565 INVOICE_TEXT              l_chr_tbl ;
10566 INV_PRINT_FLAG            l_chr_tbl ;
10567 PRICE_UOM                 l_chr_tbl ;
10568 TAX_AMOUNT                l_num_tbl ;
10569 TAX_INCLUSIVE_YN          l_chr_tbl ;
10570 TAX_STATUS                l_chr_tbl ;
10571 TAX_CODE                  l_num_tbl ;
10572 TAX_EXEMPTION_ID          l_num_tbl ;
10573 BILLING_SCHEDULE_TYPE     l_chr_tbl ;
10574 CUST_ACCT_ID              l_num_tbl ;
10575 BILL_TO_SITE_USE_ID       l_num_tbl ;
10576 INV_RULE_ID               l_num_tbl ;
10577 RENEWAL_TYPE_CODE         l_chr_tbl ;
10578 RENEWAL_NOTIFY_TO         l_num_tbl ;
10579 RENEWAL_END_DATE          l_date_tbl;
10580 SHIP_TO_SITE_USE_ID       l_num_tbl ;
10581 PAYMENT_TERM_ID           l_num_tbl ;
10582 BILLING_PROFILE_ID        l_num_tbl ;
10583 RENEWAL_STATUS            l_chr_tbl ;
10584 ELECTRONIC_RENEWAL_FLAG   l_chr_tbl ;
10585 QUOTE_TO_CONTACT_ID       l_num_tbl ;
10586 QUOTE_TO_SITE_ID          l_num_tbl ;
10587 QUOTE_TO_EMAIL_ID         l_num_tbl ;
10588 QUOTE_TO_PHONE_ID         l_num_tbl ;
10589 QUOTE_TO_FAX_ID           l_num_tbl ;
10590 RENEWAL_PO_REQUIRED       l_chr_tbl ;
10591 RENEWAL_PRICE_LIST        l_num_tbl ;
10592 RENEWAL_PRICING_TYPE      l_chr_tbl ;
10593 RENEWAL_MARKUP_PERCENT    l_num_tbl ;
10594 RENEWAL_GRACE_DURATION    l_num_tbl ;
10595 RENEWAL_GRACE_PERIOD      l_chr_tbl ;
10596 RENEWAL_EST_REV_PERCENT   l_num_tbl ;
10597 RENEWAL_EST_REV_DURATION  l_num_tbl ;
10598 RENEWAL_EST_REV_PERIOD    l_chr_tbl ;
10599 RENEWAL_PRICE_LIST_USED   l_num_tbl ;
10600 RENEWAL_TYPE_USED         l_chr_tbl ;
10601 RENEWAL_NOTIFICATION_TO   l_num_tbl ;
10602 RENEWAL_PO_USED           l_chr_tbl ;
10603 RENEWAL_PRICING_TYPE_USED l_chr_tbl ;
10604 RENEWAL_MARKUP_PERCENT_USED   l_num_tbl ;
10605 REV_EST_PERCENT_USED      l_num_tbl ;
10606 REV_EST_DURATION_USED     l_num_tbl ;
10607 BILLING_PROFILE_USED      l_num_tbl ;
10608 REV_EST_PERIOD_USED       l_chr_tbl ;
10609 ERN_FLAG_USED_YN          l_chr_tbl ;
10610 EVN_THRESHOLD_AMT         l_num_tbl ;
10611 EVN_THRESHOLD_CUR         l_chr_tbl ;
10612 ERN_THRESHOLD_AMT         l_num_tbl ;
10613 ERN_THRESHOLD_CUR         l_chr_tbl ;
10614 RENEWAL_GRACE_DURATION_USED   l_num_tbl ;
10615 RENEWAL_GRACE_PERIOD_USED l_chr_tbl ;
10616 INV_TRX_TYPE              l_chr_tbl ;
10617 INV_PRINT_PROFILE         l_chr_tbl ;
10618 RENEWAL_PO_NUMBER         l_chr_tbl ;
10619 AR_INTERFACE_YN           l_chr_tbl ;
10620 HOLD_BILLING              l_chr_tbl ;
10621 SUMMARY_TRX_YN            l_chr_tbl ;
10622 SERVICE_PO_NUMBER         l_chr_tbl ;
10623 SERVICE_PO_REQUIRED       l_chr_tbl ;
10624 PRICE_LIST_ID             l_num_tbl ;
10625 CONVERSION_TYPE           l_chr_tbl ;
10626 CONVERSION_RATE           l_num_tbl ;
10627 CONVERSION_RATE_DATE      l_date_tbl;
10628 CONVERSION_EURO_RATE      l_num_tbl ;
10629 ----extra rules from line------------------
10630 DISCOUNT_LIST		  l_num_tbl ;
10631 CLVL_LIST_PRICE		  l_num_tbl ;
10632 CLVL_QUANTITY		  l_num_tbl ;
10633 CLVL_EXTENDED_AMT	  l_num_tbl ;
10634 TOPLVL_OPERAND_VAL	  l_num_tbl ;
10635 TOPLVL_QUANTITY		  l_num_tbl ;
10636 TOPLVL_ADJ_PRICE	  l_num_tbl ;
10637 TOPLVL_PRICE_QTY	  l_num_tbl ;
10638 AVERAGING_INTERVAL	  l_num_tbl ;
10639 MINIMUM_QUANTITY	  l_num_tbl ;
10640 DEFAULT_QUANTITY	  l_num_tbl ;
10641 FIXED_QUANTITY		  l_num_tbl ;
10642 USAGE_DURATION		  l_num_tbl ;
10643 BASE_READING		  l_num_tbl ;
10644 EXCEPTION_COV_ID	  l_num_tbl ;
10645 PM_PROGRAM_ID		  l_num_tbl ;
10646 RCN_INCIDENT_SEVERITY_ID  l_num_tbl ;
10647 RCN_PDF_ID		  l_num_tbl ;
10648 LIMIT_UOM_QUANTIFIED	  l_num_tbl ;
10649 DISCOUNT_AMOUNT		  l_num_tbl ;
10650 DISCOUNT_PERCENT	  l_num_tbl ;
10651 LEVEL_AMOUNT		  l_num_tbl ;
10652 
10653 
10654 
10655 -- FOLLOWING ARE NUMBER FIELDS --
10656 ACCT_RULE_ID_CHR              l_chr_tbl ;
10657 CC_BANK_ACCT_ID_CHR           l_chr_tbl ;
10658 GRACE_DURATION_CHR            l_chr_tbl ;
10659 EST_REV_PERCENT_CHR           l_chr_tbl ;
10660 TAX_AMOUNT_CHR                l_chr_tbl ;
10661 TAX_CODE_CHR                  l_chr_tbl ;
10662 TAX_EXEMPTION_ID_CHR          l_chr_tbl ;
10663 CUST_ACCT_ID_CHR              l_chr_tbl ;
10664 BILL_TO_SITE_USE_ID_CHR       l_chr_tbl ;
10665 INV_RULE_ID_CHR               l_chr_tbl ;
10666 RENEWAL_NOTIFY_TO_CHR         l_chr_tbl ;
10667 SHIP_TO_SITE_USE_ID_CHR       l_chr_tbl ;
10668 PAYMENT_TERM_ID_CHR           l_chr_tbl ;
10669 BILLING_PROFILE_ID_CHR        l_chr_tbl ;
10670 QUOTE_TO_CONTACT_ID_CHR       l_chr_tbl ;
10671 QUOTE_TO_SITE_ID_CHR          l_chr_tbl ;
10672 QUOTE_TO_EMAIL_ID_CHR         l_chr_tbl ;
10673 QUOTE_TO_PHONE_ID_CHR         l_chr_tbl ;
10674 QUOTE_TO_FAX_ID_CHR           l_chr_tbl ;
10675 RENEWAL_PRICE_LIST_CHR        l_chr_tbl ;
10676 RENEWAL_MARKUP_PERCENT_CHR    l_chr_tbl ;
10677 RENEWAL_GRACE_DURATION_CHR    l_chr_tbl ;
10678 RENEWAL_EST_REV_PERCENT_CHR   l_chr_tbl ;
10679 RENEWAL_EST_REV_DURATION_CHR  l_chr_tbl ;
10680 RENEWAL_PRICE_LIST_USED_CHR   l_chr_tbl ;
10681 RENEWAL_NOTIFICATION_TO_CHR   l_chr_tbl ;
10682 RENEWAL_MARKUP_PERCENT_USED_CH l_chr_tbl ;
10683 REV_EST_PERCENT_USED_CHR      l_chr_tbl ;
10684 REV_EST_DURATION_USED_CHR     l_chr_tbl ;
10685 BILLING_PROFILE_USED_CHR      l_chr_tbl ;
10686 EVN_THRESHOLD_AMT_CHR         l_chr_tbl ;
10687 ERN_THRESHOLD_AMT_CHR         l_chr_tbl ;
10688 RENEWAL_GRACE_DURATION_USED_CH l_chr_tbl ;
10689 PRICE_LIST_ID_CHR             l_chr_tbl ;
10690 CONVERSION_RATE_CHR           l_chr_tbl ;
10691 CONVERSION_EURO_RATE_CHR      l_chr_tbl ;
10692 ----extra rules from line------------------
10693 DISCOUNT_LIST_CHR       	l_chr_tbl ;
10694 CLVL_LIST_PRICE_CHR		l_chr_tbl ;
10695 CLVL_QUANTITY_CHR		l_chr_tbl ;
10696 CLVL_EXTENDED_AMT_CHR		l_chr_tbl ;
10697 TOPLVL_OPERAND_VAL_CHR		l_chr_tbl ;
10698 TOPLVL_QUANTITY_CHR		l_chr_tbl ;
10699 TOPLVL_ADJ_PRICE_CHR		l_chr_tbl ;
10700 TOPLVL_PRICE_QTY_CHR		l_chr_tbl ;
10701 AVERAGING_INTERVAL_CHR		l_chr_tbl ;
10702 MINIMUM_QUANTITY_CHR		l_chr_tbl ;
10703 DEFAULT_QUANTITY_CHR		l_chr_tbl ;
10704 FIXED_QUANTITY_CHR		l_chr_tbl ;
10705 USAGE_DURATION_CHR		l_chr_tbl ;
10706 BASE_READING_CHR		l_chr_tbl ;
10707 EXCEPTION_COV_ID_CHR		l_chr_tbl ;
10708 PM_PROGRAM_ID_CHR		l_chr_tbl ;
10709 RCN_INCIDENT_SEVERITY_ID_CHR	l_chr_tbl ;
10710 RCN_PDF_ID_CHR			l_chr_tbl ;
10711 LIMIT_UOM_QUANTIFIED_CHR	l_chr_tbl ;
10712 DISCOUNT_AMOUNT_CHR		l_chr_tbl ;
10713 DISCOUNT_PERCENT_CHR		l_chr_tbl ;
10714 LEVEL_AMOUNT_CHR		l_chr_tbl ;
10715 
10716 -- FOLLOWING ARE DATE FIELDS --
10717 CC_EXPIRY_DATE_CHR            l_chr_tbl ;
10718 EST_REV_DATE_CHR              l_chr_tbl ;
10719 RENEWAL_END_DATE_CHR          l_chr_tbl ;
10720 CONVERSION_RATE_DATE_CHR      l_chr_tbl ;
10721 
10722 --Misc Variables --
10723 L_ATTRIBUTE_NAME              VARCHAR2(2000);
10724 L_ERROR_MSG                   VARCHAR2(2000);
10725 
10726 l_us_yn                       BOOLEAN;
10727 -------------------------------------------------------------------------------
10728 -- The following is the cursor opened if all the parameters passed are null  --
10729 -------------------------------------------------------------------------------
10730 CURSOR l_hdr_rule_csr1 (p_id_low in NUMBER , p_id_hig in NUMBER )is
10731 SELECT * FROM (
10732 SELECT  RGP.CHR_ID CHR_ID
10733        ,RGP.CLE_ID
10734        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
10735        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
10736             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10737             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
10738             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
10739             ACCT_RULE_ID
10740        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
10741             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
10742             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
10743             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
10744             CC_BANK_ACCT_ID
10745        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
10746             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10747             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
10748             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
10749             GRACE_DURATION
10750        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
10751             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
10752             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
10753             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
10754             EST_REV_PERCENT
10755        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
10756             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!' ),
10757             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
10758             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
10759             TAX_AMOUNT
10760        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
10761             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
10762             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
10763             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
10764             TAX_CODE
10765        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
10766             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10767             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
10768             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
10769             TAX_EXEMPTION_ID
10770        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
10771             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10772             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
10773             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
10774             BILLING_PROFILE_ID
10775        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
10776             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
10777             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
10778             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
10779             QUOTE_TO_CONTACT_ID
10780        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
10781             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10782             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
10783             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
10784             QUOTE_TO_SITE_ID
10785        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
10786             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10787             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
10788             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
10789             QUOTE_TO_EMAIL_ID
10790        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
10791             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10792             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
10793             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
10794             QUOTE_TO_PHONE_ID
10795        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
10796             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10797             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
10798             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
10799             QUOTE_TO_FAX_ID
10800        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
10801             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10802             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
10803             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
10804             RENEWAL_PRICE_LIST
10805        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
10806             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
10807             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
10808             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
10809             RENEWAL_MARKUP_PERCENT
10810        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
10811             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10812             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
10813             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
10814             RENEWAL_GRACE_DURATION
10815        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
10816             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
10817             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
10818             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
10819             RENEWAL_EST_REV_PERCENT
10820        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
10821             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10822             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
10823             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
10824             RENEWAL_EST_REV_DURATION
10825        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
10826             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10827             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
10828             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
10829             RENEWAL_PRICE_LIST_USED
10830        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
10831             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10832             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
10833             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
10834             RENEWAL_NOTIFICATION_TO
10835        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
10836             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
10837             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
10838             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
10839             RENEWAL_MARKUP_PERCENT_USED
10840        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
10841             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
10842             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
10843             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
10844             REV_EST_PERCENT_USED
10845        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
10846             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10847             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
10848             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
10849             REV_EST_DURATION_USED
10850        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
10851             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10852             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
10853             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
10854             BILLING_PROFILE_USED
10855        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
10856             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
10857             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
10858             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
10859             EVN_THRESHOLD_AMT
10860         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
10861 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
10862             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
10863             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
10864             ERN_THRESHOLD_AMT
10865        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
10866             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10867             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
10868             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
10869             RENEWAL_GRACE_DURATION_USED
10870        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
10871             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
10872             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
10873             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
10874             CONVERSION_RATE --OKC
10875        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
10876             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
10877             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
10878             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
10879             CONVERSION_EURO_RATE --OKC
10880        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
10881             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10882             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
10883             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
10884             CUST_ACCT_ID --OKC
10885        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
10886             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10887             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
10888             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
10889             BILL_TO_SITE_USE_ID --OKC
10890        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
10891             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10892             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
10893             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
10894             INV_RULE_ID --OKC
10895        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
10896             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10897             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
10898             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
10899             RENEWAL_NOTIFY_TO --OKC
10900        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
10901             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10902             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
10903             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
10904             SHIP_TO_SITE_USE_ID --OKC
10905        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
10906             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10907             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
10908             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
10909             PAYMENT_TERM_ID --OKC
10910        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
10911             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10912             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
10913             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
10914             PRICE_LIST_ID --OKC
10915        ----------------------Extra Rules for lines added------------------------------------------
10916        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
10917                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10918                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
10919                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
10920                DISCOUNT_LIST
10921        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
10922                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
10923                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
10924                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
10925                CLVL_LIST_PRICE
10926        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
10927                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10928                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
10929                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
10930                CLVL_QUANTITY
10931        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
10932                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
10933                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
10934                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
10935                CLVL_EXTENDED_AMT
10936        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
10937                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
10938                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
10939                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
10940                TOPLVL_OPERAND_VAL
10941        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
10942                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10943                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
10944                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
10945                TOPLVL_QUANTITY
10946        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
10947                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
10948                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
10949                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
10950                TOPLVL_ADJ_PRICE
10951        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
10952                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
10953                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
10954                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
10955                TOPLVL_PRICE_QTY
10956        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
10957                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10958                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
10959                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
10960                AVERAGING_INTERVAL
10961        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
10962                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10963                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
10964                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
10965                MINIMUM_QUANTITY
10966        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
10967                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10968                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
10969                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
10970                DEFAULT_QUANTITY
10971        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
10972                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10973                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
10974                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
10975                FIXED_QUANTITY
10976        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
10977                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10978                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
10979                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
10980                USAGE_DURATION
10981        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
10982                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10983                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
10984                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
10985                BASE_READING
10986         ----------------------------- COVERAGE CODE START -------------------------------------------------
10987        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
10988                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10989                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
10990                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
10991                EXCEPTION_COV_ID
10992        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
10993                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10994                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
10995                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
10996                PM_PROGRAM_ID
10997        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
10998                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
10999                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
11000                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
11001                RCN_INCIDENT_SEVERITY_ID
11002        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
11003                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11004                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
11005                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
11006                RCN_PDF_ID
11007        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
11008                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11009                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
11010                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
11011                LIMIT_UOM_QUANTIFIED
11012        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
11013                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11014                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
11015                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
11016                DISCOUNT_AMOUNT
11017        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
11018                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11019                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
11020                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
11021                DISCOUNT_PERCENT
11022         ----------------------------- COVERAGE CODE END ----------------------------------------------------
11023        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
11024                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11025                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
11026                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
11027                LEVEL_AMOUNT
11028 
11029 FROM OKC_RULE_GROUPS_B RGP
11030    , OKC_RULES_B RUL
11031 WHERE rgp.id = rul.rgp_id
11032   AND rgp.rgd_code = 'SVC_K'
11033   AND   RUL.RULE_INFORMATION_CATEGORY IN
11034        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
11035         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR',
11036 	'DST','PDL','QRE','ECE','PMP','RCN','LMT','SLL')
11037   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
11038   AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
11039   GROUP BY rgp.chr_id,rgp.cle_id,rgp.dnz_chr_id )
11040 WHERE
11041   ACCT_RULE_ID    IS NOT NULL OR
11042   CC_BANK_ACCT_ID IS NOT NULL OR
11043   GRACE_DURATION  IS NOT NULL OR
11044   EST_REV_PERCENT IS NOT NULL OR
11045   TAX_AMOUNT      IS NOT NULL OR
11046   TAX_CODE        IS NOT NULL OR
11047   TAX_EXEMPTION_ID    IS NOT NULL OR
11048   BILLING_PROFILE_ID  IS NOT NULL OR
11049   QUOTE_TO_CONTACT_ID IS NOT NULL OR
11050   QUOTE_TO_SITE_ID    IS NOT NULL OR
11051   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
11052   QUOTE_TO_PHONE_ID   IS NOT NULL OR
11053   QUOTE_TO_FAX_ID     IS NOT NULL OR
11054   RENEWAL_PRICE_LIST  IS NOT NULL OR
11055   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
11056   RENEWAL_GRACE_DURATION   IS NOT NULL OR
11057   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
11058   RENEWAL_EST_REV_DURATION IS NOT NULL OR
11059   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
11060   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
11061   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
11062   REV_EST_PERCENT_USED  IS NOT NULL OR
11063   REV_EST_DURATION_USED IS NOT NULL OR
11064   BILLING_PROFILE_USED  IS NOT NULL OR
11065   EVN_THRESHOLD_AMT  IS NOT NULL OR
11066   ERN_THRESHOLD_AMT  IS NOT NULL OR
11067   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
11068   CONVERSION_RATE     IS NOT NULL OR
11069   CONVERSION_EURO_RATE IS NOT NULL OR
11070   CUST_ACCT_ID        IS NOT NULL OR
11071   BILL_TO_SITE_USE_ID IS NOT NULL OR
11072   INV_RULE_ID         IS NOT NULL OR
11073   RENEWAL_NOTIFY_TO   IS NOT NULL OR
11074   SHIP_TO_SITE_USE_ID IS NOT NULL OR
11075   PAYMENT_TERM_ID     IS NOT NULL OR
11076  PRICE_LIST_ID       IS NOT NULL OR
11077    -----extra line rules added---------------------
11078   DISCOUNT_LIST	      IS NOT NULL OR
11079   CLVL_LIST_PRICE     IS NOT NULL OR
11080   CLVL_QUANTITY       IS NOT NULL OR
11081   CLVL_EXTENDED_AMT   IS NOT NULL OR
11082   TOPLVL_OPERAND_VAL  IS NOT NULL OR
11083   TOPLVL_QUANTITY     IS NOT NULL OR
11084   TOPLVL_ADJ_PRICE    IS NOT NULL OR
11085   TOPLVL_PRICE_QTY    IS NOT NULL OR
11086   AVERAGING_INTERVAL  IS NOT NULL OR
11087   MINIMUM_QUANTITY    IS NOT NULL OR
11088   DEFAULT_QUANTITY    IS NOT NULL OR
11089   FIXED_QUANTITY      IS NOT NULL OR
11090   USAGE_DURATION      IS NOT NULL OR
11091   BASE_READING        IS NOT NULL OR
11092   EXCEPTION_COV_ID    IS NOT NULL OR
11093   PM_PROGRAM_ID       IS NOT NULL OR
11094   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
11095   RCN_PDF_ID           IS NOT NULL OR
11096   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
11097   DISCOUNT_AMOUNT      IS NOT NULL OR
11098   DISCOUNT_PERCENT     IS NOT NULL OR
11099   LEVEL_AMOUNT         IS NOT NULL;
11100 
11101 
11102 
11103 
11104 -------------------------------------------------------------------------------
11105 -- The following is the cursor opened if any of the following parameters are --
11106 -- passed to the concurrent request                                          --
11107 -- 1. p_status
11108 -- 2. p_org_id
11109 -------------------------------------------------------------------------------
11110 CURSOR l_hdr_rule_csr2 (p_id_low in NUMBER , p_id_hig in NUMBER , p_status in VARCHAR2 , p_org_id in NUMBER )is
11111 SELECT * FROM (
11112 SELECT  RGP.CHR_ID CHR_ID
11113        ,RGP.CLE_ID
11114        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
11115        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
11116             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11117             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
11118             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
11119             ACCT_RULE_ID
11120        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
11121             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
11122             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
11123             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
11124             CC_BANK_ACCT_ID
11125        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
11126             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11127             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
11128             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
11129             GRACE_DURATION
11130        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
11131             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11132             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
11133             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
11134             EST_REV_PERCENT
11135        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
11136             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!' ),
11137             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
11138             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
11139             TAX_AMOUNT
11140        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
11141             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
11142             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
11143             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
11144             TAX_CODE
11145        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
11146             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11147             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
11148             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
11149             TAX_EXEMPTION_ID
11150        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
11151             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11152             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
11153             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
11154             BILLING_PROFILE_ID
11155        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
11156             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
11157             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
11158             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
11159             QUOTE_TO_CONTACT_ID
11160        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
11161             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11162             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
11163             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
11164             QUOTE_TO_SITE_ID
11165        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
11166             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11167             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
11168             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
11169             QUOTE_TO_EMAIL_ID
11170        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
11171             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11172             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
11173             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
11174             QUOTE_TO_PHONE_ID
11175        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
11176             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11177             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
11178             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
11179             QUOTE_TO_FAX_ID
11180        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
11181             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11182             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
11183             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
11184             RENEWAL_PRICE_LIST
11185        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
11186             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
11187             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
11188             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
11189             RENEWAL_MARKUP_PERCENT
11190        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
11191             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11192             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
11193             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
11194             RENEWAL_GRACE_DURATION
11195        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
11196             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
11197             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
11198             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
11199             RENEWAL_EST_REV_PERCENT
11200        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
11201             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11202             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
11203             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
11204             RENEWAL_EST_REV_DURATION
11205        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
11206             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11207             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
11208             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
11209             RENEWAL_PRICE_LIST_USED
11210        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
11211             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11212             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
11213             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
11214             RENEWAL_NOTIFICATION_TO
11215        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
11216             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
11217             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
11218             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
11219             RENEWAL_MARKUP_PERCENT_USED
11220        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
11221             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
11222             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
11223             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
11224             REV_EST_PERCENT_USED
11225        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
11226             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11227             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
11228             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
11229             REV_EST_DURATION_USED
11230        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
11231             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11232             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
11233             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
11234             BILLING_PROFILE_USED
11235        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
11236             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
11237             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
11238             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
11239             EVN_THRESHOLD_AMT
11240         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
11241 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
11242             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
11243             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
11244             ERN_THRESHOLD_AMT
11245        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
11246             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11247             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
11248             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
11249             RENEWAL_GRACE_DURATION_USED
11250        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
11251             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11252             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
11253             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
11254             CONVERSION_RATE --OKC
11255        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
11256             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11257             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
11258             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
11259             CONVERSION_EURO_RATE --OKC
11260        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
11261             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11262             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
11263             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
11264             CUST_ACCT_ID --OKC
11265        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
11266             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11267             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
11268             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
11269             BILL_TO_SITE_USE_ID --OKC
11270        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
11271             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11272             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
11273             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
11274             INV_RULE_ID --OKC
11275        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
11276             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11277             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
11278             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
11279             RENEWAL_NOTIFY_TO --OKC
11280        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
11281             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11282             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
11283             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
11284             SHIP_TO_SITE_USE_ID --OKC
11285        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
11286             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11287             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
11288             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
11289             PAYMENT_TERM_ID --OKC
11290        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
11291             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11292             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
11293             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
11294             PRICE_LIST_ID --OKC
11295        ----------------------Extra Rules for lines added------------------------------------------
11296        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
11297                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11298                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
11299                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
11300                DISCOUNT_LIST
11301        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
11302                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11303                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
11304                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
11305                CLVL_LIST_PRICE
11306        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
11307                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11308                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
11309                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
11310                CLVL_QUANTITY
11311        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
11312                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11313                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
11314                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
11315                CLVL_EXTENDED_AMT
11316        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
11317                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11318                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
11319                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
11320                TOPLVL_OPERAND_VAL
11321        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
11322                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11323                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
11324                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
11325                TOPLVL_QUANTITY
11326        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
11327                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11328                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
11329                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
11330                TOPLVL_ADJ_PRICE
11331        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
11332                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11333                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
11334                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
11335                TOPLVL_PRICE_QTY
11336        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
11337                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11338                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
11339                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
11340                AVERAGING_INTERVAL
11341        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
11342                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11343                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
11344                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
11345                MINIMUM_QUANTITY
11346        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
11347                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11348                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
11349                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
11350                DEFAULT_QUANTITY
11351        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
11352                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11353                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
11354                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
11355                FIXED_QUANTITY
11356        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
11357                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11358                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
11359                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
11360                USAGE_DURATION
11361        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
11362                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11363                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
11364                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
11365                BASE_READING
11366         ----------------------------- COVERAGE CODE START -------------------------------------------------
11367        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
11368                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11369                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
11370                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
11371                EXCEPTION_COV_ID
11372        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
11373                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11374                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
11375                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
11376                PM_PROGRAM_ID
11377        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
11378                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11379                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
11380                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
11381                RCN_INCIDENT_SEVERITY_ID
11382        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
11383                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11384                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
11385                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
11386                RCN_PDF_ID
11387        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
11388                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11389                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
11390                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
11391                LIMIT_UOM_QUANTIFIED
11392        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
11393                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11394                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
11395                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
11396                DISCOUNT_AMOUNT
11397        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
11398                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11399                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
11400                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
11401                DISCOUNT_PERCENT
11402         ----------------------------- COVERAGE CODE END ----------------------------------------------------
11403        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
11404                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
11405                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
11406                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
11407                LEVEL_AMOUNT
11408 
11409 FROM OKC_RULE_GROUPS_B RGP
11410    , OKC_RULES_B RUL
11411    , OKC_K_HEADERS_B HDR
11412 WHERE rgp.id = rul.rgp_id
11413   and rgp.rgd_code = 'SVC_K'
11414   AND   RUL.RULE_INFORMATION_CATEGORY IN
11415        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
11416         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR',
11417 	'DST','PDL','QRE','ECE','PMP','RCN','LMT','SLL')
11418   AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
11419   AND HDR.ID = RGP.DNZ_CHR_ID
11420   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
11421   AND HDR.ID = RUL.DNZ_CHR_ID
11422   AND HDR.STS_CODE = nvl(p_status,HDR.STS_CODE)
11423   AND HDR.AUTHORING_ORG_ID = nvl(P_ORG_ID, HDR.AUTHORING_ORG_ID)
11424   GROUP BY rgp.chr_id,rgp.cle_id,rgp.dnz_chr_id )
11425 WHERE
11426   ACCT_RULE_ID    IS NOT NULL OR
11427   CC_BANK_ACCT_ID IS NOT NULL OR
11428   GRACE_DURATION  IS NOT NULL OR
11429   EST_REV_PERCENT IS NOT NULL OR
11430   TAX_AMOUNT      IS NOT NULL OR
11431   TAX_CODE        IS NOT NULL OR
11432   TAX_EXEMPTION_ID    IS NOT NULL OR
11433   BILLING_PROFILE_ID  IS NOT NULL OR
11434   QUOTE_TO_CONTACT_ID IS NOT NULL OR
11435   QUOTE_TO_SITE_ID    IS NOT NULL OR
11436   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
11437   QUOTE_TO_PHONE_ID   IS NOT NULL OR
11438   QUOTE_TO_FAX_ID     IS NOT NULL OR
11439   RENEWAL_PRICE_LIST  IS NOT NULL OR
11440   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
11441   RENEWAL_GRACE_DURATION   IS NOT NULL OR
11442   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
11443   RENEWAL_EST_REV_DURATION IS NOT NULL OR
11444   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
11445   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
11446   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
11447   REV_EST_PERCENT_USED  IS NOT NULL OR
11448   REV_EST_DURATION_USED IS NOT NULL OR
11449   BILLING_PROFILE_USED  IS NOT NULL OR
11450   EVN_THRESHOLD_AMT  IS NOT NULL OR
11451   ERN_THRESHOLD_AMT  IS NOT NULL OR
11452   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
11453   CONVERSION_RATE     IS NOT NULL OR
11454   CONVERSION_EURO_RATE IS NOT NULL OR
11455   CUST_ACCT_ID        IS NOT NULL OR
11456   BILL_TO_SITE_USE_ID IS NOT NULL OR
11457   INV_RULE_ID         IS NOT NULL OR
11458   RENEWAL_NOTIFY_TO   IS NOT NULL OR
11459   SHIP_TO_SITE_USE_ID IS NOT NULL OR
11460   PAYMENT_TERM_ID     IS NOT NULL OR
11461   PRICE_LIST_ID       IS NOT NULL OR
11462   -----extra line rules added---------------------
11463   DISCOUNT_LIST	      IS NOT NULL OR
11464   CLVL_LIST_PRICE     IS NOT NULL OR
11465   CLVL_QUANTITY       IS NOT NULL OR
11466   CLVL_EXTENDED_AMT   IS NOT NULL OR
11467   TOPLVL_OPERAND_VAL  IS NOT NULL OR
11468   TOPLVL_QUANTITY     IS NOT NULL OR
11469   TOPLVL_ADJ_PRICE    IS NOT NULL OR
11470   TOPLVL_PRICE_QTY    IS NOT NULL OR
11471   AVERAGING_INTERVAL  IS NOT NULL OR
11472   MINIMUM_QUANTITY    IS NOT NULL OR
11473   DEFAULT_QUANTITY    IS NOT NULL OR
11474   FIXED_QUANTITY      IS NOT NULL OR
11475   USAGE_DURATION      IS NOT NULL OR
11476   BASE_READING        IS NOT NULL OR
11477   EXCEPTION_COV_ID    IS NOT NULL OR
11478   PM_PROGRAM_ID       IS NOT NULL OR
11479   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
11480   RCN_PDF_ID           IS NOT NULL OR
11481   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
11482   DISCOUNT_AMOUNT      IS NOT NULL OR
11483   DISCOUNT_PERCENT     IS NOT NULL OR
11484   LEVEL_AMOUNT         IS NOT NULL;
11485 
11486 
11487 
11488 -------------------------------------------------------------------------------
11489 -- The following is the cursor opened if all the parameters passed are null  --
11490 -------------------------------------------------------------------------------
11491 CURSOR l_hdr_rule_csr1_nus (p_id_low in NUMBER , p_id_hig in NUMBER )is
11492 SELECT * FROM (
11493 SELECT  RGP.CHR_ID CHR_ID
11494        ,RGP.CLE_ID
11495        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
11496        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
11497             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11498             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
11499             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
11500             ACCT_RULE_ID
11501        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
11502             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
11503             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
11504             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
11505             CC_BANK_ACCT_ID
11506        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
11507             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11508             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
11509             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
11510             GRACE_DURATION
11511        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
11512             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11513             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
11514             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
11515             EST_REV_PERCENT
11516        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
11517             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!' ),
11518             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
11519             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
11520             TAX_AMOUNT
11521        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
11522             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
11523             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
11524             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
11525             TAX_CODE
11526        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
11527             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11528             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
11529             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
11530             TAX_EXEMPTION_ID
11531        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
11532             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11533             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
11534             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
11535             BILLING_PROFILE_ID
11536        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
11537             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
11538             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
11539             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
11540             QUOTE_TO_CONTACT_ID
11541        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
11542             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11543             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
11544             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
11545             QUOTE_TO_SITE_ID
11546        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
11547             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11548             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
11549             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
11550             QUOTE_TO_EMAIL_ID
11551        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
11552             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11553             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
11554             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
11555             QUOTE_TO_PHONE_ID
11556        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
11557             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11558             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
11559             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
11560             QUOTE_TO_FAX_ID
11561        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
11562             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11563             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
11564             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
11565             RENEWAL_PRICE_LIST
11566        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
11567             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11568             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
11569             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
11570             RENEWAL_MARKUP_PERCENT
11571        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
11572             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11573             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
11574             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
11575             RENEWAL_GRACE_DURATION
11576        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
11577             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11578             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
11579             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
11580             RENEWAL_EST_REV_PERCENT
11581        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
11582             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11583             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
11584             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
11585             RENEWAL_EST_REV_DURATION
11586        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
11587             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11588             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
11589             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
11590             RENEWAL_PRICE_LIST_USED
11591        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
11592             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11593             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
11594             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
11595             RENEWAL_NOTIFICATION_TO
11596        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
11597             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11598             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
11599             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
11600             RENEWAL_MARKUP_PERCENT_USED
11601        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
11602             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11603             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
11604             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
11605             REV_EST_PERCENT_USED
11606        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
11607             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11608             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
11609             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
11610             REV_EST_DURATION_USED
11611        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
11612             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11613             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
11614             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
11615             BILLING_PROFILE_USED
11616        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
11617             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11618             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
11619             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
11620             EVN_THRESHOLD_AMT
11621         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
11622 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11623             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
11624             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
11625             ERN_THRESHOLD_AMT
11626        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
11627             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11628             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
11629             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
11630             RENEWAL_GRACE_DURATION_USED
11631        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
11632             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11633             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
11634             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
11635             CONVERSION_RATE --OKC
11636        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
11637             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11638             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
11639             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
11640             CONVERSION_EURO_RATE --OKC
11641        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
11642             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11643             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
11644             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
11645             CUST_ACCT_ID --OKC
11646        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
11647             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11648             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
11649             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
11650             BILL_TO_SITE_USE_ID --OKC
11651        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
11652             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11653             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
11654             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
11655             INV_RULE_ID --OKC
11656        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
11657             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11658             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
11659             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
11660             RENEWAL_NOTIFY_TO --OKC
11661        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
11662             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11663             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
11664             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
11665             SHIP_TO_SITE_USE_ID --OKC
11666        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
11667             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11668             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
11669             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
11670             PAYMENT_TERM_ID --OKC
11671        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
11672             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11673             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
11674             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
11675             PRICE_LIST_ID --OKC
11676        ----------------------Extra Rules for lines added------------------------------------------
11677        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
11678                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11679                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
11680                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
11681                DISCOUNT_LIST
11682        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
11683                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11684                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
11685                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
11686                CLVL_LIST_PRICE
11687        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
11688                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11689                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
11690                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
11691                CLVL_QUANTITY
11692        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
11693                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11694                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
11695                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
11696                CLVL_EXTENDED_AMT
11697        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
11698                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11699                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
11700                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
11701                TOPLVL_OPERAND_VAL
11702        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
11703                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11704                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
11705                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
11706                TOPLVL_QUANTITY
11707        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
11708                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11709                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
11710                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
11711                TOPLVL_ADJ_PRICE
11712        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
11713                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11714                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
11715                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
11716                TOPLVL_PRICE_QTY
11717        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
11718                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11719                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
11720                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
11721                AVERAGING_INTERVAL
11722        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
11723                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11724                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
11725                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
11726                MINIMUM_QUANTITY
11727        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
11728                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11729                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
11730                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
11731                DEFAULT_QUANTITY
11732        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
11733                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11734                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
11735                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
11736                FIXED_QUANTITY
11737        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
11738                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11739                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
11740                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
11741                USAGE_DURATION
11742        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
11743                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11744                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
11745                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
11746                BASE_READING
11747         ----------------------------- COVERAGE CODE START -------------------------------------------------
11748        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
11749                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11750                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
11751                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
11752                EXCEPTION_COV_ID
11753        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
11754                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11755                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
11756                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
11757                PM_PROGRAM_ID
11758        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
11759                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11760                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
11761                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
11762                RCN_INCIDENT_SEVERITY_ID
11763        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
11764                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11765                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
11766                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
11767                RCN_PDF_ID
11768        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
11769                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11770                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
11771                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
11772                LIMIT_UOM_QUANTIFIED
11773        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
11774                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11775                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
11776                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
11777                DISCOUNT_AMOUNT
11778        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
11779                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11780                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
11781                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
11782                DISCOUNT_PERCENT
11783         ----------------------------- COVERAGE CODE END ----------------------------------------------------
11784        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
11785                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11786                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
11787                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
11788                LEVEL_AMOUNT
11789 
11790 FROM OKC_RULE_GROUPS_B RGP
11791    , OKC_RULES_B RUL
11792 WHERE rgp.id = rul.rgp_id
11793   AND rgp.rgd_code = 'SVC_K'
11794   AND   RUL.RULE_INFORMATION_CATEGORY IN
11795        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
11796         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR',
11797 	'DST','PDL','QRE','ECE','PMP','RCN','LMT','SLL')
11798   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
11799   AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
11800   GROUP BY rgp.chr_id,rgp.cle_id,rgp.dnz_chr_id )
11801 WHERE
11802   ACCT_RULE_ID    IS NOT NULL OR
11803   CC_BANK_ACCT_ID IS NOT NULL OR
11804   GRACE_DURATION  IS NOT NULL OR
11805   EST_REV_PERCENT IS NOT NULL OR
11806   TAX_AMOUNT      IS NOT NULL OR
11807   TAX_CODE        IS NOT NULL OR
11808   TAX_EXEMPTION_ID    IS NOT NULL OR
11809   BILLING_PROFILE_ID  IS NOT NULL OR
11810   QUOTE_TO_CONTACT_ID IS NOT NULL OR
11811   QUOTE_TO_SITE_ID    IS NOT NULL OR
11812   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
11813   QUOTE_TO_PHONE_ID   IS NOT NULL OR
11814   QUOTE_TO_FAX_ID     IS NOT NULL OR
11815   RENEWAL_PRICE_LIST  IS NOT NULL OR
11816   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
11817   RENEWAL_GRACE_DURATION   IS NOT NULL OR
11818   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
11819   RENEWAL_EST_REV_DURATION IS NOT NULL OR
11820   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
11821   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
11822   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
11823   REV_EST_PERCENT_USED  IS NOT NULL OR
11824   REV_EST_DURATION_USED IS NOT NULL OR
11825   BILLING_PROFILE_USED  IS NOT NULL OR
11826   EVN_THRESHOLD_AMT  IS NOT NULL OR
11827   ERN_THRESHOLD_AMT  IS NOT NULL OR
11828   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
11829   CONVERSION_RATE     IS NOT NULL OR
11830   CONVERSION_EURO_RATE IS NOT NULL OR
11831   CUST_ACCT_ID        IS NOT NULL OR
11832   BILL_TO_SITE_USE_ID IS NOT NULL OR
11833   INV_RULE_ID         IS NOT NULL OR
11834   RENEWAL_NOTIFY_TO   IS NOT NULL OR
11835   SHIP_TO_SITE_USE_ID IS NOT NULL OR
11836   PAYMENT_TERM_ID     IS NOT NULL OR
11837  PRICE_LIST_ID       IS NOT NULL OR
11838    -----extra line rules added---------------------
11839   DISCOUNT_LIST	      IS NOT NULL OR
11840   CLVL_LIST_PRICE     IS NOT NULL OR
11841   CLVL_QUANTITY       IS NOT NULL OR
11842   CLVL_EXTENDED_AMT   IS NOT NULL OR
11843   TOPLVL_OPERAND_VAL  IS NOT NULL OR
11844   TOPLVL_QUANTITY     IS NOT NULL OR
11845   TOPLVL_ADJ_PRICE    IS NOT NULL OR
11846   TOPLVL_PRICE_QTY    IS NOT NULL OR
11847   AVERAGING_INTERVAL  IS NOT NULL OR
11848   MINIMUM_QUANTITY    IS NOT NULL OR
11849   DEFAULT_QUANTITY    IS NOT NULL OR
11850   FIXED_QUANTITY      IS NOT NULL OR
11851   USAGE_DURATION      IS NOT NULL OR
11852   BASE_READING        IS NOT NULL OR
11853   EXCEPTION_COV_ID    IS NOT NULL OR
11854   PM_PROGRAM_ID       IS NOT NULL OR
11855   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
11856   RCN_PDF_ID           IS NOT NULL OR
11857   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
11858   DISCOUNT_AMOUNT      IS NOT NULL OR
11859   DISCOUNT_PERCENT     IS NOT NULL OR
11860   LEVEL_AMOUNT         IS NOT NULL;
11861 
11862 
11863 
11864 
11865 -------------------------------------------------------------------------------
11866 -- The following is the cursor opened if any of the following parameters are --
11867 -- passed to the concurrent request                                          --
11868 -- 1. p_status
11869 -- 2. p_org_id
11870 -------------------------------------------------------------------------------
11871 CURSOR l_hdr_rule_csr2_nus (p_id_low in NUMBER , p_id_hig in NUMBER , p_status in VARCHAR2 , p_org_id in NUMBER )is
11872 SELECT * FROM (
11873 SELECT  RGP.CHR_ID CHR_ID
11874        ,RGP.CLE_ID
11875        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
11876        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
11877             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11878             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
11879             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
11880             ACCT_RULE_ID
11881        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
11882             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
11883             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
11884             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
11885             CC_BANK_ACCT_ID
11886        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
11887             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11888             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
11889             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
11890             GRACE_DURATION
11891        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
11892             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
11893             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
11894             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
11895             EST_REV_PERCENT
11896        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
11897             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!' ),
11898             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
11899             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
11900             TAX_AMOUNT
11901        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
11902             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
11903             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
11904             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
11905             TAX_CODE
11906        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
11907             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11908             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
11909             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
11910             TAX_EXEMPTION_ID
11911        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
11912             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11913             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
11914             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
11915             BILLING_PROFILE_ID
11916        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
11917             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
11918             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
11919             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
11920             QUOTE_TO_CONTACT_ID
11921        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
11922             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11923             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
11924             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
11925             QUOTE_TO_SITE_ID
11926        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
11927             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11928             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
11929             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
11930             QUOTE_TO_EMAIL_ID
11931        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
11932             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11933             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
11934             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
11935             QUOTE_TO_PHONE_ID
11936        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
11937             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11938             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
11939             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
11940             QUOTE_TO_FAX_ID
11941        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
11942             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11943             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
11944             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
11945             RENEWAL_PRICE_LIST
11946        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
11947             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11948             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
11949             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
11950             RENEWAL_MARKUP_PERCENT
11951        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
11952             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11953             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
11954             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
11955             RENEWAL_GRACE_DURATION
11956        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
11957             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11958             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
11959             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
11960             RENEWAL_EST_REV_PERCENT
11961        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
11962             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11963             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
11964             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
11965             RENEWAL_EST_REV_DURATION
11966        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
11967             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11968             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
11969             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
11970             RENEWAL_PRICE_LIST_USED
11971        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
11972             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11973             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
11974             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
11975             RENEWAL_NOTIFICATION_TO
11976        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
11977             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11978             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
11979             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
11980             RENEWAL_MARKUP_PERCENT_USED
11981        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
11982             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11983             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
11984             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
11985             REV_EST_PERCENT_USED
11986        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
11987             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11988             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
11989             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
11990             REV_EST_DURATION_USED
11991        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
11992             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
11993             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
11994             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
11995             BILLING_PROFILE_USED
11996        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
11997             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
11998             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
11999             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
12000             EVN_THRESHOLD_AMT
12001         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
12002 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
12003             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
12004             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
12005             ERN_THRESHOLD_AMT
12006        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
12007             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12008             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
12009             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
12010             RENEWAL_GRACE_DURATION_USED
12011        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
12012             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12013             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
12014             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
12015             CONVERSION_RATE --OKC
12016        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
12017             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12018             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
12019             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
12020             CONVERSION_EURO_RATE --OKC
12021        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
12022             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12023             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
12024             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
12025             CUST_ACCT_ID --OKC
12026        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
12027             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12028             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
12029             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
12030             BILL_TO_SITE_USE_ID --OKC
12031        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
12032             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12033             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
12034             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
12035             INV_RULE_ID --OKC
12036        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
12037             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12038             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
12039             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
12040             RENEWAL_NOTIFY_TO --OKC
12041        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
12042             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12043             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
12044             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
12045             SHIP_TO_SITE_USE_ID --OKC
12046        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
12047             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12048             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
12049             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
12050             PAYMENT_TERM_ID --OKC
12051        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
12052             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12053             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
12054             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
12055             PRICE_LIST_ID --OKC
12056        ----------------------Extra Rules for lines added------------------------------------------
12057        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
12058                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12059                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
12060                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
12061                DISCOUNT_LIST
12062        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
12063                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12064                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
12065                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
12066                CLVL_LIST_PRICE
12067        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
12068                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12069                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
12070                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
12071                CLVL_QUANTITY
12072        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
12073                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12074                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
12075                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
12076                CLVL_EXTENDED_AMT
12077        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
12078                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12079                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
12080                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
12081                TOPLVL_OPERAND_VAL
12082        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
12083                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12084                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
12085                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
12086                TOPLVL_QUANTITY
12087        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
12088                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12089                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
12090                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
12091                TOPLVL_ADJ_PRICE
12092        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
12093                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12094                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
12095                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
12096                TOPLVL_PRICE_QTY
12097        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
12098                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12099                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
12100                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
12101                AVERAGING_INTERVAL
12102        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
12103                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12104                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
12105                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
12106                MINIMUM_QUANTITY
12107        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
12108                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12109                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
12110                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
12111                DEFAULT_QUANTITY
12112        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
12113                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12114                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
12115                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
12116                FIXED_QUANTITY
12117        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
12118                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12119                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
12120                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
12121                USAGE_DURATION
12122        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
12123                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12124                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
12125                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
12126                BASE_READING
12127         ----------------------------- COVERAGE CODE START -------------------------------------------------
12128        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
12129                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12130                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
12131                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
12132                EXCEPTION_COV_ID
12133        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
12134                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12135                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
12136                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
12137                PM_PROGRAM_ID
12138        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
12139                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12140                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
12141                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
12142                RCN_INCIDENT_SEVERITY_ID
12143        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
12144                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
12145                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
12146                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
12147                RCN_PDF_ID
12148        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
12149                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12150                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
12151                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
12152                LIMIT_UOM_QUANTIFIED
12153        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
12154                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12155                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
12156                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
12157                DISCOUNT_AMOUNT
12158        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
12159                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12160                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
12161                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
12162                DISCOUNT_PERCENT
12163         ----------------------------- COVERAGE CODE END ----------------------------------------------------
12164        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
12165                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
12166                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
12167                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
12168                LEVEL_AMOUNT
12169 
12170 FROM OKC_RULE_GROUPS_B RGP
12171    , OKC_RULES_B RUL
12172    , OKC_K_HEADERS_B HDR
12173 WHERE rgp.id = rul.rgp_id
12174   and rgp.rgd_code = 'SVC_K'
12175   AND   RUL.RULE_INFORMATION_CATEGORY IN
12176        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
12177         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR',
12178 	'DST','PDL','QRE','ECE','PMP','RCN','LMT','SLL')
12179   AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
12180   AND HDR.ID = RGP.DNZ_CHR_ID
12181   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
12182   AND HDR.ID = RUL.DNZ_CHR_ID
12183   AND HDR.STS_CODE = nvl(p_status,HDR.STS_CODE)
12184   AND HDR.AUTHORING_ORG_ID = nvl(P_ORG_ID, HDR.AUTHORING_ORG_ID)
12185   GROUP BY rgp.chr_id,rgp.cle_id,rgp.dnz_chr_id )
12186 WHERE
12187   ACCT_RULE_ID    IS NOT NULL OR
12188   CC_BANK_ACCT_ID IS NOT NULL OR
12189   GRACE_DURATION  IS NOT NULL OR
12190   EST_REV_PERCENT IS NOT NULL OR
12191   TAX_AMOUNT      IS NOT NULL OR
12192   TAX_CODE        IS NOT NULL OR
12193   TAX_EXEMPTION_ID    IS NOT NULL OR
12194   BILLING_PROFILE_ID  IS NOT NULL OR
12195   QUOTE_TO_CONTACT_ID IS NOT NULL OR
12196   QUOTE_TO_SITE_ID    IS NOT NULL OR
12197   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
12198   QUOTE_TO_PHONE_ID   IS NOT NULL OR
12199   QUOTE_TO_FAX_ID     IS NOT NULL OR
12200   RENEWAL_PRICE_LIST  IS NOT NULL OR
12201   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
12202   RENEWAL_GRACE_DURATION   IS NOT NULL OR
12203   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
12204   RENEWAL_EST_REV_DURATION IS NOT NULL OR
12205   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
12206   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
12207   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
12208   REV_EST_PERCENT_USED  IS NOT NULL OR
12209   REV_EST_DURATION_USED IS NOT NULL OR
12210   BILLING_PROFILE_USED  IS NOT NULL OR
12211   EVN_THRESHOLD_AMT  IS NOT NULL OR
12212   ERN_THRESHOLD_AMT  IS NOT NULL OR
12213   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
12214   CONVERSION_RATE     IS NOT NULL OR
12215   CONVERSION_EURO_RATE IS NOT NULL OR
12216   CUST_ACCT_ID        IS NOT NULL OR
12217   BILL_TO_SITE_USE_ID IS NOT NULL OR
12218   INV_RULE_ID         IS NOT NULL OR
12219   RENEWAL_NOTIFY_TO   IS NOT NULL OR
12220   SHIP_TO_SITE_USE_ID IS NOT NULL OR
12221   PAYMENT_TERM_ID     IS NOT NULL OR
12222   PRICE_LIST_ID       IS NOT NULL OR
12223   -----extra line rules added---------------------
12224   DISCOUNT_LIST	      IS NOT NULL OR
12225   CLVL_LIST_PRICE     IS NOT NULL OR
12226   CLVL_QUANTITY       IS NOT NULL OR
12227   CLVL_EXTENDED_AMT   IS NOT NULL OR
12228   TOPLVL_OPERAND_VAL  IS NOT NULL OR
12229   TOPLVL_QUANTITY     IS NOT NULL OR
12230   TOPLVL_ADJ_PRICE    IS NOT NULL OR
12231   TOPLVL_PRICE_QTY    IS NOT NULL OR
12232   AVERAGING_INTERVAL  IS NOT NULL OR
12233   MINIMUM_QUANTITY    IS NOT NULL OR
12234   DEFAULT_QUANTITY    IS NOT NULL OR
12235   FIXED_QUANTITY      IS NOT NULL OR
12236   USAGE_DURATION      IS NOT NULL OR
12237   BASE_READING        IS NOT NULL OR
12238   EXCEPTION_COV_ID    IS NOT NULL OR
12239   PM_PROGRAM_ID       IS NOT NULL OR
12240   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
12241   RCN_PDF_ID           IS NOT NULL OR
12242   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
12243   DISCOUNT_AMOUNT      IS NOT NULL OR
12244   DISCOUNT_PERCENT     IS NOT NULL OR
12245   LEVEL_AMOUNT         IS NOT NULL;
12246 
12247 
12248 ----------------------------------------------------------------------------
12249 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
12250 ----------------------------------------------------------------------------
12251 CURSOR L_HDR_DTLS_CSR ( P_HDR_ID  IN NUMBER , P_CATEGORY IN VARCHAR2 ) IS
12252 SELECT HDR.CONTRACT_NUMBER
12253      , HDR.CONTRACT_NUMBER_MODIFIER
12254      , RUL.ID
12255      , RGP.ID RGP_ID
12256  FROM  OKC_K_HEADERS_B HDR
12257      , OKC_RULE_GROUPS_B RGP
12258      , OKC_RULES_B RUL
12259 WHERE HDR.ID = P_HDR_ID
12260   AND RGP.DNZ_CHR_ID = P_HDR_ID
12261   AND RGP.CHR_ID = P_HDR_ID
12262   AND RGP.ID = RUL.RGP_ID
12263   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
12264   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
12265 
12266 L_HDR_DTLS_REC L_HDR_DTLS_CSR%ROWTYPE;
12267 ----------------------------------------------------------------------------
12268 
12269 ----------------------------------------------------------------------------
12270 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
12271 ----------------------------------------------------------------------------
12272 CURSOR L_LINE_DTLS_CSR (P_CLE_ID  IN NUMBER ,P_HDR_ID IN NUMBER, P_CATEGORY IN VARCHAR2 ) IS
12273 SELECT HDR.CONTRACT_NUMBER
12274      , HDR.CONTRACT_NUMBER_MODIFIER
12275      , LIN.LINE_NUMBER
12276      , RUL.ID
12277      , RGP.ID RGP_ID
12278  FROM  OKC_K_HEADERS_B HDR
12279      , OKC_RULE_GROUPS_B RGP
12280      , OKC_RULES_B RUL
12281      , OKC_K_LINES_B LIN
12282 WHERE HDR.ID = P_HDR_ID
12283   AND LIN.ID= P_CLE_ID
12284   AND RGP.DNZ_CHR_ID = P_HDR_ID
12285   AND RGP.CLE_ID = LIN.ID
12286   AND RGP.ID = RUL.RGP_ID
12287   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
12288   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
12289 
12290 L_LINE_DTLS_REC L_LINE_DTLS_CSR%ROWTYPE;
12291 ----------------------------------------------------------------------------
12292 
12293 
12294 
12295 BEGIN
12296  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
12297  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Header Rule Data Validation----------------');
12298  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
12299  FND_FILE.PUT_LINE (FND_FILE.LOG, '----------Parameters passed to the Subrequest Request are as follows  -----------');
12300  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_STATUS ==============> '||P_STATUS);
12301  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ORG_ID ==============> '||P_ORG_ID);
12302  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_BATCH_SIZE  =========> '||P_BATCH_SIZE);
12303  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_LOW ==============> '||p_ID_LOW);
12304  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_HIG ==============> '||P_ID_HIG);
12305  FND_FILE.PUT_LINE (FND_FILE.LOG, '---------------------------------------------------------------------------------');
12306 
12307 
12308 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
12309 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'                Start of Header Validation Report for                  ');
12310 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
12311 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,' Contract Number      |Modifier                |Line Number    |Rule Category     |Attribute Name       |Current Value       ');
12312 
12313 
12314  if(p_us_yn = 'true') then
12315    l_us_yn := true;
12316  else
12317    l_us_yn := false;
12318  end if;
12319 
12320  if(l_us_yn) then
12321    If (p_status is null and p_org_id is null  )  then
12322        OPEN l_hdr_rule_csr1(p_id_low , p_id_hig);
12323        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr1');
12324    Else
12325        OPEN l_hdr_rule_csr2(p_id_low , p_id_hig, p_status , p_org_id);
12326        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr2');
12327    End IF;
12328 else
12329    If (p_status is null and p_org_id is null  )  then
12330        OPEN l_hdr_rule_csr1_nus(p_id_low , p_id_hig);
12331        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr1_nus');
12332    Else
12333        OPEN l_hdr_rule_csr2_nus(p_id_low , p_id_hig, p_status , p_org_id);
12334        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr2_nus');
12335    End IF;
12336 
12337 end if;
12338 
12339  Loop
12340     ------------------------------------------------------------------------------------
12341   if(l_us_yn) then
12342     --Start of If to choose the cursor to be fetched --
12343     If (p_status is null and p_org_id is null )  then
12344         FETCH l_hdr_rule_csr1 bulk collect into
12345                         CHR_ID
12346 			,CLE_ID
12347                         ,DNZ_CHR_ID
12348                         ,ACCT_RULE_ID_CHR
12349                         --,CC_EXPIRY_DATE_CHR
12350                         ,CC_BANK_ACCT_ID_CHR
12351                         ,GRACE_DURATION_CHR
12352                         ,EST_REV_PERCENT_CHR
12353                         --,EST_REV_DATE_CHR
12354                         ,TAX_AMOUNT_CHR
12355                         ,TAX_CODE_CHR
12356                         ,TAX_EXEMPTION_ID_CHR
12357                         ,BILLING_PROFILE_ID_CHR
12358                         ,QUOTE_TO_CONTACT_ID_CHR
12359                         ,QUOTE_TO_SITE_ID_CHR
12360                         ,QUOTE_TO_EMAIL_ID_CHR
12361                         ,QUOTE_TO_PHONE_ID_CHR
12362                         ,QUOTE_TO_FAX_ID_CHR
12363                         ,RENEWAL_PRICE_LIST_CHR
12364                         ,RENEWAL_MARKUP_PERCENT_CHR
12365                         ,RENEWAL_GRACE_DURATION_CHR
12366                         ,RENEWAL_EST_REV_PERCENT_CHR
12367                         ,RENEWAL_EST_REV_DURATION_CHR
12368                         ,RENEWAL_PRICE_LIST_USED_CHR
12369                         ,RENEWAL_NOTIFICATION_TO_CHR
12370                         ,RENEWAL_MARKUP_PERCENT_USED_CH
12371                         ,REV_EST_PERCENT_USED_CHR
12372                         ,REV_EST_DURATION_USED_CHR
12373                         ,BILLING_PROFILE_USED_CHR
12374                         ,EVN_THRESHOLD_AMT_CHR
12375                         ,ERN_THRESHOLD_AMT_CHR
12376                         ,RENEWAL_GRACE_DURATION_USED_CH
12377                         ,CONVERSION_RATE_CHR              --OKC
12378                         --,CONVERSION_RATE_DATE_CHR         --OKC
12379                         ,CONVERSION_EURO_RATE_CHR         --OKC
12380                         ,CUST_ACCT_ID_CHR                 --OKC
12381                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
12382                         ,INV_RULE_ID_CHR                  --OKC
12383                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
12384                         --,RENEWAL_END_DATE_CHR             --OKC
12385                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
12386                         ,PAYMENT_TERM_ID_CHR              --OKC
12387                         ,PRICE_LIST_ID_CHR                --OKC
12388                  -------------EXTRA LINE RULES------------------------
12389 			,DISCOUNT_LIST_CHR
12390 			,CLVL_LIST_PRICE_CHR
12391 			,CLVL_QUANTITY_CHR
12392 			,CLVL_EXTENDED_AMT_CHR
12393 			,TOPLVL_OPERAND_VAL_CHR
12394 			,TOPLVL_QUANTITY_CHR
12395 			,TOPLVL_ADJ_PRICE_CHR
12396 			,TOPLVL_PRICE_QTY_CHR
12397 			,AVERAGING_INTERVAL_CHR
12398 			,MINIMUM_QUANTITY_CHR
12399 			,DEFAULT_QUANTITY_CHR
12400 			,FIXED_QUANTITY_CHR
12401 			,USAGE_DURATION_CHR
12402 			,BASE_READING_CHR
12403 			,EXCEPTION_COV_ID_CHR
12404 			,PM_PROGRAM_ID_CHR
12405 			,RCN_INCIDENT_SEVERITY_ID_CHR
12406 			,RCN_PDF_ID_CHR
12407 			,LIMIT_UOM_QUANTIFIED_CHR
12408 			,DISCOUNT_AMOUNT_CHR
12409 			,DISCOUNT_PERCENT_CHR
12410 			,LEVEL_AMOUNT_CHR
12411 			LIMIT p_batch_size;
12412 
12413        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr1');
12414        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
12415        EXIT WHEN CHR_ID.COUNT = 0 ;
12416     Else
12417         FETCH l_hdr_rule_csr2 bulk collect into
12418                         CHR_ID
12419 			,CLE_ID
12420 			,DNZ_CHR_ID
12421                         ,ACCT_RULE_ID_CHR
12422                         --,CC_EXPIRY_DATE_CHR
12423                         ,CC_BANK_ACCT_ID_CHR
12424                         ,GRACE_DURATION_CHR
12425                         ,EST_REV_PERCENT_CHR
12426                         --,EST_REV_DATE_CHR
12427                         ,TAX_AMOUNT_CHR
12428                         ,TAX_CODE_CHR
12429                         ,TAX_EXEMPTION_ID_CHR
12430                         ,BILLING_PROFILE_ID_CHR
12431                         ,QUOTE_TO_CONTACT_ID_CHR
12432                         ,QUOTE_TO_SITE_ID_CHR
12433                         ,QUOTE_TO_EMAIL_ID_CHR
12434                         ,QUOTE_TO_PHONE_ID_CHR
12435                         ,QUOTE_TO_FAX_ID_CHR
12436                         ,RENEWAL_PRICE_LIST_CHR
12437                         ,RENEWAL_MARKUP_PERCENT_CHR
12438                         ,RENEWAL_GRACE_DURATION_CHR
12439                         ,RENEWAL_EST_REV_PERCENT_CHR
12440                         ,RENEWAL_EST_REV_DURATION_CHR
12441                         ,RENEWAL_PRICE_LIST_USED_CHR
12442                         ,RENEWAL_NOTIFICATION_TO_CHR
12443                         ,RENEWAL_MARKUP_PERCENT_USED_CH
12444                         ,REV_EST_PERCENT_USED_CHR
12445                         ,REV_EST_DURATION_USED_CHR
12446                         ,BILLING_PROFILE_USED_CHR
12447                         ,EVN_THRESHOLD_AMT_CHR
12448                         ,ERN_THRESHOLD_AMT_CHR
12449                         ,RENEWAL_GRACE_DURATION_USED_CH
12450                         ,CONVERSION_RATE_CHR              --OKC
12451                         --,CONVERSION_RATE_DATE_CHR         --OKC
12452                         ,CONVERSION_EURO_RATE_CHR         --OKC
12453                         ,CUST_ACCT_ID_CHR                 --OKC
12454                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
12455                         ,INV_RULE_ID_CHR                  --OKC
12456                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
12457                         --,RENEWAL_END_DATE_CHR           --OKC
12458                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
12459                         ,PAYMENT_TERM_ID_CHR              --OKC
12460                         ,PRICE_LIST_ID_CHR                --OKC
12461                  -------------EXTRA LINE RULES------------------------
12462 			,DISCOUNT_LIST_CHR
12463 			,CLVL_LIST_PRICE_CHR
12464 			,CLVL_QUANTITY_CHR
12465 			,CLVL_EXTENDED_AMT_CHR
12466 			,TOPLVL_OPERAND_VAL_CHR
12467 			,TOPLVL_QUANTITY_CHR
12468 			,TOPLVL_ADJ_PRICE_CHR
12469 			,TOPLVL_PRICE_QTY_CHR
12470 			,AVERAGING_INTERVAL_CHR
12471 			,MINIMUM_QUANTITY_CHR
12472 			,DEFAULT_QUANTITY_CHR
12473 			,FIXED_QUANTITY_CHR
12474 			,USAGE_DURATION_CHR
12475 			,BASE_READING_CHR
12476 			,EXCEPTION_COV_ID_CHR
12477 			,PM_PROGRAM_ID_CHR
12478 			,RCN_INCIDENT_SEVERITY_ID_CHR
12479 			,RCN_PDF_ID_CHR
12480 			,LIMIT_UOM_QUANTIFIED_CHR
12481 			,DISCOUNT_AMOUNT_CHR
12482 			,DISCOUNT_PERCENT_CHR
12483 			,LEVEL_AMOUNT_CHR
12484 			LIMIT p_batch_size;
12485 
12486 
12487        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr2');
12488        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
12489        EXIT WHEN CHR_ID.COUNT = 0 ;
12490 
12491     End IF;
12492     --End of If to choose the cursor to be fetched --
12493 
12494    else
12495     --Start of If to choose the cursor to be fetched --
12496     If (p_status is null and p_org_id is null )  then
12497         FETCH l_hdr_rule_csr1_nus bulk collect into
12498                         CHR_ID
12499 			,CLE_ID
12500                         ,DNZ_CHR_ID
12501                         ,ACCT_RULE_ID_CHR
12502                         --,CC_EXPIRY_DATE_CHR
12503                         ,CC_BANK_ACCT_ID_CHR
12504                         ,GRACE_DURATION_CHR
12505                         ,EST_REV_PERCENT_CHR
12506                         --,EST_REV_DATE_CHR
12507                         ,TAX_AMOUNT_CHR
12508                         ,TAX_CODE_CHR
12509                         ,TAX_EXEMPTION_ID_CHR
12510                         ,BILLING_PROFILE_ID_CHR
12511                         ,QUOTE_TO_CONTACT_ID_CHR
12512                         ,QUOTE_TO_SITE_ID_CHR
12513                         ,QUOTE_TO_EMAIL_ID_CHR
12514                         ,QUOTE_TO_PHONE_ID_CHR
12515                         ,QUOTE_TO_FAX_ID_CHR
12516                         ,RENEWAL_PRICE_LIST_CHR
12517                         ,RENEWAL_MARKUP_PERCENT_CHR
12518                         ,RENEWAL_GRACE_DURATION_CHR
12519                         ,RENEWAL_EST_REV_PERCENT_CHR
12520                         ,RENEWAL_EST_REV_DURATION_CHR
12521                         ,RENEWAL_PRICE_LIST_USED_CHR
12522                         ,RENEWAL_NOTIFICATION_TO_CHR
12523                         ,RENEWAL_MARKUP_PERCENT_USED_CH
12524                         ,REV_EST_PERCENT_USED_CHR
12525                         ,REV_EST_DURATION_USED_CHR
12526                         ,BILLING_PROFILE_USED_CHR
12527                         ,EVN_THRESHOLD_AMT_CHR
12528                         ,ERN_THRESHOLD_AMT_CHR
12529                         ,RENEWAL_GRACE_DURATION_USED_CH
12530                         ,CONVERSION_RATE_CHR              --OKC
12531                         --,CONVERSION_RATE_DATE_CHR         --OKC
12532                         ,CONVERSION_EURO_RATE_CHR         --OKC
12533                         ,CUST_ACCT_ID_CHR                 --OKC
12534                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
12535                         ,INV_RULE_ID_CHR                  --OKC
12536                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
12537                         --,RENEWAL_END_DATE_CHR             --OKC
12538                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
12539                         ,PAYMENT_TERM_ID_CHR              --OKC
12540                         ,PRICE_LIST_ID_CHR                --OKC
12541                  -------------EXTRA LINE RULES------------------------
12542 			,DISCOUNT_LIST_CHR
12543 			,CLVL_LIST_PRICE_CHR
12544 			,CLVL_QUANTITY_CHR
12545 			,CLVL_EXTENDED_AMT_CHR
12546 			,TOPLVL_OPERAND_VAL_CHR
12547 			,TOPLVL_QUANTITY_CHR
12548 			,TOPLVL_ADJ_PRICE_CHR
12549 			,TOPLVL_PRICE_QTY_CHR
12550 			,AVERAGING_INTERVAL_CHR
12551 			,MINIMUM_QUANTITY_CHR
12552 			,DEFAULT_QUANTITY_CHR
12553 			,FIXED_QUANTITY_CHR
12554 			,USAGE_DURATION_CHR
12555 			,BASE_READING_CHR
12556 			,EXCEPTION_COV_ID_CHR
12557 			,PM_PROGRAM_ID_CHR
12558 			,RCN_INCIDENT_SEVERITY_ID_CHR
12559 			,RCN_PDF_ID_CHR
12560 			,LIMIT_UOM_QUANTIFIED_CHR
12561 			,DISCOUNT_AMOUNT_CHR
12562 			,DISCOUNT_PERCENT_CHR
12563 			,LEVEL_AMOUNT_CHR
12564 			LIMIT p_batch_size;
12565 
12566        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr1');
12567        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
12568        EXIT WHEN CHR_ID.COUNT = 0 ;
12569     Else
12570         FETCH l_hdr_rule_csr2_nus bulk collect into
12571                         CHR_ID
12572 			,CLE_ID
12573 			,DNZ_CHR_ID
12574                         ,ACCT_RULE_ID_CHR
12575                         --,CC_EXPIRY_DATE_CHR
12576                         ,CC_BANK_ACCT_ID_CHR
12577                         ,GRACE_DURATION_CHR
12578                         ,EST_REV_PERCENT_CHR
12579                         --,EST_REV_DATE_CHR
12580                         ,TAX_AMOUNT_CHR
12581                         ,TAX_CODE_CHR
12582                         ,TAX_EXEMPTION_ID_CHR
12583                         ,BILLING_PROFILE_ID_CHR
12584                         ,QUOTE_TO_CONTACT_ID_CHR
12585                         ,QUOTE_TO_SITE_ID_CHR
12586                         ,QUOTE_TO_EMAIL_ID_CHR
12587                         ,QUOTE_TO_PHONE_ID_CHR
12588                         ,QUOTE_TO_FAX_ID_CHR
12589                         ,RENEWAL_PRICE_LIST_CHR
12590                         ,RENEWAL_MARKUP_PERCENT_CHR
12591                         ,RENEWAL_GRACE_DURATION_CHR
12592                         ,RENEWAL_EST_REV_PERCENT_CHR
12593                         ,RENEWAL_EST_REV_DURATION_CHR
12594                         ,RENEWAL_PRICE_LIST_USED_CHR
12595                         ,RENEWAL_NOTIFICATION_TO_CHR
12596                         ,RENEWAL_MARKUP_PERCENT_USED_CH
12597                         ,REV_EST_PERCENT_USED_CHR
12598                         ,REV_EST_DURATION_USED_CHR
12599                         ,BILLING_PROFILE_USED_CHR
12600                         ,EVN_THRESHOLD_AMT_CHR
12601                         ,ERN_THRESHOLD_AMT_CHR
12602                         ,RENEWAL_GRACE_DURATION_USED_CH
12603                         ,CONVERSION_RATE_CHR              --OKC
12604                         --,CONVERSION_RATE_DATE_CHR         --OKC
12605                         ,CONVERSION_EURO_RATE_CHR         --OKC
12606                         ,CUST_ACCT_ID_CHR                 --OKC
12607                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
12608                         ,INV_RULE_ID_CHR                  --OKC
12609                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
12610                         --,RENEWAL_END_DATE_CHR           --OKC
12611                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
12612                         ,PAYMENT_TERM_ID_CHR              --OKC
12613                         ,PRICE_LIST_ID_CHR                --OKC
12614                  -------------EXTRA LINE RULES------------------------
12615 			,DISCOUNT_LIST_CHR
12616 			,CLVL_LIST_PRICE_CHR
12617 			,CLVL_QUANTITY_CHR
12618 			,CLVL_EXTENDED_AMT_CHR
12619 			,TOPLVL_OPERAND_VAL_CHR
12620 			,TOPLVL_QUANTITY_CHR
12621 			,TOPLVL_ADJ_PRICE_CHR
12622 			,TOPLVL_PRICE_QTY_CHR
12623 			,AVERAGING_INTERVAL_CHR
12624 			,MINIMUM_QUANTITY_CHR
12625 			,DEFAULT_QUANTITY_CHR
12626 			,FIXED_QUANTITY_CHR
12627 			,USAGE_DURATION_CHR
12628 			,BASE_READING_CHR
12629 			,EXCEPTION_COV_ID_CHR
12630 			,PM_PROGRAM_ID_CHR
12631 			,RCN_INCIDENT_SEVERITY_ID_CHR
12632 			,RCN_PDF_ID_CHR
12633 			,LIMIT_UOM_QUANTIFIED_CHR
12634 			,DISCOUNT_AMOUNT_CHR
12635 			,DISCOUNT_PERCENT_CHR
12636 			,LEVEL_AMOUNT_CHR
12637 			LIMIT p_batch_size;
12638 
12639 
12640        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr2');
12641        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
12642        EXIT WHEN CHR_ID.COUNT = 0 ;
12643 
12644     End IF;
12645     --End of If to choose the cursor to be fetched --
12646 
12647    end if;
12648     ------------------------------------------------------------------------------------
12649 
12650     ------------------------------------------------------------------------------------
12651     -- Begin of code to validate data type .
12652     FOR a in CHR_ID.FIRST..CHR_ID.LAST
12653     LOOP
12654        --1. Validation for ARL rule .
12655        BEGIN
12656           ACCT_RULE_ID(1)      := ACCT_RULE_ID_CHR(a);
12657        EXCEPTION
12658        WHEN OTHERS THEN
12659          IF(CHR_ID(A) IS NOT NULL) THEN
12660            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ARL') ;
12661            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
12662            CLOSE L_HDR_DTLS_CSR;
12663            FND_MESSAGE.CLEAR;
12664            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
12665            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12666            L_ERROR_MSG      := SQLERRM;
12667            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
12668                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
12669                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12670                                       ERROR_MSG)
12671                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
12672                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
12673                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR(a),
12674                                        L_ERROR_MSG );
12675            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
12676          END IF;
12677 	 IF(CLE_ID(A) IS NOT NULL) THEN
12678            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'ARL') ;
12679            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
12680            CLOSE L_LINE_DTLS_CSR;
12681            FND_MESSAGE.CLEAR;
12682            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
12683            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12684            L_ERROR_MSG      := SQLERRM;
12685            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
12686                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
12687                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12688                                       ERROR_MSG)
12689                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
12690                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
12691                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR(a),
12692                                        L_ERROR_MSG );
12693           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
12694 
12695 	 END IF;
12696 
12697        END;
12698 
12699        --2. Validation for CCR rule .
12700        BEGIN
12701           CC_BANK_ACCT_ID(1)      := CC_BANK_ACCT_ID_CHR(a);
12702        EXCEPTION
12703        WHEN OTHERS THEN
12704          IF(CHR_ID(A) IS NOT NULL) THEN
12705            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CCR') ;
12706            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
12707            CLOSE L_HDR_DTLS_CSR;
12708            FND_MESSAGE.CLEAR;
12709            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
12710            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12711            L_ERROR_MSG      := SQLERRM;
12712            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
12713                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
12714                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
12715                                       ERROR_MSG)
12716                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
12717                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
12718                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR(a),
12719                                        L_ERROR_MSG );
12720 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3'  ||L_ATTRIBUTE_NAME || CC_BANK_ACCT_ID_CHR(a)  );
12721          END IF;
12722        	 IF(CLE_ID(A) IS NOT NULL) THEN
12723            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'CCR') ;
12724            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
12725            CLOSE L_LINE_DTLS_CSR;
12726            FND_MESSAGE.CLEAR;
12727            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
12728            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12729            L_ERROR_MSG      := SQLERRM;
12730            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
12731                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
12732                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12733                                       ERROR_MSG)
12734                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
12735                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
12736                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR(a),
12737                                        L_ERROR_MSG );
12738           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
12739 
12740 	 END IF;
12741 
12742        END;
12743 
12744        --3. Validation for GPR rule .
12745        BEGIN
12746           GRACE_DURATION(1)    := GRACE_DURATION_CHR(a);
12747        EXCEPTION
12748        WHEN OTHERS THEN
12749          IF(CHR_ID(A) IS NOT NULL) THEN
12750            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'GPR') ;
12751            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
12752            CLOSE L_HDR_DTLS_CSR;
12753            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
12754            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12755            L_ERROR_MSG      := SQLERRM;
12756            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
12757                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
12758                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
12759                                       ERROR_MSG)
12760                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
12761                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
12762                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR(a),
12763                                        L_ERROR_MSG );
12764 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || GRACE_DURATION_CHR(a)  );
12765          END IF;
12766 	 IF(CLE_ID(A) IS NOT NULL) THEN
12767            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'GPR') ;
12768            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
12769            CLOSE L_LINE_DTLS_CSR;
12770            FND_MESSAGE.CLEAR;
12771            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
12772            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12773            L_ERROR_MSG      := SQLERRM;
12774            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
12775                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
12776                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12777                                       ERROR_MSG)
12778                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
12779                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
12780                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR(a),
12781                                        L_ERROR_MSG );
12782           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
12783 
12784 	 END IF;
12785 
12786        END;
12787 
12788        --4. Validation for RVE rule .
12789        BEGIN
12790           EST_REV_PERCENT(1)      := EST_REV_PERCENT_CHR(a);
12791        EXCEPTION
12792        WHEN OTHERS THEN
12793          IF(CHR_ID(A) IS NOT NULL) THEN
12794            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RVE') ;
12795            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
12796            CLOSE L_HDR_DTLS_CSR;
12797            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
12798            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12799            L_ERROR_MSG      := SQLERRM;
12800            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
12801                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
12802                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
12803                                       ERROR_MSG)
12804                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
12805                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
12806                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR(a),
12807                                        L_ERROR_MSG );
12808 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EST_REV_PERCENT_CHR(a)  );
12809          END IF;
12810 	 IF(CLE_ID(A) IS NOT NULL) THEN
12811            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RVE') ;
12812            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
12813            CLOSE L_LINE_DTLS_CSR;
12814            FND_MESSAGE.CLEAR;
12815            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
12816            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12817            L_ERROR_MSG      := SQLERRM;
12818            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
12819                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
12820                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12821                                       ERROR_MSG)
12822                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
12823                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
12824                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR(a),
12825                                        L_ERROR_MSG );
12826           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
12827 
12828 	 END IF;
12829 
12830        END;
12831 
12832        --5. Validation for IRT rule.
12833        BEGIN
12834           TAX_AMOUNT(1)      := TAX_AMOUNT_CHR(a);
12835        EXCEPTION
12836        WHEN OTHERS THEN
12837          IF(CHR_ID(A) IS NOT NULL) THEN
12838            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRT') ;
12839            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
12840            CLOSE L_HDR_DTLS_CSR;
12841            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
12842            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12843            L_ERROR_MSG      := SQLERRM;
12844            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
12845                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
12846                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
12847                                       ERROR_MSG)
12848                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
12849                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
12850                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR(a),
12851                                        L_ERROR_MSG );
12852 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || TAX_AMOUNT_CHR(a)  );
12853          END IF;
12854 	 IF(CLE_ID(A) IS NOT NULL) THEN
12855            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'IRT') ;
12856            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
12857            CLOSE L_LINE_DTLS_CSR;
12858            FND_MESSAGE.CLEAR;
12859            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
12860            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12861            L_ERROR_MSG      := SQLERRM;
12862            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
12863                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
12864                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12865                                       ERROR_MSG)
12866                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
12867                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
12868                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR(a),
12869                                        L_ERROR_MSG );
12870           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
12871 
12872 	 END IF;
12873 
12874        END;
12875 
12876        --6. Validation for TAX (TAX_CODE) rule.
12877        BEGIN
12878           TAX_CODE(1)      := TAX_CODE_CHR(a);
12879        EXCEPTION
12880        WHEN OTHERS THEN
12881          IF(CHR_ID(A) IS NOT NULL) THEN
12882            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'TAX') ;
12883            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
12884            CLOSE L_HDR_DTLS_CSR;
12885            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
12886            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12887            L_ERROR_MSG      := SQLERRM;
12888            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
12889                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
12890                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
12891                                       ERROR_MSG)
12892                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
12893                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
12894                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR(a),
12895                                        L_ERROR_MSG );
12896 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || TAX_CODE_CHR(a)  );
12897          END IF;
12898 	 IF(CLE_ID(A) IS NOT NULL) THEN
12899            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'TAX') ;
12900            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
12901            CLOSE L_LINE_DTLS_CSR;
12902            FND_MESSAGE.CLEAR;
12903            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
12904            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12905            L_ERROR_MSG      := SQLERRM;
12906            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
12907                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
12908                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12909                                       ERROR_MSG)
12910                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
12911                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
12912                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR(a),
12913                                        L_ERROR_MSG );
12914           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
12915 
12916 	 END IF;
12917 
12918        END;
12919 
12920        --7. Validation for TAX (TAX_EXEMPTION_ID) rule.
12921        BEGIN
12922           TAX_EXEMPTION_ID(1)      := TAX_EXEMPTION_ID_CHR(a);
12923        EXCEPTION
12924        WHEN OTHERS THEN
12925          IF(CHR_ID(A) IS NOT NULL) THEN
12926            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'TAX');
12927            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
12928            CLOSE L_HDR_DTLS_CSR;
12929            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
12930            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12931            L_ERROR_MSG      := SQLERRM;
12932            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
12933                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
12934                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
12935                                       ERROR_MSG)
12936                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
12937                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
12938                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR(a),
12939                                        L_ERROR_MSG );
12940 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || TAX_EXEMPTION_ID_CHR(a)  );
12941          END IF;
12942 	 IF(CLE_ID(A) IS NOT NULL) THEN
12943            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'TAX') ;
12944            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
12945            CLOSE L_LINE_DTLS_CSR;
12946            FND_MESSAGE.CLEAR;
12947            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
12948            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12949            L_ERROR_MSG      := SQLERRM;
12950            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
12951                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
12952                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12953                                       ERROR_MSG)
12954                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
12955                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
12956                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR(a),
12957                                        L_ERROR_MSG );
12958           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
12959 
12960 	 END IF;
12961 
12962        END;
12963 
12964 
12965        --8. Validation for CAN  rule.
12966        BEGIN
12967           CUST_ACCT_ID(1)      := CUST_ACCT_ID_CHR(a);
12968        EXCEPTION
12969        WHEN OTHERS THEN
12970          IF(CHR_ID(A) IS NOT NULL) THEN
12971            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CAN');
12972            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
12973            CLOSE L_HDR_DTLS_CSR;
12974            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
12975            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12976            L_ERROR_MSG      := SQLERRM;
12977            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
12978                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
12979                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
12980                                       ERROR_MSG)
12981                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
12982                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
12983                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR(a),
12984                                        L_ERROR_MSG );
12985 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || CUST_ACCT_ID_CHR(a)  );
12986          END IF;
12987 	 IF(CLE_ID(A) IS NOT NULL) THEN
12988            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'CAN') ;
12989            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
12990            CLOSE L_LINE_DTLS_CSR;
12991            FND_MESSAGE.CLEAR;
12992            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
12993            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
12994            L_ERROR_MSG      := SQLERRM;
12995            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
12996                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
12997                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
12998                                       ERROR_MSG)
12999                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13000                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13001                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR(a),
13002                                        L_ERROR_MSG );
13003           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13004 
13005 	 END IF;
13006 
13007        END;
13008 
13009        --9. Validation for BTO  rule.
13010        BEGIN
13011           BILL_TO_SITE_USE_ID(1)      := BILL_TO_SITE_USE_ID_CHR(a);
13012        EXCEPTION
13013        WHEN OTHERS THEN
13014          IF(CHR_ID(A) IS NOT NULL) THEN
13015            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'BTO');
13016            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13017            CLOSE L_HDR_DTLS_CSR;
13018            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
13019            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13020            L_ERROR_MSG      := SQLERRM;
13021            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13022                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13023                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13024                                       ERROR_MSG)
13025                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13026                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13027                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR(a),
13028                                        L_ERROR_MSG );
13029 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || BILL_TO_SITE_USE_ID_CHR(a)  );
13030          END IF;
13031 	 IF(CLE_ID(A) IS NOT NULL) THEN
13032            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'BTO') ;
13033            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13034            CLOSE L_LINE_DTLS_CSR;
13035            FND_MESSAGE.CLEAR;
13036            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
13037            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13038            L_ERROR_MSG      := SQLERRM;
13039            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13040                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13041                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13042                                       ERROR_MSG)
13043                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13044                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13045                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR(a),
13046                                        L_ERROR_MSG );
13047           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13048 
13049 	 END IF;
13050 
13051        END;
13052 
13053 
13054        --10. Validation for IRE  rule.
13055        BEGIN
13056           INV_RULE_ID(1)      := INV_RULE_ID_CHR(a);
13057        EXCEPTION
13058        WHEN OTHERS THEN
13059          IF(CHR_ID(A) IS NOT NULL) THEN
13060            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRE');
13061            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13062            CLOSE L_HDR_DTLS_CSR;
13063            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
13064            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13065            L_ERROR_MSG      := SQLERRM;
13066            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13067                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13068                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13069                                       ERROR_MSG)
13070                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13071                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13072                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR(a),
13073                                        L_ERROR_MSG );
13074 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || INV_RULE_ID_CHR(a)  );
13075          END IF;
13076 	 IF(CLE_ID(A) IS NOT NULL) THEN
13077            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'IRE') ;
13078            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13079            CLOSE L_LINE_DTLS_CSR;
13080            FND_MESSAGE.CLEAR;
13081            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
13082            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13083            L_ERROR_MSG      := SQLERRM;
13084            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13085                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13086                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13087                                       ERROR_MSG)
13088                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13089                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13090                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR(a),
13091                                        L_ERROR_MSG );
13092           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13093 
13094 	 END IF;
13095 
13096        END;
13097 
13098        --11. Validation for REN ( RENEWAL_NOTIFY_TO )  rule.
13099        BEGIN
13100           RENEWAL_NOTIFY_TO(1)      := RENEWAL_NOTIFY_TO_CHR(a);
13101        EXCEPTION
13102        WHEN OTHERS THEN
13103          IF(CHR_ID(A) IS NOT NULL) THEN
13104            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRE');
13105            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13106            CLOSE L_HDR_DTLS_CSR;
13107            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
13108            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13109            L_ERROR_MSG      := SQLERRM;
13110            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13111                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13112                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13113                                       ERROR_MSG)
13114                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13115                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13116                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR(a),
13117                                        L_ERROR_MSG );
13118 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_NOTIFY_TO_CHR(a)  );
13119          END IF;
13120 	 IF(CLE_ID(A) IS NOT NULL) THEN
13121            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'IRE') ;
13122            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13123            CLOSE L_LINE_DTLS_CSR;
13124            FND_MESSAGE.CLEAR;
13125            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
13126            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13127            L_ERROR_MSG      := SQLERRM;
13128            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13129                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13130                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13131                                       ERROR_MSG)
13132                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13133                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13134                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR(a),
13135                                        L_ERROR_MSG );
13136           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13137 
13138 	 END IF;
13139 
13140        END;
13141 
13142        --12. Validation for STO rule.
13143        BEGIN
13144           SHIP_TO_SITE_USE_ID(1)      := SHIP_TO_SITE_USE_ID_CHR(a);
13145        EXCEPTION
13146        WHEN OTHERS THEN
13147          IF(CHR_ID(A) IS NOT NULL) THEN
13148            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'STO');
13149            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13150            CLOSE L_HDR_DTLS_CSR;
13151            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
13152            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13153            L_ERROR_MSG      := SQLERRM;
13154            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13155                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13156                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13157                                       ERROR_MSG)
13158                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13159                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13160                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR(a),
13161                                        L_ERROR_MSG );
13162 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || SHIP_TO_SITE_USE_ID_CHR(a)  );
13163          END IF;
13164 	 IF(CLE_ID(A) IS NOT NULL) THEN
13165            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'STO') ;
13166            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13167            CLOSE L_LINE_DTLS_CSR;
13168            FND_MESSAGE.CLEAR;
13169            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
13170            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13171            L_ERROR_MSG      := SQLERRM;
13172            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13173                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13174                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13175                                       ERROR_MSG)
13176                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13177                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13178                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR(a),
13179                                        L_ERROR_MSG );
13180           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13181 
13182 	 END IF;
13183 
13184        END;
13185 
13186        --13. Validation for PTR rule.
13187        BEGIN
13188           PAYMENT_TERM_ID(1)      := PAYMENT_TERM_ID_CHR(a);
13189        EXCEPTION
13190        WHEN OTHERS THEN
13191          IF(CHR_ID(A) IS NOT NULL) THEN
13192            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PTR');
13193            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13194            CLOSE L_HDR_DTLS_CSR;
13195            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
13196            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13197            L_ERROR_MSG      := SQLERRM;
13198            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13199                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13200                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13201                                       ERROR_MSG)
13202                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13203                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13204                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR(a),
13205                                        L_ERROR_MSG );
13206 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PAYMENT_TERM_ID_CHR(a)  );
13207          END IF;
13208 	 IF(CLE_ID(A) IS NOT NULL) THEN
13209            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PTR') ;
13210            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13211            CLOSE L_LINE_DTLS_CSR;
13212            FND_MESSAGE.CLEAR;
13213            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
13214            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13215            L_ERROR_MSG      := SQLERRM;
13216            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13217                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13218                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13219                                       ERROR_MSG)
13220                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13221                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13222                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR(a),
13223                                        L_ERROR_MSG );
13224           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13225 
13226 	 END IF;
13227 
13228        END;
13229 
13230        --14. Validation for ERN rule.
13231        BEGIN
13232           BILLING_PROFILE_ID(1)      := BILLING_PROFILE_ID_CHR(a);
13233        EXCEPTION
13234        WHEN OTHERS THEN
13235          IF(CHR_ID(A) IS NOT NULL) THEN
13236            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ERN');
13237            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13238            CLOSE L_HDR_DTLS_CSR;
13239            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
13240            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13241            L_ERROR_MSG      := SQLERRM;
13242            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13243                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13244                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13245                                       ERROR_MSG)
13246                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13247                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13248                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR(a),
13249                                        L_ERROR_MSG );
13250 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || BILLING_PROFILE_ID_CHR(a)  );
13251          END IF;
13252 	 IF(CLE_ID(A) IS NOT NULL) THEN
13253            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'ERN') ;
13254            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13255            CLOSE L_LINE_DTLS_CSR;
13256            FND_MESSAGE.CLEAR;
13257            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
13258            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13259            L_ERROR_MSG      := SQLERRM;
13260            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13261                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13262                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13263                                       ERROR_MSG)
13264                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13265                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13266                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR(a),
13267                                        L_ERROR_MSG );
13268           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13269 
13270 	 END IF;
13271 
13272        END;
13273 
13274 
13275        --15. Validation for QTO ( QUOTE_TO_CONTACT_ID )rule.
13276        BEGIN
13277           QUOTE_TO_CONTACT_ID(1)      := QUOTE_TO_CONTACT_ID_CHR(a);
13278        EXCEPTION
13279        WHEN OTHERS THEN
13280          IF(CHR_ID(A) IS NOT NULL) THEN
13281            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
13282            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13283            CLOSE L_HDR_DTLS_CSR;
13284            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
13285            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13286            L_ERROR_MSG      := SQLERRM;
13287            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13288                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13289                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13290                                       ERROR_MSG)
13291                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13292                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13293                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR(a),
13294                                        L_ERROR_MSG );
13295 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || QUOTE_TO_CONTACT_ID_CHR(a)  );
13296          END IF;
13297 	 IF(CLE_ID(A) IS NOT NULL) THEN
13298            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
13299            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13300            CLOSE L_LINE_DTLS_CSR;
13301            FND_MESSAGE.CLEAR;
13302            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
13303            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13304            L_ERROR_MSG      := SQLERRM;
13305            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13306                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13307                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13308                                       ERROR_MSG)
13309                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13310                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13311                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR(a),
13312                                        L_ERROR_MSG );
13313           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13314 
13315 	 END IF;
13316 
13317        END;
13318 
13319        --16. Validation for QTO ( QUOTE_TO_SITE_ID ) rule.
13320        BEGIN
13321           QUOTE_TO_SITE_ID(1)      := QUOTE_TO_SITE_ID_CHR(a);
13322        EXCEPTION
13323        WHEN OTHERS THEN
13324          IF(CHR_ID(A) IS NOT NULL) THEN
13325            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
13326            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13327            CLOSE L_HDR_DTLS_CSR;
13328            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
13329            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13330            L_ERROR_MSG      := SQLERRM;
13331            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13332                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13333                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13334                                       ERROR_MSG)
13335                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13336                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13337                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR(a),
13338                                        L_ERROR_MSG );
13339 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || QUOTE_TO_SITE_ID_CHR(a)  );
13340          END IF;
13341 	 IF(CLE_ID(A) IS NOT NULL) THEN
13342            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
13343            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13344            CLOSE L_LINE_DTLS_CSR;
13345            FND_MESSAGE.CLEAR;
13346            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
13347            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13348            L_ERROR_MSG      := SQLERRM;
13349            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13350                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13351                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13352                                       ERROR_MSG)
13353                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13354                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13355                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR(a),
13356                                        L_ERROR_MSG );
13357           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13358 
13359 	 END IF;
13360 
13361        END;
13362 
13363        --17. Validation for QTO ( QUOTE_TO_EMAIL_ID ) rule.
13364        BEGIN
13365           QUOTE_TO_EMAIL_ID(1)      := QUOTE_TO_EMAIL_ID_CHR(a);
13366        EXCEPTION
13367        WHEN OTHERS THEN
13368          IF(CHR_ID(A) IS NOT NULL) THEN
13369            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
13370            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13371            CLOSE L_HDR_DTLS_CSR;
13372            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
13373            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13374            L_ERROR_MSG      := SQLERRM;
13375            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13376                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13377                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13378                                       ERROR_MSG)
13379                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13380                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13381                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR(a),
13382                                        L_ERROR_MSG );
13383 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1'  ||L_ATTRIBUTE_NAME || QUOTE_TO_EMAIL_ID_CHR(a)  );
13384          END IF;
13385 	 IF(CLE_ID(A) IS NOT NULL) THEN
13386            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
13387            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13388            CLOSE L_LINE_DTLS_CSR;
13389            FND_MESSAGE.CLEAR;
13390            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
13391            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13392            L_ERROR_MSG      := SQLERRM;
13393            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13394                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13395                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13396                                       ERROR_MSG)
13397                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13398                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13399                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR(a),
13400                                        L_ERROR_MSG );
13401           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13402 
13403 	 END IF;
13404 
13405        END;
13406 
13407        --18. Validation for QTO ( QUOTE_TO_PHONE_ID ) rule.
13408        BEGIN
13409           QUOTE_TO_PHONE_ID(1)      := QUOTE_TO_PHONE_ID_CHR(a);
13410        EXCEPTION
13411        WHEN OTHERS THEN
13412          IF(CHR_ID(A) IS NOT NULL) THEN
13413            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
13414            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13415            CLOSE L_HDR_DTLS_CSR;
13416            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
13417            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13418            L_ERROR_MSG      := SQLERRM;
13419            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13420                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13421                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13422                                       ERROR_MSG)
13423                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13424                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13425                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR(a),
13426                                        L_ERROR_MSG );
13427 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || QUOTE_TO_PHONE_ID_CHR(a)  );
13428          END IF;
13429 	 IF(CLE_ID(A) IS NOT NULL) THEN
13430            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
13431            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13432            CLOSE L_LINE_DTLS_CSR;
13433            FND_MESSAGE.CLEAR;
13434            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
13435            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13436            L_ERROR_MSG      := SQLERRM;
13437            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13438                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13439                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13440                                       ERROR_MSG)
13441                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13442                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13443                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR(a),
13444                                        L_ERROR_MSG );
13445           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13446 
13447 	 END IF;
13448 
13449        END;
13450 
13451        --19. Validation for QTO ( QUOTE_TO_FAX_ID ) rule.
13452        BEGIN
13453           QUOTE_TO_FAX_ID(1)      := QUOTE_TO_FAX_ID_CHR(a);
13454        EXCEPTION
13455        WHEN OTHERS THEN
13456          IF(CHR_ID(A) IS NOT NULL) THEN
13457            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
13458            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13459            CLOSE L_HDR_DTLS_CSR;
13460            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
13461            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13462            L_ERROR_MSG      := SQLERRM;
13463            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13464                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13465                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13466                                       ERROR_MSG)
13467                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13468                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13469                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR(a),
13470                                        L_ERROR_MSG );
13471 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || QUOTE_TO_FAX_ID_CHR(a)  );
13472          END IF;
13473 	 IF(CLE_ID(A) IS NOT NULL) THEN
13474            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
13475            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13476            CLOSE L_LINE_DTLS_CSR;
13477            FND_MESSAGE.CLEAR;
13478            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
13479            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13480            L_ERROR_MSG      := SQLERRM;
13481            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13482                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13483                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13484                                       ERROR_MSG)
13485                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13486                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13487                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR(a),
13488                                        L_ERROR_MSG );
13489           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13490 
13491 	 END IF;
13492 
13493        END;
13494 
13495        --20. Validation for RPT ( RENEWAL_PRICE_LIST ) rule.
13496        BEGIN
13497           RENEWAL_PRICE_LIST(1)      := RENEWAL_PRICE_LIST_CHR(a);
13498        EXCEPTION
13499        WHEN OTHERS THEN
13500          IF(CHR_ID(A) IS NOT NULL) THEN
13501            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
13502            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13503            CLOSE L_HDR_DTLS_CSR;
13504            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
13505            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13506            L_ERROR_MSG      := SQLERRM;
13507            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13508                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13509                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13510                                       ERROR_MSG)
13511                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13512                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13513                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR(a),
13514                                        L_ERROR_MSG );
13515 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RENEWAL_PRICE_LIST_CHR(a)  );
13516          END IF;
13517 	 IF(CLE_ID(A) IS NOT NULL) THEN
13518            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RPT') ;
13519            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13520            CLOSE L_LINE_DTLS_CSR;
13521            FND_MESSAGE.CLEAR;
13522            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
13523            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13524            L_ERROR_MSG      := SQLERRM;
13525            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13526                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13527                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13528                                       ERROR_MSG)
13529                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13530                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13531                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR(a),
13532                                        L_ERROR_MSG );
13533           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13534 
13535 	 END IF;
13536 
13537        END;
13538 
13539        --21. Validation for RPT ( RENEWAL_MARKUP_PERCENT ) rule.
13540        BEGIN
13541           RENEWAL_MARKUP_PERCENT(1)      := RENEWAL_MARKUP_PERCENT_CHR(a);
13542        EXCEPTION
13543        WHEN OTHERS THEN
13544          IF(CHR_ID(A) IS NOT NULL) THEN
13545            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
13546            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13547            CLOSE L_HDR_DTLS_CSR;
13548            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
13549            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13550            L_ERROR_MSG      := SQLERRM;
13551            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13552                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13553                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13554                                       ERROR_MSG)
13555                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13556                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13557                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR(a),
13558                                        L_ERROR_MSG );
13559 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_MARKUP_PERCENT_CHR(a)  );
13560          END IF;
13561 	 IF(CLE_ID(A) IS NOT NULL) THEN
13562            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RPT') ;
13563            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13564            CLOSE L_LINE_DTLS_CSR;
13565            FND_MESSAGE.CLEAR;
13566            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
13567            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13568            L_ERROR_MSG      := SQLERRM;
13569            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13570                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13571                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13572                                       ERROR_MSG)
13573                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13574                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13575                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR(a),
13576                                        L_ERROR_MSG );
13577           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13578 
13579 	 END IF;
13580 
13581        END;
13582 
13583        --22. Validation for RPT ( RENEWAL_GRACE_DURATION ) rule.
13584        BEGIN
13585           RENEWAL_GRACE_DURATION(1)      := RENEWAL_GRACE_DURATION_CHR(a);
13586        EXCEPTION
13587        WHEN OTHERS THEN
13588          IF(CHR_ID(A) IS NOT NULL) THEN
13589            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
13590            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13591            CLOSE L_HDR_DTLS_CSR;
13592            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
13593            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13594            L_ERROR_MSG      := SQLERRM;
13595            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13596                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13597                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13598                                       ERROR_MSG)
13599                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13600                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13601                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR(a),
13602                                        L_ERROR_MSG );
13603 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || RENEWAL_GRACE_DURATION_CHR(a)  );
13604          END IF;
13605 	 IF(CLE_ID(A) IS NOT NULL) THEN
13606            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RPT') ;
13607            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13608            CLOSE L_LINE_DTLS_CSR;
13609            FND_MESSAGE.CLEAR;
13610            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
13611            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13612            L_ERROR_MSG      := SQLERRM;
13613            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13614                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13615                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13616                                       ERROR_MSG)
13617                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13618                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13619                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR(a),
13620                                        L_ERROR_MSG );
13621           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13622 
13623 	 END IF;
13624 
13625        END;
13626 
13627        --23. Validation for RER ( RENEWAL_EST_REV_PERCENT ) rule.
13628        BEGIN
13629           RENEWAL_EST_REV_PERCENT(1)      := RENEWAL_EST_REV_PERCENT_CHR(a);
13630        EXCEPTION
13631        WHEN OTHERS THEN
13632          IF(CHR_ID(A) IS NOT NULL) THEN
13633            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RER');
13634            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13635            CLOSE L_HDR_DTLS_CSR;
13636            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
13637            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13638            L_ERROR_MSG      := SQLERRM;
13639            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13640                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13641                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13642                                       ERROR_MSG)
13643                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13644                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13645                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR(a),
13646                                        L_ERROR_MSG );
13647 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RENEWAL_EST_REV_PERCENT_CHR(a)  );
13648          END IF;
13649 	 IF(CLE_ID(A) IS NOT NULL) THEN
13650            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RER') ;
13651            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13652            CLOSE L_LINE_DTLS_CSR;
13653            FND_MESSAGE.CLEAR;
13654            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
13655            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13656            L_ERROR_MSG      := SQLERRM;
13657            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13658                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13659                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13660                                       ERROR_MSG)
13661                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13662                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13663                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR(a),
13664                                        L_ERROR_MSG );
13665           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13666 
13667 	 END IF;
13668 
13669        END;
13670 
13671        --24. Validation for RER ( RENEWAL_EST_REV_DURATION ) rule.
13672        BEGIN
13673           RENEWAL_EST_REV_DURATION(1)      := RENEWAL_EST_REV_DURATION_CHR(a);
13674        EXCEPTION
13675        WHEN OTHERS THEN
13676          IF(CHR_ID(A) IS NOT NULL) THEN
13677            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RER');
13678            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13679            CLOSE L_HDR_DTLS_CSR;
13680            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
13681            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13682            L_ERROR_MSG      := SQLERRM;
13683            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13684                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13685                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13686                                       ERROR_MSG)
13687                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13688                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13689                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR(a),
13690                                        L_ERROR_MSG );
13691 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2'  ||L_ATTRIBUTE_NAME || RENEWAL_EST_REV_DURATION_CHR(a)  );
13692          END IF;
13693 	 IF(CLE_ID(A) IS NOT NULL) THEN
13694            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RER') ;
13695            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13696            CLOSE L_LINE_DTLS_CSR;
13697            FND_MESSAGE.CLEAR;
13698            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
13699            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13700            L_ERROR_MSG      := SQLERRM;
13701            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13702                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13703                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13704                                       ERROR_MSG)
13705                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13706                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13707                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR(a),
13708                                        L_ERROR_MSG );
13709           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13710 
13711 	 END IF;
13712 
13713        END;
13714 
13715        --25. Validation for RRU ( RENEWAL_PRICE_LIST_USED ) rule.
13716        BEGIN
13717           RENEWAL_PRICE_LIST_USED(1)      := RENEWAL_PRICE_LIST_USED_CHR(a);
13718        EXCEPTION
13719        WHEN OTHERS THEN
13720          IF(CHR_ID(A) IS NOT NULL) THEN
13721            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
13722            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13723            CLOSE L_HDR_DTLS_CSR;
13724            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
13725            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13726            L_ERROR_MSG      := SQLERRM;
13727            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13728                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13729                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13730                                       ERROR_MSG)
13731                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13732                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13733                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR(a),
13734                                        L_ERROR_MSG );
13735 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RENEWAL_PRICE_LIST_USED_CHR(a)  );
13736          END IF;
13737 	 IF(CLE_ID(A) IS NOT NULL) THEN
13738            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
13739            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13740            CLOSE L_LINE_DTLS_CSR;
13741            FND_MESSAGE.CLEAR;
13742            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
13743            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13744            L_ERROR_MSG      := SQLERRM;
13745            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13746                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13747                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13748                                       ERROR_MSG)
13749                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13750                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13751                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR(a),
13752                                        L_ERROR_MSG );
13753           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13754 
13755 	 END IF;
13756 
13757        END;
13758 
13759        --26. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
13760        BEGIN
13761           RENEWAL_NOTIFICATION_TO(1)      := RENEWAL_NOTIFICATION_TO_CHR(a);
13762        EXCEPTION
13763        WHEN OTHERS THEN
13764          IF(CHR_ID(A) IS NOT NULL) THEN
13765            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
13766            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13767            CLOSE L_HDR_DTLS_CSR;
13768            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
13769            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13770            L_ERROR_MSG      := SQLERRM;
13771            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13772                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13773                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13774                                       ERROR_MSG)
13775                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13776                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13777                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR(a),
13778                                        L_ERROR_MSG );
13779 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_NOTIFICATION_TO_CHR(a)  );
13780          END IF;
13781 	 IF(CLE_ID(A) IS NOT NULL) THEN
13782            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
13783            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13784            CLOSE L_LINE_DTLS_CSR;
13785            FND_MESSAGE.CLEAR;
13786            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
13787            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13788            L_ERROR_MSG      := SQLERRM;
13789            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13790                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13791                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13792                                       ERROR_MSG)
13793                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13794                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13795                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR(a),
13796                                        L_ERROR_MSG );
13797           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13798 
13799 	 END IF;
13800 
13801        END;
13802 
13803        --27. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
13804        BEGIN
13805           RENEWAL_MARKUP_PERCENT_USED(1)      := RENEWAL_MARKUP_PERCENT_USED_CH(a);
13806        EXCEPTION
13807        WHEN OTHERS THEN
13808          IF(CHR_ID(A) IS NOT NULL) THEN
13809            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
13810            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13811            CLOSE L_HDR_DTLS_CSR;
13812            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
13813            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13814            L_ERROR_MSG      := SQLERRM;
13815            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13816                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13817                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13818                                       ERROR_MSG)
13819                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13820                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13821                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH(a),
13822                                        L_ERROR_MSG );
13823 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION5' ||L_ATTRIBUTE_NAME || RENEWAL_MARKUP_PERCENT_USED_CH(a)  );
13824          END IF;
13825 	 IF(CLE_ID(A) IS NOT NULL) THEN
13826            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
13827            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13828            CLOSE L_LINE_DTLS_CSR;
13829            FND_MESSAGE.CLEAR;
13830            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
13831            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13832            L_ERROR_MSG      := SQLERRM;
13833            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13834                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13835                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13836                                       ERROR_MSG)
13837                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13838                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13839                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH(a),
13840                                        L_ERROR_MSG );
13841           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13842 
13843 	 END IF;
13844 
13845        END;
13846 
13847        --28. Validation for RRU ( REV_EST_PERCENT_USED ) rule.
13848        BEGIN
13849           REV_EST_PERCENT_USED(1)      := REV_EST_PERCENT_USED_CHR(a);
13850        EXCEPTION
13851        WHEN OTHERS THEN
13852          IF(CHR_ID(A) IS NOT NULL) THEN
13853            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
13854            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13855            CLOSE L_HDR_DTLS_CSR;
13856            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
13857            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13858            L_ERROR_MSG      := SQLERRM;
13859            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13860                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13861                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13862                                       ERROR_MSG)
13863                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13864                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13865                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR(a),
13866                                        L_ERROR_MSG );
13867 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION6' ||L_ATTRIBUTE_NAME || REV_EST_PERCENT_USED_CHR(a)  );
13868          END IF;
13869 	 IF(CLE_ID(A) IS NOT NULL) THEN
13870            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
13871            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13872            CLOSE L_LINE_DTLS_CSR;
13873            FND_MESSAGE.CLEAR;
13874            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
13875            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13876            L_ERROR_MSG      := SQLERRM;
13877            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13878                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13879                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13880                                       ERROR_MSG)
13881                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13882                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13883                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR(a),
13884                                        L_ERROR_MSG );
13885           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13886 
13887 	 END IF;
13888 
13889        END;
13890 
13891        --29. Validation for RRU ( REV_EST_DURATION_USED ) rule.
13892        BEGIN
13893           REV_EST_DURATION_USED(1)      := REV_EST_DURATION_USED_CHR(a);
13894        EXCEPTION
13895        WHEN OTHERS THEN
13896          IF(CHR_ID(A) IS NOT NULL) THEN
13897            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
13898            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13899            CLOSE L_HDR_DTLS_CSR;
13900            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
13901            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13902            L_ERROR_MSG      := SQLERRM;
13903            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13904                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13905                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13906                                       ERROR_MSG)
13907                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13908                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13909                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR(a),
13910                                        L_ERROR_MSG );
13911 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION7'||L_ATTRIBUTE_NAME || REV_EST_DURATION_USED_CHR(a)  );
13912          END IF;
13913 	 IF(CLE_ID(A) IS NOT NULL) THEN
13914            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
13915            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13916            CLOSE L_LINE_DTLS_CSR;
13917            FND_MESSAGE.CLEAR;
13918            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
13919            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13920            L_ERROR_MSG      := SQLERRM;
13921            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13922                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13923                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13924                                       ERROR_MSG)
13925                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13926                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13927                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR(a),
13928                                        L_ERROR_MSG );
13929           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13930 
13931 	 END IF;
13932 
13933        END;
13934 
13935        --30. Validation for RRU ( BILLING_PROFILE_USED ) rule.
13936        BEGIN
13937           BILLING_PROFILE_USED(1)      := BILLING_PROFILE_USED_CHR(a);
13938        EXCEPTION
13939        WHEN OTHERS THEN
13940          IF(CHR_ID(A) IS NOT NULL) THEN
13941            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
13942            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13943            CLOSE L_HDR_DTLS_CSR;
13944            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
13945            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13946            L_ERROR_MSG      := SQLERRM;
13947            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13948                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13949                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13950                                       ERROR_MSG)
13951                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13952                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13953                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR(a),
13954                                        L_ERROR_MSG );
13955 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION9' ||L_ATTRIBUTE_NAME || BILLING_PROFILE_USED_CHR(a)  );
13956          END IF;
13957 	 IF(CLE_ID(A) IS NOT NULL) THEN
13958            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
13959            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
13960            CLOSE L_LINE_DTLS_CSR;
13961            FND_MESSAGE.CLEAR;
13962            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
13963            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13964            L_ERROR_MSG      := SQLERRM;
13965            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
13966                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
13967                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
13968                                       ERROR_MSG)
13969                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
13970                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
13971                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR(a),
13972                                        L_ERROR_MSG );
13973           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
13974 
13975 	 END IF;
13976 
13977        END;
13978 
13979        --31. Validation for RRU ( EVN_THRESHOLD_AMT ) rule.
13980        BEGIN
13981           EVN_THRESHOLD_AMT(1)      := EVN_THRESHOLD_AMT_CHR(a);
13982        EXCEPTION
13983        WHEN OTHERS THEN
13984          IF(CHR_ID(A) IS NOT NULL) THEN
13985            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
13986            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
13987            CLOSE L_HDR_DTLS_CSR;
13988            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
13989            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
13990            L_ERROR_MSG      := SQLERRM;
13991            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
13992                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
13993                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
13994                                       ERROR_MSG)
13995                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
13996                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
13997                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR(a),
13998                                        L_ERROR_MSG );
13999 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION11' ||L_ATTRIBUTE_NAME || EVN_THRESHOLD_AMT_CHR(a)  );
14000          END IF;
14001 	 IF(CLE_ID(A) IS NOT NULL) THEN
14002            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
14003            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14004            CLOSE L_LINE_DTLS_CSR;
14005            FND_MESSAGE.CLEAR;
14006            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
14007            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14008            L_ERROR_MSG      := SQLERRM;
14009            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14010                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14011                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14012                                       ERROR_MSG)
14013                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14014                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14015                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR(a),
14016                                        L_ERROR_MSG );
14017           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
14018 
14019 	 END IF;
14020 
14021        END;
14022 
14023        --32. Validation for RRU ( ERN_THRESHOLD_AMT ) rule.
14024        BEGIN
14025           ERN_THRESHOLD_AMT(1)      := ERN_THRESHOLD_AMT_CHR(a);
14026        EXCEPTION
14027        WHEN OTHERS THEN
14028          IF(CHR_ID(A) IS NOT NULL) THEN
14029            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
14030            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14031            CLOSE L_HDR_DTLS_CSR;
14032            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
14033            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14034            L_ERROR_MSG      := SQLERRM;
14035            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14036                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14037                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14038                                       ERROR_MSG)
14039                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14040                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14041                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR(a),
14042                                        L_ERROR_MSG );
14043 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || ERN_THRESHOLD_AMT_CHR(a)  );
14044          END IF;
14045 	 IF(CLE_ID(A) IS NOT NULL) THEN
14046            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
14047            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14048            CLOSE L_LINE_DTLS_CSR;
14049            FND_MESSAGE.CLEAR;
14050            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
14051            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14052            L_ERROR_MSG      := SQLERRM;
14053            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14054                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14055                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14056                                       ERROR_MSG)
14057                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14058                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14059                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR(a),
14060                                        L_ERROR_MSG );
14061           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
14062 
14063 	 END IF;
14064 
14065        END;
14066 
14067        --33. Validation for RRE ( RENEWAL_GRACE_DURATION_USED ) rule.
14068        BEGIN
14069           RENEWAL_GRACE_DURATION_USED(1)      := RENEWAL_GRACE_DURATION_USED_CH(a);
14070        EXCEPTION
14071        WHEN OTHERS THEN
14072          IF(CHR_ID(A) IS NOT NULL) THEN
14073            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRE');
14074            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14075            CLOSE L_HDR_DTLS_CSR;
14076            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
14077            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14078            L_ERROR_MSG      := SQLERRM;
14079            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14080                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14081                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14082                                       ERROR_MSG)
14083                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14084                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14085                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH(a),
14086                                        L_ERROR_MSG );
14087 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RENEWAL_GRACE_DURATION_USED_CH(a)  );
14088          END IF;
14089 	 IF(CLE_ID(A) IS NOT NULL) THEN
14090            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRE') ;
14091            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14092            CLOSE L_LINE_DTLS_CSR;
14093            FND_MESSAGE.CLEAR;
14094            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
14095            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14096            L_ERROR_MSG      := SQLERRM;
14097            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14098                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14099                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14100                                       ERROR_MSG)
14101                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14102                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14103                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH(a),
14104                                        L_ERROR_MSG );
14105           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
14106 
14107 	 END IF;
14108 
14109        END;
14110 
14111        --34. Validation for PRE ( PRICE_LIST_ID ) rule.
14112        BEGIN
14113           PRICE_LIST_ID(1)      := PRICE_LIST_ID_CHR(a);
14114        EXCEPTION
14115        WHEN OTHERS THEN
14116          IF(CHR_ID(A) IS NOT NULL) THEN
14117            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PRE');
14118            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14119            CLOSE L_HDR_DTLS_CSR;
14120            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
14121            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14122            L_ERROR_MSG      := SQLERRM;
14123            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14124                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14125                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14126                                       ERROR_MSG)
14127                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14128                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14129                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR(a),
14130                                        L_ERROR_MSG );
14131 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_CHR(a)  );
14132          END IF;
14133 	 IF(CLE_ID(A) IS NOT NULL) THEN
14134            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PRE') ;
14135            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14136            CLOSE L_LINE_DTLS_CSR;
14137            FND_MESSAGE.CLEAR;
14138            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
14139            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14140            L_ERROR_MSG      := SQLERRM;
14141            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14142                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14143                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14144                                       ERROR_MSG)
14145                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14146                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14147                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR(a),
14148                                        L_ERROR_MSG );
14149           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
14150 
14151 	 END IF;
14152 
14153        END;
14154 
14155        --35. Validation for CVN ( CONVERSION_RATE ) rule.
14156        BEGIN
14157           CONVERSION_RATE(1)      := CONVERSION_RATE_CHR(a);
14158        EXCEPTION
14159        WHEN OTHERS THEN
14160          IF(CHR_ID(A) IS NOT NULL) THEN
14161            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CVN');
14162            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14163            CLOSE L_HDR_DTLS_CSR;
14164            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
14165            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14166            L_ERROR_MSG      := SQLERRM;
14167            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14168                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14169                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14170                                       ERROR_MSG)
14171                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14172                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14173                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR(a),
14174                                        L_ERROR_MSG );
14175 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || CONVERSION_RATE_CHR(a)  );
14176          END IF;
14177 	 IF(CLE_ID(A) IS NOT NULL) THEN
14178            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'CVN') ;
14179            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14180            CLOSE L_LINE_DTLS_CSR;
14181            FND_MESSAGE.CLEAR;
14182            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
14183            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14184            L_ERROR_MSG      := SQLERRM;
14185            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14186                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14187                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14188                                       ERROR_MSG)
14189                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14190                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14191                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR(a),
14192                                        L_ERROR_MSG );
14193           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
14194 
14195 	 END IF;
14196 
14197        END;
14198 
14199        --36. Validation for CVN ( CONVERSION_EURO_RATE ) rule.
14200        BEGIN
14201           CONVERSION_EURO_RATE(1)      := CONVERSION_EURO_RATE_CHR(a);
14202        EXCEPTION
14203        WHEN OTHERS THEN
14204          IF(CHR_ID(A) IS NOT NULL) THEN
14205            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CVN');
14206            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14207            CLOSE L_HDR_DTLS_CSR;
14208            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
14209            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14210            L_ERROR_MSG      := SQLERRM;
14211            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14212                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14213                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14214                                       ERROR_MSG)
14215                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14216                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14217                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR(a),
14218                                        L_ERROR_MSG );
14219 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CONVERSION_EURO_RATE_CHR(a)  );
14220          END IF;
14221 	 IF(CLE_ID(A) IS NOT NULL) THEN
14222            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'CVN') ;
14223            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14224            CLOSE L_LINE_DTLS_CSR;
14225            FND_MESSAGE.CLEAR;
14226            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
14227            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14228            L_ERROR_MSG      := SQLERRM;
14229            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14230                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14231                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14232                                       ERROR_MSG)
14233                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14234                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14235                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR(a),
14236                                        L_ERROR_MSG );
14237           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
14238 
14239 	 END IF;
14240 
14241        END;
14242 
14243 /*
14244        --37. Validation for CCR ( CC_EXPIRY_DATE ) rule.
14245        BEGIN
14246           CC_EXPIRY_DATE(1)      := to_date(CC_EXPIRY_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
14247        EXCEPTION
14248        WHEN OTHERS THEN
14249           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CCR');
14250           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14251           CLOSE L_HDR_DTLS_CSR;
14252           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
14253           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14254           L_ERROR_MSG      := SQLERRM;
14255           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14256                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14257                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14258                                       ERROR_MSG)
14259                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14260                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14261                                       'CCR'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CC_EXPIRY_DATE_CHR(a),
14262                                        L_ERROR_MSG );
14263 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2'  ||L_ATTRIBUTE_NAME || CC_EXPIRY_DATE_CHR(a)  );
14264        END;
14265 */
14266 /*
14267        --38. Validation for RVE ( EST_REV_DATE ) rule.
14268        BEGIN
14269           EST_REV_DATE(1)      := to_date(EST_REV_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
14270        EXCEPTION
14271        WHEN OTHERS THEN
14272           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RVE');
14273           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14274           CLOSE L_HDR_DTLS_CSR;
14275           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_DATE');
14276           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14277           L_ERROR_MSG      := SQLERRM;
14278           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14279                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14280                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14281                                       ERROR_MSG)
14282                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14283                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14284                                       'RVE'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , EST_REV_DATE_CHR(a),
14285                                        L_ERROR_MSG );
14286 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || EST_REV_DATE_CHR(a)  );
14287        END;
14288 
14289 */
14290 /*
14291        --39. Validation for REN ( RENEWAL_END_DATE ) rule.
14292        BEGIN
14293           RENEWAL_END_DATE(1)      := to_date(RENEWAL_END_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
14294        EXCEPTION
14295        WHEN OTHERS THEN
14296           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'REN');
14297           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14298           CLOSE L_HDR_DTLS_CSR;
14299           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_END_DATE');
14300           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14301           L_ERROR_MSG      := SQLERRM;
14302           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14303                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14304                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14305                                       ERROR_MSG)
14306                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14307                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14308                                       'REN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_END_DATE_CHR(a),
14309                                        L_ERROR_MSG );
14310 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || RENEWAL_END_DATE_CHR(a)  );
14311        END;
14312 */
14313 /*
14314        --40. Validation for REN ( CONVERSION_RATE_DATE ) rule.
14315        BEGIN
14316           CONVERSION_RATE_DATE(1)      := to_date(CONVERSION_RATE_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
14317        EXCEPTION
14318        WHEN OTHERS THEN
14319           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'REN');
14320           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14321           CLOSE L_HDR_DTLS_CSR;
14322           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE_DATE');
14323           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14324           L_ERROR_MSG      := SQLERRM;
14325           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14326                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14327                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
14328                                       ERROR_MSG)
14329                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14330                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14331                                       'CVN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_DATE_CHR(a),
14332                                        L_ERROR_MSG );
14333 	 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CONVERSION_RATE_DATE_CHR(a)  );
14334        END;
14335 */
14336 
14337 -----------------extra line rules---------------------------------------
14338        --41. Validation for DST rule .
14339        BEGIN
14340           DISCOUNT_LIST(1)      := DISCOUNT_LIST_CHR(a);
14341        EXCEPTION
14342        WHEN OTHERS THEN
14343 	 IF(CHR_ID(A) IS NOT NULL) THEN
14344            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'DST') ;
14345            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14346            CLOSE L_HDR_DTLS_CSR;
14347            FND_MESSAGE.CLEAR;
14348            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
14349            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14350            L_ERROR_MSG      := SQLERRM;
14351            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14352                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14353                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14354                                       ERROR_MSG)
14355                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14356                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14357                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR(a),
14358                                        L_ERROR_MSG );
14359            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14360 
14361 	 END IF;
14362 
14363          IF(CLE_ID(A) IS NOT NULL) THEN
14364            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'DST') ;
14365            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14366            CLOSE L_LINE_DTLS_CSR;
14367            FND_MESSAGE.CLEAR;
14368            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
14369            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14370            L_ERROR_MSG      := SQLERRM;
14371            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14372                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, LINE_NUMBER, SCRIPT_NAME  ,
14373                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14374                                       ERROR_MSG)
14375                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14376                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14377                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR(a),
14378                                        L_ERROR_MSG );
14379            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || DISCOUNT_LIST_CHR(a) );
14380          END IF;
14381        END;
14382        --42. Validation for PDL rule .
14383        BEGIN
14384           CLVL_LIST_PRICE(1)      := CLVL_LIST_PRICE_CHR(a);
14385        EXCEPTION
14386        WHEN OTHERS THEN
14387 	 IF(CHR_ID(A) IS NOT NULL) THEN
14388            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
14389            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14390            CLOSE L_HDR_DTLS_CSR;
14391            FND_MESSAGE.CLEAR;
14392            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
14393            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14394            L_ERROR_MSG      := SQLERRM;
14395            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14396                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14397                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14398                                       ERROR_MSG)
14399                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14400                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14401                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR(a),
14402                                        L_ERROR_MSG );
14403            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14404 
14405 	 END IF;
14406 
14407          IF(CLE_ID(A) IS NOT NULL) THEN
14408            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
14409            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14410            CLOSE L_LINE_DTLS_CSR;
14411            FND_MESSAGE.CLEAR;
14412            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
14413            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14414            L_ERROR_MSG      := SQLERRM;
14415            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14416                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14417                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14418                                       ERROR_MSG)
14419                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14420                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14421                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR(a),
14422                                        L_ERROR_MSG );
14423            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || CLVL_LIST_PRICE_CHR(a) );
14424          END IF;
14425        END;
14426 
14427        --43. Validation for PDL rule .
14428        BEGIN
14429           CLVL_QUANTITY(1)      := CLVL_QUANTITY_CHR(a);
14430        EXCEPTION
14431        WHEN OTHERS THEN
14432 	 IF(CHR_ID(A) IS NOT NULL) THEN
14433            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
14434            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14435            CLOSE L_HDR_DTLS_CSR;
14436            FND_MESSAGE.CLEAR;
14437            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
14438            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14439            L_ERROR_MSG      := SQLERRM;
14440            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14441                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14442                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14443                                       ERROR_MSG)
14444                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14445                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14446                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR(a),
14447                                        L_ERROR_MSG );
14448            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14449 
14450 	 END IF;
14451 
14452          IF(CLE_ID(A) IS NOT NULL) THEN
14453            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
14454            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14455            CLOSE L_LINE_DTLS_CSR;
14456            FND_MESSAGE.CLEAR;
14457            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
14458            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14459            L_ERROR_MSG      := SQLERRM;
14460            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14461                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14462                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14463                                       ERROR_MSG)
14464                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14465                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14466                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR(a),
14467                                        L_ERROR_MSG );
14468            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CLVL_QUANTITY_CHR(a) );
14469          END IF;
14470        END;
14471 
14472        --44. Validation for PDL rule .
14473        BEGIN
14474           CLVL_EXTENDED_AMT(1)      := CLVL_EXTENDED_AMT_CHR(a);
14475        EXCEPTION
14476        WHEN OTHERS THEN
14477 	 IF(CHR_ID(A) IS NOT NULL) THEN
14478            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
14479            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14480            CLOSE L_HDR_DTLS_CSR;
14481            FND_MESSAGE.CLEAR;
14482            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
14483            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14484            L_ERROR_MSG      := SQLERRM;
14485            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14486                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14487                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14488                                       ERROR_MSG)
14489                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14490                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14491                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR(a),
14492                                        L_ERROR_MSG );
14493            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14494 
14495 	 END IF;
14496 
14497          IF(CLE_ID(A) IS NOT NULL) THEN
14498            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
14499            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14500            CLOSE L_LINE_DTLS_CSR;
14501            FND_MESSAGE.CLEAR;
14502            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
14503            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14504            L_ERROR_MSG      := SQLERRM;
14505            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14506                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14507                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14508                                       ERROR_MSG)
14509                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14510                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14511                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR(a),
14512                                        L_ERROR_MSG );
14513            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CLVL_EXTENDED_AMT_CHR(a) );
14514          END IF;
14515        END;
14516 
14517        --45. Validation for PDL rule .
14518        BEGIN
14519           TOPLVL_OPERAND_VAL(1)      := TOPLVL_OPERAND_VAL_CHR(a);
14520        EXCEPTION
14521        WHEN OTHERS THEN
14522 	 IF(CHR_ID(A) IS NOT NULL) THEN
14523            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
14524            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14525            CLOSE L_HDR_DTLS_CSR;
14526            FND_MESSAGE.CLEAR;
14527            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
14528            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14529            L_ERROR_MSG      := SQLERRM;
14530            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14531                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14532                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14533                                       ERROR_MSG)
14534                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14535                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14536                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR(a),
14537                                        L_ERROR_MSG );
14538            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14539 
14540 	 END IF;
14541 
14542          IF(CLE_ID(A) IS NOT NULL) THEN
14543            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
14544            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14545            CLOSE L_LINE_DTLS_CSR;
14546            FND_MESSAGE.CLEAR;
14547            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
14548            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14549            L_ERROR_MSG      := SQLERRM;
14550            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14551                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14552                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14553                                       ERROR_MSG)
14554                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14555                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14556                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR(a),
14557                                        L_ERROR_MSG );
14558            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION6' ||L_ATTRIBUTE_NAME || TOPLVL_OPERAND_VAL_CHR(a) );
14559          END IF;
14560        END;
14561 
14562        --46. Validation for PDL rule .
14563        BEGIN
14564           TOPLVL_QUANTITY(1)      := TOPLVL_QUANTITY_CHR(a);
14565        EXCEPTION
14566        WHEN OTHERS THEN
14567 	 IF(CHR_ID(A) IS NOT NULL) THEN
14568            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
14569            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14570            CLOSE L_HDR_DTLS_CSR;
14571            FND_MESSAGE.CLEAR;
14572            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
14573            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14574            L_ERROR_MSG      := SQLERRM;
14575            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14576                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14577                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14578                                       ERROR_MSG)
14579                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14580                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14581                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR(a),
14582                                        L_ERROR_MSG );
14583            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14584 
14585 	 END IF;
14586 
14587          IF(CLE_ID(A) IS NOT NULL) THEN
14588            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
14589            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14590            CLOSE L_LINE_DTLS_CSR;
14591            FND_MESSAGE.CLEAR;
14592            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
14593            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14594            L_ERROR_MSG      := SQLERRM;
14595            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14596                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14597                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14598                                       ERROR_MSG)
14599                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14600                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14601                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR(a),
14602                                        L_ERROR_MSG );
14603            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION8' ||L_ATTRIBUTE_NAME || TOPLVL_QUANTITY_CHR(a) );
14604          END IF;
14605        END;
14606 
14607        --47. Validation for PDL rule .
14608        BEGIN
14609           TOPLVL_ADJ_PRICE(1)      := TOPLVL_ADJ_PRICE_CHR(a);
14610        EXCEPTION
14611        WHEN OTHERS THEN
14612 	 IF(CHR_ID(A) IS NOT NULL) THEN
14613            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
14614            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14615            CLOSE L_HDR_DTLS_CSR;
14616            FND_MESSAGE.CLEAR;
14617            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
14618            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14619            L_ERROR_MSG      := SQLERRM;
14620            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14621                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14622                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14623                                       ERROR_MSG)
14624                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14625                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14626                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR(a),
14627                                        L_ERROR_MSG );
14628            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14629 
14630 	 END IF;
14631 
14632          IF(CLE_ID(A) IS NOT NULL) THEN
14633            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
14634            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14635            CLOSE L_LINE_DTLS_CSR;
14636            FND_MESSAGE.CLEAR;
14637            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
14638            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14639            L_ERROR_MSG      := SQLERRM;
14640            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14641                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14642                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14643                                       ERROR_MSG)
14644                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14645                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14646                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR(a),
14647                                        L_ERROR_MSG );
14648            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION10' ||L_ATTRIBUTE_NAME || TOPLVL_ADJ_PRICE_CHR(a) );
14649          END IF;
14650        END;
14651 
14652        --48. Validation for PDL rule .
14653        BEGIN
14654           TOPLVL_PRICE_QTY(1)      := TOPLVL_PRICE_QTY_CHR(a);
14655        EXCEPTION
14656        WHEN OTHERS THEN
14657 	 IF(CHR_ID(A) IS NOT NULL) THEN
14658            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
14659            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14660            CLOSE L_HDR_DTLS_CSR;
14661            FND_MESSAGE.CLEAR;
14662            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
14663            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14664            L_ERROR_MSG      := SQLERRM;
14665            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14666                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14667                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14668                                       ERROR_MSG)
14669                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14670                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14671                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR(a),
14672                                        L_ERROR_MSG );
14673            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14674 
14675 	 END IF;
14676 
14677          IF(CLE_ID(A) IS NOT NULL) THEN
14678            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
14679            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14680            CLOSE L_LINE_DTLS_CSR;
14681            FND_MESSAGE.CLEAR;
14682            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
14683            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14684            L_ERROR_MSG      := SQLERRM;
14685            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14686                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14687                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14688                                       ERROR_MSG)
14689                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14690                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14691                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR(a),
14692                                        L_ERROR_MSG );
14693            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || TOPLVL_PRICE_QTY_CHR(a) );
14694          END IF;
14695        END;
14696 
14697        --49. Validation for QRE rule .
14698        BEGIN
14699           AVERAGING_INTERVAL(1)      := AVERAGING_INTERVAL_CHR(a);
14700        EXCEPTION
14701        WHEN OTHERS THEN
14702 	 IF(CHR_ID(A) IS NOT NULL) THEN
14703            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
14704            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14705            CLOSE L_HDR_DTLS_CSR;
14706            FND_MESSAGE.CLEAR;
14707            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
14708            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14709            L_ERROR_MSG      := SQLERRM;
14710            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14711                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14712                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14713                                       ERROR_MSG)
14714                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14715                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14716                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR(a),
14717                                        L_ERROR_MSG );
14718            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14719 
14720 	 END IF;
14721 
14722          IF(CLE_ID(A) IS NOT NULL) THEN
14723            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
14724            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14725            CLOSE L_LINE_DTLS_CSR;
14726            FND_MESSAGE.CLEAR;
14727            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
14728            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14729            L_ERROR_MSG      := SQLERRM;
14730            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14731                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14732                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14733                                       ERROR_MSG)
14734                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14735                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14736                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR(a),
14737                                        L_ERROR_MSG );
14738            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || AVERAGING_INTERVAL_CHR(a) );
14739          END IF;
14740        END;
14741 
14742        --50. Validation for QRE rule .
14743        BEGIN
14744           MINIMUM_QUANTITY(1)      := MINIMUM_QUANTITY_CHR(a);
14745        EXCEPTION
14746        WHEN OTHERS THEN
14747 	 IF(CHR_ID(A) IS NOT NULL) THEN
14748            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
14749            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14750            CLOSE L_HDR_DTLS_CSR;
14751            FND_MESSAGE.CLEAR;
14752            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
14753            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14754            L_ERROR_MSG      := SQLERRM;
14755            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14756                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14757                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14758                                       ERROR_MSG)
14759                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14760                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14761                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR(a),
14762                                        L_ERROR_MSG );
14763            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14764 
14765 	 END IF;
14766 
14767          IF(CLE_ID(A) IS NOT NULL) THEN
14768            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
14769            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14770            CLOSE L_LINE_DTLS_CSR;
14771            FND_MESSAGE.CLEAR;
14772            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
14773            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14774            L_ERROR_MSG      := SQLERRM;
14775            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14776                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14777                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14778                                       ERROR_MSG)
14779                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14780                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14781                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR(a),
14782                                        L_ERROR_MSG );
14783            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || MINIMUM_QUANTITY_CHR(a) );
14784          END IF;
14785        END;
14786 
14787 
14788        --51. Validation for QRE rule .
14789        BEGIN
14790           DEFAULT_QUANTITY(1)      := DEFAULT_QUANTITY_CHR(a);
14791        EXCEPTION
14792        WHEN OTHERS THEN
14793 	 IF(CHR_ID(A) IS NOT NULL) THEN
14794            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
14795            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14796            CLOSE L_HDR_DTLS_CSR;
14797            FND_MESSAGE.CLEAR;
14798            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
14799            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14800            L_ERROR_MSG      := SQLERRM;
14801            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14802                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14803                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14804                                       ERROR_MSG)
14805                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14806                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14807                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR(a),
14808                                        L_ERROR_MSG );
14809            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14810 
14811 	 END IF;
14812 
14813          IF(CLE_ID(A) IS NOT NULL) THEN
14814            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
14815            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14816            CLOSE L_LINE_DTLS_CSR;
14817            FND_MESSAGE.CLEAR;
14818            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
14819            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14820            L_ERROR_MSG      := SQLERRM;
14821            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14822                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14823                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14824                                       ERROR_MSG)
14825                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14826                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14827                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR(a),
14828                                        L_ERROR_MSG );
14829            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION5' ||L_ATTRIBUTE_NAME || DEFAULT_QUANTITY_CHR(a) );
14830          END IF;
14831        END;
14832 
14833        --52. Validation for QRE rule .
14834        BEGIN
14835           FIXED_QUANTITY(1)      := FIXED_QUANTITY_CHR(a);
14836        EXCEPTION
14837        WHEN OTHERS THEN
14838 	 IF(CHR_ID(A) IS NOT NULL) THEN
14839            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
14840            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14841            CLOSE L_HDR_DTLS_CSR;
14842            FND_MESSAGE.CLEAR;
14843            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
14844            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14845            L_ERROR_MSG      := SQLERRM;
14846            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14847                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14848                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14849                                       ERROR_MSG)
14850                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14851                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14852                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR(a),
14853                                        L_ERROR_MSG );
14854            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14855 
14856 	 END IF;
14857 
14858          IF(CLE_ID(A) IS NOT NULL) THEN
14859            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
14860            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14861            CLOSE L_LINE_DTLS_CSR;
14862            FND_MESSAGE.CLEAR;
14863            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
14864            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14865            L_ERROR_MSG      := SQLERRM;
14866            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14867                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14868                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14869                                       ERROR_MSG)
14870                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14871                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14872                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR(a),
14873                                        L_ERROR_MSG );
14874            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION7' ||L_ATTRIBUTE_NAME || FIXED_QUANTITY_CHR(a) );
14875          END IF;
14876        END;
14877 
14878        --53. Validation for QRE rule .
14879        BEGIN
14880           USAGE_DURATION(1)      := USAGE_DURATION_CHR(a);
14881        EXCEPTION
14882        WHEN OTHERS THEN
14883 	 IF(CHR_ID(A) IS NOT NULL) THEN
14884            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
14885            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14886            CLOSE L_HDR_DTLS_CSR;
14887            FND_MESSAGE.CLEAR;
14888            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
14889            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14890            L_ERROR_MSG      := SQLERRM;
14891            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14892                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14893                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14894                                       ERROR_MSG)
14895                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14896                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14897                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR(a),
14898                                        L_ERROR_MSG );
14899            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14900 
14901 	 END IF;
14902 
14903          IF(CLE_ID(A) IS NOT NULL) THEN
14904            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
14905            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14906            CLOSE L_LINE_DTLS_CSR;
14907            FND_MESSAGE.CLEAR;
14908            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
14909            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14910            L_ERROR_MSG      := SQLERRM;
14911            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14912                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14913                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14914                                       ERROR_MSG)
14915                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14916                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14917                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR(a),
14918                                        L_ERROR_MSG );
14919            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION8' ||L_ATTRIBUTE_NAME || USAGE_DURATION_CHR(a) );
14920          END IF;
14921        END;
14922 
14923        --54. Validation for QRE rule .
14924        BEGIN
14925           BASE_READING(1)      := BASE_READING_CHR(a);
14926        EXCEPTION
14927        WHEN OTHERS THEN
14928 	 IF(CHR_ID(A) IS NOT NULL) THEN
14929            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
14930            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14931            CLOSE L_HDR_DTLS_CSR;
14932            FND_MESSAGE.CLEAR;
14933            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
14934            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14935            L_ERROR_MSG      := SQLERRM;
14936            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14937                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14938                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14939                                       ERROR_MSG)
14940                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14941                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14942                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR(a),
14943                                        L_ERROR_MSG );
14944            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14945 
14946 	 END IF;
14947 
14948          IF(CLE_ID(A) IS NOT NULL) THEN
14949            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
14950            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14951            CLOSE L_LINE_DTLS_CSR;
14952            FND_MESSAGE.CLEAR;
14953            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
14954            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14955            L_ERROR_MSG      := SQLERRM;
14956            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
14957                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
14958                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14959                                       ERROR_MSG)
14960                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
14961                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
14962                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR(a),
14963                                        L_ERROR_MSG );
14964            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || BASE_READING_CHR(a) );
14965          END IF;
14966        END;
14967 
14968       --55
14969        BEGIN
14970           EXCEPTION_COV_ID(1)      := EXCEPTION_COV_ID_chr(a);
14971        EXCEPTION
14972        WHEN OTHERS THEN
14973 	 IF(CHR_ID(A) IS NOT NULL) THEN
14974            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ECE') ;
14975            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
14976            CLOSE L_HDR_DTLS_CSR;
14977            FND_MESSAGE.CLEAR;
14978            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
14979            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
14980            L_ERROR_MSG      := SQLERRM;
14981            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
14982                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
14983                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
14984                                       ERROR_MSG)
14985                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
14986                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
14987                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr(a),
14988                                        L_ERROR_MSG );
14989            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
14990 
14991 	 END IF;
14992 
14993          IF(CLE_ID(A) IS NOT NULL) THEN
14994            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'ECE') ;
14995            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
14996            CLOSE L_LINE_DTLS_CSR;
14997            FND_MESSAGE.CLEAR;
14998            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
14999            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15000            L_ERROR_MSG      := SQLERRM;
15001            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
15002                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
15003                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15004                                       ERROR_MSG)
15005                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
15006                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
15007                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr(a),
15008                                        L_ERROR_MSG );
15009            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EXCEPTION_COV_ID_chr(a));
15010          END IF;
15011        END;
15012 
15013        --56
15014        BEGIN
15015           PM_PROGRAM_ID(1)      := PM_PROGRAM_ID_chr(a);
15016        EXCEPTION
15017        WHEN OTHERS THEN
15018 	 IF(CHR_ID(A) IS NOT NULL) THEN
15019            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PMP') ;
15020            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
15021            CLOSE L_HDR_DTLS_CSR;
15022            FND_MESSAGE.CLEAR;
15023            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
15024            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15025            L_ERROR_MSG      := SQLERRM;
15026            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
15027                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
15028                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15029                                       ERROR_MSG)
15030                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
15031                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
15032                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr(a),
15033                                        L_ERROR_MSG );
15034            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
15035 
15036 	 END IF;
15037 
15038          IF(CLE_ID(A) IS NOT NULL) THEN
15039            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PMP') ;
15040            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
15041            CLOSE L_LINE_DTLS_CSR;
15042            FND_MESSAGE.CLEAR;
15043            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
15044            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15045            L_ERROR_MSG      := SQLERRM;
15046            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
15047                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
15048                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15049                                       ERROR_MSG)
15050                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
15051                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
15052                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr(a),
15053                                        L_ERROR_MSG );
15054            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PM_PROGRAM_ID_chr(a));
15055          END IF;
15056        END;
15057        --57
15058        BEGIN
15059           RCN_INCIDENT_SEVERITY_ID(1)      := RCN_INCIDENT_SEVERITY_ID_chr(a);
15060        EXCEPTION
15061        WHEN OTHERS THEN
15062 	 IF(CHR_ID(A) IS NOT NULL) THEN
15063            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RCN') ;
15064            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
15065            CLOSE L_HDR_DTLS_CSR;
15066            FND_MESSAGE.CLEAR;
15067            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
15068            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15069            L_ERROR_MSG      := SQLERRM;
15070            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
15071                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
15072                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15073                                       ERROR_MSG)
15074                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
15075                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
15076                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr(a),
15077                                        L_ERROR_MSG );
15078            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
15079 
15080 	 END IF;
15081 
15082          IF(CLE_ID(A) IS NOT NULL) THEN
15083            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RCN') ;
15084            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
15085            CLOSE L_LINE_DTLS_CSR;
15086            FND_MESSAGE.CLEAR;
15087            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
15088            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15089            L_ERROR_MSG      := SQLERRM;
15090            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
15091                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
15092                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15093                                       ERROR_MSG)
15094                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
15095                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
15096                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr(a),
15097                                        L_ERROR_MSG );
15098            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RCN_INCIDENT_SEVERITY_ID_chr(a));
15099          END IF;
15100        END;
15101 
15102        --58
15103        BEGIN
15104           RCN_PDF_ID(1)      := RCN_PDF_ID_chr(a);
15105        EXCEPTION
15106        WHEN OTHERS THEN
15107 	 IF(CHR_ID(A) IS NOT NULL) THEN
15108            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RCN') ;
15109            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
15110            CLOSE L_HDR_DTLS_CSR;
15111            FND_MESSAGE.CLEAR;
15112            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
15113            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15114            L_ERROR_MSG      := SQLERRM;
15115            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
15116                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
15117                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15118                                       ERROR_MSG)
15119                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
15120                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
15121                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr(a),
15122                                        L_ERROR_MSG );
15123            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
15124 
15125 	 END IF;
15126 
15127          IF(CLE_ID(A) IS NOT NULL) THEN
15128            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RCN') ;
15129            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
15130            CLOSE L_LINE_DTLS_CSR;
15131            FND_MESSAGE.CLEAR;
15132            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
15133            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15134            L_ERROR_MSG      := SQLERRM;
15135            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
15136                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
15137                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15138                                       ERROR_MSG)
15139                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
15140                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
15141                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr(a),
15142                                        L_ERROR_MSG );
15143           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RCN_PDF_ID_chr(a));
15144          END IF;
15145        END;
15146 
15147        --59
15148 
15149        BEGIN
15150           LIMIT_UOM_QUANTIFIED(1)      := LIMIT_UOM_QUANTIFIED_chr(a);
15151        EXCEPTION
15152        WHEN OTHERS THEN
15153 	 IF(CHR_ID(A) IS NOT NULL) THEN
15154            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'LMT') ;
15155            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
15156            CLOSE L_HDR_DTLS_CSR;
15157            FND_MESSAGE.CLEAR;
15158            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LIMIT_UOM_QUANTIFIED');
15159            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15160            L_ERROR_MSG      := SQLERRM;
15161            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
15162                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
15163                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15164                                       ERROR_MSG)
15165                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
15166                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
15167                                       'LMT'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,LIMIT_UOM_QUANTIFIED_chr(a),
15168                                        L_ERROR_MSG );
15169            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
15170 
15171 	 END IF;
15172 
15173          IF(CLE_ID(A) IS NOT NULL) THEN
15174            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'LMT') ;
15175            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
15176            CLOSE L_LINE_DTLS_CSR;
15177            FND_MESSAGE.CLEAR;
15178            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LIMIT_UOM_QUANTIFIED');
15179            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15180            L_ERROR_MSG      := SQLERRM;
15181            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
15182                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
15183                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15184                                       ERROR_MSG)
15185                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
15186                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
15187                                       'LMT'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,LIMIT_UOM_QUANTIFIED_chr(a),
15188                                        L_ERROR_MSG );
15189            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || LIMIT_UOM_QUANTIFIED_chr(a));
15190          END IF;
15191        END;
15192 
15193      --60
15194        BEGIN
15195           DISCOUNT_AMOUNT(1)      := DISCOUNT_AMOUNT_chr(a);
15196        EXCEPTION
15197        WHEN OTHERS THEN
15198 	 IF(CHR_ID(A) IS NOT NULL) THEN
15199            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'LMT') ;
15200            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
15201            CLOSE L_HDR_DTLS_CSR;
15202            FND_MESSAGE.CLEAR;
15203            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
15204            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15205            L_ERROR_MSG      := SQLERRM;
15206            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
15207                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
15208                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15209                                       ERROR_MSG)
15210                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
15211                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
15212                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr(a),
15213                                        L_ERROR_MSG );
15214            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
15215 
15216 	 END IF;
15217 
15218          IF(CLE_ID(A) IS NOT NULL) THEN
15219            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'LMT') ;
15220            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
15221            CLOSE L_LINE_DTLS_CSR;
15222            FND_MESSAGE.CLEAR;
15223            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
15224            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15225            L_ERROR_MSG      := SQLERRM;
15226            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
15227                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
15228                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15229                                       ERROR_MSG)
15230                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
15231                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
15232                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr(a),
15233                                        L_ERROR_MSG );
15234           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || DISCOUNT_AMOUNT_chr(a));
15235          END IF;
15236        END;
15237 
15238       --61
15239        BEGIN
15240           DISCOUNT_PERCENT(1)      := DISCOUNT_PERCENT_chr(a);
15241        EXCEPTION
15242        WHEN OTHERS THEN
15243 	 IF(CHR_ID(A) IS NOT NULL) THEN
15244            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'LMT') ;
15245            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
15246            CLOSE L_HDR_DTLS_CSR;
15247            FND_MESSAGE.CLEAR;
15248            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
15249            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15250            L_ERROR_MSG      := SQLERRM;
15251            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
15252                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
15253                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15254                                       ERROR_MSG)
15255                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
15256                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
15257                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr(a),
15258                                        L_ERROR_MSG );
15259            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
15260 
15261 	 END IF;
15262 
15263          IF(CLE_ID(A) IS NOT NULL) THEN
15264            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'LMT') ;
15265            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
15266            CLOSE L_LINE_DTLS_CSR;
15267            FND_MESSAGE.CLEAR;
15268            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
15269            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15270            L_ERROR_MSG      := SQLERRM;
15271            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
15272                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
15273                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15274                                       ERROR_MSG)
15275                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
15276                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
15277                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr(a),
15278                                        L_ERROR_MSG );
15279           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
15280          END IF;
15281        END;
15282 ----------------------------------------------------------------------------------------------------------------------
15283 
15284        --62
15285        BEGIN
15286           LEVEL_AMOUNT(1)      := LEVEL_AMOUNT_CHR(a);
15287        EXCEPTION
15288        WHEN OTHERS THEN
15289 	 IF(CHR_ID(A) IS NOT NULL) THEN
15290            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'SLL') ;
15291            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
15292            CLOSE L_HDR_DTLS_CSR;
15293            FND_MESSAGE.CLEAR;
15294            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LEVEL_AMOUNT');
15295            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15296            L_ERROR_MSG      := SQLERRM;
15297            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
15298                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
15299                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15300                                       ERROR_MSG)
15301                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
15302                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
15303                                       'SLL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,LEVEL_AMOUNT_CHR(a),
15304                                        L_ERROR_MSG );
15305            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
15306 
15307 	 END IF;
15308 
15309          IF(CLE_ID(A) IS NOT NULL) THEN
15310            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'SLL') ;
15311            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
15312            CLOSE L_LINE_DTLS_CSR;
15313            FND_MESSAGE.CLEAR;
15314            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LEVEL_AMOUNT');
15315            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
15316            L_ERROR_MSG      := SQLERRM;
15317            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
15318                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
15319                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
15320                                       ERROR_MSG)
15321                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
15322                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
15323                                       'SLL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,LEVEL_AMOUNT_CHR(a),
15324                                        L_ERROR_MSG );
15325           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
15326          END IF;
15327 
15328        END;
15329 
15330 
15331     END LOOP;
15332     CHR_ID.DELETE;
15333 
15334     -- End of code to validate data type .
15335     ------------------------------------------------------------------------------------
15336 
15337  End Loop;
15338 
15339 
15340 
15341 
15342   If(l_hdr_rule_csr1%ISOPEN) THEN
15343     Close  l_hdr_rule_csr1;
15344   END IF;
15345   If(l_hdr_rule_csr2%ISOPEN) THEN
15346     Close  l_hdr_rule_csr2;
15347   End if;
15348 
15349   If(l_hdr_rule_csr1_nus%ISOPEN) THEN
15350     Close  l_hdr_rule_csr1_nus;
15351   END IF;
15352   If(l_hdr_rule_csr2_nus%ISOPEN) THEN
15353     Close  l_hdr_rule_csr2_nus;
15354   End if;
15355 
15356 EXCEPTION
15357 WHEN OTHERS THEN
15358   If(l_hdr_rule_csr1%ISOPEN) THEN
15359     Close  l_hdr_rule_csr1;
15360   END IF;
15361   If(l_hdr_rule_csr2%ISOPEN) THEN
15362     Close  l_hdr_rule_csr2;
15363   End if;
15364   If(l_hdr_rule_csr1_nus%ISOPEN) THEN
15365     Close  l_hdr_rule_csr1_nus;
15366   END IF;
15367   If(l_hdr_rule_csr2_nus%ISOPEN) THEN
15368     Close  l_hdr_rule_csr2_nus;
15369   End if;
15370 
15371 
15372 END VALIDATE_ALL_RULE;
15373 
15374 --------------------------------------------------------------------------------------------
15375 --    This is the procedure called from VALIDATE_DATA1 to validate ALL history rule data           --
15376 --------------------------------------------------------------------------------------------
15377 Procedure VALIDATE_ALLH_RULE(
15378                             ERRBUF            OUT NOCOPY VARCHAR2 ,
15379                             RETCODE           OUT NOCOPY NUMBER ,
15380                             p_status          in VARCHAR2,
15381                             p_org_id          in NUMBER ,
15382                             p_batch_size      in NUMBER,
15383 			    p_us_yn           in VARCHAR2,
15384                             p_id_low          in NUMBER,
15385                             p_id_hig          in NUMBER)
15386 IS
15387 
15388 Type l_num_tbl is table of  NUMBER         index  by BINARY_INTEGER ;
15389 Type l_date_tbl is table of DATE           index  by BINARY_INTEGER ;
15390 Type l_chr_tbl is table of  VARCHAR2(2000) index  by BINARY_INTEGER ;
15391 
15392 
15393 ID                        l_num_tbl ;
15394 CHR_ID                    l_num_tbl ;
15395 CLE_ID                    l_num_tbl ;
15396 MAJOR_VERSION             l_num_tbl ;
15397 DNZ_CHR_ID                l_num_tbl ;
15398 ACCT_RULE_ID              l_num_tbl ;
15399 PAYMENT_TYPE              L_CHR_TBL ;
15400 CC_NO                     l_chr_tbl ;
15401 CC_EXPIRY_DATE            l_date_tbl;
15402 CC_BANK_ACCT_ID           l_num_tbl ;
15403 CC_AUTH_CODE              l_chr_tbl ;
15404 GRACE_DURATION            l_num_tbl ;
15405 GRACE_PERIOD              l_chr_tbl ;
15406 EST_REV_PERCENT           l_num_tbl ;
15407 EST_REV_DATE              l_date_tbl;
15408 INVOICE_TEXT              l_chr_tbl ;
15409 INV_PRINT_FLAG            l_chr_tbl ;
15410 PRICE_UOM                 l_chr_tbl ;
15411 TAX_AMOUNT                l_num_tbl ;
15412 TAX_INCLUSIVE_YN          l_chr_tbl ;
15413 TAX_STATUS                l_chr_tbl ;
15414 TAX_CODE                  l_num_tbl ;
15415 TAX_EXEMPTION_ID          l_num_tbl ;
15416 BILLING_SCHEDULE_TYPE     l_chr_tbl ;
15417 CUST_ACCT_ID              l_num_tbl ;
15418 BILL_TO_SITE_USE_ID       l_num_tbl ;
15419 INV_RULE_ID               l_num_tbl ;
15420 RENEWAL_TYPE_CODE         l_chr_tbl ;
15421 RENEWAL_NOTIFY_TO         l_num_tbl ;
15422 RENEWAL_END_DATE          l_date_tbl;
15423 SHIP_TO_SITE_USE_ID       l_num_tbl ;
15424 PAYMENT_TERM_ID           l_num_tbl ;
15425 BILLING_PROFILE_ID        l_num_tbl ;
15426 RENEWAL_STATUS            l_chr_tbl ;
15427 ELECTRONIC_RENEWAL_FLAG   l_chr_tbl ;
15428 QUOTE_TO_CONTACT_ID       l_num_tbl ;
15429 QUOTE_TO_SITE_ID          l_num_tbl ;
15430 QUOTE_TO_EMAIL_ID         l_num_tbl ;
15431 QUOTE_TO_PHONE_ID         l_num_tbl ;
15432 QUOTE_TO_FAX_ID           l_num_tbl ;
15433 RENEWAL_PO_REQUIRED       l_chr_tbl ;
15434 RENEWAL_PRICE_LIST        l_num_tbl ;
15435 RENEWAL_PRICING_TYPE      l_chr_tbl ;
15436 RENEWAL_MARKUP_PERCENT    l_num_tbl ;
15437 RENEWAL_GRACE_DURATION    l_num_tbl ;
15438 RENEWAL_GRACE_PERIOD      l_chr_tbl ;
15439 RENEWAL_EST_REV_PERCENT   l_num_tbl ;
15440 RENEWAL_EST_REV_DURATION  l_num_tbl ;
15441 RENEWAL_EST_REV_PERIOD    l_chr_tbl ;
15442 RENEWAL_PRICE_LIST_USED   l_num_tbl ;
15443 RENEWAL_TYPE_USED         l_chr_tbl ;
15444 RENEWAL_NOTIFICATION_TO   l_num_tbl ;
15445 RENEWAL_PO_USED           l_chr_tbl ;
15446 RENEWAL_PRICING_TYPE_USED l_chr_tbl ;
15447 RENEWAL_MARKUP_PERCENT_USED   l_num_tbl ;
15448 REV_EST_PERCENT_USED      l_num_tbl ;
15449 REV_EST_DURATION_USED     l_num_tbl ;
15450 BILLING_PROFILE_USED      l_num_tbl ;
15451 REV_EST_PERIOD_USED       l_chr_tbl ;
15452 ERN_FLAG_USED_YN          l_chr_tbl ;
15453 EVN_THRESHOLD_AMT         l_num_tbl ;
15454 EVN_THRESHOLD_CUR         l_chr_tbl ;
15455 ERN_THRESHOLD_AMT         l_num_tbl ;
15456 ERN_THRESHOLD_CUR         l_chr_tbl ;
15457 RENEWAL_GRACE_DURATION_USED   l_num_tbl ;
15458 RENEWAL_GRACE_PERIOD_USED l_chr_tbl ;
15459 INV_TRX_TYPE              l_chr_tbl ;
15460 INV_PRINT_PROFILE         l_chr_tbl ;
15461 RENEWAL_PO_NUMBER         l_chr_tbl ;
15462 AR_INTERFACE_YN           l_chr_tbl ;
15463 HOLD_BILLING              l_chr_tbl ;
15464 SUMMARY_TRX_YN            l_chr_tbl ;
15465 SERVICE_PO_NUMBER         l_chr_tbl ;
15466 SERVICE_PO_REQUIRED       l_chr_tbl ;
15467 PRICE_LIST_ID             l_num_tbl ;
15468 CONVERSION_TYPE           l_chr_tbl ;
15469 CONVERSION_RATE           l_num_tbl ;
15470 CONVERSION_RATE_DATE      l_date_tbl;
15471 CONVERSION_EURO_RATE      l_num_tbl ;
15472 ----extra rules from line------------------
15473 DISCOUNT_LIST		  l_num_tbl ;
15474 CLVL_LIST_PRICE		  l_num_tbl ;
15475 CLVL_QUANTITY		  l_num_tbl ;
15476 CLVL_EXTENDED_AMT	  l_num_tbl ;
15477 TOPLVL_OPERAND_VAL	  l_num_tbl ;
15478 TOPLVL_QUANTITY		  l_num_tbl ;
15479 TOPLVL_ADJ_PRICE	  l_num_tbl ;
15480 TOPLVL_PRICE_QTY	  l_num_tbl ;
15481 AVERAGING_INTERVAL	  l_num_tbl ;
15482 MINIMUM_QUANTITY	  l_num_tbl ;
15483 DEFAULT_QUANTITY	  l_num_tbl ;
15484 FIXED_QUANTITY		  l_num_tbl ;
15485 USAGE_DURATION		  l_num_tbl ;
15486 BASE_READING		  l_num_tbl ;
15487 EXCEPTION_COV_ID	  l_num_tbl ;
15488 PM_PROGRAM_ID		  l_num_tbl ;
15489 RCN_INCIDENT_SEVERITY_ID  l_num_tbl ;
15490 RCN_PDF_ID		  l_num_tbl ;
15491 LIMIT_UOM_QUANTIFIED	  l_num_tbl ;
15492 DISCOUNT_AMOUNT		  l_num_tbl ;
15493 DISCOUNT_PERCENT	  l_num_tbl ;
15494 LEVEL_AMOUNT		  l_num_tbl ;
15495 
15496 
15497 
15498 -- FOLLOWING ARE NUMBER FIELDS --
15499 ACCT_RULE_ID_CHR              l_chr_tbl ;
15500 CC_BANK_ACCT_ID_CHR           l_chr_tbl ;
15501 GRACE_DURATION_CHR            l_chr_tbl ;
15502 EST_REV_PERCENT_CHR           l_chr_tbl ;
15503 TAX_AMOUNT_CHR                l_chr_tbl ;
15504 TAX_CODE_CHR                  l_chr_tbl ;
15505 TAX_EXEMPTION_ID_CHR          l_chr_tbl ;
15506 CUST_ACCT_ID_CHR              l_chr_tbl ;
15507 BILL_TO_SITE_USE_ID_CHR       l_chr_tbl ;
15508 INV_RULE_ID_CHR               l_chr_tbl ;
15509 RENEWAL_NOTIFY_TO_CHR         l_chr_tbl ;
15510 SHIP_TO_SITE_USE_ID_CHR       l_chr_tbl ;
15511 PAYMENT_TERM_ID_CHR           l_chr_tbl ;
15512 BILLING_PROFILE_ID_CHR        l_chr_tbl ;
15513 QUOTE_TO_CONTACT_ID_CHR       l_chr_tbl ;
15514 QUOTE_TO_SITE_ID_CHR          l_chr_tbl ;
15515 QUOTE_TO_EMAIL_ID_CHR         l_chr_tbl ;
15516 QUOTE_TO_PHONE_ID_CHR         l_chr_tbl ;
15517 QUOTE_TO_FAX_ID_CHR           l_chr_tbl ;
15518 RENEWAL_PRICE_LIST_CHR        l_chr_tbl ;
15519 RENEWAL_MARKUP_PERCENT_CHR    l_chr_tbl ;
15520 RENEWAL_GRACE_DURATION_CHR    l_chr_tbl ;
15521 RENEWAL_EST_REV_PERCENT_CHR   l_chr_tbl ;
15522 RENEWAL_EST_REV_DURATION_CHR  l_chr_tbl ;
15523 RENEWAL_PRICE_LIST_USED_CHR   l_chr_tbl ;
15524 RENEWAL_NOTIFICATION_TO_CHR   l_chr_tbl ;
15525 RENEWAL_MARKUP_PERCENT_USED_CH l_chr_tbl ;
15526 REV_EST_PERCENT_USED_CHR      l_chr_tbl ;
15527 REV_EST_DURATION_USED_CHR     l_chr_tbl ;
15528 BILLING_PROFILE_USED_CHR      l_chr_tbl ;
15529 EVN_THRESHOLD_AMT_CHR         l_chr_tbl ;
15530 ERN_THRESHOLD_AMT_CHR         l_chr_tbl ;
15531 RENEWAL_GRACE_DURATION_USED_CH l_chr_tbl ;
15532 PRICE_LIST_ID_CHR             l_chr_tbl ;
15533 CONVERSION_RATE_CHR           l_chr_tbl ;
15534 CONVERSION_EURO_RATE_CHR      l_chr_tbl ;
15535 ----extra rules from line------------------
15536 DISCOUNT_LIST_CHR       	l_chr_tbl ;
15537 CLVL_LIST_PRICE_CHR		l_chr_tbl ;
15538 CLVL_QUANTITY_CHR		l_chr_tbl ;
15539 CLVL_EXTENDED_AMT_CHR		l_chr_tbl ;
15540 TOPLVL_OPERAND_VAL_CHR		l_chr_tbl ;
15541 TOPLVL_QUANTITY_CHR		l_chr_tbl ;
15542 TOPLVL_ADJ_PRICE_CHR		l_chr_tbl ;
15543 TOPLVL_PRICE_QTY_CHR		l_chr_tbl ;
15544 AVERAGING_INTERVAL_CHR		l_chr_tbl ;
15545 MINIMUM_QUANTITY_CHR		l_chr_tbl ;
15546 DEFAULT_QUANTITY_CHR		l_chr_tbl ;
15547 FIXED_QUANTITY_CHR		l_chr_tbl ;
15548 USAGE_DURATION_CHR		l_chr_tbl ;
15549 BASE_READING_CHR		l_chr_tbl ;
15550 EXCEPTION_COV_ID_CHR		l_chr_tbl ;
15551 PM_PROGRAM_ID_CHR		l_chr_tbl ;
15552 RCN_INCIDENT_SEVERITY_ID_CHR	l_chr_tbl ;
15553 RCN_PDF_ID_CHR			l_chr_tbl ;
15554 LIMIT_UOM_QUANTIFIED_CHR	l_chr_tbl ;
15555 DISCOUNT_AMOUNT_CHR		l_chr_tbl ;
15556 DISCOUNT_PERCENT_CHR		l_chr_tbl ;
15557 LEVEL_AMOUNT_CHR		l_chr_tbl ;
15558 
15559 -- FOLLOWING ARE DATE FIELDS --
15560 CC_EXPIRY_DATE_CHR            l_chr_tbl ;
15561 EST_REV_DATE_CHR              l_chr_tbl ;
15562 RENEWAL_END_DATE_CHR          l_chr_tbl ;
15563 CONVERSION_RATE_DATE_CHR      l_chr_tbl ;
15564 
15565 --Misc Variables --
15566 L_ATTRIBUTE_NAME              VARCHAR2(2000);
15567 L_ERROR_MSG                   VARCHAR2(2000);
15568 
15569 l_us_yn                       BOOLEAN;
15570 -------------------------------------------------------------------------------
15571 -- The following is the cursor opened if all the parameters passed are null  --
15572 -------------------------------------------------------------------------------
15573 CURSOR l_hdr_rule_csr1 (p_id_low in NUMBER , p_id_hig in NUMBER )is
15574 SELECT * FROM (
15575 SELECT  RGP.CHR_ID CHR_ID
15576        ,RUL.MAJOR_VERSION MAJOR_VERSION
15577        ,RGP.CLE_ID CLE_ID
15578        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
15579        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
15580             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15581             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
15582             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
15583             ACCT_RULE_ID
15584        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
15585             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
15586             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
15587             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
15588             CC_BANK_ACCT_ID
15589        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
15590             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15591             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
15592             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
15593             GRACE_DURATION
15594        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
15595             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15596             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
15597             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
15598             EST_REV_PERCENT
15599        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
15600             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!' ),
15601             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
15602             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
15603             TAX_AMOUNT
15604        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
15605             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
15606             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
15607             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
15608             TAX_CODE
15609        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
15610             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15611             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
15612             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
15613             TAX_EXEMPTION_ID
15614        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
15615             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15616             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
15617             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
15618             BILLING_PROFILE_ID
15619        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
15620             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
15621             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
15622             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
15623             QUOTE_TO_CONTACT_ID
15624        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
15625             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15626             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
15627             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
15628             QUOTE_TO_SITE_ID
15629        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
15630             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15631             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
15632             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
15633             QUOTE_TO_EMAIL_ID
15634        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
15635             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15636             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
15637             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
15638             QUOTE_TO_PHONE_ID
15639        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
15640             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15641             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
15642             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
15643             QUOTE_TO_FAX_ID
15644        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
15645             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15646             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
15647             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
15648             RENEWAL_PRICE_LIST
15649        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
15650             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
15651             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
15652             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
15653             RENEWAL_MARKUP_PERCENT
15654        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
15655             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15656             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
15657             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
15658             RENEWAL_GRACE_DURATION
15659        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
15660             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
15661             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
15662             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
15663             RENEWAL_EST_REV_PERCENT
15664        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
15665             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15666             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
15667             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
15668             RENEWAL_EST_REV_DURATION
15669        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
15670             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15671             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
15672             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
15673             RENEWAL_PRICE_LIST_USED
15674        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
15675             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15676             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
15677             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
15678             RENEWAL_NOTIFICATION_TO
15679        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
15680             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
15681             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
15682             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
15683             RENEWAL_MARKUP_PERCENT_USED
15684        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
15685             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
15686             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
15687             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
15688             REV_EST_PERCENT_USED
15689        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
15690             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15691             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
15692             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
15693             REV_EST_DURATION_USED
15694        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
15695             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15696             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
15697             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
15698             BILLING_PROFILE_USED
15699        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
15700             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
15701             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
15702             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
15703             EVN_THRESHOLD_AMT
15704         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
15705 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
15706             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
15707             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
15708             ERN_THRESHOLD_AMT
15709        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
15710             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15711             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
15712             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
15713             RENEWAL_GRACE_DURATION_USED
15714        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
15715             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15716             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
15717             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
15718             CONVERSION_RATE --OKC
15719        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
15720             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15721             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
15722             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
15723             CONVERSION_EURO_RATE --OKC
15724        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
15725             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15726             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
15727             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
15728             CUST_ACCT_ID --OKC
15729        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
15730             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15731             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
15732             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
15733             BILL_TO_SITE_USE_ID --OKC
15734        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
15735             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15736             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
15737             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
15738             INV_RULE_ID --OKC
15739        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
15740             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15741             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
15742             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
15743             RENEWAL_NOTIFY_TO --OKC
15744        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
15745             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15746             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
15747             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
15748             SHIP_TO_SITE_USE_ID --OKC
15749        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
15750             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15751             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
15752             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
15753             PAYMENT_TERM_ID --OKC
15754        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
15755             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15756             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
15757             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
15758             PRICE_LIST_ID --OKC
15759        ----------------------Extra Rules for lines added------------------------------------------
15760        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
15761                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15762                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
15763                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
15764                DISCOUNT_LIST
15765        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
15766                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15767                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
15768                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
15769                CLVL_LIST_PRICE
15770        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
15771                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15772                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
15773                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
15774                CLVL_QUANTITY
15775        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
15776                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15777                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
15778                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
15779                CLVL_EXTENDED_AMT
15780        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
15781                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15782                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
15783                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
15784                TOPLVL_OPERAND_VAL
15785        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
15786                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15787                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
15788                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
15789                TOPLVL_QUANTITY
15790        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
15791                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15792                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
15793                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
15794                TOPLVL_ADJ_PRICE
15795        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
15796                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15797                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
15798                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
15799                TOPLVL_PRICE_QTY
15800        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
15801                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15802                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
15803                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
15804                AVERAGING_INTERVAL
15805        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
15806                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15807                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
15808                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
15809                MINIMUM_QUANTITY
15810        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
15811                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15812                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
15813                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
15814                DEFAULT_QUANTITY
15815        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
15816                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15817                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
15818                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
15819                FIXED_QUANTITY
15820        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
15821                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15822                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
15823                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
15824                USAGE_DURATION
15825        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
15826                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15827                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
15828                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
15829                BASE_READING
15830         ----------------------------- COVERAGE CODE START -------------------------------------------------
15831        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
15832                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15833                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
15834                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
15835                EXCEPTION_COV_ID
15836        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
15837                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15838                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
15839                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
15840                PM_PROGRAM_ID
15841        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
15842                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15843                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
15844                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
15845                RCN_INCIDENT_SEVERITY_ID
15846        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
15847                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15848                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
15849                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
15850                RCN_PDF_ID
15851        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
15852                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15853                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
15854                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
15855                LIMIT_UOM_QUANTIFIED
15856        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
15857                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15858                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
15859                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
15860                DISCOUNT_AMOUNT
15861        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
15862                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15863                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
15864                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
15865                DISCOUNT_PERCENT
15866         ----------------------------- COVERAGE CODE END ----------------------------------------------------
15867        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
15868                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15869                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
15870                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
15871                LEVEL_AMOUNT
15872 
15873 FROM OKC_RULE_GROUPS_BH RGP
15874    , OKC_RULES_BH RUL
15875 WHERE rgp.id = rul.rgp_id
15876   AND rgp.rgd_code = 'SVC_K'
15877   AND   RUL.RULE_INFORMATION_CATEGORY IN
15878        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
15879         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR',
15880 	'DST','PDL','QRE','ECE','PMP','RCN','LMT','SLL')
15881   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
15882   AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
15883   GROUP BY RGP.CHR_ID,RUL.MAJOR_VERSION,RGP.CLE_ID,RGP.DNZ_CHR_ID)
15884 WHERE
15885   ACCT_RULE_ID    IS NOT NULL OR
15886   CC_BANK_ACCT_ID IS NOT NULL OR
15887   GRACE_DURATION  IS NOT NULL OR
15888   EST_REV_PERCENT IS NOT NULL OR
15889   TAX_AMOUNT      IS NOT NULL OR
15890   TAX_CODE        IS NOT NULL OR
15891   TAX_EXEMPTION_ID    IS NOT NULL OR
15892   BILLING_PROFILE_ID  IS NOT NULL OR
15893   QUOTE_TO_CONTACT_ID IS NOT NULL OR
15894   QUOTE_TO_SITE_ID    IS NOT NULL OR
15895   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
15896   QUOTE_TO_PHONE_ID   IS NOT NULL OR
15897   QUOTE_TO_FAX_ID     IS NOT NULL OR
15898   RENEWAL_PRICE_LIST  IS NOT NULL OR
15899   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
15900   RENEWAL_GRACE_DURATION   IS NOT NULL OR
15901   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
15902   RENEWAL_EST_REV_DURATION IS NOT NULL OR
15903   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
15904   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
15905   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
15906   REV_EST_PERCENT_USED  IS NOT NULL OR
15907   REV_EST_DURATION_USED IS NOT NULL OR
15908   BILLING_PROFILE_USED  IS NOT NULL OR
15909   EVN_THRESHOLD_AMT  IS NOT NULL OR
15910   ERN_THRESHOLD_AMT  IS NOT NULL OR
15911   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
15912   CONVERSION_RATE     IS NOT NULL OR
15913   CONVERSION_EURO_RATE IS NOT NULL OR
15914   CUST_ACCT_ID        IS NOT NULL OR
15915   BILL_TO_SITE_USE_ID IS NOT NULL OR
15916   INV_RULE_ID         IS NOT NULL OR
15917   RENEWAL_NOTIFY_TO   IS NOT NULL OR
15918   SHIP_TO_SITE_USE_ID IS NOT NULL OR
15919   PAYMENT_TERM_ID     IS NOT NULL OR
15920  PRICE_LIST_ID       IS NOT NULL OR
15921    -----extra line rules added---------------------
15922   DISCOUNT_LIST	      IS NOT NULL OR
15923   CLVL_LIST_PRICE     IS NOT NULL OR
15924   CLVL_QUANTITY       IS NOT NULL OR
15925   CLVL_EXTENDED_AMT   IS NOT NULL OR
15926   TOPLVL_OPERAND_VAL  IS NOT NULL OR
15927   TOPLVL_QUANTITY     IS NOT NULL OR
15928   TOPLVL_ADJ_PRICE    IS NOT NULL OR
15929   TOPLVL_PRICE_QTY    IS NOT NULL OR
15930   AVERAGING_INTERVAL  IS NOT NULL OR
15931   MINIMUM_QUANTITY    IS NOT NULL OR
15932   DEFAULT_QUANTITY    IS NOT NULL OR
15933   FIXED_QUANTITY      IS NOT NULL OR
15934   USAGE_DURATION      IS NOT NULL OR
15935   BASE_READING        IS NOT NULL OR
15936   EXCEPTION_COV_ID    IS NOT NULL OR
15937   PM_PROGRAM_ID       IS NOT NULL OR
15938   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
15939   RCN_PDF_ID           IS NOT NULL OR
15940   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
15941   DISCOUNT_AMOUNT      IS NOT NULL OR
15942   DISCOUNT_PERCENT     IS NOT NULL OR
15943   LEVEL_AMOUNT         IS NOT NULL;
15944 
15945 
15946 
15947 
15948 -------------------------------------------------------------------------------
15949 -- The following is the cursor opened if any of the following parameters are --
15950 -- passed to the concurrent request                                          --
15951 -- 1. p_status
15952 -- 2. p_org_id
15953 -------------------------------------------------------------------------------
15954 CURSOR l_hdr_rule_csr2 (p_id_low in NUMBER , p_id_hig in NUMBER , p_status in VARCHAR2 , p_org_id in NUMBER )is
15955 SELECT * FROM (
15956 SELECT  RGP.CHR_ID CHR_ID
15957        ,RUL.MAJOR_VERSION MAJOR_VERSION
15958        ,RGP.CLE_ID CLE_ID
15959        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
15960        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
15961             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15962             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
15963             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
15964             ACCT_RULE_ID
15965        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
15966             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
15967             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
15968             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
15969             CC_BANK_ACCT_ID
15970        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
15971             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15972             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
15973             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
15974             GRACE_DURATION
15975        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
15976             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
15977             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
15978             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
15979             EST_REV_PERCENT
15980        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
15981             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!' ),
15982             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
15983             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
15984             TAX_AMOUNT
15985        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
15986             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
15987             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
15988             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
15989             TAX_CODE
15990        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
15991             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15992             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
15993             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
15994             TAX_EXEMPTION_ID
15995        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
15996             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
15997             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
15998             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
15999             BILLING_PROFILE_ID
16000        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
16001             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
16002             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
16003             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
16004             QUOTE_TO_CONTACT_ID
16005        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
16006             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16007             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
16008             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
16009             QUOTE_TO_SITE_ID
16010        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
16011             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16012             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
16013             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
16014             QUOTE_TO_EMAIL_ID
16015        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
16016             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16017             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
16018             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
16019             QUOTE_TO_PHONE_ID
16020        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
16021             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16022             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
16023             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
16024             QUOTE_TO_FAX_ID
16025        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
16026             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16027             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
16028             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
16029             RENEWAL_PRICE_LIST
16030        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
16031             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
16032             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
16033             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
16034             RENEWAL_MARKUP_PERCENT
16035        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
16036             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16037             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
16038             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
16039             RENEWAL_GRACE_DURATION
16040        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
16041             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
16042             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
16043             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
16044             RENEWAL_EST_REV_PERCENT
16045        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
16046             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16047             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
16048             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
16049             RENEWAL_EST_REV_DURATION
16050        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
16051             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16052             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
16053             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
16054             RENEWAL_PRICE_LIST_USED
16055        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
16056             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16057             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
16058             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
16059             RENEWAL_NOTIFICATION_TO
16060        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
16061             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
16062             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
16063             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
16064             RENEWAL_MARKUP_PERCENT_USED
16065        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
16066             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
16067             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
16068             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
16069             REV_EST_PERCENT_USED
16070        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
16071             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16072             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
16073             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
16074             REV_EST_DURATION_USED
16075        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
16076             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16077             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
16078             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
16079             BILLING_PROFILE_USED
16080        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
16081             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
16082             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
16083             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
16084             EVN_THRESHOLD_AMT
16085         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
16086 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,' ,'!'),
16087             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
16088             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
16089             ERN_THRESHOLD_AMT
16090        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
16091             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16092             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
16093             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
16094             RENEWAL_GRACE_DURATION_USED
16095        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
16096             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16097             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
16098             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
16099             CONVERSION_RATE --OKC
16100        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
16101             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16102             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
16103             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
16104             CONVERSION_EURO_RATE --OKC
16105        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
16106             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16107             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
16108             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
16109             CUST_ACCT_ID --OKC
16110        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
16111             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16112             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
16113             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
16114             BILL_TO_SITE_USE_ID --OKC
16115        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
16116             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16117             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
16118             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
16119             INV_RULE_ID --OKC
16120        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
16121             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16122             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
16123             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
16124             RENEWAL_NOTIFY_TO --OKC
16125        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
16126             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16127             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
16128             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
16129             SHIP_TO_SITE_USE_ID --OKC
16130        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
16131             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16132             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
16133             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
16134             PAYMENT_TERM_ID --OKC
16135        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
16136             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16137             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
16138             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
16139             PRICE_LIST_ID --OKC
16140        ----------------------Extra Rules for lines added------------------------------------------
16141        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
16142                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16143                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
16144                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
16145                DISCOUNT_LIST
16146        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
16147                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16148                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
16149                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
16150                CLVL_LIST_PRICE
16151        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
16152                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16153                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
16154                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
16155                CLVL_QUANTITY
16156        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
16157                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16158                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
16159                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
16160                CLVL_EXTENDED_AMT
16161        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
16162                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16163                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
16164                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
16165                TOPLVL_OPERAND_VAL
16166        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
16167                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16168                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
16169                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
16170                TOPLVL_QUANTITY
16171        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
16172                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16173                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
16174                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
16175                TOPLVL_ADJ_PRICE
16176        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
16177                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16178                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
16179                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
16180                TOPLVL_PRICE_QTY
16181        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
16182                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16183                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
16184                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
16185                AVERAGING_INTERVAL
16186        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
16187                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16188                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
16189                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
16190                MINIMUM_QUANTITY
16191        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
16192                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16193                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
16194                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
16195                DEFAULT_QUANTITY
16196        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
16197                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16198                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
16199                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
16200                FIXED_QUANTITY
16201        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
16202                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16203                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
16204                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
16205                USAGE_DURATION
16206        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
16207                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16208                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
16209                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
16210                BASE_READING
16211         ----------------------------- COVERAGE CODE START -------------------------------------------------
16212        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
16213                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16214                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
16215                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
16216                EXCEPTION_COV_ID
16217        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
16218                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16219                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
16220                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
16221                PM_PROGRAM_ID
16222        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
16223                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16224                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
16225                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
16226                RCN_INCIDENT_SEVERITY_ID
16227        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
16228                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16229                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
16230                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
16231                RCN_PDF_ID
16232        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
16233                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16234                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
16235                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
16236                LIMIT_UOM_QUANTIFIED
16237        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
16238                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16239                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
16240                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
16241                DISCOUNT_AMOUNT
16242        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
16243                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16244                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
16245                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
16246                DISCOUNT_PERCENT
16247         ----------------------------- COVERAGE CODE END ----------------------------------------------------
16248        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
16249                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,','!'),
16250                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
16251                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
16252                LEVEL_AMOUNT
16253 
16254 FROM OKC_RULE_GROUPS_BH RGP
16255    , OKC_RULES_BH RUL
16256    , OKC_K_HEADERS_BH HDR
16257 WHERE rgp.id = rul.rgp_id
16258   and rgp.rgd_code = 'SVC_K'
16259   AND   RUL.RULE_INFORMATION_CATEGORY IN
16260        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
16261         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR',
16262 	'DST','PDL','QRE','ECE','PMP','RCN','LMT','SLL')
16263   AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
16264   AND HDR.ID = RGP.DNZ_CHR_ID
16265   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
16266   AND HDR.ID = RUL.DNZ_CHR_ID
16267   AND HDR.STS_CODE = nvl(p_status,HDR.STS_CODE)
16268   AND HDR.AUTHORING_ORG_ID = nvl(P_ORG_ID, HDR.AUTHORING_ORG_ID)
16269   GROUP BY RGP.CHR_ID,RUL.MAJOR_VERSION,RGP.CLE_ID,RGP.DNZ_CHR_ID)
16270 WHERE
16271   ACCT_RULE_ID    IS NOT NULL OR
16272   CC_BANK_ACCT_ID IS NOT NULL OR
16273   GRACE_DURATION  IS NOT NULL OR
16274   EST_REV_PERCENT IS NOT NULL OR
16275   TAX_AMOUNT      IS NOT NULL OR
16276   TAX_CODE        IS NOT NULL OR
16277   TAX_EXEMPTION_ID    IS NOT NULL OR
16278   BILLING_PROFILE_ID  IS NOT NULL OR
16279   QUOTE_TO_CONTACT_ID IS NOT NULL OR
16280   QUOTE_TO_SITE_ID    IS NOT NULL OR
16281   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
16282   QUOTE_TO_PHONE_ID   IS NOT NULL OR
16283   QUOTE_TO_FAX_ID     IS NOT NULL OR
16284   RENEWAL_PRICE_LIST  IS NOT NULL OR
16285   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
16286   RENEWAL_GRACE_DURATION   IS NOT NULL OR
16287   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
16288   RENEWAL_EST_REV_DURATION IS NOT NULL OR
16289   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
16290   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
16291   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
16292   REV_EST_PERCENT_USED  IS NOT NULL OR
16293   REV_EST_DURATION_USED IS NOT NULL OR
16294   BILLING_PROFILE_USED  IS NOT NULL OR
16295   EVN_THRESHOLD_AMT  IS NOT NULL OR
16296   ERN_THRESHOLD_AMT  IS NOT NULL OR
16297   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
16298   CONVERSION_RATE     IS NOT NULL OR
16299   CONVERSION_EURO_RATE IS NOT NULL OR
16300   CUST_ACCT_ID        IS NOT NULL OR
16301   BILL_TO_SITE_USE_ID IS NOT NULL OR
16302   INV_RULE_ID         IS NOT NULL OR
16303   RENEWAL_NOTIFY_TO   IS NOT NULL OR
16304   SHIP_TO_SITE_USE_ID IS NOT NULL OR
16305   PAYMENT_TERM_ID     IS NOT NULL OR
16306   PRICE_LIST_ID       IS NOT NULL OR
16307   -----extra line rules added---------------------
16308   DISCOUNT_LIST	      IS NOT NULL OR
16309   CLVL_LIST_PRICE     IS NOT NULL OR
16310   CLVL_QUANTITY       IS NOT NULL OR
16311   CLVL_EXTENDED_AMT   IS NOT NULL OR
16312   TOPLVL_OPERAND_VAL  IS NOT NULL OR
16313   TOPLVL_QUANTITY     IS NOT NULL OR
16314   TOPLVL_ADJ_PRICE    IS NOT NULL OR
16315   TOPLVL_PRICE_QTY    IS NOT NULL OR
16316   AVERAGING_INTERVAL  IS NOT NULL OR
16317   MINIMUM_QUANTITY    IS NOT NULL OR
16318   DEFAULT_QUANTITY    IS NOT NULL OR
16319   FIXED_QUANTITY      IS NOT NULL OR
16320   USAGE_DURATION      IS NOT NULL OR
16321   BASE_READING        IS NOT NULL OR
16322   EXCEPTION_COV_ID    IS NOT NULL OR
16323   PM_PROGRAM_ID       IS NOT NULL OR
16324   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
16325   RCN_PDF_ID           IS NOT NULL OR
16326   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
16327   DISCOUNT_AMOUNT      IS NOT NULL OR
16328   DISCOUNT_PERCENT     IS NOT NULL OR
16329   LEVEL_AMOUNT         IS NOT NULL;
16330 
16331 
16332 -------------------------------------------------------------------------------
16333 -- The following is the cursor opened if all the parameters passed are null  --
16334 -------------------------------------------------------------------------------
16335 CURSOR l_hdr_rule_csr1_nus (p_id_low in NUMBER , p_id_hig in NUMBER )is
16336 SELECT * FROM (
16337 SELECT  RGP.CHR_ID CHR_ID
16338        ,RUL.MAJOR_VERSION MAJOR_VERSION
16339        ,RGP.CLE_ID CLE_ID
16340        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
16341        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
16342             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16343             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
16344             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
16345             ACCT_RULE_ID
16346        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
16347             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
16348             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
16349             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
16350             CC_BANK_ACCT_ID
16351        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
16352             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16353             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
16354             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
16355             GRACE_DURATION
16356        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
16357             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16358             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
16359             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
16360             EST_REV_PERCENT
16361        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
16362             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!' ),
16363             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
16364             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
16365             TAX_AMOUNT
16366        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
16367             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
16368             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
16369             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
16370             TAX_CODE
16371        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
16372             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16373             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
16374             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
16375             TAX_EXEMPTION_ID
16376        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
16377             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16378             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
16379             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
16380             BILLING_PROFILE_ID
16381        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
16382             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
16383             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
16384             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
16385             QUOTE_TO_CONTACT_ID
16386        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
16387             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16388             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
16389             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
16390             QUOTE_TO_SITE_ID
16391        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
16392             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16393             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
16394             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
16395             QUOTE_TO_EMAIL_ID
16396        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
16397             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16398             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
16399             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
16400             QUOTE_TO_PHONE_ID
16401        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
16402             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16403             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
16404             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
16405             QUOTE_TO_FAX_ID
16406        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
16407             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16408             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
16409             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
16410             RENEWAL_PRICE_LIST
16411        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
16412             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16413             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
16414             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
16415             RENEWAL_MARKUP_PERCENT
16416        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
16417             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16418             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
16419             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
16420             RENEWAL_GRACE_DURATION
16421        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
16422             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16423             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
16424             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
16425             RENEWAL_EST_REV_PERCENT
16426        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
16427             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16428             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
16429             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
16430             RENEWAL_EST_REV_DURATION
16431        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
16432             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16433             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
16434             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
16435             RENEWAL_PRICE_LIST_USED
16436        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
16437             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16438             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
16439             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
16440             RENEWAL_NOTIFICATION_TO
16441        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
16442             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16443             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
16444             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
16445             RENEWAL_MARKUP_PERCENT_USED
16446        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
16447             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16448             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
16449             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
16450             REV_EST_PERCENT_USED
16451        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
16452             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16453             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
16454             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
16455             REV_EST_DURATION_USED
16456        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
16457             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16458             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
16459             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
16460             BILLING_PROFILE_USED
16461        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
16462             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16463             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
16464             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
16465             EVN_THRESHOLD_AMT
16466         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
16467 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16468             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
16469             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
16470             ERN_THRESHOLD_AMT
16471        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
16472             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16473             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
16474             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
16475             RENEWAL_GRACE_DURATION_USED
16476        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
16477             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16478             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
16479             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
16480             CONVERSION_RATE --OKC
16481        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
16482             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16483             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
16484             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
16485             CONVERSION_EURO_RATE --OKC
16486        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
16487             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16488             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
16489             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
16490             CUST_ACCT_ID --OKC
16491        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
16492             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16493             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
16494             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
16495             BILL_TO_SITE_USE_ID --OKC
16496        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
16497             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16498             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
16499             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
16500             INV_RULE_ID --OKC
16501        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
16502             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16503             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
16504             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
16505             RENEWAL_NOTIFY_TO --OKC
16506        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
16507             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16508             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
16509             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
16510             SHIP_TO_SITE_USE_ID --OKC
16511        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
16512             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16513             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
16514             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
16515             PAYMENT_TERM_ID --OKC
16516        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
16517             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16518             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
16519             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
16520             PRICE_LIST_ID --OKC
16521        ----------------------Extra Rules for lines added------------------------------------------
16522        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
16523                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16524                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
16525                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
16526                DISCOUNT_LIST
16527        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
16528                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16529                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
16530                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
16531                CLVL_LIST_PRICE
16532        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
16533                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16534                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
16535                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
16536                CLVL_QUANTITY
16537        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
16538                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16539                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
16540                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
16541                CLVL_EXTENDED_AMT
16542        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
16543                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16544                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
16545                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
16546                TOPLVL_OPERAND_VAL
16547        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
16548                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16549                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
16550                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
16551                TOPLVL_QUANTITY
16552        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
16553                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16554                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
16555                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
16556                TOPLVL_ADJ_PRICE
16557        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
16558                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16559                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
16560                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
16561                TOPLVL_PRICE_QTY
16562        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
16563                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16564                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
16565                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
16566                AVERAGING_INTERVAL
16567        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
16568                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16569                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
16570                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
16571                MINIMUM_QUANTITY
16572        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
16573                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16574                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
16575                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
16576                DEFAULT_QUANTITY
16577        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
16578                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16579                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
16580                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
16581                FIXED_QUANTITY
16582        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
16583                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16584                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
16585                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
16586                USAGE_DURATION
16587        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
16588                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16589                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
16590                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
16591                BASE_READING
16592         ----------------------------- COVERAGE CODE START -------------------------------------------------
16593        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
16594                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16595                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
16596                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
16597                EXCEPTION_COV_ID
16598        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
16599                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16600                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
16601                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
16602                PM_PROGRAM_ID
16603        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
16604                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16605                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
16606                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
16607                RCN_INCIDENT_SEVERITY_ID
16608        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
16609                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16610                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
16611                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
16612                RCN_PDF_ID
16613        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
16614                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16615                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
16616                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
16617                LIMIT_UOM_QUANTIFIED
16618        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
16619                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16620                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
16621                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
16622                DISCOUNT_AMOUNT
16623        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
16624                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16625                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
16626                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
16627                DISCOUNT_PERCENT
16628         ----------------------------- COVERAGE CODE END ----------------------------------------------------
16629        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
16630                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16631                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
16632                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
16633                LEVEL_AMOUNT
16634 
16635 FROM OKC_RULE_GROUPS_BH RGP
16636    , OKC_RULES_BH RUL
16637 WHERE rgp.id = rul.rgp_id
16638   AND rgp.rgd_code = 'SVC_K'
16639   AND   RUL.RULE_INFORMATION_CATEGORY IN
16640        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
16641         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR',
16642 	'DST','PDL','QRE','ECE','PMP','RCN','LMT','SLL')
16643   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
16644   AND RGP.ID BETWEEN P_ID_LOW  AND P_ID_HIG
16645   GROUP BY RGP.CHR_ID,RUL.MAJOR_VERSION,RGP.CLE_ID,RGP.DNZ_CHR_ID)
16646 WHERE
16647   ACCT_RULE_ID    IS NOT NULL OR
16648   CC_BANK_ACCT_ID IS NOT NULL OR
16649   GRACE_DURATION  IS NOT NULL OR
16650   EST_REV_PERCENT IS NOT NULL OR
16651   TAX_AMOUNT      IS NOT NULL OR
16652   TAX_CODE        IS NOT NULL OR
16653   TAX_EXEMPTION_ID    IS NOT NULL OR
16654   BILLING_PROFILE_ID  IS NOT NULL OR
16655   QUOTE_TO_CONTACT_ID IS NOT NULL OR
16656   QUOTE_TO_SITE_ID    IS NOT NULL OR
16657   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
16658   QUOTE_TO_PHONE_ID   IS NOT NULL OR
16659   QUOTE_TO_FAX_ID     IS NOT NULL OR
16660   RENEWAL_PRICE_LIST  IS NOT NULL OR
16661   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
16662   RENEWAL_GRACE_DURATION   IS NOT NULL OR
16663   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
16664   RENEWAL_EST_REV_DURATION IS NOT NULL OR
16665   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
16666   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
16667   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
16668   REV_EST_PERCENT_USED  IS NOT NULL OR
16669   REV_EST_DURATION_USED IS NOT NULL OR
16670   BILLING_PROFILE_USED  IS NOT NULL OR
16671   EVN_THRESHOLD_AMT  IS NOT NULL OR
16672   ERN_THRESHOLD_AMT  IS NOT NULL OR
16673   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
16674   CONVERSION_RATE     IS NOT NULL OR
16675   CONVERSION_EURO_RATE IS NOT NULL OR
16676   CUST_ACCT_ID        IS NOT NULL OR
16677   BILL_TO_SITE_USE_ID IS NOT NULL OR
16678   INV_RULE_ID         IS NOT NULL OR
16679   RENEWAL_NOTIFY_TO   IS NOT NULL OR
16680   SHIP_TO_SITE_USE_ID IS NOT NULL OR
16681   PAYMENT_TERM_ID     IS NOT NULL OR
16682  PRICE_LIST_ID       IS NOT NULL OR
16683    -----extra line rules added---------------------
16684   DISCOUNT_LIST	      IS NOT NULL OR
16685   CLVL_LIST_PRICE     IS NOT NULL OR
16686   CLVL_QUANTITY       IS NOT NULL OR
16687   CLVL_EXTENDED_AMT   IS NOT NULL OR
16688   TOPLVL_OPERAND_VAL  IS NOT NULL OR
16689   TOPLVL_QUANTITY     IS NOT NULL OR
16690   TOPLVL_ADJ_PRICE    IS NOT NULL OR
16691   TOPLVL_PRICE_QTY    IS NOT NULL OR
16692   AVERAGING_INTERVAL  IS NOT NULL OR
16693   MINIMUM_QUANTITY    IS NOT NULL OR
16694   DEFAULT_QUANTITY    IS NOT NULL OR
16695   FIXED_QUANTITY      IS NOT NULL OR
16696   USAGE_DURATION      IS NOT NULL OR
16697   BASE_READING        IS NOT NULL OR
16698   EXCEPTION_COV_ID    IS NOT NULL OR
16699   PM_PROGRAM_ID       IS NOT NULL OR
16700   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
16701   RCN_PDF_ID           IS NOT NULL OR
16702   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
16703   DISCOUNT_AMOUNT      IS NOT NULL OR
16704   DISCOUNT_PERCENT     IS NOT NULL OR
16705   LEVEL_AMOUNT         IS NOT NULL;
16706 
16707 
16708 
16709 
16710 -------------------------------------------------------------------------------
16711 -- The following is the cursor opened if any of the following parameters are --
16712 -- passed to the concurrent request                                          --
16713 -- 1. p_status
16714 -- 2. p_org_id
16715 -------------------------------------------------------------------------------
16716 CURSOR l_hdr_rule_csr2_nus (p_id_low in NUMBER , p_id_hig in NUMBER , p_status in VARCHAR2 , p_org_id in NUMBER )is
16717 SELECT * FROM (
16718 SELECT  RGP.CHR_ID CHR_ID
16719        ,RUL.MAJOR_VERSION MAJOR_VERSION
16720        ,RGP.CLE_ID CLE_ID
16721        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
16722        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
16723             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16724             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),NULL,
16725             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)))
16726             ACCT_RULE_ID
16727        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
16728             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
16729             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),NULL,
16730             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)))
16731             CC_BANK_ACCT_ID
16732        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
16733             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16734             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),NULL,
16735             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)))
16736             GRACE_DURATION
16737        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
16738             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16739             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)), NULL,
16740             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)))
16741             EST_REV_PERCENT
16742        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
16743             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!' ),
16744             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),NULL,
16745             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)))
16746             TAX_AMOUNT
16747        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
16748             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' , '!'),
16749             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),NULL,
16750             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)))
16751             TAX_CODE
16752        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
16753             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16754             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),NULL,
16755             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)))
16756             TAX_EXEMPTION_ID
16757        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
16758             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16759             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),NULL,
16760             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)))
16761             BILLING_PROFILE_ID
16762        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
16763             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.' ,'!'),
16764             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),NULL,
16765             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)))
16766             QUOTE_TO_CONTACT_ID
16767        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
16768             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16769             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)),NULL,
16770             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4)))
16771             QUOTE_TO_SITE_ID
16772        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
16773             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16774             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),NULL,
16775             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)))
16776             QUOTE_TO_EMAIL_ID
16777        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
16778             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16779             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),NULL,
16780             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)))
16781             QUOTE_TO_PHONE_ID
16782        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
16783             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16784             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),NULL,
16785             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)))
16786             QUOTE_TO_FAX_ID
16787        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
16788             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16789             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),NULL,
16790             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)))
16791             RENEWAL_PRICE_LIST
16792        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
16793             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16794             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),NULL,
16795             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)))
16796             RENEWAL_MARKUP_PERCENT
16797        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
16798             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16799             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),NULL,
16800             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)))
16801             RENEWAL_GRACE_DURATION
16802        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
16803             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16804             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),NULL,
16805             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)))
16806             RENEWAL_EST_REV_PERCENT
16807        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
16808             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16809             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),NULL,
16810             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)))
16811             RENEWAL_EST_REV_DURATION
16812        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
16813             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16814             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),NULL,
16815             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)))
16816             RENEWAL_PRICE_LIST_USED
16817        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
16818             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16819             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),NULL,
16820             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)))
16821             RENEWAL_NOTIFICATION_TO
16822        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
16823             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16824             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),NULL,
16825             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)))
16826             RENEWAL_MARKUP_PERCENT_USED
16827        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
16828             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16829             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),NULL,
16830             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)))
16831             REV_EST_PERCENT_USED
16832        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
16833             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16834             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),NULL,
16835             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)))
16836             REV_EST_DURATION_USED
16837        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
16838             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16839             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),NULL,
16840             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)))
16841             BILLING_PROFILE_USED
16842        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
16843             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16844             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),NULL,
16845             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)))
16846             EVN_THRESHOLD_AMT
16847         ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
16848 	    '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.' ,'!'),
16849             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),NULL,
16850             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)))
16851             ERN_THRESHOLD_AMT
16852        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
16853             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16854             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),NULL,
16855             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)))
16856             RENEWAL_GRACE_DURATION_USED
16857        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
16858             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16859             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),NULL,
16860             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)))
16861             CONVERSION_RATE --OKC
16862        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
16863             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16864             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),NULL,
16865             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)))
16866             CONVERSION_EURO_RATE --OKC
16867        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
16868             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16869             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),NULL,
16870             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)))
16871             CUST_ACCT_ID --OKC
16872        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
16873             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16874             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),NULL,
16875             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)))
16876             BILL_TO_SITE_USE_ID --OKC
16877        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
16878             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16879             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),NULL,
16880             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)))
16881             INV_RULE_ID --OKC
16882        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
16883             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16884             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),NULL,
16885             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)))
16886             RENEWAL_NOTIFY_TO --OKC
16887        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
16888             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16889             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),NULL,
16890             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)))
16891             SHIP_TO_SITE_USE_ID --OKC
16892        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
16893             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16894             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),NULL,
16895             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)))
16896             PAYMENT_TERM_ID --OKC
16897        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
16898             '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16899             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),NULL,
16900             MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)))
16901             PRICE_LIST_ID --OKC
16902        ----------------------Extra Rules for lines added------------------------------------------
16903        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
16904                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16905                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),NULL,
16906                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)))
16907                DISCOUNT_LIST
16908        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
16909                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16910                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),NULL,
16911                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)))
16912                CLVL_LIST_PRICE
16913        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
16914                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16915                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),NULL,
16916                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)))
16917                CLVL_QUANTITY
16918        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
16919                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16920                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),NULL,
16921                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)))
16922                CLVL_EXTENDED_AMT
16923        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
16924                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16925                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),NULL,
16926                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)))
16927                TOPLVL_OPERAND_VAL
16928        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
16929                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16930                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),NULL,
16931                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)))
16932                TOPLVL_QUANTITY
16933        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
16934                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16935                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),NULL,
16936                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)))
16937                TOPLVL_ADJ_PRICE
16938        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
16939                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16940                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),NULL,
16941                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)))
16942                TOPLVL_PRICE_QTY
16943        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
16944                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16945                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),NULL,
16946                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)))
16947                AVERAGING_INTERVAL
16948        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
16949                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16950                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),NULL,
16951                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)))
16952                MINIMUM_QUANTITY
16953        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
16954                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16955                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),NULL,
16956                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)))
16957                DEFAULT_QUANTITY
16958        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
16959                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16960                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),NULL,
16961                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)))
16962                FIXED_QUANTITY
16963        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
16964                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16965                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),NULL,
16966                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)))
16967                USAGE_DURATION
16968        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
16969                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16970                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),NULL,
16971                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)))
16972                BASE_READING
16973         ----------------------------- COVERAGE CODE START -------------------------------------------------
16974        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),
16975                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16976                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)),NULL,
16977                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1)))
16978                EXCEPTION_COV_ID
16979        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),
16980                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16981                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)),NULL,
16982                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1)))
16983                PM_PROGRAM_ID
16984        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),
16985                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16986                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)),NULL,
16987                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1)))
16988                RCN_INCIDENT_SEVERITY_ID
16989        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),
16990                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!'),
16991                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)),NULL,
16992                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1)))
16993                RCN_PDF_ID
16994        ,DECODE(TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),
16995                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
16996                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)),NULL,
16997                MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1)))
16998                LIMIT_UOM_QUANTIFIED
16999        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),
17000                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
17001                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)),NULL,
17002                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION2)))
17003                DISCOUNT_AMOUNT
17004        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),
17005                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
17006                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)),NULL,
17007                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LMT' ,RUL.RULE_INFORMATION4)))
17008                DISCOUNT_PERCENT
17009         ----------------------------- COVERAGE CODE END ----------------------------------------------------
17010        ,DECODE(TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),
17011                '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.','!'),
17012                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)),NULL,
17013                MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLL' ,RUL.RULE_INFORMATION6)))
17014                LEVEL_AMOUNT
17015 
17016 FROM OKC_RULE_GROUPS_BH RGP
17017    , OKC_RULES_BH RUL
17018    , OKC_K_HEADERS_BH HDR
17019 WHERE rgp.id = rul.rgp_id
17020   and rgp.rgd_code = 'SVC_K'
17021   AND   RUL.RULE_INFORMATION_CATEGORY IN
17022        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
17023         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR',
17024 	'DST','PDL','QRE','ECE','PMP','RCN','LMT','SLL')
17025   AND HDR.ID BETWEEN P_ID_LOW  AND P_ID_HIG
17026   AND HDR.ID = RGP.DNZ_CHR_ID
17027   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
17028   AND HDR.ID = RUL.DNZ_CHR_ID
17029   AND HDR.STS_CODE = nvl(p_status,HDR.STS_CODE)
17030   AND HDR.AUTHORING_ORG_ID = nvl(P_ORG_ID, HDR.AUTHORING_ORG_ID)
17031   GROUP BY RGP.CHR_ID,RUL.MAJOR_VERSION,RGP.CLE_ID,RGP.DNZ_CHR_ID)
17032 WHERE
17033   ACCT_RULE_ID    IS NOT NULL OR
17034   CC_BANK_ACCT_ID IS NOT NULL OR
17035   GRACE_DURATION  IS NOT NULL OR
17036   EST_REV_PERCENT IS NOT NULL OR
17037   TAX_AMOUNT      IS NOT NULL OR
17038   TAX_CODE        IS NOT NULL OR
17039   TAX_EXEMPTION_ID    IS NOT NULL OR
17040   BILLING_PROFILE_ID  IS NOT NULL OR
17041   QUOTE_TO_CONTACT_ID IS NOT NULL OR
17042   QUOTE_TO_SITE_ID    IS NOT NULL OR
17043   QUOTE_TO_EMAIL_ID   IS NOT NULL OR
17044   QUOTE_TO_PHONE_ID   IS NOT NULL OR
17045   QUOTE_TO_FAX_ID     IS NOT NULL OR
17046   RENEWAL_PRICE_LIST  IS NOT NULL OR
17047   RENEWAL_MARKUP_PERCENT   IS NOT NULL OR
17048   RENEWAL_GRACE_DURATION   IS NOT NULL OR
17049   RENEWAL_EST_REV_PERCENT  IS NOT NULL OR
17050   RENEWAL_EST_REV_DURATION IS NOT NULL OR
17051   RENEWAL_PRICE_LIST_USED  IS NOT NULL OR
17052   RENEWAL_NOTIFICATION_TO  IS NOT NULL OR
17053   RENEWAL_MARKUP_PERCENT_USED IS NOT NULL OR
17054   REV_EST_PERCENT_USED  IS NOT NULL OR
17055   REV_EST_DURATION_USED IS NOT NULL OR
17056   BILLING_PROFILE_USED  IS NOT NULL OR
17057   EVN_THRESHOLD_AMT  IS NOT NULL OR
17058   ERN_THRESHOLD_AMT  IS NOT NULL OR
17059   RENEWAL_GRACE_DURATION_USED IS NOT NULL OR
17060   CONVERSION_RATE     IS NOT NULL OR
17061   CONVERSION_EURO_RATE IS NOT NULL OR
17062   CUST_ACCT_ID        IS NOT NULL OR
17063   BILL_TO_SITE_USE_ID IS NOT NULL OR
17064   INV_RULE_ID         IS NOT NULL OR
17065   RENEWAL_NOTIFY_TO   IS NOT NULL OR
17066   SHIP_TO_SITE_USE_ID IS NOT NULL OR
17067   PAYMENT_TERM_ID     IS NOT NULL OR
17068   PRICE_LIST_ID       IS NOT NULL OR
17069   -----extra line rules added---------------------
17070   DISCOUNT_LIST	      IS NOT NULL OR
17071   CLVL_LIST_PRICE     IS NOT NULL OR
17072   CLVL_QUANTITY       IS NOT NULL OR
17073   CLVL_EXTENDED_AMT   IS NOT NULL OR
17074   TOPLVL_OPERAND_VAL  IS NOT NULL OR
17075   TOPLVL_QUANTITY     IS NOT NULL OR
17076   TOPLVL_ADJ_PRICE    IS NOT NULL OR
17077   TOPLVL_PRICE_QTY    IS NOT NULL OR
17078   AVERAGING_INTERVAL  IS NOT NULL OR
17079   MINIMUM_QUANTITY    IS NOT NULL OR
17080   DEFAULT_QUANTITY    IS NOT NULL OR
17081   FIXED_QUANTITY      IS NOT NULL OR
17082   USAGE_DURATION      IS NOT NULL OR
17083   BASE_READING        IS NOT NULL OR
17084   EXCEPTION_COV_ID    IS NOT NULL OR
17085   PM_PROGRAM_ID       IS NOT NULL OR
17086   RCN_INCIDENT_SEVERITY_ID IS NOT NULL OR
17087   RCN_PDF_ID           IS NOT NULL OR
17088   LIMIT_UOM_QUANTIFIED IS NOT NULL OR
17089   DISCOUNT_AMOUNT      IS NOT NULL OR
17090   DISCOUNT_PERCENT     IS NOT NULL OR
17091   LEVEL_AMOUNT         IS NOT NULL;
17092 
17093 
17094 
17095 ----------------------------------------------------------------------------
17096 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
17097 ----------------------------------------------------------------------------
17098 CURSOR L_HDR_DTLS_CSR ( P_HDR_ID  IN NUMBER , P_CATEGORY IN VARCHAR2 ) IS
17099 SELECT HDR.CONTRACT_NUMBER
17100      , HDR.CONTRACT_NUMBER_MODIFIER
17101      , HDR.MAJOR_VERSION
17102      , RUL.ID
17103      , RGP.ID RGP_ID
17104  FROM  OKC_K_HEADERS_BH HDR
17105      , OKC_RULE_GROUPS_BH RGP
17106      , OKC_RULES_BH RUL
17107 WHERE HDR.ID = P_HDR_ID
17108   AND RGP.DNZ_CHR_ID = P_HDR_ID
17109   AND RGP.CHR_ID = P_HDR_ID
17110   AND RGP.ID = RUL.RGP_ID
17111   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
17112   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
17113 
17114 L_HDR_DTLS_REC L_HDR_DTLS_CSR%ROWTYPE;
17115 ----------------------------------------------------------------------------
17116 
17117 ----------------------------------------------------------------------------
17118 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
17119 ----------------------------------------------------------------------------
17120 CURSOR L_LINE_DTLS_CSR (P_CLE_ID  IN NUMBER ,P_HDR_ID IN NUMBER, P_CATEGORY IN VARCHAR2 ) IS
17121 SELECT HDR.CONTRACT_NUMBER
17122      , HDR.CONTRACT_NUMBER_MODIFIER
17123      , LIN.MAJOR_VERSION
17124      , LIN.LINE_NUMBER
17125      , RUL.ID
17126      , RGP.ID RGP_ID
17127  FROM  OKC_K_HEADERS_BH HDR
17128      , OKC_RULE_GROUPS_BH RGP
17129      , OKC_RULES_BH RUL
17130      , OKC_K_LINES_BH LIN
17131 WHERE HDR.ID = P_HDR_ID
17132   AND LIN.ID= P_CLE_ID
17133   AND RGP.DNZ_CHR_ID = P_HDR_ID
17134   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
17135   AND RGP.CLE_ID = LIN.ID
17136   AND RGP.ID = RUL.RGP_ID
17137   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
17138 
17139 L_LINE_DTLS_REC L_LINE_DTLS_CSR%ROWTYPE;
17140 ----------------------------------------------------------------------------
17141 
17142 
17143 
17144 BEGIN
17145  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
17146  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Header Rule Data Validation----------------');
17147  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
17148  FND_FILE.PUT_LINE (FND_FILE.LOG, '----------Parameters passed to the Subrequest Request are as follows  -----------');
17149  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_STATUS ==============> '||P_STATUS);
17150  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ORG_ID ==============> '||P_ORG_ID);
17151  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_BATCH_SIZE  =========> '||P_BATCH_SIZE);
17152  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_LOW ==============> '||p_ID_LOW);
17153  FND_FILE.PUT_LINE (FND_FILE.LOG, 'P_ID_HIG ==============> '||P_ID_HIG);
17154  FND_FILE.PUT_LINE (FND_FILE.LOG, '---------------------------------------------------------------------------------');
17155 
17156 
17157 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
17158 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'                Start of Header Validation Report for                  ');
17159 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,'-----------------------------------------------------------------------');
17160 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT ,' Contract Number      |Modifier                |Line Number    |Rule Category     |Attribute Name       |Current Value       ');
17161 
17162 
17163  if(p_us_yn = 'true') then
17164    l_us_yn := true;
17165  else
17166    l_us_yn := false;
17167  end if;
17168 
17169  if(l_us_yn) then
17170    If (p_status is null and p_org_id is null  )  then
17171        OPEN l_hdr_rule_csr1(p_id_low , p_id_hig);
17172        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr1');
17173    Else
17174        OPEN l_hdr_rule_csr2(p_id_low , p_id_hig, p_status , p_org_id);
17175        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr2');
17176    End IF;
17177 
17178  else
17179    If (p_status is null and p_org_id is null  )  then
17180        OPEN l_hdr_rule_csr1_nus(p_id_low , p_id_hig);
17181        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr1_nus');
17182    Else
17183        OPEN l_hdr_rule_csr2_nus(p_id_low , p_id_hig, p_status , p_org_id);
17184        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor opened is l_hdr_rule_csr2_nus');
17185    End IF;
17186 
17187   end if;
17188 
17189  Loop
17190     -----------------------------------------------------------------------------------
17191    if(l_us_yn) then
17192     --Start of If to choose the cursor to be fetched --
17193     If (p_status is null and p_org_id is null )  then
17194         FETCH l_hdr_rule_csr1 bulk collect into
17195                         CHR_ID
17196 			,MAJOR_VERSION
17197 			,CLE_ID
17198 			,DNZ_CHR_ID
17199                         ,ACCT_RULE_ID_CHR
17200                         --,CC_EXPIRY_DATE_CHR
17201                         ,CC_BANK_ACCT_ID_CHR
17202                         ,GRACE_DURATION_CHR
17203                         ,EST_REV_PERCENT_CHR
17204                         --,EST_REV_DATE_CHR
17205                         ,TAX_AMOUNT_CHR
17206                         ,TAX_CODE_CHR
17207                         ,TAX_EXEMPTION_ID_CHR
17208                         ,BILLING_PROFILE_ID_CHR
17209                         ,QUOTE_TO_CONTACT_ID_CHR
17210                         ,QUOTE_TO_SITE_ID_CHR
17211                         ,QUOTE_TO_EMAIL_ID_CHR
17212                         ,QUOTE_TO_PHONE_ID_CHR
17213                         ,QUOTE_TO_FAX_ID_CHR
17214                         ,RENEWAL_PRICE_LIST_CHR
17215                         ,RENEWAL_MARKUP_PERCENT_CHR
17216                         ,RENEWAL_GRACE_DURATION_CHR
17217                         ,RENEWAL_EST_REV_PERCENT_CHR
17218                         ,RENEWAL_EST_REV_DURATION_CHR
17219                         ,RENEWAL_PRICE_LIST_USED_CHR
17220                         ,RENEWAL_NOTIFICATION_TO_CHR
17221                         ,RENEWAL_MARKUP_PERCENT_USED_CH
17222                         ,REV_EST_PERCENT_USED_CHR
17223                         ,REV_EST_DURATION_USED_CHR
17224                         ,BILLING_PROFILE_USED_CHR
17225                         ,EVN_THRESHOLD_AMT_CHR
17226                         ,ERN_THRESHOLD_AMT_CHR
17227                         ,RENEWAL_GRACE_DURATION_USED_CH
17228                         ,CONVERSION_RATE_CHR              --OKC
17229                         --,CONVERSION_RATE_DATE_CHR         --OKC
17230                         ,CONVERSION_EURO_RATE_CHR         --OKC
17231                         ,CUST_ACCT_ID_CHR                 --OKC
17232                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
17233                         ,INV_RULE_ID_CHR                  --OKC
17234                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
17235                         --,RENEWAL_END_DATE_CHR             --OKC
17236                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
17237                         ,PAYMENT_TERM_ID_CHR              --OKC
17238                         ,PRICE_LIST_ID_CHR                --OKC
17239                  -------------EXTRA LINE RULES------------------------
17240 			,DISCOUNT_LIST_CHR
17241 			,CLVL_LIST_PRICE_CHR
17242 			,CLVL_QUANTITY_CHR
17243 			,CLVL_EXTENDED_AMT_CHR
17244 			,TOPLVL_OPERAND_VAL_CHR
17245 			,TOPLVL_QUANTITY_CHR
17246 			,TOPLVL_ADJ_PRICE_CHR
17247 			,TOPLVL_PRICE_QTY_CHR
17248 			,AVERAGING_INTERVAL_CHR
17249 			,MINIMUM_QUANTITY_CHR
17250 			,DEFAULT_QUANTITY_CHR
17251 			,FIXED_QUANTITY_CHR
17252 			,USAGE_DURATION_CHR
17253 			,BASE_READING_CHR
17254 			,EXCEPTION_COV_ID_CHR
17255 			,PM_PROGRAM_ID_CHR
17256 			,RCN_INCIDENT_SEVERITY_ID_CHR
17257 			,RCN_PDF_ID_CHR
17258 			,LIMIT_UOM_QUANTIFIED_CHR
17259 			,DISCOUNT_AMOUNT_CHR
17260 			,DISCOUNT_PERCENT_CHR
17261 			,LEVEL_AMOUNT_CHR
17262 			LIMIT p_batch_size;
17263 
17264        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr1');
17265        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
17266        EXIT WHEN CHR_ID.COUNT = 0 ;
17267     Else
17268         FETCH l_hdr_rule_csr2 bulk collect into
17269                         CHR_ID
17270 			,MAJOR_VERSION
17271 			,CLE_ID
17272 			,DNZ_CHR_ID
17273                         ,ACCT_RULE_ID_CHR
17274                         --,CC_EXPIRY_DATE_CHR
17275                         ,CC_BANK_ACCT_ID_CHR
17276                         ,GRACE_DURATION_CHR
17277                         ,EST_REV_PERCENT_CHR
17278                         --,EST_REV_DATE_CHR
17279                         ,TAX_AMOUNT_CHR
17280                         ,TAX_CODE_CHR
17281                         ,TAX_EXEMPTION_ID_CHR
17282                         ,BILLING_PROFILE_ID_CHR
17283                         ,QUOTE_TO_CONTACT_ID_CHR
17284                         ,QUOTE_TO_SITE_ID_CHR
17285                         ,QUOTE_TO_EMAIL_ID_CHR
17286                         ,QUOTE_TO_PHONE_ID_CHR
17287                         ,QUOTE_TO_FAX_ID_CHR
17288                         ,RENEWAL_PRICE_LIST_CHR
17289                         ,RENEWAL_MARKUP_PERCENT_CHR
17290                         ,RENEWAL_GRACE_DURATION_CHR
17291                         ,RENEWAL_EST_REV_PERCENT_CHR
17292                         ,RENEWAL_EST_REV_DURATION_CHR
17293                         ,RENEWAL_PRICE_LIST_USED_CHR
17294                         ,RENEWAL_NOTIFICATION_TO_CHR
17295                         ,RENEWAL_MARKUP_PERCENT_USED_CH
17296                         ,REV_EST_PERCENT_USED_CHR
17297                         ,REV_EST_DURATION_USED_CHR
17298                         ,BILLING_PROFILE_USED_CHR
17299                         ,EVN_THRESHOLD_AMT_CHR
17300                         ,ERN_THRESHOLD_AMT_CHR
17301                         ,RENEWAL_GRACE_DURATION_USED_CH
17302                         ,CONVERSION_RATE_CHR              --OKC
17303                         --,CONVERSION_RATE_DATE_CHR         --OKC
17304                         ,CONVERSION_EURO_RATE_CHR         --OKC
17305                         ,CUST_ACCT_ID_CHR                 --OKC
17306                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
17307                         ,INV_RULE_ID_CHR                  --OKC
17308                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
17309                         --,RENEWAL_END_DATE_CHR           --OKC
17310                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
17311                         ,PAYMENT_TERM_ID_CHR              --OKC
17312                         ,PRICE_LIST_ID_CHR                --OKC
17313                  -------------EXTRA LINE RULES------------------------
17314 			,DISCOUNT_LIST_CHR
17315 			,CLVL_LIST_PRICE_CHR
17316 			,CLVL_QUANTITY_CHR
17317 			,CLVL_EXTENDED_AMT_CHR
17318 			,TOPLVL_OPERAND_VAL_CHR
17319 			,TOPLVL_QUANTITY_CHR
17320 			,TOPLVL_ADJ_PRICE_CHR
17321 			,TOPLVL_PRICE_QTY_CHR
17322 			,AVERAGING_INTERVAL_CHR
17323 			,MINIMUM_QUANTITY_CHR
17324 			,DEFAULT_QUANTITY_CHR
17325 			,FIXED_QUANTITY_CHR
17326 			,USAGE_DURATION_CHR
17327 			,BASE_READING_CHR
17328 			,EXCEPTION_COV_ID_CHR
17329 			,PM_PROGRAM_ID_CHR
17330 			,RCN_INCIDENT_SEVERITY_ID_CHR
17331 			,RCN_PDF_ID_CHR
17332 			,LIMIT_UOM_QUANTIFIED_CHR
17333 			,DISCOUNT_AMOUNT_CHR
17334 			,DISCOUNT_PERCENT_CHR
17335 			,LEVEL_AMOUNT_CHR
17336 			LIMIT p_batch_size;
17337 
17338 
17339        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr2');
17340        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
17341        EXIT WHEN CHR_ID.COUNT = 0 ;
17342 
17343     End IF;
17344     --End of If to choose the cursor to be fetched --
17345   else
17346     --Start of If to choose the cursor to be fetched --
17347     If (p_status is null and p_org_id is null )  then
17348         FETCH l_hdr_rule_csr1_nus bulk collect into
17349                         CHR_ID
17350 			,MAJOR_VERSION
17351 			,CLE_ID
17352 			,DNZ_CHR_ID
17353                         ,ACCT_RULE_ID_CHR
17354                         --,CC_EXPIRY_DATE_CHR
17355                         ,CC_BANK_ACCT_ID_CHR
17356                         ,GRACE_DURATION_CHR
17357                         ,EST_REV_PERCENT_CHR
17358                         --,EST_REV_DATE_CHR
17359                         ,TAX_AMOUNT_CHR
17360                         ,TAX_CODE_CHR
17361                         ,TAX_EXEMPTION_ID_CHR
17362                         ,BILLING_PROFILE_ID_CHR
17363                         ,QUOTE_TO_CONTACT_ID_CHR
17364                         ,QUOTE_TO_SITE_ID_CHR
17365                         ,QUOTE_TO_EMAIL_ID_CHR
17366                         ,QUOTE_TO_PHONE_ID_CHR
17367                         ,QUOTE_TO_FAX_ID_CHR
17368                         ,RENEWAL_PRICE_LIST_CHR
17369                         ,RENEWAL_MARKUP_PERCENT_CHR
17370                         ,RENEWAL_GRACE_DURATION_CHR
17371                         ,RENEWAL_EST_REV_PERCENT_CHR
17372                         ,RENEWAL_EST_REV_DURATION_CHR
17373                         ,RENEWAL_PRICE_LIST_USED_CHR
17374                         ,RENEWAL_NOTIFICATION_TO_CHR
17375                         ,RENEWAL_MARKUP_PERCENT_USED_CH
17376                         ,REV_EST_PERCENT_USED_CHR
17377                         ,REV_EST_DURATION_USED_CHR
17378                         ,BILLING_PROFILE_USED_CHR
17379                         ,EVN_THRESHOLD_AMT_CHR
17380                         ,ERN_THRESHOLD_AMT_CHR
17381                         ,RENEWAL_GRACE_DURATION_USED_CH
17382                         ,CONVERSION_RATE_CHR              --OKC
17383                         --,CONVERSION_RATE_DATE_CHR         --OKC
17384                         ,CONVERSION_EURO_RATE_CHR         --OKC
17385                         ,CUST_ACCT_ID_CHR                 --OKC
17386                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
17387                         ,INV_RULE_ID_CHR                  --OKC
17388                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
17389                         --,RENEWAL_END_DATE_CHR             --OKC
17390                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
17391                         ,PAYMENT_TERM_ID_CHR              --OKC
17392                         ,PRICE_LIST_ID_CHR                --OKC
17393                  -------------EXTRA LINE RULES------------------------
17394 			,DISCOUNT_LIST_CHR
17395 			,CLVL_LIST_PRICE_CHR
17396 			,CLVL_QUANTITY_CHR
17397 			,CLVL_EXTENDED_AMT_CHR
17398 			,TOPLVL_OPERAND_VAL_CHR
17399 			,TOPLVL_QUANTITY_CHR
17400 			,TOPLVL_ADJ_PRICE_CHR
17401 			,TOPLVL_PRICE_QTY_CHR
17402 			,AVERAGING_INTERVAL_CHR
17403 			,MINIMUM_QUANTITY_CHR
17404 			,DEFAULT_QUANTITY_CHR
17405 			,FIXED_QUANTITY_CHR
17406 			,USAGE_DURATION_CHR
17407 			,BASE_READING_CHR
17408 			,EXCEPTION_COV_ID_CHR
17409 			,PM_PROGRAM_ID_CHR
17410 			,RCN_INCIDENT_SEVERITY_ID_CHR
17411 			,RCN_PDF_ID_CHR
17412 			,LIMIT_UOM_QUANTIFIED_CHR
17413 			,DISCOUNT_AMOUNT_CHR
17414 			,DISCOUNT_PERCENT_CHR
17415 			,LEVEL_AMOUNT_CHR
17416 			LIMIT p_batch_size;
17417 
17418        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr1');
17419        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
17420        EXIT WHEN CHR_ID.COUNT = 0 ;
17421     Else
17422         FETCH l_hdr_rule_csr2_nus bulk collect into
17423                         CHR_ID
17424 			,MAJOR_VERSION
17425 			,CLE_ID
17426 			,DNZ_CHR_ID
17427                         ,ACCT_RULE_ID_CHR
17428                         --,CC_EXPIRY_DATE_CHR
17429                         ,CC_BANK_ACCT_ID_CHR
17430                         ,GRACE_DURATION_CHR
17431                         ,EST_REV_PERCENT_CHR
17432                         --,EST_REV_DATE_CHR
17433                         ,TAX_AMOUNT_CHR
17434                         ,TAX_CODE_CHR
17435                         ,TAX_EXEMPTION_ID_CHR
17436                         ,BILLING_PROFILE_ID_CHR
17437                         ,QUOTE_TO_CONTACT_ID_CHR
17438                         ,QUOTE_TO_SITE_ID_CHR
17439                         ,QUOTE_TO_EMAIL_ID_CHR
17440                         ,QUOTE_TO_PHONE_ID_CHR
17441                         ,QUOTE_TO_FAX_ID_CHR
17442                         ,RENEWAL_PRICE_LIST_CHR
17443                         ,RENEWAL_MARKUP_PERCENT_CHR
17444                         ,RENEWAL_GRACE_DURATION_CHR
17445                         ,RENEWAL_EST_REV_PERCENT_CHR
17446                         ,RENEWAL_EST_REV_DURATION_CHR
17447                         ,RENEWAL_PRICE_LIST_USED_CHR
17448                         ,RENEWAL_NOTIFICATION_TO_CHR
17449                         ,RENEWAL_MARKUP_PERCENT_USED_CH
17450                         ,REV_EST_PERCENT_USED_CHR
17451                         ,REV_EST_DURATION_USED_CHR
17452                         ,BILLING_PROFILE_USED_CHR
17453                         ,EVN_THRESHOLD_AMT_CHR
17454                         ,ERN_THRESHOLD_AMT_CHR
17455                         ,RENEWAL_GRACE_DURATION_USED_CH
17456                         ,CONVERSION_RATE_CHR              --OKC
17457                         --,CONVERSION_RATE_DATE_CHR         --OKC
17458                         ,CONVERSION_EURO_RATE_CHR         --OKC
17459                         ,CUST_ACCT_ID_CHR                 --OKC
17460                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
17461                         ,INV_RULE_ID_CHR                  --OKC
17462                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
17463                         --,RENEWAL_END_DATE_CHR           --OKC
17464                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
17465                         ,PAYMENT_TERM_ID_CHR              --OKC
17466                         ,PRICE_LIST_ID_CHR                --OKC
17467                  -------------EXTRA LINE RULES------------------------
17468 			,DISCOUNT_LIST_CHR
17469 			,CLVL_LIST_PRICE_CHR
17470 			,CLVL_QUANTITY_CHR
17471 			,CLVL_EXTENDED_AMT_CHR
17472 			,TOPLVL_OPERAND_VAL_CHR
17473 			,TOPLVL_QUANTITY_CHR
17474 			,TOPLVL_ADJ_PRICE_CHR
17475 			,TOPLVL_PRICE_QTY_CHR
17476 			,AVERAGING_INTERVAL_CHR
17477 			,MINIMUM_QUANTITY_CHR
17478 			,DEFAULT_QUANTITY_CHR
17479 			,FIXED_QUANTITY_CHR
17480 			,USAGE_DURATION_CHR
17481 			,BASE_READING_CHR
17482 			,EXCEPTION_COV_ID_CHR
17483 			,PM_PROGRAM_ID_CHR
17484 			,RCN_INCIDENT_SEVERITY_ID_CHR
17485 			,RCN_PDF_ID_CHR
17486 			,LIMIT_UOM_QUANTIFIED_CHR
17487 			,DISCOUNT_AMOUNT_CHR
17488 			,DISCOUNT_PERCENT_CHR
17489 			,LEVEL_AMOUNT_CHR
17490 			LIMIT p_batch_size;
17491 
17492 
17493        FND_FILE.PUT_LINE (FND_FILE.LOG, 'Cursor fetched is l_hdr_rule_csr2');
17494        FND_FILE.PUT_LINE(FND_FILE.LOG , 'FETCHED ROW COUNT = '|| CHR_ID.COUNT );
17495        EXIT WHEN CHR_ID.COUNT = 0 ;
17496 
17497     End IF;
17498     --End of If to choose the cursor to be fetched --
17499 
17500   end if;
17501     ------------------------------------------------------------------------------------
17502 
17503     ------------------------------------------------------------------------------------
17504     -- Begin of code to validate data type .
17505     FOR a in CHR_ID.FIRST..CHR_ID.LAST
17506     LOOP
17507        --1. Validation for ARL rule .
17508        BEGIN
17509           ACCT_RULE_ID(1)      := ACCT_RULE_ID_CHR(a);
17510        EXCEPTION
17511        WHEN OTHERS THEN
17512          IF(CHR_ID(A) IS NOT NULL) THEN
17513            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ARL') ;
17514            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17515            CLOSE L_HDR_DTLS_CSR;
17516            FND_MESSAGE.CLEAR;
17517            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
17518            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17519            L_ERROR_MSG      := SQLERRM;
17520            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17521                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17522                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17523                                       ERROR_MSG)
17524                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17525                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17526                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR(a),
17527                                        L_ERROR_MSG );
17528            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
17529          END IF;
17530 	 IF(CLE_ID(A) IS NOT NULL) THEN
17531            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'ARL');
17532            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17533            CLOSE L_LINE_DTLS_CSR;
17534            FND_MESSAGE.CLEAR;
17535            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
17536            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17537            L_ERROR_MSG      := SQLERRM;
17538            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17539                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17540                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17541                                       ERROR_MSG)
17542                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17543                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17544                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR(a),
17545                                        L_ERROR_MSG );
17546           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17547 
17548 	 END IF;
17549 
17550        END;
17551 
17552        --2. Validation for CCR rule .
17553        BEGIN
17554           CC_BANK_ACCT_ID(1)      := CC_BANK_ACCT_ID_CHR(a);
17555        EXCEPTION
17556        WHEN OTHERS THEN
17557          IF(CHR_ID(A) IS NOT NULL) THEN
17558            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CCR') ;
17559            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17560            CLOSE L_HDR_DTLS_CSR;
17561            FND_MESSAGE.CLEAR;
17562            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
17563            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17564            L_ERROR_MSG      := SQLERRM;
17565            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17566                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17567                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17568                                       ERROR_MSG)
17569                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17570                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17571                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR(a),
17572                                        L_ERROR_MSG );
17573 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3'  ||L_ATTRIBUTE_NAME || CC_BANK_ACCT_ID_CHR(a)  );
17574          END IF;
17575        	 IF(CLE_ID(A) IS NOT NULL) THEN
17576            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'CCR') ;
17577            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17578            CLOSE L_LINE_DTLS_CSR;
17579            FND_MESSAGE.CLEAR;
17580            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
17581            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17582            L_ERROR_MSG      := SQLERRM;
17583            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17584                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17585                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17586                                       ERROR_MSG)
17587                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17588                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17589                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR(a),
17590                                        L_ERROR_MSG );
17591           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17592 
17593 	 END IF;
17594 
17595        END;
17596 
17597        --3. Validation for GPR rule .
17598        BEGIN
17599           GRACE_DURATION(1)    := GRACE_DURATION_CHR(a);
17600        EXCEPTION
17601        WHEN OTHERS THEN
17602          IF(CHR_ID(A) IS NOT NULL) THEN
17603            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'GPR') ;
17604            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17605            CLOSE L_HDR_DTLS_CSR;
17606            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
17607            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17608            L_ERROR_MSG      := SQLERRM;
17609            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17610                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17611                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17612                                       ERROR_MSG)
17613                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17614                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17615                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR(a),
17616                                        L_ERROR_MSG );
17617 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || GRACE_DURATION_CHR(a)  );
17618          END IF;
17619 	 IF(CLE_ID(A) IS NOT NULL) THEN
17620            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'GPR') ;
17621            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17622            CLOSE L_LINE_DTLS_CSR;
17623            FND_MESSAGE.CLEAR;
17624            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
17625            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17626            L_ERROR_MSG      := SQLERRM;
17627            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17628                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17629                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17630                                       ERROR_MSG)
17631                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17632                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17633                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR(a),
17634                                        L_ERROR_MSG );
17635           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17636 
17637 	 END IF;
17638 
17639        END;
17640 
17641        --4. Validation for RVE rule .
17642        BEGIN
17643           EST_REV_PERCENT(1)      := EST_REV_PERCENT_CHR(a);
17644        EXCEPTION
17645        WHEN OTHERS THEN
17646          IF(CHR_ID(A) IS NOT NULL) THEN
17647            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RVE') ;
17648            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17649            CLOSE L_HDR_DTLS_CSR;
17650            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
17651            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17652            L_ERROR_MSG      := SQLERRM;
17653            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17654                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17655                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17656                                       ERROR_MSG)
17657                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17658                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17659                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR(a),
17660                                        L_ERROR_MSG );
17661 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EST_REV_PERCENT_CHR(a)  );
17662          END IF;
17663 	 IF(CLE_ID(A) IS NOT NULL) THEN
17664            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RVE') ;
17665            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17666            CLOSE L_LINE_DTLS_CSR;
17667            FND_MESSAGE.CLEAR;
17668            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
17669            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17670            L_ERROR_MSG      := SQLERRM;
17671            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17672                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17673                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17674                                       ERROR_MSG)
17675                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17676                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17677                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR(a),
17678                                        L_ERROR_MSG );
17679           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17680 
17681 	 END IF;
17682 
17683        END;
17684 
17685        --5. Validation for IRT rule.
17686        BEGIN
17687           TAX_AMOUNT(1)      := TAX_AMOUNT_CHR(a);
17688        EXCEPTION
17689        WHEN OTHERS THEN
17690          IF(CHR_ID(A) IS NOT NULL) THEN
17691            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRT') ;
17692            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17693            CLOSE L_HDR_DTLS_CSR;
17694            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
17695            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17696            L_ERROR_MSG      := SQLERRM;
17697            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17698                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17699                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17700                                       ERROR_MSG)
17701                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17702                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17703                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR(a),
17704                                        L_ERROR_MSG );
17705 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || TAX_AMOUNT_CHR(a)  );
17706          END IF;
17707 	 IF(CLE_ID(A) IS NOT NULL) THEN
17708            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'IRT') ;
17709            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17710            CLOSE L_LINE_DTLS_CSR;
17711            FND_MESSAGE.CLEAR;
17712            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
17713            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17714            L_ERROR_MSG      := SQLERRM;
17715            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17716                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17717                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17718                                       ERROR_MSG)
17719                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17720                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17721                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR(a),
17722                                        L_ERROR_MSG );
17723           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17724 
17725 	 END IF;
17726 
17727        END;
17728 
17729        --6. Validation for TAX (TAX_CODE) rule.
17730        BEGIN
17731           TAX_CODE(1)      := TAX_CODE_CHR(a);
17732        EXCEPTION
17733        WHEN OTHERS THEN
17734          IF(CHR_ID(A) IS NOT NULL) THEN
17735            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'TAX') ;
17736            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17737            CLOSE L_HDR_DTLS_CSR;
17738            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
17739            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17740            L_ERROR_MSG      := SQLERRM;
17741            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17742                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17743                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17744                                       ERROR_MSG)
17745                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17746                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17747                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR(a),
17748                                        L_ERROR_MSG );
17749 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || TAX_CODE_CHR(a)  );
17750          END IF;
17751 	 IF(CLE_ID(A) IS NOT NULL) THEN
17752            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'TAX') ;
17753            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17754            CLOSE L_LINE_DTLS_CSR;
17755            FND_MESSAGE.CLEAR;
17756            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
17757            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17758            L_ERROR_MSG      := SQLERRM;
17759            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17760                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17761                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17762                                       ERROR_MSG)
17763                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17764                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17765                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR(a),
17766                                        L_ERROR_MSG );
17767           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17768 
17769 	 END IF;
17770 
17771        END;
17772 
17773        --7. Validation for TAX (TAX_EXEMPTION_ID) rule.
17774        BEGIN
17775           TAX_EXEMPTION_ID(1)      := TAX_EXEMPTION_ID_CHR(a);
17776        EXCEPTION
17777        WHEN OTHERS THEN
17778          IF(CHR_ID(A) IS NOT NULL) THEN
17779            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'TAX');
17780            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17781            CLOSE L_HDR_DTLS_CSR;
17782            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
17783            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17784            L_ERROR_MSG      := SQLERRM;
17785            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17786                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17787                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17788                                       ERROR_MSG)
17789                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17790                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17791                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR(a),
17792                                        L_ERROR_MSG );
17793 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || TAX_EXEMPTION_ID_CHR(a)  );
17794          END IF;
17795 	 IF(CLE_ID(A) IS NOT NULL) THEN
17796            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'TAX') ;
17797            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17798            CLOSE L_LINE_DTLS_CSR;
17799            FND_MESSAGE.CLEAR;
17800            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
17801            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17802            L_ERROR_MSG      := SQLERRM;
17803            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17804                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17805                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17806                                       ERROR_MSG)
17807                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17808                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17809                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR(a),
17810                                        L_ERROR_MSG );
17811           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17812 
17813 	 END IF;
17814 
17815        END;
17816 
17817 
17818        --8. Validation for CAN  rule.
17819        BEGIN
17820           CUST_ACCT_ID(1)      := CUST_ACCT_ID_CHR(a);
17821        EXCEPTION
17822        WHEN OTHERS THEN
17823          IF(CHR_ID(A) IS NOT NULL) THEN
17824            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CAN');
17825            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17826            CLOSE L_HDR_DTLS_CSR;
17827            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
17828            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17829            L_ERROR_MSG      := SQLERRM;
17830            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17831                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17832                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17833                                       ERROR_MSG)
17834                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17835                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17836                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR(a),
17837                                        L_ERROR_MSG );
17838 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || CUST_ACCT_ID_CHR(a)  );
17839          END IF;
17840 	 IF(CLE_ID(A) IS NOT NULL) THEN
17841            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'CAN') ;
17842            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17843            CLOSE L_LINE_DTLS_CSR;
17844            FND_MESSAGE.CLEAR;
17845            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
17846            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17847            L_ERROR_MSG      := SQLERRM;
17848            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17849                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17850                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17851                                       ERROR_MSG)
17852                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17853                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17854                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR(a),
17855                                        L_ERROR_MSG );
17856           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17857 
17858 	 END IF;
17859 
17860        END;
17861 
17862        --9. Validation for BTO  rule.
17863        BEGIN
17864           BILL_TO_SITE_USE_ID(1)      := BILL_TO_SITE_USE_ID_CHR(a);
17865        EXCEPTION
17866        WHEN OTHERS THEN
17867          IF(CHR_ID(A) IS NOT NULL) THEN
17868            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'BTO');
17869            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17870            CLOSE L_HDR_DTLS_CSR;
17871            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
17872            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17873            L_ERROR_MSG      := SQLERRM;
17874            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17875                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17876                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17877                                       ERROR_MSG)
17878                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17879                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17880                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR(a),
17881                                        L_ERROR_MSG );
17882 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || BILL_TO_SITE_USE_ID_CHR(a)  );
17883          END IF;
17884 	 IF(CLE_ID(A) IS NOT NULL) THEN
17885            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'BTO') ;
17886            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17887            CLOSE L_LINE_DTLS_CSR;
17888            FND_MESSAGE.CLEAR;
17889            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
17890            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17891            L_ERROR_MSG      := SQLERRM;
17892            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17893                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17894                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17895                                       ERROR_MSG)
17896                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17897                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17898                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR(a),
17899                                        L_ERROR_MSG );
17900           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17901 
17902 	 END IF;
17903 
17904        END;
17905 
17906 
17907        --10. Validation for IRE  rule.
17908        BEGIN
17909           INV_RULE_ID(1)      := INV_RULE_ID_CHR(a);
17910        EXCEPTION
17911        WHEN OTHERS THEN
17912          IF(CHR_ID(A) IS NOT NULL) THEN
17913            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRE');
17914            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17915            CLOSE L_HDR_DTLS_CSR;
17916            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
17917            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17918            L_ERROR_MSG      := SQLERRM;
17919            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17920                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17921                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17922                                       ERROR_MSG)
17923                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17924                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17925                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR(a),
17926                                        L_ERROR_MSG );
17927 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || INV_RULE_ID_CHR(a)  );
17928          END IF;
17929 	 IF(CLE_ID(A) IS NOT NULL) THEN
17930            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'IRE') ;
17931            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17932            CLOSE L_LINE_DTLS_CSR;
17933            FND_MESSAGE.CLEAR;
17934            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
17935            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17936            L_ERROR_MSG      := SQLERRM;
17937            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17938                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17939                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17940                                       ERROR_MSG)
17941                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17942                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17943                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR(a),
17944                                        L_ERROR_MSG );
17945           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17946 
17947 	 END IF;
17948 
17949        END;
17950 
17951        --11. Validation for REN ( RENEWAL_NOTIFY_TO )  rule.
17952        BEGIN
17953           RENEWAL_NOTIFY_TO(1)      := RENEWAL_NOTIFY_TO_CHR(a);
17954        EXCEPTION
17955        WHEN OTHERS THEN
17956          IF(CHR_ID(A) IS NOT NULL) THEN
17957            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'IRE');
17958            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
17959            CLOSE L_HDR_DTLS_CSR;
17960            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
17961            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17962            L_ERROR_MSG      := SQLERRM;
17963            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
17964                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
17965                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
17966                                       ERROR_MSG)
17967                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
17968                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
17969                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR(a),
17970                                        L_ERROR_MSG );
17971 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_NOTIFY_TO_CHR(a)  );
17972          END IF;
17973 	 IF(CLE_ID(A) IS NOT NULL) THEN
17974            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'IRE') ;
17975            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
17976            CLOSE L_LINE_DTLS_CSR;
17977            FND_MESSAGE.CLEAR;
17978            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
17979            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
17980            L_ERROR_MSG      := SQLERRM;
17981            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
17982                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
17983                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
17984                                       ERROR_MSG)
17985                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
17986                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
17987                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR(a),
17988                                        L_ERROR_MSG );
17989           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
17990 
17991 	 END IF;
17992 
17993        END;
17994 
17995        --12. Validation for STO rule.
17996        BEGIN
17997           SHIP_TO_SITE_USE_ID(1)      := SHIP_TO_SITE_USE_ID_CHR(a);
17998        EXCEPTION
17999        WHEN OTHERS THEN
18000          IF(CHR_ID(A) IS NOT NULL) THEN
18001            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'STO');
18002            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18003            CLOSE L_HDR_DTLS_CSR;
18004            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
18005            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18006            L_ERROR_MSG      := SQLERRM;
18007            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18008                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18009                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18010                                       ERROR_MSG)
18011                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18012                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18013                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR(a),
18014                                        L_ERROR_MSG );
18015 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || SHIP_TO_SITE_USE_ID_CHR(a)  );
18016          END IF;
18017 	 IF(CLE_ID(A) IS NOT NULL) THEN
18018            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'STO') ;
18019            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18020            CLOSE L_LINE_DTLS_CSR;
18021            FND_MESSAGE.CLEAR;
18022            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
18023            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18024            L_ERROR_MSG      := SQLERRM;
18025            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18026                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18027                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18028                                       ERROR_MSG)
18029                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18030                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18031                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR(a),
18032                                        L_ERROR_MSG );
18033           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18034 
18035 	 END IF;
18036 
18037        END;
18038 
18039        --13. Validation for PTR rule.
18040        BEGIN
18041           PAYMENT_TERM_ID(1)      := PAYMENT_TERM_ID_CHR(a);
18042        EXCEPTION
18043        WHEN OTHERS THEN
18044          IF(CHR_ID(A) IS NOT NULL) THEN
18045            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PTR');
18046            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18047            CLOSE L_HDR_DTLS_CSR;
18048            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
18049            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18050            L_ERROR_MSG      := SQLERRM;
18051            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18052                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18053                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18054                                       ERROR_MSG)
18055                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18056                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18057                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR(a),
18058                                        L_ERROR_MSG );
18059 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PAYMENT_TERM_ID_CHR(a)  );
18060          END IF;
18061 	 IF(CLE_ID(A) IS NOT NULL) THEN
18062            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PTR') ;
18063            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18064            CLOSE L_LINE_DTLS_CSR;
18065            FND_MESSAGE.CLEAR;
18066            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
18067            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18068            L_ERROR_MSG      := SQLERRM;
18069            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18070                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18071                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18072                                       ERROR_MSG)
18073                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18074                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18075                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR(a),
18076                                        L_ERROR_MSG );
18077           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18078 
18079 	 END IF;
18080 
18081        END;
18082 
18083        --14. Validation for ERN rule.
18084        BEGIN
18085           BILLING_PROFILE_ID(1)      := BILLING_PROFILE_ID_CHR(a);
18086        EXCEPTION
18087        WHEN OTHERS THEN
18088          IF(CHR_ID(A) IS NOT NULL) THEN
18089            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ERN');
18090            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18091            CLOSE L_HDR_DTLS_CSR;
18092            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
18093            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18094            L_ERROR_MSG      := SQLERRM;
18095            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18096                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18097                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18098                                       ERROR_MSG)
18099                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18100                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18101                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR(a),
18102                                        L_ERROR_MSG );
18103 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || BILLING_PROFILE_ID_CHR(a)  );
18104          END IF;
18105 	 IF(CLE_ID(A) IS NOT NULL) THEN
18106            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'ERN') ;
18107            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18108            CLOSE L_LINE_DTLS_CSR;
18109            FND_MESSAGE.CLEAR;
18110            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
18111            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18112            L_ERROR_MSG      := SQLERRM;
18113            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18114                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18115                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18116                                       ERROR_MSG)
18117                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18118                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18119                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR(a),
18120                                        L_ERROR_MSG );
18121           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18122 
18123 	 END IF;
18124 
18125        END;
18126 
18127 
18128        --15. Validation for QTO ( QUOTE_TO_CONTACT_ID )rule.
18129        BEGIN
18130           QUOTE_TO_CONTACT_ID(1)      := QUOTE_TO_CONTACT_ID_CHR(a);
18131        EXCEPTION
18132        WHEN OTHERS THEN
18133          IF(CHR_ID(A) IS NOT NULL) THEN
18134            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
18135            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18136            CLOSE L_HDR_DTLS_CSR;
18137            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
18138            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18139            L_ERROR_MSG      := SQLERRM;
18140            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18141                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18142                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18143                                       ERROR_MSG)
18144                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18145                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18146                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR(a),
18147                                        L_ERROR_MSG );
18148 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || QUOTE_TO_CONTACT_ID_CHR(a)  );
18149          END IF;
18150 	 IF(CLE_ID(A) IS NOT NULL) THEN
18151            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
18152            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18153            CLOSE L_LINE_DTLS_CSR;
18154            FND_MESSAGE.CLEAR;
18155            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
18156            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18157            L_ERROR_MSG      := SQLERRM;
18158            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18159                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18160                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18161                                       ERROR_MSG)
18162                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18163                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18164                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR(a),
18165                                        L_ERROR_MSG );
18166           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18167 
18168 	 END IF;
18169 
18170        END;
18171 
18172        --16. Validation for QTO ( QUOTE_TO_SITE_ID ) rule.
18173        BEGIN
18174           QUOTE_TO_SITE_ID(1)      := QUOTE_TO_SITE_ID_CHR(a);
18175        EXCEPTION
18176        WHEN OTHERS THEN
18177          IF(CHR_ID(A) IS NOT NULL) THEN
18178            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
18179            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18180            CLOSE L_HDR_DTLS_CSR;
18181            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
18182            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18183            L_ERROR_MSG      := SQLERRM;
18184            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18185                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18186                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18187                                       ERROR_MSG)
18188                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18189                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18190                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR(a),
18191                                        L_ERROR_MSG );
18192 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT2_ID1' ||L_ATTRIBUTE_NAME || QUOTE_TO_SITE_ID_CHR(a)  );
18193          END IF;
18194 	 IF(CLE_ID(A) IS NOT NULL) THEN
18195            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
18196            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18197            CLOSE L_LINE_DTLS_CSR;
18198            FND_MESSAGE.CLEAR;
18199            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
18200            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18201            L_ERROR_MSG      := SQLERRM;
18202            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18203                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18204                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18205                                       ERROR_MSG)
18206                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18207                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18208                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR(a),
18209                                        L_ERROR_MSG );
18210           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18211 
18212 	 END IF;
18213 
18214        END;
18215 
18216        --17. Validation for QTO ( QUOTE_TO_EMAIL_ID ) rule.
18217        BEGIN
18218           QUOTE_TO_EMAIL_ID(1)      := QUOTE_TO_EMAIL_ID_CHR(a);
18219        EXCEPTION
18220        WHEN OTHERS THEN
18221          IF(CHR_ID(A) IS NOT NULL) THEN
18222            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
18223            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18224            CLOSE L_HDR_DTLS_CSR;
18225            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
18226            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18227            L_ERROR_MSG      := SQLERRM;
18228            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18229                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18230                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18231                                       ERROR_MSG)
18232                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18233                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18234                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR(a),
18235                                        L_ERROR_MSG );
18236 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1'  ||L_ATTRIBUTE_NAME || QUOTE_TO_EMAIL_ID_CHR(a)  );
18237          END IF;
18238 	 IF(CLE_ID(A) IS NOT NULL) THEN
18239            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
18240            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18241            CLOSE L_LINE_DTLS_CSR;
18242            FND_MESSAGE.CLEAR;
18243            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
18244            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18245            L_ERROR_MSG      := SQLERRM;
18246            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18247                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18248                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18249                                       ERROR_MSG)
18250                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18251                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18252                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR(a),
18253                                        L_ERROR_MSG );
18254           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18255 
18256 	 END IF;
18257 
18258        END;
18259 
18260        --18. Validation for QTO ( QUOTE_TO_PHONE_ID ) rule.
18261        BEGIN
18262           QUOTE_TO_PHONE_ID(1)      := QUOTE_TO_PHONE_ID_CHR(a);
18263        EXCEPTION
18264        WHEN OTHERS THEN
18265          IF(CHR_ID(A) IS NOT NULL) THEN
18266            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
18267            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18268            CLOSE L_HDR_DTLS_CSR;
18269            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
18270            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18271            L_ERROR_MSG      := SQLERRM;
18272            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18273                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18274                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18275                                       ERROR_MSG)
18276                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18277                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18278                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR(a),
18279                                        L_ERROR_MSG );
18280 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || QUOTE_TO_PHONE_ID_CHR(a)  );
18281          END IF;
18282 	 IF(CLE_ID(A) IS NOT NULL) THEN
18283            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
18284            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18285            CLOSE L_LINE_DTLS_CSR;
18286            FND_MESSAGE.CLEAR;
18287            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
18288            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18289            L_ERROR_MSG      := SQLERRM;
18290            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18291                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18292                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18293                                       ERROR_MSG)
18294                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18295                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18296                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR(a),
18297                                        L_ERROR_MSG );
18298           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18299 
18300 	 END IF;
18301 
18302        END;
18303 
18304        --19. Validation for QTO ( QUOTE_TO_FAX_ID ) rule.
18305        BEGIN
18306           QUOTE_TO_FAX_ID(1)      := QUOTE_TO_FAX_ID_CHR(a);
18307        EXCEPTION
18308        WHEN OTHERS THEN
18309          IF(CHR_ID(A) IS NOT NULL) THEN
18310            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QTO');
18311            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18312            CLOSE L_HDR_DTLS_CSR;
18313            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
18314            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18315            L_ERROR_MSG      := SQLERRM;
18316            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18317                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18318                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18319                                       ERROR_MSG)
18320                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18321                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18322                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR(a),
18323                                        L_ERROR_MSG );
18324 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || QUOTE_TO_FAX_ID_CHR(a)  );
18325          END IF;
18326 	 IF(CLE_ID(A) IS NOT NULL) THEN
18327            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QTO') ;
18328            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18329            CLOSE L_LINE_DTLS_CSR;
18330            FND_MESSAGE.CLEAR;
18331            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
18332            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18333            L_ERROR_MSG      := SQLERRM;
18334            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18335                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18336                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18337                                       ERROR_MSG)
18338                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18339                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18340                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR(a),
18341                                        L_ERROR_MSG );
18342           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18343 
18344 	 END IF;
18345 
18346        END;
18347 
18348        --20. Validation for RPT ( RENEWAL_PRICE_LIST ) rule.
18349        BEGIN
18350           RENEWAL_PRICE_LIST(1)      := RENEWAL_PRICE_LIST_CHR(a);
18351        EXCEPTION
18352        WHEN OTHERS THEN
18353          IF(CHR_ID(A) IS NOT NULL) THEN
18354            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
18355            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18356            CLOSE L_HDR_DTLS_CSR;
18357            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
18358            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18359            L_ERROR_MSG      := SQLERRM;
18360            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18361                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18362                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18363                                       ERROR_MSG)
18364                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18365                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18366                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR(a),
18367                                        L_ERROR_MSG );
18368 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RENEWAL_PRICE_LIST_CHR(a)  );
18369          END IF;
18370 	 IF(CLE_ID(A) IS NOT NULL) THEN
18371            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RPT') ;
18372            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18373            CLOSE L_LINE_DTLS_CSR;
18374            FND_MESSAGE.CLEAR;
18375            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
18376            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18377            L_ERROR_MSG      := SQLERRM;
18378            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18379                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18380                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18381                                       ERROR_MSG)
18382                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18383                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18384                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR(a),
18385                                        L_ERROR_MSG );
18386           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18387 
18388 	 END IF;
18389 
18390        END;
18391 
18392        --21. Validation for RPT ( RENEWAL_MARKUP_PERCENT ) rule.
18393        BEGIN
18394           RENEWAL_MARKUP_PERCENT(1)      := RENEWAL_MARKUP_PERCENT_CHR(a);
18395        EXCEPTION
18396        WHEN OTHERS THEN
18397          IF(CHR_ID(A) IS NOT NULL) THEN
18398            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
18399            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18400            CLOSE L_HDR_DTLS_CSR;
18401            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
18402            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18403            L_ERROR_MSG      := SQLERRM;
18404            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18405                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18406                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18407                                       ERROR_MSG)
18408                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18409                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18410                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR(a),
18411                                        L_ERROR_MSG );
18412 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_MARKUP_PERCENT_CHR(a)  );
18413          END IF;
18414 	 IF(CLE_ID(A) IS NOT NULL) THEN
18415            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RPT') ;
18416            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18417            CLOSE L_LINE_DTLS_CSR;
18418            FND_MESSAGE.CLEAR;
18419            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
18420            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18421            L_ERROR_MSG      := SQLERRM;
18422            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18423                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18424                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18425                                       ERROR_MSG)
18426                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18427                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18428                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR(a),
18429                                        L_ERROR_MSG );
18430           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18431 
18432 	 END IF;
18433 
18434        END;
18435 
18436        --22. Validation for RPT ( RENEWAL_GRACE_DURATION ) rule.
18437        BEGIN
18438           RENEWAL_GRACE_DURATION(1)      := RENEWAL_GRACE_DURATION_CHR(a);
18439        EXCEPTION
18440        WHEN OTHERS THEN
18441          IF(CHR_ID(A) IS NOT NULL) THEN
18442            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RPT');
18443            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18444            CLOSE L_HDR_DTLS_CSR;
18445            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
18446            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18447            L_ERROR_MSG      := SQLERRM;
18448            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18449                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18450                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18451                                       ERROR_MSG)
18452                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18453                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18454                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR(a),
18455                                        L_ERROR_MSG );
18456 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || RENEWAL_GRACE_DURATION_CHR(a)  );
18457          END IF;
18458 	 IF(CLE_ID(A) IS NOT NULL) THEN
18459            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RPT') ;
18460            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18461            CLOSE L_LINE_DTLS_CSR;
18462            FND_MESSAGE.CLEAR;
18463            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
18464            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18465            L_ERROR_MSG      := SQLERRM;
18466            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18467                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18468                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18469                                       ERROR_MSG)
18470                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18471                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18472                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR(a),
18473                                        L_ERROR_MSG );
18474           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18475 
18476 	 END IF;
18477 
18478        END;
18479 
18480        --23. Validation for RER ( RENEWAL_EST_REV_PERCENT ) rule.
18481        BEGIN
18482           RENEWAL_EST_REV_PERCENT(1)      := RENEWAL_EST_REV_PERCENT_CHR(a);
18483        EXCEPTION
18484        WHEN OTHERS THEN
18485          IF(CHR_ID(A) IS NOT NULL) THEN
18486            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RER');
18487            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18488            CLOSE L_HDR_DTLS_CSR;
18489            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
18490            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18491            L_ERROR_MSG      := SQLERRM;
18492            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18493                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18494                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18495                                       ERROR_MSG)
18496                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18497                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18498                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR(a),
18499                                        L_ERROR_MSG );
18500 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RENEWAL_EST_REV_PERCENT_CHR(a)  );
18501          END IF;
18502 	 IF(CLE_ID(A) IS NOT NULL) THEN
18503            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RER') ;
18504            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18505            CLOSE L_LINE_DTLS_CSR;
18506            FND_MESSAGE.CLEAR;
18507            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
18508            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18509            L_ERROR_MSG      := SQLERRM;
18510            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18511                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18512                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18513                                       ERROR_MSG)
18514                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18515                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18516                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR(a),
18517                                        L_ERROR_MSG );
18518           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18519 
18520 	 END IF;
18521 
18522        END;
18523 
18524        --24. Validation for RER ( RENEWAL_EST_REV_DURATION ) rule.
18525        BEGIN
18526           RENEWAL_EST_REV_DURATION(1)      := RENEWAL_EST_REV_DURATION_CHR(a);
18527        EXCEPTION
18528        WHEN OTHERS THEN
18529          IF(CHR_ID(A) IS NOT NULL) THEN
18530            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RER');
18531            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18532            CLOSE L_HDR_DTLS_CSR;
18533            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
18534            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18535            L_ERROR_MSG      := SQLERRM;
18536            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18537                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18538                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18539                                       ERROR_MSG)
18540                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18541                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18542                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR(a),
18543                                        L_ERROR_MSG );
18544 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2'  ||L_ATTRIBUTE_NAME || RENEWAL_EST_REV_DURATION_CHR(a)  );
18545          END IF;
18546 	 IF(CLE_ID(A) IS NOT NULL) THEN
18547            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RER') ;
18548            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18549            CLOSE L_LINE_DTLS_CSR;
18550            FND_MESSAGE.CLEAR;
18551            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
18552            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18553            L_ERROR_MSG      := SQLERRM;
18554            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18555                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18556                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18557                                       ERROR_MSG)
18558                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18559                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18560                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR(a),
18561                                        L_ERROR_MSG );
18562           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18563 
18564 	 END IF;
18565 
18566        END;
18567 
18568        --25. Validation for RRU ( RENEWAL_PRICE_LIST_USED ) rule.
18569        BEGIN
18570           RENEWAL_PRICE_LIST_USED(1)      := RENEWAL_PRICE_LIST_USED_CHR(a);
18571        EXCEPTION
18572        WHEN OTHERS THEN
18573          IF(CHR_ID(A) IS NOT NULL) THEN
18574            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
18575            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18576            CLOSE L_HDR_DTLS_CSR;
18577            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
18578            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18579            L_ERROR_MSG      := SQLERRM;
18580            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18581                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18582                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18583                                       ERROR_MSG)
18584                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18585                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18586                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR(a),
18587                                        L_ERROR_MSG );
18588 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RENEWAL_PRICE_LIST_USED_CHR(a)  );
18589          END IF;
18590 	 IF(CLE_ID(A) IS NOT NULL) THEN
18591            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
18592            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18593            CLOSE L_LINE_DTLS_CSR;
18594            FND_MESSAGE.CLEAR;
18595            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
18596            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18597            L_ERROR_MSG      := SQLERRM;
18598            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18599                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18600                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18601                                       ERROR_MSG)
18602                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18603                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18604                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR(a),
18605                                        L_ERROR_MSG );
18606           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18607 
18608 	 END IF;
18609 
18610        END;
18611 
18612        --26. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
18613        BEGIN
18614           RENEWAL_NOTIFICATION_TO(1)      := RENEWAL_NOTIFICATION_TO_CHR(a);
18615        EXCEPTION
18616        WHEN OTHERS THEN
18617          IF(CHR_ID(A) IS NOT NULL) THEN
18618            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
18619            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18620            CLOSE L_HDR_DTLS_CSR;
18621            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
18622            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18623            L_ERROR_MSG      := SQLERRM;
18624            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18625                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18626                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18627                                       ERROR_MSG)
18628                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18629                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18630                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR(a),
18631                                        L_ERROR_MSG );
18632 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || RENEWAL_NOTIFICATION_TO_CHR(a)  );
18633          END IF;
18634 	 IF(CLE_ID(A) IS NOT NULL) THEN
18635            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
18636            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18637            CLOSE L_LINE_DTLS_CSR;
18638            FND_MESSAGE.CLEAR;
18639            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
18640            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18641            L_ERROR_MSG      := SQLERRM;
18642            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18643                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18644                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18645                                       ERROR_MSG)
18646                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18647                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18648                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR(a),
18649                                        L_ERROR_MSG );
18650           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18651 
18652 	 END IF;
18653 
18654        END;
18655 
18656        --27. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
18657        BEGIN
18658           RENEWAL_MARKUP_PERCENT_USED(1)      := RENEWAL_MARKUP_PERCENT_USED_CH(a);
18659        EXCEPTION
18660        WHEN OTHERS THEN
18661          IF(CHR_ID(A) IS NOT NULL) THEN
18662            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
18663            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18664            CLOSE L_HDR_DTLS_CSR;
18665            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
18666            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18667            L_ERROR_MSG      := SQLERRM;
18668            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18669                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18670                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18671                                       ERROR_MSG)
18672                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18673                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18674                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH(a),
18675                                        L_ERROR_MSG );
18676 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION5' ||L_ATTRIBUTE_NAME || RENEWAL_MARKUP_PERCENT_USED_CH(a)  );
18677          END IF;
18678 	 IF(CLE_ID(A) IS NOT NULL) THEN
18679            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
18680            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18681            CLOSE L_LINE_DTLS_CSR;
18682            FND_MESSAGE.CLEAR;
18683            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
18684            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18685            L_ERROR_MSG      := SQLERRM;
18686            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18687                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18688                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18689                                       ERROR_MSG)
18690                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18691                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18692                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH(a),
18693                                        L_ERROR_MSG );
18694           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18695 
18696 	 END IF;
18697 
18698        END;
18699 
18700        --28. Validation for RRU ( REV_EST_PERCENT_USED ) rule.
18701        BEGIN
18702           REV_EST_PERCENT_USED(1)      := REV_EST_PERCENT_USED_CHR(a);
18703        EXCEPTION
18704        WHEN OTHERS THEN
18705          IF(CHR_ID(A) IS NOT NULL) THEN
18706            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
18707            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18708            CLOSE L_HDR_DTLS_CSR;
18709            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
18710            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18711            L_ERROR_MSG      := SQLERRM;
18712            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18713                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18714                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18715                                       ERROR_MSG)
18716                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18717                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18718                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR(a),
18719                                        L_ERROR_MSG );
18720 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION6' ||L_ATTRIBUTE_NAME || REV_EST_PERCENT_USED_CHR(a)  );
18721          END IF;
18722 	 IF(CLE_ID(A) IS NOT NULL) THEN
18723            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
18724            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18725            CLOSE L_LINE_DTLS_CSR;
18726            FND_MESSAGE.CLEAR;
18727            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
18728            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18729            L_ERROR_MSG      := SQLERRM;
18730            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18731                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18732                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18733                                       ERROR_MSG)
18734                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18735                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18736                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR(a),
18737                                        L_ERROR_MSG );
18738           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18739 
18740 	 END IF;
18741 
18742        END;
18743 
18744        --29. Validation for RRU ( REV_EST_DURATION_USED ) rule.
18745        BEGIN
18746           REV_EST_DURATION_USED(1)      := REV_EST_DURATION_USED_CHR(a);
18747        EXCEPTION
18748        WHEN OTHERS THEN
18749          IF(CHR_ID(A) IS NOT NULL) THEN
18750            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
18751            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18752            CLOSE L_HDR_DTLS_CSR;
18753            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
18754            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18755            L_ERROR_MSG      := SQLERRM;
18756            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18757                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18758                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18759                                       ERROR_MSG)
18760                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18761                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18762                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR(a),
18763                                        L_ERROR_MSG );
18764 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION7'||L_ATTRIBUTE_NAME || REV_EST_DURATION_USED_CHR(a)  );
18765          END IF;
18766 	 IF(CLE_ID(A) IS NOT NULL) THEN
18767            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
18768            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18769            CLOSE L_LINE_DTLS_CSR;
18770            FND_MESSAGE.CLEAR;
18771            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
18772            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18773            L_ERROR_MSG      := SQLERRM;
18774            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18775                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18776                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18777                                       ERROR_MSG)
18778                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18779                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18780                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR(a),
18781                                        L_ERROR_MSG );
18782           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18783 
18784 	 END IF;
18785 
18786        END;
18787 
18788        --30. Validation for RRU ( BILLING_PROFILE_USED ) rule.
18789        BEGIN
18790           BILLING_PROFILE_USED(1)      := BILLING_PROFILE_USED_CHR(a);
18791        EXCEPTION
18792        WHEN OTHERS THEN
18793          IF(CHR_ID(A) IS NOT NULL) THEN
18794            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
18795            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18796            CLOSE L_HDR_DTLS_CSR;
18797            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
18798            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18799            L_ERROR_MSG      := SQLERRM;
18800            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18801                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18802                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18803                                       ERROR_MSG)
18804                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18805                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18806                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR(a),
18807                                        L_ERROR_MSG );
18808 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION9' ||L_ATTRIBUTE_NAME || BILLING_PROFILE_USED_CHR(a)  );
18809          END IF;
18810 	 IF(CLE_ID(A) IS NOT NULL) THEN
18811            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
18812            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18813            CLOSE L_LINE_DTLS_CSR;
18814            FND_MESSAGE.CLEAR;
18815            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
18816            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18817            L_ERROR_MSG      := SQLERRM;
18818            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18819                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18820                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18821                                       ERROR_MSG)
18822                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18823                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18824                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR(a),
18825                                        L_ERROR_MSG );
18826           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18827 
18828 	 END IF;
18829 
18830        END;
18831 
18832        --31. Validation for RRU ( EVN_THRESHOLD_AMT ) rule.
18833        BEGIN
18834           EVN_THRESHOLD_AMT(1)      := EVN_THRESHOLD_AMT_CHR(a);
18835        EXCEPTION
18836        WHEN OTHERS THEN
18837          IF(CHR_ID(A) IS NOT NULL) THEN
18838            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
18839            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18840            CLOSE L_HDR_DTLS_CSR;
18841            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
18842            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18843            L_ERROR_MSG      := SQLERRM;
18844            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18845                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18846                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18847                                       ERROR_MSG)
18848                                 VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18849                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18850                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR(a),
18851                                        L_ERROR_MSG );
18852 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION11' ||L_ATTRIBUTE_NAME || EVN_THRESHOLD_AMT_CHR(a)  );
18853          END IF;
18854 	 IF(CLE_ID(A) IS NOT NULL) THEN
18855            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
18856            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18857            CLOSE L_LINE_DTLS_CSR;
18858            FND_MESSAGE.CLEAR;
18859            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
18860            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18861            L_ERROR_MSG      := SQLERRM;
18862            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18863                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18864                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18865                                       ERROR_MSG)
18866                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18867                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18868                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR(a),
18869                                        L_ERROR_MSG );
18870           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18871 
18872 	 END IF;
18873 
18874        END;
18875 
18876        --32. Validation for RRU ( ERN_THRESHOLD_AMT ) rule.
18877        BEGIN
18878           ERN_THRESHOLD_AMT(1)      := ERN_THRESHOLD_AMT_CHR(a);
18879        EXCEPTION
18880        WHEN OTHERS THEN
18881          IF(CHR_ID(A) IS NOT NULL) THEN
18882            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRU');
18883            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18884            CLOSE L_HDR_DTLS_CSR;
18885            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
18886            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18887            L_ERROR_MSG      := SQLERRM;
18888            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18889                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18890                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18891                                       ERROR_MSG)
18892                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18893                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18894                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR(a),
18895                                        L_ERROR_MSG );
18896 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || ERN_THRESHOLD_AMT_CHR(a)  );
18897          END IF;
18898 	 IF(CLE_ID(A) IS NOT NULL) THEN
18899            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRU') ;
18900            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18901            CLOSE L_LINE_DTLS_CSR;
18902            FND_MESSAGE.CLEAR;
18903            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
18904            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18905            L_ERROR_MSG      := SQLERRM;
18906            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18907                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18908                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18909                                       ERROR_MSG)
18910                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18911                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18912                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR(a),
18913                                        L_ERROR_MSG );
18914           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18915 
18916 	 END IF;
18917 
18918        END;
18919 
18920        --33. Validation for RRE ( RENEWAL_GRACE_DURATION_USED ) rule.
18921        BEGIN
18922           RENEWAL_GRACE_DURATION_USED(1)      := RENEWAL_GRACE_DURATION_USED_CH(a);
18923        EXCEPTION
18924        WHEN OTHERS THEN
18925          IF(CHR_ID(A) IS NOT NULL) THEN
18926            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RRE');
18927            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18928            CLOSE L_HDR_DTLS_CSR;
18929            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
18930            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18931            L_ERROR_MSG      := SQLERRM;
18932            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18933                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18934                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18935                                       ERROR_MSG)
18936                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18937                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18938                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH(a),
18939                                        L_ERROR_MSG );
18940 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RENEWAL_GRACE_DURATION_USED_CH(a)  );
18941          END IF;
18942 	 IF(CLE_ID(A) IS NOT NULL) THEN
18943            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RRE') ;
18944            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18945            CLOSE L_LINE_DTLS_CSR;
18946            FND_MESSAGE.CLEAR;
18947            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
18948            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18949            L_ERROR_MSG      := SQLERRM;
18950            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18951                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18952                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18953                                       ERROR_MSG)
18954                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18955                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
18956                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH(a),
18957                                        L_ERROR_MSG );
18958           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
18959 
18960 	 END IF;
18961 
18962        END;
18963 
18964        --34. Validation for PRE ( PRICE_LIST_ID ) rule.
18965        BEGIN
18966           PRICE_LIST_ID(1)      := PRICE_LIST_ID_CHR(a);
18967        EXCEPTION
18968        WHEN OTHERS THEN
18969          IF(CHR_ID(A) IS NOT NULL) THEN
18970            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PRE');
18971            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
18972            CLOSE L_HDR_DTLS_CSR;
18973            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
18974            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18975            L_ERROR_MSG      := SQLERRM;
18976            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
18977                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
18978                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
18979                                       ERROR_MSG)
18980                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
18981                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
18982                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR(a),
18983                                        L_ERROR_MSG );
18984 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_CHR(a)  );
18985          END IF;
18986 	 IF(CLE_ID(A) IS NOT NULL) THEN
18987            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PRE') ;
18988            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
18989            CLOSE L_LINE_DTLS_CSR;
18990            FND_MESSAGE.CLEAR;
18991            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
18992            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
18993            L_ERROR_MSG      := SQLERRM;
18994            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
18995                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
18996                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
18997                                       ERROR_MSG)
18998                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
18999                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19000                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR(a),
19001                                        L_ERROR_MSG );
19002           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
19003 
19004 	 END IF;
19005 
19006        END;
19007 
19008        --35. Validation for CVN ( CONVERSION_RATE ) rule.
19009        BEGIN
19010           CONVERSION_RATE(1)      := CONVERSION_RATE_CHR(a);
19011        EXCEPTION
19012        WHEN OTHERS THEN
19013          IF(CHR_ID(A) IS NOT NULL) THEN
19014            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CVN');
19015            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19016            CLOSE L_HDR_DTLS_CSR;
19017            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
19018            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19019            L_ERROR_MSG      := SQLERRM;
19020            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19021                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19022                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
19023                                       ERROR_MSG)
19024                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19025                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19026                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR(a),
19027                                        L_ERROR_MSG );
19028 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || CONVERSION_RATE_CHR(a)  );
19029          END IF;
19030 	 IF(CLE_ID(A) IS NOT NULL) THEN
19031            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'CVN') ;
19032            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19033            CLOSE L_LINE_DTLS_CSR;
19034            FND_MESSAGE.CLEAR;
19035            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
19036            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19037            L_ERROR_MSG      := SQLERRM;
19038            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19039                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19040                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19041                                       ERROR_MSG)
19042                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19043                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19044                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR(a),
19045                                        L_ERROR_MSG );
19046           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
19047 
19048 	 END IF;
19049 
19050        END;
19051 
19052        --36. Validation for CVN ( CONVERSION_EURO_RATE ) rule.
19053        BEGIN
19054           CONVERSION_EURO_RATE(1)      := CONVERSION_EURO_RATE_CHR(a);
19055        EXCEPTION
19056        WHEN OTHERS THEN
19057          IF(CHR_ID(A) IS NOT NULL) THEN
19058            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CVN');
19059            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19060            CLOSE L_HDR_DTLS_CSR;
19061            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
19062            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19063            L_ERROR_MSG      := SQLERRM;
19064            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19065                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19066                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
19067                                       ERROR_MSG)
19068                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19069                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19070                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR(a),
19071                                        L_ERROR_MSG );
19072 	   -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CONVERSION_EURO_RATE_CHR(a)  );
19073          END IF;
19074 	 IF(CLE_ID(A) IS NOT NULL) THEN
19075            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'CVN') ;
19076            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19077            CLOSE L_LINE_DTLS_CSR;
19078            FND_MESSAGE.CLEAR;
19079            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
19080            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19081            L_ERROR_MSG      := SQLERRM;
19082            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19083                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19084                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19085                                       ERROR_MSG)
19086                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19087                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19088                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR(a),
19089                                        L_ERROR_MSG );
19090           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
19091 
19092 	 END IF;
19093 
19094        END;
19095 
19096 /*
19097        --37. Validation for CCR ( CC_EXPIRY_DATE ) rule.
19098        BEGIN
19099           CC_EXPIRY_DATE(1)      := to_date(CC_EXPIRY_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
19100        EXCEPTION
19101        WHEN OTHERS THEN
19102           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'CCR');
19103           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19104           CLOSE L_HDR_DTLS_CSR;
19105           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
19106           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19107           L_ERROR_MSG      := SQLERRM;
19108           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19109                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19110                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
19111                                       ERROR_MSG)
19112                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19113                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19114                                       'CCR'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CC_EXPIRY_DATE_CHR(a),
19115                                        L_ERROR_MSG );
19116 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2'  ||L_ATTRIBUTE_NAME || CC_EXPIRY_DATE_CHR(a)  );
19117        END;
19118 */
19119 /*
19120        --38. Validation for RVE ( EST_REV_DATE ) rule.
19121        BEGIN
19122           EST_REV_DATE(1)      := to_date(EST_REV_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
19123        EXCEPTION
19124        WHEN OTHERS THEN
19125           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RVE');
19126           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19127           CLOSE L_HDR_DTLS_CSR;
19128           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_DATE');
19129           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19130           L_ERROR_MSG      := SQLERRM;
19131           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19132                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19133                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
19134                                       ERROR_MSG)
19135                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19136                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19137                                       'RVE'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , EST_REV_DATE_CHR(a),
19138                                        L_ERROR_MSG );
19139 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || EST_REV_DATE_CHR(a)  );
19140        END;
19141 
19142 */
19143 /*
19144        --39. Validation for REN ( RENEWAL_END_DATE ) rule.
19145        BEGIN
19146           RENEWAL_END_DATE(1)      := to_date(RENEWAL_END_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
19147        EXCEPTION
19148        WHEN OTHERS THEN
19149           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'REN');
19150           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19151           CLOSE L_HDR_DTLS_CSR;
19152           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_END_DATE');
19153           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19154           L_ERROR_MSG      := SQLERRM;
19155           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19156                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19157                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
19158                                       ERROR_MSG)
19159                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19160                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19161                                       'REN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_END_DATE_CHR(a),
19162                                        L_ERROR_MSG );
19163 	  -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || RENEWAL_END_DATE_CHR(a)  );
19164        END;
19165 */
19166 /*
19167        --40. Validation for REN ( CONVERSION_RATE_DATE ) rule.
19168        BEGIN
19169           CONVERSION_RATE_DATE(1)      := to_date(CONVERSION_RATE_DATE_CHR(a),'yyyy/mm/dd hh24:mi:ss');
19170        EXCEPTION
19171        WHEN OTHERS THEN
19172           OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'REN');
19173           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19174           CLOSE L_HDR_DTLS_CSR;
19175           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE_DATE');
19176           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19177           L_ERROR_MSG      := SQLERRM;
19178           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19179                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19180                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
19181                                       ERROR_MSG)
19182                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19183                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19184                                       'CVN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_DATE_CHR(a),
19185                                        L_ERROR_MSG );
19186 	 -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CONVERSION_RATE_DATE_CHR(a)  );
19187        END;
19188 */
19189 
19190 -----------------extra line rules---------------------------------------
19191        --41. Validation for DST rule .
19192        BEGIN
19193           DISCOUNT_LIST(1)      := DISCOUNT_LIST_CHR(a);
19194        EXCEPTION
19195        WHEN OTHERS THEN
19196 	 IF(CHR_ID(A) IS NOT NULL) THEN
19197            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'DST') ;
19198            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19199            CLOSE L_HDR_DTLS_CSR;
19200            FND_MESSAGE.CLEAR;
19201            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
19202            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19203            L_ERROR_MSG      := SQLERRM;
19204            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19205                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19206                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19207                                       ERROR_MSG)
19208                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19209                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19210                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR(a),
19211                                        L_ERROR_MSG );
19212            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19213 
19214 	 END IF;
19215 
19216          IF(CLE_ID(A) IS NOT NULL) THEN
19217            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'DST') ;
19218            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19219            CLOSE L_LINE_DTLS_CSR;
19220            FND_MESSAGE.CLEAR;
19221            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
19222            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19223            L_ERROR_MSG      := SQLERRM;
19224            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19225                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, LINE_NUMBER, SCRIPT_NAME  ,
19226                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19227                                       ERROR_MSG)
19228                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19229                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19230                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR(a),
19231                                        L_ERROR_MSG );
19232            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || DISCOUNT_LIST_CHR(a) );
19233          END IF;
19234        END;
19235        --42. Validation for PDL rule .
19236        BEGIN
19237           CLVL_LIST_PRICE(1)      := CLVL_LIST_PRICE_CHR(a);
19238        EXCEPTION
19239        WHEN OTHERS THEN
19240 	 IF(CHR_ID(A) IS NOT NULL) THEN
19241            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
19242            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19243            CLOSE L_HDR_DTLS_CSR;
19244            FND_MESSAGE.CLEAR;
19245            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
19246            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19247            L_ERROR_MSG      := SQLERRM;
19248            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19249                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19250                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19251                                       ERROR_MSG)
19252                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19253                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19254                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR(a),
19255                                        L_ERROR_MSG );
19256            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19257 
19258 	 END IF;
19259 
19260          IF(CLE_ID(A) IS NOT NULL) THEN
19261            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
19262            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19263            CLOSE L_LINE_DTLS_CSR;
19264            FND_MESSAGE.CLEAR;
19265            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
19266            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19267            L_ERROR_MSG      := SQLERRM;
19268            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19269                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19270                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19271                                       ERROR_MSG)
19272                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19273                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19274                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR(a),
19275                                        L_ERROR_MSG );
19276            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || CLVL_LIST_PRICE_CHR(a) );
19277          END IF;
19278        END;
19279 
19280        --43. Validation for PDL rule .
19281        BEGIN
19282           CLVL_QUANTITY(1)      := CLVL_QUANTITY_CHR(a);
19283        EXCEPTION
19284        WHEN OTHERS THEN
19285 	 IF(CHR_ID(A) IS NOT NULL) THEN
19286            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
19287            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19288            CLOSE L_HDR_DTLS_CSR;
19289            FND_MESSAGE.CLEAR;
19290            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
19291            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19292            L_ERROR_MSG      := SQLERRM;
19293            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19294                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19295                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19296                                       ERROR_MSG)
19297                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19298                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19299                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR(a),
19300                                        L_ERROR_MSG );
19301            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19302 
19303 	 END IF;
19304 
19305          IF(CLE_ID(A) IS NOT NULL) THEN
19306            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
19307            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19308            CLOSE L_LINE_DTLS_CSR;
19309            FND_MESSAGE.CLEAR;
19310            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
19311            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19312            L_ERROR_MSG      := SQLERRM;
19313            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19314                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19315                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19316                                       ERROR_MSG)
19317                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19318                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19319                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR(a),
19320                                        L_ERROR_MSG );
19321            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || CLVL_QUANTITY_CHR(a) );
19322          END IF;
19323        END;
19324 
19325        --44. Validation for PDL rule .
19326        BEGIN
19327           CLVL_EXTENDED_AMT(1)      := CLVL_EXTENDED_AMT_CHR(a);
19328        EXCEPTION
19329        WHEN OTHERS THEN
19330 	 IF(CHR_ID(A) IS NOT NULL) THEN
19331            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
19332            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19333            CLOSE L_HDR_DTLS_CSR;
19334            FND_MESSAGE.CLEAR;
19335            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
19336            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19337            L_ERROR_MSG      := SQLERRM;
19338            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19339                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19340                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19341                                       ERROR_MSG)
19342                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19343                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19344                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR(a),
19345                                        L_ERROR_MSG );
19346            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19347 
19348 	 END IF;
19349 
19350          IF(CLE_ID(A) IS NOT NULL) THEN
19351            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
19352            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19353            CLOSE L_LINE_DTLS_CSR;
19354            FND_MESSAGE.CLEAR;
19355            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
19356            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19357            L_ERROR_MSG      := SQLERRM;
19358            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19359                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19360                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19361                                       ERROR_MSG)
19362                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19363                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19364                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR(a),
19365                                        L_ERROR_MSG );
19366            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION3' ||L_ATTRIBUTE_NAME || CLVL_EXTENDED_AMT_CHR(a) );
19367          END IF;
19368        END;
19369 
19370        --45. Validation for PDL rule .
19371        BEGIN
19372           TOPLVL_OPERAND_VAL(1)      := TOPLVL_OPERAND_VAL_CHR(a);
19373        EXCEPTION
19374        WHEN OTHERS THEN
19375 	 IF(CHR_ID(A) IS NOT NULL) THEN
19376            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
19377            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19378            CLOSE L_HDR_DTLS_CSR;
19379            FND_MESSAGE.CLEAR;
19380            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
19381            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19382            L_ERROR_MSG      := SQLERRM;
19383            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19384                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19385                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19386                                       ERROR_MSG)
19387                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19388                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19389                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR(a),
19390                                        L_ERROR_MSG );
19391            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19392 
19393 	 END IF;
19394 
19395          IF(CLE_ID(A) IS NOT NULL) THEN
19396            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
19397            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19398            CLOSE L_LINE_DTLS_CSR;
19399            FND_MESSAGE.CLEAR;
19400            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
19401            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19402            L_ERROR_MSG      := SQLERRM;
19403            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19404                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19405                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19406                                       ERROR_MSG)
19407                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19408                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19409                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR(a),
19410                                        L_ERROR_MSG );
19411            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION6' ||L_ATTRIBUTE_NAME || TOPLVL_OPERAND_VAL_CHR(a) );
19412          END IF;
19413        END;
19414 
19415        --46. Validation for PDL rule .
19416        BEGIN
19417           TOPLVL_QUANTITY(1)      := TOPLVL_QUANTITY_CHR(a);
19418        EXCEPTION
19419        WHEN OTHERS THEN
19420 	 IF(CHR_ID(A) IS NOT NULL) THEN
19421            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
19422            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19423            CLOSE L_HDR_DTLS_CSR;
19424            FND_MESSAGE.CLEAR;
19425            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
19426            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19427            L_ERROR_MSG      := SQLERRM;
19428            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19429                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19430                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19431                                       ERROR_MSG)
19432                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19433                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19434                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR(a),
19435                                        L_ERROR_MSG );
19436            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19437 
19438 	 END IF;
19439 
19440          IF(CLE_ID(A) IS NOT NULL) THEN
19441            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
19442            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19443            CLOSE L_LINE_DTLS_CSR;
19444            FND_MESSAGE.CLEAR;
19445            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
19446            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19447            L_ERROR_MSG      := SQLERRM;
19448            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19449                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19450                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19451                                       ERROR_MSG)
19452                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19453                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19454                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR(a),
19455                                        L_ERROR_MSG );
19456            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION8' ||L_ATTRIBUTE_NAME || TOPLVL_QUANTITY_CHR(a) );
19457          END IF;
19458        END;
19459 
19460        --47. Validation for PDL rule .
19461        BEGIN
19462           TOPLVL_ADJ_PRICE(1)      := TOPLVL_ADJ_PRICE_CHR(a);
19463        EXCEPTION
19464        WHEN OTHERS THEN
19465 	 IF(CHR_ID(A) IS NOT NULL) THEN
19466            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
19467            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19468            CLOSE L_HDR_DTLS_CSR;
19469            FND_MESSAGE.CLEAR;
19470            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
19471            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19472            L_ERROR_MSG      := SQLERRM;
19473            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19474                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19475                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19476                                       ERROR_MSG)
19477                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19478                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19479                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR(a),
19480                                        L_ERROR_MSG );
19481            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19482 
19483 	 END IF;
19484 
19485          IF(CLE_ID(A) IS NOT NULL) THEN
19486            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
19487            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19488            CLOSE L_LINE_DTLS_CSR;
19489            FND_MESSAGE.CLEAR;
19490            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
19491            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19492            L_ERROR_MSG      := SQLERRM;
19493            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19494                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19495                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19496                                       ERROR_MSG)
19497                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19498                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19499                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR(a),
19500                                        L_ERROR_MSG );
19501            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION10' ||L_ATTRIBUTE_NAME || TOPLVL_ADJ_PRICE_CHR(a) );
19502          END IF;
19503        END;
19504 
19505        --48. Validation for PDL rule .
19506        BEGIN
19507           TOPLVL_PRICE_QTY(1)      := TOPLVL_PRICE_QTY_CHR(a);
19508        EXCEPTION
19509        WHEN OTHERS THEN
19510 	 IF(CHR_ID(A) IS NOT NULL) THEN
19511            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PDL') ;
19512            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19513            CLOSE L_HDR_DTLS_CSR;
19514            FND_MESSAGE.CLEAR;
19515            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
19516            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19517            L_ERROR_MSG      := SQLERRM;
19518            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19519                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19520                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19521                                       ERROR_MSG)
19522                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19523                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19524                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR(a),
19525                                        L_ERROR_MSG );
19526            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19527 
19528 	 END IF;
19529 
19530          IF(CLE_ID(A) IS NOT NULL) THEN
19531            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PDL') ;
19532            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19533            CLOSE L_LINE_DTLS_CSR;
19534            FND_MESSAGE.CLEAR;
19535            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
19536            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19537            L_ERROR_MSG      := SQLERRM;
19538            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19539                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19540                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19541                                       ERROR_MSG)
19542                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19543                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19544                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR(a),
19545                                        L_ERROR_MSG );
19546            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || TOPLVL_PRICE_QTY_CHR(a) );
19547          END IF;
19548        END;
19549 
19550        --49. Validation for QRE rule .
19551        BEGIN
19552           AVERAGING_INTERVAL(1)      := AVERAGING_INTERVAL_CHR(a);
19553        EXCEPTION
19554        WHEN OTHERS THEN
19555 	 IF(CHR_ID(A) IS NOT NULL) THEN
19556            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
19557            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19558            CLOSE L_HDR_DTLS_CSR;
19559            FND_MESSAGE.CLEAR;
19560            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
19561            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19562            L_ERROR_MSG      := SQLERRM;
19563            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19564                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19565                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19566                                       ERROR_MSG)
19567                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19568                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19569                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR(a),
19570                                        L_ERROR_MSG );
19571            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19572 
19573 	 END IF;
19574 
19575          IF(CLE_ID(A) IS NOT NULL) THEN
19576            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
19577            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19578            CLOSE L_LINE_DTLS_CSR;
19579            FND_MESSAGE.CLEAR;
19580            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
19581            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19582            L_ERROR_MSG      := SQLERRM;
19583            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19584                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19585                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19586                                       ERROR_MSG)
19587                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19588                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19589                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR(a),
19590                                        L_ERROR_MSG );
19591            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || AVERAGING_INTERVAL_CHR(a) );
19592          END IF;
19593        END;
19594 
19595        --50. Validation for QRE rule .
19596        BEGIN
19597           MINIMUM_QUANTITY(1)      := MINIMUM_QUANTITY_CHR(a);
19598        EXCEPTION
19599        WHEN OTHERS THEN
19600 	 IF(CHR_ID(A) IS NOT NULL) THEN
19601            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
19602            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19603            CLOSE L_HDR_DTLS_CSR;
19604            FND_MESSAGE.CLEAR;
19605            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
19606            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19607            L_ERROR_MSG      := SQLERRM;
19608            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19609                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19610                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19611                                       ERROR_MSG)
19612                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19613                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19614                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR(a),
19615                                        L_ERROR_MSG );
19616            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19617 
19618 	 END IF;
19619 
19620          IF(CLE_ID(A) IS NOT NULL) THEN
19621            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
19622            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19623            CLOSE L_LINE_DTLS_CSR;
19624            FND_MESSAGE.CLEAR;
19625            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
19626            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19627            L_ERROR_MSG      := SQLERRM;
19628            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19629                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19630                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19631                                       ERROR_MSG)
19632                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19633                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19634                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR(a),
19635                                        L_ERROR_MSG );
19636            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || MINIMUM_QUANTITY_CHR(a) );
19637          END IF;
19638        END;
19639 
19640 
19641        --51. Validation for QRE rule .
19642        BEGIN
19643           DEFAULT_QUANTITY(1)      := DEFAULT_QUANTITY_CHR(a);
19644        EXCEPTION
19645        WHEN OTHERS THEN
19646 	 IF(CHR_ID(A) IS NOT NULL) THEN
19647            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
19648            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19649            CLOSE L_HDR_DTLS_CSR;
19650            FND_MESSAGE.CLEAR;
19651            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
19652            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19653            L_ERROR_MSG      := SQLERRM;
19654            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19655                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19656                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19657                                       ERROR_MSG)
19658                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19659                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19660                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR(a),
19661                                        L_ERROR_MSG );
19662            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19663 
19664 	 END IF;
19665 
19666          IF(CLE_ID(A) IS NOT NULL) THEN
19667            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
19668            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19669            CLOSE L_LINE_DTLS_CSR;
19670            FND_MESSAGE.CLEAR;
19671            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
19672            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19673            L_ERROR_MSG      := SQLERRM;
19674            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19675                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19676                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19677                                       ERROR_MSG)
19678                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19679                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19680                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR(a),
19681                                        L_ERROR_MSG );
19682            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION5' ||L_ATTRIBUTE_NAME || DEFAULT_QUANTITY_CHR(a) );
19683          END IF;
19684        END;
19685 
19686        --52. Validation for QRE rule .
19687        BEGIN
19688           FIXED_QUANTITY(1)      := FIXED_QUANTITY_CHR(a);
19689        EXCEPTION
19690        WHEN OTHERS THEN
19691 	 IF(CHR_ID(A) IS NOT NULL) THEN
19692            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
19693            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19694            CLOSE L_HDR_DTLS_CSR;
19695            FND_MESSAGE.CLEAR;
19696            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
19697            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19698            L_ERROR_MSG      := SQLERRM;
19699            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19700                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19701                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19702                                       ERROR_MSG)
19703                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19704                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19705                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR(a),
19706                                        L_ERROR_MSG );
19707            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19708 
19709 	 END IF;
19710 
19711          IF(CLE_ID(A) IS NOT NULL) THEN
19712            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
19713            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19714            CLOSE L_LINE_DTLS_CSR;
19715            FND_MESSAGE.CLEAR;
19716            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
19717            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19718            L_ERROR_MSG      := SQLERRM;
19719            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19720                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19721                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19722                                       ERROR_MSG)
19723                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19724                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19725                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR(a),
19726                                        L_ERROR_MSG );
19727            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION7' ||L_ATTRIBUTE_NAME || FIXED_QUANTITY_CHR(a) );
19728          END IF;
19729        END;
19730 
19731        --53. Validation for QRE rule .
19732        BEGIN
19733           USAGE_DURATION(1)      := USAGE_DURATION_CHR(a);
19734        EXCEPTION
19735        WHEN OTHERS THEN
19736 	 IF(CHR_ID(A) IS NOT NULL) THEN
19737            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
19738            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19739            CLOSE L_HDR_DTLS_CSR;
19740            FND_MESSAGE.CLEAR;
19741            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
19742            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19743            L_ERROR_MSG      := SQLERRM;
19744            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19745                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19746                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19747                                       ERROR_MSG)
19748                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19749                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19750                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR(a),
19751                                        L_ERROR_MSG );
19752            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19753 
19754 	 END IF;
19755 
19756          IF(CLE_ID(A) IS NOT NULL) THEN
19757            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
19758            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19759            CLOSE L_LINE_DTLS_CSR;
19760            FND_MESSAGE.CLEAR;
19761            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
19762            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19763            L_ERROR_MSG      := SQLERRM;
19764            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19765                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19766                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19767                                       ERROR_MSG)
19768                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19769                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19770                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR(a),
19771                                        L_ERROR_MSG );
19772            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION8' ||L_ATTRIBUTE_NAME || USAGE_DURATION_CHR(a) );
19773          END IF;
19774        END;
19775 
19776        --54. Validation for QRE rule .
19777        BEGIN
19778           BASE_READING(1)      := BASE_READING_CHR(a);
19779        EXCEPTION
19780        WHEN OTHERS THEN
19781 	 IF(CHR_ID(A) IS NOT NULL) THEN
19782            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'QRE') ;
19783            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19784            CLOSE L_HDR_DTLS_CSR;
19785            FND_MESSAGE.CLEAR;
19786            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
19787            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19788            L_ERROR_MSG      := SQLERRM;
19789            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19790                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19791                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19792                                       ERROR_MSG)
19793                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19794                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19795                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR(a),
19796                                        L_ERROR_MSG );
19797            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19798 
19799 	 END IF;
19800 
19801          IF(CLE_ID(A) IS NOT NULL) THEN
19802            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'QRE') ;
19803            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19804            CLOSE L_LINE_DTLS_CSR;
19805            FND_MESSAGE.CLEAR;
19806            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
19807            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19808            L_ERROR_MSG      := SQLERRM;
19809            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19810                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19811                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19812                                       ERROR_MSG)
19813                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19814                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19815                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR(a),
19816                                        L_ERROR_MSG );
19817            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION13' ||L_ATTRIBUTE_NAME || BASE_READING_CHR(a) );
19818          END IF;
19819        END;
19820 
19821       --55
19822        BEGIN
19823           EXCEPTION_COV_ID(1)      := EXCEPTION_COV_ID_chr(a);
19824        EXCEPTION
19825        WHEN OTHERS THEN
19826 	 IF(CHR_ID(A) IS NOT NULL) THEN
19827            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'ECE') ;
19828            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19829            CLOSE L_HDR_DTLS_CSR;
19830            FND_MESSAGE.CLEAR;
19831            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
19832            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19833            L_ERROR_MSG      := SQLERRM;
19834            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19835                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19836                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19837                                       ERROR_MSG)
19838                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19839                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19840                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr(a),
19841                                        L_ERROR_MSG );
19842            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19843 
19844 	 END IF;
19845 
19846          IF(CLE_ID(A) IS NOT NULL) THEN
19847            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'ECE') ;
19848            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19849            CLOSE L_LINE_DTLS_CSR;
19850            FND_MESSAGE.CLEAR;
19851            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
19852            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19853            L_ERROR_MSG      := SQLERRM;
19854            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19855                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19856                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19857                                       ERROR_MSG)
19858                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19859                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19860                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr(a),
19861                                        L_ERROR_MSG );
19862            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EXCEPTION_COV_ID_chr(a));
19863          END IF;
19864        END;
19865 
19866        --56
19867        BEGIN
19868           PM_PROGRAM_ID(1)      := PM_PROGRAM_ID_chr(a);
19869        EXCEPTION
19870        WHEN OTHERS THEN
19871 	 IF(CHR_ID(A) IS NOT NULL) THEN
19872            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'PMP') ;
19873            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19874            CLOSE L_HDR_DTLS_CSR;
19875            FND_MESSAGE.CLEAR;
19876            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
19877            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19878            L_ERROR_MSG      := SQLERRM;
19879            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19880                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19881                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19882                                       ERROR_MSG)
19883                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19884                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19885                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr(a),
19886                                        L_ERROR_MSG );
19887            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19888 
19889 	 END IF;
19890 
19891          IF(CLE_ID(A) IS NOT NULL) THEN
19892            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'PMP') ;
19893            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19894            CLOSE L_LINE_DTLS_CSR;
19895            FND_MESSAGE.CLEAR;
19896            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
19897            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19898            L_ERROR_MSG      := SQLERRM;
19899            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19900                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19901                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19902                                       ERROR_MSG)
19903                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19904                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19905                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr(a),
19906                                        L_ERROR_MSG );
19907            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PM_PROGRAM_ID_chr(a));
19908          END IF;
19909        END;
19910        --57
19911        BEGIN
19912           RCN_INCIDENT_SEVERITY_ID(1)      := RCN_INCIDENT_SEVERITY_ID_chr(a);
19913        EXCEPTION
19914        WHEN OTHERS THEN
19915 	 IF(CHR_ID(A) IS NOT NULL) THEN
19916            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RCN') ;
19917            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19918            CLOSE L_HDR_DTLS_CSR;
19919            FND_MESSAGE.CLEAR;
19920            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
19921            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19922            L_ERROR_MSG      := SQLERRM;
19923            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19924                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19925                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19926                                       ERROR_MSG)
19927                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19928                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19929                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr(a),
19930                                        L_ERROR_MSG );
19931            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19932 
19933 	 END IF;
19934 
19935          IF(CLE_ID(A) IS NOT NULL) THEN
19936            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RCN') ;
19937            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19938            CLOSE L_LINE_DTLS_CSR;
19939            FND_MESSAGE.CLEAR;
19940            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
19941            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19942            L_ERROR_MSG      := SQLERRM;
19943            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19944                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19945                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19946                                       ERROR_MSG)
19947                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19948                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19949                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr(a),
19950                                        L_ERROR_MSG );
19951            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RCN_INCIDENT_SEVERITY_ID_chr(a));
19952          END IF;
19953        END;
19954 
19955        --58
19956        BEGIN
19957           RCN_PDF_ID(1)      := RCN_PDF_ID_chr(a);
19958        EXCEPTION
19959        WHEN OTHERS THEN
19960 	 IF(CHR_ID(A) IS NOT NULL) THEN
19961            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'RCN') ;
19962            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
19963            CLOSE L_HDR_DTLS_CSR;
19964            FND_MESSAGE.CLEAR;
19965            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
19966            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19967            L_ERROR_MSG      := SQLERRM;
19968            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
19969                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
19970                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19971                                       ERROR_MSG)
19972                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
19973                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
19974                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr(a),
19975                                        L_ERROR_MSG );
19976            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
19977 
19978 	 END IF;
19979 
19980          IF(CLE_ID(A) IS NOT NULL) THEN
19981            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'RCN') ;
19982            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
19983            CLOSE L_LINE_DTLS_CSR;
19984            FND_MESSAGE.CLEAR;
19985            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
19986            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
19987            L_ERROR_MSG      := SQLERRM;
19988            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
19989                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
19990                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
19991                                       ERROR_MSG)
19992                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
19993                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
19994                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr(a),
19995                                        L_ERROR_MSG );
19996           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RCN_PDF_ID_chr(a));
19997          END IF;
19998        END;
19999 
20000        --59
20001 
20002        BEGIN
20003           LIMIT_UOM_QUANTIFIED(1)      := LIMIT_UOM_QUANTIFIED_chr(a);
20004        EXCEPTION
20005        WHEN OTHERS THEN
20006 	 IF(CHR_ID(A) IS NOT NULL) THEN
20007            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'LMT') ;
20008            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
20009            CLOSE L_HDR_DTLS_CSR;
20010            FND_MESSAGE.CLEAR;
20011            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LIMIT_UOM_QUANTIFIED');
20012            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
20013            L_ERROR_MSG      := SQLERRM;
20014            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
20015                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
20016                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
20017                                       ERROR_MSG)
20018                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
20019                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
20020                                       'LMT'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,LIMIT_UOM_QUANTIFIED_chr(a),
20021                                        L_ERROR_MSG );
20022            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
20023 
20024 	 END IF;
20025 
20026          IF(CLE_ID(A) IS NOT NULL) THEN
20027            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'LMT') ;
20028            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
20029            CLOSE L_LINE_DTLS_CSR;
20030            FND_MESSAGE.CLEAR;
20031            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LIMIT_UOM_QUANTIFIED');
20032            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
20033            L_ERROR_MSG      := SQLERRM;
20034            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
20035                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
20036                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
20037                                       ERROR_MSG)
20038                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
20039                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
20040                                       'LMT'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,LIMIT_UOM_QUANTIFIED_chr(a),
20041                                        L_ERROR_MSG );
20042            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || LIMIT_UOM_QUANTIFIED_chr(a));
20043          END IF;
20044        END;
20045 
20046      --60
20047        BEGIN
20048           DISCOUNT_AMOUNT(1)      := DISCOUNT_AMOUNT_chr(a);
20049        EXCEPTION
20050        WHEN OTHERS THEN
20051 	 IF(CHR_ID(A) IS NOT NULL) THEN
20052            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'LMT') ;
20053            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
20054            CLOSE L_HDR_DTLS_CSR;
20055            FND_MESSAGE.CLEAR;
20056            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
20057            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
20058            L_ERROR_MSG      := SQLERRM;
20059            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
20060                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
20061                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
20062                                       ERROR_MSG)
20063                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
20064                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
20065                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr(a),
20066                                        L_ERROR_MSG );
20067            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
20068 
20069 	 END IF;
20070 
20071          IF(CLE_ID(A) IS NOT NULL) THEN
20072            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'LMT') ;
20073            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
20074            CLOSE L_LINE_DTLS_CSR;
20075            FND_MESSAGE.CLEAR;
20076            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
20077            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
20078            L_ERROR_MSG      := SQLERRM;
20079            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
20080                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
20081                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
20082                                       ERROR_MSG)
20083                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
20084                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
20085                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr(a),
20086                                        L_ERROR_MSG );
20087           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || DISCOUNT_AMOUNT_chr(a));
20088          END IF;
20089        END;
20090 
20091       --61
20092        BEGIN
20093           DISCOUNT_PERCENT(1)      := DISCOUNT_PERCENT_chr(a);
20094        EXCEPTION
20095        WHEN OTHERS THEN
20096 	 IF(CHR_ID(A) IS NOT NULL) THEN
20097            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'LMT') ;
20098            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
20099            CLOSE L_HDR_DTLS_CSR;
20100            FND_MESSAGE.CLEAR;
20101            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
20102            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
20103            L_ERROR_MSG      := SQLERRM;
20104            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
20105                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
20106                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
20107                                       ERROR_MSG)
20108                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
20109                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
20110                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr(a),
20111                                        L_ERROR_MSG );
20112            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
20113 
20114 	 END IF;
20115 
20116          IF(CLE_ID(A) IS NOT NULL) THEN
20117            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'LMT') ;
20118            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
20119            CLOSE L_LINE_DTLS_CSR;
20120            FND_MESSAGE.CLEAR;
20121            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
20122            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
20123            L_ERROR_MSG      := SQLERRM;
20124            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
20125                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
20126                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
20127                                       ERROR_MSG)
20128                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
20129                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
20130                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr(a),
20131                                        L_ERROR_MSG );
20132           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
20133          END IF;
20134        END;
20135 ----------------------------------------------------------------------------------------------------------------------
20136 
20137        --62
20138        BEGIN
20139           LEVEL_AMOUNT(1)      := LEVEL_AMOUNT_CHR(a);
20140        EXCEPTION
20141        WHEN OTHERS THEN
20142 	 IF(CHR_ID(A) IS NOT NULL) THEN
20143            OPEN  L_HDR_DTLS_CSR(CHR_ID(A),'SLL') ;
20144            FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
20145            CLOSE L_HDR_DTLS_CSR;
20146            FND_MESSAGE.CLEAR;
20147            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LEVEL_AMOUNT');
20148            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
20149            L_ERROR_MSG      := SQLERRM;
20150            INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
20151                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER,MAJOR_VERSION, SCRIPT_NAME  ,
20152                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
20153                                       ERROR_MSG)
20154                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID(a),
20155                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a),'HDRH',
20156                                       'SLL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,LEVEL_AMOUNT_CHR(a),
20157                                        L_ERROR_MSG );
20158            -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_HDR_DTLS_REC.CONTRACT_NUMBER      || L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || ACCT_RULE_ID_CHR(a)  );
20159 
20160 	 END IF;
20161 
20162          IF(CLE_ID(A) IS NOT NULL) THEN
20163            OPEN  L_LINE_DTLS_CSR(CLE_ID(a),DNZ_CHR_ID(a),'SLL') ;
20164            FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
20165            CLOSE L_LINE_DTLS_CSR;
20166            FND_MESSAGE.CLEAR;
20167            FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LEVEL_AMOUNT');
20168            L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
20169            L_ERROR_MSG      := SQLERRM;
20170            INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
20171                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,MAJOR_VERSION,LINE_NUMBER, SCRIPT_NAME  ,
20172                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
20173                                       ERROR_MSG)
20174                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID(a), CLE_ID(a),
20175                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION(a), L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
20176                                       'SLL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,LEVEL_AMOUNT_CHR(a),
20177                                        L_ERROR_MSG );
20178           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr(a));
20179          END IF;
20180 
20181        END;
20182 
20183 
20184     END LOOP;
20185     CHR_ID.DELETE;
20186 
20187     -- End of code to validate data type .
20188     ------------------------------------------------------------------------------------
20189 
20190  End Loop;
20191 
20192 
20193 
20194 
20195   If(l_hdr_rule_csr1%ISOPEN) THEN
20196     Close  l_hdr_rule_csr1;
20197   END IF;
20198   If(l_hdr_rule_csr2%ISOPEN) THEN
20199     Close  l_hdr_rule_csr2;
20200   End if;
20201 
20202   If(l_hdr_rule_csr1_nus%ISOPEN) THEN
20203     Close  l_hdr_rule_csr1_nus;
20204   END IF;
20205   If(l_hdr_rule_csr2_nus%ISOPEN) THEN
20206     Close  l_hdr_rule_csr2_nus;
20207   End if;
20208 
20209 EXCEPTION
20210 WHEN OTHERS THEN
20211   If(l_hdr_rule_csr1%ISOPEN) THEN
20212     Close  l_hdr_rule_csr1;
20213   END IF;
20214   If(l_hdr_rule_csr2%ISOPEN) THEN
20215     Close  l_hdr_rule_csr2;
20216   End if;
20217   If(l_hdr_rule_csr1_nus%ISOPEN) THEN
20218     Close  l_hdr_rule_csr1_nus;
20219   END IF;
20220   If(l_hdr_rule_csr2_nus%ISOPEN) THEN
20221     Close  l_hdr_rule_csr2_nus;
20222   End if;
20223 
20224 END VALIDATE_ALLH_RULE;
20225 
20226 -------------------------------------------------------------------------------------------
20227 --      abcxyz Here onwards the reprocess and  synchronization code starts.              --
20228 --  Delete from here till the end while sending the file in validation phase             --
20229 -------------------------------------------------------------------------------------------
20230 
20231 
20232 
20233 --------------------------------------------------------------------------------------------
20234 --    This is the procedure called from Reprocess_data to Reprocess Header rule data      --
20235 --------------------------------------------------------------------------------------------
20236 
20237 Procedure REPROCESS_HDR_RULE(prow_id         in ROWID ,
20238                              p_id            in NUMBER ,
20239 			     p_us_yn         in BOOLEAN,
20240                              x_return_status OUT NOCOPY  VARCHAR2)
20241 IS
20242 
20243 
20244 CHR_ID                    NUMBER ;
20245 L_DNZ_CHR_ID                NUMBER ;
20246 ACCT_RULE_ID              NUMBER ;
20247 L_PAYMENT_TYPE              VARCHAR2(2000) ;
20248 L_CC_NO                     VARCHAR2(2000) ;
20249 L_CC_EXPIRY_DATE            date;
20250 CC_BANK_ACCT_ID           NUMBER ;
20251 L_CC_AUTH_CODE              VARCHAR2(2000) ;
20252 GRACE_DURATION            NUMBER ;
20253 L_GRACE_PERIOD              VARCHAR2(2000) ;
20254 EST_REV_PERCENT           NUMBER ;
20255 L_EST_REV_DATE              date;
20256 L_INVOICE_TEXT              VARCHAR2(2000) ;
20257 L_INV_PRINT_FLAG            VARCHAR2(2000) ;
20258 L_PRICE_UOM                 VARCHAR2(2000) ;
20259 TAX_AMOUNT                NUMBER ;
20260 L_TAX_INCLUSIVE_YN          VARCHAR2(2000) ;
20261 L_TAX_STATUS                VARCHAR2(2000) ;
20262 TAX_CODE                  NUMBER ;
20263 TAX_EXEMPTION_ID          NUMBER ;
20264 L_BILLING_SCHEDULE_TYPE     VARCHAR2(2000) ;
20265 CUST_ACCT_ID              NUMBER ;
20266 BILL_TO_SITE_USE_ID       NUMBER ;
20267 INV_RULE_ID               NUMBER ;
20268 L_RENEWAL_TYPE_CODE         VARCHAR2(2000) ;
20269 RENEWAL_NOTIFY_TO         NUMBER ;
20270 L_RENEWAL_END_DATE          date;
20271 SHIP_TO_SITE_USE_ID       NUMBER ;
20272 PAYMENT_TERM_ID           NUMBER ;
20273 BILLING_PROFILE_ID        NUMBER ;
20274 L_RENEWAL_STATUS            VARCHAR2(2000) ;
20275 L_ELECTRONIC_RENEWAL_FLAG   VARCHAR2(2000) ;
20276 QUOTE_TO_CONTACT_ID       NUMBER ;
20277 QUOTE_TO_SITE_ID          NUMBER ;
20278 QUOTE_TO_EMAIL_ID         NUMBER ;
20279 QUOTE_TO_PHONE_ID         NUMBER ;
20280 QUOTE_TO_FAX_ID           NUMBER ;
20281 L_RENEWAL_PO_REQUIRED       VARCHAR2(2000) ;
20282 RENEWAL_PRICE_LIST        NUMBER ;
20283 L_RENEWAL_PRICING_TYPE      VARCHAR2(2000) ;
20284 RENEWAL_MARKUP_PERCENT    NUMBER ;
20285 RENEWAL_GRACE_DURATION    NUMBER ;
20286 L_RENEWAL_GRACE_PERIOD      VARCHAR2(2000) ;
20287 RENEWAL_EST_REV_PERCENT   NUMBER ;
20288 RENEWAL_EST_REV_DURATION  NUMBER ;
20289 L_RENEWAL_EST_REV_PERIOD    VARCHAR2(2000) ;
20290 RENEWAL_PRICE_LIST_USED   NUMBER ;
20291 L_RENEWAL_TYPE_USED         VARCHAR2(2000) ;
20292 RENEWAL_NOTIFICATION_TO   NUMBER ;
20293 L_RENEWAL_PO_USED           VARCHAR2(2000) ;
20294 L_RENEWAL_PRICING_TYPE_USED VARCHAR2(2000) ;
20295 RENEWAL_MARKUP_PERCENT_USED   NUMBER ;
20296 REV_EST_PERCENT_USED      NUMBER ;
20297 REV_EST_DURATION_USED     NUMBER ;
20298 BILLING_PROFILE_USED      NUMBER ;
20299 L_REV_EST_PERIOD_USED       VARCHAR2(2000) ;
20300 L_ERN_FLAG_USED_YN          VARCHAR2(2000) ;
20301 EVN_THRESHOLD_AMT         NUMBER ;
20302 L_EVN_THRESHOLD_CUR         VARCHAR2(2000) ;
20303 ERN_THRESHOLD_AMT         NUMBER ;
20304 L_ERN_THRESHOLD_CUR         VARCHAR2(2000) ;
20305 RENEWAL_GRACE_DURATION_USED   NUMBER ;
20306 L_RENEWAL_GRACE_PERIOD_USED VARCHAR2(2000) ;
20307 L_INV_TRX_TYPE              VARCHAR2(2000) ;
20308 L_INV_PRINT_PROFILE         VARCHAR2(2000) ;
20309 L_RENEWAL_PO_NUMBER         VARCHAR2(2000) ;
20310 L_AR_INTERFACE_YN           VARCHAR2(2000) ;
20311 L_HOLD_BILLING              VARCHAR2(2000) ;
20312 L_SUMMARY_TRX_YN            VARCHAR2(2000) ;
20313 L_SERVICE_PO_NUMBER         VARCHAR2(2000) ;
20314 L_SERVICE_PO_REQUIRED       VARCHAR2(2000) ;
20315 PRICE_LIST_ID             NUMBER ;
20316 L_CONVERSION_TYPE           VARCHAR2(2000) ;
20317 CONVERSION_RATE           NUMBER ;
20318 L_CONVERSION_RATE_DATE      date;
20319 CONVERSION_EURO_RATE      NUMBER ;
20320 
20321 
20322 
20323 -- FOLLOWING ARE NUMBER FIELDS --
20324 ACCT_RULE_ID_CHR              VARCHAR2(2000) ;
20325 CC_BANK_ACCT_ID_CHR           VARCHAR2(2000) ;
20326 GRACE_DURATION_CHR            VARCHAR2(2000) ;
20327 EST_REV_PERCENT_CHR           VARCHAR2(2000) ;
20328 TAX_AMOUNT_CHR                VARCHAR2(2000) ;
20329 TAX_CODE_CHR                  VARCHAR2(2000) ;
20330 TAX_EXEMPTION_ID_CHR          VARCHAR2(2000) ;
20331 CUST_ACCT_ID_CHR              VARCHAR2(2000) ;
20332 BILL_TO_SITE_USE_ID_CHR       VARCHAR2(2000) ;
20333 INV_RULE_ID_CHR               VARCHAR2(2000) ;
20334 RENEWAL_NOTIFY_TO_CHR         VARCHAR2(2000) ;
20335 SHIP_TO_SITE_USE_ID_CHR       VARCHAR2(2000) ;
20336 PAYMENT_TERM_ID_CHR           VARCHAR2(2000) ;
20337 BILLING_PROFILE_ID_CHR        VARCHAR2(2000) ;
20338 QUOTE_TO_CONTACT_ID_CHR       VARCHAR2(2000) ;
20339 QUOTE_TO_SITE_ID_CHR          VARCHAR2(2000) ;
20340 QUOTE_TO_EMAIL_ID_CHR         VARCHAR2(2000) ;
20341 QUOTE_TO_PHONE_ID_CHR         VARCHAR2(2000) ;
20342 QUOTE_TO_FAX_ID_CHR           VARCHAR2(2000) ;
20343 RENEWAL_PRICE_LIST_CHR        VARCHAR2(2000) ;
20344 RENEWAL_MARKUP_PERCENT_CHR    VARCHAR2(2000) ;
20345 RENEWAL_GRACE_DURATION_CHR    VARCHAR2(2000) ;
20346 RENEWAL_EST_REV_PERCENT_CHR   VARCHAR2(2000) ;
20347 RENEWAL_EST_REV_DURATION_CHR  VARCHAR2(2000) ;
20348 RENEWAL_PRICE_LIST_USED_CHR   VARCHAR2(2000) ;
20349 RENEWAL_NOTIFICATION_TO_CHR   VARCHAR2(2000) ;
20350 RENEWAL_MARKUP_PERCENT_USED_CH VARCHAR2(2000) ;
20351 REV_EST_PERCENT_USED_CHR      VARCHAR2(2000) ;
20352 REV_EST_DURATION_USED_CHR     VARCHAR2(2000) ;
20353 BILLING_PROFILE_USED_CHR      VARCHAR2(2000) ;
20354 EVN_THRESHOLD_AMT_CHR         VARCHAR2(2000) ;
20355 ERN_THRESHOLD_AMT_CHR         VARCHAR2(2000) ;
20356 RENEWAL_GRACE_DURATION_USED_CH VARCHAR2(2000) ;
20357 PRICE_LIST_ID_CHR             VARCHAR2(2000) ;
20358 CONVERSION_RATE_CHR           VARCHAR2(2000) ;
20359 CONVERSION_EURO_RATE_CHR      VARCHAR2(2000) ;
20360 
20361 -- FOLLOWING ARE DATE FIELDS --
20362 CC_EXPIRY_DATE_CHR            VARCHAR2(2000) ;
20363 EST_REV_DATE_CHR              VARCHAR2(2000) ;
20364 RENEWAL_END_DATE_CHR          VARCHAR2(2000) ;
20365 CONVERSION_RATE_DATE_CHR      VARCHAR2(2000) ;
20366 
20367 --Misc Variables --
20368 L_ATTRIBUTE_NAME              VARCHAR2(2000);
20369 L_ERROR_MSG                   VARCHAR2(2000);
20370 
20371 MAIN_EXCEPTION               EXCEPTION;
20372 VAL_EXCEPTION                EXCEPTION;
20373 Eflag                        NUMBER;   --Flag for Validation
20374 Emsg                         VARCHAR2(2000);
20375 iEflag                       NUMBER;   --Flag for Insert or update exception
20376 ISQLCODE                     NUMBER;
20377 l_chr_id                     NUMBER;
20378 rowcount                     NUMBER;
20379 
20380 LOCK_EXCEPTION              EXCEPTION;
20381 L_LOCK_ID                   NUMBER;
20382 CURSOR L_LOCK_HDR_CSR (p_id in number ) IS
20383 SELECT ID
20384 FROM OKC_K_HEADERS_B
20385 WHERE ID = P_ID
20386 FOR UPDATE NOWAIT;
20387 
20388 -------------------------------------------------------------------------------
20389 -- The following is the cursor opened if p_us_yn  is true   --
20390 -------------------------------------------------------------------------------
20391 CURSOR l_hdr_rule_csr (p_id in NUMBER)is
20392 SELECT  RGP.CHR_ID CHR_ID
20393        -- Checked in gsidev no conversion needed.
20394        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
20395        --               '!,.','!')                                                            ACCT_RULE_ID
20396        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                   ACCT_RULE_ID
20397        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                             PAYMENT_TYPE
20398        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))             CC_NO
20399        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
20400                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CC_EXPIRY_DATE
20401        -- Checked in gsidev no conversion needed.
20402        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
20403        --               '!,.' , '!')                                                          CC_BANK_ACCT_ID
20404        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))             CC_BANK_ACCT_ID
20405 
20406        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))             CC_AUTH_CODE
20407        -- Checked in gsidev no conversion needed.
20408        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
20409        --               '!,.','!')                                                            GRACE_DURATION
20410        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))             GRACE_DURATION
20411        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))             GRACE_PERIOD
20412        -- Checked in gsidev no conversion needed.
20413        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
20414        --               '!,','!')                                                             EST_REV_PERCENT
20415        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1))             EST_REV_PERCENT
20416        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,
20417                     to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                  EST_REV_DATE
20418        -- Checked in gsidev conversion needed.
20419        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
20420                       '!,' ,'!' )                                                             TAX_AMOUNT
20421        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))             TAX_STATUS
20422        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
20423                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' , '!')     TAX_CODE
20424        -- Checked in gsidev no conversion needed.
20425        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
20426        --               '!,.','!')                                                            TAX_EXEMPTION_ID
20427        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                   TAX_EXEMPTION_ID
20428        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
20429        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
20430                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )   BILLING_SCHEDULE_TYPE
20431        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
20432                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_- ,.','!')       BILLING_PROFILE_ID
20433        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION2))             RENEWAL_STATUS
20434        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION3))             ELECTRONIC_RENEWAL_FLAG
20435        -- Checked in gsidev no conversion needed.
20436        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
20437        --               '!,.' ,'!')                                                          QUOTE_TO_CONTACT_ID
20438        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1))                  QUOTE_TO_CONTACT_ID
20439        -- Checked in gsidev no conversion needed.
20440        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
20441        --               '!,.','!')                                                           QUOTE_TO_SITE_ID
20442        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4))            QUOTE_TO_SITE_ID
20443        -- Checked in gsidev no conversion needed.
20444        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
20445        --               '!,.','!')                                                           QUOTE_TO_EMAIL_ID
20446        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1))            QUOTE_TO_EMAIL_ID
20447        -- Checked in gsidev no conversion needed.
20448        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
20449        --               '!,.','!')                                                           QUOTE_TO_PHONE_ID
20450        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2))            QUOTE_TO_PHONE_ID
20451        -- Checked in gsidev no conversion needed.
20452        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
20453        --               '!,.','!')                                                           QUOTE_TO_FAX_ID
20454        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3))            QUOTE_TO_FAX_ID
20455        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPO' ,RUL.RULE_INFORMATION1))            RENEWAL_PO_REQUIRED
20456        -- Checked in gsidev no conversion needed.
20457        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
20458        --               '!,.','!')                                                           RENEWAL_PRICE_LIST
20459        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1))                  RENEWAL_PRICE_LIST
20460        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION1))            RENEWAL_PRICING_TYPE
20461        -- Checked in gsidev no conversion needed.
20462        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
20463        --               '!%,' ,'!')                                                          RENEWAL_MARKUP_PERCENT
20464        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2))            RENEWAL_MARKUP_PERCENT
20465        -- Checked in gsidev no conversion needed.
20466        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
20467        --               '!,.','!')                                                           RENEWAL_GRACE_DURATION
20468        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3))            RENEWAL_GRACE_DURATION
20469        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION4))            RENEWAL_GRACE_PERIOD
20470        -- Checked in gsidev no conversion needed.
20471        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
20472        --               '!%,' ,'!')                                                          RENEWAL_EST_REV_PERCENT
20473        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1))            RENEWAL_EST_REV_PERCENT
20474        -- Checked in gsidev no conversion needed.
20475        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
20476        --               '!,.','!')                                                           RENEWAL_EST_REV_DURATION
20477        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2))            RENEWAL_EST_REV_DURATION
20478        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION3))            RENEWAL_EST_REV_PERIOD
20479        -- Checked in gsidev no conversion needed.
20480        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
20481        --               '!,.','!')                                                           RENEWAL_PRICE_LIST_USED
20482        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1))                  RENEWAL_PRICE_LIST_USED
20483        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION1))            RENEWAL_TYPE_USED
20484        -- Checked in gsidev no conversion needed.
20485        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
20486        --               '!,.','!')                                                           RENEWAL_NOTIFICATION_TO
20487        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2))            RENEWAL_NOTIFICATION_TO
20488        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION3))            RENEWAL_PO_USED
20489        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION4))            RENEWAL_PRICING_TYPE_USED
20490        -- Checked in gsidev no conversion needed.
20491        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
20492        --               '!,%' ,'!')                                                          RENEWAL_MARKUP_PERCENT_USED
20493        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5))            RENEWAL_MARKUP_PERCENT_USED
20494        -- Checked in gsidev conversion needed.
20495        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
20496                       '!%,' ,'!')                                                            REV_EST_PERCENT_USED
20497        -- Checked in gsidev no conversion needed.
20498        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
20499        --               '!,.','!')                                                           REV_EST_DURATION_USED
20500        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7))            REV_EST_DURATION_USED
20501        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION8))            REV_EST_PERIOD_USED
20502        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
20503                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')       BILLING_PROFILE_USED
20504        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION10))           ERN_FLAG_USED_YN
20505        -- Checked in gsidev no conversion needed.
20506        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
20507        --              '!,' ,'!')                                                            EVN_THRESHOLD_AMT
20508        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11))           EVN_THRESHOLD_AMT
20509        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION12))           EVN_THRESHOLD_CUR
20510        -- Checked in gsidev no conversion needed.
20511        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
20512        --              '!,' ,'!')                                                            ERN_THRESHOLD_AMT
20513        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13))           ERN_THRESHOLD_AMT
20514        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION14))           ERN_THRESHOLD_CUR
20515        -- Checked in gsidev no conversion needed.
20516        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
20517        --              '!,.','!')                                                            RENEWAL_GRACE_DURATION_USED
20518        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1))            RENEWAL_GRACE_DURATION_USED
20519        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION2))            RENEWAL_GRACE_PERIOD_USED
20520        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.OBJECT1_ID1))                  INV_TRX_TYPE
20521        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION9))            INV_PRINT_PROFILE
20522        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION10))           RENEWAL_PO_NUMBER
20523        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION11))           AR_INTERFACE_YN
20524        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION12))           HOLD_BILLING
20525        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION13))           SUMMARY_TRX_YN
20526        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION1))            SERVICE_PO_NUMBER
20527        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION2))            SERVICE_PO_REQUIRED
20528        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.OBJECT1_ID1))                  CONVERSION_TYPE       --OKC
20529        -- needs translation
20530        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
20531                      '!,','!')                                                               CONVERSION_RATE       --OKC
20532        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,
20533                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                   CONVERSION_RATE_DATE  --OKC
20534         -- needs translation
20535        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
20536                      '!,','!')                                                               CONVERSION_EURO_RATE  --OKC
20537        -- Checked in gsidev no conversion needed.
20538        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
20539        --              '!,.','!')                                                            CUST_ACCT_ID          --OKC
20540        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                  CUST_ACCT_ID          --OKC
20541        -- Checked in gsidev no conversion needed.
20542        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
20543        --              '!,.','!')                                                            BILL_TO_SITE_USE_ID   --OKC
20544        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                  BILL_TO_SITE_USE_ID   --OKC
20545        -- Checked in gsidev no conversion needed.
20546        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
20547        --              '!,.','!')                                                            INV_RULE_ID           --OKC
20548        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                  INV_RULE_ID           --OKC
20549        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION1))            RENEWAL_TYPE_CODE     --OKC
20550        -- Checked in gsidev no conversion needed.
20551        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
20552        --              '!,.','!')                                                            RENEWAL_NOTIFY_TO     --OKC
20553        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2))            RENEWAL_NOTIFY_TO     --OKC
20554        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,
20555                   to_date(RUL.RULE_INFORMATION3,'yyyy/mm/dd hh24:mi:ss')))                   RENEWAL_END_DATE      --OKC
20556        -- Checked in gsidev no conversion needed.
20557        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
20558        --              '!,.','!')                                                            SHIP_TO_SITE_USE_ID   --OKC
20559        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                  SHIP_TO_SITE_USE_ID   --OKC
20560        -- Checked in gsidev no conversion needed.
20561        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
20562        --              '!,.','!')                                                            PAYMENT_TERM_ID       --OKC
20563        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                  PAYMENT_TERM_ID       --OKC
20564 
20565        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
20566                      '!,.','!')                                                              PRICE_LIST_ID         --OKC
20567 FROM OKC_RULE_GROUPS_B RGP
20568    , OKC_RULES_B RUL
20569 WHERE rgp.id = rul.rgp_id
20570   and rgp.cle_id is null
20571   and rgp.rgd_code = 'SVC_K'
20572   AND   RUL.RULE_INFORMATION_CATEGORY IN
20573        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
20574         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
20575   and rgp.RGD_CODE = 'SVC_K'
20576   and rgp.id =p_id
20577   GROUP BY rgp.chr_id;
20578 
20579 -------------------------------------------------------------------------------
20580 -- The following is the cursor opened if p_us_yn  is false   --
20581 -------------------------------------------------------------------------------
20582 
20583 CURSOR l_hdr_rule_csr_nus (p_id in NUMBER) is
20584 SELECT  RGP.CHR_ID CHR_ID
20585        -- Checked in gsidev no conversion needed.
20586        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
20587        --               '!,. ','!')                                                           ACCT_RULE_ID
20588        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                   ACCT_RULE_ID
20589        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                             PAYMENT_TYPE
20590        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))             CC_NO
20591        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
20592                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CC_EXPIRY_DATE
20593        -- Checked in gsidev no conversion needed.
20594        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
20595        --               '!,. ' , '!')                                                         CC_BANK_ACCT_ID
20596        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))             CC_BANK_ACCT_ID
20597 
20598        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))             CC_AUTH_CODE
20599        -- Checked in gsidev no conversion needed.
20600        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
20601        --               '!,. ','!')                                                           GRACE_DURATION
20602        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))             GRACE_DURATION
20603        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))             GRACE_PERIOD
20604        -- Checked in gsidev no conversion needed.
20605        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
20606        --               '!. ','!')                                                            EST_REV_PERCENT
20607        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1))             EST_REV_PERCENT
20608        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,
20609                     to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                  EST_REV_DATE
20610        -- Checked in gsidev conversion needed.
20611        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
20612                       '!. ' ,'!' )                                                            TAX_AMOUNT
20613        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))             TAX_STATUS
20614        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
20615                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' , '!')     TAX_CODE
20616        -- Checked in gsidev no conversion needed.
20617        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
20618        --               '!,. ','!')                                                           TAX_EXEMPTION_ID
20619        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                   TAX_EXEMPTION_ID
20620        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
20621        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
20622                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )   BILLING_SCHEDULE_TYPE
20623        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
20624                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ','!')       BILLING_PROFILE_ID
20625        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION2))             RENEWAL_STATUS
20626        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION3))             ELECTRONIC_RENEWAL_FLAG
20627        -- Checked in gsidev no conversion needed.
20628        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
20629        --               '!,. ' ,'!')                                                          QUOTE_TO_CONTACT_ID
20630        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1))                   QUOTE_TO_CONTACT_ID
20631        -- Checked in gsidev no conversion needed.
20632        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
20633        --               '!,. ','!')                                                           QUOTE_TO_SITE_ID
20634        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4))             QUOTE_TO_SITE_ID
20635        -- Checked in gsidev no conversion needed.
20636        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
20637        --               '!,. ','!')                                                           QUOTE_TO_EMAIL_ID
20638        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1))             QUOTE_TO_EMAIL_ID
20639        -- Checked in gsidev no conversion needed.
20640        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
20641        --               '!,. ','!')                                                           QUOTE_TO_PHONE_ID
20642        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2))             QUOTE_TO_PHONE_ID
20643        -- Checked in gsidev no conversion needed.
20644        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
20645        --               '!,. ','!')                                                           QUOTE_TO_FAX_ID
20646        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3))             QUOTE_TO_FAX_ID
20647        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPO' ,RUL.RULE_INFORMATION1))             RENEWAL_PO_REQUIRED
20648        -- Checked in gsidev no conversion needed.
20649        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
20650        --               '!,. ','!')                                                           RENEWAL_PRICE_LIST
20651        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST
20652        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION1))             RENEWAL_PRICING_TYPE
20653        -- Checked in gsidev no conversion needed.
20654        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
20655        --               '!%. ' ,'!')                                                          RENEWAL_MARKUP_PERCENT
20656        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2))             RENEWAL_MARKUP_PERCENT
20657        -- Checked in gsidev no conversion needed.
20658        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
20659        --               '!,. ','!')                                                           RENEWAL_GRACE_DURATION
20660        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3))             RENEWAL_GRACE_DURATION
20661        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION4))             RENEWAL_GRACE_PERIOD
20662        -- Checked in gsidev no conversion needed.
20663        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
20664        --               '!%. ' ,'!')                                                          RENEWAL_EST_REV_PERCENT
20665        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1))             RENEWAL_EST_REV_PERCENT
20666        -- Checked in gsidev no conversion needed.
20667        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
20668        --               '!,. ','!')                                                           RENEWAL_EST_REV_DURATION
20669        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2))             RENEWAL_EST_REV_DURATION
20670        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION3))             RENEWAL_EST_REV_PERIOD
20671        -- Checked in gsidev no conversion needed.
20672        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
20673        --               '!,. ','!')                                                           RENEWAL_PRICE_LIST_USED
20674        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST_USED
20675        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_USED
20676        -- Checked in gsidev no conversion needed.
20677        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
20678        --               '!,. ','!')                                                           RENEWAL_NOTIFICATION_TO
20679        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFICATION_TO
20680        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION3))             RENEWAL_PO_USED
20681        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION4))             RENEWAL_PRICING_TYPE_USED
20682        -- Checked in gsidev no conversion needed.
20683        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
20684        --               '!. %' ,'!')                                                          RENEWAL_MARKUP_PERCENT_USED
20685        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5))             RENEWAL_MARKUP_PERCENT_USED
20686        -- Checked in gsidev conversion needed.
20687        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
20688                       '!%. ' ,'!')                                                            REV_EST_PERCENT_USED
20689        -- Checked in gsidev no conversion needed.
20690        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
20691        --               '!,. ','!')                                                           REV_EST_DURATION_USED
20692        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7))             REV_EST_DURATION_USED
20693        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION8))             REV_EST_PERIOD_USED
20694        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
20695                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')        BILLING_PROFILE_USED
20696        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION10))            ERN_FLAG_USED_YN
20697        -- Checked in gsidev no conversion needed.
20698        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
20699        --              '!. ' ,'!')                                                            EVN_THRESHOLD_AMT
20700        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11))            EVN_THRESHOLD_AMT
20701        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION12))            EVN_THRESHOLD_CUR
20702        -- Checked in gsidev no conversion needed.
20703        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
20704        --              '!. ' ,'!')                                                            ERN_THRESHOLD_AMT
20705        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13))            ERN_THRESHOLD_AMT
20706        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION14))            ERN_THRESHOLD_CUR
20707        -- Checked in gsidev no conversion needed.
20708        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
20709        --              '!,. ','!')                                                            RENEWAL_GRACE_DURATION_USED
20710        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1))             RENEWAL_GRACE_DURATION_USED
20711        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION2))             RENEWAL_GRACE_PERIOD_USED
20712        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.OBJECT1_ID1))                   INV_TRX_TYPE
20713        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION9))             INV_PRINT_PROFILE
20714        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION10))            RENEWAL_PO_NUMBER
20715        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION11))            AR_INTERFACE_YN
20716        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION12))            HOLD_BILLING
20717        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION13))            SUMMARY_TRX_YN
20718        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION1))             SERVICE_PO_NUMBER
20719        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION2))             SERVICE_PO_REQUIRED
20720        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.OBJECT1_ID1))                   CONVERSION_TYPE       --OKC
20721        -- needs translation
20722        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
20723                      '!. ','!')                                                               CONVERSION_RATE       --OKC
20724        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,
20725                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CONVERSION_RATE_DATE  --OKC
20726         -- needs translation
20727        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
20728                      '!. ','!')                                                               CONVERSION_EURO_RATE  --OKC
20729        -- Checked in gsidev no conversion needed.
20730        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
20731        --              '!,. ','!')                                                            CUST_ACCT_ID          --OKC
20732        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                   CUST_ACCT_ID          --OKC
20733        -- Checked in gsidev no conversion needed.
20734        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
20735        --              '!,. ','!')                                                            BILL_TO_SITE_USE_ID   --OKC
20736        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                   BILL_TO_SITE_USE_ID   --OKC
20737        -- Checked in gsidev no conversion needed.
20738        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
20739        --              '!,. ','!')                                                            INV_RULE_ID           --OKC
20740        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                   INV_RULE_ID           --OKC
20741        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_CODE     --OKC
20742        -- Checked in gsidev no conversion needed.
20743        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
20744        --              '!,. ','!')                                                            RENEWAL_NOTIFY_TO     --OKC
20745        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFY_TO     --OKC
20746        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,
20747                   to_date(RUL.RULE_INFORMATION3,'yyyy/mm/dd hh24:mi:ss')))                    RENEWAL_END_DATE      --OKC
20748        -- Checked in gsidev no conversion needed.
20749        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
20750        --              '!,. ','!')                                                            SHIP_TO_SITE_USE_ID   --OKC
20751        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                   SHIP_TO_SITE_USE_ID   --OKC
20752        -- Checked in gsidev no conversion needed.
20753        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
20754        --              '!,. ','!')                                                            PAYMENT_TERM_ID       --OKC
20755        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                   PAYMENT_TERM_ID       --OKC
20756 
20757        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
20758                      '!,. ','!')                                                              PRICE_LIST_ID         --OKC
20759 FROM OKC_RULE_GROUPS_B RGP
20760    , OKC_RULES_B RUL
20761 WHERE rgp.id = rul.rgp_id
20762   and rgp.cle_id is null
20763   and rgp.rgd_code = 'SVC_K'
20764   AND   RUL.RULE_INFORMATION_CATEGORY IN
20765        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
20766         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
20767   and rgp.RGD_CODE = 'SVC_K'
20768   and rgp.id =p_id
20769   GROUP BY rgp.chr_id;
20770 
20771 
20772 ----------------------------------------------------------------------------
20773 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
20774 ----------------------------------------------------------------------------
20775 CURSOR L_HDR_DTLS_CSR ( P_HDR_ID  IN NUMBER , P_CATEGORY IN VARCHAR2 ) IS
20776 SELECT HDR.CONTRACT_NUMBER
20777      , HDR.CONTRACT_NUMBER_MODIFIER
20778      , RUL.ID
20779      , RGP.ID RGP_ID
20780  FROM  OKC_K_HEADERS_B HDR
20781      , OKC_RULE_GROUPS_B RGP
20782      , OKC_RULES_B RUL
20783 WHERE HDR.ID = P_HDR_ID
20784   AND RGP.DNZ_CHR_ID = P_HDR_ID
20785   AND RGP.CHR_ID = P_HDR_ID
20786   AND RGP.ID = RUL.RGP_ID
20787   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
20788   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
20789 
20790 L_HDR_DTLS_REC L_HDR_DTLS_CSR%ROWTYPE;
20791 ----------------------------------------------------------------------------
20792 --Cursor to check whether the record exists in OKC_RULE_GROUPS_B table.
20793 ----------------------------------------------------------------------------
20794 CURSOR L_CHECK_RGP_CSR ( P_ID IN NUMBER ) IS
20795 SELECT CHR_ID
20796   FROM OKC_RULE_GROUPS_B
20797  WHERE ID = P_ID;
20798 
20799 -------------------------------------------------------
20800 -- Cursor to lock okc_k_lines_b before going for update
20801 -------------------------------------------------------
20802  CURSOR L_LOCK_LINE_CSR (p_rgp_id  in number ) IS
20803  SELECT OKC.DNZ_CHR_ID
20804    FROM OKC_K_LINES_B OKC
20805       , OKC_RULE_GROUPS_B RGP
20806   WHERE OKC.DNZ_CHR_ID = RGP.DNZ_CHR_ID
20807     AND RGP.ID = p_rgp_id
20808     AND LSE_ID in ( 1,12,19,46)
20809     FOR UPDATE NOWAIT;
20810 
20811 
20812 
20813 BEGIN
20814 -- FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
20815 -- FND_FILE.PUT_LINE(FND_FILE.LOG ,'-------------- Start of Sub request for Header Rule Data Reprocessing     --------');
20816 -- FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
20817 
20818 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
20819 Begin
20820 If(p_us_yn) THEN
20821     OPEN l_hdr_rule_csr(p_id);
20822     FETCH l_hdr_rule_csr into
20823                          L_CHR_ID
20824                         ,ACCT_RULE_ID_CHR
20825                         ,L_PAYMENT_TYPE
20826                         ,L_CC_NO
20827                         ,CC_EXPIRY_DATE_CHR
20828                         ,CC_BANK_ACCT_ID_CHR
20829                         ,L_CC_AUTH_CODE
20830                         ,GRACE_DURATION_CHR
20831                         ,L_GRACE_PERIOD
20832                         ,EST_REV_PERCENT_CHR
20833                         ,EST_REV_DATE_CHR
20834                         ,TAX_AMOUNT_CHR
20835                         ,L_TAX_STATUS
20836                         ,TAX_CODE_CHR
20837                         ,TAX_EXEMPTION_ID_CHR
20838                         ,L_BILLING_SCHEDULE_TYPE
20839                         ,BILLING_PROFILE_ID_CHR
20840                         ,L_RENEWAL_STATUS
20841                         ,L_ELECTRONIC_RENEWAL_FLAG
20842                         ,QUOTE_TO_CONTACT_ID_CHR
20843                         ,QUOTE_TO_SITE_ID_CHR
20844                         ,QUOTE_TO_EMAIL_ID_CHR
20845                         ,QUOTE_TO_PHONE_ID_CHR
20846                         ,QUOTE_TO_FAX_ID_CHR
20847                         ,L_RENEWAL_PO_REQUIRED
20848                         ,RENEWAL_PRICE_LIST_CHR
20849                         ,L_RENEWAL_PRICING_TYPE
20850                         ,RENEWAL_MARKUP_PERCENT_CHR
20851                         ,RENEWAL_GRACE_DURATION_CHR
20852                         ,L_RENEWAL_GRACE_PERIOD
20853                         ,RENEWAL_EST_REV_PERCENT_CHR
20854                         ,RENEWAL_EST_REV_DURATIOn_CHR
20855                         ,L_RENEWAL_EST_REV_PERIOD
20856                         ,RENEWAL_PRICE_LIST_USED_CHR
20857                         ,L_RENEWAL_TYPE_USED
20858                         ,RENEWAL_NOTIFICATION_TO_CHR
20859                         ,L_RENEWAL_PO_USED
20860                         ,L_RENEWAL_PRICING_TYPE_USED
20861                         ,RENEWAL_MARKUP_PERCENT_USED_CH
20862                         ,REV_EST_PERCENT_USED_CHR
20863                         ,REV_EST_DURATION_USED_CHR
20864                         ,L_REV_EST_PERIOD_USED
20865                         ,BILLING_PROFILE_USED_CHR
20866                         ,L_ERN_FLAG_USED_YN
20867                         ,EVN_THRESHOLD_AMT_CHR
20868                         ,L_EVN_THRESHOLD_CUR
20869                         ,ERN_THRESHOLD_AMT_CHR
20870                         ,L_ERN_THRESHOLD_CUR
20871                         ,RENEWAL_GRACE_DURATION_USED_CH
20872                         ,L_RENEWAL_GRACE_PERIOD_USED
20873                         ,L_INV_TRX_TYPE
20874                         ,L_INV_PRINT_PROFILE
20875                         ,L_RENEWAL_PO_NUMBER
20876                         ,L_AR_INTERFACE_YN
20877                         ,L_HOLD_BILLING
20878                         ,L_SUMMARY_TRX_YN
20879                         ,L_SERVICE_PO_NUMBER
20880                         ,L_SERVICE_PO_REQUIRED
20881                         ,L_CONVERSION_TYPE                --OKC
20882                         ,CONVERSION_RATE_CHR              --OKC
20883                         ,CONVERSION_RATE_DATE_CHR         --OKC
20884                         ,CONVERSION_EURO_RATE_CHR         --OKC
20885                         ,CUST_ACCT_ID_CHR                 --OKC
20886                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
20887                         ,INV_RULE_ID_CHR                  --OKC
20888                         ,L_RENEWAL_TYPE_CODE              --OKC
20889                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
20890                         ,RENEWAL_END_DATE_CHR             --OKC
20891                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
20892                         ,PAYMENT_TERM_ID_CHR              --OKC
20893                         ,PRICE_LIST_ID_CHR  ;             --OKC
20894       close l_hdr_rule_csr;
20895 Else
20896     OPEN l_hdr_rule_csr_nus(p_id);
20897     FETCH l_hdr_rule_csr_nus into
20898                          L_CHR_ID
20899                         ,ACCT_RULE_ID_CHR
20900                         ,L_PAYMENT_TYPE
20901                         ,L_CC_NO
20902                         ,CC_EXPIRY_DATE_CHR
20903                         ,CC_BANK_ACCT_ID_CHR
20904                         ,L_CC_AUTH_CODE
20905                         ,GRACE_DURATION_CHR
20906                         ,L_GRACE_PERIOD
20907                         ,EST_REV_PERCENT_CHR
20908                         ,EST_REV_DATE_CHR
20909                         ,TAX_AMOUNT_CHR
20910                         ,L_TAX_STATUS
20911                         ,TAX_CODE_CHR
20912                         ,TAX_EXEMPTION_ID_CHR
20913                         ,L_BILLING_SCHEDULE_TYPE
20914                         ,BILLING_PROFILE_ID_CHR
20915                         ,L_RENEWAL_STATUS
20916                         ,L_ELECTRONIC_RENEWAL_FLAG
20917                         ,QUOTE_TO_CONTACT_ID_CHR
20918                         ,QUOTE_TO_SITE_ID_CHR
20919                         ,QUOTE_TO_EMAIL_ID_CHR
20920                         ,QUOTE_TO_PHONE_ID_CHR
20921                         ,QUOTE_TO_FAX_ID_CHR
20922                         ,L_RENEWAL_PO_REQUIRED
20923                         ,RENEWAL_PRICE_LIST_CHR
20924                         ,L_RENEWAL_PRICING_TYPE
20925                         ,RENEWAL_MARKUP_PERCENT_CHR
20926                         ,RENEWAL_GRACE_DURATION_CHR
20927                         ,L_RENEWAL_GRACE_PERIOD
20928                         ,RENEWAL_EST_REV_PERCENT_CHR
20929                         ,RENEWAL_EST_REV_DURATIOn_CHR
20930                         ,L_RENEWAL_EST_REV_PERIOD
20931                         ,RENEWAL_PRICE_LIST_USED_CHR
20932                         ,L_RENEWAL_TYPE_USED
20933                         ,RENEWAL_NOTIFICATION_TO_CHR
20934                         ,L_RENEWAL_PO_USED
20935                         ,L_RENEWAL_PRICING_TYPE_USED
20936                         ,RENEWAL_MARKUP_PERCENT_USED_CH
20937                         ,REV_EST_PERCENT_USED_CHR
20938                         ,REV_EST_DURATION_USED_CHR
20939                         ,L_REV_EST_PERIOD_USED
20940                         ,BILLING_PROFILE_USED_CHR
20941                         ,L_ERN_FLAG_USED_YN
20942                         ,EVN_THRESHOLD_AMT_CHR
20943                         ,L_EVN_THRESHOLD_CUR
20944                         ,ERN_THRESHOLD_AMT_CHR
20945                         ,L_ERN_THRESHOLD_CUR
20946                         ,RENEWAL_GRACE_DURATION_USED_CH
20947                         ,L_RENEWAL_GRACE_PERIOD_USED
20948                         ,L_INV_TRX_TYPE
20949                         ,L_INV_PRINT_PROFILE
20950                         ,L_RENEWAL_PO_NUMBER
20951                         ,L_AR_INTERFACE_YN
20952                         ,L_HOLD_BILLING
20953                         ,L_SUMMARY_TRX_YN
20954                         ,L_SERVICE_PO_NUMBER
20955                         ,L_SERVICE_PO_REQUIRED
20956                         ,L_CONVERSION_TYPE                --OKC
20957                         ,CONVERSION_RATE_CHR              --OKC
20958                         ,CONVERSION_RATE_DATE_CHR         --OKC
20959                         ,CONVERSION_EURO_RATE_CHR         --OKC
20960                         ,CUST_ACCT_ID_CHR                 --OKC
20961                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
20962                         ,INV_RULE_ID_CHR                  --OKC
20963                         ,L_RENEWAL_TYPE_CODE              --OKC
20964                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
20965                         ,RENEWAL_END_DATE_CHR             --OKC
20966                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
20967                         ,PAYMENT_TERM_ID_CHR              --OKC
20968                         ,PRICE_LIST_ID_CHR  ;             --OKC
20969       Close l_hdr_rule_csr_nus;
20970 End if;
20971 Exception
20972   When others then
20973       Emsg :=SQLERRM;
20974       RAISE LOCK_EXCEPTION;
20975 End;
20976 
20977 BEGIN
20978  OPEN  L_LOCK_HDR_CSR( l_chr_id);
20979  FETCH L_LOCK_HDR_CSR into L_LOCK_ID;
20980  CLOSE L_LOCK_HDR_CSR;
20981 
20982  OPEN  L_LOCK_LINE_CSR(p_id);
20983  FETCH L_LOCK_LINE_CSR INTO L_LOCK_ID;
20984  CLOSE L_LOCK_LINE_CSR;
20985 
20986 EXCEPTION
20987    WHEN OTHERS THEN
20988         Emsg :=SQLERRM;
20989         RAISE LOCK_EXCEPTION;
20990 END;
20991 
20992 Eflag:=0;
20993 iEflag:=0;
20994 Begin
20995 If(l_chr_id is not null) then
20996  begin
20997    update okc_k_headers_b
20998       set conversion_type      = l_conversion_type,
20999           conversion_rate      = conversion_rate_chr,
21000           conversion_rate_date = conversion_rate_date_chr,
21001           conversion_euro_rate = conversion_euro_rate_chr,
21002           cust_acct_id         = cust_acct_id_chr,
21003           bill_to_site_use_id  = bill_to_site_use_id_chr,
21004           inv_rule_id          = inv_rule_id_chr,
21005           renewal_type_code    = l_renewal_type_code,
21006           renewal_notify_to    = renewal_notify_to_chr,
21007           renewal_end_date     = renewal_end_date_chr,
21008           ship_to_site_use_id  = ship_to_site_use_id_chr,
21009           payment_term_id      = payment_term_id_chr,
21010           price_list_id        = price_list_id_chr
21011      where id = l_chr_id;
21012      rowcount := SQL%ROWCOUNT;
21013  Exception
21014    When others then
21015         iEflag:=1;
21016         Emsg :=SQLERRM;
21017         Raise;
21018  End;
21019  If rowcount > 0 then --A
21020        Begin
21021        Update oks_k_headers_b set
21022           acct_rule_id                  = acct_rule_id_chr
21023          ,payment_type                  = l_payment_type
21024          ,cc_no                         = l_cc_no
21025          ,cc_expiry_date                = cc_expiry_date_chr
21026          ,cc_bank_acct_id               = cc_bank_acct_id_chr
21027          ,cc_auth_code                  = l_cc_auth_code
21028          ,grace_duration                = grace_duration_chr
21029          ,grace_period                  = l_grace_period
21030          ,est_rev_percent               = est_rev_percent_chr
21031          ,est_rev_date                  = est_rev_date_chr
21032          ,tax_amount                    = tax_amount_chr
21033          ,tax_status                    = l_tax_status
21034          ,tax_code                      = tax_code_chr
21035          ,tax_exemption_id              = tax_exemption_id_chr
21036          ,billing_schedule_type         = l_billing_schedule_type
21037          ,billing_profile_id            = billing_profile_id_chr
21038          ,renewal_status                = l_renewal_status
21039          ,electronic_renewal_flag       = l_electronic_renewal_flag
21040          ,quote_to_contact_id           = quote_to_contact_id_chr
21041          ,quote_to_site_id              = quote_to_site_id_chr
21042          ,quote_to_email_id             = quote_to_email_id_chr
21043          ,quote_to_phone_id             = quote_to_phone_id_chr
21044          ,quote_to_fax_id               = quote_to_fax_id_chr
21045          ,renewal_po_required           = l_renewal_po_required
21046          ,renewal_price_list            = renewal_price_list_chr
21047          ,renewal_pricing_type          = l_renewal_pricing_type
21048          ,renewal_markup_percent        = renewal_markup_percent_chr
21049          ,renewal_grace_duration        = renewal_grace_duration_chr
21050          ,renewal_grace_period          = l_renewal_grace_period
21051          ,renewal_est_rev_percent       = renewal_est_rev_percent_chr
21052          ,renewal_est_rev_duration      = renewal_est_rev_duration_chr
21053          ,renewal_est_rev_period        = l_renewal_est_rev_period
21054          ,renewal_price_list_used       = renewal_price_list_used_chr
21055          ,renewal_type_used             = l_renewal_type_used
21056          ,renewal_notification_to       = renewal_notification_to_chr
21057          ,renewal_po_used               = l_renewal_po_used
21058          ,renewal_pricing_type_used     = l_renewal_pricing_type_used
21059          ,renewal_markup_percent_used   = renewal_markup_percent_used_ch
21060          ,rev_est_percent_used          = rev_est_percent_used_chr
21061          ,rev_est_duration_used         = rev_est_duration_used_chr
21062          ,rev_est_period_used           = l_rev_est_period_used
21063          ,billing_profile_used          = billing_profile_used_chr
21064          ,ern_flag_used_yn              = l_ern_flag_used_yn
21065          ,evn_threshold_amt             = evn_threshold_amt_chr
21066          ,evn_threshold_cur             = l_evn_threshold_cur
21067          ,ern_threshold_amt             = ern_threshold_amt_chr
21068          ,ern_threshold_cur             = l_ern_threshold_cur
21069          ,renewal_grace_duration_used   = renewal_grace_duration_used_ch
21070          ,renewal_grace_period_used     = l_renewal_grace_period_used
21071          ,inv_trx_type                  = l_inv_trx_type
21072          ,inv_print_profile             = l_inv_print_profile
21073          ,renewal_po_number             = l_renewal_po_number
21074          ,ar_interface_yn               = l_ar_interface_yn
21075          ,hold_billing                  = l_hold_billing
21076          ,summary_trx_yn                = l_summary_trx_yn
21077          ,service_po_number             = l_service_po_number
21078          ,service_po_required           = l_service_po_required
21079        Where chr_id = l_chr_id ;
21080        rowcount := SQL%ROWCOUNT;
21081        Exception
21082           When others then
21083                iEflag:=1;
21084                Emsg :=SQLERRM;
21085                Raise;
21086        End;
21087 
21088        If rowcount = 0 then
21089        Begin
21090           insert into oks_k_headers_b(
21091               id
21092              ,chr_id
21093              ,acct_rule_id
21094              ,payment_type
21095              ,cc_no
21096              ,cc_expiry_date
21097              ,cc_bank_acct_id
21098              ,cc_auth_code
21099              ,grace_duration
21100              ,grace_period
21101              ,est_rev_percent
21102              ,est_rev_date
21103              ,tax_amount
21104              ,tax_status
21105              ,tax_code
21106              ,tax_exemption_id
21107              ,billing_schedule_type
21108              ,billing_profile_id
21109              ,renewal_status
21110              ,electronic_renewal_flag
21111              ,quote_to_contact_id
21112              ,quote_to_site_id
21113              ,quote_to_email_id
21114              ,quote_to_phone_id
21115              ,quote_to_fax_id
21116              ,renewal_po_required
21117              ,renewal_price_list
21118              ,renewal_pricing_type
21119              ,renewal_markup_percent
21120              ,renewal_grace_duration
21121              ,renewal_grace_period
21122              ,renewal_est_rev_percent
21123              ,renewal_est_rev_duration
21124              ,renewal_est_rev_period
21125              ,renewal_price_list_used
21126              ,renewal_type_used
21127              ,renewal_notification_to
21128              ,renewal_po_used
21129              ,renewal_pricing_type_used
21130              ,renewal_markup_percent_used
21131              ,rev_est_percent_used
21132              ,rev_est_duration_used
21133              ,rev_est_period_used
21134              ,billing_profile_used
21135              ,ern_flag_used_yn
21136              ,evn_threshold_amt
21137              ,evn_threshold_cur
21138              ,ern_threshold_amt
21139              ,ern_threshold_cur
21140              ,renewal_grace_duration_used
21141              ,renewal_grace_period_used
21142              ,inv_trx_type
21143              ,inv_print_profile
21144              ,renewal_po_number
21145              ,ar_interface_yn
21146              ,hold_billing
21147              ,summary_trx_yn
21148              ,service_po_number
21149              ,service_po_required
21150              ,created_by
21151              ,creation_date
21152              ,last_updated_by
21153              ,last_update_date
21154              ,last_update_login
21155              ,object_version_number  )
21156           values (
21157               l_chr_id
21158              ,l_chr_id
21159              ,acct_rule_id_chr
21160              ,l_payment_type
21161              ,l_cc_no
21162              ,cc_expiry_date_chr
21163              ,cc_bank_acct_id_chr
21164              ,l_cc_auth_code
21165              ,grace_duration_chr
21166              ,l_grace_period
21167              ,est_rev_percent_chr
21168              ,est_rev_date_chr
21169              ,tax_amount_chr
21170              ,l_tax_status
21171              ,tax_code_chr
21172              ,tax_exemption_id_chr
21173              ,l_billing_schedule_type
21174              ,billing_profile_id_chr
21175              ,l_renewal_status
21176              ,l_electronic_renewal_flag
21177              ,quote_to_contact_id_chr
21178              ,quote_to_site_id_chr
21179              ,quote_to_email_id_chr
21180              ,quote_to_phone_id_chr
21181              ,quote_to_fax_id_chr
21182              ,l_renewal_po_required
21183              ,renewal_price_list_chr
21184              ,l_renewal_pricing_type
21185              ,renewal_markup_percent_chr
21186              ,renewal_grace_duration_chr
21187              ,l_renewal_grace_period
21188              ,renewal_est_rev_percent_chr
21189              ,renewal_est_rev_duration_chr
21190              ,l_renewal_est_rev_period
21191              ,renewal_price_list_used_chr
21192              ,l_renewal_type_used
21193              ,renewal_notification_to_chr
21194              ,l_renewal_po_used
21195              ,l_renewal_pricing_type_used
21196              ,renewal_markup_percent_used_ch
21197              ,rev_est_percent_used_chr
21198              ,rev_est_duration_used_chr
21199              ,l_rev_est_period_used
21200              ,billing_profile_used_chr
21201              ,l_ern_flag_used_yn
21202              ,evn_threshold_amt_chr
21203              ,l_evn_threshold_cur
21204              ,ern_threshold_amt_chr
21205              ,l_ern_threshold_cur
21206              ,renewal_grace_duration_used_ch
21207              ,l_renewal_grace_period_used
21208              ,l_inv_trx_type
21209              ,l_inv_print_profile
21210              ,l_renewal_po_number
21211              ,l_ar_interface_yn
21212              ,l_hold_billing
21213              ,l_summary_trx_yn
21214              ,l_service_po_number
21215              ,l_service_po_required
21216              ,1
21217              ,sysdate
21218              ,1
21219              ,sysdate
21220              ,2003
21221              ,1   );
21222        Exception when others then
21223           ieflag:=1;
21224           emsg :=sqlerrm;
21225           isqlcode := sqlcode;
21226           Raise;
21227        End ;
21228        End If;
21229  End if; --rowcount > 0 A
21230 Else --If(l_chr_id is not null) then
21231  open  l_check_rgp_csr(p_id);
21232  fetch l_check_rgp_csr into l_chr_id;
21233  close l_check_rgp_csr;
21234  If l_chr_id is not null then  --B
21235  Begin
21236     insert into oks_k_headers_b oks1
21237             (oks1.id
21238             ,oks1.chr_id
21239             ,oks1.object_version_number
21240             ,oks1.created_by
21241             ,oks1.creation_date
21242             ,oks1.last_updated_by
21243             ,oks1.last_update_date
21244             ,oks1.last_update_login )
21245      values
21246            ( l_chr_id,
21247              l_chr_id,
21248              1,
21249              1,
21250              sysdate,
21251              1,
21252              sysdate,
21253              2003
21254            );
21255  Exception when others then
21256     ieflag:=1;
21257     emsg :=sqlerrm;
21258     isqlcode := sqlcode;
21259     Raise;
21260  End ;
21261  End if ; --l_chr_id not null  B
21262 End If; --If(l_chr_id is not null) then
21263 
21264 Exception
21265  When others then
21266  Emsg := SQLERRM;
21267 End ;
21268 
21269 If ieflag <> 1  then
21270   Begin
21271     Update okc_k_lines_b okco
21272        Set okco.price_negotiated = ( select sum(okci.price_negotiated)
21273                                        from okc_k_lines_b okci
21274                                       where okci.cle_id = okco.id)
21275      Where okco.lse_id in ( 1,12,19)
21276        and okco.dnz_chr_id = l_lock_id;
21277 
21278     Update oks_k_lines_b okso
21279        Set okso.tax_amount = ( Select oksi.tax_amount
21280                                  From oks_k_lines_b oksi
21281                                     , okc_k_lines_b okci
21282                                 Where okci.lse_id =46
21283                                   and okci.id = oksi.cle_id
21284                                   and oksi.cle_id = okso.cle_id
21285                                   and okci.id = okso.cle_id )
21286      Where okso.dnz_chr_id = l_lock_id
21287        and exists (select 1 from okc_k_lines_b okc
21288                     where okc.id = okso.cle_id
21289                       and okc.lse_id in ( 1,12,19,46));
21290   Exception
21291      When others then
21292         Emsg := SQLERRM;
21293 	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for in reproces hdr update of line Price nego '||p_id||'with Error Message '||L_ERROR_MSG);
21294         Raise;
21295   End;
21296 End If;
21297 
21298     ------------------------------------------------------------------------------------------------
21299     --If insert or update failed then validate the records. Begin of code to validate data type . --
21300     -- If data fails validation then set the Eflag to 1.                                          --
21301     ------------------------------------------------------------------------------------------------
21302 
21303 if ( iEflag = 1) THEN
21304 
21305        DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
21306        chr_id  := l_chr_id;
21307        --1. Validation for ARL rule .
21308        BEGIN
21309           ACCT_RULE_ID      := ACCT_RULE_ID_CHR;
21310        EXCEPTION
21311        WHEN OTHERS THEN
21312           OPEN  L_HDR_DTLS_CSR(CHR_ID,'ARL') ;
21313           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21314           CLOSE L_HDR_DTLS_CSR;
21315           FND_MESSAGE.CLEAR;
21316           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
21317           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21318           L_ERROR_MSG      := SQLERRM;
21319           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21320                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21321                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
21322                                       ERROR_MSG)
21323                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21324                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21325                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR,
21326                                        L_ERROR_MSG );
21327           Eflag:=1;
21328        END;
21329 
21330        --2. Validation for CCR rule .
21331        BEGIN
21332           CC_BANK_ACCT_ID     := CC_BANK_ACCT_ID_CHR;
21333        EXCEPTION
21334        WHEN OTHERS THEN
21335           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CCR') ;
21336           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21337           CLOSE L_HDR_DTLS_CSR;
21338           FND_MESSAGE.CLEAR;
21339           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
21340           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21341           L_ERROR_MSG      := SQLERRM;
21342           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21343                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21344                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21345                                       ERROR_MSG)
21346                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21347                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21348                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR,
21349                                        L_ERROR_MSG );
21350           Eflag:=1;
21351        END;
21352 
21353        --3. Validation for GPR rule .
21354        BEGIN
21355           GRACE_DURATION   := GRACE_DURATION_CHR;
21356        EXCEPTION
21357        WHEN OTHERS THEN
21358           OPEN  L_HDR_DTLS_CSR(CHR_ID,'GPR') ;
21359           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21360           CLOSE L_HDR_DTLS_CSR;
21361           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
21362           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21363           L_ERROR_MSG      := SQLERRM;
21364           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21365                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21366                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21367                                       ERROR_MSG)
21368                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21369                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21370                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR,
21371                                        L_ERROR_MSG );
21372           Eflag:=1;
21373        END;
21374 
21375        --4. Validation for RVE rule .
21376        BEGIN
21377           EST_REV_PERCENT      := EST_REV_PERCENT_CHR;
21378        EXCEPTION
21379        WHEN OTHERS THEN
21380           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RVE') ;
21381           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21382           CLOSE L_HDR_DTLS_CSR;
21383           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
21384           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21385           L_ERROR_MSG      := SQLERRM;
21386           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21387                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21388                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21389                                       ERROR_MSG)
21390                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21391                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21392                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR,
21393                                        L_ERROR_MSG );
21394           Eflag:=1;
21395        END;
21396 
21397        --5. Validation for IRT rule.
21398        BEGIN
21399           TAX_AMOUNT     := TAX_AMOUNT_CHR;
21400        EXCEPTION
21401        WHEN OTHERS THEN
21402           OPEN  L_HDR_DTLS_CSR(CHR_ID,'IRT') ;
21403           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21404           CLOSE L_HDR_DTLS_CSR;
21405           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
21406           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21407           L_ERROR_MSG      := SQLERRM;
21408           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21409                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21410                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21411                                       ERROR_MSG)
21412                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21413                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21414                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR,
21415                                        L_ERROR_MSG );
21416           Eflag:=1;
21417        END;
21418 
21419        --6. Validation for TAX (TAX_CODE) rule.
21420        BEGIN
21421           TAX_CODE      := TAX_CODE_CHR;
21422        EXCEPTION
21423        WHEN OTHERS THEN
21424           OPEN  L_HDR_DTLS_CSR(CHR_ID,'TAX') ;
21425           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21426           CLOSE L_HDR_DTLS_CSR;
21427           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
21428           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21429           L_ERROR_MSG      := SQLERRM;
21430           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21431                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21432                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21433                                       ERROR_MSG)
21434                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21435                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21436                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR,
21437                                        L_ERROR_MSG );
21438           Eflag:=1;
21439        END;
21440 
21441        --7. Validation for TAX (TAX_EXEMPTION_ID) rule.
21442        BEGIN
21443           TAX_EXEMPTION_ID      := TAX_EXEMPTION_ID_CHR;
21444        EXCEPTION
21445        WHEN OTHERS THEN
21446           OPEN  L_HDR_DTLS_CSR(CHR_ID,'TAX');
21447           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21448           CLOSE L_HDR_DTLS_CSR;
21449           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
21450           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21451           L_ERROR_MSG      := SQLERRM;
21452           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21453                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21454                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21455                                       ERROR_MSG)
21456                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21457                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21458                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR,
21459                                        L_ERROR_MSG );
21460 	   Eflag:=1;
21461        END;
21462 
21463 
21464        --8. Validation for CAN  rule.
21465        BEGIN
21466           CUST_ACCT_ID      := CUST_ACCT_ID_CHR;
21467        EXCEPTION
21468        WHEN OTHERS THEN
21469           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CAN');
21470           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21471           CLOSE L_HDR_DTLS_CSR;
21472           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
21473           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21474           L_ERROR_MSG      := SQLERRM;
21475           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21476                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21477                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21478                                       ERROR_MSG)
21479                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21480                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21481                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR,
21482                                        L_ERROR_MSG );
21483            Eflag:=1;
21484        END;
21485 
21486        --9. Validation for BTO  rule.
21487        BEGIN
21488           BILL_TO_SITE_USE_ID     := BILL_TO_SITE_USE_ID_CHR;
21489        EXCEPTION
21490        WHEN OTHERS THEN
21491           OPEN  L_HDR_DTLS_CSR(CHR_ID,'BTO');
21492           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21493           CLOSE L_HDR_DTLS_CSR;
21494           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
21495           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21496           L_ERROR_MSG      := SQLERRM;
21497           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21498                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21499                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21500                                       ERROR_MSG)
21501                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21502                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21503                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR,
21504                                        L_ERROR_MSG );
21505            Eflag:=1;
21506        END;
21507 
21508 
21509        --10. Validation for IRE  rule.
21510        BEGIN
21511           INV_RULE_ID      := INV_RULE_ID_CHR;
21512        EXCEPTION
21513        WHEN OTHERS THEN
21514           OPEN  L_HDR_DTLS_CSR(CHR_ID,'IRE');
21515           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21516           CLOSE L_HDR_DTLS_CSR;
21517           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
21518           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21519           L_ERROR_MSG      := SQLERRM;
21520           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21521                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21522                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21523                                       ERROR_MSG)
21524                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21525                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21526                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR,
21527                                        L_ERROR_MSG );
21528            Eflag:=1;
21529        END;
21530 
21531        --11. Validation for REN ( RENEWAL_NOTIFY_TO )  rule.
21532        BEGIN
21533           RENEWAL_NOTIFY_TO      := RENEWAL_NOTIFY_TO_CHR;
21534        EXCEPTION
21535        WHEN OTHERS THEN
21536           OPEN  L_HDR_DTLS_CSR(CHR_ID,'IRE');
21537           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21538           CLOSE L_HDR_DTLS_CSR;
21539           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
21540           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21541           L_ERROR_MSG      := SQLERRM;
21542           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21543                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21544                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21545                                       ERROR_MSG)
21546                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21547                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21548                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR,
21549                                        L_ERROR_MSG );
21550           Eflag:=1;
21551        END;
21552 
21553        --12. Validation for STO rule.
21554        BEGIN
21555           SHIP_TO_SITE_USE_ID      := SHIP_TO_SITE_USE_ID_CHR;
21556        EXCEPTION
21557        WHEN OTHERS THEN
21558           OPEN  L_HDR_DTLS_CSR(CHR_ID,'STO');
21559           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21560           CLOSE L_HDR_DTLS_CSR;
21561           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
21562           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21563           L_ERROR_MSG      := SQLERRM;
21564           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21565                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21566                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21567                                       ERROR_MSG)
21568                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21569                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21570                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR,
21571                                        L_ERROR_MSG );
21572           Eflag:=1;
21573        END;
21574 
21575        --13. Validation for PTR rule.
21576        BEGIN
21577           PAYMENT_TERM_ID      := PAYMENT_TERM_ID_CHR;
21578        EXCEPTION
21579        WHEN OTHERS THEN
21580           OPEN  L_HDR_DTLS_CSR(CHR_ID,'PTR');
21581           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21582           CLOSE L_HDR_DTLS_CSR;
21583           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
21584           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21585           L_ERROR_MSG      := SQLERRM;
21586           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21587                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21588                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21589                                       ERROR_MSG)
21590                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21591                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21592                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR,
21593                                        L_ERROR_MSG );
21594           Eflag:=1;
21595        END;
21596 
21597        --14. Validation for ERN rule.
21598        BEGIN
21599           BILLING_PROFILE_ID      := BILLING_PROFILE_ID_CHR;
21600        EXCEPTION
21601        WHEN OTHERS THEN
21602           OPEN  L_HDR_DTLS_CSR(CHR_ID,'ERN');
21603           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21604           CLOSE L_HDR_DTLS_CSR;
21605           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
21606           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21607           L_ERROR_MSG      := SQLERRM;
21608           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21609                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21610                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21611                                       ERROR_MSG)
21612                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21613                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21614                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR,
21615                                        L_ERROR_MSG );
21616 	  Eflag:=1;
21617        END;
21618 
21619 
21620        --15. Validation for QTO ( QUOTE_TO_CONTACT_ID )rule.
21621        BEGIN
21622           QUOTE_TO_CONTACT_ID      := QUOTE_TO_CONTACT_ID_CHR;
21623        EXCEPTION
21624        WHEN OTHERS THEN
21625           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
21626           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21627           CLOSE L_HDR_DTLS_CSR;
21628           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
21629           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21630           L_ERROR_MSG      := SQLERRM;
21631           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21632                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21633                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21634                                       ERROR_MSG)
21635                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21636                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21637                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR,
21638                                        L_ERROR_MSG );
21639           Eflag:=1;
21640        END;
21641 
21642        --16. Validation for QTO ( QUOTE_TO_SITE_ID ) rule.
21643        BEGIN
21644           QUOTE_TO_SITE_ID      := QUOTE_TO_SITE_ID_CHR;
21645        EXCEPTION
21646        WHEN OTHERS THEN
21647           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
21648           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21649           CLOSE L_HDR_DTLS_CSR;
21650           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
21651           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21652           L_ERROR_MSG      := SQLERRM;
21653           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21654                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21655                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21656                                       ERROR_MSG)
21657                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21658                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21659                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR,
21660                                        L_ERROR_MSG );
21661            Eflag:=1;
21662        END;
21663 
21664        --17. Validation for QTO ( QUOTE_TO_EMAIL_ID ) rule.
21665        BEGIN
21666           QUOTE_TO_EMAIL_ID      := QUOTE_TO_EMAIL_ID_CHR;
21667        EXCEPTION
21668        WHEN OTHERS THEN
21669           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
21670           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21671           CLOSE L_HDR_DTLS_CSR;
21672           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
21673           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21674           L_ERROR_MSG      := SQLERRM;
21675           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21676                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21677                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21678                                       ERROR_MSG)
21679                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21680                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21681                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR,
21682                                        L_ERROR_MSG );
21683            Eflag:=1;
21684        END;
21685 
21686        --18. Validation for QTO ( QUOTE_TO_PHONE_ID ) rule.
21687        BEGIN
21688           QUOTE_TO_PHONE_ID     := QUOTE_TO_PHONE_ID_CHR;
21689        EXCEPTION
21690        WHEN OTHERS THEN
21691           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
21692           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21693           CLOSE L_HDR_DTLS_CSR;
21694           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
21695           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21696           L_ERROR_MSG      := SQLERRM;
21697           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21698                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21699                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21700                                       ERROR_MSG)
21701                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21702                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21703                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR,
21704                                        L_ERROR_MSG );
21705            Eflag:=1;
21706        END;
21707 
21708        --19. Validation for QTO ( QUOTE_TO_FAX_ID ) rule.
21709        BEGIN
21710           QUOTE_TO_FAX_ID     := QUOTE_TO_FAX_ID_CHR;
21711        EXCEPTION
21712        WHEN OTHERS THEN
21713           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
21714           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21715           CLOSE L_HDR_DTLS_CSR;
21716           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
21717           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21718           L_ERROR_MSG      := SQLERRM;
21719           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21720                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21721                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21722                                       ERROR_MSG)
21723                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21724                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21725                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR,
21726                                        L_ERROR_MSG );
21727           Eflag:=1;
21728        END;
21729 
21730        --20. Validation for RPT ( RENEWAL_PRICE_LIST ) rule.
21731        BEGIN
21732           RENEWAL_PRICE_LIST      := RENEWAL_PRICE_LIST_CHR;
21733        EXCEPTION
21734        WHEN OTHERS THEN
21735           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RPT');
21736           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21737           CLOSE L_HDR_DTLS_CSR;
21738           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
21739           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21740           L_ERROR_MSG      := SQLERRM;
21741           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21742                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21743                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21744                                       ERROR_MSG)
21745                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21746                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21747                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR,
21748                                        L_ERROR_MSG );
21749           Eflag:=1;
21750        END;
21751 
21752        --21. Validation for RPT ( RENEWAL_MARKUP_PERCENT ) rule.
21753        BEGIN
21754           RENEWAL_MARKUP_PERCENT      := RENEWAL_MARKUP_PERCENT_CHR;
21755        EXCEPTION
21756        WHEN OTHERS THEN
21757           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RPT');
21758           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21759           CLOSE L_HDR_DTLS_CSR;
21760           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
21761           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21762           L_ERROR_MSG      := SQLERRM;
21763           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21764                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21765                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21766                                       ERROR_MSG)
21767                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21768                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21769                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR,
21770                                        L_ERROR_MSG );
21771            Eflag:=1;
21772        END;
21773 
21774        --22. Validation for RPT ( RENEWAL_GRACE_DURATION ) rule.
21775        BEGIN
21776           RENEWAL_GRACE_DURATION      := RENEWAL_GRACE_DURATION_CHR;
21777        EXCEPTION
21778        WHEN OTHERS THEN
21779           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RPT');
21780           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21781           CLOSE L_HDR_DTLS_CSR;
21782           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
21783           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21784           L_ERROR_MSG      := SQLERRM;
21785           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21786                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21787                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21788                                       ERROR_MSG)
21789                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21790                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21791                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR,
21792                                        L_ERROR_MSG );
21793            Eflag:=1;
21794        END;
21795 
21796        --23. Validation for RER ( RENEWAL_EST_REV_PERCENT ) rule.
21797        BEGIN
21798           RENEWAL_EST_REV_PERCENT      := RENEWAL_EST_REV_PERCENT_CHR;
21799        EXCEPTION
21800        WHEN OTHERS THEN
21801           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RER');
21802           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21803           CLOSE L_HDR_DTLS_CSR;
21804           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
21805           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21806           L_ERROR_MSG      := SQLERRM;
21807           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21808                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21809                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21810                                       ERROR_MSG)
21811                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21812                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21813                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR,
21814                                        L_ERROR_MSG );
21815           Eflag:=1;
21816        END;
21817 
21818        --24. Validation for RER ( RENEWAL_EST_REV_DURATION ) rule.
21819        BEGIN
21820           RENEWAL_EST_REV_DURATION      := RENEWAL_EST_REV_DURATION_CHR;
21821        EXCEPTION
21822        WHEN OTHERS THEN
21823           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RER');
21824           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21825           CLOSE L_HDR_DTLS_CSR;
21826           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
21827           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21828           L_ERROR_MSG      := SQLERRM;
21829           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21830                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21831                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21832                                       ERROR_MSG)
21833                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21834                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21835                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR,
21836                                        L_ERROR_MSG );
21837            Eflag:=1;
21838        END;
21839 
21840        --25. Validation for RRU ( RENEWAL_PRICE_LIST_USED ) rule.
21841        BEGIN
21842           RENEWAL_PRICE_LIST_USED     := RENEWAL_PRICE_LIST_USED_CHR;
21843        EXCEPTION
21844        WHEN OTHERS THEN
21845           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
21846           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21847           CLOSE L_HDR_DTLS_CSR;
21848           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
21849           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21850           L_ERROR_MSG      := SQLERRM;
21851           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21852                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21853                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21854                                       ERROR_MSG)
21855                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21856                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21857                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR,
21858                                        L_ERROR_MSG );
21859            Eflag:=1;
21860        END;
21861 
21862        --26. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
21863        BEGIN
21864           RENEWAL_NOTIFICATION_TO      := RENEWAL_NOTIFICATION_TO_CHR;
21865        EXCEPTION
21866        WHEN OTHERS THEN
21867           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
21868           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21869           CLOSE L_HDR_DTLS_CSR;
21870           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
21871           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21872           L_ERROR_MSG      := SQLERRM;
21873           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21874                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21875                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21876                                       ERROR_MSG)
21877                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21878                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21879                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR,
21880                                        L_ERROR_MSG );
21881            Eflag:=1;
21882        END;
21883 
21884        --27. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
21885        BEGIN
21886           RENEWAL_MARKUP_PERCENT_USED      := RENEWAL_MARKUP_PERCENT_USED_CH;
21887        EXCEPTION
21888        WHEN OTHERS THEN
21889           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
21890           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21891           CLOSE L_HDR_DTLS_CSR;
21892           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
21893           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21894           L_ERROR_MSG      := SQLERRM;
21895           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21896                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21897                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21898                                       ERROR_MSG)
21899                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21900                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21901                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH,
21902                                        L_ERROR_MSG );
21903            Eflag:=1;
21904        END;
21905 
21906        --28. Validation for RRU ( REV_EST_PERCENT_USED ) rule.
21907        BEGIN
21908           REV_EST_PERCENT_USED      := REV_EST_PERCENT_USED_CHR;
21909        EXCEPTION
21910        WHEN OTHERS THEN
21911           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
21912           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21913           CLOSE L_HDR_DTLS_CSR;
21914           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
21915           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21916           L_ERROR_MSG      := SQLERRM;
21917           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21918                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21919                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21920                                       ERROR_MSG)
21921                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21922                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21923                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR,
21924                                        L_ERROR_MSG );
21925            Eflag:=1;
21926        END;
21927 
21928        --29. Validation for RRU ( REV_EST_DURATION_USED ) rule.
21929        BEGIN
21930           REV_EST_DURATION_USED      := REV_EST_DURATION_USED_CHR;
21931        EXCEPTION
21932        WHEN OTHERS THEN
21933           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
21934           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21935           CLOSE L_HDR_DTLS_CSR;
21936           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
21937           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21938           L_ERROR_MSG      := SQLERRM;
21939           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21940                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21941                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21942                                       ERROR_MSG)
21943                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21944                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21945                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR,
21946                                        L_ERROR_MSG );
21947              Eflag:=1;
21948        END;
21949 
21950        --30. Validation for RRU ( BILLING_PROFILE_USED ) rule.
21951        BEGIN
21952           BILLING_PROFILE_USED      := BILLING_PROFILE_USED_CHR;
21953        EXCEPTION
21954        WHEN OTHERS THEN
21955           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
21956           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21957           CLOSE L_HDR_DTLS_CSR;
21958           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
21959           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21960           L_ERROR_MSG      := SQLERRM;
21961           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21962                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21963                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21964                                       ERROR_MSG)
21965                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21966                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21967                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR,
21968                                        L_ERROR_MSG );
21969           Eflag:=1;
21970        END;
21971 
21972        --31. Validation for RRU ( EVN_THRESHOLD_AMT ) rule.
21973        BEGIN
21974           EVN_THRESHOLD_AMT      := EVN_THRESHOLD_AMT_CHR;
21975        EXCEPTION
21976        WHEN OTHERS THEN
21977           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
21978           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
21979           CLOSE L_HDR_DTLS_CSR;
21980           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
21981           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
21982           L_ERROR_MSG      := SQLERRM;
21983           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
21984                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
21985                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
21986                                       ERROR_MSG)
21987                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
21988                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
21989                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR,
21990                                        L_ERROR_MSG );
21991            Eflag:=1;
21992        END;
21993 
21994        --32. Validation for RRU ( ERN_THRESHOLD_AMT ) rule.
21995        BEGIN
21996           ERN_THRESHOLD_AMT      := ERN_THRESHOLD_AMT_CHR;
21997        EXCEPTION
21998        WHEN OTHERS THEN
21999           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
22000           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22001           CLOSE L_HDR_DTLS_CSR;
22002           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
22003           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22004           L_ERROR_MSG      := SQLERRM;
22005           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22006                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22007                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22008                                       ERROR_MSG)
22009                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22010                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22011                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR,
22012                                        L_ERROR_MSG );
22013           Eflag:=1;
22014        END;
22015 
22016        --33. Validation for RRE ( RENEWAL_GRACE_DURATION_USED ) rule.
22017        BEGIN
22018           RENEWAL_GRACE_DURATION_USED      := RENEWAL_GRACE_DURATION_USED_CH;
22019        EXCEPTION
22020        WHEN OTHERS THEN
22021           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRE');
22022           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22023           CLOSE L_HDR_DTLS_CSR;
22024           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
22025           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22026           L_ERROR_MSG      := SQLERRM;
22027           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22028                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22029                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22030                                       ERROR_MSG)
22031                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22032                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22033                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH,
22034                                        L_ERROR_MSG );
22035           Eflag:=1;
22036        END;
22037 
22038        --34. Validation for PRE ( PRICE_LIST_ID ) rule.
22039        BEGIN
22040           PRICE_LIST_ID      := PRICE_LIST_ID_CHR;
22041        EXCEPTION
22042        WHEN OTHERS THEN
22043           OPEN  L_HDR_DTLS_CSR(CHR_ID,'PRE');
22044           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22045           CLOSE L_HDR_DTLS_CSR;
22046           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
22047           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22048           L_ERROR_MSG      := SQLERRM;
22049           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22050                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22051                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22052                                       ERROR_MSG)
22053                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22054                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22055                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR,
22056                                        L_ERROR_MSG );
22057            Eflag:=1;
22058        END;
22059 
22060        --35. Validation for CVN ( CONVERSION_RATE ) rule.
22061        BEGIN
22062           CONVERSION_RATE      := CONVERSION_RATE_CHR;
22063        EXCEPTION
22064        WHEN OTHERS THEN
22065           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CVN');
22066           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22067           CLOSE L_HDR_DTLS_CSR;
22068           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
22069           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22070           L_ERROR_MSG      := SQLERRM;
22071           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22072                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22073                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22074                                       ERROR_MSG)
22075                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22076                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22077                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR,
22078                                        L_ERROR_MSG );
22079            Eflag:=1;
22080        END;
22081 
22082        --36. Validation for CVN ( CONVERSION_EURO_RATE ) rule.
22083        BEGIN
22084           CONVERSION_EURO_RATE      := CONVERSION_EURO_RATE_CHR;
22085        EXCEPTION
22086        WHEN OTHERS THEN
22087           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CVN');
22088           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22089           CLOSE L_HDR_DTLS_CSR;
22090           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
22091           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22092           L_ERROR_MSG      := SQLERRM;
22093           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22094                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22095                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22096                                       ERROR_MSG)
22097                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22098                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22099                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR,
22100                                        L_ERROR_MSG );
22101            Eflag:=1;
22102        END;
22103 
22104        --37. Validation for CCR ( CC_EXPIRY_DATE ) rule.
22105        BEGIN
22106           L_CC_EXPIRY_DATE      := to_date(CC_EXPIRY_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
22107        EXCEPTION
22108        WHEN OTHERS THEN
22109           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CCR');
22110           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22111           CLOSE L_HDR_DTLS_CSR;
22112           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
22113           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22114           L_ERROR_MSG      := SQLERRM;
22115           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22116                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22117                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22118                                       ERROR_MSG)
22119                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22120                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22121                                       'CCR'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CC_EXPIRY_DATE_CHR,
22122                                        L_ERROR_MSG );
22123           Eflag:=1;
22124        END;
22125 
22126        --38. Validation for RVE ( EST_REV_DATE ) rule.
22127        BEGIN
22128           L_EST_REV_DATE      := to_date(EST_REV_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
22129        EXCEPTION
22130        WHEN OTHERS THEN
22131           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RVE');
22132           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22133           CLOSE L_HDR_DTLS_CSR;
22134           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_DATE');
22135           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22136           L_ERROR_MSG      := SQLERRM;
22137           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22138                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22139                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22140                                       ERROR_MSG)
22141                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22142                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22143                                       'RVE'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , EST_REV_DATE_CHR,
22144                                        L_ERROR_MSG );
22145            Eflag:=1;
22146        END;
22147 
22148        --39. Validation for REN ( RENEWAL_END_DATE ) rule.
22149        BEGIN
22150           L_RENEWAL_END_DATE      := to_date(RENEWAL_END_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
22151        EXCEPTION
22152        WHEN OTHERS THEN
22153           OPEN  L_HDR_DTLS_CSR(CHR_ID,'REN');
22154           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22155           CLOSE L_HDR_DTLS_CSR;
22156           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_END_DATE');
22157           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22158           L_ERROR_MSG      := SQLERRM;
22159           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22160                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22161                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22162                                       ERROR_MSG)
22163                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22164                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22165                                       'REN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_END_DATE_CHR,
22166                                        L_ERROR_MSG );
22167            Eflag:=1;
22168        END;
22169 
22170        --40. Validation for REN ( CONVERSION_RATE_DATE ) rule.
22171        BEGIN
22172           L_CONVERSION_RATE_DATE      := to_date(CONVERSION_RATE_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
22173        EXCEPTION
22174        WHEN OTHERS THEN
22175           OPEN  L_HDR_DTLS_CSR(CHR_ID,'REN');
22176           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
22177           CLOSE L_HDR_DTLS_CSR;
22178           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE_DATE');
22179           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
22180           L_ERROR_MSG      := SQLERRM;
22181           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
22182                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
22183                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
22184                                       ERROR_MSG)
22185                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
22186                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
22187                                       'CVN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_DATE_CHR,
22188                                        L_ERROR_MSG );
22189            Eflag:=1;
22190        END;
22191        Emsg := SQLERRM;
22192 End If;
22193 
22194     -- End of code to validate data type .
22195   ---------------------------------------------------------------------------------------
22196 
22197 IF Eflag = 1 THEN
22198    Eflag :=0;
22199    FND_FILE.PUT_LINE(FND_FILE.LOG ,'Validation failed for rgp_id :'||p_id||' Error Message: '||Emsg||' '||L_ERROR_MSG);
22200    Raise VAL_EXCEPTION;
22201 END IF;
22202 
22203 
22204 If iEflag = 1 THEN
22205   iEflag := 0;
22206   FND_FILE.PUT_LINE(FND_FILE.LOG ,'Insert/Update failed for rgp_id :'||p_id||' Error Message: '||Emsg);
22207   Raise MAIN_EXCEPTION;
22208 End If;
22209 
22210 x_return_status:='S';
22211 
22212 
22213 EXCEPTION
22214   WHEN MAIN_EXCEPTION THEN
22215   FND_FILE.PUT_LINE(FND_FILE.LOG ,SQLCODE );
22216   FND_FILE.PUT_LINE(FND_FILE.LOG ,SQLERRM );
22217     IF ISQLCODE in ( 1,-1)  THEN
22218       x_return_status:='S';
22219     Else
22220       x_return_status:='E';
22221       Update oks_rule_reprocess
22222       set errormsg= Emsg
22223       where rowid=prow_id;
22224     End If;
22225 
22226   WHEN VAL_EXCEPTION THEN
22227        x_return_status:='E';
22228       Update oks_rule_reprocess
22229       set errormsg=L_ERROR_MSG
22230       where rowid=prow_id;
22231    WHEN LOCK_EXCEPTION THEN
22232 	X_RETURN_STATUS := 'E';
22233 	L_ERROR_MSG := Emsg;
22234         Update oks_rule_reprocess
22235         set errormsg=L_ERROR_MSG
22236         where rowid=prow_id;
22237 	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for LOCK '||p_id||'with Error Message '||L_ERROR_MSG);
22238    WHEN OTHERS THEN
22239 	X_RETURN_STATUS := 'E';
22240 	L_ERROR_MSG := Emsg;
22241         Update oks_rule_reprocess
22242         set errormsg=L_ERROR_MSG
22243         where rowid=prow_id;
22244 	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_id||'with Error Message '||L_ERROR_MSG);
22245 
22246 
22247 END REPROCESS_HDR_RULE;
22248 
22249 --------------------------------------------------------------------------------------------
22250 --    This is the procedure called from Reprocess_data to Reprocess Line rule data           --
22251 --------------------------------------------------------------------------------------------
22252 
22253 Procedure REPROCESS_LINE_RULE(prow_id         in ROWID ,
22254                               p_id            in NUMBER ,
22255 			      p_us_yn         in BOOLEAN,
22256                               x_return_status OUT NOCOPY  VARCHAR2)
22257 
22258 IS
22259 
22260 ID                              number;
22261 CLE_ID                          number ;
22262 DNZ_CHR_ID                      number ;
22263 L_ID                            number;
22264 L_CLE_ID                        number ;
22265 L_DNZ_CHR_ID                    number ;
22266 DISCOUNT_LIST                   number ;          --DST
22267 ACCT_RULE_ID                    number ;          --ARL
22268 L_PAYMENT_TYPE                  varchar2(2000) ;  --CCR
22269 L_CC_NO                         varchar2(2000) ;  --CCR
22270 L_CC_EXPIRY_DATE		date ;            --CCR
22271 CC_BANK_ACCT_ID			number ;          --CCR
22272 L_CC_AUTH_CODE			varchar2(2000) ;  --CCR
22273 GRACE_DURATION			number ;          --GPR
22274 L_GRACE_PERIOD			varchar2(2000) ;  --GPR
22275 L_INVOICE_TEXT			varchar2(2000) ;  --IRT
22276 L_INV_PRINT_FLAG		varchar2(2000) ;  --IRT
22277 L_PRICE_UOM			varchar2(2000) ;  --IRT
22278 TAX_AMOUNT			number ;          --IRT
22279 L_TAX_INCLUSIVE_YN		varchar2(2000) ;  --IRT
22280 L_TAX_STATUS			varchar2(2000) ;  --TAX
22281 TAX_CODE			number ;          --TAX
22282 TAX_EXEMPTION_ID		number ;          --TAX
22283 L_IB_TRANS_TYPE			varchar2(2000) ;  --IBR
22284 IB_TRANS_DATE			date ;            --IBR
22285 L_IB_TRX_DETAILS                varchar2(2000) ;  --IBR
22286 CLVL_LIST_PRICE			number ;          --PDL
22287 CLVL_QUANTITY			number ;          --PDL
22288 CLVL_EXTENDED_AMT		number ;          --PDL
22289 L_TOPLVL_OPERAND_CODE		varchar2(2000) ;  --PDL
22290 TOPLVL_OPERAND_VAL		number ;          --PDL
22291 L_CLVL_UOM_CODE			varchar2(2000) ;  --PDL
22292 TOPLVL_QUANTITY			number ;          --PDL
22293 L_TOPLVL_UOM_CODE               varchar2(2000) ;  --PDL
22294 TOPLVL_ADJ_PRICE		number ;          --PDL
22295 TOPLVL_PRICE_QTY		number ;          --PDL
22296 L_STATUS_TEXT			varchar2(2000) ;  --PDL
22297 AVERAGING_INTERVAL		number ;          --QRE
22298 L_USAGE_PERIOD			varchar2(2000) ;  --QRE
22299 L_SETTLEMENT_INTERVAL		varchar2(2000) ;  --QRE
22300 MINIMUM_QUANTITY		number ;          --QRE
22301 DEFAULT_QUANTITY		number ;          --QRE
22302 L_AMCV_FLAG			varchar2(2000) ;  --QRE
22303 FIXED_QUANTITY			number ;          --QRE
22304 USAGE_DURATION			number ;          --QRE
22305 L_LEVEL_YN			varchar2(2000) ;  --QRE
22306 L_USAGE_TYPE			varchar2(2000) ;  --QRE
22307 L_UOM_QUANTIFIED                varchar2(2000) ;  --QRE
22308 BASE_READING			number ;          --QRE
22309 L_USAGE_EST_METHOD		varchar2(2000) ;  --QRE
22310 L_BILLING_SCHEDULE_TYPE		varchar2(2000) ;  --SLH
22311 CUST_ACCT_ID			number ;          --CAN (OKC)
22312 BILL_TO_SITE_USE_ID		number ;          --BTO (OKC)
22313 INV_RULE_ID			number ;          --IRE (OKC)
22314 L_LINE_RENEWAL_TYPE_CODE        varchar2(2000) ;  --REN (OKC)
22315 SHIP_TO_SITE_USE_ID		number ;          --STO (OKC)
22316 PAYMENT_TERM_ID			number ;          --PTR (OKC)
22317 LINE_LIST_PRICE                 number ;          --PDL rule_info4 (OKC)
22318 
22319 -- FOLLOWING ARE NUMBER FIELDS --
22320 DISCOUNT_LIST_CHR               varchar2(2000) ;  --DST
22321 ACCT_RULE_ID_CHR                varchar2(2000) ;  --ARL
22322 CC_BANK_ACCT_ID_CHR		varchar2(2000) ;  --CCR
22323 GRACE_DURATION_CHR		varchar2(2000) ;  --GPR
22324 TAX_AMOUNT_CHR   		varchar2(2000) ;  --IRT
22325 TAX_CODE_CHR    		varchar2(2000) ;  --TAX
22326 TAX_EXEMPTION_ID_CHR		varchar2(2000) ;  --TAX
22327 CLVL_LIST_PRICE_CHR		varchar2(2000) ;  --PDL
22328 CLVL_QUANTITY_CHR		varchar2(2000) ;  --PDL
22329 CLVL_EXTENDED_AMT_CHR   	varchar2(2000) ;  --PDL
22330 TOPLVL_OPERAND_VAL_CHR		varchar2(2000) ;  --PDL
22331 TOPLVL_QUANTITY_CHR		varchar2(2000) ;  --PDL
22332 TOPLVL_ADJ_PRICE_CHR		varchar2(2000) ;  --PDL
22333 TOPLVL_PRICE_QTY_CHR		varchar2(2000) ;  --PDL
22334 AVERAGING_INTERVAL_CHR		varchar2(2000) ;  --QRE
22335 MINIMUM_QUANTITY_CHR		varchar2(2000) ;  --QRE
22336 DEFAULT_QUANTITY_CHR		varchar2(2000) ;  --QRE
22337 FIXED_QUANTITY_CHR		varchar2(2000) ;  --QRE
22338 USAGE_DURATION_CHR		varchar2(2000) ;  --QRE
22339 BASE_READING_CHR		varchar2(2000) ;  --QRE
22340 CUST_ACCT_ID_CHR		varchar2(2000) ;  --CAN (OKC)
22341 BILL_TO_SITE_USE_ID_CHR		varchar2(2000) ;  --BTO (OKC)
22342 INV_RULE_ID_CHR			varchar2(2000) ;  --IRE (OKC)
22343 SHIP_TO_SITE_USE_ID_CHR		varchar2(2000) ;  --STO (OKC)
22344 PAYMENT_TERM_ID_CHR		varchar2(2000) ;  --PTR (OKC)
22345 LINE_LIST_PRICE_CHR             varchar2(2000) ;  --PDL (OKC)
22346 ------------------------------------------------------------
22347 EXCEPTION_COV_ID_CHR            Varchar2(2000);
22348 PM_PROGRAM_ID_CHR               Varchar2(2000);
22349 PRICE_LIST_ID_CHR               Varchar2(2000);
22350 RCN_INCIDENT_SEVERITY_ID_CHR    Varchar2(2000);
22351 RCN_PDF_ID_CHR                  Varchar2(2000);
22352 RSN_INCIDENT_SEVERITY_ID_CHR    Varchar2(2000);
22353 RSN_PDF_ID_CHR                  Varchar2(2000);
22354 DISCOUNT_PERCENT_CHR            Varchar2(2000);
22355 DISCOUNT_AMOUNT_CHR             Varchar2(2000);
22356 -----------------------------------------------
22357 EXCEPTION_COV_ID                Number ;
22358 L_INHERITANCE_TYPE              Varchar2(2000);
22359 Prod_Upgrade_YN_CHR             Varchar2(2000);
22360 Coverage_Type_CHR               Varchar2(2000);
22361 TRANSFER_OPTION_CHR             Varchar2(2000);
22362 PM_PROGRAM_ID                   Number ;
22363 PM_CONF_REQ_YN_CHR              Varchar2(2000);
22364 PM_SCH_EXISTS_YN_CHR            Varchar2(2000);
22365 ALLOW_BT_DISCOUNT_CHR           Varchar2(2000);
22366 L_OFFSET_DURATION               Varchar2(2000);
22367 PRICE_LIST_ID                   Number ;
22368 RCN_INCIDENT_SEVERITY_ID        Number ;
22369 RCN_PDF_ID                      Number ;
22370 RCN_REACT_TIME_NAME             Varchar2(2000);
22371 RCN_WORK_THRU_YN                Varchar2(2000);
22372 RCN_REACT_ACTIVE_YN             Varchar2(2000);
22373 RSN_INCIDENT_SEVERITY_ID        Number ;
22374 RSN_PDF_ID                      Number ;
22375 RSN_REACT_TIME_NAME             Varchar2(2000);
22376 RSN_WORK_THRU_YN                Varchar2(2000);
22377 RSN_REACT_ACTIVE_YN             Varchar2(2000);
22378 L_LIMIT_UOM_QUANTIFIED          Varchar2(2000);
22379 DISCOUNT_AMOUNT                 Number;
22380 DISCOUNT_PERCENT                Number;
22381 L_Sync_Date_Install             Varchar2(2000);
22382 
22383 ------------------------------------------------
22384 -- FOLLOWING ARE DATE FIELDS --
22385 CC_EXPIRY_DATE_CHR		varchar2(2000) ; --CCR
22386 IB_TRANS_DATE_CHR		varchar2(2000) ; --IBR
22387 
22388 --Misc Variables --
22389 L_ATTRIBUTE_NAME                VARCHAR2(2000);
22390 L_ERROR_MSG                     VARCHAR2(2000);
22391  L_USERENV_LANG                 VARCHAR2(100) := OKC_UTIL.get_userenv_lang ;
22392 
22393 MAIN_EXCEPTION                  EXCEPTION;
22394 VAL_EXCEPTION                   EXCEPTION;
22395 LOCK_EXCEPTION                  EXCEPTION;
22396 L_LOCK_ID                       NUMBER;
22397 rowcount                        number;
22398 
22399 -------------------------------------------------------
22400 -- Cursor to lock okc_k_lines_b before going for update
22401 -------------------------------------------------------
22402 CURSOR L_LOCK_LINE_CSR (p_id in number ) IS
22403 SELECT ID
22404   FROM OKC_K_LINES_B
22405  WHERE ID = P_ID
22406    FOR UPDATE NOWAIT;
22407 
22408 Eflag                          NUMBER;
22409 Emsg                           VARCHAR2(2000);
22410 iEflag                         NUMBER:=0;
22411 l_upd_cle_id                   NUMBER;
22412 ISQLCODE                       NUMBER;
22413 
22414 -------------------------------------------------------------------------------
22415 -- The following is the cursor opened if p_us_yn is TRUE  --
22416 -------------------------------------------------------------------------------
22417 CURSOR l_line_rule_csr (p_id in NUMBER)is
22418 SELECT  RGP.CLE_ID     ID
22419        ,RGP.CLE_ID     CLE_ID
22420        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
22421 
22422    -------  Character to number conversion -- No translation needed ,checked in gsidev
22423        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
22424        --              '!,.','!')                                                          DISCOUNT_LIST
22425        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1))                DISCOUNT_LIST
22426 
22427        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                ACCT_RULE_ID
22428        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                          PAYMENT_TYPE
22429        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))          CC_NO
22430        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
22431             to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       CC_EXPIRY_DATE
22432        -------  Character to number conversion -- No translation needed ,checked in gsidev
22433        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
22434        --              '!,.','!')                                                          CC_BANK_ACCT_ID
22435        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))          CC_BANK_ACCT_ID
22436        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))          CC_AUTH_CODE
22437        -------  Character to number conversion -- No translation needed ,checked in gsidev
22438        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
22439        --              '!,.','!')                                                          GRACE_DURATION
22440        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))          GRACE_DURATION
22441        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))          GRACE_PERIOD
22442        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION1))          INVOICE_TEXT
22443        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION2))          INV_PRINT_FLAG
22444        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION3))          PRICE_UOM
22445         -------  Character to number conversion -- This column needs translation --checked in gsidev
22446        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
22447                      '!,','!')                                                             TAX_AMOUNT
22448        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION5))          TAX_INCLUSIVE_YN
22449        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))          TAX_STATUS
22450        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
22451                      '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!')       TAX_CODE
22452        -------  Character to number conversion -- No translation needed ,checked in gsidev
22453        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
22454        --              '!,.','!')                                                          TAX_EXEMPTION_ID
22455        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                TAX_EXEMPTION_ID
22456        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION1))          IB_TRANS_TYPE
22457        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,
22458             TO_DATE(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       IB_TRANS_DATE
22459        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION3))          IB_TRX_DETAILS
22460         -------  Character to number conversion -- This column needs translation --checked in gsidev
22461        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
22462                      '!,','!')                                                             CLVL_LIST_PRICE
22463        -------  Character to number conversion -- No translation needed ,checked in gsidev
22464        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
22465        --              '!,.','!')                                                          CLVL_QUANTITY
22466        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2))          CLVL_QUANTITY
22467        -------  Character to number conversion -- This column needs translation --checked in gsidev
22468        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
22469                      '!,','!')                                                             CLVL_EXTENDED_AMT
22470        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
22471                      '!,','!')                                                             LINE_LIST_PRICE
22472        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION5))          TOPLVL_OPERAND_CODE
22473         -------  Character to number conversion -- This column needs translation --checked in gsidev
22474        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
22475                      '!,','!')                                                             TOPLVL_OPERAND_VAL
22476        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION7))          CLVL_UOM_CODE
22477        -------  Character to number conversion -- No translation needed ,checked in gsidev
22478        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
22479        --              '!,.','!')                                                          TOPLVL_QUANTITY
22480        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8))          TOPLVL_QUANTITY
22481        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION9))          TOPLVL_UOM_CODE
22482        -------  Character to number conversion -- This column needs translation --checked in gsidev
22483        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
22484                      '!,','!')                                                             TOPLVL_ADJ_PRICE
22485        -------  Character to number conversion -- This column needs translation --checked in gsidev
22486        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
22487                      '!,','!')                                                             TOPLVL_PRICE_QTY
22488        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION12)) STATUS_TEXT
22489        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  QRE.
22490        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
22491        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
22492        --              '!,.','!')                                                           AVERAGING_INTERVAL
22493        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1))           AVERAGING_INTERVAL
22494        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION2))           USAGE_PERIOD
22495        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION3))           SETTLEMENT_INTERVAL
22496        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
22497        --              '!,.','!')                                                           MINIMUM_QUANTITY
22498        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4))           MINIMUM_QUANTITY
22499        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
22500        --              '!,.','!')                                                           DEFAULT_QUANTITY
22501        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5))           DEFAULT_QUANTITY
22502        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION6))           AMCV_FLAG
22503        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
22504        --              '!,.','!')                                                           FIXED_QUANTITY
22505        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7))               FIXED_QUANTITY
22506        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
22507        --              '!,.','!')       USAGE_DURATION
22508        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8))           USAGE_DURATION
22509        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION9))           LEVEL_YN
22510        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION10))          USAGE_TYPE
22511        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION11))          UOM_QUANTIFIED
22512        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
22513        --              '!,.','!')       BASE_READING
22514        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12))          BASE_READING
22515        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,DECODE(RUL.RULE_INFORMATION6,'Y','AMCV'))) USAGE_EST_METHOD
22516        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
22517        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
22518                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )  BILLING_SCHEDULE_TYPE
22519        -------  Character to number conversion -- No translation needed ,checked in gsidev
22520        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
22521        --              '!,.','!')                                                           CUST_ACCT_ID           --OKC
22522        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                 CUST_ACCT_ID           --OKC
22523        -------  Character to number conversion -- No translation needed ,checked in gsidev
22524        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
22525        --              '!,.','!')                                                           BILL_TO_SITE_USE_ID    --OKC
22526        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                 BILL_TO_SITE_USE_ID    --OKC
22527        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                 INV_RULE_ID            --OKC
22528        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LRT' ,RUL.RULE_INFORMATION1))           LINE_RENEWAL_TYPE_CODE --OKC
22529        -------  Character to number conversion -- No translation needed ,checked in gsidev
22530        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
22531        --              '!,.','!')                                                           SHIP_TO_SITE_USE_ID    --OKC
22532        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                 SHIP_TO_SITE_USE_ID    --OKC
22533        -------  Character to number conversion -- No translation needed ,checked in gsidev
22534        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
22535        --              '!,.','!')                                                           PAYMENT_TERM_ID        --OKC
22536        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                 PAYMENT_TERM_ID        --OKC
22537        ----- For Coverages
22538        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1))             EXCEPTION_COV_ID
22539        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'WHE',RUL.RULE_INFORMATION1))             INHERITANCE_TYPE
22540        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'UGE',RUL.RULE_INFORMATION1))             PROD_UPGRADE_YN_CHR
22541        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'CVE',RUL.RULE_INFORMATION1))             COVERAGE_TYPE_CHR
22542        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'STR',decode(RUL.RULE_INFORMATION1,'Y','TRANS','TERM'))) TRANSFER_OPTION_CHR
22543        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1))                   PM_PROGRAM_ID
22544        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION1))             PM_CONF_REQ_YN_CHR
22545        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION2))             PM_SCH_EXISTS_YN_CHR
22546        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'DST',RUL.OBJECT1_ID1))                 DISCOUNT_LIST
22547        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD','Y'))ALLOW_BT_DISCOUNT_CHR
22548        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'OFS',RUL.RULE_INFORMATION1))OFFSET_DURATION
22549        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1))                   PRICE_LIST_ID
22550        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))                   RCN_INCIDENT_SEVERITY_ID
22551        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))             RCN_PDF_ID
22552        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))             RCN_REACT_TIME_NAME
22553        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))             RCN_WORK_THRU_YN
22554        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))             RCN_REACT_ACTIVE_YN
22555        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))             RSN_REACT_TIME_NAME
22556        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1))             LIMIT_UOM_QUANTIFIED
22557        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  LMT.
22558        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
22559        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2)),
22560        --              '!,','!')                                                           DISCOUNT_AMOUNT
22561        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2))             DISCOUNT_AMOUNT
22562        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4)),
22563        --              '!%,','!')                                                          DISCOUNT_PERCENT
22564        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4))             DISCOUNT_PERCENT
22565        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT','N'))Sync_Date_Install
22566 
22567 
22568   FROM OKC_RULE_GROUPS_B RGP
22569      , OKC_RULES_B RUL
22570  WHERE RGP.ID  = RUL.RGP_ID
22571    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
22572 'ECE','WHE','UGE','STR','CVE','PMP','BTD','RCN','RSN','LMT','OFS','PRE','CVR')
22573    AND RGP.CLE_ID IS NOT NULL
22574    AND RGP.RGD_CODE = 'SVC_K'
22575    AND RGP.id = p_id
22576  GROUP BY RGP.CLE_ID ,RGP.CLE_ID, RGP.DNZ_CHR_ID;
22577 
22578 
22579 -------------------------------------------------------------------------------
22580 -- The following is the cursor opened if p_us_yn is FALSE  --
22581 -------------------------------------------------------------------------------
22582 
22583 CURSOR l_line_rule_csr_nus (p_id in NUMBER)is
22584 SELECT  RGP.CLE_ID     ID
22585        ,RGP.CLE_ID     CLE_ID
22586        ,RGP.DNZ_CHR_ID DNZ_CHR_ID
22587    -------  Character to number conversion -- No translation needed ,checked in gsidev
22588        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
22589        --              '!,. ','!')                                                         DISCOUNT_LIST
22590        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1))                DISCOUNT_LIST
22591 
22592        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                ACCT_RULE_ID
22593        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                          PAYMENT_TYPE
22594        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))          CC_NO
22595        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
22596             to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       CC_EXPIRY_DATE
22597        -------  Character to number conversion -- No translation needed ,checked in gsidev
22598        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
22599        --              '!,. ','!')                                                         CC_BANK_ACCT_ID
22600        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))          CC_BANK_ACCT_ID
22601        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))          CC_AUTH_CODE
22602        -------  Character to number conversion -- No translation needed ,checked in gsidev
22603        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
22604        --              '!,. ','!')                                                         GRACE_DURATION
22605        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))          GRACE_DURATION
22606        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))          GRACE_PERIOD
22607        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION1))          INVOICE_TEXT
22608        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION2))          INV_PRINT_FLAG
22609        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION3))          PRICE_UOM
22610         -------  Character to number conversion -- This column needs translation --checked in gsidev
22611        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
22612                      '!. ','!')                                                            TAX_AMOUNT
22613        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION5))          TAX_INCLUSIVE_YN
22614        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))          TAX_STATUS
22615        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
22616                      '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')      TAX_CODE
22617        -------  Character to number conversion -- No translation needed ,checked in gsidev
22618        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
22619        --              '!,. ','!')                                                         TAX_EXEMPTION_ID
22620        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                TAX_EXEMPTION_ID
22621        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION1))          IB_TRANS_TYPE
22622        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,
22623             TO_DATE(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       IB_TRANS_DATE
22624        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION3))          IB_TRX_DETAILS
22625         -------  Character to number conversion -- This column needs translation --checked in gsidev
22626        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
22627                      '!. ','!')                                                             CLVL_LIST_PRICE
22628        -------  Character to number conversion -- No translation needed ,checked in gsidev
22629        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
22630        --              '!,. ','!')                                                          CLVL_QUANTITY
22631        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2))           CLVL_QUANTITY
22632        -------  Character to number conversion -- This column needs translation --checked in gsidev
22633        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
22634                      '!. ','!')                                                             CLVL_EXTENDED_AMT
22635        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
22636                      '!. ','!')                                                             LINE_LIST_PRICE
22637        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION5))           TOPLVL_OPERAND_CODE
22638         -------  Character to number conversion -- This column needs translation --checked in gsidev
22639        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
22640                      '!. ','!')                                                             TOPLVL_OPERAND_VAL
22641        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION7))           CLVL_UOM_CODE
22642        -------  Character to number conversion -- No translation needed ,checked in gsidev
22643        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
22644        --              '!,. ','!')                                                          TOPLVL_QUANTITY
22645        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8))           TOPLVL_QUANTITY
22646        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION9))           TOPLVL_UOM_CODE
22647        -------  Character to number conversion -- This column needs translation --checked in gsidev
22648        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
22649                      '!. ','!')                                                             TOPLVL_ADJ_PRICE
22650        -------  Character to number conversion -- This column needs translation --checked in gsidev
22651        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
22652                      '!. ','!')                                                             TOPLVL_PRICE_QTY
22653        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION12)) STATUS_TEXT
22654        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  QRE.
22655        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
22656        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
22657        --              '!,. ','!')                                                           AVERAGING_INTERVAL
22658        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1))            AVERAGING_INTERVAL
22659        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION2))            USAGE_PERIOD
22660        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION3))            SETTLEMENT_INTERVAL
22661        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
22662        --              '!,. ','!')                                                           MINIMUM_QUANTITY
22663        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4))            MINIMUM_QUANTITY
22664        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
22665        --              '!,. ','!')                                                           DEFAULT_QUANTITY
22666        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5))            DEFAULT_QUANTITY
22667        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION6))            AMCV_FLAG
22668        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
22669        --              '!,. ','!')                                                           FIXED_QUANTITY
22670        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7))            FIXED_QUANTITY
22671        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
22672        --              '!,. ','!')       USAGE_DURATION
22673        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8))            USAGE_DURATION
22674        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION9))            LEVEL_YN
22675        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION10))           USAGE_TYPE
22676        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION11))           UOM_QUANTIFIED
22677        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
22678        --              '!,. ','!')       BASE_READING
22679        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12))           BASE_READING
22680        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,DECODE(RUL.RULE_INFORMATION6,'Y','AMCV'))) USAGE_EST_METHOD
22681        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))          BILLING_SCHEDULE_TYPE
22682        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
22683                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )  BILLING_SCHEDULE_TYPE
22684        -------  Character to number conversion -- No translation needed ,checked in gsidev
22685        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
22686        --              '!,. ','!')                                                           CUST_ACCT_ID           --OKC
22687        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                  CUST_ACCT_ID           --OKC
22688        -------  Character to number conversion -- No translation needed ,checked in gsidev
22689        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
22690        --              '!,. ','!')                                                           BILL_TO_SITE_USE_ID    --OKC
22691        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                  BILL_TO_SITE_USE_ID    --OKC
22692        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                  INV_RULE_ID            --OKC
22693        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LRT' ,RUL.RULE_INFORMATION1))            LINE_RENEWAL_TYPE_CODE --OKC
22694        -------  Character to number conversion -- No translation needed ,checked in gsidev
22695        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
22696        --              '!,. ','!')                                                           SHIP_TO_SITE_USE_ID    --OKC
22697        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                  SHIP_TO_SITE_USE_ID    --OKC
22698        -------  Character to number conversion -- No translation needed ,checked in gsidev
22699        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
22700        --              '!,. ','!')                                                           PAYMENT_TERM_ID        --OKC
22701        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                  PAYMENT_TERM_ID        --OKC
22702        ----- For Coverages
22703        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1))               EXCEPTION_COV_ID
22704        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'WHE',RUL.RULE_INFORMATION1))               INHERITANCE_TYPE
22705        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'UGE',RUL.RULE_INFORMATION1))               PROD_UPGRADE_YN_CHR
22706        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'CVE',RUL.RULE_INFORMATION1))               COVERAGE_TYPE_CHR
22707        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'STR',decode(RUL.RULE_INFORMATION1,'Y','TRANS','TERM'))) TRANSFER_OPTION_CHR
22708        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1))                     PM_PROGRAM_ID
22709        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION1))               PM_CONF_REQ_YN_CHR
22710        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION2))               PM_SCH_EXISTS_YN_CHR
22711        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'DST',RUL.OBJECT1_ID1))                   DISCOUNT_LIST
22712        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD','Y'))ALLOW_BT_DISCOUNT_CHR
22713        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'OFS',RUL.RULE_INFORMATION1))OFFSET_DURATION
22714        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1))                     PRICE_LIST_ID
22715        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))                     RCN_INCIDENT_SEVERITY_ID
22716        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))               RCN_PDF_ID
22717        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))               RCN_REACT_TIME_NAME
22718        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))               RCN_WORK_THRU_YN
22719        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))               RCN_REACT_ACTIVE_YN
22720        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))               RSN_REACT_TIME_NAME
22721        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1))               LIMIT_UOM_QUANTIFIED
22722        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  LMT.
22723        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
22724        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2)),
22725        --              '!. ','!')                                                           DISCOUNT_AMOUNT
22726        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2))              DISCOUNT_AMOUNT
22727        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4)),
22728        --              '!%. ','!')                                                          DISCOUNT_PERCENT
22729        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4))              DISCOUNT_PERCENT
22730        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT','N'))Sync_Date_Install
22731 
22732   FROM OKC_RULE_GROUPS_B RGP
22733      , OKC_RULES_B RUL
22734  WHERE RGP.ID  = RUL.RGP_ID
22735    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
22736 'ECE','WHE','UGE','STR','CVE','PMP','BTD','RCN','RSN','LMT','OFS','PRE','CVR')
22737    AND RGP.CLE_ID IS NOT NULL
22738    AND RGP.RGD_CODE = 'SVC_K'
22739    AND RGP.id = p_id
22740  GROUP BY RGP.CLE_ID ,RGP.CLE_ID, RGP.DNZ_CHR_ID;
22741 
22742 
22743 ----------------------------------------------------------------------------
22744 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
22745 ----------------------------------------------------------------------------
22746 CURSOR L_LINE_DTLS_CSR (P_CLE_ID  IN NUMBER ,P_HDR_ID IN NUMBER, P_CATEGORY IN VARCHAR2 ) IS
22747 SELECT HDR.CONTRACT_NUMBER
22748      , HDR.CONTRACT_NUMBER_MODIFIER
22749      , LIN.LINE_NUMBER
22750      , RUL.ID
22751      , RGP.ID RGP_ID
22752  FROM  OKC_K_HEADERS_B HDR
22753      , OKC_RULE_GROUPS_B RGP
22754      , OKC_RULES_B RUL
22755      , OKC_K_LINES_B LIN
22756 WHERE HDR.ID = P_HDR_ID
22757   AND LIN.ID= P_CLE_ID
22758   AND RGP.DNZ_CHR_ID = P_HDR_ID
22759   AND RGP.CLE_ID = LIN.ID
22760   AND RGP.ID = RUL.RGP_ID
22761   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
22762   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
22763 
22764 L_LINE_DTLS_REC L_LINE_DTLS_CSR%ROWTYPE;
22765 ----------------------------------------------------------------------------
22766 --Cursor to check whether the record exists in OKC_RULE_GROUPS_b table.
22767 ----------------------------------------------------------------------------
22768 CURSOR L_CHECK_RGP_CSR ( P_ID IN NUMBER ) IS
22769 SELECT CLE_ID ,DNZ_CHR_ID
22770   FROM OKC_RULE_GROUPS_B
22771  WHERE ID = P_ID;
22772 
22773 -----------------------------------------------------------------
22774 -- Newly added code to synchronize cc_no , po , Price list from--
22775 -- Header to Top lines                                         --
22776 -----------------------------------------------------------------
22777  l_payment_typei    varchar2(2000);
22778  l_cc_noi           varchar2(2000);
22779  l_cc_expiry_datei  date;
22780  --l_cc_bank_acct_idi number;
22781  --l_cc_auth_codei    varchar2(2000);
22782  l_cust_po_numberi  varchar2(2000);
22783  l_cust_po_number_req_yni varchar2(10);
22784  l_price_list_idi   number;
22785  l_dnz_chr_idi      number;
22786  l_lse_idi          number;
22787 
22788  CURSOR L_SYNHL_CSR ( p_rgp_id in number ) is
22789   select oks.payment_type
22790        , oks.cc_no
22791        , oks.cc_expiry_date
22792        --, oks.cc_bank_acct_id
22793        --, oks.cc_auth_code
22794        , okc.cust_po_number
22795        , okc.cust_po_number_req_yn
22796        , okc.price_list_id
22797        , okc.id
22798        , okcl.lse_id
22799     from oks_k_headers_b oks
22800        , okc_k_headers_b okc
22801        , okc_k_lines_b   okcl
22802        , okc_rule_groups_b rgp
22803    where oks.chr_id = okc.id
22804      and okcl.lse_id in ( 1,12,19,46)
22805      and okcl.dnz_chr_id = oks.chr_id
22806      and okcl.dnz_chr_id = okc.id
22807      and rgp.id = p_rgp_id
22808      and rgp.cle_id = okcl.id
22809      and rgp.dnz_chr_id = oks.chr_id
22810      and rgp.dnz_chr_id = okc.id
22811      and okc.id = oks.chr_id;
22812 
22813 
22814 
22815 BEGIN
22816  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
22817  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------    Start of Sub request for Line Rule Data Reprocessing    --------');
22818  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
22819 
22820  DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
22821 Begin
22822 If (p_us_yn) then
22823     open l_line_rule_csr(p_id);
22824     fetch l_line_rule_csr into
22825                          l_id
22826                         ,l_cle_id
22827                         ,l_dnz_chr_id
22828                         ,discount_list_chr
22829                         ,acct_rule_id_chr
22830                         ,l_payment_type
22831                         ,l_cc_no
22832                         ,cc_expiry_date_chr
22833                         ,cc_bank_acct_id_chr
22834                         ,l_cc_auth_code
22835                         ,grace_duration_chr
22836                         ,l_grace_period
22837                         ,l_invoice_text
22838                         ,l_inv_print_flag
22839                         ,l_price_uom
22840                         ,tax_amount_chr
22841                         ,l_tax_inclusive_yn
22842                         ,l_tax_status
22843                         ,tax_code_chr
22844                         ,tax_exemption_id_chr
22845                         ,l_ib_trans_type
22846                         ,ib_trans_date_chr
22847                         ,l_ib_trx_details
22848                         --,prod_price
22849                         --,service_price
22850                         ,clvl_list_price_chr
22851                         ,clvl_quantity_chr
22852                         ,clvl_extended_amt_chr
22853                         ,line_list_price_chr
22854                         ,l_toplvl_operand_code
22855                         ,toplvl_operand_val_chr
22856                         ,l_clvl_uom_code
22857                         ,toplvl_quantity_chr
22858                         ,l_toplvl_uom_code
22859                         ,toplvl_adj_price_chr
22860                         ,toplvl_price_qty_chr
22861                         ,l_status_text
22862                         ,averaging_interval_chr
22863                         ,l_usage_period
22864                         ,l_settlement_interval
22865                         ,minimum_quantity_chr
22866                         ,default_quantity_chr
22867                         ,l_amcv_flag
22868                         ,fixed_quantity_chr
22869                         ,usage_duration_chr
22870                         ,l_level_yn
22871                         ,l_usage_type
22872                         ,l_uom_quantified
22873                         ,base_reading_chr
22874                         ,l_usage_est_method
22875                         ,l_billing_schedule_type
22876                         ,cust_acct_id_chr         --okc
22877                         ,bill_to_site_use_id_chr  --okc
22878                         ,inv_rule_id_chr          --okc
22879                         ,l_line_renewal_type_code --okc
22880                         ,ship_to_site_use_id_chr  --okc
22881                         ,payment_term_id_chr      --okc
22882                         -------------------------------
22883                        ,exception_cov_id_chr,
22884                         l_inheritance_type,
22885                         prod_upgrade_yn_chr,
22886                         coverage_type_chr,
22887                         transfer_option_chr,
22888                         pm_program_id_chr,
22889                         pm_conf_req_yn_chr,
22890                         pm_sch_exists_yn_chr,
22891                         allow_bt_discount_chr,
22892                         l_offset_duration,
22893                         price_list_id_chr,
22894                         rcn_incident_severity_id_chr,
22895                         rcn_pdf_id_chr,
22896                         rcn_react_time_name,
22897                         rcn_work_thru_yn,
22898                         rcn_react_active_yn,
22899                         rsn_react_time_name,
22900                         l_limit_uom_quantified,
22901                         discount_amount_chr,
22902                         discount_percent_chr,
22903                         l_sync_date_install;
22904                         ---------------------------------
22905       close l_line_rule_csr;
22906 
22907 else
22908       open l_line_rule_csr_nus(p_id);
22909       fetch l_line_rule_csr_nus into
22910                          l_id
22911                         ,l_cle_id
22912                         ,l_dnz_chr_id
22913                         ,discount_list_chr
22914                         ,acct_rule_id_chr
22915                         ,l_payment_type
22916                         ,l_cc_no
22917                         ,cc_expiry_date_chr
22918                         ,cc_bank_acct_id_chr
22919                         ,l_cc_auth_code
22920                         ,grace_duration_chr
22921                         ,l_grace_period
22922                         ,l_invoice_text
22923                         ,l_inv_print_flag
22924                         ,l_price_uom
22925                         ,tax_amount_chr
22926                         ,l_tax_inclusive_yn
22927                         ,l_tax_status
22928                         ,tax_code_chr
22929                         ,tax_exemption_id_chr
22930                         ,l_ib_trans_type
22931                         ,ib_trans_date_chr
22932                         ,l_ib_trx_details
22933                         ,clvl_list_price_chr
22934                         ,clvl_quantity_chr
22935                         ,clvl_extended_amt_chr
22936                         ,line_list_price_chr
22937                         ,l_toplvl_operand_code
22938                         ,toplvl_operand_val_chr
22939                         ,l_clvl_uom_code
22940                         ,toplvl_quantity_chr
22941                         ,l_toplvl_uom_code
22942                         ,toplvl_adj_price_chr
22943                         ,toplvl_price_qty_chr
22944                         ,l_status_text
22945                         ,averaging_interval_chr
22946                         ,l_usage_period
22947                         ,l_settlement_interval
22948                         ,minimum_quantity_chr
22949                         ,default_quantity_chr
22950                         ,l_amcv_flag
22951                         ,fixed_quantity_chr
22952                         ,usage_duration_chr
22953                         ,l_level_yn
22954                         ,l_usage_type
22955                         ,l_uom_quantified
22956                         ,base_reading_chr
22957                         ,l_usage_est_method
22958                         ,l_billing_schedule_type
22959                         ,cust_acct_id_chr         --okc
22960                         ,bill_to_site_use_id_chr  --okc
22961                         ,inv_rule_id_chr          --okc
22962                         ,l_line_renewal_type_code --okc
22963                         ,ship_to_site_use_id_chr  --okc
22964                         ,payment_term_id_chr      --okc
22965                         --------------------------------
22966                         ,exception_cov_id_chr,
22967                         l_inheritance_type,
22968                         prod_upgrade_yn_chr,
22969                         coverage_type_chr,
22970                         transfer_option_chr,
22971                         pm_program_id_chr,
22972                         pm_conf_req_yn_chr,
22973                         pm_sch_exists_yn_chr,
22974                         allow_bt_discount_chr,
22975                         l_offset_duration,
22976                         price_list_id_chr,
22977                         rcn_incident_severity_id_chr,
22978                         rcn_pdf_id_chr,
22979                         rcn_react_time_name,
22980                         rcn_work_thru_yn,
22981                         rcn_react_active_yn,
22982                         rsn_react_time_name,
22983                         l_limit_uom_quantified,
22984                         discount_amount_chr,
22985                         discount_percent_chr,
22986                         l_sync_date_install;
22987                         -----------------------------------
22988       close l_line_rule_csr_nus;
22989 End if;
22990 rowcount := sql%rowcount;
22991 Exception
22992    When others then
22993      ieflag:=1;
22994      emsg :=sqlerrm;
22995      Raise;
22996 
22997 End;
22998 
22999 Begin
23000   open  l_lock_line_csr( l_cle_id);
23001   fetch l_lock_line_csr into l_lock_id;
23002   close l_lock_line_csr;
23003 Exception
23004   when others then
23005     ieflag:=1;
23006     emsg :=sqlerrm;
23007     raise lock_exception;
23008 End;
23009 
23010 Begin
23011  ---------------------------------------------------------------------------
23012  -- Code added to synchronize Hdr level cc no,po,pricelist,cust_po_number --
23013  ---------------------------------------------------------------------------
23014  Begin
23015  l_dnz_chr_idi := Null;
23016  Open  l_synhl_csr ( p_id );
23017  Fetch l_synhl_csr into l_payment_typei
23018                      , l_cc_noi
23019                      , l_cc_expiry_datei
23020                      --, l_cc_bank_acct_idi
23021                      --, l_cc_auth_codei
23022                      , l_cust_po_numberi
23023                      , l_cust_po_number_req_yni
23024                      , l_price_list_idi
23025                      , l_dnz_chr_idi
23026                      , l_lse_idi ;
23027  Close l_synhl_csr;
23028  Exception
23029     When others then
23030       ieflag:=1;
23031       emsg :=sqlerrm;
23032       Raise;
23033  End;
23034 
23035  Eflag:=0;
23036  iEflag := 0;
23037 
23038  If l_cle_id > 0 then  -- Label AA
23039     l_upd_cle_id := l_cle_id;
23040     Begin
23041       Update okc_k_lines_b
23042         Set cust_acct_id           = cust_acct_id_chr
23043            ,bill_to_site_use_id    = bill_to_site_use_id_chr
23044            ,inv_rule_id            = inv_rule_id_chr
23045            ,line_renewal_type_code = l_line_renewal_type_code
23046            ,ship_to_site_use_id    = ship_to_site_use_id_chr
23047            ,payment_term_id        = payment_term_id_chr
23048            ,line_list_price        = line_list_price_chr
23049           , price_list_id          = decode(l_lse_idi,1 ,l_price_list_idi
23050                                                      ,12,l_price_list_idi
23051                                                      ,19,l_price_list_idi
23052                                                      ,46,l_price_list_idi,price_list_id_chr )
23053       Where id = l_upd_cle_id ;
23054       rowcount := sql%rowcount;
23055      Exception
23056         When others then
23057           ieflag:=1;
23058           emsg :=sqlerrm;
23059           Raise;
23060     End;
23061 
23062     If rowcount > 0 then  --Label BB
23063        Begin
23064        Update oks_k_lines_b set
23065          discount_list         = discount_list_chr
23066         ,acct_rule_id          = acct_rule_id_chr
23067         ,grace_duration        = grace_duration_chr
23068         ,grace_period          = l_grace_period
23069         ,inv_print_flag        = l_inv_print_flag
23070         ,price_uom             = l_price_uom
23071         ,tax_amount            = tax_amount_chr
23072         ,tax_inclusive_yn      = l_tax_inclusive_yn
23073         ,tax_status            = l_tax_status
23074         ,tax_code              = tax_code_chr
23075         ,tax_exemption_id      = tax_exemption_id_chr
23076         ,ib_trans_type         = l_ib_trans_type
23077         ,ib_trans_date         = ib_trans_date_chr
23078         ,clvl_list_price       = clvl_list_price_chr
23079         ,clvl_quantity         = clvl_quantity_chr
23080         ,clvl_extended_amt     = clvl_extended_amt_chr
23081         ,toplvl_operand_code   = l_toplvl_operand_code
23082         ,toplvl_operand_val    = toplvl_operand_val_chr
23083         ,clvl_uom_code         = l_clvl_uom_code
23084         ,toplvl_quantity       = toplvl_quantity_chr
23085         ,toplvl_uom_code       = l_toplvl_uom_code
23086         ,toplvl_adj_price      = toplvl_adj_price_chr
23087         ,toplvl_price_qty      = toplvl_price_qty_chr
23088         ,averaging_interval    = averaging_interval_chr
23089         ,usage_period          = l_usage_period
23090         ,settlement_interval   = l_settlement_interval
23091         ,minimum_quantity      = minimum_quantity_chr
23092         ,default_quantity      = default_quantity_chr
23093         ,amcv_flag             = l_amcv_flag
23094         ,fixed_quantity        = fixed_quantity_chr
23095         ,usage_duration        = usage_duration_chr
23096         ,level_yn              = l_level_yn
23097         ,usage_type            = l_usage_type
23098         ,uom_quantified        = l_uom_quantified
23099         ,base_reading          = base_reading_chr
23100         ,usage_est_method      = l_usage_est_method
23101         ,billing_schedule_type = l_billing_schedule_type
23102         ,cust_po_number        = l_cust_po_numberi  --to synchronize hdr value to lines
23103         ,cust_po_number_req_yn = l_cust_po_number_req_yni
23104         ,payment_type          = l_payment_typei
23105         ,cc_no                 = l_cc_noi
23106         ,cc_expiry_date        = l_cc_expiry_datei
23107         --,cc_bank_acct_id       = l_cc_bank_acct_idi
23108         --,cc_auth_code          = l_cc_auth_codei
23109         ----------------------------------------------
23110         ,exception_cov_id      = exception_cov_id_chr
23111         ,inheritance_type      = l_inheritance_type
23112         ,prod_upgrade_yn       = prod_upgrade_yn_chr
23113         ,coverage_type         = coverage_type_chr
23114         ,transfer_option       = transfer_option_chr
23115         ,pm_program_id         = pm_program_id_chr
23116         ,pm_conf_req_yn        = pm_conf_req_yn_chr
23117         ,pm_sch_exists_yn      = pm_sch_exists_yn_chr
23118         ,allow_bt_discount     = allow_bt_discount_chr
23119         ,incident_severity_id  = rcn_incident_severity_id_chr
23120         ,pdf_id                = rcn_pdf_id_chr
23121         ,work_thru_yn          = rcn_work_thru_yn
23122         ,react_active_yn       = rcn_react_active_yn
23123         ,limit_uom_quantified  = l_limit_uom_quantified
23124         ,discount_amount       = discount_amount_chr
23125         ,discount_percent      = discount_percent_chr
23126         ,sync_date_install     = l_sync_date_install
23127        Where cle_id = l_upd_cle_id;
23128        rowcount := sql%rowcount;
23129        Exception
23130          When others then
23131            ieflag:=1;
23132            emsg :=sqlerrm;
23133            Raise;
23134        End;
23135        If rowcount > 0 then -- Lable GG
23136        Begin
23137            If l_offset_duration is not null then -- Label FF
23138               l_upd_cle_id := l_cle_id ;
23139               update oks_k_lines_b t1
23140               set (t1.offset_period ,t1.offset_duration) =
23141                   (select tim2.uom_code,tim2.duration
23142                     from okc_timevalues_b tim ,okc_timevalues_b tim2,okc_rules_b rul,okc_rule_groups_b rgp
23143                     where tim.id = offset_duration
23144                       and rgp.cle_id = l_upd_cle_id
23145                       and rul.rule_information1 = tim.id
23146                       and rul.rule_information_category = 'OFS'
23147                       and rgp.id = rul.rgp_id
23148                       and tim2.id = tim.tve_id_started
23149                       and tim.dnz_chr_id = tim2.dnz_chr_id
23150                       and t1.cle_id = rgp.cle_id)
23151              where t1.cle_id = l_upd_cle_id;
23152           End if; -- Label FF
23153        Exception
23154          When others then
23155            ieflag:=1;
23156            emsg :=sqlerrm;
23157            Raise;
23158        End;
23159        End If; --Label GG
23160        Begin
23161            If rowcount > 0 then  --Label CC
23162              Begin
23163              For lang_i in okc_util.g_language_code.first..okc_util.g_language_code.last
23164              Loop
23165               Update oks_k_lines_tl
23166                  Set invoice_text    = l_invoice_text
23167                     ,ib_trx_details  = l_ib_trx_details
23168                     ,status_text     = l_status_text
23169                     ,react_time_name = rcn_react_time_name
23170                Where id = l_upd_cle_id
23171                  and language    = okc_util.g_language_code(lang_i)
23172                  and source_lang = l_userenv_lang ;
23173                  rowcount := sql%rowcount;
23174              End loop;
23175              Exception
23176                 When others then
23177                    ieflag:=1;
23178                    emsg :=sqlerrm;
23179                    Raise;
23180              End;
23181              If rowcount = 0 then -- Label DD
23182                 Begin
23183                    For lang_i in okc_util.g_language_code.first..okc_util.g_language_code.last
23184                    Loop
23185                         Insert into oks_k_lines_tl (
23186                         id,
23187                         language,
23188                         source_lang,
23189                         sfwt_flag,
23190                         invoice_text,
23191                         ib_trx_details,
23192                         status_text,
23193                         react_time_name,
23194                         security_group_id,
23195                         created_by,
23196                         creation_date,
23197                         last_updated_by,
23198                         last_update_date,
23199                         last_update_login)
23200                         values(
23201                         l_upd_cle_id,
23202                         okc_util.g_language_code(lang_i),
23203                         l_userenv_lang,
23204                         'S',
23205                         l_invoice_text,
23206                         l_ib_trx_details,
23207                         l_status_text,
23208                         rcn_react_time_name,
23209                         null, --security_group_id,
23210                         1,
23211                         sysdate,
23212                         1,
23213                         sysdate,
23214                         2003
23215                         );
23216                    End loop;
23217                 Exception
23218                   When others then
23219                      ieflag:=1;
23220                      emsg :=sqlerrm;
23221                      Raise;
23222                 End;
23223              End If; --Label DD
23224            Elsif rowcount = 0 then  -- Label CC
23225              Begin
23226              Insert into oks_k_lines_b
23227                 ( id
23228                  ,cle_id
23229                  ,dnz_chr_id
23230                  ,discount_list
23231                  ,acct_rule_id
23232                  ,grace_duration
23233                  ,grace_period
23234                  ,inv_print_flag
23235                  ,price_uom
23236                  ,tax_amount
23237                  ,tax_inclusive_yn
23238                  ,tax_status
23239                  ,tax_code
23240                  ,tax_exemption_id
23241                  ,ib_trans_type
23242                  ,ib_trans_date
23243                  ,clvl_list_price
23244                  ,clvl_quantity
23245                  ,clvl_extended_amt
23246                  ,toplvl_operand_code
23247                  ,toplvl_operand_val
23248                  ,clvl_uom_code
23249                  ,toplvl_quantity
23250                  ,toplvl_uom_code
23251                  ,toplvl_adj_price
23252                  ,toplvl_price_qty
23253                  ,averaging_interval
23254                  ,usage_period
23255                  ,settlement_interval
23256                  ,minimum_quantity
23257                  ,default_quantity
23258                  ,amcv_flag
23259                  ,fixed_quantity
23260                  ,usage_duration
23261                  ,level_yn
23262                  ,usage_type
23263                  ,uom_quantified
23264                  ,base_reading
23265                  ,usage_est_method
23266                  ,billing_schedule_type
23267                  ,cust_po_number --to synchronize hdr value to line
23268                  ,cust_po_number_req_yn
23269                  ,payment_type
23270                  ,cc_no
23271                  ,cc_expiry_date
23272                  --,cc_bank_acct_id
23273                  --,cc_auth_code
23274                  ------------------------
23275                  ,exception_cov_id
23276                  ,inheritance_type
23277                  ,prod_upgrade_yn
23278                  ,coverage_type
23279                  ,transfer_option
23280                  ,pm_program_id
23281                  ,pm_conf_req_yn
23282                  ,pm_sch_exists_yn
23283                  ,allow_bt_discount
23284                  ,offset_duration
23285                  ,offset_period
23286                  ,incident_severity_id
23287                  ,pdf_id
23288                  ,work_thru_yn
23289                  ,react_active_yn
23290                  ,limit_uom_quantified
23291                  ,discount_amount
23292                  ,discount_percent
23293                  ,sync_date_install
23294                  -------------------------
23295                  ,created_by
23296                  ,creation_date
23297                  ,last_updated_by
23298                  ,last_update_date
23299                  ,last_update_login
23300                  ,object_version_number  )
23301                  Values (
23302                   l_id
23303                  ,l_cle_id
23304                  ,l_dnz_chr_id
23305                  ,discount_list_chr
23306                  ,acct_rule_id_chr
23307                  ,grace_duration_chr
23308                  ,l_grace_period
23309                  ,l_inv_print_flag
23310                  ,l_price_uom
23311                  ,tax_amount_chr
23312                  ,l_tax_inclusive_yn
23313                  ,l_tax_status
23314                  ,tax_code_chr
23315                  ,tax_exemption_id_chr
23316                  ,l_ib_trans_type
23317                  ,ib_trans_date_chr
23318                  ,clvl_list_price_chr
23319                  ,clvl_quantity_chr
23320                  ,clvl_extended_amt_chr
23321                  ,l_toplvl_operand_code
23322                  ,toplvl_operand_val_chr
23323                  ,l_clvl_uom_code
23324                  ,toplvl_quantity_chr
23325                  ,l_toplvl_uom_code
23326                  ,toplvl_adj_price_chr
23327                  ,toplvl_price_qty_chr
23328                  ,averaging_interval_chr
23329                  ,l_usage_period
23330                  ,l_settlement_interval
23331                  ,minimum_quantity_chr
23332                  ,default_quantity_chr
23333                  ,l_amcv_flag
23334                  ,fixed_quantity_chr
23335                  ,usage_duration_chr
23336                  ,l_level_yn
23337                  ,l_usage_type
23338                  ,l_uom_quantified
23339                  ,base_reading_chr
23340                  ,l_usage_est_method
23341                  ,l_billing_schedule_type
23342                  ,l_cust_po_numberi  --to synchronize hdr value to lines
23343                  ,l_cust_po_number_req_yni
23344                  ,l_payment_typei
23345                  ,l_cc_noi
23346                  ,l_cc_expiry_datei
23347                  --,l_cc_bank_acct_idi
23348                  --,l_cc_auth_codei
23349                  -------------------------
23350                  ,exception_cov_id_chr
23351                  ,l_inheritance_type
23352                  ,prod_upgrade_yn_chr
23353                  ,coverage_type_chr
23354                  ,transfer_option_chr
23355                  ,pm_program_id_chr
23356                  ,pm_conf_req_yn_chr
23357                  ,pm_sch_exists_yn_chr
23358                  ,allow_bt_discount_chr
23359                  ,null
23360                  ,null
23361                  ,rcn_incident_severity_id_chr
23362                  ,rcn_pdf_id_chr
23363                  ,rcn_work_thru_yn
23364                  ,rcn_react_active_yn
23365                  ,l_limit_uom_quantified
23366                  ,discount_amount_chr
23367                  ,discount_percent_chr
23368                  ,l_sync_date_install
23369                  ----------------------------
23370                  ,1
23371                  ,sysdate
23372                  ,1
23373                  ,sysdate
23374                  ,2003
23375                  ,1   );
23376              rowcount := sql%rowcount;
23377              Exception
23378                When others then
23379                   ieflag:=1;
23380                   emsg :=sqlerrm;
23381                   Raise;
23382              End;
23383              If rowcount > 0 then  -- Label HH
23384              Begin
23385                For lang_i in okc_util.g_language_code.first..okc_util.g_language_code.last
23386                   Loop
23387                   Insert into oks_k_lines_tl (
23388                      id,
23389                      language,
23390                      source_lang,
23391                      sfwt_flag,
23392                      invoice_text,
23393                      ib_trx_details,
23394                      status_text,
23395                      react_time_name,
23396                      security_group_id,
23397                      created_by,
23398                      creation_date,
23399                      last_updated_by,
23400                      last_update_date,
23401                      last_update_login)
23402                      values(
23403                      l_cle_id,
23404                      okc_util.g_language_code(lang_i),
23405                      l_userenv_lang,
23406                      'S',
23407                      l_invoice_text,
23408                      l_ib_trx_details,
23409                      l_status_text,
23410                      rcn_react_time_name,
23411                      null, --security_group_id,
23412                      1,
23413                      sysdate,
23414                      1,
23415                      sysdate,
23416                      2003
23417                      );
23418                   End loop;
23419              Exception
23420                 When others then
23421                   ieflag:=1;
23422                   emsg :=sqlerrm;
23423                   Raise;
23424              End;
23425              End If; -- Label HH
23426              If rowcount > 0 then -- Label II
23427              Begin
23428                 If l_offset_duration is not null then
23429                    l_upd_cle_id := cle_id ;
23430                    update oks_k_lines_b t1
23431                    set (t1.offset_period ,t1.offset_duration) =
23432                        (select tim2.uom_code,tim2.duration
23433                           from okc_timevalues_b tim ,okc_timevalues_b tim2,okc_rules_b rul,okc_rule_groups_b rgp
23434                          where tim.id = offset_duration
23435                            and rgp.cle_id = l_upd_cle_id
23436                            and rul.rule_information1 = tim.id
23437                            and rul.rule_information_category = 'OFS'
23438                            and rgp.id = rul.rgp_id
23439                            and tim2.id = tim.tve_id_started
23440                            and tim.dnz_chr_id = tim2.dnz_chr_id
23441                            and t1.cle_id = rgp.cle_id)
23442                  where t1.cle_id = l_upd_cle_id;
23443                 End if;
23444              Exception
23445                 When others then
23446                   ieflag:=1;
23447                   emsg :=sqlerrm;
23448                   Raise;
23449              End;
23450              End if;  -- Label II
23451            End If; -- Label CC
23452       Exception
23453         When others then
23454           ieflag:=1;
23455           emsg :=sqlerrm;
23456           Raise;
23457     End;
23458     End If ;  --Label BB
23459 
23460  Elsif l_id is null then -- Label AA
23461    Open l_check_rgp_csr(p_id);
23462   Fetch l_check_rgp_csr into l_id,l_dnz_chr_id;
23463   Close l_check_rgp_csr;
23464   If id is not null then -- Label EE
23465      Begin
23466       insert into oks_k_lines_b(
23467                   id
23468                  ,cle_id
23469                  ,dnz_chr_id
23470                  ,cust_po_number --to synchronize hdr value to line
23471                  ,cust_po_number_req_yn
23472                  ,payment_type
23473                  ,cc_no
23474                  ,cc_expiry_date
23475                  --,cc_bank_acct_id
23476                  --,cc_auth_code
23477                  ,object_version_number
23478                  ,created_by
23479                  ,creation_date
23480                  ,last_updated_by
23481                  ,last_update_date
23482                  ,last_update_login)
23483          values ( l_id
23484                  ,l_id
23485                  ,l_dnz_chr_id
23486                  ,l_cust_po_numberi  --to synchronize hdr value to lines
23487                  ,l_cust_po_number_req_yni
23488                  ,l_payment_typei
23489                  ,l_cc_noi
23490                  ,l_cc_expiry_datei
23491                  --,l_cc_bank_acct_idi
23492                  --,l_cc_auth_codei
23493                  ,1
23494                  ,1
23495                  ,sysdate
23496                  ,1
23497                  ,sysdate
23498                  ,2003);
23499      Exception
23500        When others then
23501           ieflag:=1;
23502           emsg :=sqlerrm;
23503           Raise;
23504      End ;
23505 
23506      Begin
23507       for lang_i in okc_util.g_language_code.first..okc_util.g_language_code.last
23508       loop
23509         insert into oks_k_lines_tl (id
23510                       ,language
23511                       ,source_lang
23512                       ,sfwt_flag
23513                       ,created_by
23514                       ,creation_date
23515                       ,last_updated_by
23516                       ,last_update_date
23517                       ,last_update_login)
23518                 values(
23519                        l_id
23520                       ,okc_util.g_language_code(lang_i)
23521                       ,l_userenv_lang
23522                       ,'S'
23523                       ,1
23524                       ,sysdate
23525                       ,1
23526                       ,sysdate
23527                       ,2003);
23528       End loop;
23529      Exception
23530        When others then
23531           ieflag:=1;
23532           emsg :=sqlerrm;
23533           Raise;
23534      End ;
23535   End If; -- Label EE
23536  End If; -- Label AA
23537 Exception
23538  When others then
23539    ieflag :=1;
23540 End;
23541 
23542  --------------------------------------------------------------------------------------------------
23543  --If insert or update failed then need to validate the data. Begin of code to validate data type .
23544  --If data fails validation then set the Eflag to 1. Begin of code to validate data type .       --
23545  --------------------------------------------------------------------------------------------------
23546 if (iEflag = 1) THEN
23547        --o(l_cle_id||' Going for validation ');
23548 
23549        DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
23550        cle_id := l_cle_id;
23551        dnz_chr_id := l_dnz_chr_id;
23552 
23553           --1. Validation for DST rule .
23554        BEGIN
23555           DISCOUNT_LIST      := DISCOUNT_LIST_CHR;
23556           --o(l_cle_id||' xxx');
23557        EXCEPTION
23558        WHEN OTHERS THEN
23559           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'DST') ;
23560           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23561           CLOSE L_LINE_DTLS_CSR;
23562           FND_MESSAGE.CLEAR;
23563           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
23564           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23565           L_ERROR_MSG      := SQLERRM;
23566           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23567                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, LINE_NUMBER, SCRIPT_NAME  ,
23568                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23569                                       ERROR_MSG)
23570                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23571                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23572                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR,
23573                                        L_ERROR_MSG );
23574           Eflag:=1;
23575        END;
23576 
23577        --2. Validation for ARL rule .
23578        BEGIN
23579           ACCT_RULE_ID      := ACCT_RULE_ID_CHR;
23580           --o(l_cle_id||' xxx');
23581        EXCEPTION
23582        WHEN OTHERS THEN
23583           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'ARL') ;
23584           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23585           CLOSE L_LINE_DTLS_CSR;
23586           FND_MESSAGE.CLEAR;
23587           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
23588           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23589           L_ERROR_MSG      := SQLERRM;
23590           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23591                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER  ,LINE_NUMBER, SCRIPT_NAME  ,
23592                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23593                                       ERROR_MSG)
23594                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23595                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23596                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,ACCT_RULE_ID_CHR,
23597                                        L_ERROR_MSG );
23598 	  Eflag:=1;
23599        END;
23600 
23601        --3. Validation for CCR rule .
23602        BEGIN
23603           CC_BANK_ACCT_ID      := CC_BANK_ACCT_ID_CHR;
23604           --o(l_cle_id||' xxx');
23605        EXCEPTION
23606        WHEN OTHERS THEN
23607           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'CCR') ;
23608           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23609           CLOSE L_LINE_DTLS_CSR;
23610           FND_MESSAGE.CLEAR;
23611           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
23612           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23613           L_ERROR_MSG      := SQLERRM;
23614           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23615                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23616                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23617                                       ERROR_MSG)
23618                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23619                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23620                                       'CCR'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CC_BANK_ACCT_ID_CHR,
23621                                        L_ERROR_MSG );
23622 	  Eflag:=1;
23623        END;
23624 
23625 
23626        --4. Validation for GPR rule .
23627        BEGIN
23628           GRACE_DURATION      := GRACE_DURATION_CHR;
23629           --o(l_cle_id||' xxx');
23630        EXCEPTION
23631        WHEN OTHERS THEN
23632           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'GPR') ;
23633           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23634           CLOSE L_LINE_DTLS_CSR;
23635           FND_MESSAGE.CLEAR;
23636           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
23637           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23638           L_ERROR_MSG      := SQLERRM;
23639           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23640                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23641                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23642                                       ERROR_MSG)
23643                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23644                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23645                                       'GPR'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,GRACE_DURATION_CHR,
23646                                        L_ERROR_MSG );
23647 	  Eflag:=1;
23648        END;
23649        --5. Validation for IRT rule .
23650        BEGIN
23651           TAX_AMOUNT      := TAX_AMOUNT_CHR;
23652           --o(l_cle_id||' xxx');
23653        EXCEPTION
23654        WHEN OTHERS THEN
23655           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'IRT') ;
23656           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23657           CLOSE L_LINE_DTLS_CSR;
23658           FND_MESSAGE.CLEAR;
23659           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
23660           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23661           L_ERROR_MSG      := SQLERRM;
23662           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23663                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23664                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23665                                       ERROR_MSG)
23666                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23667                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23668                                       'IRT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,TAX_AMOUNT_CHR,
23669                                        L_ERROR_MSG );
23670 	  Eflag:=1;
23671        END;
23672 
23673        --6. Validation for TAX rule .
23674        BEGIN
23675           TAX_CODE      := TAX_CODE_CHR;
23676           --o(l_cle_id||' xxx');
23677        EXCEPTION
23678        WHEN OTHERS THEN
23679           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'TAX') ;
23680           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23681           CLOSE L_LINE_DTLS_CSR;
23682           FND_MESSAGE.CLEAR;
23683           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
23684           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23685           L_ERROR_MSG      := SQLERRM;
23686           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23687                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23688                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23689                                       ERROR_MSG)
23690                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23691                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23692                                       'TAX'    ,'OBJECT2_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_CODE_CHR,
23693                                        L_ERROR_MSG );
23694 	  Eflag:=1;
23695        END;
23696 
23697        --7. Validation for TAX rule .
23698        BEGIN
23699           TAX_EXEMPTION_ID      := TAX_EXEMPTION_ID_CHR;
23700           --o(l_cle_id||' xxx');
23701        EXCEPTION
23702        WHEN OTHERS THEN
23703           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'TAX') ;
23704           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23705           CLOSE L_LINE_DTLS_CSR;
23706           FND_MESSAGE.CLEAR;
23707           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
23708           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23709           L_ERROR_MSG      := SQLERRM;
23710           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23711                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23712                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23713                                       ERROR_MSG)
23714                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23715                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23716                                       'TAX'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_EXEMPTION_ID_CHR,
23717                                        L_ERROR_MSG );
23718 	  Eflag:=1;
23719        END;
23720 
23721        --8. Validation for PDL rule .
23722        BEGIN
23723           CLVL_LIST_PRICE      := CLVL_LIST_PRICE_CHR;
23724           --o(l_cle_id||' xxx');
23725        EXCEPTION
23726        WHEN OTHERS THEN
23727           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
23728           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23729           CLOSE L_LINE_DTLS_CSR;
23730           FND_MESSAGE.CLEAR;
23731           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
23732           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23733           L_ERROR_MSG      := SQLERRM;
23734           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23735                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23736                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23737                                       ERROR_MSG)
23738                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23739                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23740                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR,
23741                                        L_ERROR_MSG );
23742 	  Eflag:=1;
23743        END;
23744 
23745        --9. Validation for PDL rule .
23746        BEGIN
23747           CLVL_QUANTITY      := CLVL_QUANTITY_CHR;
23748           --o(l_cle_id||' xxx');
23749        EXCEPTION
23750        WHEN OTHERS THEN
23751           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
23752           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23753           CLOSE L_LINE_DTLS_CSR;
23754           FND_MESSAGE.CLEAR;
23755           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
23756           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23757           L_ERROR_MSG      := SQLERRM;
23758           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23759                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23760                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23761                                       ERROR_MSG)
23762                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23763                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23764                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR,
23765                                        L_ERROR_MSG );
23766 	  Eflag:=1;
23767        END;
23768 
23769        --10. Validation for PDL rule .
23770        BEGIN
23771           CLVL_EXTENDED_AMT      := CLVL_EXTENDED_AMT_CHR;
23772           --o(l_cle_id||' xxx');
23773        EXCEPTION
23774        WHEN OTHERS THEN
23775           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
23776           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23777           CLOSE L_LINE_DTLS_CSR;
23778           FND_MESSAGE.CLEAR;
23779           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
23780           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23781           L_ERROR_MSG      := SQLERRM;
23782           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23783                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23784                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23785                                       ERROR_MSG)
23786                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23787                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23788                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR,
23789                                        L_ERROR_MSG );
23790 	  Eflag:=1;
23791        END;
23792 
23793        --11. Validation for PDL rule .
23794        BEGIN
23795           TOPLVL_OPERAND_VAL      := TOPLVL_OPERAND_VAL_CHR;
23796           --o(l_cle_id||' xxx');
23797        EXCEPTION
23798        WHEN OTHERS THEN
23799           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
23800           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23801           CLOSE L_LINE_DTLS_CSR;
23802           FND_MESSAGE.CLEAR;
23803           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
23804           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23805           L_ERROR_MSG      := SQLERRM;
23806           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23807                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23808                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23809                                       ERROR_MSG)
23810                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23811                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23812                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR,
23813                                        L_ERROR_MSG );
23814 	  Eflag:=1;
23815        END;
23816 
23817        --12. Validation for PDL rule .
23818        BEGIN
23819           TOPLVL_QUANTITY      := TOPLVL_QUANTITY_CHR;
23820           --o(l_cle_id||' xxx');
23821        EXCEPTION
23822        WHEN OTHERS THEN
23823           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
23824           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23825           CLOSE L_LINE_DTLS_CSR;
23826           FND_MESSAGE.CLEAR;
23827           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
23828           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23829           L_ERROR_MSG      := SQLERRM;
23830           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23831                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23832                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23833                                       ERROR_MSG)
23834                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23835                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23836                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR,
23837                                        L_ERROR_MSG );
23838 	  Eflag:=1;
23839        END;
23840 
23841        --13. Validation for PDL rule .
23842        BEGIN
23843           TOPLVL_ADJ_PRICE      := TOPLVL_ADJ_PRICE_CHR;
23844           --o(l_cle_id||' xxx');
23845        EXCEPTION
23846        WHEN OTHERS THEN
23847           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
23848           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23849           CLOSE L_LINE_DTLS_CSR;
23850           FND_MESSAGE.CLEAR;
23851           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
23852           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23853           L_ERROR_MSG      := SQLERRM;
23854           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23855                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23856                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23857                                       ERROR_MSG)
23858                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23859                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23860                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR,
23861                                        L_ERROR_MSG );
23862 	  Eflag:=1;
23863        END;
23864 
23865        --14. Validation for PDL rule .
23866        BEGIN
23867           TOPLVL_PRICE_QTY      := TOPLVL_PRICE_QTY_CHR;
23868           --o(l_cle_id||' xxx');
23869        EXCEPTION
23870        WHEN OTHERS THEN
23871           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
23872           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23873           CLOSE L_LINE_DTLS_CSR;
23874           FND_MESSAGE.CLEAR;
23875           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
23876           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23877           L_ERROR_MSG      := SQLERRM;
23878           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23879                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23880                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23881                                       ERROR_MSG)
23882                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23883                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23884                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR,
23885                                        L_ERROR_MSG );
23886 	  Eflag:=1;
23887        END;
23888 
23889        --15. Validation for QRE rule .
23890        BEGIN
23891           AVERAGING_INTERVAL      := AVERAGING_INTERVAL_CHR;
23892           --o(l_cle_id||' xxx');
23893        EXCEPTION
23894        WHEN OTHERS THEN
23895           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
23896           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23897           CLOSE L_LINE_DTLS_CSR;
23898           FND_MESSAGE.CLEAR;
23899           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
23900           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23901           L_ERROR_MSG      := SQLERRM;
23902           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23903                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23904                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23905                                       ERROR_MSG)
23906                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23907                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23908                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR,
23909                                        L_ERROR_MSG );
23910 	  Eflag:=1;
23911        END;
23912 
23913        --16. Validation for QRE rule .
23914        BEGIN
23915           MINIMUM_QUANTITY      := MINIMUM_QUANTITY_CHR;
23916           --o(l_cle_id||' xxx');
23917        EXCEPTION
23918        WHEN OTHERS THEN
23919           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
23920           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23921           CLOSE L_LINE_DTLS_CSR;
23922           FND_MESSAGE.CLEAR;
23923           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
23924           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23925           L_ERROR_MSG      := SQLERRM;
23926           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23927                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23928                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23929                                       ERROR_MSG)
23930                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23931                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23932                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR,
23933                                        L_ERROR_MSG );
23934 	  Eflag:=1;
23935        END;
23936 
23937 
23938        --17. Validation for QRE rule .
23939        BEGIN
23940           DEFAULT_QUANTITY      := DEFAULT_QUANTITY_CHR;
23941           --o(l_cle_id||' xxx');
23942        EXCEPTION
23943        WHEN OTHERS THEN
23944           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
23945           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23946           CLOSE L_LINE_DTLS_CSR;
23947           FND_MESSAGE.CLEAR;
23948           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
23949           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23950           L_ERROR_MSG      := SQLERRM;
23951           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23952                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23953                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23954                                       ERROR_MSG)
23955                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23956                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23957                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR,
23958                                        L_ERROR_MSG );
23959 	  Eflag:=1;
23960        END;
23961 
23962        --18. Validation for QRE rule .
23963        BEGIN
23964           FIXED_QUANTITY      := FIXED_QUANTITY_CHR;
23965           --o(l_cle_id||' xxx');
23966        EXCEPTION
23967        WHEN OTHERS THEN
23968           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
23969           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23970           CLOSE L_LINE_DTLS_CSR;
23971           FND_MESSAGE.CLEAR;
23972           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
23973           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23974           L_ERROR_MSG      := SQLERRM;
23975           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
23976                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
23977                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
23978                                       ERROR_MSG)
23979                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
23980                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
23981                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR,
23982                                        L_ERROR_MSG );
23983 	  Eflag:=1;
23984        END;
23985 
23986        --19. Validation for QRE rule .
23987        BEGIN
23988           USAGE_DURATION      := USAGE_DURATION_CHR;
23989           --o(l_cle_id||' xxx');
23990        EXCEPTION
23991        WHEN OTHERS THEN
23992           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
23993           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
23994           CLOSE L_LINE_DTLS_CSR;
23995           FND_MESSAGE.CLEAR;
23996           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
23997           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
23998           L_ERROR_MSG      := SQLERRM;
23999           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24000                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24001                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24002                                       ERROR_MSG)
24003                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24004                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24005                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR,
24006                                        L_ERROR_MSG );
24007 	  Eflag:=1;
24008        END;
24009 
24010        --20. Validation for QRE rule .
24011        BEGIN
24012           BASE_READING      := BASE_READING_CHR;
24013           --o(l_cle_id||' xxx');
24014        EXCEPTION
24015        WHEN OTHERS THEN
24016           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
24017           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24018           CLOSE L_LINE_DTLS_CSR;
24019           FND_MESSAGE.CLEAR;
24020           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
24021           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24022           L_ERROR_MSG      := SQLERRM;
24023           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24024                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24025                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24026                                       ERROR_MSG)
24027                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24028                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24029                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR,
24030                                        L_ERROR_MSG );
24031 	  Eflag:=1;
24032        END;
24033 
24034        --21. Validation for CAN rule .
24035        BEGIN
24036           CUST_ACCT_ID      := CUST_ACCT_ID_CHR;
24037           --o(l_cle_id||' xxx');
24038        EXCEPTION
24039        WHEN OTHERS THEN
24040           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'CAN') ;
24041           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24042           CLOSE L_LINE_DTLS_CSR;
24043           FND_MESSAGE.CLEAR;
24044           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
24045           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24046           L_ERROR_MSG      := SQLERRM;
24047           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24048                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24049                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24050                                       ERROR_MSG)
24051                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24052                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24053                                       'CAN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,CUST_ACCT_ID_CHR,
24054                                        L_ERROR_MSG );
24055 	  Eflag:=1;
24056        END;
24057 
24058        --22. Validation for BTO rule .
24059        BEGIN
24060           BILL_TO_SITE_USE_ID      := BILL_TO_SITE_USE_ID_CHR;
24061           --o(l_cle_id||' xxx');
24062        EXCEPTION
24063        WHEN OTHERS THEN
24064           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'BTO') ;
24065           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24066           CLOSE L_LINE_DTLS_CSR;
24067           FND_MESSAGE.CLEAR;
24068           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
24069           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24070           L_ERROR_MSG      := SQLERRM;
24071           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24072                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24073                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24074                                       ERROR_MSG)
24075                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24076                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24077                                       'BTO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,BILL_TO_SITE_USE_ID_CHR,
24078                                        L_ERROR_MSG );
24079 	  Eflag:=1;
24080        END;
24081 
24082        --23. Validation for IRE rule .
24083        BEGIN
24084           INV_RULE_ID      := INV_RULE_ID_CHR;
24085           --o(l_cle_id||' xxx');
24086        EXCEPTION
24087        WHEN OTHERS THEN
24088           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'IRE') ;
24089           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24090           CLOSE L_LINE_DTLS_CSR;
24091           FND_MESSAGE.CLEAR;
24092           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
24093           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24094           L_ERROR_MSG      := SQLERRM;
24095           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24096                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24097                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24098                                       ERROR_MSG)
24099                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24100                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24101                                       'IRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,INV_RULE_ID_CHR,
24102                                        L_ERROR_MSG );
24103 	  Eflag:=1;
24104        END;
24105 
24106        --24. Validation for STO rule .
24107        BEGIN
24108           SHIP_TO_SITE_USE_ID      := SHIP_TO_SITE_USE_ID_CHR;
24109           --o(l_cle_id||' xxx');
24110        EXCEPTION
24111        WHEN OTHERS THEN
24112           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'STO') ;
24113           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24114           CLOSE L_LINE_DTLS_CSR;
24115           FND_MESSAGE.CLEAR;
24116           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
24117           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24118           L_ERROR_MSG      := SQLERRM;
24119           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24120                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24121                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24122                                       ERROR_MSG)
24123                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24124                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24125                                       'STO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,SHIP_TO_SITE_USE_ID_CHR,
24126                                        L_ERROR_MSG );
24127 	  Eflag:=1;
24128        END;
24129 
24130        --25. Validation for PTR rule .
24131        BEGIN
24132           PAYMENT_TERM_ID      := PAYMENT_TERM_ID_CHR;
24133           --o(l_cle_id||' xxx');
24134        EXCEPTION
24135        WHEN OTHERS THEN
24136           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PTR') ;
24137           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24138           CLOSE L_LINE_DTLS_CSR;
24139           FND_MESSAGE.CLEAR;
24140           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
24141           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24142           L_ERROR_MSG      := SQLERRM;
24143           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24144                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24145                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24146                                       ERROR_MSG)
24147                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24148                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24149                                       'PTR'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PAYMENT_TERM_ID_CHR,
24150                                        L_ERROR_MSG );
24151 	  Eflag:=1;
24152        END;
24153 
24154        --26. Validation for CCR rule .
24155        BEGIN
24156           L_CC_EXPIRY_DATE      := CC_EXPIRY_DATE_CHR;
24157           --o(l_cle_id||' xxx');
24158        EXCEPTION
24159        WHEN OTHERS THEN
24160           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'CCR') ;
24161           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24162           CLOSE L_LINE_DTLS_CSR;
24163           FND_MESSAGE.CLEAR;
24164           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
24165           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24166           L_ERROR_MSG      := SQLERRM;
24167           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24168                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24169                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24170                                       ERROR_MSG)
24171                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24172                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24173                                       'CCR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CC_EXPIRY_DATE_CHR,
24174                                        L_ERROR_MSG );
24175 	  Eflag:=1;
24176        END;
24177 
24178        --27. Validation for IBR  rule .
24179        BEGIN
24180           IB_TRANS_DATE      := IB_TRANS_DATE_CHR;
24181           --o(l_cle_id||' xxx');
24182        EXCEPTION
24183        WHEN OTHERS THEN
24184           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'IBR') ;
24185           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24186           CLOSE L_LINE_DTLS_CSR;
24187           FND_MESSAGE.CLEAR;
24188           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_IB_TRANS_DATE');
24189           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24190           L_ERROR_MSG      := SQLERRM;
24191           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24192                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24193                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24194                                       ERROR_MSG)
24195                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24196                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24197                                       'IBR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,IB_TRANS_DATE_CHR,
24198                                        L_ERROR_MSG );
24199 	  Eflag:=1;
24200        END;
24201 
24202     --28
24203        BEGIN
24204           EXCEPTION_COV_ID      := EXCEPTION_COV_ID_chr;
24205           --o(l_cle_id||' xxx');
24206        EXCEPTION
24207        WHEN OTHERS THEN
24208           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'ECE') ;
24209           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24210           CLOSE L_LINE_DTLS_CSR;
24211           FND_MESSAGE.CLEAR;
24212           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
24213           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24214           L_ERROR_MSG      := SQLERRM;
24215           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24216                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24217                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24218                                       ERROR_MSG)
24219                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24220                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24221                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr,
24222                                        L_ERROR_MSG );
24223           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EXCEPTION_COV_ID_chr);
24224 	  Eflag:=1;
24225        END;
24226 --29
24227        BEGIN
24228           PM_PROGRAM_ID      := PM_PROGRAM_ID_chr;
24229           --o(l_cle_id||' xxx');
24230        EXCEPTION
24231        WHEN OTHERS THEN
24232           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PMP') ;
24233           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24234           CLOSE L_LINE_DTLS_CSR;
24235           FND_MESSAGE.CLEAR;
24236           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
24237           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24238           L_ERROR_MSG      := SQLERRM;
24239           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24240                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24241                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24242                                       ERROR_MSG)
24243                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24244                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24245                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr,
24246                                        L_ERROR_MSG );
24247           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PM_PROGRAM_ID_chr);
24248 	  Eflag:=1;
24249        END;
24250 --30
24251        BEGIN
24252           PRICE_LIST_ID      := PRICE_LIST_ID_chr;
24253           --o(l_cle_id||' xxx');
24254        EXCEPTION
24255        WHEN OTHERS THEN
24256           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PRE') ;
24257           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24258           CLOSE L_LINE_DTLS_CSR;
24259           FND_MESSAGE.CLEAR;
24260           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
24261           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24262           L_ERROR_MSG      := SQLERRM;
24263           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24264                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24265                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24266                                       ERROR_MSG)
24267                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24268                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24269                                       'PRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PRICE_LIST_ID_chr,
24270                                        L_ERROR_MSG );
24271           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_chr);
24272 	  Eflag:=1;
24273        END;
24274 --31
24275        BEGIN
24276           RCN_INCIDENT_SEVERITY_ID      := RCN_INCIDENT_SEVERITY_ID_chr;
24277           --o(l_cle_id||' xxx');
24278        EXCEPTION
24279        WHEN OTHERS THEN
24280           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'RCN') ;
24281           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24282           CLOSE L_LINE_DTLS_CSR;
24283           FND_MESSAGE.CLEAR;
24284           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
24285           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24286           L_ERROR_MSG      := SQLERRM;
24287           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24288                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24289                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24290                                       ERROR_MSG)
24291                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24292                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24293                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr,
24294                                        L_ERROR_MSG );
24295           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RCN_INCIDENT_SEVERITY_ID_chr);
24296 	  Eflag:=1;
24297        END;
24298 --32
24299        BEGIN
24300           RCN_PDF_ID      := RCN_PDF_ID_chr;
24301           --o(l_cle_id||' xxx');
24302        EXCEPTION
24303        WHEN OTHERS THEN
24304           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'RCN') ;
24305           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24306           CLOSE L_LINE_DTLS_CSR;
24307           FND_MESSAGE.CLEAR;
24308           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
24309           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24310           L_ERROR_MSG      := SQLERRM;
24311           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24312                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24313                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24314                                       ERROR_MSG)
24315                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24316                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24317                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr,
24318                                        L_ERROR_MSG );
24319           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RCN_PDF_ID_chr);
24320 	  Eflag:=1;
24321        END;
24322 --33
24323        BEGIN
24324           DISCOUNT_AMOUNT      := DISCOUNT_AMOUNT_chr;
24325           --o(l_cle_id||' xxx');
24326        EXCEPTION
24327        WHEN OTHERS THEN
24328           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'LMT') ;
24329           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24330           CLOSE L_LINE_DTLS_CSR;
24331           FND_MESSAGE.CLEAR;
24332           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
24333           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24334           L_ERROR_MSG      := SQLERRM;
24335           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24336                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24337                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24338                                       ERROR_MSG)
24339                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24340                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24341                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr,
24342                                        L_ERROR_MSG );
24343          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || DISCOUNT_AMOUNT_chr);
24344 	  Eflag:=1;
24345        END;
24346 --34
24347        BEGIN
24348           DISCOUNT_PERCENT      := DISCOUNT_PERCENT_chr;
24349           --o(l_cle_id||' xxx');
24350        EXCEPTION
24351        WHEN OTHERS THEN
24352           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'LMT') ;
24353           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24354           CLOSE L_LINE_DTLS_CSR;
24355           FND_MESSAGE.CLEAR;
24356           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
24357           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24358           L_ERROR_MSG      := SQLERRM;
24359           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24360                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24361                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24362                                       ERROR_MSG)
24363                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24364                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24365                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr,
24366                                        L_ERROR_MSG );
24367          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr);
24368 	  Eflag:=1;
24369        END;
24370 --35
24371        BEGIN
24372           LINE_LIST_PRICE      := LINE_LIST_PRICE_CHR;
24373           --o(l_cle_id||' xxx');
24374        EXCEPTION
24375        WHEN OTHERS THEN
24376           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
24377           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
24378           CLOSE L_LINE_DTLS_CSR;
24379           FND_MESSAGE.CLEAR;
24380           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LINE_LIST_PRICE');
24381           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
24382           L_ERROR_MSG      := SQLERRM;
24383           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
24384                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
24385                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
24386                                       ERROR_MSG)
24387                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
24388                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
24389                                       'PDL'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,LINE_LIST_PRICE_CHR,
24390                                        L_ERROR_MSG );
24391          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr);
24392 	  Eflag:=1;
24393        END;
24394 --o(l_cle_id||' Done with validation');
24395 
24396 
24397 End If;
24398 
24399 -- End of code to validate data type .
24400 
24401 
24402 IF Eflag = 1 THEN
24403    Eflag :=0;
24404    FND_FILE.PUT_LINE(FND_FILE.LOG ,'Validation failed for rgp_id :'||p_id||' Error Message: '||L_ERROR_MSG);
24405    Raise VAL_EXCEPTION;
24406 END IF;
24407 
24408 
24409 If iEflag = 1 THEN
24410   iEflag := 0;
24411   FND_FILE.PUT_LINE(FND_FILE.LOG ,'Insert/Update failed for rgp_id :'||p_id||' Error Message: '||Emsg);
24412   Raise MAIN_EXCEPTION;
24413 End If;
24414 
24415 
24416  x_return_status:='S';
24417 
24418 
24419 EXCEPTION
24420   WHEN MAIN_EXCEPTION THEN
24421       FND_FILE.PUT_LINE(FND_FILE.LOG ,SQLCODE );
24422       FND_FILE.PUT_LINE(FND_FILE.LOG ,SQLERRM );
24423       L_ERROR_MSG := emsg;
24424       IF ISQLCODE in ( 1,-1) THEN
24425          x_return_status:='S';
24426       Else
24427          x_return_status:='E';
24428          Update oks_rule_reprocess
24429             set errormsg= L_ERROR_MSG
24430           where rowid=prow_id;
24431       End If;
24432   WHEN VAL_EXCEPTION THEN
24433       L_ERROR_MSG := emsg;
24434       x_return_status:='E';
24435       Update oks_rule_reprocess
24436          set errormsg=L_ERROR_MSG
24437        where rowid=prow_id;
24438    WHEN LOCK_EXCEPTION THEN
24439         L_ERROR_MSG := emsg;
24440 	X_RETURN_STATUS := 'E';
24441         Update oks_rule_reprocess
24442            set errormsg=L_ERROR_MSG
24443          where rowid=prow_id;
24444 	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for LOCK '||p_id||'with Error Message '||L_ERROR_MSG);
24445    WHEN OTHERS THEN
24446 	X_RETURN_STATUS := 'E';
24447         L_ERROR_MSG := emsg;
24448         Update oks_rule_reprocess
24449            set errormsg=L_ERROR_MSG
24450          where rowid=prow_id;
24451 	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_id||'with Error Message '||L_ERROR_MSG);
24452 
24453 END REPROCESS_LINE_RULE;
24454 
24455 
24456 Procedure REPROCESS_HDR_HIST_RULE(
24457 			    prow_id            in ROWID ,
24458                             p_id               in NUMBER ,
24459 			    p_major_version    in NUMBER ,
24460 			    p_us_yn           in BOOLEAN,
24461                             x_return_status    OUT NOCOPY  VARCHAR2)
24462 IS
24463 
24464 
24465 CHR_ID                    NUMBER ;
24466 DNZ_CHR_ID                NUMBER ;
24467 ACCT_RULE_ID              NUMBER ;
24468 PAYMENT_TYPE              VARCHAR2(2000) ;
24469 CC_NO                     VARCHAR2(2000) ;
24470 CC_EXPIRY_DATE            DATE;
24471 CC_BANK_ACCT_ID           NUMBER ;
24472 CC_AUTH_CODE              VARCHAR2(2000) ;
24473 GRACE_DURATION            NUMBER ;
24474 GRACE_PERIOD              VARCHAR2(2000) ;
24475 EST_REV_PERCENT           NUMBER ;
24476 EST_REV_DATE              DATE;
24477 INVOICE_TEXT              VARCHAR2(2000) ;
24478 INV_PRINT_FLAG            VARCHAR2(2000) ;
24479 PRICE_UOM                 VARCHAR2(2000) ;
24480 TAX_AMOUNT                NUMBER ;
24481 TAX_INCLUSIVE_YN          VARCHAR2(2000) ;
24482 TAX_STATUS                VARCHAR2(2000) ;
24483 TAX_CODE                  NUMBER ;
24484 TAX_EXEMPTION_ID          NUMBER ;
24485 BILLING_SCHEDULE_TYPE     VARCHAR2(2000) ;
24486 CUST_ACCT_ID              NUMBER ;
24487 BILL_TO_SITE_USE_ID       NUMBER ;
24488 INV_RULE_ID               NUMBER ;
24489 L_RENEWAL_TYPE_CODE         VARCHAR2(2000) ;
24490 RENEWAL_NOTIFY_TO         NUMBER ;
24491 RENEWAL_END_DATE          DATE;
24492 SHIP_TO_SITE_USE_ID       NUMBER ;
24493 PAYMENT_TERM_ID           NUMBER ;
24494 BILLING_PROFILE_ID        NUMBER ;
24495 RENEWAL_STATUS            VARCHAR2(2000) ;
24496 ELECTRONIC_RENEWAL_FLAG   VARCHAR2(2000) ;
24497 QUOTE_TO_CONTACT_ID       NUMBER ;
24498 QUOTE_TO_SITE_ID          NUMBER ;
24499 QUOTE_TO_EMAIL_ID         NUMBER ;
24500 QUOTE_TO_PHONE_ID         NUMBER ;
24501 QUOTE_TO_FAX_ID           NUMBER ;
24502 RENEWAL_PO_REQUIRED       VARCHAR2(2000) ;
24503 RENEWAL_PRICE_LIST        NUMBER ;
24504 RENEWAL_PRICING_TYPE      VARCHAR2(2000) ;
24505 RENEWAL_MARKUP_PERCENT    NUMBER ;
24506 RENEWAL_GRACE_DURATION    NUMBER ;
24507 RENEWAL_GRACE_PERIOD      VARCHAR2(2000) ;
24508 RENEWAL_EST_REV_PERCENT   NUMBER ;
24509 RENEWAL_EST_REV_DURATION  NUMBER ;
24510 RENEWAL_EST_REV_PERIOD    VARCHAR2(2000) ;
24511 RENEWAL_PRICE_LIST_USED   NUMBER ;
24512 RENEWAL_TYPE_USED         VARCHAR2(2000) ;
24513 RENEWAL_NOTIFICATION_TO   NUMBER ;
24514 RENEWAL_PO_USED           VARCHAR2(2000) ;
24515 RENEWAL_PRICING_TYPE_USED VARCHAR2(2000) ;
24516 RENEWAL_MARKUP_PERCENT_USED   NUMBER ;
24517 REV_EST_PERCENT_USED      NUMBER ;
24518 REV_EST_DURATION_USED     NUMBER ;
24519 BILLING_PROFILE_USED      NUMBER ;
24520 REV_EST_PERIOD_USED       VARCHAR2(2000) ;
24521 ERN_FLAG_USED_YN          VARCHAR2(2000) ;
24522 EVN_THRESHOLD_AMT         NUMBER ;
24523 EVN_THRESHOLD_CUR         VARCHAR2(2000) ;
24524 ERN_THRESHOLD_AMT         NUMBER ;
24525 ERN_THRESHOLD_CUR         VARCHAR2(2000) ;
24526 RENEWAL_GRACE_DURATION_USED   NUMBER ;
24527 RENEWAL_GRACE_PERIOD_USED VARCHAR2(2000) ;
24528 INV_TRX_TYPE              VARCHAR2(2000) ;
24529 INV_PRINT_PROFILE         VARCHAR2(2000) ;
24530 RENEWAL_PO_NUMBER         VARCHAR2(2000) ;
24531 AR_INTERFACE_YN           VARCHAR2(2000) ;
24532 HOLD_BILLING              VARCHAR2(2000) ;
24533 SUMMARY_TRX_YN            VARCHAR2(2000) ;
24534 SERVICE_PO_NUMBER         VARCHAR2(2000) ;
24535 SERVICE_PO_REQUIRED       VARCHAR2(2000) ;
24536 PRICE_LIST_ID             NUMBER ;
24537 L_CONVERSION_TYPE           VARCHAR2(2000) ;
24538 CONVERSION_RATE           NUMBER ;
24539 CONVERSION_RATE_DATE      DATE;
24540 CONVERSION_EURO_RATE      NUMBER ;
24541 
24542 
24543 
24544 -- FOLLOWING ARE NUMBER FIELDS --
24545 ACCT_RULE_ID_CHR              VARCHAR2(2000) ;
24546 CC_BANK_ACCT_ID_CHR           VARCHAR2(2000) ;
24547 GRACE_DURATION_CHR            VARCHAR2(2000) ;
24548 EST_REV_PERCENT_CHR           VARCHAR2(2000) ;
24549 TAX_AMOUNT_CHR                VARCHAR2(2000) ;
24550 TAX_CODE_CHR                  VARCHAR2(2000) ;
24551 TAX_EXEMPTION_ID_CHR          VARCHAR2(2000) ;
24552 CUST_ACCT_ID_CHR              VARCHAR2(2000) ;
24553 BILL_TO_SITE_USE_ID_CHR       VARCHAR2(2000) ;
24554 INV_RULE_ID_CHR               VARCHAR2(2000) ;
24555 RENEWAL_NOTIFY_TO_CHR         VARCHAR2(2000) ;
24556 SHIP_TO_SITE_USE_ID_CHR       VARCHAR2(2000) ;
24557 PAYMENT_TERM_ID_CHR           VARCHAR2(2000) ;
24558 BILLING_PROFILE_ID_CHR        VARCHAR2(2000) ;
24559 QUOTE_TO_CONTACT_ID_CHR       VARCHAR2(2000) ;
24560 QUOTE_TO_SITE_ID_CHR          VARCHAR2(2000) ;
24561 QUOTE_TO_EMAIL_ID_CHR         VARCHAR2(2000) ;
24562 QUOTE_TO_PHONE_ID_CHR         VARCHAR2(2000) ;
24563 QUOTE_TO_FAX_ID_CHR           VARCHAR2(2000) ;
24564 RENEWAL_PRICE_LIST_CHR        VARCHAR2(2000) ;
24565 RENEWAL_MARKUP_PERCENT_CHR    VARCHAR2(2000) ;
24566 RENEWAL_GRACE_DURATION_CHR    VARCHAR2(2000) ;
24567 RENEWAL_EST_REV_PERCENT_CHR   VARCHAR2(2000) ;
24568 RENEWAL_EST_REV_DURATION_CHR  VARCHAR2(2000) ;
24569 RENEWAL_PRICE_LIST_USED_CHR   VARCHAR2(2000) ;
24570 RENEWAL_NOTIFICATION_TO_CHR   VARCHAR2(2000) ;
24571 RENEWAL_MARKUP_PERCENT_USED_CH VARCHAR2(2000) ;
24572 REV_EST_PERCENT_USED_CHR      VARCHAR2(2000) ;
24573 REV_EST_DURATION_USED_CHR     VARCHAR2(2000) ;
24574 BILLING_PROFILE_USED_CHR      VARCHAR2(2000) ;
24575 EVN_THRESHOLD_AMT_CHR         VARCHAR2(2000) ;
24576 ERN_THRESHOLD_AMT_CHR         VARCHAR2(2000) ;
24577 RENEWAL_GRACE_DURATION_USED_CH VARCHAR2(2000) ;
24578 PRICE_LIST_ID_CHR             VARCHAR2(2000) ;
24579 CONVERSION_RATE_CHR           VARCHAR2(2000) ;
24580 CONVERSION_EURO_RATE_CHR      VARCHAR2(2000) ;
24581 
24582 -- FOLLOWING ARE DATE FIELDS --
24583 CC_EXPIRY_DATE_CHR            VARCHAR2(2000) ;
24584 EST_REV_DATE_CHR              VARCHAR2(2000) ;
24585 RENEWAL_END_DATE_CHR          VARCHAR2(2000) ;
24586 CONVERSION_RATE_DATE_CHR      VARCHAR2(2000) ;
24587 
24588 --Misc Variables --
24589 L_ATTRIBUTE_NAME              VARCHAR2(2000);
24590 L_ERROR_MSG                   VARCHAR2(2000);
24591 
24592 MAIN_EXCEPTION               EXCEPTION;
24593 VAL_EXCEPTION                EXCEPTION;
24594 Eflag                        NUMBER;
24595 Emsg                         VARCHAR2(2000);
24596 iEflag                       NUMBER:=0;
24597 ISQLCODE                     NUMBER;
24598 l_chr_id                     NUMBER;
24599 
24600 -------------------------------------------------------------------------------
24601 -- The following is the cursor opened if p_us_yn  is true   --
24602 -------------------------------------------------------------------------------
24603 
24604 CURSOR l_hdr_rule_csr (p_id in NUMBER)is
24605 SELECT  RGP.CHR_ID CHR_ID
24606        -- Checked in gsidev no conversion needed.
24607        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
24608        --               '!,.','!')                                                           ACCT_RULE_ID
24609        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                   ACCT_RULE_ID
24610        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                             PAYMENT_TYPE
24611        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))             CC_NO
24612        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
24613                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CC_EXPIRY_DATE
24614        -- Checked in gsidev no conversion needed.
24615        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
24616        --               '!,.' , '!')                                                         CC_BANK_ACCT_ID
24617        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))             CC_BANK_ACCT_ID
24618 
24619        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))             CC_AUTH_CODE
24620        -- Checked in gsidev no conversion needed.
24621        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
24622        --               '!,.','!')                                                           GRACE_DURATION
24623        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))             GRACE_DURATION
24624        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))             GRACE_PERIOD
24625        -- Checked in gsidev no conversion needed.
24626        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
24627        --               '!,','!')                                                            EST_REV_PERCENT
24628        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1))             EST_REV_PERCENT
24629        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,
24630                     to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                  EST_REV_DATE
24631        -- Checked in gsidev conversion needed.
24632        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
24633                       '!,' ,'!' )                                                            TAX_AMOUNT
24634        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))             TAX_STATUS
24635        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
24636                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' , '!')     TAX_CODE
24637        -- Checked in gsidev no conversion needed.
24638        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
24639        --               '!,.','!')                                                            TAX_EXEMPTION_ID
24640        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                   TAX_EXEMPTION_ID
24641        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))             BILLING_SCHEDULE_TYPE
24642        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
24643                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )   BILLING_SCHEDULE_TYPE
24644        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
24645                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_- ,.','!')       BILLING_PROFILE_ID
24646        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION2))             RENEWAL_STATUS
24647        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION3))             ELECTRONIC_RENEWAL_FLAG
24648        -- Checked in gsidev no conversion needed.
24649        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
24650        --               '!,.' ,'!')                                                          QUOTE_TO_CONTACT_ID
24651        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1))                   QUOTE_TO_CONTACT_ID
24652        -- Checked in gsidev no conversion needed.
24653        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
24654        --               '!,.','!')                                                           QUOTE_TO_SITE_ID
24655        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4))            QUOTE_TO_SITE_ID
24656        -- Checked in gsidev no conversion needed.
24657        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
24658        --               '!,.','!')                                                           QUOTE_TO_EMAIL_ID
24659        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1))             QUOTE_TO_EMAIL_ID
24660        -- Checked in gsidev no conversion needed.
24661        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
24662        --               '!,.','!')                                                           QUOTE_TO_PHONE_ID
24663        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2))             QUOTE_TO_PHONE_ID
24664        -- Checked in gsidev no conversion needed.
24665        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
24666        --               '!,.','!')                                                           QUOTE_TO_FAX_ID
24667        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3))             QUOTE_TO_FAX_ID
24668        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPO' ,RUL.RULE_INFORMATION1))             RENEWAL_PO_REQUIRED
24669        -- Checked in gsidev no conversion needed.
24670        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
24671        --               '!,.','!')                                                           RENEWAL_PRICE_LIST
24672        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST
24673        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION1))             RENEWAL_PRICING_TYPE
24674        -- Checked in gsidev no conversion needed.
24675        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
24676        --               '!%,' ,'!')                                                          RENEWAL_MARKUP_PERCENT
24677        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2))             RENEWAL_MARKUP_PERCENT
24678        -- Checked in gsidev no conversion needed.
24679        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
24680        --               '!,.','!')                                                           RENEWAL_GRACE_DURATION
24681        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3))             RENEWAL_GRACE_DURATION
24682        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION4))             RENEWAL_GRACE_PERIOD
24683        -- Checked in gsidev no conversion needed.
24684        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
24685        --               '!%,' ,'!')                                                          RENEWAL_EST_REV_PERCENT
24686        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1))             RENEWAL_EST_REV_PERCENT
24687        -- Checked in gsidev no conversion needed.
24688        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
24689        --               '!,.','!')                                                           RENEWAL_EST_REV_DURATION
24690        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2))             RENEWAL_EST_REV_DURATION
24691        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION3))             RENEWAL_EST_REV_PERIOD
24692        -- Checked in gsidev no conversion needed.
24693        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
24694        --               '!,.','!')                                                           RENEWAL_PRICE_LIST_USED
24695        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST_USED
24696        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_USED
24697        -- Checked in gsidev no conversion needed.
24698        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
24699        --               '!,.','!')                                                           RENEWAL_NOTIFICATION_TO
24700        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFICATION_TO
24701        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION3))             RENEWAL_PO_USED
24702        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION4))             RENEWAL_PRICING_TYPE_USED
24703        -- Checked in gsidev no conversion needed.
24704        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
24705        --               '!,%' ,'!')                                                          RENEWAL_MARKUP_PERCENT_USED
24706        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5))             RENEWAL_MARKUP_PERCENT_USED
24707        -- Checked in gsidev conversion needed.
24708        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
24709                       '!%,' ,'!')                                                            REV_EST_PERCENT_USED
24710        -- Checked in gsidev no conversion needed.
24711        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
24712        --               '!,.','!')                                                           REV_EST_DURATION_USED
24713        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7))             REV_EST_DURATION_USED
24714        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION8))             REV_EST_PERIOD_USED
24715        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
24716                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')        BILLING_PROFILE_USED
24717        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION10))            ERN_FLAG_USED_YN
24718        -- Checked in gsidev no conversion needed.
24719        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
24720        --              '!,' ,'!')                                                            EVN_THRESHOLD_AMT
24721        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11))            EVN_THRESHOLD_AMT
24722        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION12))            EVN_THRESHOLD_CUR
24723        -- Checked in gsidev no conversion needed.
24724        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
24725        --              '!,' ,'!')                                                            ERN_THRESHOLD_AMT
24726        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13))            ERN_THRESHOLD_AMT
24727        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION14))            ERN_THRESHOLD_CUR
24728        -- Checked in gsidev no conversion needed.
24729        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
24730        --              '!,.','!')                                                            RENEWAL_GRACE_DURATION_USED
24731        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1))             RENEWAL_GRACE_DURATION_USED
24732        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION2))             RENEWAL_GRACE_PERIOD_USED
24733        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.OBJECT1_ID1))                   INV_TRX_TYPE
24734        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION9))             INV_PRINT_PROFILE
24735        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION10))            RENEWAL_PO_NUMBER
24736        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION11))            AR_INTERFACE_YN
24737        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION12))            HOLD_BILLING
24738        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION13))            SUMMARY_TRX_YN
24739        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION1))             SERVICE_PO_NUMBER
24740        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION2))             SERVICE_PO_REQUIRED
24741        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.OBJECT1_ID1))                   CONVERSION_TYPE       --OKC
24742        -- needs translation
24743        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
24744                      '!,','!')                                                               CONVERSION_RATE       --OKC
24745        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,
24746                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CONVERSION_RATE_DATE  --OKC
24747         -- needs translation
24748        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
24749                      '!,','!')                                                               CONVERSION_EURO_RATE  --OKC
24750        -- Checked in gsidev no conversion needed.
24751        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
24752        --              '!,.','!')                                                            CUST_ACCT_ID          --OKC
24753        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                   CUST_ACCT_ID          --OKC
24754        -- Checked in gsidev no conversion needed.
24755        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
24756        --              '!,.','!')                                                            BILL_TO_SITE_USE_ID   --OKC
24757        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                   BILL_TO_SITE_USE_ID   --OKC
24758        -- Checked in gsidev no conversion needed.
24759        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
24760        --              '!,.','!')                                                            INV_RULE_ID           --OKC
24761        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                   INV_RULE_ID           --OKC
24762        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_CODE     --OKC
24763        -- Checked in gsidev no conversion needed.
24764        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
24765        --              '!,.','!')                                                            RENEWAL_NOTIFY_TO     --OKC
24766        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFY_TO     --OKC
24767        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,
24768                   to_date(RUL.RULE_INFORMATION3,'yyyy/mm/dd hh24:mi:ss')))                    RENEWAL_END_DATE      --OKC
24769        -- Checked in gsidev no conversion needed.
24770        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
24771        --              '!,.','!')                                                            SHIP_TO_SITE_USE_ID   --OKC
24772        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                   SHIP_TO_SITE_USE_ID   --OKC
24773        -- Checked in gsidev no conversion needed.
24774        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
24775        --              '!,.','!')                                                            PAYMENT_TERM_ID       --OKC
24776        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                   PAYMENT_TERM_ID       --OKC
24777 
24778        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
24779                      '!,.','!')                                                              PRICE_LIST_ID         --OKC
24780 FROM OKC_RULE_GROUPS_BH RGP
24781    , OKC_RULES_BH RUL
24782 WHERE rgp.id = rul.rgp_id
24783   and rul.major_version=rgp.major_version
24784   and rgp.cle_id is null
24785   and rgp.rgd_code = 'SVC_K'
24786   AND   RUL.RULE_INFORMATION_CATEGORY IN
24787        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
24788         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
24789   and rgp.RGD_CODE = 'SVC_K'
24790   and rgp.id =p_id
24791   and rgp.major_version = p_major_version
24792   GROUP BY rgp.chr_id;
24793 
24794 -------------------------------------------------------------------------------
24795 -- The following is the cursor opened if p_us_yn  is false   --
24796 -------------------------------------------------------------------------------
24797 
24798 CURSOR l_hdr_rule_csr_nus (p_id in NUMBER) is
24799 SELECT  RGP.CHR_ID CHR_ID
24800        -- Checked in gsidev no conversion needed.
24801        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
24802        --               '!,. ','!')                                                           ACCT_RULE_ID
24803        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                   ACCT_RULE_ID
24804        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                             PAYMENT_TYPE
24805        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))             CC_NO
24806        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
24807                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CC_EXPIRY_DATE
24808        -- Checked in gsidev no conversion needed.
24809        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
24810        --               '!,. ' , '!')                                                         CC_BANK_ACCT_ID
24811        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))             CC_BANK_ACCT_ID
24812 
24813        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))             CC_AUTH_CODE
24814        -- Checked in gsidev no conversion needed.
24815        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
24816        --               '!,. ','!')                                                           GRACE_DURATION
24817        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))             GRACE_DURATION
24818        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))             GRACE_PERIOD
24819        -- Checked in gsidev no conversion needed.
24820        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
24821        --               '!. ','!')                                                            EST_REV_PERCENT
24822        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1))             EST_REV_PERCENT
24823        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,
24824                     to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                  EST_REV_DATE
24825        -- Checked in gsidev conversion needed.
24826        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
24827                       '!. ' ,'!' )                                                            TAX_AMOUNT
24828        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))             TAX_STATUS
24829        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
24830                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' , '!')     TAX_CODE
24831        -- Checked in gsidev no conversion needed.
24832        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
24833        --               '!,. ','!')                                                           TAX_EXEMPTION_ID
24834        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                   TAX_EXEMPTION_ID
24835        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))             BILLING_SCHEDULE_TYPE
24836        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
24837                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )   BILLING_SCHEDULE_TYPE
24838        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
24839                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ','!')       BILLING_PROFILE_ID
24840        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION2))             RENEWAL_STATUS
24841        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION3))             ELECTRONIC_RENEWAL_FLAG
24842        -- Checked in gsidev no conversion needed.
24843        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
24844        --               '!,. ' ,'!')                                                          QUOTE_TO_CONTACT_ID
24845        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1))                   QUOTE_TO_CONTACT_ID
24846        -- Checked in gsidev no conversion needed.
24847        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
24848        --               '!,. ','!')                                                           QUOTE_TO_SITE_ID
24849        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4))             QUOTE_TO_SITE_ID
24850        -- Checked in gsidev no conversion needed.
24851        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
24852        --               '!,. ','!')                                                           QUOTE_TO_EMAIL_ID
24853        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1))             QUOTE_TO_EMAIL_ID
24854        -- Checked in gsidev no conversion needed.
24855        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
24856        --               '!,. ','!')                                                           QUOTE_TO_PHONE_ID
24857        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2))             QUOTE_TO_PHONE_ID
24858        -- Checked in gsidev no conversion needed.
24859        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
24860        --               '!,. ','!')                                                           QUOTE_TO_FAX_ID
24861        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3))             QUOTE_TO_FAX_ID
24862        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPO' ,RUL.RULE_INFORMATION1))             RENEWAL_PO_REQUIRED
24863        -- Checked in gsidev no conversion needed.
24864        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
24865        --               '!,. ','!')                                                           RENEWAL_PRICE_LIST
24866        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST
24867        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION1))             RENEWAL_PRICING_TYPE
24868        -- Checked in gsidev no conversion needed.
24869        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
24870        --               '!%. ' ,'!')                                                          RENEWAL_MARKUP_PERCENT
24871        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2))             RENEWAL_MARKUP_PERCENT
24872        -- Checked in gsidev no conversion needed.
24873        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
24874        --               '!,. ','!')                                                           RENEWAL_GRACE_DURATION
24875        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3))             RENEWAL_GRACE_DURATION
24876        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION4))             RENEWAL_GRACE_PERIOD
24877        -- Checked in gsidev no conversion needed.
24878        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
24879        --               '!%. ' ,'!')                                                          RENEWAL_EST_REV_PERCENT
24880        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1))             RENEWAL_EST_REV_PERCENT
24881        -- Checked in gsidev no conversion needed.
24882        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
24883        --               '!,. ','!')                                                           RENEWAL_EST_REV_DURATION
24884        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2))             RENEWAL_EST_REV_DURATION
24885        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION3))             RENEWAL_EST_REV_PERIOD
24886        -- Checked in gsidev no conversion needed.
24887        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
24888        --               '!,. ','!')                                                           RENEWAL_PRICE_LIST_USED
24889        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST_USED
24890        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_USED
24891        -- Checked in gsidev no conversion needed.
24892        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
24893        --               '!,. ','!')                                                           RENEWAL_NOTIFICATION_TO
24894        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFICATION_TO
24895        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION3))             RENEWAL_PO_USED
24896        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION4))             RENEWAL_PRICING_TYPE_USED
24897        -- Checked in gsidev no conversion needed.
24898        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
24899        --               '!. %' ,'!')                                                          RENEWAL_MARKUP_PERCENT_USED
24900        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5))             RENEWAL_MARKUP_PERCENT_USED
24901        -- Checked in gsidev conversion needed.
24902        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
24903                       '!%. ' ,'!')                                                            REV_EST_PERCENT_USED
24904        -- Checked in gsidev no conversion needed.
24905        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
24906        --               '!,. ','!')                                                           REV_EST_DURATION_USED
24907        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7))             REV_EST_DURATION_USED
24908        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION8))             REV_EST_PERIOD_USED
24909        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
24910                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')        BILLING_PROFILE_USED
24911        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION10))            ERN_FLAG_USED_YN
24912        -- Checked in gsidev no conversion needed.
24913        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
24914        --              '!. ' ,'!')                                                            EVN_THRESHOLD_AMT
24915        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11))            EVN_THRESHOLD_AMT
24916        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION12))            EVN_THRESHOLD_CUR
24917        -- Checked in gsidev no conversion needed.
24918        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
24919        --              '!. ' ,'!')                                                            ERN_THRESHOLD_AMT
24920        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13))            ERN_THRESHOLD_AMT
24921        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION14))            ERN_THRESHOLD_CUR
24922        -- Checked in gsidev no conversion needed.
24923        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
24924        --              '!,. ','!')                                                            RENEWAL_GRACE_DURATION_USED
24925        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1))             RENEWAL_GRACE_DURATION_USED
24926        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION2))             RENEWAL_GRACE_PERIOD_USED
24927        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.OBJECT1_ID1))                   INV_TRX_TYPE
24928        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION9))             INV_PRINT_PROFILE
24929        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION10))            RENEWAL_PO_NUMBER
24930        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION11))            AR_INTERFACE_YN
24931        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION12))            HOLD_BILLING
24932        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION13))            SUMMARY_TRX_YN
24933        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION1))             SERVICE_PO_NUMBER
24934        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION2))             SERVICE_PO_REQUIRED
24935        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.OBJECT1_ID1))                   CONVERSION_TYPE       --OKC
24936        -- needs translation
24937        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
24938                      '!. ','!')                                                               CONVERSION_RATE       --OKC
24939        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,
24940                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CONVERSION_RATE_DATE  --OKC
24941         -- needs translation
24942        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
24943                      '!. ','!')                                                               CONVERSION_EURO_RATE  --OKC
24944        -- Checked in gsidev no conversion needed.
24945        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
24946        --              '!,. ','!')                                                            CUST_ACCT_ID          --OKC
24947        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                   CUST_ACCT_ID          --OKC
24948        -- Checked in gsidev no conversion needed.
24949        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
24950        --              '!,. ','!')                                                            BILL_TO_SITE_USE_ID   --OKC
24951        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                   BILL_TO_SITE_USE_ID   --OKC
24952        -- Checked in gsidev no conversion needed.
24953        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
24954        --              '!,. ','!')                                                            INV_RULE_ID           --OKC
24955        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                   INV_RULE_ID           --OKC
24956        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_CODE     --OKC
24957        -- Checked in gsidev no conversion needed.
24958        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
24959        --              '!,. ','!')                                                            RENEWAL_NOTIFY_TO     --OKC
24960        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFY_TO     --OKC
24961        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,
24962                   to_date(RUL.RULE_INFORMATION3,'yyyy/mm/dd hh24:mi:ss')))                    RENEWAL_END_DATE      --OKC
24963        -- Checked in gsidev no conversion needed.
24964        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
24965        --              '!,. ','!')                                                            SHIP_TO_SITE_USE_ID   --OKC
24966        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                   SHIP_TO_SITE_USE_ID   --OKC
24967        -- Checked in gsidev no conversion needed.
24968        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
24969        --              '!,. ','!')                                                            PAYMENT_TERM_ID       --OKC
24970        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                   PAYMENT_TERM_ID       --OKC
24971 
24972        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
24973                      '!,. ','!')                                                              PRICE_LIST_ID         --OKC
24974 FROM OKC_RULE_GROUPS_B RGP
24975    , OKC_RULES_B RUL
24976 WHERE rgp.id = rul.rgp_id
24977   and rgp.cle_id is null
24978   and rgp.rgd_code = 'SVC_K'
24979   AND   RUL.RULE_INFORMATION_CATEGORY IN
24980        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
24981         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
24982   and rgp.RGD_CODE = 'SVC_K'
24983   and rgp.id =p_id
24984   GROUP BY rgp.chr_id;
24985 
24986 
24987 
24988 ----------------------------------------------------------------------------
24989 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
24990 ----------------------------------------------------------------------------
24991 CURSOR L_HDR_DTLS_CSR ( P_HDR_ID  IN NUMBER , P_CATEGORY IN VARCHAR2 ) IS
24992 SELECT HDR.CONTRACT_NUMBER
24993      , HDR.CONTRACT_NUMBER_MODIFIER
24994      , RUL.MAJOR_VERSION
24995      , RUL.ID
24996      , RGP.ID RGP_ID
24997  FROM  OKC_K_HEADERS_BH HDR
24998      , OKC_RULE_GROUPS_BH RGP
24999      , OKC_RULES_BH RUL
25000 WHERE HDR.ID = P_HDR_ID
25001   AND RGP.DNZ_CHR_ID = P_HDR_ID
25002   AND RGP.CHR_ID = P_HDR_ID
25003   AND RGP.ID = RUL.RGP_ID
25004   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
25005   AND HDR.major_version = Rgp.major_version
25006   and Rgp.major_version = RUL.major_version
25007   AND RUL.major_version = p_major_version
25008   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
25009 
25010 L_HDR_DTLS_REC L_HDR_DTLS_CSR%ROWTYPE;
25011 ----------------------------------------------------------------------------
25012 --Cursor to check whether the record exists in OKC_RULE_GROUPS_BH table.
25013 ----------------------------------------------------------------------------
25014 CURSOR L_CHECK_RGP_CSR ( P_ID IN NUMBER , P_MAJOR_VERSION IN NUMBER ) IS
25015 SELECT CHR_ID
25016   FROM OKC_RULE_GROUPS_BH
25017  WHERE ID = P_ID
25018    AND MAJOR_VERSION = P_MAJOR_VERSION;
25019 ----------------------------------------------------------------------------
25020 
25021 
25022 BEGIN
25023  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
25024  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Header History Rule Data Reprocessing--------');
25025  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
25026 
25027 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
25028 
25029 
25030 if(p_us_yn) THEN
25031     OPEN l_hdr_rule_csr(p_id);
25032     FETCH l_hdr_rule_csr into
25033                           CHR_ID
25034                         ,ACCT_RULE_ID_CHR
25035                         ,PAYMENT_TYPE
25036                         ,CC_NO
25037                         ,CC_EXPIRY_DATE_CHR
25038                         ,CC_BANK_ACCT_ID_CHR
25039                         ,CC_AUTH_CODE
25040                         ,GRACE_DURATION_CHR
25041                         ,GRACE_PERIOD
25042                         ,EST_REV_PERCENT_CHR
25043                         ,EST_REV_DATE_CHR
25044                         ,TAX_AMOUNT_CHR
25045                         ,TAX_STATUS
25046                         ,TAX_CODE_CHR
25047                         ,TAX_EXEMPTION_ID_CHR
25048                         ,BILLING_SCHEDULE_TYPE
25049                         ,BILLING_PROFILE_ID_CHR
25050                         ,RENEWAL_STATUS
25051                         ,ELECTRONIC_RENEWAL_FLAG
25052                         ,QUOTE_TO_CONTACT_ID_CHR
25053                         ,QUOTE_TO_SITE_ID_CHR
25054                         ,QUOTE_TO_EMAIL_ID_CHR
25055                         ,QUOTE_TO_PHONE_ID_CHR
25056                         ,QUOTE_TO_FAX_ID_CHR
25057                         ,RENEWAL_PO_REQUIRED
25058                         ,RENEWAL_PRICE_LIST_CHR
25059                         ,RENEWAL_PRICING_TYPE
25060                         ,RENEWAL_MARKUP_PERCENT_CHR
25061                         ,RENEWAL_GRACE_DURATION_CHR
25062                         ,RENEWAL_GRACE_PERIOD
25063                         ,RENEWAL_EST_REV_PERCENT_CHR
25064                         ,RENEWAL_EST_REV_DURATIOn_CHR
25065                         ,RENEWAL_EST_REV_PERIOD
25066                         ,RENEWAL_PRICE_LIST_USED_CHR
25067                         ,RENEWAL_TYPE_USED
25068                         ,RENEWAL_NOTIFICATION_TO_CHR
25069                         ,RENEWAL_PO_USED
25070                         ,RENEWAL_PRICING_TYPE_USED
25071                         ,RENEWAL_MARKUP_PERCENT_USED_CH
25072                         ,REV_EST_PERCENT_USED_CHR
25073                         ,REV_EST_DURATION_USED_CHR
25074                         ,REV_EST_PERIOD_USED
25075                         ,BILLING_PROFILE_USED_CHR
25076                         ,ERN_FLAG_USED_YN
25077                         ,EVN_THRESHOLD_AMT_CHR
25078                         ,EVN_THRESHOLD_CUR
25079                         ,ERN_THRESHOLD_AMT_CHR
25080                         ,ERN_THRESHOLD_CUR
25081                         ,RENEWAL_GRACE_DURATION_USED_CH
25082                         ,RENEWAL_GRACE_PERIOD_USED
25083                         ,INV_TRX_TYPE
25084                         ,INV_PRINT_PROFILE
25085                         ,RENEWAL_PO_NUMBER
25086                         ,AR_INTERFACE_YN
25087                         ,HOLD_BILLING
25088                         ,SUMMARY_TRX_YN
25089                         ,SERVICE_PO_NUMBER
25090                         ,SERVICE_PO_REQUIRED
25091                         ,L_CONVERSION_TYPE                 --OKC
25092                         ,CONVERSION_RATE_CHR              --OKC
25093                         ,CONVERSION_RATE_DATE_CHR         --OKC
25094                         ,CONVERSION_EURO_RATE_CHR         --OKC
25095                         ,CUST_ACCT_ID_CHR                 --OKC
25096                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
25097                         ,INV_RULE_ID_CHR                  --OKC
25098                         ,L_RENEWAL_TYPE_CODE                --OKC
25099                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
25100                         ,RENEWAL_END_DATE_CHR             --OKC
25101                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
25102                         ,PAYMENT_TERM_ID_CHR              --OKC
25103                         ,PRICE_LIST_ID_CHR  ;             --OKC
25104 
25105       close l_hdr_rule_csr;
25106 else
25107     OPEN l_hdr_rule_csr_nus(p_id);
25108     FETCH l_hdr_rule_csr_nus into
25109                           CHR_ID
25110                         ,ACCT_RULE_ID_CHR
25111                         ,PAYMENT_TYPE
25112                         ,CC_NO
25113                         ,CC_EXPIRY_DATE_CHR
25114                         ,CC_BANK_ACCT_ID_CHR
25115                         ,CC_AUTH_CODE
25116                         ,GRACE_DURATION_CHR
25117                         ,GRACE_PERIOD
25118                         ,EST_REV_PERCENT_CHR
25119                         ,EST_REV_DATE_CHR
25120                         ,TAX_AMOUNT_CHR
25121                         ,TAX_STATUS
25122                         ,TAX_CODE_CHR
25123                         ,TAX_EXEMPTION_ID_CHR
25124                         ,BILLING_SCHEDULE_TYPE
25125                         ,BILLING_PROFILE_ID_CHR
25126                         ,RENEWAL_STATUS
25127                         ,ELECTRONIC_RENEWAL_FLAG
25128                         ,QUOTE_TO_CONTACT_ID_CHR
25129                         ,QUOTE_TO_SITE_ID_CHR
25130                         ,QUOTE_TO_EMAIL_ID_CHR
25131                         ,QUOTE_TO_PHONE_ID_CHR
25132                         ,QUOTE_TO_FAX_ID_CHR
25133                         ,RENEWAL_PO_REQUIRED
25134                         ,RENEWAL_PRICE_LIST_CHR
25135                         ,RENEWAL_PRICING_TYPE
25136                         ,RENEWAL_MARKUP_PERCENT_CHR
25137                         ,RENEWAL_GRACE_DURATION_CHR
25138                         ,RENEWAL_GRACE_PERIOD
25139                         ,RENEWAL_EST_REV_PERCENT_CHR
25140                         ,RENEWAL_EST_REV_DURATIOn_CHR
25141                         ,RENEWAL_EST_REV_PERIOD
25142                         ,RENEWAL_PRICE_LIST_USED_CHR
25143                         ,RENEWAL_TYPE_USED
25144                         ,RENEWAL_NOTIFICATION_TO_CHR
25145                         ,RENEWAL_PO_USED
25146                         ,RENEWAL_PRICING_TYPE_USED
25147                         ,RENEWAL_MARKUP_PERCENT_USED_CH
25148                         ,REV_EST_PERCENT_USED_CHR
25149                         ,REV_EST_DURATION_USED_CHR
25150                         ,REV_EST_PERIOD_USED
25151                         ,BILLING_PROFILE_USED_CHR
25152                         ,ERN_FLAG_USED_YN
25153                         ,EVN_THRESHOLD_AMT_CHR
25154                         ,EVN_THRESHOLD_CUR
25155                         ,ERN_THRESHOLD_AMT_CHR
25156                         ,ERN_THRESHOLD_CUR
25157                         ,RENEWAL_GRACE_DURATION_USED_CH
25158                         ,RENEWAL_GRACE_PERIOD_USED
25159                         ,INV_TRX_TYPE
25160                         ,INV_PRINT_PROFILE
25161                         ,RENEWAL_PO_NUMBER
25162                         ,AR_INTERFACE_YN
25163                         ,HOLD_BILLING
25164                         ,SUMMARY_TRX_YN
25165                         ,SERVICE_PO_NUMBER
25166                         ,SERVICE_PO_REQUIRED
25167                         ,L_CONVERSION_TYPE                 --OKC
25168                         ,CONVERSION_RATE_CHR              --OKC
25169                         ,CONVERSION_RATE_DATE_CHR         --OKC
25170                         ,CONVERSION_EURO_RATE_CHR         --OKC
25171                         ,CUST_ACCT_ID_CHR                 --OKC
25172                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
25173                         ,INV_RULE_ID_CHR                  --OKC
25174                         ,L_RENEWAL_TYPE_CODE                --OKC
25175                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
25176                         ,RENEWAL_END_DATE_CHR             --OKC
25177                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
25178                         ,PAYMENT_TERM_ID_CHR              --OKC
25179                         ,PRICE_LIST_ID_CHR  ;             --OKC
25180 
25181       close l_hdr_rule_csr_nus;
25182 end if;
25183 
25184       Eflag :=0;
25185       iEflag :=0;
25186 
25187 
25188 if(CHR_ID  is not null) then
25189 --Attempting to insert records first
25190 --as OKS_RULE_REPROCESS might have many  records with no data issue
25191 
25192   BEGIN
25193      INSERT INTO oks_k_headers_bh(
25194         ID
25195       ,MAJOR_VERSION
25196       ,CHR_ID
25197       ,ACCT_RULE_ID
25198       ,PAYMENT_TYPE
25199       ,CC_NO
25200       ,CC_EXPIRY_DATE
25201       ,CC_BANK_ACCT_ID
25202       ,CC_AUTH_CODE
25203       ,GRACE_DURATION
25204       ,GRACE_PERIOD
25205       ,EST_REV_PERCENT
25206       ,EST_REV_DATE
25207       ,TAX_AMOUNT
25208       ,TAX_STATUS
25209       ,TAX_CODE
25210       ,TAX_EXEMPTION_ID
25211       ,BILLING_SCHEDULE_TYPE
25212       ,BILLING_PROFILE_ID
25213       ,RENEWAL_STATUS
25214       ,ELECTRONIC_RENEWAL_FLAG
25215       ,QUOTE_TO_CONTACT_ID
25216       ,QUOTE_TO_SITE_ID
25217       ,QUOTE_TO_EMAIL_ID
25218       ,QUOTE_TO_PHONE_ID
25219       ,QUOTE_TO_FAX_ID
25220       ,RENEWAL_PO_REQUIRED
25221       ,RENEWAL_PRICE_LIST
25222       ,RENEWAL_PRICING_TYPE
25223       ,RENEWAL_MARKUP_PERCENT
25224       ,RENEWAL_GRACE_DURATION
25225       ,RENEWAL_GRACE_PERIOD
25226       ,RENEWAL_EST_REV_PERCENT
25227       ,RENEWAL_EST_REV_DURATION
25228       ,RENEWAL_EST_REV_PERIOD
25229       ,RENEWAL_PRICE_LIST_USED
25230       ,RENEWAL_TYPE_USED
25231       ,RENEWAL_NOTIFICATION_TO
25232       ,RENEWAL_PO_USED
25233       ,RENEWAL_PRICING_TYPE_USED
25234       ,RENEWAL_MARKUP_PERCENT_USED
25235       ,REV_EST_PERCENT_USED
25236       ,REV_EST_DURATION_USED
25237       ,REV_EST_PERIOD_USED
25238       ,BILLING_PROFILE_USED
25239       ,ERN_FLAG_USED_YN
25240       ,EVN_THRESHOLD_AMT
25241       ,EVN_THRESHOLD_CUR
25242       ,ERN_THRESHOLD_AMT
25243       ,ERN_THRESHOLD_CUR
25244       ,RENEWAL_GRACE_DURATION_USED
25245       ,RENEWAL_GRACE_PERIOD_USED
25246       ,INV_TRX_TYPE
25247       ,INV_PRINT_PROFILE
25248       ,RENEWAL_PO_NUMBER
25249       ,AR_INTERFACE_YN
25250       ,HOLD_BILLING
25251       ,SUMMARY_TRX_YN
25252       ,SERVICE_PO_NUMBER
25253       ,SERVICE_PO_REQUIRED
25254       ,CREATED_BY
25255       ,CREATION_DATE
25256       ,LAST_UPDATED_BY
25257       ,LAST_UPDATE_DATE
25258       ,LAST_UPDATE_LOGIN
25259       ,OBJECT_VERSION_NUMBER  )
25260     VALUES (
25261        CHR_ID
25262       ,P_MAJOR_VERSION
25263       ,CHR_ID
25264       ,ACCT_RULE_ID_CHR
25265       ,PAYMENT_TYPE
25266       ,CC_NO
25267       ,CC_EXPIRY_DATE_CHR
25268       ,CC_BANK_ACCT_ID_CHR
25269       ,CC_AUTH_CODE
25270       ,GRACE_DURATION_CHR
25271       ,GRACE_PERIOD
25272       ,EST_REV_PERCENT_CHR
25273       ,EST_REV_DATE_CHR
25274       ,TAX_AMOUNT_CHR
25275       ,TAX_STATUS
25276       ,TAX_CODE_CHR
25277       ,TAX_EXEMPTION_ID_CHR
25278       ,BILLING_SCHEDULE_TYPE
25279       ,BILLING_PROFILE_ID_CHR
25280       ,RENEWAL_STATUS
25281       ,ELECTRONIC_RENEWAL_FLAG
25282       ,QUOTE_TO_CONTACT_ID_CHR
25283       ,QUOTE_TO_SITE_ID_CHR
25284       ,QUOTE_TO_EMAIL_ID_CHR
25285       ,QUOTE_TO_PHONE_ID_CHR
25286       ,QUOTE_TO_FAX_ID_CHR
25287       ,RENEWAL_PO_REQUIRED
25288       ,RENEWAL_PRICE_LIST_CHR
25289       ,RENEWAL_PRICING_TYPE
25290       ,RENEWAL_MARKUP_PERCENT_CHR
25291       ,RENEWAL_GRACE_DURATION_CHR
25292       ,RENEWAL_GRACE_PERIOD
25293       ,RENEWAL_EST_REV_PERCENT_CHR
25294       ,RENEWAL_EST_REV_DURATIOn_CHR
25295       ,RENEWAL_EST_REV_PERIOD
25296       ,RENEWAL_PRICE_LIST_USED_CHR
25297       ,RENEWAL_TYPE_USED
25298       ,RENEWAL_NOTIFICATION_TO_CHR
25299       ,RENEWAL_PO_USED
25300       ,RENEWAL_PRICING_TYPE_USED
25301       ,RENEWAL_MARKUP_PERCENT_USED_CH
25302       ,REV_EST_PERCENT_USED_CHR
25303       ,REV_EST_DURATION_USED_CHR
25304       ,REV_EST_PERIOD_USED
25305       ,BILLING_PROFILE_USED_CHR
25306       ,ERN_FLAG_USED_YN
25307       ,EVN_THRESHOLD_AMT_CHR
25308       ,EVN_THRESHOLD_CUR
25309       ,ERN_THRESHOLD_AMT_CHR
25310       ,ERN_THRESHOLD_CUR
25311       ,RENEWAL_GRACE_DURATION_USED_CH
25312       ,RENEWAL_GRACE_PERIOD_USED
25313       ,INV_TRX_TYPE
25314       ,INV_PRINT_PROFILE
25315       ,RENEWAL_PO_NUMBER
25316       ,AR_INTERFACE_YN
25317       ,HOLD_BILLING
25318       ,SUMMARY_TRX_YN
25319       ,SERVICE_PO_NUMBER
25320       ,SERVICE_PO_REQUIRED
25321       ,1
25322       ,SYSDATE
25323       ,1
25324       ,SYSDATE
25325       ,2003
25326       ,1   );
25327 
25328  EXCEPTION When others then
25329    iEflag:=1;
25330    Emsg :=SQLERRM;
25331    ISQLCODE := SQLCODE;
25332  END;
25333 ELSE
25334     BEGIN
25335     OPEN  L_CHECK_RGP_CSR(P_ID,P_MAJOR_VERSION);
25336     FETCH L_CHECK_RGP_CSR INTO L_CHR_ID;
25337     CLOSE L_CHECK_RGP_CSR;
25338 
25339     if(l_chr_id is not null) then
25340       INSERT INTO OKS_K_HEADERS_BH OKS1
25341 	    ( OKS1.ID
25342 	    ,OKS1.MAJOR_VERSION
25343 	    ,OKS1.CHR_ID
25344 	    ,OKS1.OBJECT_VERSION_NUMBER
25345 	    ,OKS1.CREATED_BY
25346 	    ,OKS1.CREATION_DATE
25347 	    ,OKS1.LAST_UPDATED_BY
25348 	    ,OKS1.LAST_UPDATE_DATE
25349 	    ,OKS1.LAST_UPDATE_LOGIN )
25350 	    values
25351 	    ( l_chr_id,
25352               p_major_version,
25353               l_chr_id,
25354               1,
25355               1,
25356               SYSDATE,
25357               1,
25358               SYSDATE,
25359               2003
25360 	    );
25361     end if;
25362     EXCEPTION When others then
25363       iEflag:=1;
25364       Emsg :=SQLERRM;
25365       ISQLCODE := SQLCODE;
25366     END;
25367  END IF;
25368 
25369 
25370 --If insert successful then go for update
25371 
25372 if(iEflag = 0) THEN
25373 
25374   BEGIN
25375     UPDATE okc_k_headers_bh SET
25376           CONVERSION_TYPE          =  L_CONVERSION_TYPE ,
25377           CONVERSION_RATE          =  CONVERSION_RATE_CHR ,
25378           CONVERSION_RATE_DATE     =  CONVERSION_RATE_DATE_CHR  ,
25379           CONVERSION_EURO_RATE     =  CONVERSION_EURO_RATE_CHR  ,
25380           CUST_ACCT_ID             =  CUST_ACCT_ID_CHR  ,
25381           BILL_TO_SITE_USE_ID      =  BILL_TO_SITE_USE_ID_CHR   ,
25382           INV_RULE_ID              =  INV_RULE_ID_CHR   ,
25383           RENEWAL_TYPE_CODE        =  L_RENEWAL_TYPE_CODE ,
25384           RENEWAL_NOTIFY_TO        =  RENEWAL_NOTIFY_TO_CHR  ,
25385           RENEWAL_END_DATE         =  RENEWAL_END_DATE_CHR   ,
25386           SHIP_TO_SITE_USE_ID      =  SHIP_TO_SITE_USE_ID_CHR  ,
25387           PAYMENT_TERM_ID          =  PAYMENT_TERM_ID_CHR   ,
25388           PRICE_LIST_ID            =  PRICE_LIST_ID_CHR
25389      WHERE id = chr_id
25390      and   major_version = P_MAJOR_VERSION;
25391 
25392      EXCEPTION When others then
25393           iEflag:=1;
25394 	  Emsg :=SQLERRM;
25395   END;
25396 
25397 End If;
25398 
25399 
25400     ------------------------------------------------------------------------------------
25401     --If insert or update failed then need to validate
25402     -- Begin of code to validate data type .
25403     -- If data fails validation then set the Eflag to 1
25404 
25405 if( iEflag = 1) THEN
25406 
25407        DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
25408 
25409        --1. Validation for ARL rule .
25410        BEGIN
25411           ACCT_RULE_ID      := ACCT_RULE_ID_CHR;
25412        EXCEPTION
25413        WHEN OTHERS THEN
25414           OPEN  L_HDR_DTLS_CSR(CHR_ID,'ARL') ;
25415           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25416           CLOSE L_HDR_DTLS_CSR;
25417           FND_MESSAGE.CLEAR;
25418           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
25419           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25420           L_ERROR_MSG      := SQLERRM;
25421           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25422                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25423                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
25424                                       ERROR_MSG)
25425                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25426                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25427                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR,
25428                                        L_ERROR_MSG );
25429           Eflag:=1;
25430        END;
25431 
25432        --2. Validation for CCR rule .
25433        BEGIN
25434           CC_BANK_ACCT_ID      := CC_BANK_ACCT_ID_CHR;
25435        EXCEPTION
25436        WHEN OTHERS THEN
25437           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CCR') ;
25438           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25439           CLOSE L_HDR_DTLS_CSR;
25440           FND_MESSAGE.CLEAR;
25441           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
25442           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25443           L_ERROR_MSG      := SQLERRM;
25444           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25445                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25446                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25447                                       ERROR_MSG)
25448                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25449                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25450                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR,
25451                                        L_ERROR_MSG );
25452           Eflag:=1;
25453        END;
25454 
25455        --3. Validation for GPR rule .
25456        BEGIN
25457           GRACE_DURATION    := GRACE_DURATION_CHR;
25458        EXCEPTION
25459        WHEN OTHERS THEN
25460           OPEN  L_HDR_DTLS_CSR(CHR_ID,'GPR') ;
25461           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25462           CLOSE L_HDR_DTLS_CSR;
25463           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
25464           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25465           L_ERROR_MSG      := SQLERRM;
25466           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25467                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25468                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25469                                       ERROR_MSG)
25470                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25471                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25472                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR,
25473                                        L_ERROR_MSG );
25474           Eflag:=1;
25475        END;
25476 
25477        --4. Validation for RVE rule .
25478        BEGIN
25479           EST_REV_PERCENT      := EST_REV_PERCENT_CHR;
25480        EXCEPTION
25481        WHEN OTHERS THEN
25482           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RVE') ;
25483           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25484           CLOSE L_HDR_DTLS_CSR;
25485           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
25486           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25487           L_ERROR_MSG      := SQLERRM;
25488           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25489                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25490                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25491                                       ERROR_MSG)
25492                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25493                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25494                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR,
25495                                        L_ERROR_MSG );
25496           Eflag:=1;
25497        END;
25498 
25499        --5. Validation for IRT rule.
25500        BEGIN
25501           TAX_AMOUNT      := TAX_AMOUNT_CHR;
25502        EXCEPTION
25503        WHEN OTHERS THEN
25504           OPEN  L_HDR_DTLS_CSR(CHR_ID,'IRT') ;
25505           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25506           CLOSE L_HDR_DTLS_CSR;
25507           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
25508           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25509           L_ERROR_MSG      := SQLERRM;
25510           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25511                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25512                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25513                                       ERROR_MSG)
25514                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25515                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25516                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR,
25517                                        L_ERROR_MSG );
25518           Eflag:=1;
25519        END;
25520 
25521        --6. Validation for TAX (TAX_CODE) rule.
25522        BEGIN
25523           TAX_CODE      := TAX_CODE_CHR;
25524        EXCEPTION
25525        WHEN OTHERS THEN
25526           OPEN  L_HDR_DTLS_CSR(CHR_ID,'TAX') ;
25527           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25528           CLOSE L_HDR_DTLS_CSR;
25529           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
25530           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25531           L_ERROR_MSG      := SQLERRM;
25532           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25533                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25534                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25535                                       ERROR_MSG)
25536                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25537                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25538                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR,
25539                                        L_ERROR_MSG );
25540           Eflag:=1;
25541        END;
25542 
25543        --7. Validation for TAX (TAX_EXEMPTION_ID) rule.
25544        BEGIN
25545           TAX_EXEMPTION_ID      := TAX_EXEMPTION_ID_CHR;
25546        EXCEPTION
25547        WHEN OTHERS THEN
25548           OPEN  L_HDR_DTLS_CSR(CHR_ID,'TAX');
25549           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25550           CLOSE L_HDR_DTLS_CSR;
25551           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
25552           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25553           L_ERROR_MSG      := SQLERRM;
25554           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25555                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25556                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25557                                       ERROR_MSG)
25558                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25559                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25560                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR,
25561                                        L_ERROR_MSG );
25562           Eflag:=1;
25563        END;
25564 
25565 
25566        --8. Validation for CAN  rule.
25567        BEGIN
25568           CUST_ACCT_ID      := CUST_ACCT_ID_CHR;
25569        EXCEPTION
25570        WHEN OTHERS THEN
25571           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CAN');
25572           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25573           CLOSE L_HDR_DTLS_CSR;
25574           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
25575           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25576           L_ERROR_MSG      := SQLERRM;
25577           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25578                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25579                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25580                                       ERROR_MSG)
25581                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25582                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25583                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR,
25584                                        L_ERROR_MSG );
25585           Eflag:=1;
25586        END;
25587 
25588        --9. Validation for BTO  rule.
25589        BEGIN
25590           BILL_TO_SITE_USE_ID      := BILL_TO_SITE_USE_ID_CHR;
25591        EXCEPTION
25592        WHEN OTHERS THEN
25593           OPEN  L_HDR_DTLS_CSR(CHR_ID,'BTO');
25594           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25595           CLOSE L_HDR_DTLS_CSR;
25596           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
25597           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25598           L_ERROR_MSG      := SQLERRM;
25599           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25600                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25601                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25602                                       ERROR_MSG)
25603                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25604                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25605                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR,
25606                                        L_ERROR_MSG );
25607           Eflag:=1;
25608        END;
25609 
25610 
25611        --10. Validation for IRE  rule.
25612        BEGIN
25613           INV_RULE_ID      := INV_RULE_ID_CHR;
25614        EXCEPTION
25615        WHEN OTHERS THEN
25616           OPEN  L_HDR_DTLS_CSR(CHR_ID,'IRE');
25617           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25618           CLOSE L_HDR_DTLS_CSR;
25619           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
25620           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25621           L_ERROR_MSG      := SQLERRM;
25622           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25623                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25624                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25625                                       ERROR_MSG)
25626                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25627                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25628                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR,
25629                                        L_ERROR_MSG );
25630           Eflag:=1;
25631        END;
25632 
25633        --11. Validation for REN ( RENEWAL_NOTIFY_TO )  rule.
25634        BEGIN
25635           RENEWAL_NOTIFY_TO      := RENEWAL_NOTIFY_TO_CHR;
25636        EXCEPTION
25637        WHEN OTHERS THEN
25638           OPEN  L_HDR_DTLS_CSR(CHR_ID,'IRE');
25639           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25640           CLOSE L_HDR_DTLS_CSR;
25641           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
25642           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25643           L_ERROR_MSG      := SQLERRM;
25644           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25645                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25646                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25647                                       ERROR_MSG)
25648                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25649                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25650                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR,
25651                                        L_ERROR_MSG );
25652           Eflag:=1;
25653        END;
25654 
25655        --12. Validation for STO rule.
25656        BEGIN
25657           SHIP_TO_SITE_USE_ID      := SHIP_TO_SITE_USE_ID_CHR;
25658        EXCEPTION
25659        WHEN OTHERS THEN
25660           OPEN  L_HDR_DTLS_CSR(CHR_ID,'STO');
25661           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25662           CLOSE L_HDR_DTLS_CSR;
25663           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
25664           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25665           L_ERROR_MSG      := SQLERRM;
25666           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25667                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25668                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25669                                       ERROR_MSG)
25670                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25671                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25672                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR,
25673                                        L_ERROR_MSG );
25674           Eflag:=1;
25675        END;
25676 
25677        --13. Validation for PTR rule.
25678        BEGIN
25679           PAYMENT_TERM_ID      := PAYMENT_TERM_ID_CHR;
25680        EXCEPTION
25681        WHEN OTHERS THEN
25682           OPEN  L_HDR_DTLS_CSR(CHR_ID,'PTR');
25683           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25684           CLOSE L_HDR_DTLS_CSR;
25685           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
25686           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25687           L_ERROR_MSG      := SQLERRM;
25688           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25689                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25690                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25691                                       ERROR_MSG)
25692                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25693                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25694                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR,
25695                                        L_ERROR_MSG );
25696           Eflag:=1;
25697        END;
25698 
25699        --14. Validation for ERN rule.
25700        BEGIN
25701           BILLING_PROFILE_ID      := BILLING_PROFILE_ID_CHR;
25702        EXCEPTION
25703        WHEN OTHERS THEN
25704           OPEN  L_HDR_DTLS_CSR(CHR_ID,'ERN');
25705           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25706           CLOSE L_HDR_DTLS_CSR;
25707           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
25708           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25709           L_ERROR_MSG      := SQLERRM;
25710           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25711                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25712                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25713                                       ERROR_MSG)
25714                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25715                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25716                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR,
25717                                        L_ERROR_MSG );
25718           Eflag:=1;
25719        END;
25720 
25721 
25722        --15. Validation for QTO ( QUOTE_TO_CONTACT_ID )rule.
25723        BEGIN
25724           QUOTE_TO_CONTACT_ID      := QUOTE_TO_CONTACT_ID_CHR;
25725        EXCEPTION
25726        WHEN OTHERS THEN
25727           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
25728           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25729           CLOSE L_HDR_DTLS_CSR;
25730           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
25731           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25732           L_ERROR_MSG      := SQLERRM;
25733           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25734                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25735                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25736                                       ERROR_MSG)
25737                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25738                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25739                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR,
25740                                        L_ERROR_MSG );
25741           Eflag:=1;
25742        END;
25743 
25744        --16. Validation for QTO ( QUOTE_TO_SITE_ID ) rule.
25745        BEGIN
25746           QUOTE_TO_SITE_ID      := QUOTE_TO_SITE_ID_CHR;
25747        EXCEPTION
25748        WHEN OTHERS THEN
25749           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
25750           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25751           CLOSE L_HDR_DTLS_CSR;
25752           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
25753           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25754           L_ERROR_MSG      := SQLERRM;
25755           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25756                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25757                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25758                                       ERROR_MSG)
25759                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25760                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25761                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR,
25762                                        L_ERROR_MSG );
25763           Eflag:=1;
25764        END;
25765 
25766        --17. Validation for QTO ( QUOTE_TO_EMAIL_ID ) rule.
25767        BEGIN
25768           QUOTE_TO_EMAIL_ID      := QUOTE_TO_EMAIL_ID_CHR;
25769        EXCEPTION
25770        WHEN OTHERS THEN
25771           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
25772           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25773           CLOSE L_HDR_DTLS_CSR;
25774           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
25775           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25776           L_ERROR_MSG      := SQLERRM;
25777           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25778                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25779                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25780                                       ERROR_MSG)
25781                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25782                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25783                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR,
25784                                        L_ERROR_MSG );
25785           Eflag:=1;
25786        END;
25787 
25788        --18. Validation for QTO ( QUOTE_TO_PHONE_ID ) rule.
25789        BEGIN
25790           QUOTE_TO_PHONE_ID      := QUOTE_TO_PHONE_ID_CHR;
25791        EXCEPTION
25792        WHEN OTHERS THEN
25793           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
25794           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25795           CLOSE L_HDR_DTLS_CSR;
25796           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
25797           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25798           L_ERROR_MSG      := SQLERRM;
25799           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25800                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25801                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25802                                       ERROR_MSG)
25803                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25804                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25805                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR,
25806                                        L_ERROR_MSG );
25807           Eflag:=1;
25808        END;
25809 
25810        --19. Validation for QTO ( QUOTE_TO_FAX_ID ) rule.
25811        BEGIN
25812           QUOTE_TO_FAX_ID      := QUOTE_TO_FAX_ID_CHR;
25813        EXCEPTION
25814        WHEN OTHERS THEN
25815           OPEN  L_HDR_DTLS_CSR(CHR_ID,'QTO');
25816           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25817           CLOSE L_HDR_DTLS_CSR;
25818           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
25819           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25820           L_ERROR_MSG      := SQLERRM;
25821           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25822                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25823                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25824                                       ERROR_MSG)
25825                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25826                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25827                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR,
25828                                        L_ERROR_MSG );
25829           Eflag:=1;
25830        END;
25831 
25832        --20. Validation for RPT ( RENEWAL_PRICE_LIST ) rule.
25833        BEGIN
25834           RENEWAL_PRICE_LIST      := RENEWAL_PRICE_LIST_CHR;
25835        EXCEPTION
25836        WHEN OTHERS THEN
25837           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RPT');
25838           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25839           CLOSE L_HDR_DTLS_CSR;
25840           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
25841           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25842           L_ERROR_MSG      := SQLERRM;
25843           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25844                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25845                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25846                                       ERROR_MSG)
25847                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25848                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25849                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR,
25850                                        L_ERROR_MSG );
25851           Eflag:=1;
25852        END;
25853 
25854        --21. Validation for RPT ( RENEWAL_MARKUP_PERCENT ) rule.
25855        BEGIN
25856           RENEWAL_MARKUP_PERCENT      := RENEWAL_MARKUP_PERCENT_CHR;
25857        EXCEPTION
25858        WHEN OTHERS THEN
25859           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RPT');
25860           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25861           CLOSE L_HDR_DTLS_CSR;
25862           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
25863           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25864           L_ERROR_MSG      := SQLERRM;
25865           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25866                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25867                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25868                                       ERROR_MSG)
25869                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25870                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25871                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR,
25872                                        L_ERROR_MSG );
25873           Eflag:=1;
25874        END;
25875 
25876        --22. Validation for RPT ( RENEWAL_GRACE_DURATION ) rule.
25877        BEGIN
25878           RENEWAL_GRACE_DURATION      := RENEWAL_GRACE_DURATION_CHR;
25879        EXCEPTION
25880        WHEN OTHERS THEN
25881           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RPT');
25882           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25883           CLOSE L_HDR_DTLS_CSR;
25884           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
25885           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25886           L_ERROR_MSG      := SQLERRM;
25887           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25888                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25889                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25890                                       ERROR_MSG)
25891                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25892                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25893                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR,
25894                                        L_ERROR_MSG );
25895           Eflag:=1;
25896        END;
25897 
25898        --23. Validation for RER ( RENEWAL_EST_REV_PERCENT ) rule.
25899        BEGIN
25900           RENEWAL_EST_REV_PERCENT      := RENEWAL_EST_REV_PERCENT_CHR;
25901        EXCEPTION
25902        WHEN OTHERS THEN
25903           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RER');
25904           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25905           CLOSE L_HDR_DTLS_CSR;
25906           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
25907           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25908           L_ERROR_MSG      := SQLERRM;
25909           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25910                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25911                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25912                                       ERROR_MSG)
25913                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25914                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25915                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR,
25916                                        L_ERROR_MSG );
25917           Eflag:=1;
25918        END;
25919 
25920        --24. Validation for RER ( RENEWAL_EST_REV_DURATION ) rule.
25921        BEGIN
25922           RENEWAL_EST_REV_DURATION      := RENEWAL_EST_REV_DURATION_CHR;
25923        EXCEPTION
25924        WHEN OTHERS THEN
25925           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RER');
25926           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25927           CLOSE L_HDR_DTLS_CSR;
25928           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
25929           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25930           L_ERROR_MSG      := SQLERRM;
25931           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25932                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25933                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25934                                       ERROR_MSG)
25935                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25936                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25937                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR,
25938                                        L_ERROR_MSG );
25939           Eflag:=1;
25940        END;
25941 
25942        --25. Validation for RRU ( RENEWAL_PRICE_LIST_USED ) rule.
25943        BEGIN
25944           RENEWAL_PRICE_LIST_USED      := RENEWAL_PRICE_LIST_USED_CHR;
25945        EXCEPTION
25946        WHEN OTHERS THEN
25947           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
25948           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25949           CLOSE L_HDR_DTLS_CSR;
25950           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
25951           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25952           L_ERROR_MSG      := SQLERRM;
25953           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25954                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25955                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25956                                       ERROR_MSG)
25957                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25958                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25959                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR,
25960                                        L_ERROR_MSG );
25961           Eflag:=1;
25962        END;
25963 
25964        --26. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
25965        BEGIN
25966           RENEWAL_NOTIFICATION_TO      := RENEWAL_NOTIFICATION_TO_CHR;
25967        EXCEPTION
25968        WHEN OTHERS THEN
25969           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
25970           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25971           CLOSE L_HDR_DTLS_CSR;
25972           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
25973           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25974           L_ERROR_MSG      := SQLERRM;
25975           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25976                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25977                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
25978                                       ERROR_MSG)
25979                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
25980                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
25981                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR,
25982                                        L_ERROR_MSG );
25983           Eflag:=1;
25984        END;
25985 
25986        --27. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
25987        BEGIN
25988           RENEWAL_MARKUP_PERCENT_USED      := RENEWAL_MARKUP_PERCENT_USED_CH;
25989        EXCEPTION
25990        WHEN OTHERS THEN
25991           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
25992           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
25993           CLOSE L_HDR_DTLS_CSR;
25994           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
25995           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
25996           L_ERROR_MSG      := SQLERRM;
25997           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
25998                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
25999                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26000                                       ERROR_MSG)
26001                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26002                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26003                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH,
26004                                        L_ERROR_MSG );
26005           Eflag:=1;
26006        END;
26007 
26008        --28. Validation for RRU ( REV_EST_PERCENT_USED ) rule.
26009        BEGIN
26010           REV_EST_PERCENT_USED      := REV_EST_PERCENT_USED_CHR;
26011        EXCEPTION
26012        WHEN OTHERS THEN
26013           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
26014           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26015           CLOSE L_HDR_DTLS_CSR;
26016           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
26017           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26018           L_ERROR_MSG      := SQLERRM;
26019           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26020                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26021                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26022                                       ERROR_MSG)
26023                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26024                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26025                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR,
26026                                        L_ERROR_MSG );
26027           Eflag:=1;
26028        END;
26029 
26030        --29. Validation for RRU ( REV_EST_DURATION_USED ) rule.
26031        BEGIN
26032           REV_EST_DURATION_USED      := REV_EST_DURATION_USED_CHR;
26033        EXCEPTION
26034        WHEN OTHERS THEN
26035           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
26036           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26037           CLOSE L_HDR_DTLS_CSR;
26038           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
26039           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26040           L_ERROR_MSG      := SQLERRM;
26041           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26042                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26043                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26044                                       ERROR_MSG)
26045                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26046                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26047                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR,
26048                                        L_ERROR_MSG );
26049           Eflag:=1;
26050        END;
26051 
26052        --30. Validation for RRU ( BILLING_PROFILE_USED ) rule.
26053        BEGIN
26054           BILLING_PROFILE_USED      := BILLING_PROFILE_USED_CHR;
26055        EXCEPTION
26056        WHEN OTHERS THEN
26057           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
26058           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26059           CLOSE L_HDR_DTLS_CSR;
26060           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
26061           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26062           L_ERROR_MSG      := SQLERRM;
26063           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26064                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26065                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26066                                       ERROR_MSG)
26067                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26068                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26069                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR,
26070                                        L_ERROR_MSG );
26071           Eflag:=1;
26072        END;
26073 
26074        --31. Validation for RRU ( EVN_THRESHOLD_AMT ) rule.
26075        BEGIN
26076           EVN_THRESHOLD_AMT      := EVN_THRESHOLD_AMT_CHR;
26077        EXCEPTION
26078        WHEN OTHERS THEN
26079           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
26080           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26081           CLOSE L_HDR_DTLS_CSR;
26082           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
26083           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26084           L_ERROR_MSG      := SQLERRM;
26085           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26086                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26087                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26088                                       ERROR_MSG)
26089                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26090                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26091                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR,
26092                                        L_ERROR_MSG );
26093           Eflag:=1;
26094        END;
26095 
26096        --32. Validation for RRU ( ERN_THRESHOLD_AMT ) rule.
26097        BEGIN
26098           ERN_THRESHOLD_AMT      := ERN_THRESHOLD_AMT_CHR;
26099        EXCEPTION
26100        WHEN OTHERS THEN
26101           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRU');
26102           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26103           CLOSE L_HDR_DTLS_CSR;
26104           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
26105           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26106           L_ERROR_MSG      := SQLERRM;
26107           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26108                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26109                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26110                                       ERROR_MSG)
26111                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26112                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26113                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR,
26114                                        L_ERROR_MSG );
26115           Eflag:=1;
26116        END;
26117 
26118        --33. Validation for RRE ( RENEWAL_GRACE_DURATION_USED ) rule.
26119        BEGIN
26120           RENEWAL_GRACE_DURATION_USED      := RENEWAL_GRACE_DURATION_USED_CH;
26121        EXCEPTION
26122        WHEN OTHERS THEN
26123           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RRE');
26124           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26125           CLOSE L_HDR_DTLS_CSR;
26126           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
26127           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26128           L_ERROR_MSG      := SQLERRM;
26129           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26130                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26131                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26132                                       ERROR_MSG)
26133                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26134                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26135                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH,
26136                                        L_ERROR_MSG );
26137           Eflag:=1;
26138        END;
26139 
26140        --34. Validation for PRE ( PRICE_LIST_ID ) rule.
26141        BEGIN
26142           PRICE_LIST_ID      := PRICE_LIST_ID_CHR;
26143        EXCEPTION
26144        WHEN OTHERS THEN
26145           OPEN  L_HDR_DTLS_CSR(CHR_ID,'PRE');
26146           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26147           CLOSE L_HDR_DTLS_CSR;
26148           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
26149           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26150           L_ERROR_MSG      := SQLERRM;
26151           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26152                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26153                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26154                                       ERROR_MSG)
26155                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26156                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26157                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR,
26158                                        L_ERROR_MSG );
26159           Eflag:=1;
26160        END;
26161 
26162        --35. Validation for CVN ( CONVERSION_RATE ) rule.
26163        BEGIN
26164           CONVERSION_RATE      := CONVERSION_RATE_CHR;
26165        EXCEPTION
26166        WHEN OTHERS THEN
26167           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CVN');
26168           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26169           CLOSE L_HDR_DTLS_CSR;
26170           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
26171           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26172           L_ERROR_MSG      := SQLERRM;
26173           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26174                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26175                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26176                                       ERROR_MSG)
26177                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26178                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26179                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR,
26180                                        L_ERROR_MSG );
26181           Eflag:=1;
26182        END;
26183 
26184        --36. Validation for CVN ( CONVERSION_EURO_RATE ) rule.
26185        BEGIN
26186           CONVERSION_EURO_RATE      := CONVERSION_EURO_RATE_CHR;
26187        EXCEPTION
26188        WHEN OTHERS THEN
26189           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CVN');
26190           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26191           CLOSE L_HDR_DTLS_CSR;
26192           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
26193           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26194           L_ERROR_MSG      := SQLERRM;
26195           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26196                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26197                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26198                                       ERROR_MSG)
26199                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26200                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26201                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR,
26202                                        L_ERROR_MSG );
26203           Eflag:=1;
26204        END;
26205 
26206        --37. Validation for CCR ( CC_EXPIRY_DATE ) rule.
26207        BEGIN
26208           CC_EXPIRY_DATE      := to_date(CC_EXPIRY_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
26209        EXCEPTION
26210        WHEN OTHERS THEN
26211           OPEN  L_HDR_DTLS_CSR(CHR_ID,'CCR');
26212           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26213           CLOSE L_HDR_DTLS_CSR;
26214           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
26215           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26216           L_ERROR_MSG      := SQLERRM;
26217           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26218                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26219                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26220                                       ERROR_MSG)
26221                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26222                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26223                                       'CCR'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CC_EXPIRY_DATE_CHR,
26224                                        L_ERROR_MSG );
26225           Eflag:=1;
26226        END;
26227 
26228        --38. Validation for RVE ( EST_REV_DATE ) rule.
26229        BEGIN
26230           EST_REV_DATE      := to_date(EST_REV_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
26231        EXCEPTION
26232        WHEN OTHERS THEN
26233           OPEN  L_HDR_DTLS_CSR(CHR_ID,'RVE');
26234           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26235           CLOSE L_HDR_DTLS_CSR;
26236           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_DATE');
26237           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26238           L_ERROR_MSG      := SQLERRM;
26239           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26240                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26241                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26242                                       ERROR_MSG)
26243                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26244                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26245                                       'RVE'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , EST_REV_DATE_CHR,
26246                                        L_ERROR_MSG );
26247           Eflag:=1;
26248        END;
26249 
26250        --39. Validation for REN ( RENEWAL_END_DATE ) rule.
26251        BEGIN
26252           RENEWAL_END_DATE      := to_date(RENEWAL_END_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
26253        EXCEPTION
26254        WHEN OTHERS THEN
26255           OPEN  L_HDR_DTLS_CSR(CHR_ID,'REN');
26256           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26257           CLOSE L_HDR_DTLS_CSR;
26258           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_END_DATE');
26259           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26260           L_ERROR_MSG      := SQLERRM;
26261           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26262                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26263                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26264                                       ERROR_MSG)
26265                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26266                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26267                                       'REN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_END_DATE_CHR,
26268                                        L_ERROR_MSG );
26269           Eflag:=1;
26270        END;
26271 
26272        --40. Validation for REN ( CONVERSION_RATE_DATE ) rule.
26273        BEGIN
26274           CONVERSION_RATE_DATE      := to_date(CONVERSION_RATE_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
26275        EXCEPTION
26276        WHEN OTHERS THEN
26277           OPEN  L_HDR_DTLS_CSR(CHR_ID,'REN');
26278           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
26279           CLOSE L_HDR_DTLS_CSR;
26280           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE_DATE');
26281           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
26282           L_ERROR_MSG      := SQLERRM;
26283           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
26284                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
26285                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
26286                                       ERROR_MSG)
26287                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , CHR_ID,
26288                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
26289                                       'CVN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_DATE_CHR,
26290                                        L_ERROR_MSG );
26291           Eflag:=1;
26292        END;
26293 
26294 
26295 End If;
26296 
26297     -- End of code to validate data type .
26298 
26299 
26300 
26301 
26302 
26303 IF Eflag = 1 THEN
26304    Eflag :=0;
26305    FND_FILE.PUT_LINE(FND_FILE.LOG ,'Validation failed for rgp_id :'||p_id||'Major Version: '||p_major_version||
26306    ' Error Message: '||L_ERROR_MSG);
26307    Raise VAL_EXCEPTION;
26308 END IF;
26309 
26310 
26311 If iEflag = 1 THEN
26312   iEflag := 0;
26313   FND_FILE.PUT_LINE(FND_FILE.LOG ,'Insert/Update failed for rgp_id :'||p_id||'Major Version: '||p_major_version||
26314   ' Error Message: '||Emsg);
26315   Raise MAIN_EXCEPTION;
26316 End If;
26317 
26318 
26319 
26320 x_return_status:='S';
26321 
26322 
26323 
26324 EXCEPTION
26325   WHEN MAIN_EXCEPTION THEN
26326     IF ISQLCODE in (1,-1) THEN
26327       x_return_status:='S';
26328     Else
26329       x_return_status:='E';
26330       Update oks_rule_reprocess
26331       set errormsg= Emsg
26332       where rowid=prow_id;
26333     End If;
26334   WHEN VAL_EXCEPTION THEN
26335        x_return_status:='E';
26336       Update oks_rule_reprocess
26337       set errormsg=L_ERROR_MSG
26338       where rowid=prow_id;
26339    WHEN OTHERS THEN
26340 	X_RETURN_STATUS := 'E';
26341 	L_ERROR_MSG := SQLERRM;
26342         Update oks_rule_reprocess
26343         set errormsg=L_ERROR_MSG
26344         where rowid=prow_id;
26345 	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_id||'with Error Message '||L_ERROR_MSG);
26346 
26347 END REPROCESS_HDR_HIST_RULE;
26348 
26349 
26350 
26351 Procedure REPROCESS_SYNCHL_RULE (prow_id in ROWID
26352                                 ,p_id    in NUMBER
26353                                 ,p_major_version_number in NUMBER
26354                                 ,p_us_yn in BOOLEAN
26355                                 ,x_return_status OUT NOCOPY VARCHAR2 )
26356 IS
26357 
26358  CURSOR L_SYNHL_CSR ( p_id in NUMBER ) is
26359   select oks.payment_type
26360        , oks.cc_no
26361        , oks.cc_expiry_date
26362        --, oks.cc_bank_acct_id
26363        --, oks.cc_auth_code
26364        , okc.cust_po_number
26365        , okc.cust_po_number_req_yn
26366        , okc.price_list_id
26367        , okc.id
26368     from oks_k_headers_b oks
26369        , okc_k_headers_b okc
26370    where oks.chr_id = okc.id
26371      and oks.chr_id = p_id;
26372 
26373 -------------------------------------------------------
26374 -- Cursor to lock okc_k_lines_b before going for update
26375 -------------------------------------------------------
26376  CURSOR L_LOCK_LINE_CSR (p_id in number ) IS
26377  SELECT 1
26378    FROM OKC_K_LINES_B
26379   WHERE DNZ_CHR_ID = P_ID
26380     AND LSE_ID in ( 1,12,19,46)
26381     FOR UPDATE NOWAIT;
26382 
26383 
26384  l_payment_type    varchar2(2000);
26385  l_cc_no           varchar2(2000);
26386  l_cc_expiry_date  date;
26387  --l_cc_bank_acct_id number;
26388  --l_cc_auth_code    varchar2(2000);
26389  l_cust_po_number  varchar2(2000);
26390  l_cust_po_number_req_yn varchar2(10);
26391  l_price_list_id   number;
26392  l_dnz_chr_id      number;
26393  l_lock_id         number;
26394  l_error_msg       varchar2(2000);
26395 
26396  LOCK_EXCEPTION                  EXCEPTION;
26397 
26398 BEGIN
26399 
26400  DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
26401 
26402  BEGIN
26403     open l_lock_line_csr(p_id);
26404    fetch l_lock_line_csr into l_lock_id;
26405    close l_lock_line_csr;
26406  Exception
26407    When others then
26408         Raise lock_exception;
26409  END;
26410 
26411   x_return_status := 'S';
26412    open l_synhl_csr ( p_id );
26413   fetch l_synhl_csr into l_payment_type
26414                         ,l_cc_no
26415                         ,l_cc_expiry_date
26416                         --,l_cc_bank_acct_id
26417                         --,l_cc_auth_code
26418                         ,l_cust_po_number
26419                         ,l_cust_po_number_req_yn
26420                         ,l_price_list_id
26421                         ,l_dnz_chr_id ;
26422    close l_synhl_csr ;
26423 
26424      Update oks_k_lines_b oks
26425         set oks.payment_type    = l_payment_type
26426           , oks.cc_no           = l_cc_no
26427           , oks.cc_expiry_date  = l_cc_expiry_date
26428           --, oks.cc_bank_acct_id = l_cc_bank_acct_id
26429           --, oks.cc_auth_code    = l_cc_auth_code
26430           , oks.cust_po_number  = l_cust_po_number
26431           , oks.cust_po_number_req_yn = l_cust_po_number_req_yn
26432           , oks.tax_amount      = ( select oksi.tax_amount
26433                                       from oks_k_lines_b  oksi
26434                                          , okc_k_lines_b okci
26435                                      where okci.lse_id = 46
26436                                        and okci.id = oksi.cle_id
26437                                        and oksi.cle_id = oks.cle_id
26438                                        and okci.id = oks.cle_id )
26439       where oks.dnz_chr_id = p_id
26440         and exists (
26441      select 1 from okc_k_lines_b okc
26442       where okc.id = oks.cle_id
26443         and okc.lse_id in ( 1,12,19,46));
26444 
26445      Update okc_k_lines_b okc
26446         set okc.price_list_id = l_price_list_id
26447           , okc.price_negotiated = ( select sum(okci.price_negotiated)
26448                                        from okc_k_lines_b okci
26449                                       where ( okci.cle_id = okc.id OR (okci.id = okc.id and okci.lse_id = 46 )))
26450       where dnz_chr_id = p_id
26451         and lse_id in ( 1,12,19,46);
26452 Exception
26453   When LOCK_EXCEPTIOn then
26454         X_RETURN_STATUS := 'E';
26455         L_ERROR_MSG := SQLERRM;
26456         DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
26457         Update oks_rule_reprocess
26458         set errormsg=L_ERROR_MSG
26459         where rowid=prow_id;
26460         FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for LOCK  OKSSYNHL '||p_id||'with Error Message '||L_ERROR_MSG);
26461    WHEN OTHERS THEN
26462         X_RETURN_STATUS := 'E';
26463         L_ERROR_MSG := SQLERRM;
26464         DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
26465         Update oks_rule_reprocess
26466         set errormsg=L_ERROR_MSG
26467         where rowid=prow_id;
26468         FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for LOCK  OKSSYNHL '||p_id||'with Error Message '||L_ERROR_MSG);
26469 
26470 End REPROCESS_SYNCHL_RULE;
26471 
26472 
26473 Procedure REPROCESS_OKSLEVEL (prow_id in ROWID
26474                              ,p_id    in NUMBER
26475                              ,p_major_version_number in NUMBER
26476                              ,p_us_yn in BOOLEAN
26477                              ,x_return_status OUT NOCOPY VARCHAR2 )
26478 IS
26479   Type l_num_tbl is table of NUMBER index  by BINARY_INTEGER ;
26480   Type l_date_tbl is table of DATE  index  by BINARY_INTEGER ;
26481   Type l_chr_tbl is table of Varchar2(2000) index  by BINARY_INTEGER ;
26482   L_ERRM  VARCHAR2(1000);
26483 
26484 
26485  CURSOR L_LVL_CSR( p_rgp_id in number ) is
26486   SELECT RUL.ID    RUL_ID
26487        , LINES.ID  CLE_ID
26488        , LINES.DNZ_CHR_ID DNZ_CHR_ID
26489        , NVL(LINES.CLE_ID , LINES.ID ) PARENT_CLE_ID
26490     FROM OKC_RULES_B RUL
26491        , OKC_K_LINES_B LINES
26492        , OKC_RULE_GROUPS_B RGP
26493    WHERE RUL.RULE_INFORMATION_CATEGORY = 'SLL'
26494      AND RUL.RGP_ID = RGP.ID
26495      AND RGP.DNZ_CHR_ID = LINES.DNZ_CHR_ID
26496      AND RGP.CLE_ID = LINES.ID
26497      AND RGP.CLE_ID IS NOT NULL
26498      AND RGP.ID = P_RGP_ID;
26499 
26500   CLE_IDI        L_NUM_TBL;
26501   DNZ_CHR_IDI    L_NUM_TBL;
26502   PARENT_CLE_IDI L_NUM_TBL;
26503   RUL_IDI        L_NUM_TBL;
26504   L_ERROR_MSG    VARCHAr2(2000);
26505 
26506 Begin
26507   x_return_status := 'S';
26508   OPEN  L_LVL_CSR (P_ID );
26509   FETCH L_LVL_CSR BULK COLLECT INTO  RUL_IDI
26510                                     ,CLE_IDI
26511                                     ,DNZ_CHR_IDI
26512                                     ,PARENT_CLE_IDI;
26513   CLOSE L_LVL_CSR;
26514 
26515   IF RUL_IDI.COUNT > 0 THEN
26516     FORALL I IN RUL_IDI.FIRST..RUL_IDI.LAST
26517       UPDATE OKS_LEVEL_ELEMENTS
26518          SET CLE_ID = CLE_IDI(I)
26519            , DNZ_CHR_ID = DNZ_CHR_IDI(I)
26520            , PARENT_CLE_ID = PARENT_CLE_IDI(I)
26521        WHERE RUL_ID = RUL_IDI(I);
26522   END IF;
26523 
26524   Exception
26525      When others then
26526         X_RETURN_STATUS := 'E';
26527         L_ERROR_MSG := SQLERRM;
26528         DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
26529         Update oks_rule_reprocess
26530         set errormsg=L_ERROR_MSG
26531         where rowid=prow_id;
26532         FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for Reprocess of OKSLEVEL '||p_id||'with Error Message '||L_ERROR_MSG);
26533 
26534 
26535 
26536 
26537 End REPROCESS_OKSLEVEL ;
26538 
26539 Procedure REPROCESS_LINE_HIST_RULE(prow_id  in ROWID ,
26540                                    p_id     in NUMBER ,
26541 			           p_major_version   in NUMBER ,
26542 			           p_us_yn           in BOOLEAN,
26543                                    x_return_status   OUT NOCOPY  VARCHAR2)
26544 IS
26545 
26546 CLE_ID                          NUMBER ;
26547 DNZ_CHR_ID                      NUMBER ;
26548 DISCOUNT_LIST                   NUMBER ;  --DST
26549 ACCT_RULE_ID                    NUMBER ;  --ARL
26550 PAYMENT_TYPE                    VARCHAR2(2000) ;  --CCR
26551 CC_NO                           VARCHAR2(2000) ;  --CCR
26552 CC_EXPIRY_DATE			DATE ; --CCR
26553 CC_BANK_ACCT_ID			NUMBER ;  --CCR
26554 CC_AUTH_CODE			VARCHAR2(2000) ;  --CCR
26555 GRACE_DURATION			NUMBER ;  --GPR
26556 GRACE_PERIOD			VARCHAR2(2000) ;  --GPR
26557 l_INVOICE_TEXT			VARCHAR2(2000) ;  --IRT
26558 INV_PRINT_FLAG			VARCHAR2(2000) ;  --IRT
26559 PRICE_UOM			VARCHAR2(2000) ;  --IRT
26560 TAX_AMOUNT			NUMBER ;  --IRT
26561 TAX_INCLUSIVE_YN		VARCHAR2(2000) ;  --IRT
26562 TAX_STATUS			VARCHAR2(2000) ;  --TAX
26563 TAX_CODE			NUMBER ;  --TAX
26564 TAX_EXEMPTION_ID		NUMBER ;  --TAX
26565 IB_TRANS_TYPE			VARCHAR2(2000) ;  --IBR
26566 IB_TRANS_DATE			DATE ; --IBR
26567 l_IB_TRX_DETAILS			VARCHAR2(2000) ;  --IBR
26568 CLVL_LIST_PRICE			NUMBER ;  --PDL
26569 CLVL_QUANTITY			NUMBER ;  --PDL
26570 CLVL_EXTENDED_AMT		NUMBER ;  --PDL
26571 TOPLVL_OPERAND_CODE		VARCHAR2(2000) ;  --PDL
26572 TOPLVL_OPERAND_VAL		NUMBER ;  --PDL
26573 CLVL_UOM_CODE			VARCHAR2(2000) ;  --PDL
26574 TOPLVL_QUANTITY			NUMBER ;  --PDL
26575 TOPLVL_UOM_CODE			VARCHAR2(2000) ;  --PDL
26576 TOPLVL_ADJ_PRICE		NUMBER ;  --PDL
26577 TOPLVL_PRICE_QTY		NUMBER ;  --PDL
26578 l_STATUS_TEXT			VARCHAR2(2000) ;  --PDL
26579 AVERAGING_INTERVAL		NUMBER ;  --QRE
26580 USAGE_PERIOD			VARCHAR2(2000) ;  --QRE
26581 SETTLEMENT_INTERVAL		VARCHAR2(2000) ;  --QRE
26582 MINIMUM_QUANTITY		NUMBER ;  --QRE
26583 DEFAULT_QUANTITY		NUMBER ;  --QRE
26584 AMCV_FLAG			VARCHAR2(2000) ;  --QRE
26585 FIXED_QUANTITY			NUMBER ;  --QRE
26586 USAGE_DURATION			NUMBER ;  --QRE
26587 LEVEL_YN			VARCHAR2(2000) ;  --QRE
26588 USAGE_TYPE			VARCHAR2(2000) ;  --QRE
26589 UOM_QUANTIFIED			VARCHAR2(2000) ;  --QRE
26590 BASE_READING			NUMBER ;  --QRE
26591 USAGE_EST_METHOD		VARCHAR2(2000) ;  --QRE
26592 BILLING_SCHEDULE_TYPE		VARCHAR2(2000) ;  --SLH
26593 CUST_ACCT_ID			NUMBER ;  --CAN (OKC)
26594 BILL_TO_SITE_USE_ID		NUMBER ;  --BTO (OKC)
26595 INV_RULE_ID			NUMBER ;  --IRE (OKC)
26596 L_LINE_RENEWAL_TYPE_CODE		VARCHAR2(2000) ;  --REN (OKC)
26597 SHIP_TO_SITE_USE_ID		NUMBER ;  --STO (OKC)
26598 PAYMENT_TERM_ID			NUMBER ;  --PTR (OKC)
26599 LINE_LIST_PRICE                 NUMBER ;  --PDL rule_info4 (OKC)
26600 
26601 -- FOLLOWING ARE NUMBER FIELDS --
26602 DISCOUNT_LIST_CHR               VARCHAR2(2000) ;  --DST
26603 ACCT_RULE_ID_CHR                VARCHAR2(2000) ;  --ARL
26604 CC_BANK_ACCT_ID_CHR		VARCHAR2(2000) ;  --CCR
26605 GRACE_DURATION_CHR		VARCHAR2(2000) ;  --GPR
26606 TAX_AMOUNT_CHR   		VARCHAR2(2000) ;  --IRT
26607 TAX_CODE_CHR    		VARCHAR2(2000) ;  --TAX
26608 TAX_EXEMPTION_ID_CHR		VARCHAR2(2000) ;  --TAX
26609 CLVL_LIST_PRICE_CHR		VARCHAR2(2000) ;  --PDL
26610 CLVL_QUANTITY_CHR		VARCHAR2(2000) ;  --PDL
26611 CLVL_EXTENDED_AMT_CHR   	VARCHAR2(2000) ;  --PDL
26612 TOPLVL_OPERAND_VAL_CHR		VARCHAR2(2000) ;  --PDL
26613 TOPLVL_QUANTITY_CHR		VARCHAR2(2000) ;  --PDL
26614 TOPLVL_ADJ_PRICE_CHR		VARCHAR2(2000) ;  --PDL
26615 TOPLVL_PRICE_QTY_CHR		VARCHAR2(2000) ;  --PDL
26616 AVERAGING_INTERVAL_CHR		VARCHAR2(2000) ;  --QRE
26617 MINIMUM_QUANTITY_CHR		VARCHAR2(2000) ;  --QRE
26618 DEFAULT_QUANTITY_CHR		VARCHAR2(2000) ;  --QRE
26619 FIXED_QUANTITY_CHR		VARCHAR2(2000) ;  --QRE
26620 USAGE_DURATION_CHR		VARCHAR2(2000) ;  --QRE
26621 BASE_READING_CHR		VARCHAR2(2000) ;  --QRE
26622 CUST_ACCT_ID_CHR		VARCHAR2(2000) ;  --CAN (OKC)
26623 BILL_TO_SITE_USE_ID_CHR		VARCHAR2(2000) ;  --BTO (OKC)
26624 INV_RULE_ID_CHR			VARCHAR2(2000) ;  --IRE (OKC)
26625 SHIP_TO_SITE_USE_ID_CHR		VARCHAR2(2000) ;  --STO (OKC)
26626 PAYMENT_TERM_ID_CHR		VARCHAR2(2000) ;  --PTR (OKC)
26627 LINE_LIST_PRICE_CHR             VARCHAR2(2000) ;  --PDL rule_info4 (OKC)
26628 ------------------------------------------------------------
26629     EXCEPTION_COV_ID_CHR        Varchar2(2000);
26630     PM_PROGRAM_ID_CHR             Varchar2(2000);
26631     PRICE_LIST_ID_CHR              Varchar2(2000);
26632     RCN_INCIDENT_SEVERITY_ID_CHR       Varchar2(2000);
26633     RCN_PDF_ID_CHR                    Varchar2(2000);
26634     RSN_INCIDENT_SEVERITY_ID_CHR      Varchar2(2000);
26635     RSN_PDF_ID_CHR                     Varchar2(2000);
26636     DISCOUNT_PERCENT_CHR        Varchar2(2000);
26637     DISCOUNT_AMOUNT_CHR         Varchar2(2000);
26638  -------------------------------------------------------------
26639     EXCEPTION_COV_ID        Number ;
26640     L_INHERITANCE_TYPE        Varchar2(2000);
26641     Prod_Upgrade_YN_CHR         Varchar2(2000);
26642     Coverage_Type_CHR           Varchar2(2000);
26643     TRANSFER_OPTION_CHR         Varchar2(2000);
26644     PM_PROGRAM_ID           Number ;
26645     PM_CONF_REQ_YN_CHR          Varchar2(2000);
26646     PM_SCH_EXISTS_YN_CHR        Varchar2(2000);
26647     ALLOW_BT_DISCOUNT_CHR       Varchar2(2000);
26648     l_OFFSET_DURATION         Varchar2(2000);
26649     PRICE_LIST_ID           Number ;
26650     RCN_INCIDENT_SEVERITY_ID    Number ;
26651     RCN_PDF_ID                  Number ;
26652     RCN_REACT_TIME_NAME         Varchar2(2000);
26653     RCN_WORK_THRU_YN            Varchar2(2000);
26654     RCN_REACT_ACTIVE_YN         Varchar2(2000);
26655     RSN_INCIDENT_SEVERITY_ID    Number ;
26656     RSN_PDF_ID                  Number ;
26657     RSN_REACT_TIME_NAME         Varchar2(2000);
26658     RSN_WORK_THRU_YN            Varchar2(2000);
26659     RSN_REACT_ACTIVE_YN         Varchar2(2000);
26660     l_LIMIT_UOM_QUANTIFIED    Varchar2(2000);
26661     DISCOUNT_AMOUNT         Number;
26662     DISCOUNT_PERCENT        Number;
26663     l_Sync_Date_Install       Varchar2(2000);
26664 
26665 -------------------------------------------------------------
26666 
26667 
26668 
26669 -- FOLLOWING ARE DATE FIELDS --
26670 CC_EXPIRY_DATE_CHR		VARCHAR2(2000) ; --CCR
26671 IB_TRANS_DATE_CHR		VARCHAR2(2000) ; --IBR
26672 
26673 --Misc Variables --
26674 L_ATTRIBUTE_NAME              VARCHAR2(2000);
26675 L_ERROR_MSG                   VARCHAR2(2000);
26676 
26677 MAIN_EXCEPTION               EXCEPTION;
26678 VAL_EXCEPTION               EXCEPTION;
26679 Eflag                        NUMBER;
26680 Emsg                         VARCHAR2(2000);
26681 iEflag                       NUMBER:=0;
26682 l_upd_cle_id                 NUMBER;
26683 ISQLCODE                     NUMBER;
26684 l_cle_id                     NUMBER;
26685 
26686 -------------------------------------------------------------------------------
26687 -- The following is the cursor opened if p_us_yn is true  --
26688 -------------------------------------------------------------------------------
26689 CURSOR l_line_rule_csr (p_id in NUMBER)is
26690 SELECT  RGP.CLE_id cle_id
26691        ,RGP.dnz_chr_id dnz_chr_id
26692    -------  Character to number conversion -- No translation needed ,checked in gsidev
26693        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
26694        --              '!,.','!')                                                          DISCOUNT_LIST
26695        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1))                DISCOUNT_LIST
26696 
26697        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                ACCT_RULE_ID
26698        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                          PAYMENT_TYPE
26699        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))          CC_NO
26700        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
26701             to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       CC_EXPIRY_DATE
26702        -------  Character to number conversion -- No translation needed ,checked in gsidev
26703        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
26704        --              '!,.','!')                                                          CC_BANK_ACCT_ID
26705        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))          CC_BANK_ACCT_ID
26706        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))          CC_AUTH_CODE
26707        -------  Character to number conversion -- No translation needed ,checked in gsidev
26708        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
26709        --              '!,.','!')                                                          GRACE_DURATION
26710        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))          GRACE_DURATION
26711        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))          GRACE_PERIOD
26712        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION1))          INVOICE_TEXT
26713        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION2))          INV_PRINT_FLAG
26714        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION3))          PRICE_UOM
26715         -------  Character to number conversion -- This column needs translation --checked in gsidev
26716        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
26717                      '!,','!')                                                             TAX_AMOUNT
26718        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION5))          TAX_INCLUSIVE_YN
26719        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))          TAX_STATUS
26720        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
26721                      '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!')       TAX_CODE
26722        -------  Character to number conversion -- No translation needed ,checked in gsidev
26723        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
26724        --              '!,.','!')                                                          TAX_EXEMPTION_ID
26725        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                TAX_EXEMPTION_ID
26726        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION1))          IB_TRANS_TYPE
26727        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,
26728             TO_DATE(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       IB_TRANS_DATE
26729        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION3))          IB_TRX_DETAILS
26730         -------  Character to number conversion -- This column needs translation --checked in gsidev
26731        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
26732                      '!,','!')                                                             CLVL_LIST_PRICE
26733        -------  Character to number conversion -- No translation needed ,checked in gsidev
26734        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
26735        --              '!,.','!')                                                          CLVL_QUANTITY
26736        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2))          CLVL_QUANTITY
26737        -------  Character to number conversion -- This column needs translation --checked in gsidev
26738        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
26739                      '!,','!')                                                             CLVL_EXTENDED_AMT
26740        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
26741                      '!,','!')                                                             LINE_LIST_PRICE
26742        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION5))          TOPLVL_OPERAND_CODE
26743         -------  Character to number conversion -- This column needs translation --checked in gsidev
26744        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
26745                      '!,','!')                                                             TOPLVL_OPERAND_VAL
26746        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION7))          CLVL_UOM_CODE
26747        -------  Character to number conversion -- No translation needed ,checked in gsidev
26748        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
26749        --              '!,.','!')                                                          TOPLVL_QUANTITY
26750        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8))          TOPLVL_QUANTITY
26751        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION9))          TOPLVL_UOM_CODE
26752        -------  Character to number conversion -- This column needs translation --checked in gsidev
26753        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
26754                      '!,','!')                                                             TOPLVL_ADJ_PRICE
26755        -------  Character to number conversion -- This column needs translation --checked in gsidev
26756        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
26757                      '!,','!')                                                             TOPLVL_PRICE_QTY
26758        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION12)) STATUS_TEXT
26759        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  QRE.
26760        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
26761        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
26762        --              '!,.','!')                                                           AVERAGING_INTERVAL
26763        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1))           AVERAGING_INTERVAL
26764        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION2))           USAGE_PERIOD
26765        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION3))           SETTLEMENT_INTERVAL
26766        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
26767        --              '!,.','!')                                                           MINIMUM_QUANTITY
26768        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4))           MINIMUM_QUANTITY
26769        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
26770        --              '!,.','!')                                                           DEFAULT_QUANTITY
26771        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5))           DEFAULT_QUANTITY
26772        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION6))           AMCV_FLAG
26773        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
26774        --              '!,.','!')                                                           FIXED_QUANTITY
26775        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7))               FIXED_QUANTITY
26776        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
26777        --              '!,.','!')       USAGE_DURATION
26778        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8))           USAGE_DURATION
26779        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION9))           LEVEL_YN
26780        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION10))          USAGE_TYPE
26781        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION11))          UOM_QUANTIFIED
26782        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
26783        --              '!,.','!')       BASE_READING
26784        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12))          BASE_READING
26785        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,DECODE(RUL.RULE_INFORMATION6,'Y','AMCV'))) USAGE_EST_METHOD
26786        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
26787        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
26788                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) ) BILLING_SCHEDULE_TYPE
26789        -------  Character to number conversion -- No translation needed ,checked in gsidev
26790        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
26791        --              '!,.','!')                                                           CUST_ACCT_ID           --OKC
26792        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                 CUST_ACCT_ID           --OKC
26793        -------  Character to number conversion -- No translation needed ,checked in gsidev
26794        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
26795        --              '!,.','!')                                                           BILL_TO_SITE_USE_ID    --OKC
26796        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                 BILL_TO_SITE_USE_ID    --OKC
26797        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                 INV_RULE_ID            --OKC
26798        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LRT' ,RUL.RULE_INFORMATION1))           LINE_RENEWAL_TYPE_CODE --OKC
26799        -------  Character to number conversion -- No translation needed ,checked in gsidev
26800        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
26801        --              '!,.','!')                                                           SHIP_TO_SITE_USE_ID    --OKC
26802        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                 SHIP_TO_SITE_USE_ID    --OKC
26803        -------  Character to number conversion -- No translation needed ,checked in gsidev
26804        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
26805        --              '!,.','!')                                                           PAYMENT_TERM_ID        --OKC
26806        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                 PAYMENT_TERM_ID        --OKC
26807        ----- For Coverages
26808        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1))             EXCEPTION_COV_ID
26809        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'WHE',RUL.RULE_INFORMATION1))             INHERITANCE_TYPE
26810        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'UGE',RUL.RULE_INFORMATION1))             PROD_UPGRADE_YN
26811        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'CVE',RUL.RULE_INFORMATION1))             COVERAGE_TYPE
26812        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'STR',decode(RUL.RULE_INFORMATION1,'Y','TRANS','TERM'))) TRANSFER_OPTION
26813        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1))                   PM_PROGRAM_ID
26814        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION1))             PM_CONF_REQ_YN
26815        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION2))             PM_SCH_EXISTS_YN
26816        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'DST',RUL.OBJECT1_ID1))                 DISCOUNT_LIST
26817        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD',DECODE(LINE.LSE_ID ,16,'Y',RUL.RULE_INFORMATION1))) ALLOW_BT_DISCOUNT
26818        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD','Y'))ALLOW_BT_DISCOUNT
26819        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'OFS',RUL.RULE_INFORMATION1))OFFSET_DURATION
26820        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1))                   PRICE_LIST_ID
26821        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))                   RCN_INCIDENT_SEVERITY_ID
26822        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))             RCN_PDF_ID
26823        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))             RCN_REACT_TIME_NAME
26824        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))             RCN_WORK_THRU_YN
26825        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))             RCN_REACT_ACTIVE_YN
26826        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))             RSN_REACT_TIME_NAME
26827        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1))             LIMIT_UOM_QUANTIFIED
26828        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  LMT.
26829        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
26830        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2)),
26831        --              '!,','!')                                                           DISCOUNT_AMOUNT
26832        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2))             DISCOUNT_AMOUNT
26833        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4)),
26834        --              '!%,','!')                                                          DISCOUNT_PERCENT
26835        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4))             DISCOUNT_PERCENT
26836        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT','N'))Sync_Date_Install
26837 
26838   FROM OKC_RULE_GROUPS_BH RGP
26839      , OKC_RULES_BH RUL
26840  WHERE RGP.ID  = RUL.RGP_ID
26841    and rul.major_version=rgp.major_version
26842    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
26843    'ECE','WHE','UGE','STR','CVE','PMP','BTD','RCN','RSN','LMT','OFS','PRE','CVR')
26844    AND RGP.CLE_ID IS NOT NULL
26845    AND RGP.RGD_CODE = 'SVC_K'
26846    AND RGP.id = p_id
26847    AND RGP.major_version = p_major_version
26848 GROUP BY RGP.CLE_id,RGP.dnz_chr_id;
26849 
26850 -------------------------------------------------------------------------------
26851 -- The following is the cursor opened if p_us_yn is false  --
26852 -------------------------------------------------------------------------------
26853 CURSOR l_line_rule_csr_nus (p_id in NUMBER)is
26854 SELECT  RGP.CLE_id cle_id
26855        ,RGP.dnz_chr_id dnz_chr_id
26856    -------  Character to number conversion -- No translation needed ,checked in gsidev
26857        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
26858        --              '!,. ','!')                                                          DISCOUNT_LIST
26859        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1))                DISCOUNT_LIST
26860 
26861        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                ACCT_RULE_ID
26862        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                          PAYMENT_TYPE
26863        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))          CC_NO
26864        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
26865             to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       CC_EXPIRY_DATE
26866        -------  Character to number conversion -- No translation needed ,checked in gsidev
26867        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
26868        --              '!,. ','!')                                                          CC_BANK_ACCT_ID
26869        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))          CC_BANK_ACCT_ID
26870        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))          CC_AUTH_CODE
26871        -------  Character to number conversion -- No translation needed ,checked in gsidev
26872        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
26873        --              '!,. ','!')                                                          GRACE_DURATION
26874        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))          GRACE_DURATION
26875        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))          GRACE_PERIOD
26876        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION1))          INVOICE_TEXT
26877        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION2))          INV_PRINT_FLAG
26878        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION3))          PRICE_UOM
26879         -------  Character to number conversion -- This column needs translation --checked in gsidev
26880        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
26881                      '!. ','!')                                                             TAX_AMOUNT
26882        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION5))          TAX_INCLUSIVE_YN
26883        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))          TAX_STATUS
26884        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
26885                      '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')       TAX_CODE
26886        -------  Character to number conversion -- No translation needed ,checked in gsidev
26887        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
26888        --              '!,. ','!')                                                          TAX_EXEMPTION_ID
26889        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                TAX_EXEMPTION_ID
26890        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION1))          IB_TRANS_TYPE
26891        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,
26892             TO_DATE(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       IB_TRANS_DATE
26893        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION3))          IB_TRX_DETAILS
26894         -------  Character to number conversion -- This column needs translation --checked in gsidev
26895        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
26896                      '!. ','!')                                                             CLVL_LIST_PRICE
26897        -------  Character to number conversion -- No translation needed ,checked in gsidev
26898        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
26899        --              '!,. ','!')                                                          CLVL_QUANTITY
26900        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2))          CLVL_QUANTITY
26901        -------  Character to number conversion -- This column needs translation --checked in gsidev
26902        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
26903                      '!. ','!')                                                             CLVL_EXTENDED_AMT
26904        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
26905                      '!. ','!')                                                             LINE_LIST_PRICE
26906        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION5))          TOPLVL_OPERAND_CODE
26907         -------  Character to number conversion -- This column needs translation --checked in gsidev
26908        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
26909                      '!. ','!')                                                             TOPLVL_OPERAND_VAL
26910        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION7))          CLVL_UOM_CODE
26911        -------  Character to number conversion -- No translation needed ,checked in gsidev
26912        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
26913        --              '!,. ','!')                                                          TOPLVL_QUANTITY
26914        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8))          TOPLVL_QUANTITY
26915        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION9))          TOPLVL_UOM_CODE
26916        -------  Character to number conversion -- This column needs translation --checked in gsidev
26917        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
26918                      '!. ','!')                                                             TOPLVL_ADJ_PRICE
26919        -------  Character to number conversion -- This column needs translation --checked in gsidev
26920        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
26921                      '!. ','!')                                                             TOPLVL_PRICE_QTY
26922        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION12)) STATUS_TEXT
26923        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  QRE.
26924        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
26925        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
26926        --              '!,. ','!')                                                           AVERAGING_INTERVAL
26927        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1))           AVERAGING_INTERVAL
26928        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION2))           USAGE_PERIOD
26929        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION3))           SETTLEMENT_INTERVAL
26930        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
26931        --              '!,. ','!')                                                           MINIMUM_QUANTITY
26932        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4))           MINIMUM_QUANTITY
26933        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
26934        --              '!,. ','!')                                                           DEFAULT_QUANTITY
26935        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5))           DEFAULT_QUANTITY
26936        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION6))           AMCV_FLAG
26937        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
26938        --              '!,. ','!')                                                           FIXED_QUANTITY
26939        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7))               FIXED_QUANTITY
26940        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
26941        --              '!,. ','!')       USAGE_DURATION
26942        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8))           USAGE_DURATION
26943        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION9))           LEVEL_YN
26944        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION10))          USAGE_TYPE
26945        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION11))          UOM_QUANTIFIED
26946        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
26947        --              '!,. ','!')       BASE_READING
26948        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12))          BASE_READING
26949        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,DECODE(RUL.RULE_INFORMATION6,'Y','AMCV'))) USAGE_EST_METHOD
26950        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
26951        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
26952                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) ) BILLING_SCHEDULE_TYPE
26953        -------  Character to number conversion -- No translation needed ,checked in gsidev
26954        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
26955        --              '!,. ','!')                                                           CUST_ACCT_ID           --OKC
26956        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                 CUST_ACCT_ID           --OKC
26957        -------  Character to number conversion -- No translation needed ,checked in gsidev
26958        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
26959        --              '!,. ','!')                                                           BILL_TO_SITE_USE_ID    --OKC
26960        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                 BILL_TO_SITE_USE_ID    --OKC
26961        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                 INV_RULE_ID            --OKC
26962        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LRT' ,RUL.RULE_INFORMATION1))           LINE_RENEWAL_TYPE_CODE --OKC
26963        -------  Character to number conversion -- No translation needed ,checked in gsidev
26964        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
26965        --              '!,. ','!')                                                           SHIP_TO_SITE_USE_ID    --OKC
26966        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                 SHIP_TO_SITE_USE_ID    --OKC
26967        -------  Character to number conversion -- No translation needed ,checked in gsidev
26968        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
26969        --              '!,. ','!')                                                           PAYMENT_TERM_ID        --OKC
26970        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                 PAYMENT_TERM_ID        --OKC
26971        ----- For Coverages
26972        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1))             EXCEPTION_COV_ID
26973        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'WHE',RUL.RULE_INFORMATION1))             INHERITANCE_TYPE
26974        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'UGE',RUL.RULE_INFORMATION1))             PROD_UPGRADE_YN
26975        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'CVE',RUL.RULE_INFORMATION1))             COVERAGE_TYPE
26976        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'STR',decode(RUL.RULE_INFORMATION1,'Y','TRANS','TERM'))) TRANSFER_OPTION
26977        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1))                   PM_PROGRAM_ID
26978        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION1))             PM_CONF_REQ_YN
26979        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION2))             PM_SCH_EXISTS_YN
26980        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'DST',RUL.OBJECT1_ID1))                 DISCOUNT_LIST
26981        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD',DECODE(LINE.LSE_ID ,16,'Y',RUL.RULE_INFORMATION1))) ALLOW_BT_DISCOUNT
26982        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD','Y'))ALLOW_BT_DISCOUNT
26983        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'OFS',RUL.RULE_INFORMATION1))OFFSET_DURATION
26984        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1))                   PRICE_LIST_ID
26985        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))                   RCN_INCIDENT_SEVERITY_ID
26986        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))             RCN_PDF_ID
26987        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))             RCN_REACT_TIME_NAME
26988        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))             RCN_WORK_THRU_YN
26989        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))             RCN_REACT_ACTIVE_YN
26990        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))             RSN_REACT_TIME_NAME
26991        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1))             LIMIT_UOM_QUANTIFIED
26992        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  LMT.
26993        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
26994        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2)),
26995        --              '!. ','!')                                                           DISCOUNT_AMOUNT
26996        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2))             DISCOUNT_AMOUNT
26997        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4)),
26998        --              '!%. ','!')                                                          DISCOUNT_PERCENT
26999        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4))             DISCOUNT_PERCENT
27000        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT','N'))Sync_Date_Install
27001   FROM OKC_RULE_GROUPS_BH RGP
27002      , OKC_RULES_BH RUL
27003  WHERE RGP.ID  = RUL.RGP_ID
27004    and rul.major_version=rgp.major_version
27005    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
27006    'ECE','WHE','UGE','STR','CVE','PMP','BTD','RCN','RSN','LMT','OFS','PRE','CVR')
27007    AND RGP.CLE_ID IS NOT NULL
27008    AND RGP.RGD_CODE = 'SVC_K'
27009    AND RGP.id = p_id
27010    AND RGP.major_version = p_major_version
27011 GROUP BY RGP.CLE_id,RGP.dnz_chr_id;
27012 
27013 
27014 
27015 
27016  ----------------------------------------------------------------------------
27017 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
27018 ----------------------------------------------------------------------------
27019 CURSOR L_LINE_DTLS_CSR (P_CLE_ID  IN NUMBER ,P_HDR_ID IN NUMBER, P_CATEGORY IN VARCHAR2 ) IS
27020 SELECT HDR.CONTRACT_NUMBER
27021      , HDR.CONTRACT_NUMBER_MODIFIER
27022      , LIN.LINE_NUMBER
27023      , RUL.MAJOR_VERSION
27024      , RUL.ID
27025      , RGP.ID RGP_ID
27026  FROM  OKC_K_HEADERS_BH HDR
27027      , OKC_RULE_GROUPS_BH RGP
27028      , OKC_RULES_BH RUL
27029      , OKC_K_LINES_BH LIN
27030 WHERE HDR.ID = P_HDR_ID
27031   AND LIN.ID= P_CLE_ID
27032   AND RGP.DNZ_CHR_ID = P_HDR_ID
27033   AND RGP.CLE_ID = LIN.ID
27034   AND RGP.ID = RUL.RGP_ID
27035   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
27036   AND hdr.major_version=rgp.major_version
27037   AND LIN.major_version=rgp.major_version
27038   AND rgp.major_version=rul.major_version
27039   and rul.major_version=p_major_version
27040   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
27041 
27042  L_LINE_DTLS_REC L_LINE_DTLS_CSR%ROWTYPE;
27043  L_USERENV_LANG               VARCHAR2(100) := OKC_UTIL.get_userenv_lang ;
27044 ----------------------------------------------------------------------------
27045 --Cursor to check whether the record exists in OKC_RULE_GROUPS_BH table.
27046 ----------------------------------------------------------------------------
27047 CURSOR L_CHECK_RGP_CSR ( P_ID IN NUMBER , P_MAJOR_VERSION IN NUMBER ) IS
27048 SELECT CLE_ID,DNZ_CHR_ID
27049   FROM OKC_RULE_GROUPS_BH
27050  WHERE ID = P_ID
27051    AND MAJOR_VERSION = P_MAJOR_VERSION;
27052 ----------------------------------------------------------------------------
27053 
27054 
27055 BEGIN
27056  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
27057  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Line History Rule Data Reprocessing--------');
27058  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
27059 
27060 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
27061 
27062 
27063 if(p_us_yn) THEN
27064     OPEN l_line_rule_csr(p_id);
27065     FETCH l_line_rule_csr into
27066                          CLE_ID
27067                         ,DNZ_CHR_ID
27068                         ,DISCOUNT_LIST_CHR
27069                         ,ACCT_RULE_ID_CHR
27070                         ,PAYMENT_TYPE
27071                         ,CC_NO
27072                         ,CC_EXPIRY_DATE_CHR
27073                         ,CC_BANK_ACCT_ID_CHR
27074                         ,CC_AUTH_CODE
27075                         ,GRACE_DURATION_CHR
27076                         ,GRACE_PERIOD
27077                         ,l_INVOICE_TEXT
27078                         ,INV_PRINT_FLAG
27079                         ,PRICE_UOM
27080                         ,TAX_AMOUNT_CHR
27081                         ,TAX_INCLUSIVE_YN
27082                         ,TAX_STATUS
27083                         ,TAX_CODE_CHR
27084                         ,TAX_EXEMPTION_ID_CHR
27085                         ,IB_TRANS_TYPE
27086                         ,IB_TRANS_DATE_CHR
27087                         ,l_IB_TRX_DETAILS
27088                         --,PROD_PRICE
27089                         --,SERVICE_PRICE
27090                         ,CLVL_LIST_PRICE_CHR
27091                         ,CLVL_QUANTITY_CHR
27092                         ,CLVL_EXTENDED_AMT_CHR
27093                         ,LINE_LIST_PRICE_CHR
27094                         ,TOPLVL_OPERAND_CODE
27095                         ,TOPLVL_OPERAND_VAL_CHR
27096                         ,CLVL_UOM_CODE
27097                         ,TOPLVL_QUANTITY_CHR
27098                         ,TOPLVL_UOM_CODE
27099                         ,TOPLVL_ADJ_PRICE_CHR
27100                         ,TOPLVL_PRICE_QTY_CHR
27101                         ,l_STATUS_TEXT
27102                         ,AVERAGING_INTERVAL_CHR
27103                         ,USAGE_PERIOD
27104                         ,SETTLEMENT_INTERVAL
27105                         ,MINIMUM_QUANTITY_CHR
27106                         ,DEFAULT_QUANTITY_CHR
27107                         ,AMCV_FLAG
27108                         ,FIXED_QUANTITY_CHR
27109                         ,USAGE_DURATION_CHR
27110                         ,LEVEL_YN
27111                         ,USAGE_TYPE
27112                         ,UOM_QUANTIFIED
27113                         ,BASE_READING_CHR
27114                         ,USAGE_EST_METHOD
27115                         ,BILLING_SCHEDULE_TYPE
27116                         ,CUST_ACCT_ID_CHR           --OKC
27117                         ,BILL_TO_SITE_USE_ID_CHR    --OKC
27118                         ,INV_RULE_ID_CHR            --OKC
27119                         ,L_LINE_RENEWAL_TYPE_CODE     --OKC
27120                         ,SHIP_TO_SITE_USE_ID_CHR    --OKC
27121                         ,PAYMENT_TERM_ID_CHR       --OKC
27122 -------------------------------------------------------------------------------
27123 		  , EXCEPTION_COV_ID_CHR,
27124 		    l_INHERITANCE_TYPE,
27125 		    Prod_Upgrade_YN_CHR,
27126 		    Coverage_Type_CHR,
27127 		    TRANSFER_OPTION_CHR,
27128 		    PM_PROGRAM_ID_CHR,
27129 		    PM_CONF_REQ_YN_CHR,
27130 		    PM_SCH_EXISTS_YN_CHR,
27131 		    --DISCOUNT_LIST,
27132 		    ALLOW_BT_DISCOUNT_CHR,
27133 		    l_OFFSET_DURATION,
27134 		    --OFFSET_PERIOD,
27135 		    PRICE_LIST_ID_CHR,
27136 		    RCN_INCIDENT_SEVERITY_ID_CHR,
27137 		    RCN_PDF_ID_CHR,
27138 		    RCN_REACT_TIME_NAME,
27139 		    RCN_WORK_THRU_YN,
27140 		    RCN_REACT_ACTIVE_YN,
27141 		    RSN_REACT_TIME_NAME,
27142 		    l_LIMIT_UOM_QUANTIFIED,
27143 		    DISCOUNT_AMOUNT_CHR,
27144 		    DISCOUNT_PERCENT_CHR,
27145 		    l_Sync_Date_Install;
27146 		-------------------------------------------------------------------------------
27147 
27148       Close l_line_rule_csr;
27149 else
27150     OPEN l_line_rule_csr_nus(p_id);
27151     FETCH l_line_rule_csr_nus into
27152                          CLE_ID
27153                         ,DNZ_CHR_ID
27154                         ,DISCOUNT_LIST_CHR
27155                         ,ACCT_RULE_ID_CHR
27156                         ,PAYMENT_TYPE
27157                         ,CC_NO
27158                         ,CC_EXPIRY_DATE_CHR
27159                         ,CC_BANK_ACCT_ID_CHR
27160                         ,CC_AUTH_CODE
27161                         ,GRACE_DURATION_CHR
27162                         ,GRACE_PERIOD
27163                         ,l_INVOICE_TEXT
27164                         ,INV_PRINT_FLAG
27165                         ,PRICE_UOM
27166                         ,TAX_AMOUNT_CHR
27167                         ,TAX_INCLUSIVE_YN
27168                         ,TAX_STATUS
27169                         ,TAX_CODE_CHR
27170                         ,TAX_EXEMPTION_ID_CHR
27171                         ,IB_TRANS_TYPE
27172                         ,IB_TRANS_DATE_CHR
27173                         ,l_IB_TRX_DETAILS
27174                         --,PROD_PRICE
27175                         --,SERVICE_PRICE
27176                         ,CLVL_LIST_PRICE_CHR
27177                         ,CLVL_QUANTITY_CHR
27178                         ,CLVL_EXTENDED_AMT_CHR
27179                         ,LINE_LIST_PRICE_CHR
27180                         ,TOPLVL_OPERAND_CODE
27181                         ,TOPLVL_OPERAND_VAL_CHR
27182                         ,CLVL_UOM_CODE
27183                         ,TOPLVL_QUANTITY_CHR
27184                         ,TOPLVL_UOM_CODE
27185                         ,TOPLVL_ADJ_PRICE_CHR
27186                         ,TOPLVL_PRICE_QTY_CHR
27187                         ,l_STATUS_TEXT
27188                         ,AVERAGING_INTERVAL_CHR
27189                         ,USAGE_PERIOD
27190                         ,SETTLEMENT_INTERVAL
27191                         ,MINIMUM_QUANTITY_CHR
27192                         ,DEFAULT_QUANTITY_CHR
27193                         ,AMCV_FLAG
27194                         ,FIXED_QUANTITY_CHR
27195                         ,USAGE_DURATION_CHR
27196                         ,LEVEL_YN
27197                         ,USAGE_TYPE
27198                         ,UOM_QUANTIFIED
27199                         ,BASE_READING_CHR
27200                         ,USAGE_EST_METHOD
27201                         ,BILLING_SCHEDULE_TYPE
27202                         ,CUST_ACCT_ID_CHR           --OKC
27203                         ,BILL_TO_SITE_USE_ID_CHR    --OKC
27204                         ,INV_RULE_ID_CHR            --OKC
27205                         ,L_LINE_RENEWAL_TYPE_CODE     --OKC
27206                         ,SHIP_TO_SITE_USE_ID_CHR    --OKC
27207                         ,PAYMENT_TERM_ID_CHR       --OKC
27208 -------------------------------------------------------------------------------
27209 		  , EXCEPTION_COV_ID_CHR,
27210 		    l_INHERITANCE_TYPE,
27211 		    Prod_Upgrade_YN_CHR,
27212 		    Coverage_Type_CHR,
27213 		    TRANSFER_OPTION_CHR,
27214 		    PM_PROGRAM_ID_CHR,
27215 		    PM_CONF_REQ_YN_CHR,
27216 		    PM_SCH_EXISTS_YN_CHR,
27217 		    --DISCOUNT_LIST,
27218 		    ALLOW_BT_DISCOUNT_CHR,
27219 		    l_OFFSET_DURATION,
27220 		    --OFFSET_PERIOD,
27221 		    PRICE_LIST_ID_CHR,
27222 		    RCN_INCIDENT_SEVERITY_ID_CHR,
27223 		    RCN_PDF_ID_CHR,
27224 		    RCN_REACT_TIME_NAME,
27225 		    RCN_WORK_THRU_YN,
27226 		    RCN_REACT_ACTIVE_YN,
27227 		    RSN_REACT_TIME_NAME,
27228 		    l_LIMIT_UOM_QUANTIFIED,
27229 		    DISCOUNT_AMOUNT_CHR,
27230 		    DISCOUNT_PERCENT_CHR,
27231 		    l_Sync_Date_Install;
27232 
27233 		-------------------------------------------------------------------------------
27234 
27235       Close l_line_rule_csr_nus;
27236 
27237 end if;
27238       Eflag:=0;
27239       iEflag := 0;
27240 
27241 if(CLE_ID is not null) THEN
27242 --Attempting to insert records first
27243 --as OKS_RULE_REPROCESS might have many  records with no data issue
27244 
27245   BEGIN
27246     INSERT INTO OKS_K_LINES_BH
27247                        ( ID
27248 		        ,MAJOR_VERSION
27249                         ,CLE_ID
27250                         ,DNZ_CHR_ID
27251                         ,DISCOUNT_LIST
27252                         ,ACCT_RULE_ID
27253                         ,PAYMENT_TYPE
27254                         ,CC_NO
27255                         ,CC_EXPIRY_DATE
27256                         ,CC_BANK_ACCT_ID
27257                         ,CC_AUTH_CODE
27258                         ,GRACE_DURATION
27259                         ,GRACE_PERIOD
27260                         ,INV_PRINT_FLAG
27261                         ,PRICE_UOM
27262                         ,TAX_AMOUNT
27263                         ,TAX_INCLUSIVE_YN
27264                         ,TAX_STATUS
27265                         ,TAX_CODE
27266                         ,TAX_EXEMPTION_ID
27267                         ,IB_TRANS_TYPE
27268                         ,IB_TRANS_DATE
27269                         --,PROD_PRICE
27270                         --,SERVICE_PRICE
27271                         ,CLVL_LIST_PRICE
27272                         ,CLVL_QUANTITY
27273                         ,CLVL_EXTENDED_AMT
27274                         ,TOPLVL_OPERAND_CODE
27275                         ,TOPLVL_OPERAND_VAL
27276                         ,CLVL_UOM_CODE
27277                         ,TOPLVL_QUANTITY
27278                         ,TOPLVL_UOM_CODE
27279                         ,TOPLVL_ADJ_PRICE
27280                         ,TOPLVL_PRICE_QTY
27281                         ,AVERAGING_INTERVAL
27282                         ,USAGE_PERIOD
27283                         ,SETTLEMENT_INTERVAL
27284                         ,MINIMUM_QUANTITY
27285                         ,DEFAULT_QUANTITY
27286                         ,AMCV_FLAG
27287                         ,FIXED_QUANTITY
27288                         ,USAGE_DURATION
27289                         ,LEVEL_YN
27290                         ,USAGE_TYPE
27291                         ,UOM_QUANTIFIED
27292                         ,BASE_READING
27293                         ,USAGE_EST_METHOD
27294                         ,BILLING_SCHEDULE_TYPE,
27295 -----------------------------------------------------------------------
27296 			EXCEPTION_COV_ID,
27297                         INHERITANCE_TYPE,
27298                         Prod_Upgrade_YN,
27299                         Coverage_Type,
27300                         TRANSFER_OPTION,
27301                         PM_PROGRAM_ID,
27302                         PM_CONF_REQ_YN,
27303                         PM_SCH_EXISTS_YN,
27304                         ALLOW_BT_DISCOUNT,
27305                         OFFSET_DURATION,
27306                         OFFSET_PERIOD,
27307                         INCIDENT_SEVERITY_ID,
27308                         PDF_ID,
27309                         WORK_THRU_YN,
27310                         REACT_ACTIVE_YN,
27311                         LIMIT_UOM_QUANTIFIED,
27312                         DISCOUNT_AMOUNT,
27313                         DISCOUNT_PERCENT,
27314                         Sync_Date_Install
27315 -----------------------------------------------------------------------
27316 
27317                         ,CREATED_BY
27318                         ,CREATION_DATE
27319                         ,LAST_UPDATED_BY
27320                         ,LAST_UPDATE_DATE
27321                         ,LAST_UPDATE_LOGIN
27322                         ,OBJECT_VERSION_NUMBER  )
27323                  VALUES (CLE_ID
27324 		        ,p_major_version
27325                         ,CLE_ID
27326                         ,DNZ_CHR_ID
27327                         ,DISCOUNT_LIST_CHR
27328                         ,ACCT_RULE_ID_CHR
27329                         ,PAYMENT_TYPE
27330                         ,CC_NO
27331                         ,CC_EXPIRY_DATE_CHR
27332                         ,CC_BANK_ACCT_ID_CHR
27333                         ,CC_AUTH_CODE
27334                         ,GRACE_DURATION_CHR
27335                         ,GRACE_PERIOD
27336                         ,INV_PRINT_FLAG
27337                         ,PRICE_UOM
27338                         ,TAX_AMOUNT_CHR
27339                         ,TAX_INCLUSIVE_YN
27340                         ,TAX_STATUS
27341                         ,TAX_CODE_CHR
27342                         ,TAX_EXEMPTION_ID_CHR
27343                         ,IB_TRANS_TYPE
27344                         ,IB_TRANS_DATE_CHR
27345                         --,PROD_PRICE
27346                         --,SERVICE_PRICE
27347                         ,CLVL_LIST_PRICE_CHR
27348                         ,CLVL_QUANTITY_CHR
27349                         ,CLVL_EXTENDED_AMT_CHR
27350                         ,TOPLVL_OPERAND_CODE
27351                         ,TOPLVL_OPERAND_VAL_CHR
27352                         ,CLVL_UOM_CODE
27353                         ,TOPLVL_QUANTITY_CHR
27354                         ,TOPLVL_UOM_CODE
27355                         ,TOPLVL_ADJ_PRICE_CHR
27356                         ,TOPLVL_PRICE_QTY_CHR
27357                         ,AVERAGING_INTERVAL_CHR
27358                         ,USAGE_PERIOD
27359                         ,SETTLEMENT_INTERVAL
27360                         ,MINIMUM_QUANTITY_CHR
27361                         ,DEFAULT_QUANTITY_CHR
27362                         ,AMCV_FLAG
27363                         ,FIXED_QUANTITY_CHR
27364                         ,USAGE_DURATION_CHR
27365                         ,LEVEL_YN
27366                         ,USAGE_TYPE
27367                         ,UOM_QUANTIFIED
27368                         ,BASE_READING_CHR
27369                         ,USAGE_EST_METHOD
27370                         ,BILLING_SCHEDULE_TYPE,
27371                         ---------------------------------------------------------
27372                         EXCEPTION_COV_ID_CHR,
27373 		        l_INHERITANCE_TYPE,
27374 		        Prod_Upgrade_YN_CHR,
27375 		        Coverage_Type_CHR,
27376 		        TRANSFER_OPTION_CHR,
27377 		        PM_PROGRAM_ID_CHR,
27378 		        PM_CONF_REQ_YN_CHR,
27379 		        PM_SCH_EXISTS_YN_CHR,
27380 		        ALLOW_BT_DISCOUNT_CHR,
27381 		        NULL,
27382 		        NULL,
27383 		        RCN_INCIDENT_SEVERITY_ID_CHR,
27384 		        RCN_PDF_ID_CHR,
27385 		        RCN_WORK_THRU_YN,
27386 		        RCN_REACT_ACTIVE_YN,
27387 		        l_LIMIT_UOM_QUANTIFIED,
27388 		        DISCOUNT_AMOUNT_CHR,
27389 		        DISCOUNT_PERCENT_CHR,
27390 		        l_Sync_Date_Install
27391                         ---------------------------------------------------------
27392                         ,1
27393                         ,sysdate
27394                         ,1
27395                         ,sysdate
27396                         ,2003
27397                         ,1   );
27398 
27399 	IF l_OFFSET_DURATION IS NOT NULL THEN
27400             l_upd_cle_id  := cle_id;
27401 
27402 	    UPDATE OKS_K_LINES_B T1
27403 	    SET (T1.offset_period ,T1.offset_duration) =
27404 	        (SELECT TIM2.UOM_CODE,TIM2.DURATION
27405 	         FROM okc_timevalues_b TIM ,okc_timevalues_b TIM2,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
27406 	         WHERE  TIM.Id = OFFSET_DURATION
27407 	         AND    RGP.CLE_ID = l_upd_cle_id
27408 	         AND    RUL.rule_information1 = TIM.Id
27409 	         AND    RUL.rule_information_category = 'OFS'
27410 	         AND    RGP.ID = RUL.RGP_ID
27411              	 AND    TIM2.ID = TIM.TVE_ID_STARTED
27412                  AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
27413 	         AND    T1.CLE_ID = RGP.CLE_ID)
27414 	WHERE T1.CLE_ID = l_upd_cle_id;
27415 
27416 	END IF;
27417 
27418 
27419                    FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST
27420                    LOOP
27421                         INSERT INTO OKS_K_LINES_TLH (
27422                         id,
27423                         MAJOR_VERSION,
27424                         language,
27425                         source_lang,
27426                         sfwt_flag,
27427                         invoice_text,
27428                         ib_trx_details,
27429                         status_text,
27430                         react_time_name,
27431                         security_group_id,
27432                         created_by,
27433                         creation_date,
27434                         last_updated_by,
27435                         last_update_date,
27436                         last_update_login)
27437                         VALUES(
27438                         CLE_ID,
27439 			p_major_version,
27440                         OKC_UTIL.g_language_code(lang_i),
27441                         L_USERENV_LANG,
27442                         'S',
27443                         l_invoice_text,
27444                         l_ib_trx_details,
27445                         l_status_text,
27446                         RCN_REACT_TIME_NAME,
27447                         null, --security_group_id,
27448                         1,
27449                         sysdate,
27450                         1,
27451                         sysdate,
27452                         2003
27453                         );
27454                    END LOOP;
27455 
27456  EXCEPTION When others then
27457    iEflag:=1;
27458    Emsg :=SQLERRM;
27459    ISQLCODE := SQLCODE;
27460  END;
27461 
27462 ELSE
27463   BEGIN
27464   OPEN  L_CHECK_RGP_CSR(P_ID,P_MAJOR_VERSION);
27465   FETCH L_CHECK_RGP_CSR INTO L_CLE_ID,DNZ_CHR_ID;
27466   CLOSE L_CHECK_RGP_CSR;
27467 
27468   If( l_cle_id is not null) then
27469 
27470     INSERT INTO OKS_K_LINES_BH (ID
27471                               ,MAJOR_VERSION
27472                               ,CLE_ID
27473                               ,DNZ_CHR_ID
27474                               ,OBJECT_VERSION_NUMBER
27475                               ,CREATED_BY
27476                               ,CREATION_DATE
27477                               ,LAST_UPDATED_BY
27478                               ,LAST_UPDATE_DATE
27479                               ,LAST_UPDATE_LOGIN)
27480                       VALUES ( l_cle_id
27481 			      ,p_major_version
27482                               ,l_cle_id
27483                               ,DNZ_CHR_ID
27484                               ,1
27485                               ,1
27486                               ,SYSDATE
27487                               ,1
27488                               ,SYSDATE
27489                               ,2003);
27490 
27491     FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST
27492     LOOP
27493        INSERT INTO OKS_K_LINES_TLH (ID
27494 				  ,MAJOR_VERSION
27495                                   ,LANGUAGE
27496                                   ,SOURCE_LANG
27497                                   ,SFWT_FLAG
27498                                   ,created_by
27499                                   ,creation_date
27500                                   ,last_updated_by
27501                                   ,last_update_date
27502                                   ,last_update_login)
27503                            VALUES(
27504                                    l_cle_id
27505 				  ,p_major_version
27506                                   ,OKC_UTIL.g_language_code(lang_i)
27507                                   ,L_USERENV_LANG
27508                                   ,'S'
27509                                   ,1
27510                                   ,sysdate
27511                                   ,1
27512                                   ,sysdate
27513                                   ,2003);
27514     END LOOP;
27515   END IF;
27516   EXCEPTION When others then
27517     iEflag:=1;
27518     Emsg :=SQLERRM;
27519     ISQLCODE := SQLCODE;
27520  END;
27521 
27522  end if;
27523 
27524 --If insert is successful then go for update
27525 
27526 if(iEflag = 0) THEN
27527  l_upd_cle_id := cle_id;
27528 
27529   BEGIN
27530       UPDATE OKC_K_LINES_BH
27531         SET
27532             CUST_ACCT_ID           = CUST_ACCT_ID_CHR
27533           , BILL_TO_SITE_USE_ID    = BILL_TO_SITE_USE_ID_CHR
27534           , INV_RULE_ID            = INV_RULE_ID_CHR
27535           , LINE_RENEWAL_TYPE_CODE = L_LINE_RENEWAL_TYPE_CODE
27536           , SHIP_TO_SITE_USE_ID    = SHIP_TO_SITE_USE_ID_CHR
27537           , PAYMENT_TERM_ID        = PAYMENT_TERM_ID_CHR
27538           , LINE_LIST_PRICE        = LINE_LIST_PRICE_CHR
27539      WHERE ID = l_upd_cle_id
27540      and   major_version = p_major_version;
27541 
27542      EXCEPTION When others then
27543           iEflag:=1;
27544 	  Emsg :=SQLERRM;
27545   END;
27546 
27547 End If;
27548 
27549 
27550 
27551     ------------------------------------------------------------------------------------
27552     -- If insert or update failed then need to validate
27553     -- Begin of code to validate data type .
27554     -- If data fails validation then set the Eflag to 1
27555 
27556 if(iEflag = 1) THEN
27557 
27558        DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
27559 
27560      -- Begin of code to validate data type .
27561        --1. Validation for DST rule .
27562        BEGIN
27563           DISCOUNT_LIST      := DISCOUNT_LIST_CHR;
27564        EXCEPTION
27565        WHEN OTHERS THEN
27566           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'DST') ;
27567           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27568           CLOSE L_LINE_DTLS_CSR;
27569           FND_MESSAGE.CLEAR;
27570           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
27571           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27572           L_ERROR_MSG      := SQLERRM;
27573           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27574                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, LINE_NUMBER, SCRIPT_NAME  ,
27575                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27576                                       ERROR_MSG)
27577                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27578                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27579                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR,
27580                                        L_ERROR_MSG );
27581            Eflag:=1;
27582        END;
27583 
27584        --2. Validation for ARL rule .
27585        BEGIN
27586           ACCT_RULE_ID      := ACCT_RULE_ID_CHR;
27587        EXCEPTION
27588        WHEN OTHERS THEN
27589           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'ARL') ;
27590           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27591           CLOSE L_LINE_DTLS_CSR;
27592           FND_MESSAGE.CLEAR;
27593           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
27594           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27595           L_ERROR_MSG      := SQLERRM;
27596           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27597                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION  ,LINE_NUMBER, SCRIPT_NAME  ,
27598                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27599                                       ERROR_MSG)
27600                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27601                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27602                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,ACCT_RULE_ID_CHR,
27603                                        L_ERROR_MSG );
27604            Eflag:=1;
27605        END;
27606 
27607        --3. Validation for CCR rule .
27608        BEGIN
27609           CC_BANK_ACCT_ID      := CC_BANK_ACCT_ID_CHR;
27610        EXCEPTION
27611        WHEN OTHERS THEN
27612           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'CCR') ;
27613           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27614           CLOSE L_LINE_DTLS_CSR;
27615           FND_MESSAGE.CLEAR;
27616           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
27617           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27618           L_ERROR_MSG      := SQLERRM;
27619           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27620                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27621                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27622                                       ERROR_MSG)
27623                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27624                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27625                                       'CCR'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CC_BANK_ACCT_ID_CHR,
27626                                        L_ERROR_MSG );
27627            Eflag:=1;
27628        END;
27629 
27630 
27631        --4. Validation for GPR rule .
27632        BEGIN
27633           GRACE_DURATION      := GRACE_DURATION_CHR;
27634        EXCEPTION
27635        WHEN OTHERS THEN
27636           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'GPR') ;
27637           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27638           CLOSE L_LINE_DTLS_CSR;
27639           FND_MESSAGE.CLEAR;
27640           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
27641           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27642           L_ERROR_MSG      := SQLERRM;
27643           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27644                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27645                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27646                                       ERROR_MSG)
27647                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27648                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27649                                       'GPR'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,GRACE_DURATION_CHR,
27650                                        L_ERROR_MSG );
27651            Eflag:=1;
27652        END;
27653        --5. Validation for IRT rule .
27654        BEGIN
27655           TAX_AMOUNT      := TAX_AMOUNT_CHR;
27656        EXCEPTION
27657        WHEN OTHERS THEN
27658           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'IRT') ;
27659           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27660           CLOSE L_LINE_DTLS_CSR;
27661           FND_MESSAGE.CLEAR;
27662           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
27663           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27664           L_ERROR_MSG      := SQLERRM;
27665           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27666                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27667                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27668                                       ERROR_MSG)
27669                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27670                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27671                                       'IRT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,TAX_AMOUNT_CHR,
27672                                        L_ERROR_MSG );
27673            Eflag:=1;
27674        END;
27675 
27676        --6. Validation for TAX rule .
27677        BEGIN
27678           TAX_CODE      := TAX_CODE_CHR;
27679        EXCEPTION
27680        WHEN OTHERS THEN
27681           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'TAX') ;
27682           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27683           CLOSE L_LINE_DTLS_CSR;
27684           FND_MESSAGE.CLEAR;
27685           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
27686           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27687           L_ERROR_MSG      := SQLERRM;
27688           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27689                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27690                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27691                                       ERROR_MSG)
27692                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27693                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27694                                       'TAX'    ,'OBJECT2_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_CODE_CHR,
27695                                        L_ERROR_MSG );
27696            Eflag:=1;
27697        END;
27698 
27699        --7. Validation for TAX rule .
27700        BEGIN
27701           TAX_EXEMPTION_ID      := TAX_EXEMPTION_ID_CHR;
27702        EXCEPTION
27703        WHEN OTHERS THEN
27704           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'TAX') ;
27705           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27706           CLOSE L_LINE_DTLS_CSR;
27707           FND_MESSAGE.CLEAR;
27708           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
27709           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27710           L_ERROR_MSG      := SQLERRM;
27711           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27712                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27713                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27714                                       ERROR_MSG)
27715                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27716                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27717                                       'TAX'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_EXEMPTION_ID_CHR,
27718                                        L_ERROR_MSG );
27719            Eflag:=1;
27720        END;
27721 
27722        --8. Validation for PDL rule .
27723        BEGIN
27724           CLVL_LIST_PRICE      := CLVL_LIST_PRICE_CHR;
27725        EXCEPTION
27726        WHEN OTHERS THEN
27727           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
27728           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27729           CLOSE L_LINE_DTLS_CSR;
27730           FND_MESSAGE.CLEAR;
27731           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
27732           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27733           L_ERROR_MSG      := SQLERRM;
27734           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27735                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27736                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27737                                       ERROR_MSG)
27738                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27739                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27740                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR,
27741                                        L_ERROR_MSG );
27742            Eflag:=1;
27743        END;
27744 
27745        --9. Validation for PDL rule .
27746        BEGIN
27747           CLVL_QUANTITY      := CLVL_QUANTITY_CHR;
27748        EXCEPTION
27749        WHEN OTHERS THEN
27750           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
27751           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27752           CLOSE L_LINE_DTLS_CSR;
27753           FND_MESSAGE.CLEAR;
27754           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
27755           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27756           L_ERROR_MSG      := SQLERRM;
27757           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27758                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27759                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27760                                       ERROR_MSG)
27761                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27762                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27763                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR,
27764                                        L_ERROR_MSG );
27765            Eflag:=1;
27766        END;
27767 
27768        --10. Validation for PDL rule .
27769        BEGIN
27770           CLVL_EXTENDED_AMT      := CLVL_EXTENDED_AMT_CHR;
27771        EXCEPTION
27772        WHEN OTHERS THEN
27773           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
27774           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27775           CLOSE L_LINE_DTLS_CSR;
27776           FND_MESSAGE.CLEAR;
27777           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
27778           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27779           L_ERROR_MSG      := SQLERRM;
27780           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27781                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27782                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27783                                       ERROR_MSG)
27784                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27785                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27786                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR,
27787                                        L_ERROR_MSG );
27788            Eflag:=1;
27789        END;
27790 
27791        --11. Validation for PDL rule .
27792        BEGIN
27793           TOPLVL_OPERAND_VAL      := TOPLVL_OPERAND_VAL_CHR;
27794        EXCEPTION
27795        WHEN OTHERS THEN
27796           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
27797           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27798           CLOSE L_LINE_DTLS_CSR;
27799           FND_MESSAGE.CLEAR;
27800           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
27801           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27802           L_ERROR_MSG      := SQLERRM;
27803           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27804                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27805                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27806                                       ERROR_MSG)
27807                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27808                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27809                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR,
27810                                        L_ERROR_MSG );
27811            Eflag:=1;
27812        END;
27813 
27814        --12. Validation for PDL rule .
27815        BEGIN
27816           TOPLVL_QUANTITY      := TOPLVL_QUANTITY_CHR;
27817        EXCEPTION
27818        WHEN OTHERS THEN
27819           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
27820           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27821           CLOSE L_LINE_DTLS_CSR;
27822           FND_MESSAGE.CLEAR;
27823           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
27824           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27825           L_ERROR_MSG      := SQLERRM;
27826           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27827                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27828                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27829                                       ERROR_MSG)
27830                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27831                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27832                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR,
27833                                        L_ERROR_MSG );
27834            Eflag:=1;
27835        END;
27836 
27837        --13. Validation for PDL rule .
27838        BEGIN
27839           TOPLVL_ADJ_PRICE      := TOPLVL_ADJ_PRICE_CHR;
27840        EXCEPTION
27841        WHEN OTHERS THEN
27842           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
27843           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27844           CLOSE L_LINE_DTLS_CSR;
27845           FND_MESSAGE.CLEAR;
27846           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
27847           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27848           L_ERROR_MSG      := SQLERRM;
27849           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27850                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27851                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27852                                       ERROR_MSG)
27853                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27854                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27855                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR,
27856                                        L_ERROR_MSG );
27857            Eflag:=1;
27858        END;
27859 
27860        --14. Validation for PDL rule .
27861        BEGIN
27862           TOPLVL_PRICE_QTY      := TOPLVL_PRICE_QTY_CHR;
27863        EXCEPTION
27864        WHEN OTHERS THEN
27865           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
27866           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27867           CLOSE L_LINE_DTLS_CSR;
27868           FND_MESSAGE.CLEAR;
27869           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
27870           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27871           L_ERROR_MSG      := SQLERRM;
27872           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27873                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27874                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27875                                       ERROR_MSG)
27876                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27877                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27878                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR,
27879                                        L_ERROR_MSG );
27880            Eflag:=1;
27881        END;
27882 
27883        --15. Validation for QRE rule .
27884        BEGIN
27885           AVERAGING_INTERVAL      := AVERAGING_INTERVAL_CHR;
27886        EXCEPTION
27887        WHEN OTHERS THEN
27888           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
27889           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27890           CLOSE L_LINE_DTLS_CSR;
27891           FND_MESSAGE.CLEAR;
27892           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
27893           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27894           L_ERROR_MSG      := SQLERRM;
27895           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27896                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27897                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27898                                       ERROR_MSG)
27899                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27900                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27901                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR,
27902                                        L_ERROR_MSG );
27903            Eflag:=1;
27904        END;
27905 
27906        --16. Validation for QRE rule .
27907        BEGIN
27908           MINIMUM_QUANTITY      := MINIMUM_QUANTITY_CHR;
27909        EXCEPTION
27910        WHEN OTHERS THEN
27911           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
27912           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27913           CLOSE L_LINE_DTLS_CSR;
27914           FND_MESSAGE.CLEAR;
27915           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
27916           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27917           L_ERROR_MSG      := SQLERRM;
27918           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27919                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27920                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27921                                       ERROR_MSG)
27922                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27923                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27924                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR,
27925                                        L_ERROR_MSG );
27926            Eflag:=1;
27927        END;
27928 
27929 
27930        --17. Validation for QRE rule .
27931        BEGIN
27932           DEFAULT_QUANTITY      := DEFAULT_QUANTITY_CHR;
27933        EXCEPTION
27934        WHEN OTHERS THEN
27935           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
27936           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27937           CLOSE L_LINE_DTLS_CSR;
27938           FND_MESSAGE.CLEAR;
27939           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
27940           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27941           L_ERROR_MSG      := SQLERRM;
27942           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27943                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27944                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27945                                       ERROR_MSG)
27946                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27947                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27948                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR,
27949                                        L_ERROR_MSG );
27950            Eflag:=1;
27951        END;
27952 
27953        --18. Validation for QRE rule .
27954        BEGIN
27955           FIXED_QUANTITY      := FIXED_QUANTITY_CHR;
27956        EXCEPTION
27957        WHEN OTHERS THEN
27958           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
27959           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27960           CLOSE L_LINE_DTLS_CSR;
27961           FND_MESSAGE.CLEAR;
27962           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
27963           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27964           L_ERROR_MSG      := SQLERRM;
27965           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27966                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27967                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27968                                       ERROR_MSG)
27969                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27970                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27971                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR,
27972                                        L_ERROR_MSG );
27973            Eflag:=1;
27974        END;
27975 
27976        --19. Validation for QRE rule .
27977        BEGIN
27978           USAGE_DURATION      := USAGE_DURATION_CHR;
27979        EXCEPTION
27980        WHEN OTHERS THEN
27981           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
27982           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
27983           CLOSE L_LINE_DTLS_CSR;
27984           FND_MESSAGE.CLEAR;
27985           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
27986           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
27987           L_ERROR_MSG      := SQLERRM;
27988           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
27989                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
27990                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
27991                                       ERROR_MSG)
27992                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
27993                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
27994                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR,
27995                                        L_ERROR_MSG );
27996            Eflag:=1;
27997        END;
27998 
27999        --20. Validation for QRE rule .
28000        BEGIN
28001           BASE_READING      := BASE_READING_CHR;
28002        EXCEPTION
28003        WHEN OTHERS THEN
28004           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'QRE') ;
28005           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28006           CLOSE L_LINE_DTLS_CSR;
28007           FND_MESSAGE.CLEAR;
28008           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
28009           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28010           L_ERROR_MSG      := SQLERRM;
28011           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28012                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28013                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28014                                       ERROR_MSG)
28015                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28016                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
28017                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR,
28018                                        L_ERROR_MSG );
28019            Eflag:=1;
28020        END;
28021 
28022        --21. Validation for CAN rule .
28023        BEGIN
28024           CUST_ACCT_ID      := CUST_ACCT_ID_CHR;
28025        EXCEPTION
28026        WHEN OTHERS THEN
28027           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'CAN') ;
28028           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28029           CLOSE L_LINE_DTLS_CSR;
28030           FND_MESSAGE.CLEAR;
28031           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
28032           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28033           L_ERROR_MSG      := SQLERRM;
28034           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28035                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28036                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28037                                       ERROR_MSG)
28038                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28039                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
28040                                       'CAN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,CUST_ACCT_ID_CHR,
28041                                        L_ERROR_MSG );
28042            Eflag:=1;
28043        END;
28044 
28045        --22. Validation for BTO rule .
28046        BEGIN
28047           BILL_TO_SITE_USE_ID      := BILL_TO_SITE_USE_ID_CHR;
28048        EXCEPTION
28049        WHEN OTHERS THEN
28050           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'BTO') ;
28051           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28052           CLOSE L_LINE_DTLS_CSR;
28053           FND_MESSAGE.CLEAR;
28054           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
28055           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28056           L_ERROR_MSG      := SQLERRM;
28057           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28058                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28059                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28060                                       ERROR_MSG)
28061                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28062                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
28063                                       'BTO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,BILL_TO_SITE_USE_ID_CHR,
28064                                        L_ERROR_MSG );
28065            Eflag:=1;
28066        END;
28067 
28068        --23. Validation for IRE rule .
28069        BEGIN
28070           INV_RULE_ID      := INV_RULE_ID_CHR;
28071        EXCEPTION
28072        WHEN OTHERS THEN
28073           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'IRE') ;
28074           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28075           CLOSE L_LINE_DTLS_CSR;
28076           FND_MESSAGE.CLEAR;
28077           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
28078           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28079           L_ERROR_MSG      := SQLERRM;
28080           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28081                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28082                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28083                                       ERROR_MSG)
28084                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28085                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
28086                                       'IRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,INV_RULE_ID_CHR,
28087                                        L_ERROR_MSG );
28088            Eflag:=1;
28089        END;
28090 
28091        --24. Validation for STO rule .
28092        BEGIN
28093           SHIP_TO_SITE_USE_ID      := SHIP_TO_SITE_USE_ID_CHR;
28094        EXCEPTION
28095        WHEN OTHERS THEN
28096           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'STO') ;
28097           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28098           CLOSE L_LINE_DTLS_CSR;
28099           FND_MESSAGE.CLEAR;
28100           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
28101           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28102           L_ERROR_MSG      := SQLERRM;
28103           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28104                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28105                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28106                                       ERROR_MSG)
28107                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28108                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
28109                                       'STO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,SHIP_TO_SITE_USE_ID_CHR,
28110                                        L_ERROR_MSG );
28111            Eflag:=1;
28112        END;
28113 
28114        --25. Validation for PTR rule .
28115        BEGIN
28116           PAYMENT_TERM_ID      := PAYMENT_TERM_ID_CHR;
28117        EXCEPTION
28118        WHEN OTHERS THEN
28119           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PTR') ;
28120           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28121           CLOSE L_LINE_DTLS_CSR;
28122           FND_MESSAGE.CLEAR;
28123           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
28124           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28125           L_ERROR_MSG      := SQLERRM;
28126           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28127                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28128                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28129                                       ERROR_MSG)
28130                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28131                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
28132                                       'PTR'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PAYMENT_TERM_ID_CHR,
28133                                        L_ERROR_MSG );
28134            Eflag:=1;
28135        END;
28136 
28137        --26. Validation for CCR rule .
28138        BEGIN
28139           CC_EXPIRY_DATE      := CC_EXPIRY_DATE_CHR;
28140        EXCEPTION
28141        WHEN OTHERS THEN
28142           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'CCR') ;
28143           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28144           CLOSE L_LINE_DTLS_CSR;
28145           FND_MESSAGE.CLEAR;
28146           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
28147           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28148           L_ERROR_MSG      := SQLERRM;
28149           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28150                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28151                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28152                                       ERROR_MSG)
28153                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28154                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
28155                                       'CCR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CC_EXPIRY_DATE_CHR,
28156                                        L_ERROR_MSG );
28157            Eflag:=1;
28158        END;
28159 
28160        --27. Validation for IBR  rule .
28161        BEGIN
28162           IB_TRANS_DATE      := IB_TRANS_DATE_CHR;
28163        EXCEPTION
28164        WHEN OTHERS THEN
28165           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'IBR') ;
28166           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28167           CLOSE L_LINE_DTLS_CSR;
28168           FND_MESSAGE.CLEAR;
28169           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_IB_TRANS_DATE');
28170           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28171           L_ERROR_MSG      := SQLERRM;
28172           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28173                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28174                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28175                                       ERROR_MSG)
28176                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28177                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
28178                                       'IBR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,IB_TRANS_DATE_CHR,
28179                                        L_ERROR_MSG );
28180            Eflag:=1;
28181        END;
28182     --28
28183        BEGIN
28184           EXCEPTION_COV_ID      := EXCEPTION_COV_ID_chr;
28185        EXCEPTION
28186        WHEN OTHERS THEN
28187           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'ECE') ;
28188           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28189           CLOSE L_LINE_DTLS_CSR;
28190           FND_MESSAGE.CLEAR;
28191           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
28192           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28193           L_ERROR_MSG      := SQLERRM;
28194           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28195                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28196                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28197                                       ERROR_MSG)
28198                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28199                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
28200                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr,
28201                                        L_ERROR_MSG );
28202           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EXCEPTION_COV_ID_chr);
28203 	  Eflag:=1;
28204        END;
28205 --29
28206        BEGIN
28207           PM_PROGRAM_ID      := PM_PROGRAM_ID_chr;
28208        EXCEPTION
28209        WHEN OTHERS THEN
28210           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PMP') ;
28211           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28212           CLOSE L_LINE_DTLS_CSR;
28213           FND_MESSAGE.CLEAR;
28214           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
28215           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28216           L_ERROR_MSG      := SQLERRM;
28217           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28218                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28219                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28220                                       ERROR_MSG)
28221                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28222                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
28223                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr,
28224                                        L_ERROR_MSG );
28225           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PM_PROGRAM_ID_chr);
28226 	  Eflag:=1;
28227        END;
28228 --30
28229        BEGIN
28230           PRICE_LIST_ID      := PRICE_LIST_ID_chr;
28231        EXCEPTION
28232        WHEN OTHERS THEN
28233           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PRE') ;
28234           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28235           CLOSE L_LINE_DTLS_CSR;
28236           FND_MESSAGE.CLEAR;
28237           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
28238           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28239           L_ERROR_MSG      := SQLERRM;
28240           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28241                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28242                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28243                                       ERROR_MSG)
28244                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28245                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
28246                                       'PRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PRICE_LIST_ID_chr,
28247                                        L_ERROR_MSG );
28248           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_chr);
28249 	  Eflag:=1;
28250        END;
28251 --31
28252        BEGIN
28253           RCN_INCIDENT_SEVERITY_ID      := RCN_INCIDENT_SEVERITY_ID_chr;
28254        EXCEPTION
28255        WHEN OTHERS THEN
28256           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'RCN') ;
28257           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28258           CLOSE L_LINE_DTLS_CSR;
28259           FND_MESSAGE.CLEAR;
28260           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
28261           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28262           L_ERROR_MSG      := SQLERRM;
28263           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28264                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28265                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28266                                       ERROR_MSG)
28267                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28268                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
28269                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr,
28270                                        L_ERROR_MSG );
28271           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RCN_INCIDENT_SEVERITY_ID_chr);
28272 	  Eflag:=1;
28273        END;
28274 --32
28275        BEGIN
28276           RCN_PDF_ID      := RCN_PDF_ID_chr;
28277        EXCEPTION
28278        WHEN OTHERS THEN
28279           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'RCN') ;
28280           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28281           CLOSE L_LINE_DTLS_CSR;
28282           FND_MESSAGE.CLEAR;
28283           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
28284           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28285           L_ERROR_MSG      := SQLERRM;
28286           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28287                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28288                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28289                                       ERROR_MSG)
28290                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28291                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
28292                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr,
28293                                        L_ERROR_MSG );
28294           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RCN_PDF_ID_chr);
28295 	  Eflag:=1;
28296        END;
28297 --33
28298        BEGIN
28299           DISCOUNT_AMOUNT      := DISCOUNT_AMOUNT_chr;
28300        EXCEPTION
28301        WHEN OTHERS THEN
28302           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'LMT') ;
28303           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28304           CLOSE L_LINE_DTLS_CSR;
28305           FND_MESSAGE.CLEAR;
28306           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
28307           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28308           L_ERROR_MSG      := SQLERRM;
28309           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28310                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28311                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28312                                       ERROR_MSG)
28313                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28314                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
28315                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr,
28316                                        L_ERROR_MSG );
28317          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || DISCOUNT_AMOUNT_chr);
28318 
28319 	  Eflag:=1;
28320        END;
28321 --34
28322        BEGIN
28323           DISCOUNT_PERCENT      := DISCOUNT_PERCENT_chr;
28324        EXCEPTION
28325        WHEN OTHERS THEN
28326           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'LMT') ;
28327           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28328           CLOSE L_LINE_DTLS_CSR;
28329           FND_MESSAGE.CLEAR;
28330           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
28331           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28332           L_ERROR_MSG      := SQLERRM;
28333           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28334                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28335                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28336                                       ERROR_MSG)
28337                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28338                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
28339                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr,
28340                                        L_ERROR_MSG );
28341          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr);
28342 	  Eflag:=1;
28343        END;
28344 
28345 --53
28346        BEGIN
28347           LINE_LIST_PRICE      := LINE_LIST_PRICE_CHR;
28348        EXCEPTION
28349        WHEN OTHERS THEN
28350           OPEN  L_LINE_DTLS_CSR(CLE_ID,DNZ_CHR_ID,'PDL') ;
28351           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
28352           CLOSE L_LINE_DTLS_CSR;
28353           FND_MESSAGE.CLEAR;
28354           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LINE_LIST_PRICE');
28355           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
28356           L_ERROR_MSG      := SQLERRM;
28357           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
28358                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
28359                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
28360                                       ERROR_MSG)
28361                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, CLE_ID,
28362                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
28363                                       'PDL'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,LINE_LIST_PRICE_CHR,
28364                                        L_ERROR_MSG );
28365          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || LINE_LIST_PRICE_CHR);
28366 	  Eflag:=1;
28367        END;
28368 ----------------------------------------------------------------------------------------------------------------------
28369 
28370 
28371 End If;
28372 
28373 --End of code for validation
28374 
28375 
28376 
28377 IF Eflag = 1 THEN
28378    Eflag :=0;
28379    FND_FILE.PUT_LINE(FND_FILE.LOG ,'Validation failed for rgp_id :'||p_id||'Major Version: '||p_major_version||
28380    ' Error Message: '||L_ERROR_MSG);
28381    Raise VAL_EXCEPTION;
28382 END IF;
28383 
28384 
28385 If iEflag = 1 THEN
28386   iEflag := 0;
28387   FND_FILE.PUT_LINE(FND_FILE.LOG ,'Insert/Update failed for rgp_id :'||p_id||'Major Version: '||p_major_version||
28388   ' Error Message: '||Emsg);
28389   Raise MAIN_EXCEPTION;
28390 End If;
28391 
28392 
28393  x_return_status:='S';
28394 
28395 
28396 EXCEPTION
28397   WHEN MAIN_EXCEPTION THEN
28398     IF ISQLCODE in (1,-1) THEN
28399       x_return_status:='S';
28400     Else
28401       x_return_status:='E';
28402       Update oks_rule_reprocess
28403       set errormsg= Emsg
28404       where rowid=prow_id;
28405     End If;
28406   WHEN VAL_EXCEPTION THEN
28407        x_return_status:='E';
28408       Update oks_rule_reprocess
28409       set errormsg=L_ERROR_MSG
28410       where rowid=prow_id;
28411    WHEN OTHERS THEN
28412 	X_RETURN_STATUS := 'E';
28413 	L_ERROR_MSG := SQLERRM;
28414         Update oks_rule_reprocess
28415         set errormsg=L_ERROR_MSG
28416         where rowid=prow_id;
28417 	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_id||'with Error Message '||L_ERROR_MSG);
28418 
28419 
28420 END REPROCESS_LINE_HIST_RULE;
28421 
28422 
28423 
28424 -----------------------------------------------------------------------------------------
28425 -- This is the  Procedure called from the procedure REPROCESS_RULE_DATA_MAIN         --
28426 --  Subrequest code for -"Service Contracts -Reeporcess rule data"         --
28427 -----------------------------------------------------------------------------------------
28428 
28429 PROCEDURE REPROCESS_RULE_DATA_SUBREQ(
28430     ERRBUF            OUT NOCOPY VARCHAR2,
28431     RETCODE           OUT NOCOPY NUMBER,
28432     P_BATCH_SIZE      IN  NUMBER,
28433     P_ID_LOW          IN  NUMBER,
28434     P_ID_HI           IN  NUMBER ) IS
28435 
28436 TYPE L_NUM_TBL IS TABLE OF NUMBER INDEX BY BINARY_INTEGER ;
28437 TYPE L_CHR_TBL IS TABLE OF VARCHAR2(2000) INDEX  BY BINARY_INTEGER ;
28438 TYPE RowId_tbl_Type IS TABLE OF ROWID INDEX BY BINARY_INTEGER;
28439 
28440 
28441 Cursor L_GET_REPROC_CSR (P_ID_LOW IN NUMBER,P_ID_HI IN NUMBER)
28442 IS
28443 Select rowid,
28444        id,
28445        major_version,
28446        misc
28447 from   oks_rule_reprocess
28448 where  id between P_ID_LOW and P_ID_HI;
28449 
28450 L_ROWID                  RowId_tbl_Type;
28451 L_RGP_ID                 L_NUM_TBL;
28452 LEVEL                   L_CHR_TBL;
28453 L_MAJOR_VERSION         L_NUM_TBL;
28454 l_return_status         VARCHAR2(1);
28455 L_DELETE_RGP_ID         L_NUM_TBL;
28456 L_DELETE_ROWID         RowId_tbl_Type;
28457 L_DELETE_COUNT          L_NUM_TBL;
28458 j                       NUMBER := 0;
28459 
28460 
28461 ----------------------------------------------------------------
28462 ----------For NLS Numeric Characters---------------------------
28463 -----------------------------------------------------------------
28464 l_format varchar2(200);
28465 l_us_yn boolean;
28466 
28467 CURSOR l_nls_csr is
28468 select   c.profile_option_value
28469   from   fnd_profile_options p,
28470          fnd_profile_option_values c
28471  where  p.profile_option_name = 'ICX_NUMERIC_CHARACTERS'
28472    and    p.start_date_active  <= sysdate
28473    and    nvl(p.end_date_active, sysdate) >= sysdate
28474    and    c.profile_option_id = p.profile_option_id
28475    and    c.application_id    = p.application_id
28476    and    c.level_id          = 10001
28477    and    c.level_value       = 0;
28478 ------------------------------------------------------------------
28479 
28480 
28481 BEGIN
28482 
28483  open  l_nls_csr;
28484  fetch l_nls_csr into l_format;
28485  close l_nls_csr;
28486  if SUBSTR(l_format,0,1) = ',' THEN
28487     l_us_yn := false;
28488  else
28489     l_us_yn := true;
28490  end if;
28491 
28492 Open L_GET_REPROC_CSR(P_ID_LOW,P_ID_HI);
28493 
28494 LOOP
28495   FETCH L_GET_REPROC_CSR BULK COLLECT INTO L_ROWID,L_RGP_ID,L_MAJOR_VERSION,LEVEL
28496   LIMIT P_BATCH_SIZE;
28497   EXIT WHEN L_RGP_ID.COUNT=0;
28498   FOR I IN L_RGP_ID.FIRST..L_RGP_ID.LAST
28499   LOOP
28500      l_return_status:=NULL;
28501      If(LEVEL(I) = 'OKSHEDRS')  Then
28502          REPROCESS_HDR_RULE(L_ROWID(I),L_RGP_ID(I),l_us_yn,l_return_status);
28503          If l_return_status = 'S' Then
28504             j:=j+1;
28505             L_DELETE_ROWID(j) := L_ROWID(I);
28506          End If;
28507      ElsIf(LEVEL(I) = 'OKSLINES' )  Then
28508          REPROCESS_LINE_RULE(L_ROWID(I),L_RGP_ID(I),l_us_yn,l_return_status);
28509          If l_return_status = 'S' Then
28510             j:=j+1;
28511             L_DELETE_ROWID(j) := L_ROWID(I);
28512          End If;
28513      ElsIf(LEVEL(I) = 'OKSLINEH' )  Then
28514          REPROCESS_LINE_HIST_RULE(L_ROWID(I),L_RGP_ID(I),L_MAJOR_VERSION(I),l_us_yn,l_return_status);
28515          If l_return_status = 'S' Then
28516             j:=j+1;
28517             L_DELETE_ROWID(j) := L_ROWID(I);
28518          End If;
28519      ElsIf(LEVEL(I) = 'OKSHEDRH' )  Then
28520          REPROCESS_HDR_HIST_RULE(L_ROWID(I),L_RGP_ID(I),L_MAJOR_VERSION(I),l_us_yn,l_return_status);
28521          If l_return_status = 'S' Then
28522             j:=j+1;
28523             L_DELETE_ROWID(j) := L_ROWID(I);
28524          End If;
28525      Elsif ( LEVEL(I) = 'OKSSYNHL' ) Then
28526          REPROCESS_SYNCHL_RULE(L_ROWID(I),L_RGP_ID(I),L_MAJOR_VERSION(I),l_us_yn,l_return_status);
28527          If l_return_status = 'S' Then
28528             j:=j+1;
28529             L_DELETE_ROWID(j) := L_ROWID(I);
28530          End If;
28531      Elsif ( LEVEL(I) = 'OKSLEVEL' ) Then
28532          REPROCESS_OKSLEVEL(L_ROWID(I),L_RGP_ID(I),L_MAJOR_VERSION(I),l_us_yn,l_return_status);
28533          If l_return_status = 'S' Then
28534             j:=j+1;
28535             L_DELETE_ROWID(j) := L_ROWID(I);
28536          End If;
28537      End If;
28538 
28539   ------------------------------------------------------------------
28540   -- Do commit after every 500 procedure calls                     --
28541   ------------------------------------------------------------------
28542      IF L_DELETE_ROWID.COUNT > 500 THEN
28543         BEGIN
28544            FORALL X IN L_DELETE_ROWID.FIRST..L_DELETE_ROWID.LAST
28545              DELETE /*+ PARALLEL(OKS) */
28546                FROM  OKS_RULE_REPROCESS OKS
28547               WHERE ROWID = L_DELETE_ROWID(X);
28548 
28549 
28550         j := 0;
28551         FND_FILE.PUT_LINE(FND_FILE.LOG ,'Number of records reprocessed : '||L_DELETE_ROWID.COUNT);
28552         L_DELETE_ROWID.DELETE;
28553         COMMIT;
28554 
28555         EXCEPTION WHEN OTHERS THEN
28556             ROLLBACK;
28557         END;
28558     END IF;
28559 
28560   END LOOP;
28561   L_RGP_ID.DELETE;
28562 END LOOP;
28563 CLOSE L_GET_REPROC_CSR;
28564 
28565   ------------------------------------------------------------------
28566   -- The Following logic is to process any left over records      --
28567   ------------------------------------------------------------------
28568   IF L_DELETE_ROWID.COUNT > 0 THEN
28569         BEGIN
28570            FORALL X IN L_DELETE_ROWID.FIRST..L_DELETE_ROWID.LAST
28571              DELETE /*+ PARALLEL(OKS) */
28572                FROM  OKS_RULE_REPROCESS OKS
28573               WHERE ROWID = L_DELETE_ROWID(X);
28574 
28575 
28576         j := 0;
28577         FND_FILE.PUT_LINE(FND_FILE.LOG ,'Number of records reprocessed : '||L_DELETE_ROWID.COUNT);
28578         L_DELETE_ROWID.DELETE;
28579         COMMIT;
28580 
28581         EXCEPTION WHEN OTHERS THEN
28582             ROLLBACK;
28583         END;
28584     END IF;
28585 
28586 
28587 
28588 END REPROCESS_RULE_DATA_SUBREQ;
28589 
28590 -----------------------------------------------------------------------------------------
28591 -- This is the  Procedure called from the procedure SYNCHRONIZE_RULE_DATA_MAIN         --
28592 --  Subrequest code for -"Service Contracts -Synchronize rule data"         --
28593 -----------------------------------------------------------------------------------------
28594 
28595 PROCEDURE SYNCHRONIZE_RULE_DATA_SUBREQ(
28596     ERRBUF            OUT NOCOPY VARCHAR2,
28597     RETCODE           OUT NOCOPY NUMBER,
28598     P_BATCH_SIZE      IN  NUMBER,
28599     P_ID_LOW          IN  NUMBER,
28600     P_ID_HI           IN  NUMBER ) IS
28601 
28602  TYPE L_NUM_TBL IS TABLE OF NUMBER INDEX BY BINARY_INTEGER ;
28603  TYPE L_CHR_TBL IS TABLE OF VARCHAR2(2000) INDEX  BY BINARY_INTEGER ;
28604 
28605  TYPE L_CSR IS REF CURSOR;
28606  L_GET_UPG_CSR           L_CSR ;
28607  L_RGP_ID                NUMBER;
28608  L_CLE_ID                NUMBER;
28609  L_CHR_ID                NUMBER;
28610  L_DNZ_CHR_ID                NUMBER;
28611  L_STMT                  VARCHAR2(2000);
28612  L_RIC                   VARCHAR2(3);
28613  L_MAJOR_VERSION         NUMBER;
28614 
28615  L_COUNT                 NUMBER;
28616  L_DELETE_RGP_ID         L_NUM_TBL;
28617  L_DELETE_COUNT          L_NUM_TBL;
28618  L_DELETE_CATEGORY       L_CHR_TBL;
28619 
28620  L_RETURN_STATUS         VARCHAR2(1);
28621  I                       NUMBER := 0;
28622 
28623  ----------------------------------------------------------------
28624 ----------For NLS Numeric Characters---------------------------
28625 -----------------------------------------------------------------
28626 l_format varchar2(200);
28627 l_us_yn boolean;
28628 
28629 CURSOR l_nls_csr is
28630 select   c.profile_option_value
28631   from   fnd_profile_options p,
28632          fnd_profile_option_values c
28633  where   p.profile_option_name = 'ICX_NUMERIC_CHARACTERS'
28634    and   p.start_date_active  <= sysdate
28635    and   nvl(p.end_date_active, sysdate) >= sysdate
28636    and   c.profile_option_id = p.profile_option_id
28637    and   c.application_id    = p.application_id
28638    and   c.level_id          = 10001
28639    and   c.level_value       = 0;
28640 ------------------------------------------------------------------
28641 
28642 
28643 BEGIN
28644 
28645  open  l_nls_csr;
28646  fetch l_nls_csr into l_format;
28647  close l_nls_csr;
28648  if SUBSTR(l_format,0,1) = ',' THEN
28649     l_us_yn := false;
28650  else
28651     l_us_yn := true;
28652  end if;
28653 
28654 
28655 
28656   L_STMT :=  ' SELECT RGP_ID ,CLE_ID , CHR_ID, DNZ_CHR_ID ' ||
28657              ' ,SUM(COUNT(*)) OVER (ORDER BY RGP_ID ROWS UNBOUNDED PRECEDING) '||
28658 --             ' ,DECODE(RULE_INFORMATION_CATEGORY,''SLL'' ,''SLL'',''CVR'' ,''CVR'', ''RCN'' ,''RCN'',''RSN'',''RSN'',''ALL'') '||
28659              ' ,RIC_CODE , Major_version'||
28660 	     ' FROM OKS_RULE_UPGRADE '||
28661              ' WHERE RGP_ID BETWEEN :1 AND :2 '||
28662              ' GROUP BY RGP_ID , CLE_ID, CHR_ID, DNZ_CHR_ID '||
28663 --             ' ,DECODE(RULE_INFORMATION_CATEGORY,''SLL'' ,''SLL'',''CVR'' ,''CVR'', ''RCN'' ,''RCN'',''RSN'', ''RSN'' ,''ALL'') ' ;
28664              ' ,RIC_CODE,Major_version ';
28665 
28666   OPEN L_GET_UPG_CSR FOR L_STMT USING P_ID_LOW , P_ID_HI ;
28667   LOOP
28668      FETCH L_GET_UPG_CSR INTO L_RGP_ID ,  L_CLE_ID, L_CHR_ID,L_DNZ_CHR_ID, L_COUNT , L_RIC,L_MAJOR_VERSION;
28669      EXIT WHEN L_GET_UPG_CSR%NOTFOUND;
28670 
28671      L_RETURN_STATUS:=NULL;
28672 
28673      IF L_CLE_ID IS NOT NULL AND L_RIC = 'ALL' AND L_MAJOR_VERSION IS NULL THEN
28674         -----------------------------------------------
28675         -- Call Line RULE Synchronization procedure
28676 	-----------------------------------------------
28677         SYNCHRONIZE_RULE_LINE(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,l_us_yn,L_RETURN_STATUS);
28678         IF L_RETURN_STATUS = 'S' then
28679            I := I+1;
28680            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28681            IF (I-1) = 0 THEN
28682               L_DELETE_COUNT(I)    := L_COUNT+1;
28683            ELSE
28684               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28685            END IF;
28686            L_DELETE_CATEGORY(I) := 'ALL';
28687         END IF;
28688      ELSIF L_CLE_ID IS NOT NULL AND L_RIC = 'ALL' AND L_MAJOR_VERSION IS NOT NULL THEN
28689         -----------------------------------------------
28690         -- Call Line History  RULE Synchronization procedure
28691 	-----------------------------------------------
28692         SYNCHRONIZE_RULE_LINEH(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,L_MAJOR_VERSION,l_us_yn,L_RETURN_STATUS);
28693         IF L_RETURN_STATUS = 'S' then
28694            I := I+1;
28695            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28696            IF (I-1) = 0 THEN
28697               L_DELETE_COUNT(I)    := L_COUNT+1;
28698            ELSE
28699               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28700            END IF;
28701            L_DELETE_CATEGORY(I) := 'ALL';
28702         END IF;
28703      ELSIF L_CHR_ID IS NOT NULL AND L_RIC = 'ALL' AND L_MAJOR_VERSION IS NULL THEN
28704         -----------------------------------------------
28705         -- Call Header Rule Synchronization procedure
28706         -----------------------------------------------
28707         SYNCHRONIZE_RULE_HDR(L_RGP_ID,L_CHR_ID,l_us_yn,L_RETURN_STATUS);
28708         IF L_RETURN_STATUS = 'S' then
28709            I := I+1;
28710            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28711            IF (I-1) = 0 THEN
28712               L_DELETE_COUNT(I)    := L_COUNT+1;
28713            ELSE
28714               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28715            END IF;
28716            L_DELETE_CATEGORY(I) := 'ALL';
28717         END IF;
28718      ELSIF L_CHR_ID IS NOT NULL AND L_RIC = 'ALL' AND L_MAJOR_VERSION IS NOT NULL THEN
28719         -----------------------------------------------
28720         -- Call Header History Rule Synchronization procedure
28721         -----------------------------------------------
28722         SYNCHRONIZE_RULE_HDRH(L_RGP_ID,L_CHR_ID,L_MAJOR_VERSION,l_us_yn,L_RETURN_STATUS);
28723         IF L_RETURN_STATUS = 'S' then
28724            I := I+1;
28725            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28726            IF (I-1) = 0 THEN
28727               L_DELETE_COUNT(I)    := L_COUNT+1;
28728            ELSE
28729               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28730            END IF;
28731            L_DELETE_CATEGORY(I) := 'ALL';
28732         END IF;
28733      ELSIF L_CLE_ID IS NOT NULL AND L_RIC = 'IGS' AND  L_MAJOR_VERSION IS NULL THEN
28734         -----------------------------------------------
28735         -- CAll Covereage Migration procedure
28736 
28737 	SYNCHRONIZE_RULE_CVR(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,NULL,L_RETURN_STATUS);
28738         -----------------------------------------------
28739 
28740         IF L_RETURN_STATUS = 'S' then
28741            I := I+1;
28742            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28743            IF (I-1) = 0 THEN
28744               L_DELETE_COUNT(I)    := L_COUNT+1;
28745            ELSE
28746               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28747            END IF;
28748            L_DELETE_CATEGORY(I) := 'IGS';
28749         END IF;
28750      ELSIF L_CLE_ID IS NOT NULL AND L_RIC = 'IGS' AND  L_MAJOR_VERSION IS NOT NULL THEN
28751         -----------------------------------------------
28752         -- CAll Covereage History Migration procedure
28753 
28754 	SYNCHRONIZE_RULE_CVR(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,L_MAJOR_VERSION,L_RETURN_STATUS);
28755         -----------------------------------------------
28756 
28757         IF L_RETURN_STATUS = 'S' then
28758            I := I+1;
28759            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28760            IF (I-1) = 0 THEN
28761               L_DELETE_COUNT(I)    := L_COUNT+1;
28762            ELSE
28763               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28764            END IF;
28765            L_DELETE_CATEGORY(I) := 'IGS';
28766         END IF;
28767 
28768      ELSIF L_CLE_ID IS NOT NULL AND L_RIC = 'OFS' THEN
28769         -----------------------------------------------
28770         -- CAll Covereage Migration procedure
28771 
28772 	SYNCHRONIZE_RULE_OFS(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,L_MAJOR_VERSION,L_RETURN_STATUS);
28773         -----------------------------------------------
28774 
28775         IF L_RETURN_STATUS = 'S' then
28776            I := I+1;
28777            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28778            IF (I-1) = 0 THEN
28779               L_DELETE_COUNT(I)    := L_COUNT+1;
28780            ELSE
28781               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28782            END IF;
28783            L_DELETE_CATEGORY(I) := 'OFS';
28784         END IF;
28785 
28786      ELSIF L_CLE_ID IS NOT NULL AND L_RIC IN ( 'RIN' ) AND  L_MAJOR_VERSION IS NULL THEN
28787         FND_FILE.PUT_LINE(FND_FILE.LOG ,'Beforre Call');
28788 
28789         -----------------------------------------------
28790 	SYNCHRONIZE_RULE_ATM(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,L_RETURN_STATUS);
28791         -----------------------------------------------
28792         FND_FILE.PUT_LINE(FND_FILE.LOG ,'After Call'||l_return_status);
28793         IF L_RETURN_STATUS = 'S' then
28794            I := I+1;
28795            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28796            IF (I-1) = 0 THEN
28797               L_DELETE_COUNT(I)    := L_COUNT+1;
28798            ELSE
28799               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28800            END IF;
28801            L_DELETE_CATEGORY(I) := 'RIN';
28802         END IF;
28803 
28804      ELSIF L_CLE_ID IS NOT NULL AND L_RIC IN ( 'RIN' ) AND  L_MAJOR_VERSION IS NOT NULL THEN
28805         -----------------------------------------------
28806 	SYNCHRONIZE_RULE_ATMH(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,L_MAJOR_VERSION,L_RETURN_STATUS);
28807         -----------------------------------------------
28808         IF L_RETURN_STATUS = 'S' then
28809            I := I+1;
28810            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28811            IF (I-1) = 0 THEN
28812               L_DELETE_COUNT(I)    := L_COUNT+1;
28813            ELSE
28814               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28815            END IF;
28816            L_DELETE_CATEGORY(I) := 'RIN';
28817         END IF;
28818      ELSIF L_CLE_ID IS NOT NULL AND L_RIC IN ( 'PML' ) AND  L_MAJOR_VERSION IS NULL THEN
28819         -----------------------------------------------
28820 	SYNCHRONIZE_RULE_PML(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,L_RETURN_STATUS);
28821         -----------------------------------------------
28822         IF L_RETURN_STATUS = 'S' then
28823            I := I+1;
28824            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28825            IF (I-1) = 0 THEN
28826               L_DELETE_COUNT(I)    := L_COUNT+1;
28827            ELSE
28828               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28829            END IF;
28830            L_DELETE_CATEGORY(I) := 'PML';
28831         END IF;
28832      ELSIF L_CLE_ID IS NOT NULL AND L_RIC='SLL'  THEN
28833         -----------------------------------------------
28834 	SYNCHRONIZE_RULE_SLL(L_RGP_ID,L_CLE_ID,l_us_yn,L_RETURN_STATUS);
28835         -----------------------------------------------
28836         IF L_RETURN_STATUS = 'S' then
28837            I := I+1;
28838            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28839            IF (I-1) = 0 THEN
28840               L_DELETE_COUNT(I)    := L_COUNT+1;
28841            ELSE
28842               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28843            END IF;
28844            L_DELETE_CATEGORY(I) := 'SLL';
28845         END IF;
28846      ELSIF L_CHR_ID IS NOT NULL AND L_CLE_ID IS NULL AND L_RIC='SLL'  THEN
28847 	   -----------------------------------------------
28848 	 SYNCHRONIZE_RULE_SLLH(L_RGP_ID,L_CHR_ID,l_us_yn,L_RETURN_STATUS);
28849 	    -----------------------------------------------
28850        IF L_RETURN_STATUS = 'S' then
28851           I := I+1;
28852 	     L_DELETE_RGP_ID(I)   := L_RGP_ID;
28853 		IF (I-1) = 0 THEN
28854 		    L_DELETE_COUNT(I)    := L_COUNT+1;
28855      	ELSE
28856 		    L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28857      	END IF;
28858           L_DELETE_CATEGORY(I) := 'SLL';
28859        END IF;
28860      ELSIF L_CLE_ID IS NOT NULL AND L_RIC IN ( 'PML' ) AND  L_MAJOR_VERSION IS NOT NULL THEN
28861         -----------------------------------------------
28862 	--SYNCHRONIZE_RULE_PML(L_RGP_ID,L_CLE_ID,L_DNZ_CHR_ID,L_RETURN_STATUS);
28863         -----------------------------------------------
28864         --IF L_RETURN_STATUS = 'S' then
28865            I := I+1;
28866            L_DELETE_RGP_ID(I)   := L_RGP_ID;
28867            IF (I-1) = 0 THEN
28868               L_DELETE_COUNT(I)    := L_COUNT+1;
28869            ELSE
28870               L_DELETE_COUNT(I)    :=L_COUNT - L_DELETE_COUNT(I-1)+2;
28871            END IF;
28872            L_DELETE_CATEGORY(I) := 'PML';
28873         --END IF;
28874      END IF;
28875 
28876   ------------------------------------------------------------------
28877   -- Do commit after every 500 procedure calls                     --
28878   ------------------------------------------------------------------
28879      IF L_DELETE_RGP_ID.COUNT > 500 THEN
28880         BEGIN
28881            FORALL X IN L_DELETE_COUNT.FIRST..L_DELETE_COUNT.LAST
28882              DELETE /*+ PARALLEL(OKS) */
28883                FROM  OKS_RULE_UPGRADE OKS
28884               WHERE RGP_ID = L_DELETE_RGP_ID(X)
28885                 AND RIC_CODE = L_DELETE_CATEGORY(X)
28886                 AND ROWNUM < L_DELETE_COUNT(X);
28887 
28888         I := 0;
28889         FND_FILE.PUT_LINE(FND_FILE.LOG ,'Number of records synchronized: '||L_DELETE_RGP_ID.COUNT);
28890         L_DELETE_RGP_ID.DELETE;
28891         L_DELETE_CATEGORY.DELETE;
28892         L_DELETE_COUNT.DELETE;
28893         COMMIT;
28894 
28895         EXCEPTION WHEN OTHERS THEN
28896             ROLLBACK;
28897         END;
28898     END IF;
28899 
28900   END LOOP;
28901   CLOSE l_GET_UPG_CSR;
28902 
28903   ------------------------------------------------------------------
28904   -- The Following logic is to process any left over records      --
28905   ------------------------------------------------------------------
28906   IF L_DELETE_RGP_ID.COUNT > 0 THEN
28907         BEGIN
28908            FORALL X IN L_DELETE_COUNT.FIRST..L_DELETE_COUNT.LAST
28909              DELETE /*+ PARALLEL(OKS) */
28910                FROM  OKS_RULE_UPGRADE OKS
28911               WHERE RGP_ID = L_DELETE_RGP_ID(X)
28912                 AND RIC_CODE = L_DELETE_CATEGORY(X)
28913                 AND ROWNUM < L_DELETE_COUNT(X);
28914 
28915         I := 0;
28916         FND_FILE.PUT_LINE(FND_FILE.LOG ,'Number of records synchronized: '||L_DELETE_RGP_ID.COUNT);
28917         L_DELETE_RGP_ID.DELETE;
28918         L_DELETE_CATEGORY.DELETE;
28919         L_DELETE_COUNT.DELETE;
28920         COMMIT;
28921 
28922         EXCEPTION WHEN OTHERS THEN
28923             ROLLBACK;
28924         END;
28925     END IF;
28926 
28927 
28928 END;
28929 
28930 -----------------------------------------------------------------------------------------
28931 -- This is the  Procedure called from the procedure SYNCHRONIZE_RULE_DATA_SUBREQ         --
28932 --   code for -Synchronize Header rule data         --
28933 -----------------------------------------------------------------------------------------
28934 
28935 
28936 
28937 PROCEDURE SYNCHRONIZE_RULE_HDR(
28938     P_RGP_ID          IN NUMBER,
28939     P_CHR_ID          IN NUMBER,
28940     p_us_yn           in BOOLEAN,
28941     x_return_status            out NOCOPY VARCHAR2)
28942 
28943 IS
28944 
28945 
28946 DNZ_CHR_ID                NUMBER ;
28947 ACCT_RULE_ID              NUMBER ;
28948 L_PAYMENT_TYPE              VARCHAR2(2000) ;
28949 L_CC_NO                     VARCHAR2(2000) ;
28950 CC_EXPIRY_DATE            date;
28951 CC_BANK_ACCT_ID           NUMBER ;
28952 L_CC_AUTH_CODE              VARCHAR2(2000) ;
28953 GRACE_DURATION            NUMBER ;
28954 L_GRACE_PERIOD              VARCHAR2(2000) ;
28955 EST_REV_PERCENT           NUMBER ;
28956 EST_REV_DATE              date;
28957 L_INVOICE_TEXT              VARCHAR2(2000) ;
28958 L_INV_PRINT_FLAG            VARCHAR2(2000) ;
28959 L_PRICE_UOM                 VARCHAR2(2000) ;
28960 TAX_AMOUNT                NUMBER ;
28961 L_TAX_INCLUSIVE_YN          VARCHAR2(2000) ;
28962 L_TAX_STATUS                VARCHAR2(2000) ;
28963 TAX_CODE                  NUMBER ;
28964 TAX_EXEMPTION_ID          NUMBER ;
28965 L_BILLING_SCHEDULE_TYPE     VARCHAR2(2000) ;
28966 CUST_ACCT_ID              NUMBER ;
28967 BILL_TO_SITE_USE_ID       NUMBER ;
28968 INV_RULE_ID               NUMBER ;
28969 L_RENEWAL_TYPE_CODE         VARCHAR2(2000) ;
28970 RENEWAL_NOTIFY_TO         NUMBER ;
28971 RENEWAL_END_DATE          date;
28972 SHIP_TO_SITE_USE_ID       NUMBER ;
28973 PAYMENT_TERM_ID           NUMBER ;
28974 BILLING_PROFILE_ID        NUMBER ;
28975 L_RENEWAL_STATUS            VARCHAR2(2000) ;
28976 L_ELECTRONIC_RENEWAL_FLAG   VARCHAR2(2000) ;
28977 QUOTE_TO_CONTACT_ID       NUMBER ;
28978 QUOTE_TO_SITE_ID          NUMBER ;
28979 QUOTE_TO_EMAIL_ID         NUMBER ;
28980 QUOTE_TO_PHONE_ID         NUMBER ;
28981 QUOTE_TO_FAX_ID           NUMBER ;
28982 L_RENEWAL_PO_REQUIRED       VARCHAR2(2000) ;
28983 RENEWAL_PRICE_LIST        NUMBER ;
28984 L_RENEWAL_PRICING_TYPE      VARCHAR2(2000) ;
28985 RENEWAL_MARKUP_PERCENT    NUMBER ;
28986 RENEWAL_GRACE_DURATION    NUMBER ;
28987 L_RENEWAL_GRACE_PERIOD      VARCHAR2(2000) ;
28988 RENEWAL_EST_REV_PERCENT   NUMBER ;
28989 RENEWAL_EST_REV_DURATION  NUMBER ;
28990 L_RENEWAL_EST_REV_PERIOD    VARCHAR2(2000) ;
28991 RENEWAL_PRICE_LIST_USED   NUMBER ;
28992 L_RENEWAL_TYPE_USED         VARCHAR2(2000) ;
28993 RENEWAL_NOTIFICATION_TO   NUMBER ;
28994 L_RENEWAL_PO_USED           VARCHAR2(2000) ;
28995 L_RENEWAL_PRICING_TYPE_USED VARCHAR2(2000) ;
28996 RENEWAL_MARKUP_PERCENT_USED   NUMBER ;
28997 REV_EST_PERCENT_USED      NUMBER ;
28998 REV_EST_DURATION_USED     NUMBER ;
28999 BILLING_PROFILE_USED      NUMBER ;
29000 L_REV_EST_PERIOD_USED       VARCHAR2(2000) ;
29001 L_ERN_FLAG_USED_YN          VARCHAR2(2000) ;
29002 EVN_THRESHOLD_AMT         NUMBER ;
29003 L_EVN_THRESHOLD_CUR         VARCHAR2(2000) ;
29004 ERN_THRESHOLD_AMT         NUMBER ;
29005 L_ERN_THRESHOLD_CUR         VARCHAR2(2000) ;
29006 RENEWAL_GRACE_DURATION_USED   NUMBER ;
29007 L_RENEWAL_GRACE_PERIOD_USED VARCHAR2(2000) ;
29008 L_INV_TRX_TYPE              VARCHAR2(2000) ;
29009 L_INV_PRINT_PROFILE         VARCHAR2(2000) ;
29010 L_RENEWAL_PO_NUMBER         VARCHAR2(2000) ;
29011 L_AR_INTERFACE_YN           VARCHAR2(2000) ;
29012 L_HOLD_BILLING              VARCHAR2(2000) ;
29013 L_SUMMARY_TRX_YN            VARCHAR2(2000) ;
29014 L_SERVICE_PO_NUMBER         VARCHAR2(2000) ;
29015 L_SERVICE_PO_REQUIRED       VARCHAR2(2000) ;
29016 PRICE_LIST_ID             NUMBER ;
29017 L_CONVERSION_TYPE           VARCHAR2(2000) ;
29018 CONVERSION_RATE           NUMBER ;
29019 CONVERSION_RATE_DATE      date;
29020 CONVERSION_EURO_RATE      NUMBER ;
29021 
29022 
29023 
29024 -- FOLLOWING ARE NUMBER FIELDS --
29025 ACCT_RULE_ID_CHR              VARCHAR2(2000) ;
29026 CC_BANK_ACCT_ID_CHR           VARCHAR2(2000) ;
29027 GRACE_DURATION_CHR            VARCHAR2(2000) ;
29028 EST_REV_PERCENT_CHR           VARCHAR2(2000) ;
29029 TAX_AMOUNT_CHR                VARCHAR2(2000) ;
29030 TAX_CODE_CHR                  VARCHAR2(2000) ;
29031 TAX_EXEMPTION_ID_CHR          VARCHAR2(2000) ;
29032 CUST_ACCT_ID_CHR              VARCHAR2(2000) ;
29033 BILL_TO_SITE_USE_ID_CHR       VARCHAR2(2000) ;
29034 INV_RULE_ID_CHR               VARCHAR2(2000) ;
29035 RENEWAL_NOTIFY_TO_CHR         VARCHAR2(2000) ;
29036 SHIP_TO_SITE_USE_ID_CHR       VARCHAR2(2000) ;
29037 PAYMENT_TERM_ID_CHR           VARCHAR2(2000) ;
29038 BILLING_PROFILE_ID_CHR        VARCHAR2(2000) ;
29039 QUOTE_TO_CONTACT_ID_CHR       VARCHAR2(2000) ;
29040 QUOTE_TO_SITE_ID_CHR          VARCHAR2(2000) ;
29041 QUOTE_TO_EMAIL_ID_CHR         VARCHAR2(2000) ;
29042 QUOTE_TO_PHONE_ID_CHR         VARCHAR2(2000) ;
29043 QUOTE_TO_FAX_ID_CHR           VARCHAR2(2000) ;
29044 RENEWAL_PRICE_LIST_CHR        VARCHAR2(2000) ;
29045 RENEWAL_MARKUP_PERCENT_CHR    VARCHAR2(2000) ;
29046 RENEWAL_GRACE_DURATION_CHR    VARCHAR2(2000) ;
29047 RENEWAL_EST_REV_PERCENT_CHR   VARCHAR2(2000) ;
29048 RENEWAL_EST_REV_DURATION_CHR  VARCHAR2(2000) ;
29049 RENEWAL_PRICE_LIST_USED_CHR   VARCHAR2(2000) ;
29050 RENEWAL_NOTIFICATION_TO_CHR   VARCHAR2(2000) ;
29051 RENEWAL_MARKUP_PERCENT_USED_CH VARCHAR2(2000) ;
29052 REV_EST_PERCENT_USED_CHR      VARCHAR2(2000) ;
29053 REV_EST_DURATION_USED_CHR     VARCHAR2(2000) ;
29054 BILLING_PROFILE_USED_CHR      VARCHAR2(2000) ;
29055 EVN_THRESHOLD_AMT_CHR         VARCHAR2(2000) ;
29056 ERN_THRESHOLD_AMT_CHR         VARCHAR2(2000) ;
29057 RENEWAL_GRACE_DURATION_USED_CH VARCHAR2(2000) ;
29058 PRICE_LIST_ID_CHR             VARCHAR2(2000) ;
29059 CONVERSION_RATE_CHR           VARCHAR2(2000) ;
29060 CONVERSION_EURO_RATE_CHR      VARCHAR2(2000) ;
29061 
29062 -- FOLLOWING ARE DATE FIELDS --
29063 CC_EXPIRY_DATE_CHR            VARCHAR2(2000) ;
29064 EST_REV_DATE_CHR              VARCHAR2(2000) ;
29065 RENEWAL_END_DATE_CHR          VARCHAR2(2000) ;
29066 CONVERSION_RATE_DATE_CHR      VARCHAR2(2000) ;
29067 
29068 --Misc Variables --
29069 L_ATTRIBUTE_NAME              VARCHAR2(2000);
29070 L_ERROR_MSG                   VARCHAR2(2000);
29071 l_check_var                   VARCHAR2(1);
29072 l_check_var1                  VARCHAR2(1);
29073 
29074 MAIN_EXCEPTION              EXCEPTION;
29075 VAL_EXCEPTION               EXCEPTION;
29076 LOCK_EXCEPTION              EXCEPTION;
29077 L_LOCK_ID                   NUMBER;
29078 
29079 CURSOR L_LOCK_HDR_CSR (p_id in number ) IS
29080 SELECT ID
29081 FROM OKC_K_HEADERS_B
29082 WHERE ID = P_ID
29083 FOR UPDATE NOWAIT;
29084 
29085 
29086 
29087 
29088 Eflag                        NUMBER;
29089 Emsg                         VARCHAR2(2000);
29090 
29091 CURSOR l_hdr_rule_csr (p_id in NUMBER)is
29092 SELECT
29093        -- Checked in gsidev no conversion needed.
29094        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
29095        --               '!,.','!')                                                           ACCT_RULE_ID
29096         MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                   ACCT_RULE_ID
29097        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                             PAYMENT_TYPE
29098        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))             CC_NO
29099        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
29100                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CC_EXPIRY_DATE
29101        -- Checked in gsidev no conversion needed.
29102        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
29103        --               '!,.' , '!')                                                         CC_BANK_ACCT_ID
29104        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))             CC_BANK_ACCT_ID
29105 
29106        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))             CC_AUTH_CODE
29107        -- Checked in gsidev no conversion needed.
29108        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
29109        --               '!,.','!')                                                           GRACE_DURATION
29110        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))             GRACE_DURATION
29111        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))             GRACE_PERIOD
29112        -- Checked in gsidev no conversion needed.
29113        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
29114        --               '!,','!')                                                            EST_REV_PERCENT
29115        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1))             EST_REV_PERCENT
29116        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,
29117                     to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                  EST_REV_DATE
29118        -- Checked in gsidev conversion needed.
29119        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
29120                       '!,' ,'!' )                                                            TAX_AMOUNT
29121        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))             TAX_STATUS
29122        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
29123                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' , '!')     TAX_CODE
29124        -- Checked in gsidev no conversion needed.
29125        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
29126        --               '!,.','!')                                                             TAX_EXEMPTION_ID
29127        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                  TAX_EXEMPTION_ID
29128        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))             BILLING_SCHEDULE_TYPE
29129        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
29130                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )   BILLING_SCHEDULE_TYPE
29131        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
29132                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_- ,.','!')       BILLING_PROFILE_ID
29133        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION2))             RENEWAL_STATUS
29134        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION3))             ELECTRONIC_RENEWAL_FLAG
29135        -- Checked in gsidev no conversion needed.
29136        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
29137        --               '!,.' ,'!')                                                          QUOTE_TO_CONTACT_ID
29138        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1))                   QUOTE_TO_CONTACT_ID
29139        -- Checked in gsidev no conversion needed.
29140        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
29141        --               '!,.','!')                                                           QUOTE_TO_SITE_ID
29142        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4))            QUOTE_TO_SITE_ID
29143        -- Checked in gsidev no conversion needed.
29144        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
29145        --               '!,.','!')                                                           QUOTE_TO_EMAIL_ID
29146        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1))             QUOTE_TO_EMAIL_ID
29147        -- Checked in gsidev no conversion needed.
29148        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
29149        --               '!,.','!')                                                           QUOTE_TO_PHONE_ID
29150        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2))             QUOTE_TO_PHONE_ID
29151        -- Checked in gsidev no conversion needed.
29152        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
29153        --               '!,.','!')                                                           QUOTE_TO_FAX_ID
29154        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3))             QUOTE_TO_FAX_ID
29155        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPO' ,RUL.RULE_INFORMATION1))             RENEWAL_PO_REQUIRED
29156        -- Checked in gsidev no conversion needed.
29157        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
29158        --               '!,.','!')                                                           RENEWAL_PRICE_LIST
29159        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST
29160        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION1))             RENEWAL_PRICING_TYPE
29161        -- Checked in gsidev no conversion needed.
29162        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
29163        --               '!%,' ,'!')                                                          RENEWAL_MARKUP_PERCENT
29164        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2))             RENEWAL_MARKUP_PERCENT
29165        -- Checked in gsidev no conversion needed.
29166        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
29167        --               '!,.','!')                                                           RENEWAL_GRACE_DURATION
29168        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3))             RENEWAL_GRACE_DURATION
29169        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION4))             RENEWAL_GRACE_PERIOD
29170        -- Checked in gsidev no conversion needed.
29171        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
29172        --               '!%,' ,'!')                                                          RENEWAL_EST_REV_PERCENT
29173        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1))             RENEWAL_EST_REV_PERCENT
29174        -- Checked in gsidev no conversion needed.
29175        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
29176        --               '!,.','!')                                                           RENEWAL_EST_REV_DURATION
29177        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2))             RENEWAL_EST_REV_DURATION
29178        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION3))             RENEWAL_EST_REV_PERIOD
29179        -- Checked in gsidev no conversion needed.
29180        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
29181        --               '!,.','!')                                                           RENEWAL_PRICE_LIST_USED
29182        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST_USED
29183        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_USED
29184        -- Checked in gsidev no conversion needed.
29185        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
29186        --               '!,.','!')                                                           RENEWAL_NOTIFICATION_TO
29187        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFICATION_TO
29188        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION3))             RENEWAL_PO_USED
29189        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION4))             RENEWAL_PRICING_TYPE_USED
29190        -- Checked in gsidev no conversion needed.
29191        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
29192        --               '!,%' ,'!')                                                          RENEWAL_MARKUP_PERCENT_USED
29193        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5))             RENEWAL_MARKUP_PERCENT_USED
29194        -- Checked in gsidev conversion needed.
29195        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
29196                       '!%,' ,'!')                                                            REV_EST_PERCENT_USED
29197        -- Checked in gsidev no conversion needed.
29198        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
29199        --               '!,.','!')                                                           REV_EST_DURATION_USED
29200        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7))             REV_EST_DURATION_USED
29201        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION8))             REV_EST_PERIOD_USED
29202        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
29203                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')        BILLING_PROFILE_USED
29204        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION10))            ERN_FLAG_USED_YN
29205        -- Checked in gsidev no conversion needed.
29206        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
29207        --              '!,' ,'!')                                                            EVN_THRESHOLD_AMT
29208        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11))            EVN_THRESHOLD_AMT
29209        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION12))            EVN_THRESHOLD_CUR
29210        -- Checked in gsidev no conversion needed.
29211        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
29212        --              '!,' ,'!')                                                            ERN_THRESHOLD_AMT
29213        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13))            ERN_THRESHOLD_AMT
29214        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION14))            ERN_THRESHOLD_CUR
29215        -- Checked in gsidev no conversion needed.
29216        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
29217        --              '!,.','!')                                                            RENEWAL_GRACE_DURATION_USED
29218        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1))             RENEWAL_GRACE_DURATION_USED
29219        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION2))             RENEWAL_GRACE_PERIOD_USED
29220        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.OBJECT1_ID1))                   INV_TRX_TYPE
29221        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION9))             INV_PRINT_PROFILE
29222        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION10))            RENEWAL_PO_NUMBER
29223        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION11))            AR_INTERFACE_YN
29224        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION12))            HOLD_BILLING
29225        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION13))            SUMMARY_TRX_YN
29226        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION1))             SERVICE_PO_NUMBER
29227        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION2))             SERVICE_PO_REQUIRED
29228        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.OBJECT1_ID1))                   CONVERSION_TYPE       --OKC
29229        -- needs translation
29230        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
29231                      '!,','!')                                                               CONVERSION_RATE       --OKC
29232        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,
29233                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CONVERSION_RATE_DATE  --OKC
29234         -- needs translation
29235        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
29236                      '!,','!')                                                               CONVERSION_EURO_RATE  --OKC
29237        -- Checked in gsidev no conversion needed.
29238        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
29239        --              '!,.','!')                                                            CUST_ACCT_ID          --OKC
29240        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                   CUST_ACCT_ID          --OKC
29241        -- Checked in gsidev no conversion needed.
29242        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
29243        --              '!,.','!')                                                            BILL_TO_SITE_USE_ID   --OKC
29244        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                   BILL_TO_SITE_USE_ID   --OKC
29245        -- Checked in gsidev no conversion needed.
29246        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
29247        --              '!,.','!')                                                            INV_RULE_ID           --OKC
29248        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                   INV_RULE_ID           --OKC
29249        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_CODE     --OKC
29250        -- Checked in gsidev no conversion needed.
29251        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
29252        --              '!,.','!')                                                            RENEWAL_NOTIFY_TO     --OKC
29253        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFY_TO     --OKC
29254        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,
29255                   to_date(RUL.RULE_INFORMATION3,'yyyy/mm/dd hh24:mi:ss')))                    RENEWAL_END_DATE      --OKC
29256        -- Checked in gsidev no conversion needed.
29257        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
29258        --              '!,.','!')                                                            SHIP_TO_SITE_USE_ID   --OKC
29259        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                   SHIP_TO_SITE_USE_ID   --OKC
29260        -- Checked in gsidev no conversion needed.
29261        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
29262        --              '!,.','!')                                                            PAYMENT_TERM_ID       --OKC
29263        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                   PAYMENT_TERM_ID       --OKC
29264 
29265        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
29266                      '!,.','!')                                                              PRICE_LIST_ID         --OKC
29267 FROM OKC_RULE_GROUPS_B RGP
29268    , OKC_RULES_B RUL
29269 WHERE rgp.id = rul.rgp_id
29270   and rgp.chr_id = P_CHR_ID
29271   and rgp.rgd_code = 'SVC_K'
29272   AND   RUL.RULE_INFORMATION_CATEGORY IN
29273        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
29274         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
29275   and rgp.RGD_CODE = 'SVC_K'
29276   and rgp.id = P_ID;
29277 
29278 CURSOR l_hdr_rule_csr_nus (p_id in NUMBER)is
29279 SELECT
29280        -- Checked in gsidev no conversion needed.
29281        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
29282        --               '!,. ','!')                                                           ACCT_RULE_ID
29283         MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                   ACCT_RULE_ID
29284        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                             PAYMENT_TYPE
29285        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))             CC_NO
29286        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
29287                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CC_EXPIRY_DATE
29288        -- Checked in gsidev no conversion needed.
29289        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
29290        --               '!,. ' , '!')                                                         CC_BANK_ACCT_ID
29291        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))             CC_BANK_ACCT_ID
29292 
29293        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))             CC_AUTH_CODE
29294        -- Checked in gsidev no conversion needed.
29295        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
29296        --               '!,. ','!')                                                           GRACE_DURATION
29297        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))             GRACE_DURATION
29298        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))             GRACE_PERIOD
29299        -- Checked in gsidev no conversion needed.
29300        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
29301        --               '!. ','!')                                                            EST_REV_PERCENT
29302        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1))             EST_REV_PERCENT
29303        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,
29304                     to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                  EST_REV_DATE
29305        -- Checked in gsidev conversion needed.
29306        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
29307                       '!. ' ,'!' )                                                            TAX_AMOUNT
29308        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))             TAX_STATUS
29309        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
29310                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' , '!')     TAX_CODE
29311        -- Checked in gsidev no conversion needed.
29312        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
29313        --               '!,. ','!')                                                           TAX_EXEMPTION_ID
29314        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                   TAX_EXEMPTION_ID
29315        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))             BILLING_SCHEDULE_TYPE
29316        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
29317                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )   BILLING_SCHEDULE_TYPE
29318        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
29319                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ','!')       BILLING_PROFILE_ID
29320        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION2))             RENEWAL_STATUS
29321        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION3))             ELECTRONIC_RENEWAL_FLAG
29322        -- Checked in gsidev no conversion needed.
29323        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
29324        --               '!,. ' ,'!')                                                          QUOTE_TO_CONTACT_ID
29325        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1))                   QUOTE_TO_CONTACT_ID
29326        -- Checked in gsidev no conversion needed.
29327        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
29328        --               '!,. ','!')                                                           QUOTE_TO_SITE_ID
29329        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4))             QUOTE_TO_SITE_ID
29330        -- Checked in gsidev no conversion needed.
29331        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
29332        --               '!,. ','!')                                                           QUOTE_TO_EMAIL_ID
29333        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1))             QUOTE_TO_EMAIL_ID
29334        -- Checked in gsidev no conversion needed.
29335        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
29336        --               '!,. ','!')                                                           QUOTE_TO_PHONE_ID
29337        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2))             QUOTE_TO_PHONE_ID
29338        -- Checked in gsidev no conversion needed.
29339        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
29340        --               '!,. ','!')                                                           QUOTE_TO_FAX_ID
29341        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3))             QUOTE_TO_FAX_ID
29342        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPO' ,RUL.RULE_INFORMATION1))             RENEWAL_PO_REQUIRED
29343        -- Checked in gsidev no conversion needed.
29344        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
29345        --               '!,. ','!')                                                           RENEWAL_PRICE_LIST
29346        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST
29347        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION1))             RENEWAL_PRICING_TYPE
29348        -- Checked in gsidev no conversion needed.
29349        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
29350        --               '!%. ' ,'!')                                                          RENEWAL_MARKUP_PERCENT
29351        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2))             RENEWAL_MARKUP_PERCENT
29352        -- Checked in gsidev no conversion needed.
29353        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
29354        --               '!,. ','!')                                                           RENEWAL_GRACE_DURATION
29355        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3))             RENEWAL_GRACE_DURATION
29356        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION4))             RENEWAL_GRACE_PERIOD
29357        -- Checked in gsidev no conversion needed.
29358        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
29359        --               '!%. ' ,'!')                                                          RENEWAL_EST_REV_PERCENT
29360        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1))             RENEWAL_EST_REV_PERCENT
29361        -- Checked in gsidev no conversion needed.
29362        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
29363        --               '!,. ','!')                                                           RENEWAL_EST_REV_DURATION
29364        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2))             RENEWAL_EST_REV_DURATION
29365        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION3))             RENEWAL_EST_REV_PERIOD
29366        -- Checked in gsidev no conversion needed.
29367        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
29368        --               '!,. ','!')                                                           RENEWAL_PRICE_LIST_USED
29369        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST_USED
29370        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_USED
29371        -- Checked in gsidev no conversion needed.
29372        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
29373        --               '!,. ','!')                                                           RENEWAL_NOTIFICATION_TO
29374        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFICATION_TO
29375        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION3))             RENEWAL_PO_USED
29376        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION4))             RENEWAL_PRICING_TYPE_USED
29377        -- Checked in gsidev no conversion needed.
29378        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
29379        --               '!. %' ,'!')                                                          RENEWAL_MARKUP_PERCENT_USED
29380        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5))             RENEWAL_MARKUP_PERCENT_USED
29381        -- Checked in gsidev conversion needed.
29382        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
29383                       '!%. ' ,'!')                                                            REV_EST_PERCENT_USED
29384        -- Checked in gsidev no conversion needed.
29385        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
29386        --               '!,. ','!')                                                           REV_EST_DURATION_USED
29387        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7))             REV_EST_DURATION_USED
29388        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION8))             REV_EST_PERIOD_USED
29389        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
29390                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')        BILLING_PROFILE_USED
29391        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION10))            ERN_FLAG_USED_YN
29392        -- Checked in gsidev no conversion needed.
29393        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
29394        --              '!. ' ,'!')                                                            EVN_THRESHOLD_AMT
29395        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11))            EVN_THRESHOLD_AMT
29396        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION12))            EVN_THRESHOLD_CUR
29397        -- Checked in gsidev no conversion needed.
29398        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
29399        --              '!. ' ,'!')                                                            ERN_THRESHOLD_AMT
29400        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13))            ERN_THRESHOLD_AMT
29401        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION14))            ERN_THRESHOLD_CUR
29402        -- Checked in gsidev no conversion needed.
29403        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
29404        --              '!,. ','!')                                                            RENEWAL_GRACE_DURATION_USED
29405        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1))             RENEWAL_GRACE_DURATION_USED
29406        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION2))             RENEWAL_GRACE_PERIOD_USED
29407        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.OBJECT1_ID1))                   INV_TRX_TYPE
29408        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION9))             INV_PRINT_PROFILE
29409        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION10))            RENEWAL_PO_NUMBER
29410        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION11))            AR_INTERFACE_YN
29411        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION12))            HOLD_BILLING
29412        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION13))            SUMMARY_TRX_YN
29413        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION1))             SERVICE_PO_NUMBER
29414        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION2))             SERVICE_PO_REQUIRED
29415        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.OBJECT1_ID1))                   CONVERSION_TYPE       --OKC
29416        -- needs translation
29417        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
29418                      '!. ','!')                                                               CONVERSION_RATE       --OKC
29419        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,
29420                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CONVERSION_RATE_DATE  --OKC
29421         -- needs translation
29422        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
29423                      '!. ','!')                                                               CONVERSION_EURO_RATE  --OKC
29424        -- Checked in gsidev no conversion needed.
29425        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
29426        --              '!,. ','!')                                                            CUST_ACCT_ID          --OKC
29427        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                   CUST_ACCT_ID          --OKC
29428        -- Checked in gsidev no conversion needed.
29429        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
29430        --              '!,. ','!')                                                            BILL_TO_SITE_USE_ID   --OKC
29431        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                   BILL_TO_SITE_USE_ID   --OKC
29432        -- Checked in gsidev no conversion needed.
29433        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
29434        --              '!,. ','!')                                                            INV_RULE_ID           --OKC
29435        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                   INV_RULE_ID           --OKC
29436        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_CODE     --OKC
29437        -- Checked in gsidev no conversion needed.
29438        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
29439        --              '!,. ','!')                                                            RENEWAL_NOTIFY_TO     --OKC
29440        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFY_TO     --OKC
29441        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,
29442                   to_date(RUL.RULE_INFORMATION3,'yyyy/mm/dd hh24:mi:ss')))                    RENEWAL_END_DATE      --OKC
29443        -- Checked in gsidev no conversion needed.
29444        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
29445        --              '!,. ','!')                                                            SHIP_TO_SITE_USE_ID   --OKC
29446        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                   SHIP_TO_SITE_USE_ID   --OKC
29447        -- Checked in gsidev no conversion needed.
29448        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
29449        --              '!,. ','!')                                                            PAYMENT_TERM_ID       --OKC
29450        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                   PAYMENT_TERM_ID       --OKC
29451 
29452        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
29453                      '!,. ','!')                                                              PRICE_LIST_ID         --OKC
29454 FROM OKC_RULE_GROUPS_B RGP
29455    , OKC_RULES_B RUL
29456 WHERE rgp.id = rul.rgp_id
29457   and rgp.chr_id = P_CHR_ID
29458   and rgp.rgd_code = 'SVC_K'
29459   AND   RUL.RULE_INFORMATION_CATEGORY IN
29460        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
29461         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
29462   and rgp.RGD_CODE = 'SVC_K'
29463   and rgp.id = P_ID;
29464 
29465 ----------------------------------------------------------------------------
29466 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
29467 ----------------------------------------------------------------------------
29468 CURSOR L_HDR_DTLS_CSR ( P_HDR_ID  IN NUMBER , P_CATEGORY IN VARCHAR2 ) IS
29469 SELECT HDR.CONTRACT_NUMBER
29470      , HDR.CONTRACT_NUMBER_MODIFIER
29471      , RUL.ID
29472      , RGP.ID RGP_ID
29473  FROM  OKC_K_HEADERS_B HDR
29474      , OKC_RULE_GROUPS_B RGP
29475      , OKC_RULES_B RUL
29476 WHERE HDR.ID = P_HDR_ID
29477   AND RGP.DNZ_CHR_ID = P_HDR_ID
29478   AND RGP.CHR_ID = P_HDR_ID
29479   AND RGP.ID = RUL.RGP_ID
29480   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
29481   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
29482 
29483 L_HDR_DTLS_REC L_HDR_DTLS_CSR%ROWTYPE;
29484 
29485 -----------------------------------------------------------------
29486 --Cursor to check if the records corresponding to chr_id exists
29487 --in oks_k_headers_b
29488 -----------------------------------------------------------------
29489 Cursor Cur_KHdr_exists(p_chrid in number) IS
29490 select 'x'
29491 from  oks_k_headers_b
29492 where chr_id=p_chrid;
29493 
29494 -----------------------------------------------------------------
29495 --Cursor to check if the records corresponding to rgp_id exists
29496 --in okc_rule_groups_b
29497 -----------------------------------------------------------------
29498 Cursor Cur_RGP_exists(P_RGP_ID in number) IS
29499 select 'x'
29500 from  okc_rule_groups_b
29501 where id = P_RGP_ID
29502 and chr_id = P_CHR_ID;
29503 
29504 -----------------------------------------------------------------
29505 -- Newly added code to synchronize cc_no , po , Price list from--
29506 -- Header to Top lines                                         --
29507 -----------------------------------------------------------------
29508  l_payment_typei    varchar2(2000);
29509  l_cc_noi           varchar2(2000);
29510  l_cc_expiry_datei  date;
29511  --l_cc_bank_acct_idi number;
29512  --l_cc_auth_codei    varchar2(2000);
29513  l_cust_po_numberi  varchar2(2000);
29514  l_cust_po_number_req_yni varchar2(10);
29515  l_price_list_idi   number;
29516  l_dnz_chr_idi      number;
29517 
29518  CURSOR L_SYNHL_CSR ( p_id in NUMBER ) is
29519   select oks.payment_type
29520        , oks.cc_no
29521        , oks.cc_expiry_date
29522        --, oks.cc_bank_acct_id
29523        --, oks.cc_auth_code
29524        , okc.cust_po_number
29525        , okc.cust_po_number_req_yn
29526        , okc.price_list_id
29527        , okc.id
29528     from oks_k_headers_b oks
29529        , okc_k_headers_b okc
29530    where oks.chr_id = okc.id
29531      and oks.id = p_id;
29532 
29533 -------------------------------------------------------
29534 -- Cursor to lock okc_k_lines_b before going for update
29535 -------------------------------------------------------
29536  CURSOR L_LOCK_LINE_CSR (p_id in number ) IS
29537  SELECT 1
29538    FROM OKC_K_LINES_B
29539   WHERE DNZ_CHR_ID = P_ID
29540     AND LSE_ID in ( 1,12,19,46)
29541     FOR UPDATE NOWAIT;
29542 
29543 
29544 
29545 
29546 BEGIN
29547  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
29548  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Header Rule Data Synchronisation--------');
29549  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
29550 
29551 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
29552 
29553  BEGIN
29554  OPEN  L_LOCK_HDR_CSR( p_chr_id);
29555  FETCH L_LOCK_HDR_CSR into L_LOCK_ID;
29556  CLOSE L_LOCK_HDR_CSR;
29557  EXCEPTION
29558    WHEN OTHERS THEN
29559        RAISE LOCK_EXCEPTION;
29560  END;
29561 
29562 
29563 if(p_us_yn) THEN
29564     OPEN l_hdr_rule_csr(p_rgp_id);
29565     FETCH l_hdr_rule_csr into
29566                          ACCT_RULE_ID_CHR
29567                         ,L_PAYMENT_TYPE
29568                         ,L_CC_NO
29569                         ,CC_EXPIRY_DATE_CHR
29570                         ,CC_BANK_ACCT_ID_CHR
29571                         ,L_CC_AUTH_CODE
29572                         ,GRACE_DURATION_CHR
29573                         ,L_GRACE_PERIOD
29574                         ,EST_REV_PERCENT_CHR
29575                         ,EST_REV_DATE_CHR
29576                         ,TAX_AMOUNT_CHR
29577                         ,L_TAX_STATUS
29578                         ,TAX_CODE_CHR
29579                         ,TAX_EXEMPTION_ID_CHR
29580                         ,L_BILLING_SCHEDULE_TYPE
29581                         ,BILLING_PROFILE_ID_CHR
29582                         ,L_RENEWAL_STATUS
29583                         ,L_ELECTRONIC_RENEWAL_FLAG
29584                         ,QUOTE_TO_CONTACT_ID_CHR
29585                         ,QUOTE_TO_SITE_ID_CHR
29586                         ,QUOTE_TO_EMAIL_ID_CHR
29587                         ,QUOTE_TO_PHONE_ID_CHR
29588                         ,QUOTE_TO_FAX_ID_CHR
29589                         ,L_RENEWAL_PO_REQUIRED
29590                         ,RENEWAL_PRICE_LIST_CHR
29591                         ,L_RENEWAL_PRICING_TYPE
29592                         ,RENEWAL_MARKUP_PERCENT_CHR
29593                         ,RENEWAL_GRACE_DURATION_CHR
29594                         ,L_RENEWAL_GRACE_PERIOD
29595                         ,RENEWAL_EST_REV_PERCENT_CHR
29596                         ,RENEWAL_EST_REV_DURATION_CHR
29597                         ,L_RENEWAL_EST_REV_PERIOD
29598                         ,RENEWAL_PRICE_LIST_USED_CHR
29599                         ,L_RENEWAL_TYPE_USED
29600                         ,RENEWAL_NOTIFICATION_TO_CHR
29601                         ,L_RENEWAL_PO_USED
29602                         ,L_RENEWAL_PRICING_TYPE_USED
29603                         ,RENEWAL_MARKUP_PERCENT_USED_CH
29604                         ,REV_EST_PERCENT_USED_CHR
29605                         ,REV_EST_DURATION_USED_CHR
29606                         ,L_REV_EST_PERIOD_USED
29607                         ,BILLING_PROFILE_USED_CHR
29608                         ,L_ERN_FLAG_USED_YN
29609                         ,EVN_THRESHOLD_AMT_CHR
29610                         ,L_EVN_THRESHOLD_CUR
29611                         ,ERN_THRESHOLD_AMT_CHR
29612                         ,L_ERN_THRESHOLD_CUR
29613                         ,RENEWAL_GRACE_DURATION_USED_CH
29614                         ,L_RENEWAL_GRACE_PERIOD_USED
29615                         ,L_INV_TRX_TYPE
29616                         ,L_INV_PRINT_PROFILE
29617                         ,L_RENEWAL_PO_NUMBER
29618                         ,L_AR_INTERFACE_YN
29619                         ,L_HOLD_BILLING
29620                         ,L_SUMMARY_TRX_YN
29621                         ,L_SERVICE_PO_NUMBER
29622                         ,L_SERVICE_PO_REQUIRED
29623                         ,L_CONVERSION_TYPE                 --OKC
29624                         ,CONVERSION_RATE_CHR              --OKC
29625                         ,CONVERSION_RATE_DATE_CHR         --OKC
29626                         ,CONVERSION_EURO_RATE_CHR         --OKC
29627                         ,CUST_ACCT_ID_CHR                 --OKC
29628                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
29629                         ,INV_RULE_ID_CHR                  --OKC
29630                         ,L_RENEWAL_TYPE_CODE                --OKC
29631                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
29632                         ,RENEWAL_END_DATE_CHR             --OKC
29633                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
29634                         ,PAYMENT_TERM_ID_CHR              --OKC
29635                         ,PRICE_LIST_ID_CHR  ; --OKC
29636       close l_hdr_rule_csr;
29637    else
29638     OPEN l_hdr_rule_csr_nus(p_rgp_id);
29639 
29640     FETCH l_hdr_rule_csr_nus into
29641                          ACCT_RULE_ID_CHR
29642                         ,L_PAYMENT_TYPE
29643                         ,L_CC_NO
29644                         ,CC_EXPIRY_DATE_CHR
29645                         ,CC_BANK_ACCT_ID_CHR
29646                         ,L_CC_AUTH_CODE
29647                         ,GRACE_DURATION_CHR
29648                         ,L_GRACE_PERIOD
29649                         ,EST_REV_PERCENT_CHR
29650                         ,EST_REV_DATE_CHR
29651                         ,TAX_AMOUNT_CHR
29652                         ,L_TAX_STATUS
29653                         ,TAX_CODE_CHR
29654                         ,TAX_EXEMPTION_ID_CHR
29655                         ,L_BILLING_SCHEDULE_TYPE
29656                         ,BILLING_PROFILE_ID_CHR
29657                         ,L_RENEWAL_STATUS
29658                         ,L_ELECTRONIC_RENEWAL_FLAG
29659                         ,QUOTE_TO_CONTACT_ID_CHR
29660                         ,QUOTE_TO_SITE_ID_CHR
29661                         ,QUOTE_TO_EMAIL_ID_CHR
29662                         ,QUOTE_TO_PHONE_ID_CHR
29663                         ,QUOTE_TO_FAX_ID_CHR
29664                         ,L_RENEWAL_PO_REQUIRED
29665                         ,RENEWAL_PRICE_LIST_CHR
29666                         ,L_RENEWAL_PRICING_TYPE
29667                         ,RENEWAL_MARKUP_PERCENT_CHR
29668                         ,RENEWAL_GRACE_DURATION_CHR
29669                         ,L_RENEWAL_GRACE_PERIOD
29670                         ,RENEWAL_EST_REV_PERCENT_CHR
29671                         ,RENEWAL_EST_REV_DURATIOn_CHR
29672                         ,L_RENEWAL_EST_REV_PERIOD
29673                         ,RENEWAL_PRICE_LIST_USED_CHR
29674                         ,L_RENEWAL_TYPE_USED
29675                         ,RENEWAL_NOTIFICATION_TO_CHR
29676                         ,L_RENEWAL_PO_USED
29677                         ,L_RENEWAL_PRICING_TYPE_USED
29678                         ,RENEWAL_MARKUP_PERCENT_USED_CH
29679                         ,REV_EST_PERCENT_USED_CHR
29680                         ,REV_EST_DURATION_USED_CHR
29681                         ,L_REV_EST_PERIOD_USED
29682                         ,BILLING_PROFILE_USED_CHR
29683                         ,L_ERN_FLAG_USED_YN
29684                         ,EVN_THRESHOLD_AMT_CHR
29685                         ,L_EVN_THRESHOLD_CUR
29686                         ,ERN_THRESHOLD_AMT_CHR
29687                         ,L_ERN_THRESHOLD_CUR
29688                         ,RENEWAL_GRACE_DURATION_USED_CH
29689                         ,L_RENEWAL_GRACE_PERIOD_USED
29690                         ,L_INV_TRX_TYPE
29691                         ,L_INV_PRINT_PROFILE
29692                         ,L_RENEWAL_PO_NUMBER
29693                         ,L_AR_INTERFACE_YN
29694                         ,L_HOLD_BILLING
29695                         ,L_SUMMARY_TRX_YN
29696                         ,L_SERVICE_PO_NUMBER
29697                         ,L_SERVICE_PO_REQUIRED
29698                         ,L_CONVERSION_TYPE                 --OKC
29699                         ,CONVERSION_RATE_CHR              --OKC
29700                         ,CONVERSION_RATE_DATE_CHR         --OKC
29701                         ,CONVERSION_EURO_RATE_CHR         --OKC
29702                         ,CUST_ACCT_ID_CHR                 --OKC
29703                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
29704                         ,INV_RULE_ID_CHR                  --OKC
29705                         ,L_RENEWAL_TYPE_CODE                --OKC
29706                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
29707                         ,RENEWAL_END_DATE_CHR             --OKC
29708                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
29709                         ,PAYMENT_TERM_ID_CHR              --OKC
29710                         ,PRICE_LIST_ID_CHR  ; --OKC
29711 
29712 
29713       close l_hdr_rule_csr_nus;
29714    end if;
29715 
29716       --initialised to zero
29717       --if set to 1 means was set in insert or update
29718       -- if set to 2 means was set in delete
29719       Eflag:=0;
29720 
29721       Emsg:=NULL;
29722 
29723     --End of If to choose the cursor to be fetched --
29724     ------------------------------------------------------------------------------------
29725 
29726     ------------------------------------------------------------------------------------
29727    -- Begin of code to check if the row exists in oks_headers_b
29728 
29729       l_check_var:=NULL;
29730 
29731       Open Cur_KHdr_exists(P_CHR_ID);
29732       Fetch Cur_KHdr_exists into l_check_var;
29733       Close Cur_KHdr_exists;
29734 
29735       l_check_var1 := NULL;
29736       Open Cur_RGP_exists(P_RGP_ID);
29737       Fetch Cur_RGP_exists into l_check_var1;
29738       Close Cur_RGP_exists;
29739 
29740       If(l_check_var is NULL and l_check_var1 is not null ) THEN
29741 
29742 	  BEGIN
29743 	    UPDATE okc_k_headers_b SET
29744 	      CONVERSION_TYPE          =  L_CONVERSION_TYPE ,
29745               CONVERSION_RATE          =  CONVERSION_RATE_CHR ,
29746               CONVERSION_RATE_DATE     =  CONVERSION_RATE_DATE_CHR ,
29747               CONVERSION_EURO_RATE     =  CONVERSION_EURO_RATE_CHR ,
29748               CUST_ACCT_ID             =  CUST_ACCT_ID_CHR ,
29749               BILL_TO_SITE_USE_ID      =  BILL_TO_SITE_USE_ID_CHR  ,
29750               INV_RULE_ID              =  INV_RULE_ID_CHR ,
29751               RENEWAL_TYPE_CODE        =  L_RENEWAL_TYPE_CODE ,
29752               RENEWAL_NOTIFY_TO        =  RENEWAL_NOTIFY_TO_CHR ,
29753               RENEWAL_END_DATE         =  RENEWAL_END_DATE_CHR ,
29754               SHIP_TO_SITE_USE_ID      =  SHIP_TO_SITE_USE_ID_CHR ,
29755               PAYMENT_TERM_ID          =  PAYMENT_TERM_ID_CHR  ,
29756               PRICE_LIST_ID            =  PRICE_LIST_ID_CHR
29757 	    WHERE id = p_chr_id;
29758 
29759 	    EXCEPTION When others then
29760               Eflag:=1;
29761               Emsg :=SQLERRM;
29762 	  END;
29763 
29764           If( Eflag <> 1) Then
29765 	  BEGIN
29766 	     INSERT INTO oks_k_headers_b(
29767 	        ID
29768 	      ,CHR_ID
29769 	      ,ACCT_RULE_ID
29770 	      ,PAYMENT_TYPE
29771 	      ,CC_NO
29772 	      ,CC_EXPIRY_DATE
29773 	      ,CC_BANK_ACCT_ID
29774 	      ,CC_AUTH_CODE
29775 	      ,GRACE_DURATION
29776 	      ,GRACE_PERIOD
29777 	      ,EST_REV_PERCENT
29778 	      ,EST_REV_DATE
29779 	      ,TAX_AMOUNT
29780 	      ,TAX_STATUS
29781 	      ,TAX_CODE
29782 	      ,TAX_EXEMPTION_ID
29783 	      ,BILLING_SCHEDULE_TYPE
29784 	      ,BILLING_PROFILE_ID
29785 	      ,RENEWAL_STATUS
29786 	      ,ELECTRONIC_RENEWAL_FLAG
29787 	      ,QUOTE_TO_CONTACT_ID
29788 	      ,QUOTE_TO_SITE_ID
29789 	      ,QUOTE_TO_EMAIL_ID
29790 	      ,QUOTE_TO_PHONE_ID
29791 	      ,QUOTE_TO_FAX_ID
29792 	      ,RENEWAL_PO_REQUIRED
29793 	      ,RENEWAL_PRICE_LIST
29794 	      ,RENEWAL_PRICING_TYPE
29795 	      ,RENEWAL_MARKUP_PERCENT
29796 	      ,RENEWAL_GRACE_DURATION
29797 	      ,RENEWAL_GRACE_PERIOD
29798 	      ,RENEWAL_EST_REV_PERCENT
29799 	      ,RENEWAL_EST_REV_DURATIOn
29800 	      ,RENEWAL_EST_REV_PERIOD
29801 	      ,RENEWAL_PRICE_LIST_USED
29802 	      ,RENEWAL_TYPE_USED
29803 	      ,RENEWAL_NOTIFICATION_TO
29804 	      ,RENEWAL_PO_USED
29805 	      ,RENEWAL_PRICING_TYPE_USED
29806 	      ,RENEWAL_MARKUP_PERCENT_USED
29807 	      ,REV_EST_PERCENT_USED
29808 	      ,REV_EST_DURATION_USED
29809 	      ,REV_EST_PERIOD_USED
29810 	      ,BILLING_PROFILE_USED
29811 	      ,ERN_FLAG_USED_YN
29812 	      ,EVN_THRESHOLD_AMT
29813 	      ,EVN_THRESHOLD_CUR
29814 	      ,ERN_THRESHOLD_AMT
29815 	      ,ERN_THRESHOLD_CUR
29816 	      ,RENEWAL_GRACE_DURATION_USED
29817 	      ,RENEWAL_GRACE_PERIOD_USED
29818 	      ,INV_TRX_TYPE
29819 	      ,INV_PRINT_PROFILE
29820 	      ,RENEWAL_PO_NUMBER
29821 	      ,AR_INTERFACE_YN
29822 	      ,HOLD_BILLING
29823 	      ,SUMMARY_TRX_YN
29824 	      ,SERVICE_PO_NUMBER
29825 	      ,SERVICE_PO_REQUIRED
29826 	      ,CREATED_BY
29827 	      ,CREATION_DATE
29828 	      ,LAST_UPDATED_BY
29829 	      ,LAST_UPDATE_DATE
29830 	      ,LAST_UPDATE_LOGIN
29831 	      ,OBJECT_VERSION_NUMBER  )
29832 	    VALUES (
29833 	       P_CHR_ID
29834 	      ,P_CHR_ID
29835 	      ,ACCT_RULE_ID_CHR
29836 
29837 	      ,L_PAYMENT_TYPE
29838 	      ,L_CC_NO
29839 	      ,CC_EXPIRY_DATE_CHR
29840 	      ,CC_BANK_ACCT_ID_CHR
29841 	      ,L_CC_AUTH_CODE
29842 	      ,GRACE_DURATION_CHR
29843 	      ,L_GRACE_PERIOD
29844 	      ,EST_REV_PERCENT_CHR
29845 	      ,EST_REV_DATE_CHR
29846 	      ,TAX_AMOUNT_CHR
29847 	      ,L_TAX_STATUS
29848 	      ,TAX_CODE_CHR
29849 	      ,TAX_EXEMPTION_ID_CHR
29850 	      ,L_BILLING_SCHEDULE_TYPE
29851 	      ,BILLING_PROFILE_ID_CHR
29852 	      ,L_RENEWAL_STATUS
29853 	      ,L_ELECTRONIC_RENEWAL_FLAG
29854 	      ,QUOTE_TO_CONTACT_ID_CHR
29855 	      ,QUOTE_TO_SITE_ID_CHR
29856 	      ,QUOTE_TO_EMAIL_ID_CHR
29857 	      ,QUOTE_TO_PHONE_ID_CHR
29858 	      ,QUOTE_TO_FAX_ID_CHR
29859 	      ,L_RENEWAL_PO_REQUIRED
29860 	      ,RENEWAL_PRICE_LIST_CHR
29861 	      ,L_RENEWAL_PRICING_TYPE
29862 	      ,RENEWAL_MARKUP_PERCENT_CHR
29863 	      ,RENEWAL_GRACE_DURATION_CHR
29864 	      ,L_RENEWAL_GRACE_PERIOD
29865 	      ,RENEWAL_EST_REV_PERCENT_CHR
29866 	      ,RENEWAL_EST_REV_DURATIOn_CHR
29867 	      ,L_RENEWAL_EST_REV_PERIOD
29868 	      ,RENEWAL_PRICE_LIST_USED_CHR
29869 	      ,L_RENEWAL_TYPE_USED
29870 	      ,RENEWAL_NOTIFICATION_TO_CHR
29871 	      ,L_RENEWAL_PO_USED
29872 	      ,L_RENEWAL_PRICING_TYPE_USED
29873 	      ,RENEWAL_MARKUP_PERCENT_USED_CH
29874 	      ,REV_EST_PERCENT_USED_CHR
29875 	      ,REV_EST_DURATION_USED_CHR
29876 	      ,L_REV_EST_PERIOD_USED
29877 	      ,BILLING_PROFILE_USED_CHR
29878 	      ,L_ERN_FLAG_USED_YN
29879 	      ,EVN_THRESHOLD_AMT_CHR
29880 	      ,L_EVN_THRESHOLD_CUR
29881 	      ,ERN_THRESHOLD_AMT_CHR
29882 	      ,L_ERN_THRESHOLD_CUR
29883 	      ,RENEWAL_GRACE_DURATION_USED_CH
29884 	      ,L_RENEWAL_GRACE_PERIOD_USED
29885 	      ,L_INV_TRX_TYPE
29886 	      ,L_INV_PRINT_PROFILE
29887 	      ,L_RENEWAL_PO_NUMBER
29888 	      ,L_AR_INTERFACE_YN
29889 	      ,L_HOLD_BILLING
29890 	      ,L_SUMMARY_TRX_YN
29891 	      ,L_SERVICE_PO_NUMBER
29892 	      ,L_SERVICE_PO_REQUIRED
29893 	      ,1
29894 	      ,SYSDATE
29895 	      ,1
29896 	      ,SYSDATE
29897 	      ,2003
29898 	      ,1   );
29899 
29900 
29901 
29902 	  EXCEPTION When others then
29903 	    Eflag:=1;
29904 	    Emsg :=SQLERRM;
29905 	  END;
29906 
29907 	  End If;
29908 
29909 
29910       Else
29911         l_check_var := NULL;
29912         Open Cur_RGP_exists(P_RGP_ID);
29913         Fetch Cur_RGP_exists into l_check_var;
29914 	Close Cur_RGP_exists;
29915 
29916 	If(l_check_var is not null) Then
29917 
29918         --Updating oks_k_headers_b
29919         BEGIN
29920 	  UPDATE OKS_K_HEADERS_B
29921 	  SET
29922 	     ACCT_RULE_ID               =       ACCT_RULE_ID_CHR
29923             ,PAYMENT_TYPE		=       L_PAYMENT_TYPE
29924             ,CC_NO			=	L_CC_NO
29925             ,CC_EXPIRY_DATE		=	CC_EXPIRY_DATE_CHR
29926             ,CC_BANK_ACCT_ID		=	CC_BANK_ACCT_ID_CHR
29927             ,CC_AUTH_CODE		=	L_CC_AUTH_CODE
29928             ,GRACE_DURATION		=	GRACE_DURATION_CHR
29929             ,GRACE_PERIOD		=	L_GRACE_PERIOD
29930             ,EST_REV_PERCENT		=	EST_REV_PERCENT_CHR
29931             ,EST_REV_DATE		=	EST_REV_DATE_CHR
29932             ,TAX_AMOUNT			=	TAX_AMOUNT_CHR
29933             ,TAX_STATUS			=	L_TAX_STATUS
29934             ,TAX_CODE			=	TAX_CODE_CHR
29935             ,TAX_EXEMPTION_ID		=	TAX_EXEMPTION_ID_CHR
29936             ,BILLING_SCHEDULE_TYPE	=	L_BILLING_SCHEDULE_TYPE
29937             ,BILLING_PROFILE_ID		=	BILLING_PROFILE_ID_CHR
29938             ,RENEWAL_STATUS		=	L_RENEWAL_STATUS
29939             ,ELECTRONIC_RENEWAL_FLAG	=	L_ELECTRONIC_RENEWAL_FLAG
29940             ,QUOTE_TO_CONTACT_ID	=	QUOTE_TO_CONTACT_ID_CHR
29941             ,QUOTE_TO_SITE_ID		=	QUOTE_TO_SITE_ID_CHR
29942             ,QUOTE_TO_EMAIL_ID		=	QUOTE_TO_EMAIL_ID_CHR
29943             ,QUOTE_TO_PHONE_ID		=	QUOTE_TO_PHONE_ID_CHR
29944             ,QUOTE_TO_FAX_ID		=	QUOTE_TO_FAX_ID_CHR
29945             ,RENEWAL_PO_REQUIRED	=	L_RENEWAL_PO_REQUIRED
29946             ,RENEWAL_PRICE_LIST		=	RENEWAL_PRICE_LIST_CHR
29947             ,RENEWAL_PRICING_TYPE	=	L_RENEWAL_PRICING_TYPE
29948             ,RENEWAL_MARKUP_PERCENT	=	RENEWAL_MARKUP_PERCENT_CHR
29949             ,RENEWAL_GRACE_DURATION	=	RENEWAL_GRACE_DURATION_CHR
29950             ,RENEWAL_GRACE_PERIOD	=	L_RENEWAL_GRACE_PERIOD
29951             ,RENEWAL_EST_REV_PERCENT	=	RENEWAL_EST_REV_PERCENT_CHR
29952             ,RENEWAL_EST_REV_DURATION	=	RENEWAL_EST_REV_DURATIOn_CHR
29953             ,RENEWAL_EST_REV_PERIOD	=	L_RENEWAL_EST_REV_PERIOD
29954             ,RENEWAL_PRICE_LIST_USED	=	RENEWAL_PRICE_LIST_USED_CHR
29955             ,RENEWAL_TYPE_USED		=	L_RENEWAL_TYPE_USED
29956             ,RENEWAL_NOTIFICATION_TO	=	RENEWAL_NOTIFICATION_TO_CHR
29957             ,RENEWAL_PO_USED		=	L_RENEWAL_PO_USED
29958             ,RENEWAL_PRICING_TYPE_USED	=	L_RENEWAL_PRICING_TYPE_USED
29959             ,RENEWAL_MARKUP_PERCENT_USED=	RENEWAL_MARKUP_PERCENT_USED_CH
29960             ,REV_EST_PERCENT_USED	=	REV_EST_PERCENT_USED_CHR
29961             ,REV_EST_DURATION_USED	=	REV_EST_DURATION_USED_CHR
29962             ,REV_EST_PERIOD_USED	=	L_REV_EST_PERIOD_USED
29963             ,BILLING_PROFILE_USED	=	BILLING_PROFILE_USED_CHR
29964             ,ERN_FLAG_USED_YN		=	L_ERN_FLAG_USED_YN
29965             ,EVN_THRESHOLD_AMT		=	EVN_THRESHOLD_AMT_CHR
29966             ,EVN_THRESHOLD_CUR		=	L_EVN_THRESHOLD_CUR
29967             ,ERN_THRESHOLD_AMT		=	ERN_THRESHOLD_AMT_CHR
29968             ,ERN_THRESHOLD_CUR		=	L_ERN_THRESHOLD_CUR
29969             ,RENEWAL_GRACE_DURATION_USED=	RENEWAL_GRACE_DURATION_USED_CH
29970             ,RENEWAL_GRACE_PERIOD_USED	=	L_RENEWAL_GRACE_PERIOD_USED
29971             ,INV_TRX_TYPE		=	L_INV_TRX_TYPE
29972             ,INV_PRINT_PROFILE		=	L_INV_PRINT_PROFILE
29973             ,RENEWAL_PO_NUMBER		=	L_RENEWAL_PO_NUMBER
29974             ,AR_INTERFACE_YN		=	L_AR_INTERFACE_YN
29975             ,HOLD_BILLING		=	L_HOLD_BILLING
29976             ,SUMMARY_TRX_YN		=	L_SUMMARY_TRX_YN
29977             ,SERVICE_PO_NUMBER		=	L_SERVICE_PO_NUMBER
29978             ,SERVICE_PO_REQUIRED	=	L_SERVICE_PO_REQUIRED
29979 	  WHERE CHR_ID = P_CHR_ID;
29980 
29981 	     EXCEPTION When others then
29982                Eflag:=1;
29983                Emsg :=SQLERRM;
29984 
29985         END;
29986 
29987         If( Eflag <> 1) Then
29988           --Updating okc_k_headers_b
29989 
29990           BEGIN
29991 	    UPDATE okc_k_headers_b SET
29992               CONVERSION_TYPE          =  L_CONVERSION_TYPE ,
29993               CONVERSION_RATE          =  CONVERSION_RATE_CHR ,
29994               CONVERSION_RATE_DATE     =  CONVERSION_RATE_DATE_CHR ,
29995               CONVERSION_EURO_RATE     =  CONVERSION_EURO_RATE_CHR,
29996               CUST_ACCT_ID             =  CUST_ACCT_ID_CHR ,
29997               BILL_TO_SITE_USE_ID      =  BILL_TO_SITE_USE_ID_CHR  ,
29998               INV_RULE_ID              =  INV_RULE_ID_CHR  ,
29999               RENEWAL_TYPE_CODE        =  L_RENEWAL_TYPE_CODE ,
30000               RENEWAL_NOTIFY_TO        =  RENEWAL_NOTIFY_TO_CHR ,
30001               RENEWAL_END_DATE         =  RENEWAL_END_DATE_CHR  ,
30002               SHIP_TO_SITE_USE_ID      =  SHIP_TO_SITE_USE_ID_CHR ,
30003               PAYMENT_TERM_ID          =  PAYMENT_TERM_ID_CHR  ,
30004               PRICE_LIST_ID            =  PRICE_LIST_ID_CHR
30005             WHERE id = p_chr_id;
30006 
30007              EXCEPTION When others then
30008                Eflag:=1;
30009                Emsg :=SQLERRM;
30010           END;
30011 
30012 	End If;
30013 
30014 	Else
30015 
30016 	  BEGIN
30017 
30018 
30019 	       Delete from oks_k_headers_b where chr_id = P_CHR_ID;
30020 
30021 
30022 
30023 	        UPDATE okc_k_headers_b SET
30024 	          CONVERSION_TYPE          =  L_CONVERSION_TYPE ,
30025 	          CONVERSION_RATE          =  CONVERSION_RATE_CHR ,
30026 		  CONVERSION_RATE_DATE     =  CONVERSION_RATE_DATE_CHR ,
30027 	          CONVERSION_EURO_RATE     =  CONVERSION_EURO_RATE_CHR ,
30028                   CUST_ACCT_ID             =  CUST_ACCT_ID_CHR ,
30029                   BILL_TO_SITE_USE_ID      =  BILL_TO_SITE_USE_ID_CHR  ,
30030                   INV_RULE_ID              =  INV_RULE_ID_CHR  ,
30031                   RENEWAL_TYPE_CODE        =  L_RENEWAL_TYPE_CODE,
30032                   RENEWAL_NOTIFY_TO        =  RENEWAL_NOTIFY_TO_CHR ,
30033                   RENEWAL_END_DATE         =  RENEWAL_END_DATE_CHR  ,
30034                   SHIP_TO_SITE_USE_ID      =  SHIP_TO_SITE_USE_ID_CHR ,
30035                   PAYMENT_TERM_ID          =  PAYMENT_TERM_ID_CHR  ,
30036                   PRICE_LIST_ID            =  PRICE_LIST_ID_CHR
30037                 WHERE id = p_chr_id;
30038 
30039 	        EXCEPTION When others then
30040                   Eflag:=2;
30041                   Emsg :=SQLERRM;
30042           END;
30043 	End If;
30044       End If;
30045       ---------------------------------------------------------------------------------------------
30046       -- Added the following code to synchronize header cc_no, po , price_list to top line level --
30047       ---------------------------------------------------------------------------------------------
30048       If Eflag <> 1 then
30049       If (l_cc_no is not null OR PRICE_LIST_ID_CHR is not null or CUST_ACCT_ID_CHR is not null ) then
30050       Begin
30051         BEGIN
30052          open  l_lock_line_csr(p_chr_id);
30053          fetch l_lock_line_csr into l_lock_id;
30054          close l_lock_line_csr;
30055         Exception
30056          When others then
30057               Raise lock_exception;
30058         End;
30059         open l_synhl_csr ( p_chr_id );
30060         fetch l_synhl_csr into l_payment_typei
30061                               ,l_cc_noi
30062                               ,l_cc_expiry_datei
30063                               --,l_cc_bank_acct_idi
30064                               --,l_cc_auth_codei
30065                               ,l_cust_po_numberi
30066                               ,l_cust_po_number_req_yni
30067                               ,l_price_list_idi
30068                               ,l_dnz_chr_idi ;
30069         close l_synhl_csr ;
30070 
30071         Update oks_k_lines_b oks
30072            set oks.payment_type    = l_payment_typei
30073              , oks.cc_no           = l_cc_noi
30074              , oks.cc_expiry_date  = l_cc_expiry_datei
30075              --, oks.cc_bank_acct_id = l_cc_bank_acct_idi
30076              --, oks.cc_auth_code    = l_cc_auth_codei
30077              , oks.cust_po_number  = l_cust_po_numberi
30078              , oks.cust_po_number_req_yn = l_cust_po_number_req_yni
30079              , oks.tax_amount      = ( select oksi.tax_amount
30080                                       from oks_k_lines_b  oksi
30081                                          , okc_k_lines_b okci
30082                                      where okci.lse_id = 46
30083                                        and okci.id = oksi.cle_id
30084                                        and oksi.cle_id = oks.cle_id
30085                                        and okci.id = oks.cle_id )
30086          where oks.dnz_chr_id = p_chr_id
30087            and exists (
30088         select 1 from okc_k_lines_b okc
30089          where okc.id = oks.cle_id
30090            and okc.lse_id in ( 1,12,19,46));
30091 
30092         Update okc_k_lines_b okc
30093            set okc.price_list_id = l_price_list_idi
30094              , okc.price_negotiated = ( select sum(okci.price_negotiated)
30095                                           from okc_k_lines_b okci
30096                                          where ( okci.cle_id = okc.id OR (okci.id = okc.id and okci.lse_id = 46 )))
30097          where dnz_chr_id = p_chr_id
30098            and lse_id in ( 1,12,19,46);
30099       Exception
30100         When others then
30101             X_RETURN_STATUS := 'E';
30102             L_ERROR_MSG := SQLERRM;
30103             DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
30104             FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for LOCK  OKSSYNHL in header synchronize code '||p_chr_id||'with Error Message '||L_ERROR_MSG);
30105             RAISE ;
30106       END ;
30107       End If;
30108       End If;
30109 
30110 
30111       If(Eflag=1) Then
30112 
30113        DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
30114 
30115     -- Begin of code to validate data type .
30116     -- If data fails validation then set the Eflag to 1
30117 
30118        --1. Validation for ARL rule .
30119        BEGIN
30120           ACCT_RULE_ID      := ACCT_RULE_ID_CHR;
30121        EXCEPTION
30122        WHEN OTHERS THEN
30123           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'ARL') ;
30124           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30125           CLOSE L_HDR_DTLS_CSR;
30126           FND_MESSAGE.CLEAR;
30127           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
30128           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30129           L_ERROR_MSG      := SQLERRM;
30130           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30131                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30132                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
30133                                       ERROR_MSG)
30134                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30135                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30136                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR,
30137                                        L_ERROR_MSG );
30138           Eflag:=1;
30139        END;
30140 
30141        --2. Validation for CCR rule .
30142        BEGIN
30143           CC_BANK_ACCT_ID     := CC_BANK_ACCT_ID_CHR;
30144        EXCEPTION
30145        WHEN OTHERS THEN
30146           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CCR') ;
30147           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30148           CLOSE L_HDR_DTLS_CSR;
30149           FND_MESSAGE.CLEAR;
30150           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
30151           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30152           L_ERROR_MSG      := SQLERRM;
30153           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30154                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30155                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30156                                       ERROR_MSG)
30157                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30158                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30159                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR,
30160                                        L_ERROR_MSG );
30161           Eflag:=1;
30162        END;
30163 
30164        --3. Validation for GPR rule .
30165        BEGIN
30166           GRACE_DURATION   := GRACE_DURATION_CHR;
30167        EXCEPTION
30168        WHEN OTHERS THEN
30169           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'GPR') ;
30170           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30171           CLOSE L_HDR_DTLS_CSR;
30172           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
30173           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30174           L_ERROR_MSG      := SQLERRM;
30175           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30176                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30177                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30178                                       ERROR_MSG)
30179                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30180                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30181                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR,
30182                                        L_ERROR_MSG );
30183           Eflag:=1;
30184        END;
30185 
30186        --4. Validation for RVE rule .
30187        BEGIN
30188           EST_REV_PERCENT      := EST_REV_PERCENT_CHR;
30189        EXCEPTION
30190        WHEN OTHERS THEN
30191           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RVE') ;
30192           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30193           CLOSE L_HDR_DTLS_CSR;
30194           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
30195           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30196           L_ERROR_MSG      := SQLERRM;
30197           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30198                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30199                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30200                                       ERROR_MSG)
30201                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30202                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30203                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR,
30204                                        L_ERROR_MSG );
30205           Eflag:=1;
30206        END;
30207 
30208        --5. Validation for IRT rule.
30209        BEGIN
30210           TAX_AMOUNT     := TAX_AMOUNT_CHR;
30211        EXCEPTION
30212        WHEN OTHERS THEN
30213           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'IRT') ;
30214           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30215           CLOSE L_HDR_DTLS_CSR;
30216           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
30217           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30218           L_ERROR_MSG      := SQLERRM;
30219           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30220                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30221                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30222                                       ERROR_MSG)
30223                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30224                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30225                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR,
30226                                        L_ERROR_MSG );
30227           Eflag:=1;
30228        END;
30229 
30230        --6. Validation for TAX (TAX_CODE) rule.
30231        BEGIN
30232           TAX_CODE      := TAX_CODE_CHR;
30233        EXCEPTION
30234        WHEN OTHERS THEN
30235           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'TAX') ;
30236           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30237           CLOSE L_HDR_DTLS_CSR;
30238           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
30239           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30240           L_ERROR_MSG      := SQLERRM;
30241           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30242                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30243                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30244                                       ERROR_MSG)
30245                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30246                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30247                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR,
30248                                        L_ERROR_MSG );
30249           Eflag:=1;
30250        END;
30251 
30252        --7. Validation for TAX (TAX_EXEMPTION_ID) rule.
30253        BEGIN
30254           TAX_EXEMPTION_ID      := TAX_EXEMPTION_ID_CHR;
30255        EXCEPTION
30256        WHEN OTHERS THEN
30257           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'TAX');
30258           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30259           CLOSE L_HDR_DTLS_CSR;
30260           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
30261           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30262           L_ERROR_MSG      := SQLERRM;
30263           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30264                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30265                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30266                                       ERROR_MSG)
30267                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30268                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30269                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR,
30270                                        L_ERROR_MSG );
30271 	   Eflag:=1;
30272        END;
30273 
30274 
30275        --8. Validation for CAN  rule.
30276        BEGIN
30277           CUST_ACCT_ID      := CUST_ACCT_ID_CHR;
30278        EXCEPTION
30279        WHEN OTHERS THEN
30280           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CAN');
30281           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30282           CLOSE L_HDR_DTLS_CSR;
30283           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
30284           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30285           L_ERROR_MSG      := SQLERRM;
30286           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30287                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30288                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30289                                       ERROR_MSG)
30290                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30291                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30292                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR,
30293                                        L_ERROR_MSG );
30294            Eflag:=1;
30295        END;
30296 
30297        --9. Validation for BTO  rule.
30298        BEGIN
30299           BILL_TO_SITE_USE_ID     := BILL_TO_SITE_USE_ID_CHR;
30300        EXCEPTION
30301        WHEN OTHERS THEN
30302           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'BTO');
30303           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30304           CLOSE L_HDR_DTLS_CSR;
30305           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
30306           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30307           L_ERROR_MSG      := SQLERRM;
30308           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30309                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30310                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30311                                       ERROR_MSG)
30312                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30313                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30314                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR,
30315                                        L_ERROR_MSG );
30316            Eflag:=1;
30317        END;
30318 
30319 
30320        --10. Validation for IRE  rule.
30321        BEGIN
30322           INV_RULE_ID      := INV_RULE_ID_CHR;
30323        EXCEPTION
30324        WHEN OTHERS THEN
30325           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'IRE');
30326           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30327           CLOSE L_HDR_DTLS_CSR;
30328           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
30329           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30330           L_ERROR_MSG      := SQLERRM;
30331           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30332                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30333                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30334                                       ERROR_MSG)
30335                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30336                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30337                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR,
30338                                        L_ERROR_MSG );
30339            Eflag:=1;
30340        END;
30341 
30342        --11. Validation for REN ( RENEWAL_NOTIFY_TO )  rule.
30343        BEGIN
30344           RENEWAL_NOTIFY_TO      := RENEWAL_NOTIFY_TO_CHR;
30345        EXCEPTION
30346        WHEN OTHERS THEN
30347           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'IRE');
30348           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30349           CLOSE L_HDR_DTLS_CSR;
30350           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
30351           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30352           L_ERROR_MSG      := SQLERRM;
30353           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30354                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30355                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30356                                       ERROR_MSG)
30357                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30358                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30359                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR,
30360                                        L_ERROR_MSG );
30361           Eflag:=1;
30362        END;
30363 
30364        --12. Validation for STO rule.
30365        BEGIN
30366           SHIP_TO_SITE_USE_ID      := SHIP_TO_SITE_USE_ID_CHR;
30367        EXCEPTION
30368        WHEN OTHERS THEN
30369           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'STO');
30370           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30371           CLOSE L_HDR_DTLS_CSR;
30372           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
30373           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30374           L_ERROR_MSG      := SQLERRM;
30375           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30376                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30377                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30378                                       ERROR_MSG)
30379                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30380                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30381                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR,
30382                                        L_ERROR_MSG );
30383           Eflag:=1;
30384        END;
30385 
30386        --13. Validation for PTR rule.
30387        BEGIN
30388           PAYMENT_TERM_ID      := PAYMENT_TERM_ID_CHR;
30389        EXCEPTION
30390        WHEN OTHERS THEN
30391           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'PTR');
30392           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30393           CLOSE L_HDR_DTLS_CSR;
30394           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
30395           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30396           L_ERROR_MSG      := SQLERRM;
30397           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30398                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30399                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30400                                       ERROR_MSG)
30401                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30402                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30403                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR,
30404                                        L_ERROR_MSG );
30405           Eflag:=1;
30406        END;
30407 
30408        --14. Validation for ERN rule.
30409        BEGIN
30410           BILLING_PROFILE_ID      := BILLING_PROFILE_ID_CHR;
30411        EXCEPTION
30412        WHEN OTHERS THEN
30413           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'ERN');
30414           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30415           CLOSE L_HDR_DTLS_CSR;
30416           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
30417           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30418           L_ERROR_MSG      := SQLERRM;
30419           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30420                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30421                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30422                                       ERROR_MSG)
30423                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30424                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30425                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR,
30426                                        L_ERROR_MSG );
30427 	  Eflag:=1;
30428        END;
30429 
30430 
30431        --15. Validation for QTO ( QUOTE_TO_CONTACT_ID )rule.
30432        BEGIN
30433           QUOTE_TO_CONTACT_ID      := QUOTE_TO_CONTACT_ID_CHR;
30434        EXCEPTION
30435        WHEN OTHERS THEN
30436           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
30437           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30438           CLOSE L_HDR_DTLS_CSR;
30439           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
30440           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30441           L_ERROR_MSG      := SQLERRM;
30442           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30443                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30444                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30445                                       ERROR_MSG)
30446                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30447                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30448                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR,
30449                                        L_ERROR_MSG );
30450           Eflag:=1;
30451        END;
30452 
30453        --16. Validation for QTO ( QUOTE_TO_SITE_ID ) rule.
30454        BEGIN
30455           QUOTE_TO_SITE_ID      := QUOTE_TO_SITE_ID_CHR;
30456        EXCEPTION
30457        WHEN OTHERS THEN
30458           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
30459           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30460           CLOSE L_HDR_DTLS_CSR;
30461           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
30462           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30463           L_ERROR_MSG      := SQLERRM;
30464           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30465                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30466                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30467                                       ERROR_MSG)
30468                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30469                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30470                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR,
30471                                        L_ERROR_MSG );
30472            Eflag:=1;
30473        END;
30474 
30475        --17. Validation for QTO ( QUOTE_TO_EMAIL_ID ) rule.
30476        BEGIN
30477           QUOTE_TO_EMAIL_ID      := QUOTE_TO_EMAIL_ID_CHR;
30478        EXCEPTION
30479        WHEN OTHERS THEN
30480           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
30481           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30482           CLOSE L_HDR_DTLS_CSR;
30483           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
30484           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30485           L_ERROR_MSG      := SQLERRM;
30486           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30487                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30488                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30489                                       ERROR_MSG)
30490                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30491                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30492                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR,
30493                                        L_ERROR_MSG );
30494            Eflag:=1;
30495        END;
30496 
30497        --18. Validation for QTO ( QUOTE_TO_PHONE_ID ) rule.
30498        BEGIN
30499           QUOTE_TO_PHONE_ID     := QUOTE_TO_PHONE_ID_CHR;
30500        EXCEPTION
30501        WHEN OTHERS THEN
30502           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
30503           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30504           CLOSE L_HDR_DTLS_CSR;
30505           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
30506           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30507           L_ERROR_MSG      := SQLERRM;
30508           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30509                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30510                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30511                                       ERROR_MSG)
30512                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30513                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30514                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR,
30515                                        L_ERROR_MSG );
30516            Eflag:=1;
30517        END;
30518 
30519        --19. Validation for QTO ( QUOTE_TO_FAX_ID ) rule.
30520        BEGIN
30521           QUOTE_TO_FAX_ID     := QUOTE_TO_FAX_ID_CHR;
30522        EXCEPTION
30523        WHEN OTHERS THEN
30524           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
30525           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30526           CLOSE L_HDR_DTLS_CSR;
30527           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
30528           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30529           L_ERROR_MSG      := SQLERRM;
30530           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30531                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30532                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30533                                       ERROR_MSG)
30534                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30535                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30536                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR,
30537                                        L_ERROR_MSG );
30538           Eflag:=1;
30539        END;
30540 
30541        --20. Validation for RPT ( RENEWAL_PRICE_LIST ) rule.
30542        BEGIN
30543           RENEWAL_PRICE_LIST      := RENEWAL_PRICE_LIST_CHR;
30544        EXCEPTION
30545        WHEN OTHERS THEN
30546           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RPT');
30547           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30548           CLOSE L_HDR_DTLS_CSR;
30549           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
30550           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30551           L_ERROR_MSG      := SQLERRM;
30552           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30553                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30554                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30555                                       ERROR_MSG)
30556                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30557                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30558                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR,
30559                                        L_ERROR_MSG );
30560           Eflag:=1;
30561        END;
30562 
30563        --21. Validation for RPT ( RENEWAL_MARKUP_PERCENT ) rule.
30564        BEGIN
30565           RENEWAL_MARKUP_PERCENT      := RENEWAL_MARKUP_PERCENT_CHR;
30566        EXCEPTION
30567        WHEN OTHERS THEN
30568           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RPT');
30569           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30570           CLOSE L_HDR_DTLS_CSR;
30571           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
30572           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30573           L_ERROR_MSG      := SQLERRM;
30574           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30575                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30576                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30577                                       ERROR_MSG)
30578                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30579                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30580                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR,
30581                                        L_ERROR_MSG );
30582            Eflag:=1;
30583        END;
30584 
30585        --22. Validation for RPT ( RENEWAL_GRACE_DURATION ) rule.
30586        BEGIN
30587           RENEWAL_GRACE_DURATION      := RENEWAL_GRACE_DURATION_CHR;
30588        EXCEPTION
30589        WHEN OTHERS THEN
30590           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RPT');
30591           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30592           CLOSE L_HDR_DTLS_CSR;
30593           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
30594           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30595           L_ERROR_MSG      := SQLERRM;
30596           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30597                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30598                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30599                                       ERROR_MSG)
30600                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30601                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30602                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR,
30603                                        L_ERROR_MSG );
30604            Eflag:=1;
30605        END;
30606 
30607        --23. Validation for RER ( RENEWAL_EST_REV_PERCENT ) rule.
30608        BEGIN
30609           RENEWAL_EST_REV_PERCENT      := RENEWAL_EST_REV_PERCENT_CHR;
30610        EXCEPTION
30611        WHEN OTHERS THEN
30612           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RER');
30613           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30614           CLOSE L_HDR_DTLS_CSR;
30615           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
30616           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30617           L_ERROR_MSG      := SQLERRM;
30618           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30619                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30620                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30621                                       ERROR_MSG)
30622                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30623                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30624                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR,
30625                                        L_ERROR_MSG );
30626           Eflag:=1;
30627        END;
30628 
30629        --24. Validation for RER ( RENEWAL_EST_REV_DURATION ) rule.
30630        BEGIN
30631           RENEWAL_EST_REV_DURATION      := RENEWAL_EST_REV_DURATION_CHR;
30632        EXCEPTION
30633        WHEN OTHERS THEN
30634           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RER');
30635           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30636           CLOSE L_HDR_DTLS_CSR;
30637           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
30638           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30639           L_ERROR_MSG      := SQLERRM;
30640           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30641                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30642                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30643                                       ERROR_MSG)
30644                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30645                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30646                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR,
30647                                        L_ERROR_MSG );
30648            Eflag:=1;
30649        END;
30650 
30651        --25. Validation for RRU ( RENEWAL_PRICE_LIST_USED ) rule.
30652        BEGIN
30653           RENEWAL_PRICE_LIST_USED     := RENEWAL_PRICE_LIST_USED_CHR;
30654        EXCEPTION
30655        WHEN OTHERS THEN
30656           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
30657           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30658           CLOSE L_HDR_DTLS_CSR;
30659           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
30660           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30661           L_ERROR_MSG      := SQLERRM;
30662           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30663                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30664                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30665                                       ERROR_MSG)
30666                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30667                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30668                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR,
30669                                        L_ERROR_MSG );
30670            Eflag:=1;
30671        END;
30672 
30673        --26. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
30674        BEGIN
30675           RENEWAL_NOTIFICATION_TO      := RENEWAL_NOTIFICATION_TO_CHR;
30676        EXCEPTION
30677        WHEN OTHERS THEN
30678           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
30679           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30680           CLOSE L_HDR_DTLS_CSR;
30681           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
30682           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30683           L_ERROR_MSG      := SQLERRM;
30684           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30685                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30686                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30687                                       ERROR_MSG)
30688                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30689                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30690                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR,
30691                                        L_ERROR_MSG );
30692            Eflag:=1;
30693        END;
30694 
30695        --27. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
30696        BEGIN
30697           RENEWAL_MARKUP_PERCENT_USED      := RENEWAL_MARKUP_PERCENT_USED_CH;
30698        EXCEPTION
30699        WHEN OTHERS THEN
30700           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
30701           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30702           CLOSE L_HDR_DTLS_CSR;
30703           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
30704           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30705           L_ERROR_MSG      := SQLERRM;
30706           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30707                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30708                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30709                                       ERROR_MSG)
30710                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30711                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30712                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH,
30713                                        L_ERROR_MSG );
30714            Eflag:=1;
30715        END;
30716 
30717        --28. Validation for RRU ( REV_EST_PERCENT_USED ) rule.
30718        BEGIN
30719           REV_EST_PERCENT_USED      := REV_EST_PERCENT_USED_CHR;
30720        EXCEPTION
30721        WHEN OTHERS THEN
30722           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
30723           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30724           CLOSE L_HDR_DTLS_CSR;
30725           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
30726           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30727           L_ERROR_MSG      := SQLERRM;
30728           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30729                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30730                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30731                                       ERROR_MSG)
30732                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30733                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30734                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR,
30735                                        L_ERROR_MSG );
30736            Eflag:=1;
30737        END;
30738 
30739        --29. Validation for RRU ( REV_EST_DURATION_USED ) rule.
30740        BEGIN
30741           REV_EST_DURATION_USED      := REV_EST_DURATION_USED_CHR;
30742        EXCEPTION
30743        WHEN OTHERS THEN
30744           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
30745           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30746           CLOSE L_HDR_DTLS_CSR;
30747           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
30748           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30749           L_ERROR_MSG      := SQLERRM;
30750           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30751                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30752                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30753                                       ERROR_MSG)
30754                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30755                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30756                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR,
30757                                        L_ERROR_MSG );
30758              Eflag:=1;
30759        END;
30760 
30761        --30. Validation for RRU ( BILLING_PROFILE_USED ) rule.
30762        BEGIN
30763           BILLING_PROFILE_USED      := BILLING_PROFILE_USED_CHR;
30764        EXCEPTION
30765        WHEN OTHERS THEN
30766           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
30767           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30768           CLOSE L_HDR_DTLS_CSR;
30769           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
30770           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30771           L_ERROR_MSG      := SQLERRM;
30772           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30773                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30774                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30775                                       ERROR_MSG)
30776                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30777                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30778                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR,
30779                                        L_ERROR_MSG );
30780           Eflag:=1;
30781        END;
30782 
30783        --31. Validation for RRU ( EVN_THRESHOLD_AMT ) rule.
30784        BEGIN
30785           EVN_THRESHOLD_AMT      := EVN_THRESHOLD_AMT_CHR;
30786        EXCEPTION
30787        WHEN OTHERS THEN
30788           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
30789           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30790           CLOSE L_HDR_DTLS_CSR;
30791           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
30792           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30793           L_ERROR_MSG      := SQLERRM;
30794           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30795                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30796                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30797                                       ERROR_MSG)
30798                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30799                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30800                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR,
30801                                        L_ERROR_MSG );
30802            Eflag:=1;
30803        END;
30804 
30805        --32. Validation for RRU ( ERN_THRESHOLD_AMT ) rule.
30806        BEGIN
30807           ERN_THRESHOLD_AMT      := ERN_THRESHOLD_AMT_CHR;
30808        EXCEPTION
30809        WHEN OTHERS THEN
30810           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
30811           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30812           CLOSE L_HDR_DTLS_CSR;
30813           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
30814           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30815           L_ERROR_MSG      := SQLERRM;
30816           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30817                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30818                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30819                                       ERROR_MSG)
30820                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30821                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30822                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR,
30823                                        L_ERROR_MSG );
30824           Eflag:=1;
30825        END;
30826 
30827        --33. Validation for RRE ( RENEWAL_GRACE_DURATION_USED ) rule.
30828        BEGIN
30829           RENEWAL_GRACE_DURATION_USED      := RENEWAL_GRACE_DURATION_USED_CH;
30830        EXCEPTION
30831        WHEN OTHERS THEN
30832           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRE');
30833           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30834           CLOSE L_HDR_DTLS_CSR;
30835           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
30836           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30837           L_ERROR_MSG      := SQLERRM;
30838           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30839                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30840                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30841                                       ERROR_MSG)
30842                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30843                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30844                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH,
30845                                        L_ERROR_MSG );
30846           Eflag:=1;
30847        END;
30848 
30849        --34. Validation for PRE ( PRICE_LIST_ID ) rule.
30850        BEGIN
30851           PRICE_LIST_ID      := PRICE_LIST_ID_CHR;
30852        EXCEPTION
30853        WHEN OTHERS THEN
30854           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'PRE');
30855           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30856           CLOSE L_HDR_DTLS_CSR;
30857           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
30858           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30859           L_ERROR_MSG      := SQLERRM;
30860           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30861                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30862                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30863                                       ERROR_MSG)
30864                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30865                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30866                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR,
30867                                        L_ERROR_MSG );
30868            Eflag:=1;
30869        END;
30870 
30871        --35. Validation for CVN ( CONVERSION_RATE ) rule.
30872        BEGIN
30873           CONVERSION_RATE      := CONVERSION_RATE_CHR;
30874        EXCEPTION
30875        WHEN OTHERS THEN
30876           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CVN');
30877           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30878           CLOSE L_HDR_DTLS_CSR;
30879           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
30880           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30881           L_ERROR_MSG      := SQLERRM;
30882           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30883                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30884                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30885                                       ERROR_MSG)
30886                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30887                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30888                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR,
30889                                        L_ERROR_MSG );
30890            Eflag:=1;
30891        END;
30892 
30893        --36. Validation for CVN ( CONVERSION_EURO_RATE ) rule.
30894        BEGIN
30895           CONVERSION_EURO_RATE      := CONVERSION_EURO_RATE_CHR;
30896        EXCEPTION
30897        WHEN OTHERS THEN
30898           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CVN');
30899           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30900           CLOSE L_HDR_DTLS_CSR;
30901           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
30902           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30903           L_ERROR_MSG      := SQLERRM;
30904           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30905                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30906                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30907                                       ERROR_MSG)
30908                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30909                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30910                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR,
30911                                        L_ERROR_MSG );
30912            Eflag:=1;
30913        END;
30914 
30915 /*
30916        --37. Validation for CCR ( CC_EXPIRY_DATE ) rule.
30917        BEGIN
30918           CC_EXPIRY_DATE      := to_date(CC_EXPIRY_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
30919        EXCEPTION
30920        WHEN OTHERS THEN
30921           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CCR');
30922           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30923           CLOSE L_HDR_DTLS_CSR;
30924           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
30925           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30926           L_ERROR_MSG      := SQLERRM;
30927           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30928                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30929                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30930                                       ERROR_MSG)
30931                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30932                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30933                                       'CCR'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CC_EXPIRY_DATE_CHR,
30934                                        L_ERROR_MSG );
30935           Eflag:=1;
30936        END;
30937 */
30938 
30939 /*
30940        --38. Validation for RVE ( EST_REV_DATE ) rule.
30941        BEGIN
30942           EST_REV_DATE      := to_date(EST_REV_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
30943        EXCEPTION
30944        WHEN OTHERS THEN
30945           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RVE');
30946           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30947           CLOSE L_HDR_DTLS_CSR;
30948           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_DATE');
30949           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30950           L_ERROR_MSG      := SQLERRM;
30951           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30952                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30953                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30954                                       ERROR_MSG)
30955                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30956                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30957                                       'RVE'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , EST_REV_DATE_CHR,
30958                                        L_ERROR_MSG );
30959            Eflag:=1;
30960        END;
30961 
30962 */
30963 /*
30964        --39. Validation for REN ( RENEWAL_END_DATE ) rule.
30965        BEGIN
30966           RENEWAL_END_DATE      := to_date(RENEWAL_END_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
30967        EXCEPTION
30968        WHEN OTHERS THEN
30969           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'REN');
30970           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30971           CLOSE L_HDR_DTLS_CSR;
30972           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_END_DATE');
30973           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30974           L_ERROR_MSG      := SQLERRM;
30975           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
30976                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
30977                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
30978                                       ERROR_MSG)
30979                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
30980                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
30981                                       'REN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_END_DATE_CHR,
30982                                        L_ERROR_MSG );
30983            Eflag:=1;
30984        END;
30985 */
30986 
30987 /*
30988        --40. Validation for REN ( CONVERSION_RATE_DATE ) rule.
30989        BEGIN
30990           CONVERSION_RATE_DATE      := to_date(CONVERSION_RATE_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
30991        EXCEPTION
30992        WHEN OTHERS THEN
30993           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'REN');
30994           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
30995           CLOSE L_HDR_DTLS_CSR;
30996           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE_DATE');
30997           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
30998           L_ERROR_MSG      := SQLERRM;
30999           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
31000                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, SCRIPT_NAME  ,
31001                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
31002                                       ERROR_MSG)
31003                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
31004                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER,'HDR',
31005                                       'CVN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_DATE_CHR,
31006                                        L_ERROR_MSG );
31007            Eflag:=1;
31008        END;
31009 
31010   */
31011 
31012 
31013     -- End of code to validate data type .
31014   ---------------------------------------------------------------------------------------
31015 
31016 
31017 
31018       End If;
31019 
31020 
31021       If(Eflag <> 0) Then
31022         Eflag:=0;
31023         Raise Main_Exception;
31024       End If;
31025 
31026 
31027       x_return_status := 'S';
31028 
31029 
31030   Exception
31031      When Main_exception THEN
31032       IF(Emsg is not null) THEN
31033          FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||Emsg);
31034       End If;
31035 
31036       IF(L_ERROR_MSG is not null) THEN
31037          FND_FILE.PUT_LINE(FND_FILE.LOG ,'Validation for'||p_rgp_id||'Failed with Error Message '||L_ERROR_MSG);
31038       End If;
31039 
31040      x_return_status := 'E';
31041     WHEN LOCK_EXCEPTION  THEN
31042 	X_RETURN_STATUS := 'E';
31043 	L_ERROR_MSG := SQLERRM;
31044     	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for LOCK ROW'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
31045     WHEN OTHERS THEN
31046 	X_RETURN_STATUS := 'E';
31047 	L_ERROR_MSG := SQLERRM;
31048     	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
31049 
31050 
31051 END SYNCHRONIZE_RULE_HDR;
31052 
31053 -----------------------------------------------------------------------------------------
31054 -- This is the  Procedure called from the procedure SYNCHRONIZE_RULE_DATA_SUBREQ         --
31055 --   code for -Synchronize Line rule data         --
31056 -----------------------------------------------------------------------------------------
31057 
31058 
31059 PROCEDURE SYNCHRONIZE_RULE_LINE(
31060     P_RGP_ID          IN NUMBER,
31061     P_CLE_ID           IN NUMBER,
31062     DNZ_CHR_ID         IN NUMBER,
31063     p_us_yn           in BOOLEAN,
31064     x_return_status            out NOCOPY VARCHAR2)
31065 
31066 IS
31067 
31068 L_DNZ_CHR_ID                    number;
31069 DISCOUNT_LIST                   number ;  --DST
31070 ACCT_RULE_ID                    number ;  --ARL
31071 L_PAYMENT_TYPE                    varchar2(2000) ;  --CCR
31072 L_CC_NO                           varchar2(2000) ;  --CCR
31073 CC_EXPIRY_DATE			date ; --CCR
31074 CC_BANK_ACCT_ID			number ;  --CCR
31075 L_CC_AUTH_CODE			varchar2(2000) ;  --CCR
31076 GRACE_DURATION			number ;  --GPR
31077 L_GRACE_PERIOD			varchar2(2000) ;  --GPR
31078 L_INVOICE_TEXT			varchar2(2000) ;  --IRT
31079 L_INV_PRINT_FLAG			varchar2(2000) ;  --IRT
31080 L_PRICE_UOM			varchar2(2000) ;  --IRT
31081 TAX_AMOUNT			number ;  --IRT
31082 L_TAX_INCLUSIVE_YN		varchar2(2000) ;  --IRT
31083 L_TAX_STATUS			varchar2(2000) ;  --TAX
31084 TAX_CODE			number ;  --TAX
31085 TAX_EXEMPTION_ID		number ;  --TAX
31086 L_IB_TRANS_TYPE			varchar2(2000) ;  --IBR
31087 IB_TRANS_DATE			date ; --IBR
31088 L_IB_TRX_DETAILS			varchar2(2000) ;  --IBR
31089 CLVL_LIST_PRICE			number ;  --PDL
31090 CLVL_QUANTITY			number ;  --PDL
31091 CLVL_EXTENDED_AMT		number ;  --PDL
31092 L_TOPLVL_OPERAND_CODE		varchar2(2000) ;  --PDL
31093 TOPLVL_OPERAND_VAL		number ;  --PDL
31094 L_CLVL_UOM_CODE			varchar2(2000) ;  --PDL
31095 TOPLVL_QUANTITY			number ;  --PDL
31096 L_TOPLVL_UOM_CODE			varchar2(2000) ;  --PDL
31097 TOPLVL_ADJ_PRICE		number ;  --PDL
31098 TOPLVL_PRICE_QTY		number ;  --PDL
31099 L_STATUS_TEXT			varchar2(2000) ;  --PDL
31100 AVERAGING_INTERVAL		number ;  --QRE
31101 L_USAGE_PERIOD			varchar2(2000) ;  --QRE
31102 L_SETTLEMENT_INTERVAL		varchar2(2000) ;  --QRE
31103 MINIMUM_QUANTITY		number ;  --QRE
31104 DEFAULT_QUANTITY		number ;  --QRE
31105 L_AMCV_FLAG			varchar2(2000) ;  --QRE
31106 FIXED_QUANTITY			number ;  --QRE
31107 USAGE_DURATION			number ;  --QRE
31108 L_LEVEL_YN			varchar2(2000) ;  --QRE
31109 L_USAGE_TYPE			varchar2(2000) ;  --QRE
31110 L_UOM_QUANTIFIED			varchar2(2000) ;  --QRE
31111 BASE_READING			number ;  --QRE
31112 L_USAGE_EST_METHOD		varchar2(2000) ;  --QRE
31113 L_BILLING_SCHEDULE_TYPE		varchar2(2000) ;  --SLH
31114 CUST_ACCT_ID			number ;  --CAN (OKC)
31115 BILL_TO_SITE_USE_ID		number ;  --BTO (OKC)
31116 INV_RULE_ID			number ;  --IRE (OKC)
31117 L_LINE_RENEWAL_TYPE_CODE		varchar2(2000) ;  --REN (OKC)
31118 SHIP_TO_SITE_USE_ID		number ;  --STO (OKC)
31119 PAYMENT_TERM_ID			number ;  --PTR (OKC)
31120 LINE_LIST_PRICE                 number ;  --PDL rule_info4 (OKC)
31121 
31122 -- FOLLOWING ARE NUMBER FIELDS --
31123 DISCOUNT_LIST_CHR               varchar2(2000) ;  --DST
31124 ACCT_RULE_ID_CHR                varchar2(2000) ;  --ARL
31125 CC_BANK_ACCT_ID_CHR		varchar2(2000) ;  --CCR
31126 GRACE_DURATION_CHR		varchar2(2000) ;  --GPR
31127 TAX_AMOUNT_CHR   		varchar2(2000) ;  --IRT
31128 TAX_CODE_CHR    		varchar2(2000) ;  --TAX
31129 TAX_EXEMPTION_ID_CHR		varchar2(2000) ;  --TAX
31130 CLVL_LIST_PRICE_CHR		varchar2(2000) ;  --PDL
31131 CLVL_QUANTITY_CHR		varchar2(2000) ;  --PDL
31132 CLVL_EXTENDED_AMT_CHR   	varchar2(2000) ;  --PDL
31133 TOPLVL_OPERAND_VAL_CHR		varchar2(2000) ;  --PDL
31134 TOPLVL_QUANTITY_CHR		varchar2(2000) ;  --PDL
31135 TOPLVL_ADJ_PRICE_CHR		varchar2(2000) ;  --PDL
31136 TOPLVL_PRICE_QTY_CHR		varchar2(2000) ;  --PDL
31137 AVERAGING_INTERVAL_CHR		varchar2(2000) ;  --QRE
31138 MINIMUM_QUANTITY_CHR		varchar2(2000) ;  --QRE
31139 DEFAULT_QUANTITY_CHR		varchar2(2000) ;  --QRE
31140 FIXED_QUANTITY_CHR		varchar2(2000) ;  --QRE
31141 USAGE_DURATION_CHR		varchar2(2000) ;  --QRE
31142 BASE_READING_CHR		varchar2(2000) ;  --QRE
31143 CUST_ACCT_ID_CHR		varchar2(2000) ;  --CAN (OKC)
31144 BILL_TO_SITE_USE_ID_CHR		varchar2(2000) ;  --BTO (OKC)
31145 INV_RULE_ID_CHR			varchar2(2000) ;  --IRE (OKC)
31146 SHIP_TO_SITE_USE_ID_CHR		varchar2(2000) ;  --STO (OKC)
31147 PAYMENT_TERM_ID_CHR		varchar2(2000) ;  --PTR (OKC)
31148 LINE_LIST_PRICE_CHR             varchar2(2000) ;  --PDL rule_info4 (OKC)
31149 ------------------------------------------------------------
31150 EXCEPTION_COV_ID_CHR            Varchar2(2000);
31151 PM_PROGRAM_ID_CHR               Varchar2(2000);
31152 PRICE_LIST_ID_CHR               Varchar2(2000);
31153 RCN_INCIDENT_SEVERITY_ID_CHR    Varchar2(2000);
31154 RCN_PDF_ID_CHR                  Varchar2(2000);
31155 RSN_INCIDENT_SEVERITY_ID_CHR    Varchar2(2000);
31156 RSN_PDF_ID_CHR                  Varchar2(2000);
31157 DISCOUNT_PERCENT_CHR            Varchar2(2000);
31158 DISCOUNT_AMOUNT_CHR             Varchar2(2000);
31159 ------------------------------------------------------------
31160 EXCEPTION_COV_ID                Number ;
31161 L_INHERITANCE_TYPE              Varchar2(2000);
31162 Prod_Upgrade_YN_CHR             Varchar2(2000);
31163 Coverage_Type_CHR               Varchar2(2000);
31164 TRANSFER_OPTION_CHR             Varchar2(2000);
31165 PM_PROGRAM_ID                   Number ;
31166 PM_CONF_REQ_YN_CHR              Varchar2(2000);
31167 PM_SCH_EXISTS_YN_CHR            Varchar2(2000);
31168 ALLOW_BT_DISCOUNT_CHR           Varchar2(2000);
31169 L_OFFSET_DURATION               Varchar2(2000);
31170 PRICE_LIST_ID                   Number ;
31171 RCN_INCIDENT_SEVERITY_ID        Number ;
31172 RCN_PDF_ID                      Number ;
31173 RCN_REACT_TIME_NAME             Varchar2(2000);
31174 RCN_WORK_THRU_YN                Varchar2(2000);
31175 RCN_REACT_ACTIVE_YN             Varchar2(2000);
31176 RSN_INCIDENT_SEVERITY_ID        Number ;
31177 RSN_PDF_ID                      Number ;
31178 RSN_REACT_TIME_NAME             Varchar2(2000);
31179 RSN_WORK_THRU_YN                Varchar2(2000);
31180 RSN_REACT_ACTIVE_YN             Varchar2(2000);
31181 L_LIMIT_UOM_QUANTIFIED          Varchar2(2000);
31182 DISCOUNT_AMOUNT                 Number;
31183 DISCOUNT_PERCENT                Number;
31184 L_Sync_Date_Install             Varchar2(2000);
31185 
31186 -----------------------------------------------------------
31187 -- FOLLOWING ARE DATE FIELDS --
31188 CC_EXPIRY_DATE_CHR		varchar2(2000) ; --CCR
31189 IB_TRANS_DATE_CHR		varchar2(2000) ; --IBR
31190 
31191 --Misc Variables --
31192 L_ATTRIBUTE_NAME                VARCHAR2(2000);
31193 L_ERROR_MSG                     VARCHAR2(2000);
31194  L_USERENV_LANG                 VARCHAR2(100) := OKC_UTIL.get_userenv_lang ;
31195 
31196 MAIN_EXCEPTION                  EXCEPTION;
31197 VAL_EXCEPTION                   EXCEPTION;
31198 LOCK_EXCEPTION                  EXCEPTION;
31199 
31200  CURSOR L_LOCK_CSR ( P_CLE_ID in NUMBER ) IS
31201  SELECT ID
31202    FROM OKC_K_LINES_B
31203   WHERE ID = P_CLE_ID
31204     FOR UPDATE NOWAIT;
31205 L_LOCK_ID                    NUMBER;
31206 Eflag                        NUMBER;
31207 Emsg                         VARCHAR2(2000);
31208 l_check_var                  varchar2(1);
31209 l_check_var1                 varchar2(1);
31210 
31211 -------------------------------------------------------------------------------
31212 -- The following is the cursor opened if all the parameters passed are null  --
31213 -------------------------------------------------------------------------------
31214 CURSOR l_line_rule_csr (p_id in NUMBER)is
31215 SELECT     -------  Character to number conversion -- No translation needed ,checked in gsidev
31216        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
31217        --              '!,.','!')                                                          DISCOUNT_LIST
31218         MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1))                DISCOUNT_LIST
31219 
31220        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                ACCT_RULE_ID
31221        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                          PAYMENT_TYPE
31222        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))          CC_NO
31223        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
31224             to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       CC_EXPIRY_DATE
31225        -------  Character to number conversion -- No translation needed ,checked in gsidev
31226        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
31227        --              '!,.','!')                                                          CC_BANK_ACCT_ID
31228        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))          CC_BANK_ACCT_ID
31229        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))          CC_AUTH_CODE
31230        -------  Character to number conversion -- No translation needed ,checked in gsidev
31231        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
31232        --              '!,.','!')                                                          GRACE_DURATION
31233        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))          GRACE_DURATION
31234        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))          GRACE_PERIOD
31235        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION1))          INVOICE_TEXT
31236        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION2))          INV_PRINT_FLAG
31237        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION3))          PRICE_UOM
31238         -------  Character to number conversion -- This column needs translation --checked in gsidev
31239        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
31240                      '!,','!')                                                             TAX_AMOUNT
31241        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION5))          TAX_INCLUSIVE_YN
31242        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))          TAX_STATUS
31243        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
31244                      '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!')       TAX_CODE
31245        -------  Character to number conversion -- No translation needed ,checked in gsidev
31246        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
31247        --              '!,.','!')                                                          TAX_EXEMPTION_ID
31248        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                TAX_EXEMPTION_ID
31249        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION1))          IB_TRANS_TYPE
31250        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,
31251             TO_DATE(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       IB_TRANS_DATE
31252        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION3))          IB_TRX_DETAILS
31253         -------  Character to number conversion -- This column needs translation --checked in gsidev
31254        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
31255                      '!,','!')                                                             CLVL_LIST_PRICE
31256        -------  Character to number conversion -- No translation needed ,checked in gsidev
31257        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
31258        --              '!,.','!')                                                          CLVL_QUANTITY
31259        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2))          CLVL_QUANTITY
31260        -------  Character to number conversion -- This column needs translation --checked in gsidev
31261        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
31262                      '!,','!')                                                             CLVL_EXTENDED_AMT
31263        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
31264                      '!,','!')                                                             LINE_LIST_PRICE
31265        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION5))          TOPLVL_OPERAND_CODE
31266         -------  Character to number conversion -- This column needs translation --checked in gsidev
31267        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
31268                      '!,','!')                                                             TOPLVL_OPERAND_VAL
31269        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION7))          CLVL_UOM_CODE
31270        -------  Character to number conversion -- No translation needed ,checked in gsidev
31271        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
31272        --              '!,.','!')                                                          TOPLVL_QUANTITY
31273        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8))          TOPLVL_QUANTITY
31274        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION9))          TOPLVL_UOM_CODE
31275        -------  Character to number conversion -- This column needs translation --checked in gsidev
31276        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
31277                      '!,','!')                                                             TOPLVL_ADJ_PRICE
31278        -------  Character to number conversion -- This column needs translation --checked in gsidev
31279        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
31280                      '!,','!')                                                             TOPLVL_PRICE_QTY
31281        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION12)) STATUS_TEXT
31282        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  QRE.
31283        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
31284        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
31285        --              '!,.','!')                                                           AVERAGING_INTERVAL
31286        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1))           AVERAGING_INTERVAL
31287        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION2))           USAGE_PERIOD
31288        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION3))           SETTLEMENT_INTERVAL
31289        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
31290        --              '!,.','!')                                                           MINIMUM_QUANTITY
31291        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4))           MINIMUM_QUANTITY
31292        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
31293        --              '!,.','!')                                                           DEFAULT_QUANTITY
31294        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5))           DEFAULT_QUANTITY
31295        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION6))           AMCV_FLAG
31296        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
31297        --              '!,.','!')                                                           FIXED_QUANTITY
31298        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7))               FIXED_QUANTITY
31299        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
31300        --              '!,.','!')       USAGE_DURATION
31301        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8))           USAGE_DURATION
31302        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION9))           LEVEL_YN
31303        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION10))          USAGE_TYPE
31304        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION11))          UOM_QUANTIFIED
31305        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
31306        --              '!,.','!')       BASE_READING
31307        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12))          BASE_READING
31308        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,DECODE(RUL.RULE_INFORMATION6,'Y','AMCV'))) USAGE_EST_METHOD
31309        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
31310        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
31311                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) ) BILLING_SCHEDULE_TYPE
31312        -------  Character to number conversion -- No translation needed ,checked in gsidev
31313        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
31314        --              '!,.','!')                                                           CUST_ACCT_ID           --OKC
31315        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                 CUST_ACCT_ID           --OKC
31316        -------  Character to number conversion -- No translation needed ,checked in gsidev
31317        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
31318        --              '!,.','!')                                                           BILL_TO_SITE_USE_ID    --OKC
31319        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                 BILL_TO_SITE_USE_ID    --OKC
31320        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                 INV_RULE_ID            --OKC
31321        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LRT' ,RUL.RULE_INFORMATION1))           LINE_RENEWAL_TYPE_CODE --OKC
31322        -------  Character to number conversion -- No translation needed ,checked in gsidev
31323        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
31324        --              '!,.','!')                                                           SHIP_TO_SITE_USE_ID    --OKC
31325        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                 SHIP_TO_SITE_USE_ID    --OKC
31326        -------  Character to number conversion -- No translation needed ,checked in gsidev
31327        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
31328        --              '!,.','!')                                                           PAYMENT_TERM_ID        --OKC
31329        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                 PAYMENT_TERM_ID        --OKC
31330        ----- For Coverages
31331        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1))             EXCEPTION_COV_ID
31332        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'WHE',RUL.RULE_INFORMATION1))             INHERITANCE_TYPE
31333        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'UGE',RUL.RULE_INFORMATION1))             PROD_UPGRADE_YN_CHR
31334        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'CVE',RUL.RULE_INFORMATION1))             COVERAGE_TYPE_CHR
31335        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'STR',decode(RUL.RULE_INFORMATION1,'Y','TRANS','TERM'))) TRANSFER_OPTION_CHR
31336        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1))                   PM_PROGRAM_ID
31337        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION1))             PM_CONF_REQ_YN_CHR
31338        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION2))             PM_SCH_EXISTS_YN_CHR
31339        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'DST',RUL.OBJECT1_ID1))                 DISCOUNT_LIST
31340        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD',DECODE(LINE.LSE_ID ,16,'Y',RUL.RULE_INFORMATION1))) ALLOW_BT_DISCOUNT
31341        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD','Y'))ALLOW_BT_DISCOUNT_CHR
31342        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'OFS',RUL.RULE_INFORMATION1))OFFSET_DURATION
31343        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1))                   PRICE_LIST_ID
31344        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))                   RCN_INCIDENT_SEVERITY_ID
31345        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))             RCN_PDF_ID
31346        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))             RCN_REACT_TIME_NAME
31347        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))             RCN_WORK_THRU_YN
31348        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))             RCN_REACT_ACTIVE_YN
31349        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))             RSN_REACT_TIME_NAME
31350        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1))             LIMIT_UOM_QUANTIFIED
31351        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  LMT.
31352        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
31353        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2)),
31354        --              '!,','!')                                                           DISCOUNT_AMOUNT
31355        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2))             DISCOUNT_AMOUNT
31356        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4)),
31357        --              '!%,','!')                                                          DISCOUNT_PERCENT
31358        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4))             DISCOUNT_PERCENT
31359        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT','N'))Sync_Date_Install
31360 --------------------------------------------------------------------------------------------------------------------
31361   FROM OKC_RULE_GROUPS_B RGP
31362      , OKC_RULES_B RUL
31363  WHERE RGP.ID  = RUL.RGP_ID
31364    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
31365 'ECE','WHE','UGE','STR','CVE','PMP','BTD','RCN','RSN','LMT','OFS','PRE')
31366    AND RGP.CLE_ID = P_CLE_ID
31367    AND RGP.RGD_CODE = 'SVC_K'
31368    AND RGP.id = p_id;
31369 
31370 
31371 CURSOR l_line_rule_csr_nus (p_id in NUMBER)is
31372 SELECT
31373        -------  Character to number conversion -- No translation needed ,checked in gsidev
31374        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
31375        --              '!,. ','!')                                                          DISCOUNT_LIST
31376         MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1))                DISCOUNT_LIST
31377 
31378        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                ACCT_RULE_ID
31379        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                          PAYMENT_TYPE
31380        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))          CC_NO
31381        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
31382             to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       CC_EXPIRY_DATE
31383        -------  Character to number conversion -- No translation needed ,checked in gsidev
31384        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
31385        --              '!,. ','!')                                                          CC_BANK_ACCT_ID
31386        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))          CC_BANK_ACCT_ID
31387        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))          CC_AUTH_CODE
31388        -------  Character to number conversion -- No translation needed ,checked in gsidev
31389        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
31390        --              '!,. ','!')                                                          GRACE_DURATION
31391        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))          GRACE_DURATION
31392        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))          GRACE_PERIOD
31393        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION1))          INVOICE_TEXT
31394        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION2))          INV_PRINT_FLAG
31395        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION3))          PRICE_UOM
31396         -------  Character to number conversion -- This column needs translation --checked in gsidev
31397        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
31398                      '!. ','!')                                                             TAX_AMOUNT
31399        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION5))          TAX_INCLUSIVE_YN
31400        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))          TAX_STATUS
31401        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
31402                      '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')       TAX_CODE
31403        -------  Character to number conversion -- No translation needed ,checked in gsidev
31404        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
31405        --              '!,. ','!')                                                          TAX_EXEMPTION_ID
31406        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                TAX_EXEMPTION_ID
31407        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION1))          IB_TRANS_TYPE
31408        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,
31409             TO_DATE(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       IB_TRANS_DATE
31410        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION3))          IB_TRX_DETAILS
31411         -------  Character to number conversion -- This column needs translation --checked in gsidev
31412        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
31413                      '!. ','!')                                                             CLVL_LIST_PRICE
31414        -------  Character to number conversion -- No translation needed ,checked in gsidev
31415        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
31416        --              '!,. ','!')                                                          CLVL_QUANTITY
31417        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2))           CLVL_QUANTITY
31418        -------  Character to number conversion -- This column needs translation --checked in gsidev
31419        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
31420                      '!. ','!')                                                             CLVL_EXTENDED_AMT
31421        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
31422                      '!. ','!')                                                             LINE_LIST_PRICE
31423        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION5))          TOPLVL_OPERAND_CODE
31424         -------  Character to number conversion -- This column needs translation --checked in gsidev
31425        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
31426                      '!. ','!')                                                             TOPLVL_OPERAND_VAL
31427        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION7))          CLVL_UOM_CODE
31428        -------  Character to number conversion -- No translation needed ,checked in gsidev
31429        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
31430        --              '!,. ','!')                                                          TOPLVL_QUANTITY
31431        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8))          TOPLVL_QUANTITY
31432        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION9))          TOPLVL_UOM_CODE
31433        -------  Character to number conversion -- This column needs translation --checked in gsidev
31434        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
31435                      '!. ','!')                                                             TOPLVL_ADJ_PRICE
31436        -------  Character to number conversion -- This column needs translation --checked in gsidev
31437        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
31438                      '!. ','!')                                                             TOPLVL_PRICE_QTY
31439        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION12)) STATUS_TEXT
31440        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  QRE.
31441        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
31442        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
31443        --              '!,. ','!')                                                           AVERAGING_INTERVAL
31444        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1))           AVERAGING_INTERVAL
31445        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION2))           USAGE_PERIOD
31446        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION3))           SETTLEMENT_INTERVAL
31447        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
31448        --              '!,. ','!')                                                           MINIMUM_QUANTITY
31449        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4))           MINIMUM_QUANTITY
31450        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
31451        --              '!,. ','!')                                                           DEFAULT_QUANTITY
31452        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5))           DEFAULT_QUANTITY
31453        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION6))           AMCV_FLAG
31454        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
31455        --              '!,. ','!')                                                           FIXED_QUANTITY
31456        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7))               FIXED_QUANTITY
31457        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
31458        --              '!,. ','!')       USAGE_DURATION
31459        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8))           USAGE_DURATION
31460        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION9))           LEVEL_YN
31461        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION10))          USAGE_TYPE
31462        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION11))          UOM_QUANTIFIED
31463        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
31464        --              '!,. ','!')       BASE_READING
31465        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12))          BASE_READING
31466        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,DECODE(RUL.RULE_INFORMATION6,'Y','AMCV'))) USAGE_EST_METHOD
31467        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
31468        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
31469                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) ) BILLING_SCHEDULE_TYPE
31470        -------  Character to number conversion -- No translation needed ,checked in gsidev
31471        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
31472        --              '!,. ','!')                                                           CUST_ACCT_ID           --OKC
31473        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                 CUST_ACCT_ID           --OKC
31474        -------  Character to number conversion -- No translation needed ,checked in gsidev
31475        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
31476        --              '!,. ','!')                                                           BILL_TO_SITE_USE_ID    --OKC
31477        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                 BILL_TO_SITE_USE_ID    --OKC
31478        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                 INV_RULE_ID            --OKC
31479        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LRT' ,RUL.RULE_INFORMATION1))           LINE_RENEWAL_TYPE_CODE --OKC
31480        -------  Character to number conversion -- No translation needed ,checked in gsidev
31481        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
31482        --              '!,. ','!')                                                           SHIP_TO_SITE_USE_ID    --OKC
31483        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                 SHIP_TO_SITE_USE_ID    --OKC
31484        -------  Character to number conversion -- No translation needed ,checked in gsidev
31485        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
31486        --              '!,. ','!')                                                           PAYMENT_TERM_ID        --OKC
31487        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                 PAYMENT_TERM_ID        --OKC
31488        ----- For Coverages
31489        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1))             EXCEPTION_COV_ID
31490        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'WHE',RUL.RULE_INFORMATION1))             INHERITANCE_TYPE
31491        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'UGE',RUL.RULE_INFORMATION1))             PROD_UPGRADE_YN_CHR
31492        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'CVE',RUL.RULE_INFORMATION1))             COVERAGE_TYPE_CHR
31493        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'STR',decode(RUL.RULE_INFORMATION1,'Y','TRANS','TERM'))) TRANSFER_OPTION_CHR
31494        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1))                   PM_PROGRAM_ID
31495        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION1))             PM_CONF_REQ_YN_CHR
31496        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION2))             PM_SCH_EXISTS_YN_CHR
31497        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'DST',RUL.OBJECT1_ID1))                 DISCOUNT_LIST
31498        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD','Y'))ALLOW_BT_DISCOUNT_CHR
31499        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'OFS',RUL.RULE_INFORMATION1))OFFSET_DURATION
31500        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1))                   PRICE_LIST_ID
31501        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))                   RCN_INCIDENT_SEVERITY_ID
31502        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))             RCN_PDF_ID
31503        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))             RCN_REACT_TIME_NAME
31504        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))             RCN_WORK_THRU_YN
31505        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))             RCN_REACT_ACTIVE_YN
31506        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))             RSN_REACT_TIME_NAME
31507        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1))             LIMIT_UOM_QUANTIFIED
31508        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  LMT.
31509        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
31510        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2)),
31511        --              '!. ','!')                                                           DISCOUNT_AMOUNT
31512        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2))             DISCOUNT_AMOUNT
31513        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4)),
31514        --              '!%. ','!')                                                          DISCOUNT_PERCENT
31515        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4))             DISCOUNT_PERCENT
31516        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT','N'))Sync_Date_Install
31517 --------------------------------------------------------------------------------------------------------------------
31518   FROM OKC_RULE_GROUPS_B RGP
31519      , OKC_RULES_B RUL
31520  WHERE RGP.ID  = RUL.RGP_ID
31521    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
31522 'ECE','WHE','UGE','STR','CVE','PMP','BTD','RCN','RSN','LMT','OFS','PRE')
31523    AND RGP.CLE_ID = P_CLE_ID
31524    AND RGP.RGD_CODE = 'SVC_K'
31525    AND RGP.id = p_id;
31526 
31527 
31528  ----------------------------------------------------------------------------
31529 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
31530 ----------------------------------------------------------------------------
31531 CURSOR L_LINE_DTLS_CSR (P_CLE_ID  IN NUMBER ,P_HDR_ID IN NUMBER, P_CATEGORY IN VARCHAR2 ) IS
31532 SELECT HDR.CONTRACT_NUMBER
31533      , HDR.CONTRACT_NUMBER_MODIFIER
31534      , LIN.LINE_NUMBER
31535      , RUL.ID
31536      , RGP.ID RGP_ID
31537  FROM  OKC_K_HEADERS_B HDR
31538      , OKC_RULE_GROUPS_B RGP
31539      , OKC_RULES_B RUL
31540      , OKC_K_LINES_B LIN
31541 WHERE HDR.ID = P_HDR_ID
31542   AND LIN.ID= P_CLE_ID
31543   AND RGP.DNZ_CHR_ID = P_HDR_ID
31544   AND RGP.CLE_ID = LIN.ID
31545   AND RGP.ID = RUL.RGP_ID
31546   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
31547   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
31548 
31549 L_LINE_DTLS_REC L_LINE_DTLS_CSR%ROWTYPE;
31550 -----------------------------------------------------------------------------
31551 --Cursor to check if the records corresponding to CLE_ID exists
31552 --in oks_k_lines_b
31553 -----------------------------------------------------------------------------
31554  Cursor Cur_Klin_exists(p_cleid in number) IS
31555  select 'x'
31556    from oks_k_lines_b
31557   where cle_id=p_cleid;
31558 
31559 -----------------------------------------------------------------------------
31560 --Cursor to check if the records corresponding to rgp_id exists
31561 --in okc_rule_groups_b
31562 -----------------------------------------------------------------------------
31563  Cursor Cur_RGP_exists(P_RGP_ID in number) IS
31564  select 'x'
31565    from okc_rule_groups_b
31566   where id = P_RGP_ID
31567     and cle_id is not null;
31568 
31569 
31570 -----------------------------------------------------------------
31571 -- Newly added code to synchronize cc_no , po , Price list from--
31572 -- Header to Top lines                                         --
31573 -----------------------------------------------------------------
31574  l_payment_typei    varchar2(2000);
31575  l_cc_noi           varchar2(2000);
31576  l_cc_expiry_datei  date;
31577  --l_cc_bank_acct_idi number;
31578  --l_cc_auth_codei    varchar2(2000);
31579  l_cust_po_numberi  varchar2(2000);
31580  l_cust_po_number_req_yni varchar2(10);
31581  l_price_list_idi   number;
31582  l_dnz_chr_idi      number;
31583  l_lse_idi          number;
31584 
31585  CURSOR L_SYNHL_CSR ( p_hdr_id in NUMBER , p_line_id in NUMBER ) is
31586   select oks.payment_type
31587        , oks.cc_no
31588        , oks.cc_expiry_date
31589        --, oks.cc_bank_acct_id
31590        --, oks.cc_auth_code
31591        , okc.cust_po_number
31592        , okc.cust_po_number_req_yn
31593        , okc.price_list_id
31594        , okc.id
31595        , okcl.lse_id
31596     from oks_k_headers_b oks
31597        , okc_k_headers_b okc
31598        , okc_k_lines_b   okcl
31599    where oks.chr_id = okc.id
31600      and okcl.lse_id in ( 1,12,19,46)
31601      and okcl.dnz_chr_id = oks.chr_id
31602      and okcl.dnz_chr_id = okc.id
31603      and oks.chr_id = p_hdr_id
31604      and okc.id     = p_hdr_id
31605      and okcl.id    = p_line_id ;
31606 
31607 BEGIN
31608  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
31609  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------  Start of Sub request for Line Rule Data Synchronisation   --------');
31610  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
31611 
31612  BEGIN
31613    OPEN L_LOCK_CSR (p_cle_id);
31614    FETCH L_LOCK_CSR into L_LOCK_ID;
31615    CLOSE L_LOCK_CSR;
31616  EXCEPTION
31617    WHEN OTHERS THEN
31618      RAISE LOCK_EXCEPTION;
31619  END;
31620 
31621  L_DNZ_CHR_ID := DNZ_CHR_ID;
31622 
31623 
31624  DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
31625 
31626 if(p_us_yn) then
31627    OPEN l_line_rule_csr(p_rgp_id);
31628 
31629    FETCH l_line_rule_csr into
31630                          DISCOUNT_LIST_CHR
31631                         ,ACCT_RULE_ID_CHR
31632                         ,L_PAYMENT_TYPE
31633                         ,L_CC_NO
31634                         ,CC_EXPIRY_DATE_CHR
31635                         ,CC_BANK_ACCT_ID_CHR
31636                         ,L_CC_AUTH_CODE
31637                         ,GRACE_DURATION_CHR
31638                         ,L_GRACE_PERIOD
31639                         ,L_INVOICE_TEXT
31640                         ,L_INV_PRINT_FLAG
31641                         ,L_PRICE_UOM
31642                         ,TAX_AMOUNT_CHR
31643                         ,L_TAX_INCLUSIVE_YN
31644                         ,L_TAX_STATUS
31645                         ,TAX_CODE_CHR
31646                         ,TAX_EXEMPTION_ID_CHR
31647                         ,L_IB_TRANS_TYPE
31648                         ,IB_TRANS_DATE_CHR
31649                         ,L_IB_TRX_DETAILS
31650                         --,PROD_PRICE
31651                         --,SERVICE_PRICE
31652                         ,CLVL_LIST_PRICE_CHR
31653                         ,CLVL_QUANTITY_CHR
31654                         ,CLVL_EXTENDED_AMT_CHR
31655                         ,LINE_LIST_PRICE_CHR
31656                         ,L_TOPLVL_OPERAND_CODE
31657                         ,TOPLVL_OPERAND_VAL_CHR
31658                         ,L_CLVL_UOM_CODE
31659                         ,TOPLVL_QUANTITY_CHR
31660                         ,L_TOPLVL_UOM_CODE
31661                         ,TOPLVL_ADJ_PRICE_CHR
31662                         ,TOPLVL_PRICE_QTY_CHR
31663                         ,L_STATUS_TEXT
31664                         ,AVERAGING_INTERVAL_CHR
31665                         ,L_USAGE_PERIOD
31666                         ,L_SETTLEMENT_INTERVAL
31667                         ,MINIMUM_QUANTITY_CHR
31668                         ,DEFAULT_QUANTITY_CHR
31669                         ,L_AMCV_FLAG
31670                         ,FIXED_QUANTITY_CHR
31671                         ,USAGE_DURATION_CHR
31672                         ,L_LEVEL_YN
31673                         ,L_USAGE_TYPE
31674                         ,L_UOM_QUANTIFIED
31675                         ,BASE_READING_CHR
31676                         ,L_USAGE_EST_METHOD
31677                         ,L_BILLING_SCHEDULE_TYPE
31678                         ,CUST_ACCT_ID_CHR           --OKC
31679                         ,BILL_TO_SITE_USE_ID_CHR    --OKC
31680                         ,INV_RULE_ID_CHR            --OKC
31681                         ,L_LINE_RENEWAL_TYPE_CODE --OKC
31682                         ,SHIP_TO_SITE_USE_ID_CHR    --OKC
31683                         ,PAYMENT_TERM_ID_CHR       --OKC
31684 
31685 -------------------------------------------------------------------------------
31686 		  , EXCEPTION_COV_ID_CHR,
31687 		    L_INHERITANCE_TYPE,
31688 		    Prod_Upgrade_YN_CHR,
31689 		    Coverage_Type_CHR,
31690 		    TRANSFER_OPTION_CHR,
31691 		    PM_PROGRAM_ID_CHR,
31692 		    PM_CONF_REQ_YN_CHR,
31693 		    PM_SCH_EXISTS_YN_CHR,
31694 		    --DISCOUNT_LIST,
31695 		    ALLOW_BT_DISCOUNT_CHR,
31696 		    L_OFFSET_DURATION,
31697 		    --OFFSET_PERIOD,
31698 		    PRICE_LIST_ID_CHR,
31699 		    RCN_INCIDENT_SEVERITY_ID_CHR,
31700 		    RCN_PDF_ID_CHR,
31701 		    RCN_REACT_TIME_NAME,
31702 		    RCN_WORK_THRU_YN,
31703 		    RCN_REACT_ACTIVE_YN,
31704 		    RSN_REACT_TIME_NAME,
31705 		    L_LIMIT_UOM_QUANTIFIED,
31706 		    DISCOUNT_AMOUNT_CHR,
31707 		    DISCOUNT_PERCENT_CHR,
31708 		    L_Sync_Date_Install
31709 		-------------------------------------------------------------------------------
31710 			 ;      --OKC
31711 
31712       Close l_line_rule_csr;
31713    else
31714    OPEN l_line_rule_csr_nus(p_rgp_id);
31715 
31716    FETCH l_line_rule_csr_nus into
31717                          DISCOUNT_LIST_CHR
31718                         ,ACCT_RULE_ID_CHR
31719                         ,L_PAYMENT_TYPE
31720                         ,L_CC_NO
31721                         ,CC_EXPIRY_DATE_CHR
31722                         ,CC_BANK_ACCT_ID_CHR
31723                         ,L_CC_AUTH_CODE
31724                         ,GRACE_DURATION_CHR
31725                         ,L_GRACE_PERIOD
31726                         ,L_INVOICE_TEXT
31727                         ,L_INV_PRINT_FLAG
31728                         ,L_PRICE_UOM
31729                         ,TAX_AMOUNT_CHR
31730                         ,L_TAX_INCLUSIVE_YN
31731                         ,L_TAX_STATUS
31732                         ,TAX_CODE_CHR
31733                         ,TAX_EXEMPTION_ID_CHR
31734                         ,L_IB_TRANS_TYPE
31735                         ,IB_TRANS_DATE_CHR
31736                         ,L_IB_TRX_DETAILS
31737                         --,PROD_PRICE
31738                         --,SERVICE_PRICE
31739                         ,CLVL_LIST_PRICE_CHR
31740                         ,CLVL_QUANTITY_CHR
31741                         ,CLVL_EXTENDED_AMT_CHR
31742                         ,LINE_LIST_PRICE_CHR
31743                         ,L_TOPLVL_OPERAND_CODE
31744                         ,TOPLVL_OPERAND_VAL_CHR
31745                         ,L_CLVL_UOM_CODE
31746                         ,TOPLVL_QUANTITY_CHR
31747                         ,L_TOPLVL_UOM_CODE
31748                         ,TOPLVL_ADJ_PRICE_CHR
31749                         ,TOPLVL_PRICE_QTY_CHR
31750                         ,L_STATUS_TEXT
31751                         ,AVERAGING_INTERVAL_CHR
31752                         ,L_USAGE_PERIOD
31753                         ,L_SETTLEMENT_INTERVAL
31754                         ,MINIMUM_QUANTITY_CHR
31755                         ,DEFAULT_QUANTITY_CHR
31756                         ,L_AMCV_FLAG
31757                         ,FIXED_QUANTITY_CHR
31758                         ,USAGE_DURATION_CHR
31759                         ,L_LEVEL_YN
31760                         ,L_USAGE_TYPE
31761                         ,L_UOM_QUANTIFIED
31762                         ,BASE_READING_CHR
31763                         ,L_USAGE_EST_METHOD
31764                         ,L_BILLING_SCHEDULE_TYPE
31765                         ,CUST_ACCT_ID_CHR           --OKC
31766                         ,BILL_TO_SITE_USE_ID_CHR    --OKC
31767                         ,INV_RULE_ID_CHR            --OKC
31768                         ,L_LINE_RENEWAL_TYPE_CODE --OKC
31769                         ,SHIP_TO_SITE_USE_ID_CHR    --OKC
31770                         ,PAYMENT_TERM_ID_CHR       --OKC
31771 
31772 -------------------------------------------------------------------------------
31773 		  , EXCEPTION_COV_ID_CHR,
31774 		    L_INHERITANCE_TYPE,
31775 		    Prod_Upgrade_YN_CHR,
31776 		    Coverage_Type_CHR,
31777 		    TRANSFER_OPTION_CHR,
31778 		    PM_PROGRAM_ID_CHR,
31779 		    PM_CONF_REQ_YN_CHR,
31780 		    PM_SCH_EXISTS_YN_CHR,
31781 		    --DISCOUNT_LIST,
31782 		    ALLOW_BT_DISCOUNT_CHR,
31783 		    L_OFFSET_DURATION,
31784 		    --OFFSET_PERIOD,
31785 		    PRICE_LIST_ID_CHR,
31786 		    RCN_INCIDENT_SEVERITY_ID_CHR,
31787 		    RCN_PDF_ID_CHR,
31788 		    RCN_REACT_TIME_NAME,
31789 		    RCN_WORK_THRU_YN,
31790 		    RCN_REACT_ACTIVE_YN,
31791 		    RSN_REACT_TIME_NAME,
31792 		    L_LIMIT_UOM_QUANTIFIED,
31793 		    DISCOUNT_AMOUNT_CHR,
31794 		    DISCOUNT_PERCENT_CHR,
31795 		    L_Sync_Date_Install
31796 		-------------------------------------------------------------------------------
31797 			 ;      --OKC
31798 
31799       Close l_line_rule_csr_nus;
31800 
31801    end if;
31802    --End of If to choose the cursor to be fetched --
31803       ---------------------------------------------------------------------------
31804       -- Code added to synchronize Hdr level cc no,po,pricelist,cust_po_number --
31805       ---------------------------------------------------------------------------
31806       l_dnz_chr_idi := Null;
31807       Open  l_synhl_csr (dnz_chr_id , p_cle_id );
31808       Fetch l_synhl_csr into l_payment_typei
31809                            , l_cc_noi
31810                            , l_cc_expiry_datei
31811                            --, l_cc_bank_acct_idi
31812                            --, l_cc_auth_codei
31813                            , l_cust_po_numberi
31814                            , l_cust_po_number_req_yni
31815                            , l_price_list_idi
31816                            , l_dnz_chr_idi
31817                            , l_lse_idi ;
31818       Close l_synhl_csr;
31819       ---------------------------------------------------------------------------
31820 
31821       Eflag:=0;
31822       Emsg:=NULL;
31823 
31824       -- Begin of code to check if the row exists in oks_k_lines_b
31825       l_check_var:=NULL;
31826       Open  Cur_Klin_exists(P_Cle_ID);
31827       Fetch Cur_Klin_exists into l_check_var;
31828       Close Cur_Klin_exists;
31829 
31830       l_check_var1 := null;
31831       Open  Cur_RGP_exists(P_RGP_ID);
31832       Fetch Cur_RGP_exists into l_check_var1;
31833       Close Cur_RGP_exists;
31834 
31835       If(l_check_var is NULL and l_check_var1 is not null ) THEN
31836           BEGIN
31837              UPDATE OKC_K_LINES_B
31838                 SET CUST_ACCT_ID           = CUST_ACCT_ID_CHR
31839                   , BILL_TO_SITE_USE_ID    = BILL_TO_SITE_USE_ID_CHR
31840                   , INV_RULE_ID            = INV_RULE_ID_CHR
31841                   , LINE_RENEWAL_TYPE_CODE = L_LINE_RENEWAL_TYPE_CODE
31842                   , SHIP_TO_SITE_USE_ID    = SHIP_TO_SITE_USE_ID_CHR
31843 	          , PAYMENT_TERM_ID        = PAYMENT_TERM_ID_CHR
31844 	          , PRICE_LIST_ID          = decode(l_lse_idi,1 ,l_price_list_idi
31845                                                              ,12,l_price_list_idi
31846                                                              ,19,l_price_list_idi
31847                                                              ,46,l_price_list_idi,PRICE_LIST_ID_CHR )
31848                   , LINE_LIST_PRICE        = LINE_LIST_PRICE_CHR
31849               WHERE ID = P_CLE_ID;
31850 
31851            EXCEPTION When others then
31852               Eflag:=1;
31853 	      Emsg :=SQLERRM;
31854           END;
31855 
31856            If(Eflag<>1) Then
31857            BEGIN
31858               INSERT INTO OKS_K_LINES_B
31859                        ( ID
31860                         ,CLE_ID
31861                         ,DNZ_CHR_ID
31862                         ,DISCOUNT_LIST
31863                         ,ACCT_RULE_ID
31864                         --,PAYMENT_TYPE
31865                         --,CC_NO
31866                         --,CC_EXPIRY_DATE
31867                         --,CC_BANK_ACCT_ID
31868                         --,CC_AUTH_CODE
31869                         ,GRACE_DURATION
31870                         ,GRACE_PERIOD
31871                         ,INV_PRINT_FLAG
31872                         ,PRICE_UOM
31873                         ,TAX_AMOUNT
31874                         ,TAX_INCLUSIVE_YN
31875                         ,TAX_STATUS
31876                         ,TAX_CODE
31877                         ,TAX_EXEMPTION_ID
31878                         ,IB_TRANS_TYPE
31879                         ,IB_TRANS_DATE
31880                         --,PROD_PRICE
31881                         --,SERVICE_PRICE
31882                         ,CLVL_LIST_PRICE
31883                         ,CLVL_QUANTITY
31884                         ,CLVL_EXTENDED_AMT
31885                         ,TOPLVL_OPERAND_CODE
31886                         ,TOPLVL_OPERAND_VAL
31887                         ,CLVL_UOM_CODE
31888                         ,TOPLVL_QUANTITY
31889                         ,TOPLVL_UOM_CODE
31890                         ,TOPLVL_ADJ_PRICE
31891                         ,TOPLVL_PRICE_QTY
31892                         ,AVERAGING_INTERVAL
31893                         ,USAGE_PERIOD
31894                         ,SETTLEMENT_INTERVAL
31895                         ,MINIMUM_QUANTITY
31896                         ,DEFAULT_QUANTITY
31897                         ,AMCV_FLAG
31898                         ,FIXED_QUANTITY
31899                         ,USAGE_DURATION
31900                         ,LEVEL_YN
31901                         ,USAGE_TYPE
31902                         ,UOM_QUANTIFIED
31903                         ,BASE_READING
31904                         ,USAGE_EST_METHOD
31905                         ,BILLING_SCHEDULE_TYPE
31906                         ,CUST_PO_NUMBER --To synchronize hdr value to line
31907                         ,CUST_PO_NUMBER_REQ_YN
31908                         ,PAYMENT_TYPE
31909                         ,CC_NO
31910                         ,CC_EXPIRY_DATE
31911                         --,CC_BANK_ACCT_ID
31912                         --,CC_AUTH_CODE,
31913                         -------------------------------
31914 			,EXCEPTION_COV_ID,
31915                         INHERITANCE_TYPE,
31916                         Prod_Upgrade_YN,
31917                         Coverage_Type,
31918                         TRANSFER_OPTION,
31919                         PM_PROGRAM_ID,
31920                         PM_CONF_REQ_YN,
31921                         PM_SCH_EXISTS_YN,
31922                         ALLOW_BT_DISCOUNT,
31923                         OFFSET_DURATION,
31924                         OFFSET_PERIOD,
31925                         INCIDENT_SEVERITY_ID,
31926                         PDF_ID,
31927                         WORK_THRU_YN,
31928                         REACT_ACTIVE_YN,
31929                         LIMIT_UOM_QUANTIFIED,
31930                         DISCOUNT_AMOUNT,
31931                         DISCOUNT_PERCENT,
31932                         Sync_Date_Install
31933                         -------------------------------
31934                         ,CREATED_BY
31935                         ,CREATION_DATE
31936                         ,LAST_UPDATED_BY
31937                         ,LAST_UPDATE_DATE
31938                         ,LAST_UPDATE_LOGIN
31939                         ,OBJECT_VERSION_NUMBER  )
31940                  VALUES (P_CLE_ID
31941                         ,P_CLE_ID
31942                         ,L_DNZ_CHR_ID
31943                         ,DISCOUNT_LIST_CHR
31944                         ,ACCT_RULE_ID_CHR
31945                         --,L_PAYMENT_TYPE
31946                         --,L_CC_NO
31947                         --,CC_EXPIRY_DATE_CHR
31948                         --,CC_BANK_ACCT_ID_CHR
31949                         --,L_CC_AUTH_CODE
31950                         ,GRACE_DURATION_CHR
31951                         ,L_GRACE_PERIOD
31952                         ,L_INV_PRINT_FLAG
31953                         ,L_PRICE_UOM
31954                         ,TAX_AMOUNT_CHR
31955                         ,L_TAX_INCLUSIVE_YN
31956                         ,L_TAX_STATUS
31957                         ,TAX_CODE_CHR
31958                         ,TAX_EXEMPTION_ID_CHR
31959                         ,L_IB_TRANS_TYPE
31960                         ,IB_TRANS_DATE_CHR
31961                         --,PROD_PRICE
31962                         --,SERVICE_PRICE
31963                         ,CLVL_LIST_PRICE_CHR
31964                         ,CLVL_QUANTITY_CHR
31965                         ,CLVL_EXTENDED_AMT_CHR
31966                         ,L_TOPLVL_OPERAND_CODE
31967                         ,TOPLVL_OPERAND_VAL_CHR
31968                         ,L_CLVL_UOM_CODE
31969                         ,TOPLVL_QUANTITY_CHR
31970                         ,L_TOPLVL_UOM_CODE
31971                         ,TOPLVL_ADJ_PRICE_CHR
31972                         ,TOPLVL_PRICE_QTY_CHR
31973                         ,AVERAGING_INTERVAL_CHR
31974                         ,L_USAGE_PERIOD
31975                         ,L_SETTLEMENT_INTERVAL
31976                         ,MINIMUM_QUANTITY_CHR
31977                         ,DEFAULT_QUANTITY_CHR
31978                         ,L_AMCV_FLAG
31979                         ,FIXED_QUANTITY_CHR
31980                         ,USAGE_DURATION_CHR
31981                         ,L_LEVEL_YN
31982                         ,L_USAGE_TYPE
31983                         ,L_UOM_QUANTIFIED
31984                         ,BASE_READING_CHR
31985                         ,L_USAGE_EST_METHOD
31986                         ,L_BILLING_SCHEDULE_TYPE
31987                         ,L_CUST_PO_NUMBERi  --To synchronize hdr value to lines
31988                         ,L_CUST_PO_NUMBER_REQ_YNI
31989                         ,L_PAYMENT_TYPEI
31990                         ,L_CC_NOI
31991                         ,L_CC_EXPIRY_DATEI
31992                         --,L_CC_BANK_ACCT_IDI
31993                         --,L_CC_AUTH_CODEI,
31994                         -------------------------------------
31995 			,EXCEPTION_COV_ID_CHR,
31996                         L_INHERITANCE_TYPE,
31997                         Prod_Upgrade_YN_CHR,
31998                         Coverage_Type_CHR,
31999                         TRANSFER_OPTION_CHR,
32000                         PM_PROGRAM_ID_CHR,
32001                         PM_CONF_REQ_YN_CHR,
32002                         PM_SCH_EXISTS_YN_CHR,
32003                         ALLOW_BT_DISCOUNT_CHR,
32004 			NULL,
32005 			NULL,
32006                        --to_NUMBER(substr(OFFSET_DURATION,(INSTR(OFFSET_DURATION,'=')+1))),
32007                        --substr(OFFSET_DURATION,1,(INSTR(OFFSET_DURATION,'=')-1)) ,
32008                         RCN_INCIDENT_SEVERITY_ID_CHR,
32009                         RCN_PDF_ID_CHR,
32010                         RCN_WORK_THRU_YN,
32011                         RCN_REACT_ACTIVE_YN,
32012                         L_LIMIT_UOM_QUANTIFIED,
32013                         DISCOUNT_AMOUNT_CHR,
32014                         DISCOUNT_PERCENT_CHR,
32015                         L_Sync_Date_Install
32016                         -------------------------------------
32017                         ,1
32018                         ,sysdate
32019                         ,1
32020                         ,sysdate
32021                         ,2003
32022                         ,1   );
32023 
32024 
32025 	 IF L_OFFSET_DURATION IS NOT NULL THEN
32026 	    UPDATE OKS_K_LINES_B T1
32027 	    SET (T1.offset_period ,T1.offset_duration) =
32028 	        (SELECT TIM2.UOM_CODE,TIM2.DURATION
32029 	         FROM okc_timevalues_b TIM ,okc_timevalues_b TIM2,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
32030 	         WHERE  TIM.Id = OFFSET_DURATION
32031 	         AND    RGP.CLE_ID = p_cle_id
32032 	         AND    RUL.rule_information1 = TIM.Id
32033 	         AND    RUL.rule_information_category = 'OFS'
32034 	         AND    RGP.ID = RUL.RGP_ID
32035              	 AND    TIM2.ID = TIM.TVE_ID_STARTED
32036                  AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
32037 	         AND    T1.CLE_ID = RGP.CLE_ID)
32038 	     WHERE T1.CLE_ID = p_cle_id;
32039 	END IF;
32040 
32041         FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST
32042             LOOP
32043                INSERT INTO OKS_K_LINES_TL (
32044                         id,
32045                         language,
32046                         source_lang,
32047                         sfwt_flag,
32048                         invoice_text,
32049                         ib_trx_details,
32050                         status_text,
32051                         react_time_name,
32052                         security_group_id,
32053                         created_by,
32054                         creation_date,
32055                         last_updated_by,
32056                         last_update_date,
32057                         last_update_login)
32058                         VALUES(
32059                         P_CLE_ID,
32060                         OKC_UTIL.g_language_code(lang_i),
32061                         L_USERENV_LANG,
32062                         'S',
32063                         l_invoice_text,
32064                         l_ib_trx_details,
32065                         l_status_text,
32066                         RCN_REACT_TIME_NAME,
32067                         null, --security_group_id,
32068                         1,
32069                         sysdate,
32070                         1,
32071                         sysdate,
32072                         2003
32073                         );
32074              END LOOP;
32075           EXCEPTION When others then
32076             Eflag:=1;
32077             Emsg :=SQLERRM;
32078           END;
32079       End If;
32080 
32081       Else
32082         l_check_var := NULL;
32083         Open  Cur_RGP_exists(P_RGP_ID);
32084         Fetch Cur_RGP_exists into l_check_var;
32085 	Close Cur_RGP_exists;
32086 
32087          If(l_check_var is not null) Then
32088      	    BEGIN
32089               UPDATE OKC_K_LINES_B
32090               SET
32091                 CUST_ACCT_ID            = CUST_ACCT_ID_CHR
32092                , BILL_TO_SITE_USE_ID    = BILL_TO_SITE_USE_ID_CHR
32093                , INV_RULE_ID            = INV_RULE_ID_CHR
32094                , LINE_RENEWAL_TYPE_CODE = L_LINE_RENEWAL_TYPE_CODE
32095                , SHIP_TO_SITE_USE_ID    = SHIP_TO_SITE_USE_ID_CHR
32096                , PAYMENT_TERM_ID        = PAYMENT_TERM_ID_CHR
32097 	       , PRICE_LIST_ID          = decode(l_lse_idi,1 ,l_price_list_idi
32098                                                           ,12,l_price_list_idi
32099                                                           ,19,l_price_list_idi
32100                                                           ,46,l_price_list_idi,PRICE_LIST_ID_CHR )
32101                , LINE_LIST_PRICE        = LINE_LIST_PRICE_CHR
32102               WHERE ID = P_CLE_ID;
32103 
32104                EXCEPTION When others then
32105                  Eflag:=1;
32106                  Emsg :=SQLERRM;
32107                END;
32108 
32109              If(Eflag<> 1) Then
32110              --Updating oks_k_lines_b
32111 	     BEGIN
32112 		  Update oks_k_lines_b set
32113 			 DISCOUNT_LIST          =  DISCOUNT_LIST_CHR
32114                         ,ACCT_RULE_ID           =  ACCT_RULE_ID_CHR
32115                         --,PAYMENT_TYPE           =  L_PAYMENT_TYPE
32116                         --,CC_NO                  =  L_CC_NO
32117                         --,CC_EXPIRY_DATE         = CC_EXPIRY_DATE_CHR
32118                         --,CC_BANK_ACCT_ID        =  CC_BANK_ACCT_ID_CHR
32119                         --,CC_AUTH_CODE           =  L_CC_AUTH_CODE
32120                         ,GRACE_DURATION         =  GRACE_DURATION_CHR
32121                         ,GRACE_PERIOD           =  L_GRACE_PERIOD
32122                   --      ,INVOICE_TEXT           = L_INVOICE_TEXT
32123                         ,INV_PRINT_FLAG         = L_INV_PRINT_FLAG
32124                         ,PRICE_UOM		= L_PRICE_UOM
32125                         ,TAX_AMOUNT		= TAX_AMOUNT_CHR
32126                         ,TAX_INCLUSIVE_YN	= L_TAX_INCLUSIVE_YN
32127                         ,TAX_STATUS		= L_TAX_STATUS
32128                         ,TAX_CODE		= TAX_CODE_CHR
32129                         ,TAX_EXEMPTION_ID	= TAX_EXEMPTION_ID_CHR
32130                         ,IB_TRANS_TYPE		= L_IB_TRANS_TYPE
32131                         ,IB_TRANS_DATE		= IB_TRANS_DATE_CHR
32132                   --      ,IB_TRX_DETAILS		= IB_TRX_DETAILS_CHR
32133                        ,CLVL_LIST_PRICE		= CLVL_LIST_PRICE_CHR
32134                         ,CLVL_QUANTITY		= CLVL_QUANTITY_CHR
32135                         ,CLVL_EXTENDED_AMT	= CLVL_EXTENDED_AMT_CHR
32136                         ,TOPLVL_OPERAND_CODE	= L_TOPLVL_OPERAND_CODE
32137                         ,TOPLVL_OPERAND_VAL	= TOPLVL_OPERAND_VAL_CHR
32138                         ,CLVL_UOM_CODE		= L_CLVL_UOM_CODE
32139                         ,TOPLVL_QUANTITY	= TOPLVL_QUANTITY_CHR
32140                         ,TOPLVL_UOM_CODE	= L_TOPLVL_UOM_CODE
32141                         ,TOPLVL_ADJ_PRICE	= TOPLVL_ADJ_PRICE_CHR
32142                         ,TOPLVL_PRICE_QTY	= TOPLVL_PRICE_QTY_CHR
32143                     --    ,STATUS_TEXT		= STATUS_TEXT_CHR
32144                         ,AVERAGING_INTERVAL	= AVERAGING_INTERVAL_CHR
32145                         ,USAGE_PERIOD		= L_USAGE_PERIOD
32146                         ,SETTLEMENT_INTERVAL	= L_SETTLEMENT_INTERVAL
32147                         ,MINIMUM_QUANTITY	= MINIMUM_QUANTITY_CHR
32148                         ,DEFAULT_QUANTITY	= DEFAULT_QUANTITY_CHR
32149                         ,AMCV_FLAG		= L_AMCV_FLAG
32150                         ,FIXED_QUANTITY		= FIXED_QUANTITY_CHR
32151                         ,USAGE_DURATION		= USAGE_DURATION_CHR
32152                         ,LEVEL_YN		= L_LEVEL_YN
32153                         ,USAGE_TYPE		= L_USAGE_TYPE
32154                         ,UOM_QUANTIFIED		= L_UOM_QUANTIFIED
32155                         ,BASE_READING		= BASE_READING_CHR
32156                         ,USAGE_EST_METHOD	= L_USAGE_EST_METHOD
32157                         ,BILLING_SCHEDULE_TYPE	= L_BILLING_SCHEDULE_TYPE
32158                         ,CUST_PO_NUMBER         = L_CUST_PO_NUMBERI --To sync hdr values to line
32159                         ,CUST_PO_NUMBER_REQ_YN  = L_CUST_PO_NUMBER_REQ_YNI
32160                         ,PAYMENT_TYPE           = L_PAYMENT_TYPEI
32161                         ,CC_NO                  = L_CC_NOI
32162                         ,CC_EXPIRY_DATE         = L_CC_EXPIRY_DATEI
32163                         --,CC_BANK_ACCT_ID        = L_CC_BANK_ACCT_IDI
32164                         --,CC_AUTH_CODE           = L_CC_AUTH_CODEI,
32165                         -------------------------------------------------------
32166 			,EXCEPTION_COV_ID 	= EXCEPTION_COV_ID_CHR,
32167                         INHERITANCE_TYPE 	= L_INHERITANCE_TYPE,
32168                         Prod_Upgrade_YN 	= Prod_Upgrade_YN_CHR,
32169                         Coverage_Type 		= Coverage_Type_CHR,
32170                         TRANSFER_OPTION		= TRANSFER_OPTION_CHR,
32171                         PM_PROGRAM_ID 		= PM_PROGRAM_ID_CHR,
32172                         PM_CONF_REQ_YN 		= PM_CONF_REQ_YN_CHR,
32173                         PM_SCH_EXISTS_YN 	= PM_SCH_EXISTS_YN_CHR,
32174                         ALLOW_BT_DISCOUNT 	= ALLOW_BT_DISCOUNT_CHR,
32175                         OFFSET_DURATION 	= NULL,--to_NUMBER(substr(OFFSET_DURATION,(INSTR(OFFSET_DURATION,'=')+1))),
32176                         OFFSET_PERIOD 		= NULL,--substr(OFFSET_DURATION,1,(INSTR(OFFSET_DURATION,'=')-1)),
32177                         INCIDENT_SEVERITY_ID 	= RCN_INCIDENT_SEVERITY_ID_CHR,
32178                         PDF_ID 			= RCN_PDF_ID_CHR,
32179                         WORK_THRU_YN 		= RCN_WORK_THRU_YN,
32180                         REACT_ACTIVE_YN 	= RCN_REACT_ACTIVE_YN,
32181                         LIMIT_UOM_QUANTIFIED 	= L_LIMIT_UOM_QUANTIFIED,
32182                         DISCOUNT_AMOUNT 	= DISCOUNT_AMOUNT_CHR,
32183                         DISCOUNT_PERCENT 	= DISCOUNT_PERCENT_CHR,
32184                         Sync_Date_Install 	= L_Sync_Date_Install
32185 
32186 	          Where cle_id=p_cle_id;
32187 
32188 		IF L_OFFSET_DURATION IS NOT NULL THEN
32189 
32190 		    UPDATE OKS_K_LINES_B T1
32191 		    SET (T1.offset_period ,T1.offset_duration) =
32192 			(SELECT TIM2.UOM_CODE,TIM2.DURATION
32193 		         FROM okc_timevalues_b TIM ,okc_timevalues_b TIM2,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
32194 		         WHERE  TIM.Id = L_OFFSET_DURATION
32195 			 AND    RGP.CLE_ID = p_cle_id
32196 		         AND    RUL.rule_information1 = TIM.Id
32197 		         AND    RUL.rule_information_category = 'OFS'
32198 		         AND    RGP.ID = RUL.RGP_ID
32199 		     	 AND    TIM2.ID = TIM.TVE_ID_STARTED
32200 	                 AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
32201 		         AND    T1.CLE_ID = RGP.CLE_ID)
32202 		     WHERE T1.CLE_ID = p_cle_id;
32203 	        END IF;
32204 
32205 
32206          FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST
32207          LOOP
32208 	  Update oks_k_lines_tl set
32209 
32210                         INVOICE_TEXT           = L_INVOICE_TEXT
32211                         ,IB_TRX_DETAILS		= L_IB_TRX_DETAILS
32212                         ,STATUS_TEXT		= L_STATUS_TEXT
32213           		,React_Time_Name	= RCN_REACT_TIME_NAME
32214           Where  id=p_cle_id
32215 	  and   language = OKC_UTIL.g_language_code(lang_i)
32216 	  and   source_lang = L_USERENV_LANG ;
32217 
32218           END LOOP;
32219 
32220 	   EXCEPTION When others then
32221             Eflag:=1;
32222 	    Emsg :=SQLERRM;
32223 	  END;
32224 
32225          End If;
32226        Else ---l_check_var is not null
32227          BEGIN
32228 	      Delete from oks_k_lines_b where cle_id = P_Cle_ID;
32229 
32230               UPDATE OKC_K_LINES_B
32231                  SET CUST_ACCT_ID           = CUST_ACCT_ID_CHR
32232 		   , BILL_TO_SITE_USE_ID    = BILL_TO_SITE_USE_ID_CHR
32233 	           , INV_RULE_ID            = INV_RULE_ID_CHR
32234 	           , LINE_RENEWAL_TYPE_CODE = L_LINE_RENEWAL_TYPE_CODE
32235 	           , SHIP_TO_SITE_USE_ID    = SHIP_TO_SITE_USE_ID_CHR
32236 	           , PAYMENT_TERM_ID        = PAYMENT_TERM_ID_CHR
32237 		   , PRICE_LIST_ID 	    = PRICE_LIST_ID_CHR
32238                    , LINE_LIST_PRICE        = LINE_LIST_PRICE_CHR
32239 	       WHERE ID = P_CLE_ID;
32240 
32241           EXCEPTION
32242              When others then
32243 	       Eflag:=2;
32244 	       Emsg :=SQLERRM;
32245 	  END;
32246 
32247 
32248         End If;
32249      End If; -- l_check_var is not null
32250 
32251 if(Eflag=1) THEN
32252 
32253      DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
32254 
32255     ------------------------------------------------------------------------------------
32256     -- Begin of code to validate data type .
32257     -- If data fails validation then set the Eflag to 1
32258 
32259      -- Begin of code to validate data type .
32260 
32261           --1. Validation for DST rule .
32262        BEGIN
32263           DISCOUNT_LIST      := DISCOUNT_LIST_CHR;
32264        EXCEPTION
32265        WHEN OTHERS THEN
32266           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'DST') ;
32267           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32268           CLOSE L_LINE_DTLS_CSR;
32269           FND_MESSAGE.CLEAR;
32270           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
32271           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32272           L_ERROR_MSG      := SQLERRM;
32273           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32274                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, LINE_NUMBER, SCRIPT_NAME  ,
32275                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32276                                       ERROR_MSG)
32277                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32278                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32279                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR,
32280                                        L_ERROR_MSG );
32281           Eflag:=1;
32282        END;
32283 
32284        --2. Validation for ARL rule .
32285        BEGIN
32286           ACCT_RULE_ID      := ACCT_RULE_ID_CHR;
32287        EXCEPTION
32288        WHEN OTHERS THEN
32289           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'ARL') ;
32290           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32291           CLOSE L_LINE_DTLS_CSR;
32292           FND_MESSAGE.CLEAR;
32293           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
32294           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32295           L_ERROR_MSG      := SQLERRM;
32296           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32297                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER  ,LINE_NUMBER, SCRIPT_NAME  ,
32298                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32299                                       ERROR_MSG)
32300                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32301                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32302                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,ACCT_RULE_ID_CHR,
32303                                        L_ERROR_MSG );
32304 	  Eflag:=1;
32305        END;
32306 
32307        --3. Validation for CCR rule .
32308        BEGIN
32309           CC_BANK_ACCT_ID      := CC_BANK_ACCT_ID_CHR;
32310        EXCEPTION
32311        WHEN OTHERS THEN
32312           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'CCR') ;
32313           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32314           CLOSE L_LINE_DTLS_CSR;
32315           FND_MESSAGE.CLEAR;
32316           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
32317           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32318           L_ERROR_MSG      := SQLERRM;
32319           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32320                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32321                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32322                                       ERROR_MSG)
32323                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32324                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32325                                       'CCR'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CC_BANK_ACCT_ID_CHR,
32326                                        L_ERROR_MSG );
32327 	  Eflag:=1;
32328        END;
32329 
32330 
32331        --4. Validation for GPR rule .
32332        BEGIN
32333           GRACE_DURATION      := GRACE_DURATION_CHR;
32334        EXCEPTION
32335        WHEN OTHERS THEN
32336           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'GPR') ;
32337           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32338           CLOSE L_LINE_DTLS_CSR;
32339           FND_MESSAGE.CLEAR;
32340           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
32341           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32342           L_ERROR_MSG      := SQLERRM;
32343           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32344                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32345                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32346                                       ERROR_MSG)
32347                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32348                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32349                                       'GPR'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,GRACE_DURATION_CHR,
32350                                        L_ERROR_MSG );
32351 	  Eflag:=1;
32352        END;
32353        --5. Validation for IRT rule .
32354        BEGIN
32355           TAX_AMOUNT      := TAX_AMOUNT_CHR;
32356        EXCEPTION
32357        WHEN OTHERS THEN
32358           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'IRT') ;
32359           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32360           CLOSE L_LINE_DTLS_CSR;
32361           FND_MESSAGE.CLEAR;
32362           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
32363           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32364           L_ERROR_MSG      := SQLERRM;
32365           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32366                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32367                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32368                                       ERROR_MSG)
32369                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32370                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32371                                       'IRT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,TAX_AMOUNT_CHR,
32372                                        L_ERROR_MSG );
32373 	  Eflag:=1;
32374        END;
32375 
32376        --6. Validation for TAX rule .
32377        BEGIN
32378           TAX_CODE      := TAX_CODE_CHR;
32379        EXCEPTION
32380        WHEN OTHERS THEN
32381           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'TAX') ;
32382           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32383           CLOSE L_LINE_DTLS_CSR;
32384           FND_MESSAGE.CLEAR;
32385           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
32386           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32387           L_ERROR_MSG      := SQLERRM;
32388           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32389                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32390                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32391                                       ERROR_MSG)
32392                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32393                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32394                                       'TAX'    ,'OBJECT2_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_CODE_CHR,
32395                                        L_ERROR_MSG );
32396 	  Eflag:=1;
32397        END;
32398 
32399        --7. Validation for TAX rule .
32400        BEGIN
32401           TAX_EXEMPTION_ID      := TAX_EXEMPTION_ID_CHR;
32402        EXCEPTION
32403        WHEN OTHERS THEN
32404           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'TAX') ;
32405           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32406           CLOSE L_LINE_DTLS_CSR;
32407           FND_MESSAGE.CLEAR;
32408           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
32409           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32410           L_ERROR_MSG      := SQLERRM;
32411           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32412                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32413                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32414                                       ERROR_MSG)
32415                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32416                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32417                                       'TAX'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_EXEMPTION_ID_CHR,
32418                                        L_ERROR_MSG );
32419 	  Eflag:=1;
32420        END;
32421 
32422        --8. Validation for PDL rule .
32423        BEGIN
32424           CLVL_LIST_PRICE      := CLVL_LIST_PRICE_CHR;
32425        EXCEPTION
32426        WHEN OTHERS THEN
32427           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
32428           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32429           CLOSE L_LINE_DTLS_CSR;
32430           FND_MESSAGE.CLEAR;
32431           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
32432           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32433           L_ERROR_MSG      := SQLERRM;
32434           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32435                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32436                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32437                                       ERROR_MSG)
32438                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32439                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32440                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR,
32441                                        L_ERROR_MSG );
32442 	  Eflag:=1;
32443        END;
32444 
32445        --9. Validation for PDL rule .
32446        BEGIN
32447           CLVL_QUANTITY      := CLVL_QUANTITY_CHR;
32448        EXCEPTION
32449        WHEN OTHERS THEN
32450           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
32451           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32452           CLOSE L_LINE_DTLS_CSR;
32453           FND_MESSAGE.CLEAR;
32454           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
32455           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32456           L_ERROR_MSG      := SQLERRM;
32457           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32458                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32459                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32460                                       ERROR_MSG)
32461                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32462                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32463                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR,
32464                                        L_ERROR_MSG );
32465 	  Eflag:=1;
32466        END;
32467 
32468        --10. Validation for PDL rule .
32469        BEGIN
32470           CLVL_EXTENDED_AMT      := CLVL_EXTENDED_AMT_CHR;
32471        EXCEPTION
32472        WHEN OTHERS THEN
32473           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
32474           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32475           CLOSE L_LINE_DTLS_CSR;
32476           FND_MESSAGE.CLEAR;
32477           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
32478           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32479           L_ERROR_MSG      := SQLERRM;
32480           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32481                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32482                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32483                                       ERROR_MSG)
32484                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32485                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32486                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR,
32487                                        L_ERROR_MSG );
32488 	  Eflag:=1;
32489        END;
32490 
32491        --11. Validation for PDL rule .
32492        BEGIN
32493           TOPLVL_OPERAND_VAL      := TOPLVL_OPERAND_VAL_CHR;
32494        EXCEPTION
32495        WHEN OTHERS THEN
32496           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
32497           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32498           CLOSE L_LINE_DTLS_CSR;
32499           FND_MESSAGE.CLEAR;
32500           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
32501           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32502           L_ERROR_MSG      := SQLERRM;
32503           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32504                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32505                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32506                                       ERROR_MSG)
32507                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32508                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32509                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR,
32510                                        L_ERROR_MSG );
32511 	  Eflag:=1;
32512        END;
32513 
32514        --12. Validation for PDL rule .
32515        BEGIN
32516           TOPLVL_QUANTITY      := TOPLVL_QUANTITY_CHR;
32517        EXCEPTION
32518        WHEN OTHERS THEN
32519           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
32520           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32521           CLOSE L_LINE_DTLS_CSR;
32522           FND_MESSAGE.CLEAR;
32523           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
32524           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32525           L_ERROR_MSG      := SQLERRM;
32526           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32527                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32528                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32529                                       ERROR_MSG)
32530                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32531                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32532                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR,
32533                                        L_ERROR_MSG );
32534 	  Eflag:=1;
32535        END;
32536 
32537        --13. Validation for PDL rule .
32538        BEGIN
32539           TOPLVL_ADJ_PRICE      := TOPLVL_ADJ_PRICE_CHR;
32540        EXCEPTION
32541        WHEN OTHERS THEN
32542           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
32543           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32544           CLOSE L_LINE_DTLS_CSR;
32545           FND_MESSAGE.CLEAR;
32546           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
32547           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32548           L_ERROR_MSG      := SQLERRM;
32549           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32550                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32551                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32552                                       ERROR_MSG)
32553                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32554                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32555                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR,
32556                                        L_ERROR_MSG );
32557 	  Eflag:=1;
32558        END;
32559 
32560        --14. Validation for PDL rule .
32561        BEGIN
32562           TOPLVL_PRICE_QTY      := TOPLVL_PRICE_QTY_CHR;
32563        EXCEPTION
32564        WHEN OTHERS THEN
32565           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
32566           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32567           CLOSE L_LINE_DTLS_CSR;
32568           FND_MESSAGE.CLEAR;
32569           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
32570           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32571           L_ERROR_MSG      := SQLERRM;
32572           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32573                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32574                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32575                                       ERROR_MSG)
32576                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32577                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32578                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR,
32579                                        L_ERROR_MSG );
32580 	  Eflag:=1;
32581        END;
32582 
32583        --15. Validation for QRE rule .
32584        BEGIN
32585           AVERAGING_INTERVAL      := AVERAGING_INTERVAL_CHR;
32586        EXCEPTION
32587        WHEN OTHERS THEN
32588           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
32589           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32590           CLOSE L_LINE_DTLS_CSR;
32591           FND_MESSAGE.CLEAR;
32592           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
32593           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32594           L_ERROR_MSG      := SQLERRM;
32595           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32596                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32597                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32598                                       ERROR_MSG)
32599                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32600                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32601                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR,
32602                                        L_ERROR_MSG );
32603 	  Eflag:=1;
32604        END;
32605 
32606        --16. Validation for QRE rule .
32607        BEGIN
32608           MINIMUM_QUANTITY      := MINIMUM_QUANTITY_CHR;
32609        EXCEPTION
32610        WHEN OTHERS THEN
32611           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
32612           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32613           CLOSE L_LINE_DTLS_CSR;
32614           FND_MESSAGE.CLEAR;
32615           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
32616           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32617           L_ERROR_MSG      := SQLERRM;
32618           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32619                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32620                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32621                                       ERROR_MSG)
32622                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32623                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32624                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR,
32625                                        L_ERROR_MSG );
32626 	  Eflag:=1;
32627        END;
32628 
32629 
32630        --17. Validation for QRE rule .
32631        BEGIN
32632           DEFAULT_QUANTITY      := DEFAULT_QUANTITY_CHR;
32633        EXCEPTION
32634        WHEN OTHERS THEN
32635           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
32636           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32637           CLOSE L_LINE_DTLS_CSR;
32638           FND_MESSAGE.CLEAR;
32639           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
32640           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32641           L_ERROR_MSG      := SQLERRM;
32642           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32643                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32644                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32645                                       ERROR_MSG)
32646                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32647                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32648                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR,
32649                                        L_ERROR_MSG );
32650 	  Eflag:=1;
32651        END;
32652 
32653        --18. Validation for QRE rule .
32654        BEGIN
32655           FIXED_QUANTITY      := FIXED_QUANTITY_CHR;
32656        EXCEPTION
32657        WHEN OTHERS THEN
32658           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
32659           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32660           CLOSE L_LINE_DTLS_CSR;
32661           FND_MESSAGE.CLEAR;
32662           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
32663           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32664           L_ERROR_MSG      := SQLERRM;
32665           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32666                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32667                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32668                                       ERROR_MSG)
32669                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32670                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32671                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR,
32672                                        L_ERROR_MSG );
32673 	  Eflag:=1;
32674        END;
32675 
32676        --19. Validation for QRE rule .
32677        BEGIN
32678           USAGE_DURATION      := USAGE_DURATION_CHR;
32679        EXCEPTION
32680        WHEN OTHERS THEN
32681           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
32682           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32683           CLOSE L_LINE_DTLS_CSR;
32684           FND_MESSAGE.CLEAR;
32685           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
32686           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32687           L_ERROR_MSG      := SQLERRM;
32688           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32689                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32690                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32691                                       ERROR_MSG)
32692                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32693                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32694                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR,
32695                                        L_ERROR_MSG );
32696 	  Eflag:=1;
32697        END;
32698 
32699        --20. Validation for QRE rule .
32700        BEGIN
32701           BASE_READING      := BASE_READING_CHR;
32702        EXCEPTION
32703        WHEN OTHERS THEN
32704           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
32705           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32706           CLOSE L_LINE_DTLS_CSR;
32707           FND_MESSAGE.CLEAR;
32708           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
32709           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32710           L_ERROR_MSG      := SQLERRM;
32711           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32712                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32713                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32714                                       ERROR_MSG)
32715                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32716                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32717                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR,
32718                                        L_ERROR_MSG );
32719 	  Eflag:=1;
32720        END;
32721 
32722        --21. Validation for CAN rule .
32723        BEGIN
32724           CUST_ACCT_ID      := CUST_ACCT_ID_CHR;
32725        EXCEPTION
32726        WHEN OTHERS THEN
32727           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'CAN') ;
32728           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32729           CLOSE L_LINE_DTLS_CSR;
32730           FND_MESSAGE.CLEAR;
32731           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
32732           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32733           L_ERROR_MSG      := SQLERRM;
32734           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32735                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32736                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32737                                       ERROR_MSG)
32738                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32739                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32740                                       'CAN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,CUST_ACCT_ID_CHR,
32741                                        L_ERROR_MSG );
32742 	  Eflag:=1;
32743        END;
32744 
32745        --22. Validation for BTO rule .
32746        BEGIN
32747           BILL_TO_SITE_USE_ID      := BILL_TO_SITE_USE_ID_CHR;
32748        EXCEPTION
32749        WHEN OTHERS THEN
32750           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'BTO') ;
32751           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32752           CLOSE L_LINE_DTLS_CSR;
32753           FND_MESSAGE.CLEAR;
32754           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
32755           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32756           L_ERROR_MSG      := SQLERRM;
32757           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32758                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32759                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32760                                       ERROR_MSG)
32761                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32762                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32763                                       'BTO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,BILL_TO_SITE_USE_ID_CHR,
32764                                        L_ERROR_MSG );
32765 	  Eflag:=1;
32766        END;
32767 
32768        --23. Validation for IRE rule .
32769        BEGIN
32770           INV_RULE_ID      := INV_RULE_ID_CHR;
32771        EXCEPTION
32772        WHEN OTHERS THEN
32773           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'IRE') ;
32774           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32775           CLOSE L_LINE_DTLS_CSR;
32776           FND_MESSAGE.CLEAR;
32777           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
32778           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32779           L_ERROR_MSG      := SQLERRM;
32780           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32781                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32782                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32783                                       ERROR_MSG)
32784                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32785                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32786                                       'IRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,INV_RULE_ID_CHR,
32787                                        L_ERROR_MSG );
32788 	  Eflag:=1;
32789        END;
32790 
32791        --24. Validation for STO rule .
32792        BEGIN
32793           SHIP_TO_SITE_USE_ID      := SHIP_TO_SITE_USE_ID_CHR;
32794        EXCEPTION
32795        WHEN OTHERS THEN
32796           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'STO') ;
32797           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32798           CLOSE L_LINE_DTLS_CSR;
32799           FND_MESSAGE.CLEAR;
32800           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
32801           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32802           L_ERROR_MSG      := SQLERRM;
32803           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32804                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32805                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32806                                       ERROR_MSG)
32807                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32808                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32809                                       'STO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,SHIP_TO_SITE_USE_ID_CHR,
32810                                        L_ERROR_MSG );
32811 	  Eflag:=1;
32812        END;
32813 
32814        --25. Validation for PTR rule .
32815        BEGIN
32816           PAYMENT_TERM_ID      := PAYMENT_TERM_ID_CHR;
32817        EXCEPTION
32818        WHEN OTHERS THEN
32819           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PTR') ;
32820           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32821           CLOSE L_LINE_DTLS_CSR;
32822           FND_MESSAGE.CLEAR;
32823           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
32824           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32825           L_ERROR_MSG      := SQLERRM;
32826           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32827                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32828                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32829                                       ERROR_MSG)
32830                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32831                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32832                                       'PTR'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PAYMENT_TERM_ID_CHR,
32833                                        L_ERROR_MSG );
32834 	  Eflag:=1;
32835        END;
32836 
32837 /*
32838        --26. Validation for CCR rule .
32839        BEGIN
32840           CC_EXPIRY_DATE      := CC_EXPIRY_DATE_CHR;
32841        EXCEPTION
32842        WHEN OTHERS THEN
32843           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'CCR') ;
32844           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32845           CLOSE L_LINE_DTLS_CSR;
32846           FND_MESSAGE.CLEAR;
32847           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
32848           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32849           L_ERROR_MSG      := SQLERRM;
32850           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32851                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32852                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32853                                       ERROR_MSG)
32854                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32855                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32856                                       'CCR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CC_EXPIRY_DATE_CHR,
32857                                        L_ERROR_MSG );
32858 	  Eflag:=1;
32859        END;
32860 */
32861 
32862 /*
32863 
32864        --27. Validation for IBR  rule .
32865        BEGIN
32866           IB_TRANS_DATE      := IB_TRANS_DATE_CHR;
32867        EXCEPTION
32868        WHEN OTHERS THEN
32869           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'IBR') ;
32870           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32871           CLOSE L_LINE_DTLS_CSR;
32872           FND_MESSAGE.CLEAR;
32873           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_IB_TRANS_DATE');
32874           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32875           L_ERROR_MSG      := SQLERRM;
32876           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32877                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32878                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32879                                       ERROR_MSG)
32880                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32881                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32882                                       'IBR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,IB_TRANS_DATE_CHR,
32883                                        L_ERROR_MSG );
32884 	  Eflag:=1;
32885        END;
32886 
32887 */
32888 
32889     --28
32890        BEGIN
32891           EXCEPTION_COV_ID      := EXCEPTION_COV_ID_chr;
32892        EXCEPTION
32893        WHEN OTHERS THEN
32894           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'ECE') ;
32895           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32896           CLOSE L_LINE_DTLS_CSR;
32897           FND_MESSAGE.CLEAR;
32898           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
32899           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32900           L_ERROR_MSG      := SQLERRM;
32901           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32902                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32903                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32904                                       ERROR_MSG)
32905                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32906                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32907                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr,
32908                                        L_ERROR_MSG );
32909           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EXCEPTION_COV_ID_chr);
32910 
32911 	  Eflag:=1;
32912        END;
32913 --29
32914        BEGIN
32915           PM_PROGRAM_ID      := PM_PROGRAM_ID_chr;
32916        EXCEPTION
32917        WHEN OTHERS THEN
32918           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PMP') ;
32919           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32920           CLOSE L_LINE_DTLS_CSR;
32921           FND_MESSAGE.CLEAR;
32922           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
32923           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32924           L_ERROR_MSG      := SQLERRM;
32925           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32926                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32927                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32928                                       ERROR_MSG)
32929                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32930                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32931                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr,
32932                                        L_ERROR_MSG );
32933           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PM_PROGRAM_ID_chr);
32934 
32935 	  Eflag:=1;
32936        END;
32937 --30
32938        BEGIN
32939           PRICE_LIST_ID      := PRICE_LIST_ID_chr;
32940        EXCEPTION
32941        WHEN OTHERS THEN
32942           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PRE') ;
32943           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32944           CLOSE L_LINE_DTLS_CSR;
32945           FND_MESSAGE.CLEAR;
32946           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
32947           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32948           L_ERROR_MSG      := SQLERRM;
32949           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32950                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32951                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32952                                       ERROR_MSG)
32953                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32954                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32955                                       'PRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PRICE_LIST_ID_chr,
32956                                        L_ERROR_MSG );
32957           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_chr);
32958 
32959 	  Eflag:=1;
32960        END;
32961 --31
32962        BEGIN
32963           RCN_INCIDENT_SEVERITY_ID      := RCN_INCIDENT_SEVERITY_ID_chr;
32964        EXCEPTION
32965        WHEN OTHERS THEN
32966           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'RCN') ;
32967           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32968           CLOSE L_LINE_DTLS_CSR;
32969           FND_MESSAGE.CLEAR;
32970           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
32971           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32972           L_ERROR_MSG      := SQLERRM;
32973           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32974                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32975                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
32976                                       ERROR_MSG)
32977                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
32978                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
32979                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr,
32980                                        L_ERROR_MSG );
32981           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RCN_INCIDENT_SEVERITY_ID_chr);
32982 
32983 	  Eflag:=1;
32984        END;
32985 --32
32986        BEGIN
32987           RCN_PDF_ID      := RCN_PDF_ID_chr;
32988        EXCEPTION
32989        WHEN OTHERS THEN
32990           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'RCN') ;
32991           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
32992           CLOSE L_LINE_DTLS_CSR;
32993           FND_MESSAGE.CLEAR;
32994           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
32995           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
32996           L_ERROR_MSG      := SQLERRM;
32997           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
32998                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
32999                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
33000                                       ERROR_MSG)
33001                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
33002                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
33003                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr,
33004                                        L_ERROR_MSG );
33005           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RCN_PDF_ID_chr);
33006 
33007 	  Eflag:=1;
33008        END;
33009 --33
33010        BEGIN
33011           DISCOUNT_AMOUNT      := DISCOUNT_AMOUNT_chr;
33012        EXCEPTION
33013        WHEN OTHERS THEN
33014           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'LMT') ;
33015           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
33016           CLOSE L_LINE_DTLS_CSR;
33017           FND_MESSAGE.CLEAR;
33018           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
33019           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
33020           L_ERROR_MSG      := SQLERRM;
33021           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
33022                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
33023                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
33024                                       ERROR_MSG)
33025                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
33026                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
33027                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr,
33028                                        L_ERROR_MSG );
33029          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || DISCOUNT_AMOUNT_chr);
33030 
33031 	  Eflag:=1;
33032        END;
33033 --34
33034        BEGIN
33035           DISCOUNT_PERCENT      := DISCOUNT_PERCENT_chr;
33036        EXCEPTION
33037        WHEN OTHERS THEN
33038           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'LMT') ;
33039           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
33040           CLOSE L_LINE_DTLS_CSR;
33041           FND_MESSAGE.CLEAR;
33042           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
33043           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
33044           L_ERROR_MSG      := SQLERRM;
33045           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
33046                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
33047                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
33048                                       ERROR_MSG)
33049                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
33050                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
33051                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr,
33052                                        L_ERROR_MSG );
33053          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr);
33054 	  Eflag:=1;
33055        END;
33056 
33057 
33058 --35
33059        BEGIN
33060           LINE_LIST_PRICE      := LINE_LIST_PRICE_CHR;
33061        EXCEPTION
33062        WHEN OTHERS THEN
33063           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
33064           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
33065           CLOSE L_LINE_DTLS_CSR;
33066           FND_MESSAGE.CLEAR;
33067           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LINE_LIST_PRICE');
33068           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
33069           L_ERROR_MSG      := SQLERRM;
33070           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
33071                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER ,LINE_NUMBER, SCRIPT_NAME  ,
33072                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
33073                                       ERROR_MSG)
33074                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
33075                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
33076                                       'PDL'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,LINE_LIST_PRICE_CHR,
33077                                        L_ERROR_MSG );
33078          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || LINE_LIST_PRICE_CHR);
33079 	  Eflag:=1;
33080        END;
33081 
33082     -- End of code to validate data type .
33083   ---------------------------------------------------------------------------------------
33084 
33085   End If;
33086 
33087 
33088       If(Eflag <> 0) Then
33089         Eflag:=0;
33090         Raise Main_Exception;
33091       End If;
33092 
33093 
33094 
33095       x_return_status:= 'S';
33096 
33097 
33098   Exception
33099      When Main_exception THEN
33100       IF(Emsg is not null) THEN
33101          FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||Emsg);
33102       End If;
33103 
33104       IF(L_ERROR_MSG is not null) THEN
33105          FND_FILE.PUT_LINE(FND_FILE.LOG ,'Validation for'||p_rgp_id||'Failed with Error Message '||L_ERROR_MSG);
33106       End If;
33107 
33108      x_return_status := 'E';
33109     WHEN LOCK_EXCEPTION THEN
33110 	X_RETURN_STATUS := 'E';
33111 	L_ERROR_MSG := SQLERRM;
33112     	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for LOCK'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
33113     WHEN OTHERS THEN
33114 	X_RETURN_STATUS := 'E';
33115 	L_ERROR_MSG := SQLERRM;
33116     	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
33117 
33118 
33119 
33120 END SYNCHRONIZE_RULE_LINE;
33121 
33122 -----------------------------------------------------------------------------------------
33123 -- This is the  Procedure called from the procedure SYNCHRONIZE_RULE_DATA_SUBREQ         --
33124 --   code for -Synchronize Line History  rule data         --
33125 -----------------------------------------------------------------------------------------
33126 
33127 
33128 PROCEDURE SYNCHRONIZE_RULE_LINEH(
33129     P_RGP_ID          IN NUMBER,
33130     P_CLE_ID           IN NUMBER,
33131     DNZ_CHR_ID         IN NUMBER,
33132     p_major_version   in NUMBER ,
33133     p_us_yn           in BOOLEAN,
33134     x_return_status            out NOCOPY VARCHAR2)
33135 
33136 IS
33137 
33138 L_DNZ_CHR_ID                    NUMBER;
33139 DISCOUNT_LIST                   NUMBER ;  --DST
33140 ACCT_RULE_ID                    NUMBER ;  --ARL
33141 L_PAYMENT_TYPE                    VARCHAR2(2000) ;  --CCR
33142 L_CC_NO                           VARCHAR2(2000) ;  --CCR
33143 CC_EXPIRY_DATE			DATE ; --CCR
33144 CC_BANK_ACCT_ID			NUMBER ;  --CCR
33145 L_CC_AUTH_CODE			VARCHAR2(2000) ;  --CCR
33146 GRACE_DURATION			NUMBER ;  --GPR
33147 L_GRACE_PERIOD			VARCHAR2(2000) ;  --GPR
33148 L_INVOICE_TEXT			VARCHAR2(2000) ;  --IRT
33149 L_INV_PRINT_FLAG			VARCHAR2(2000) ;  --IRT
33150 L_PRICE_UOM			VARCHAR2(2000) ;  --IRT
33151 TAX_AMOUNT			NUMBER ;  --IRT
33152 L_TAX_INCLUSIVE_YN		VARCHAR2(2000) ;  --IRT
33153 L_TAX_STATUS			VARCHAR2(2000) ;  --TAX
33154 TAX_CODE			NUMBER ;  --TAX
33155 TAX_EXEMPTION_ID		NUMBER ;  --TAX
33156 L_IB_TRANS_TYPE			VARCHAR2(2000) ;  --IBR
33157 IB_TRANS_DATE			DATE ; --IBR
33158 L_IB_TRX_DETAILS			VARCHAR2(2000) ;  --IBR
33159 CLVL_LIST_PRICE			NUMBER ;  --PDL
33160 CLVL_QUANTITY			NUMBER ;  --PDL
33161 CLVL_EXTENDED_AMT		NUMBER ;  --PDL
33162 L_TOPLVL_OPERAND_CODE		VARCHAR2(2000) ;  --PDL
33163 TOPLVL_OPERAND_VAL		NUMBER ;  --PDL
33164 L_CLVL_UOM_CODE			VARCHAR2(2000) ;  --PDL
33165 TOPLVL_QUANTITY			NUMBER ;  --PDL
33166 L_TOPLVL_UOM_CODE			VARCHAR2(2000) ;  --PDL
33167 TOPLVL_ADJ_PRICE		NUMBER ;  --PDL
33168 TOPLVL_PRICE_QTY		NUMBER ;  --PDL
33169 L_STATUS_TEXT			VARCHAR2(2000) ;  --PDL
33170 AVERAGING_INTERVAL		NUMBER ;  --QRE
33171 L_USAGE_PERIOD			VARCHAR2(2000) ;  --QRE
33172 L_SETTLEMENT_INTERVAL		VARCHAR2(2000) ;  --QRE
33173 MINIMUM_QUANTITY		NUMBER ;  --QRE
33174 DEFAULT_QUANTITY		NUMBER ;  --QRE
33175 L_AMCV_FLAG			VARCHAR2(2000) ;  --QRE
33176 FIXED_QUANTITY			NUMBER ;  --QRE
33177 USAGE_DURATION			NUMBER ;  --QRE
33178 L_LEVEL_YN			VARCHAR2(2000) ;  --QRE
33179 L_USAGE_TYPE			VARCHAR2(2000) ;  --QRE
33180 L_UOM_QUANTIFIED			VARCHAR2(2000) ;  --QRE
33181 BASE_READING			NUMBER ;  --QRE
33182 L_USAGE_EST_METHOD		VARCHAR2(2000) ;  --QRE
33183 L_BILLING_SCHEDULE_TYPE		VARCHAR2(2000) ;  --SLH
33184 CUST_ACCT_ID			NUMBER ;  --CAN (OKC)
33185 BILL_TO_SITE_USE_ID		NUMBER ;  --BTO (OKC)
33186 INV_RULE_ID			NUMBER ;  --IRE (OKC)
33187 L_LINE_RENEWAL_TYPE_CODE		VARCHAR2(2000) ;  --REN (OKC)
33188 SHIP_TO_SITE_USE_ID		NUMBER ;  --STO (OKC)
33189 PAYMENT_TERM_ID			NUMBER ;  --PTR (OKC)
33190 LINE_LIST_PRICE                 NUMBER ;  --PDL rule_info4 (OKC)
33191 
33192 -- FOLLOWING ARE NUMBER FIELDS --
33193 DISCOUNT_LIST_CHR               VARCHAR2(2000) ;  --DST
33194 ACCT_RULE_ID_CHR                VARCHAR2(2000) ;  --ARL
33195 CC_BANK_ACCT_ID_CHR		VARCHAR2(2000) ;  --CCR
33196 GRACE_DURATION_CHR		VARCHAR2(2000) ;  --GPR
33197 TAX_AMOUNT_CHR   		VARCHAR2(2000) ;  --IRT
33198 TAX_CODE_CHR    		VARCHAR2(2000) ;  --TAX
33199 TAX_EXEMPTION_ID_CHR		VARCHAR2(2000) ;  --TAX
33200 CLVL_LIST_PRICE_CHR		VARCHAR2(2000) ;  --PDL
33201 CLVL_QUANTITY_CHR		VARCHAR2(2000) ;  --PDL
33202 CLVL_EXTENDED_AMT_CHR   	VARCHAR2(2000) ;  --PDL
33203 TOPLVL_OPERAND_VAL_CHR		VARCHAR2(2000) ;  --PDL
33204 TOPLVL_QUANTITY_CHR		VARCHAR2(2000) ;  --PDL
33205 TOPLVL_ADJ_PRICE_CHR		VARCHAR2(2000) ;  --PDL
33206 TOPLVL_PRICE_QTY_CHR		VARCHAR2(2000) ;  --PDL
33207 AVERAGING_INTERVAL_CHR		VARCHAR2(2000) ;  --QRE
33208 MINIMUM_QUANTITY_CHR		VARCHAR2(2000) ;  --QRE
33209 DEFAULT_QUANTITY_CHR		VARCHAR2(2000) ;  --QRE
33210 FIXED_QUANTITY_CHR		VARCHAR2(2000) ;  --QRE
33211 USAGE_DURATION_CHR		VARCHAR2(2000) ;  --QRE
33212 BASE_READING_CHR		VARCHAR2(2000) ;  --QRE
33213 CUST_ACCT_ID_CHR		VARCHAR2(2000) ;  --CAN (OKC)
33214 BILL_TO_SITE_USE_ID_CHR		VARCHAR2(2000) ;  --BTO (OKC)
33215 INV_RULE_ID_CHR			VARCHAR2(2000) ;  --IRE (OKC)
33216 SHIP_TO_SITE_USE_ID_CHR		VARCHAR2(2000) ;  --STO (OKC)
33217 PAYMENT_TERM_ID_CHR		VARCHAR2(2000) ;  --PTR (OKC)
33218 LINE_LIST_PRICE_CHR             VARCHAR2(2000) ;  --PDL rule_info4 (OKC)
33219 ------------------------------------------------------------
33220 EXCEPTION_COV_ID_CHR            Varchar2(2000);
33221 PM_PROGRAM_ID_CHR               Varchar2(2000);
33222 PRICE_LIST_ID_CHR               Varchar2(2000);
33223 RCN_INCIDENT_SEVERITY_ID_CHR    Varchar2(2000);
33224 RCN_PDF_ID_CHR                  Varchar2(2000);
33225 RSN_INCIDENT_SEVERITY_ID_CHR    Varchar2(2000);
33226 RSN_PDF_ID_CHR                  Varchar2(2000);
33227 DISCOUNT_PERCENT_CHR            Varchar2(2000);
33228 DISCOUNT_AMOUNT_CHR             Varchar2(2000);
33229 ------------------------------------------------------------
33230 EXCEPTION_COV_ID                Number ;
33231 L_INHERITANCE_TYPE              Varchar2(2000);
33232 Prod_Upgrade_YN_CHR             Varchar2(2000);
33233 Coverage_Type_CHR               Varchar2(2000);
33234 TRANSFER_OPTION_CHR             Varchar2(2000);
33235 PM_PROGRAM_ID                   Number ;
33236 PM_CONF_REQ_YN_CHR              Varchar2(2000);
33237 PM_SCH_EXISTS_YN_CHR            Varchar2(2000);
33238 ALLOW_BT_DISCOUNT_CHR           Varchar2(2000);
33239 L_OFFSET_DURATION               Varchar2(2000);
33240 PRICE_LIST_ID                   Number ;
33241 RCN_INCIDENT_SEVERITY_ID        Number ;
33242 RCN_PDF_ID                      Number ;
33243 RCN_REACT_TIME_NAME             Varchar2(2000);
33244 RCN_WORK_THRU_YN                Varchar2(2000);
33245 RCN_REACT_ACTIVE_YN             Varchar2(2000);
33246 RSN_INCIDENT_SEVERITY_ID        Number ;
33247 RSN_PDF_ID                      Number ;
33248 RSN_REACT_TIME_NAME             Varchar2(2000);
33249 RSN_WORK_THRU_YN                Varchar2(2000);
33250 RSN_REACT_ACTIVE_YN             Varchar2(2000);
33251 L_LIMIT_UOM_QUANTIFIED          Varchar2(2000);
33252 DISCOUNT_AMOUNT                 Number;
33253 DISCOUNT_PERCENT                Number;
33254 L_Sync_Date_Install             Varchar2(2000);
33255 -------------------------------------------------------------
33256 
33257 -- FOLLOWING ARE DATE FIELDS --
33258 CC_EXPIRY_DATE_CHR		VARCHAR2(2000) ; --CCR
33259 IB_TRANS_DATE_CHR		VARCHAR2(2000) ; --IBR
33260 
33261 --Misc Variables --
33262 L_ATTRIBUTE_NAME              VARCHAR2(2000);
33263 L_ERROR_MSG                   VARCHAR2(2000);
33264 
33265 MAIN_EXCEPTION               EXCEPTION;
33266 VAL_EXCEPTION               EXCEPTION;
33267 LOCK_EXCEPTION              EXCEPTION;
33268 
33269  CURSOR L_LOCK_CSR ( P_CLE_ID in NUMBER, P_MAJOR_VERSION_NUMBER IN NUMBER ) IS
33270  SELECT ID
33271    FROM OKC_K_LINES_BH
33272   WHERE ID = P_CLE_ID
33273     AND MAJOR_VERSION = P_MAJOR_VERSION_NUMBER
33274     FOR UPDATE NOWAIT;
33275 L_LOCK_ID                    NUMBER;
33276 
33277 Eflag                        NUMBER;
33278 Emsg                         VARCHAR2(2000);
33279 
33280 -------------------------------------------------------------------------------
33281 -- The following is the cursor opened if all the parameters passed are null  --
33282 -------------------------------------------------------------------------------
33283 CURSOR l_line_rule_csr (p_id in NUMBER)is
33284 SELECT
33285        -------  Character to number conversion -- No translation needed ,checked in gsidev
33286        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
33287        --              '!,.','!')                                                          DISCOUNT_LIST
33288         MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1))                DISCOUNT_LIST
33289 
33290        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                ACCT_RULE_ID
33291        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                          PAYMENT_TYPE
33292        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))          CC_NO
33293        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
33294             to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       CC_EXPIRY_DATE
33295        -------  Character to number conversion -- No translation needed ,checked in gsidev
33296        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
33297        --              '!,.','!')                                                          CC_BANK_ACCT_ID
33298        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))          CC_BANK_ACCT_ID
33299        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))          CC_AUTH_CODE
33300        -------  Character to number conversion -- No translation needed ,checked in gsidev
33301        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
33302        --              '!,.','!')                                                          GRACE_DURATION
33303        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))          GRACE_DURATION
33304        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))          GRACE_PERIOD
33305        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION1))          INVOICE_TEXT
33306        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION2))          INV_PRINT_FLAG
33307        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION3))          PRICE_UOM
33308         -------  Character to number conversion -- This column needs translation --checked in gsidev
33309        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
33310                      '!,','!')                                                             TAX_AMOUNT
33311        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION5))          TAX_INCLUSIVE_YN
33312        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))          TAX_STATUS
33313        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
33314                      '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,.','!')       TAX_CODE
33315        -------  Character to number conversion -- No translation needed ,checked in gsidev
33316        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
33317        --              '!,.','!')                                                          TAX_EXEMPTION_ID
33318        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                TAX_EXEMPTION_ID
33319        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION1))          IB_TRANS_TYPE
33320        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,
33321             TO_DATE(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       IB_TRANS_DATE
33322        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION3))          IB_TRX_DETAILS
33323         -------  Character to number conversion -- This column needs translation --checked in gsidev
33324        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
33325                      '!,','!')                                                             CLVL_LIST_PRICE
33326        -------  Character to number conversion -- No translation needed ,checked in gsidev
33327        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
33328        --              '!,.','!')                                                          CLVL_QUANTITY
33329        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2))          CLVL_QUANTITY
33330        -------  Character to number conversion -- This column needs translation --checked in gsidev
33331        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
33332                      '!,','!')                                                             CLVL_EXTENDED_AMT
33333        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
33334                      '!,','!')                                                             LINE_LIST_PRICE
33335        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION5))          TOPLVL_OPERAND_CODE
33336         -------  Character to number conversion -- This column needs translation --checked in gsidev
33337        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
33338                      '!,','!')                                                             TOPLVL_OPERAND_VAL
33339        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION7))          CLVL_UOM_CODE
33340        -------  Character to number conversion -- No translation needed ,checked in gsidev
33341        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
33342        --              '!,.','!')                                                          TOPLVL_QUANTITY
33343        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8))          TOPLVL_QUANTITY
33344        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION9))          TOPLVL_UOM_CODE
33345        -------  Character to number conversion -- This column needs translation --checked in gsidev
33346        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
33347                      '!,','!')                                                             TOPLVL_ADJ_PRICE
33348        -------  Character to number conversion -- This column needs translation --checked in gsidev
33349        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
33350                      '!,','!')                                                             TOPLVL_PRICE_QTY
33351        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION12)) STATUS_TEXT
33352        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  QRE.
33353        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
33354        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
33355        --              '!,.','!')                                                           AVERAGING_INTERVAL
33356        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1))           AVERAGING_INTERVAL
33357        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION2))           USAGE_PERIOD
33358        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION3))           SETTLEMENT_INTERVAL
33359        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
33360        --              '!,.','!')                                                           MINIMUM_QUANTITY
33361        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4))           MINIMUM_QUANTITY
33362        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
33363        --              '!,.','!')                                                           DEFAULT_QUANTITY
33364        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5))           DEFAULT_QUANTITY
33365        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION6))           AMCV_FLAG
33366        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
33367        --              '!,.','!')                                                           FIXED_QUANTITY
33368        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7))               FIXED_QUANTITY
33369        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
33370        --              '!,.','!')       USAGE_DURATION
33371        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8))           USAGE_DURATION
33372        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION9))           LEVEL_YN
33373        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION10))          USAGE_TYPE
33374        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION11))          UOM_QUANTIFIED
33375        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
33376        --              '!,.','!')       BASE_READING
33377        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12))          BASE_READING
33378        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,DECODE(RUL.RULE_INFORMATION6,'Y','AMCV'))) USAGE_EST_METHOD
33379        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
33380        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
33381                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) ) BILLING_SCHEDULE_TYPE
33382        -------  Character to number conversion -- No translation needed ,checked in gsidev
33383        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
33384        --              '!,.','!')                                                           CUST_ACCT_ID           --OKC
33385        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                 CUST_ACCT_ID           --OKC
33386        -------  Character to number conversion -- No translation needed ,checked in gsidev
33387        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
33388        --              '!,.','!')                                                           BILL_TO_SITE_USE_ID    --OKC
33389        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                 BILL_TO_SITE_USE_ID    --OKC
33390        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                 INV_RULE_ID            --OKC
33391        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LRT' ,RUL.RULE_INFORMATION1))           LINE_RENEWAL_TYPE_CODE --OKC
33392        -------  Character to number conversion -- No translation needed ,checked in gsidev
33393        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
33394        --              '!,.','!')                                                           SHIP_TO_SITE_USE_ID    --OKC
33395        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                 SHIP_TO_SITE_USE_ID    --OKC
33396        -------  Character to number conversion -- No translation needed ,checked in gsidev
33397        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
33398        --              '!,.','!')                                                           PAYMENT_TERM_ID        --OKC
33399        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                 PAYMENT_TERM_ID        --OKC
33400        ----- For Coverages
33401        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1))             EXCEPTION_COV_ID
33402        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'WHE',RUL.RULE_INFORMATION1))             INHERITANCE_TYPE
33403        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'UGE',RUL.RULE_INFORMATION1))             PROD_UPGRADE_YN_CHR
33404        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'CVE',RUL.RULE_INFORMATION1))             COVERAGE_TYPE_CHR
33405        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'STR',decode(RUL.RULE_INFORMATION1,'Y','TRANS','TERM'))) TRANSFER_OPTION_CHR
33406        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1))                   PM_PROGRAM_ID
33407        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION1))             PM_CONF_REQ_YN_CHR
33408        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION2))             PM_SCH_EXISTS_YN_CHR
33409        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'DST',RUL.OBJECT1_ID1))                 DISCOUNT_LIST
33410        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD',DECODE(LINE.LSE_ID ,16,'Y',RUL.RULE_INFORMATION1))) ALLOW_BT_DISCOUNT
33411        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD','Y'))ALLOW_BT_DISCOUNT_CHR
33412        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'OFS',RUL.RULE_INFORMATION1))OFFSET_DURATION
33413        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1))                   PRICE_LIST_ID
33414        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))                   RCN_INCIDENT_SEVERITY_ID
33415        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))             RCN_PDF_ID
33416        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))             RCN_REACT_TIME_NAME
33417        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))             RCN_WORK_THRU_YN
33418        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))             RCN_REACT_ACTIVE_YN
33419        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))             RSN_REACT_TIME_NAME
33420        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1))             LIMIT_UOM_QUANTIFIED
33421        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  LMT.
33422        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
33423        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2)),
33424        --              '!,','!')                                                           DISCOUNT_AMOUNT
33425        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2))             DISCOUNT_AMOUNT
33426        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4)),
33427        --              '!%,','!')                                                          DISCOUNT_PERCENT
33428        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4))             DISCOUNT_PERCENT
33429        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT','N'))Sync_Date_Install
33430 --------------------------------------------------------------------------------------------------------------------
33431 
33432   FROM OKC_RULE_GROUPS_BH RGP
33433      , OKC_RULES_BH RUL
33434  WHERE RGP.ID  = RUL.RGP_ID
33435    and rul.major_version=rgp.major_version
33436    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
33437    'ECE','WHE','UGE','STR','CVE','PMP','BTD','RCN','RSN','LMT','OFS','PRE')
33438    AND RGP.CLE_ID = P_CLE_ID
33439    AND RGP.RGD_CODE = 'SVC_K'
33440    AND RGP.id = p_id
33441    AND RGP.major_version = p_major_version
33442 GROUP BY RGP.CLE_ID ,RGP.dnz_chr_id ;
33443 
33444 
33445 CURSOR l_line_rule_csr_nus (p_id in NUMBER)is
33446 SELECT
33447        -------  Character to number conversion -- No translation needed ,checked in gsidev
33448        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1)),
33449        --              '!,. ','!')                                                          DISCOUNT_LIST
33450         MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'DST' ,RUL.OBJECT1_ID1))                DISCOUNT_LIST
33451 
33452        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                ACCT_RULE_ID
33453        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                          PAYMENT_TYPE
33454        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))          CC_NO
33455        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
33456             to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       CC_EXPIRY_DATE
33457        -------  Character to number conversion -- No translation needed ,checked in gsidev
33458        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
33459        --              '!,. ','!')                                                          CC_BANK_ACCT_ID
33460        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))          CC_BANK_ACCT_ID
33461        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))          CC_AUTH_CODE
33462        -------  Character to number conversion -- No translation needed ,checked in gsidev
33463        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
33464        --              '!,. ','!')                                                          GRACE_DURATION
33465        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))          GRACE_DURATION
33466        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))          GRACE_PERIOD
33467        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION1))          INVOICE_TEXT
33468        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION2))          INV_PRINT_FLAG
33469        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION3))          PRICE_UOM
33470         -------  Character to number conversion -- This column needs translation --checked in gsidev
33471        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
33472                      '!. ','!')                                                             TAX_AMOUNT
33473        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION5))          TAX_INCLUSIVE_YN
33474        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))          TAX_STATUS
33475        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
33476                      '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')       TAX_CODE
33477        -------  Character to number conversion -- No translation needed ,checked in gsidev
33478        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
33479        --              '!,. ','!')                                                          TAX_EXEMPTION_ID
33480        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                TAX_EXEMPTION_ID
33481        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION1))          IB_TRANS_TYPE
33482        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,
33483             TO_DATE(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                       IB_TRANS_DATE
33484        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IBR' ,RUL.RULE_INFORMATION3))          IB_TRX_DETAILS
33485         -------  Character to number conversion -- This column needs translation --checked in gsidev
33486        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION1)),
33487                      '!. ','!')                                                             CLVL_LIST_PRICE
33488        -------  Character to number conversion -- No translation needed ,checked in gsidev
33489        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2)),
33490        --              '!,. ','!')                                                          CLVL_QUANTITY
33491        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION2))          CLVL_QUANTITY
33492        -------  Character to number conversion -- This column needs translation --checked in gsidev
33493        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION3)),
33494                      '!. ','!')                                                             CLVL_EXTENDED_AMT
33495        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION4)),
33496                      '!. ','!')                                                             LINE_LIST_PRICE
33497        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION5))          TOPLVL_OPERAND_CODE
33498         -------  Character to number conversion -- This column needs translation --checked in gsidev
33499        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION6)),
33500                      '!. ','!')                                                             TOPLVL_OPERAND_VAL
33501        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION7))          CLVL_UOM_CODE
33502        -------  Character to number conversion -- No translation needed ,checked in gsidev
33503        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8)),
33504        --              '!,. ','!')                                                          TOPLVL_QUANTITY
33505        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION8))          TOPLVL_QUANTITY
33506        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION9))          TOPLVL_UOM_CODE
33507        -------  Character to number conversion -- This column needs translation --checked in gsidev
33508        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION10)),
33509                      '!. ','!')                                                             TOPLVL_ADJ_PRICE
33510        -------  Character to number conversion -- This column needs translation --checked in gsidev
33511        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION13)),
33512                      '!. ','!')                                                             TOPLVL_PRICE_QTY
33513        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PDL' ,RUL.RULE_INFORMATION12)) STATUS_TEXT
33514        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  QRE.
33515        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
33516        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1)),
33517        --              '!,. ','!')                                                           AVERAGING_INTERVAL
33518        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION1))           AVERAGING_INTERVAL
33519        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION2))           USAGE_PERIOD
33520        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION3))           SETTLEMENT_INTERVAL
33521        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4)),
33522        --              '!,. ','!')                                                           MINIMUM_QUANTITY
33523        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION4))           MINIMUM_QUANTITY
33524        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5)),
33525        --              '!,. ','!')                                                           DEFAULT_QUANTITY
33526        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION5))           DEFAULT_QUANTITY
33527        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION6))           AMCV_FLAG
33528        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7)),
33529        --              '!,. ','!')                                                           FIXED_QUANTITY
33530        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION7))               FIXED_QUANTITY
33531        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8)),
33532        --              '!,. ','!')       USAGE_DURATION
33533        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION8))           USAGE_DURATION
33534        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION9))           LEVEL_YN
33535        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION10))          USAGE_TYPE
33536        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION11))          UOM_QUANTIFIED
33537        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12)),
33538        --              '!,. ','!')       BASE_READING
33539        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION12))          BASE_READING
33540        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,DECODE(RUL.RULE_INFORMATION6,'Y','AMCV'))) USAGE_EST_METHOD
33541        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))           BILLING_SCHEDULE_TYPE
33542        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
33543                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) ) BILLING_SCHEDULE_TYPE
33544        -------  Character to number conversion -- No translation needed ,checked in gsidev
33545        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
33546        --              '!,. ','!')                                                           CUST_ACCT_ID           --OKC
33547        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                 CUST_ACCT_ID           --OKC
33548        -------  Character to number conversion -- No translation needed ,checked in gsidev
33549        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
33550        --              '!,. ','!')                                                           BILL_TO_SITE_USE_ID    --OKC
33551        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                 BILL_TO_SITE_USE_ID    --OKC
33552        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                 INV_RULE_ID            --OKC
33553        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'LRT' ,RUL.RULE_INFORMATION1))           LINE_RENEWAL_TYPE_CODE --OKC
33554        -------  Character to number conversion -- No translation needed ,checked in gsidev
33555        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
33556        --              '!,. ','!')                                                           SHIP_TO_SITE_USE_ID    --OKC
33557        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                 SHIP_TO_SITE_USE_ID    --OKC
33558        -------  Character to number conversion -- No translation needed ,checked in gsidev
33559        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
33560        --              '!,. ','!')                                                           PAYMENT_TERM_ID        --OKC
33561        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                 PAYMENT_TERM_ID        --OKC
33562        ----- For Coverages
33563        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'ECE',RUL.RULE_INFORMATION1))             EXCEPTION_COV_ID
33564        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'WHE',RUL.RULE_INFORMATION1))             INHERITANCE_TYPE
33565        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'UGE',RUL.RULE_INFORMATION1))             PROD_UPGRADE_YN_CHR
33566        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'CVE',RUL.RULE_INFORMATION1))             COVERAGE_TYPE_CHR
33567        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'STR',decode(RUL.RULE_INFORMATION1,'Y','TRANS','TERM'))) TRANSFER_OPTION_CHR
33568        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.OBJECT1_ID1))                   PM_PROGRAM_ID
33569        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION1))             PM_CONF_REQ_YN_CHR
33570        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PMP',RUL.RULE_INFORMATION2))             PM_SCH_EXISTS_YN_CHR
33571        --,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'DST',RUL.OBJECT1_ID1))                 DISCOUNT_LIST
33572        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'BTD','Y'))ALLOW_BT_DISCOUNT_CHR
33573        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'OFS',RUL.RULE_INFORMATION1))OFFSET_DURATION
33574        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'PRE',RUL.OBJECT1_ID1))                   PRICE_LIST_ID
33575        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))                   RCN_INCIDENT_SEVERITY_ID
33576        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))             RCN_PDF_ID
33577        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))             RCN_REACT_TIME_NAME
33578        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))             RCN_WORK_THRU_YN
33579        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))             RCN_REACT_ACTIVE_YN
33580        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))             RSN_REACT_TIME_NAME
33581        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION1))             LIMIT_UOM_QUANTIFIED
33582        -------  Character to number conversion -- Records dosent exitsts in gsidev fro this category  LMT.
33583        -- Not sure whethet translation is required or not. since records dosent exitst in gsidev - no trans done
33584        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2)),
33585        --              '!. ','!')                                                           DISCOUNT_AMOUNT
33586        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION2))             DISCOUNT_AMOUNT
33587        --,TRANSLATE(MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4)),
33588        --              '!%. ','!')                                                          DISCOUNT_PERCENT
33589        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT',RUL.RULE_INFORMATION4))             DISCOUNT_PERCENT
33590        ,MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'LMT','N'))Sync_Date_Install
33591 --------------------------------------------------------------------------------------------------------------------
33592 
33593   FROM OKC_RULE_GROUPS_BH RGP
33594      , OKC_RULES_BH RUL
33595  WHERE RGP.ID  = RUL.RGP_ID
33596    and rul.major_version=rgp.major_version
33597    AND RUL.RULE_INFORMATION_CATEGORY IN ('DST','ARL','CCR','GPR','IRT','TAX','IBR','PDL','QRE','SLH','CAN','BTO','IRE','LRT','STO','PTR',
33598    'ECE','WHE','UGE','STR','CVE','PMP','BTD','RCN','RSN','LMT','OFS','PRE')
33599    AND RGP.CLE_ID = P_CLE_ID
33600    AND RGP.RGD_CODE = 'SVC_K'
33601    AND RGP.id = p_id
33602    AND RGP.major_version = p_major_version
33603 GROUP BY RGP.CLE_ID ,RGP.dnz_chr_id ;
33604 
33605  ----------------------------------------------------------------------------
33606 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
33607 ----------------------------------------------------------------------------
33608 CURSOR L_LINE_DTLS_CSR (P_CLE_ID  IN NUMBER ,P_HDR_ID IN NUMBER, P_CATEGORY IN VARCHAR2 ) IS
33609 SELECT HDR.CONTRACT_NUMBER
33610      , HDR.CONTRACT_NUMBER_MODIFIER
33611      , LIN.LINE_NUMBER
33612      , RUL.MAJOR_VERSION
33613      , RUL.ID
33614      , RGP.ID RGP_ID
33615  FROM  OKC_K_HEADERS_BH HDR
33616      , OKC_RULE_GROUPS_BH RGP
33617      , OKC_RULES_BH RUL
33618      , OKC_K_LINES_BH LIN
33619 WHERE HDR.ID = P_HDR_ID
33620   AND LIN.ID= P_CLE_ID
33621   AND RGP.DNZ_CHR_ID = P_HDR_ID
33622   AND RGP.CLE_ID = LIN.ID
33623   AND RGP.ID = RUL.RGP_ID
33624   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
33625   AND hdr.major_version=rgp.major_version
33626   AND LIN.major_version=rgp.major_version
33627   AND rgp.major_version=rul.major_version
33628   and rul.major_version=p_major_version
33629   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
33630 
33631 -----------------------------------------------------------------------------
33632 --Cursor to check if the records corresponding to cle_id exists
33633 --in oks_k_lines_bh
33634 -----------------------------------------------------------------------------
33635 
33636 Cursor Cur_Klin_exists(p_cleid in number) IS
33637 select 'x'
33638 from  oks_k_lines_bh
33639 where cle_id=p_cleid
33640 and major_version =  p_major_version;
33641 
33642 ------------------------------------------------------------------------------
33643 
33644 -----------------------------------------------------------------------------
33645 --Cursor to check if the records corresponding to rgp_id exists
33646 --in okc_rule_groups_bh
33647 -----------------------------------------------------------------------------
33648 
33649 Cursor Cur_RGP_exists(P_RGP_ID in number) IS
33650 select 'x'
33651 from  okc_rule_groups_bh
33652 where id = P_RGP_ID
33653 and   cle_id is not null
33654 and major_version =  p_major_version;
33655 
33656 ------------------------------------------------------------------------------
33657 
33658 
33659 
33660 L_LINE_DTLS_REC L_LINE_DTLS_CSR%ROWTYPE;
33661  L_USERENV_LANG               VARCHAR2(100) := OKC_UTIL.get_userenv_lang ;
33662  l_check_var                  VARCHAR2(1);
33663 ----------------------------------------------------------------------------
33664 
33665 
33666 BEGIN
33667  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
33668  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Line History Rule Data Synchronization--------');
33669  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
33670 
33671  BEGIN
33672    OPEN L_LOCK_CSR (p_cle_id,p_major_version);
33673    FETCH L_LOCK_CSR into L_LOCK_ID;
33674    CLOSE L_LOCK_CSR;
33675  EXCEPTION
33676    WHEN OTHERS THEN
33677      RAISE LOCK_EXCEPTION;
33678  END;
33679  L_DNZ_CHR_ID := DNZ_CHR_ID;
33680 
33681 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
33682 
33683 if(p_us_yn) then
33684     OPEN l_line_rule_csr(p_rgp_id);
33685     FETCH l_line_rule_csr into
33686                          DISCOUNT_LIST_CHR
33687                         ,ACCT_RULE_ID_CHR
33688                         ,L_PAYMENT_TYPE
33689                         ,L_CC_NO
33690                         ,CC_EXPIRY_DATE_CHR
33691                         ,CC_BANK_ACCT_ID_CHR
33692                         ,L_CC_AUTH_CODE
33693                         ,GRACE_DURATION_CHR
33694                         ,L_GRACE_PERIOD
33695                         ,L_INVOICE_TEXT
33696                         ,L_INV_PRINT_FLAG
33697                         ,L_PRICE_UOM
33698                         ,TAX_AMOUNT_CHR
33699                         ,L_TAX_INCLUSIVE_YN
33700                         ,L_TAX_STATUS
33701                         ,TAX_CODE_CHR
33702                         ,TAX_EXEMPTION_ID_CHR
33703                         ,L_IB_TRANS_TYPE
33704                         ,IB_TRANS_DATE_CHR
33705                         ,L_IB_TRX_DETAILS
33706                         --,PROD_PRICE
33707                         --,SERVICE_PRICE
33708                         ,CLVL_LIST_PRICE_CHR
33709                         ,CLVL_QUANTITY_CHR
33710                         ,CLVL_EXTENDED_AMT_CHR
33711                         ,LINE_LIST_PRICE_CHR
33712                         ,L_TOPLVL_OPERAND_CODE
33713                         ,TOPLVL_OPERAND_VAL_CHR
33714                         ,L_CLVL_UOM_CODE
33715                         ,TOPLVL_QUANTITY_CHR
33716                         ,L_TOPLVL_UOM_CODE
33717                         ,TOPLVL_ADJ_PRICE_CHR
33718                         ,TOPLVL_PRICE_QTY_CHR
33719                         ,L_STATUS_TEXT
33720                         ,AVERAGING_INTERVAL_CHR
33721                         ,L_USAGE_PERIOD
33722                         ,L_SETTLEMENT_INTERVAL
33723                         ,MINIMUM_QUANTITY_CHR
33724                         ,DEFAULT_QUANTITY_CHR
33725                         ,L_AMCV_FLAG
33726                         ,FIXED_QUANTITY_CHR
33727                         ,USAGE_DURATION_CHR
33728                         ,L_LEVEL_YN
33729                         ,L_USAGE_TYPE
33730                         ,L_UOM_QUANTIFIED
33731                         ,BASE_READING_CHR
33732                         ,L_USAGE_EST_METHOD
33733                         ,L_BILLING_SCHEDULE_TYPE
33734                         ,CUST_ACCT_ID_CHR           --OKC
33735                         ,BILL_TO_SITE_USE_ID_CHR    --OKC
33736                         ,INV_RULE_ID_CHR            --OKC
33737                         ,L_LINE_RENEWAL_TYPE_CODE     --OKC
33738                         ,SHIP_TO_SITE_USE_ID_CHR    --OKC
33739                         ,PAYMENT_TERM_ID_CHR       --OKC
33740 -------------------------------------------------------------------------------
33741 		  , EXCEPTION_COV_ID_CHR,
33742 		    L_INHERITANCE_TYPE,
33743 		    Prod_Upgrade_YN_CHR,
33744 		    Coverage_Type_CHR,
33745 		    TRANSFER_OPTION_CHR,
33746 		    PM_PROGRAM_ID_CHR,
33747 		    PM_CONF_REQ_YN_CHR,
33748 		    PM_SCH_EXISTS_YN_CHR,
33749 		    --DISCOUNT_LIST,
33750 		    ALLOW_BT_DISCOUNT_CHR,
33751 		    L_OFFSET_DURATION,
33752 		    --OFFSET_PERIOD,
33753 		    PRICE_LIST_ID_CHR,
33754 		    RCN_INCIDENT_SEVERITY_ID_CHR,
33755 		    RCN_PDF_ID_CHR,
33756 		    RCN_REACT_TIME_NAME,
33757 		    RCN_WORK_THRU_YN,
33758 		    RCN_REACT_ACTIVE_YN,
33759 		    RSN_REACT_TIME_NAME,
33760 		    L_LIMIT_UOM_QUANTIFIED,
33761 		    DISCOUNT_AMOUNT_CHR,
33762 		    DISCOUNT_PERCENT_CHR,
33763 		    L_Sync_Date_Install ;
33764 		-------------------------------------------------------------------------------
33765 
33766       Close l_line_rule_csr;
33767   else
33768     OPEN l_line_rule_csr_nus(p_rgp_id);
33769     FETCH l_line_rule_csr_nus into
33770                          DISCOUNT_LIST_CHR
33771                         ,ACCT_RULE_ID_CHR
33772                         ,L_PAYMENT_TYPE
33773                         ,L_CC_NO
33774                         ,CC_EXPIRY_DATE_CHR
33775                         ,CC_BANK_ACCT_ID_CHR
33776                         ,L_CC_AUTH_CODE
33777                         ,GRACE_DURATION_CHR
33778                         ,L_GRACE_PERIOD
33779                         ,L_INVOICE_TEXT
33780                         ,L_INV_PRINT_FLAG
33781                         ,L_PRICE_UOM
33782                         ,TAX_AMOUNT_CHR
33783                         ,L_TAX_INCLUSIVE_YN
33784                         ,L_TAX_STATUS
33785                         ,TAX_CODE_CHR
33786                         ,TAX_EXEMPTION_ID_CHR
33787                         ,L_IB_TRANS_TYPE
33788                         ,IB_TRANS_DATE_CHR
33789                         ,L_IB_TRX_DETAILS
33790                         --,PROD_PRICE
33791                         --,SERVICE_PRICE
33792                         ,CLVL_LIST_PRICE_CHR
33793                         ,CLVL_QUANTITY_CHR
33794                         ,CLVL_EXTENDED_AMT_CHR
33795                         ,LINE_LIST_PRICE_CHR
33796                         ,L_TOPLVL_OPERAND_CODE
33797                         ,TOPLVL_OPERAND_VAL_CHR
33798                         ,L_CLVL_UOM_CODE
33799                         ,TOPLVL_QUANTITY_CHR
33800                         ,L_TOPLVL_UOM_CODE
33801                         ,TOPLVL_ADJ_PRICE_CHR
33802                         ,TOPLVL_PRICE_QTY_CHR
33803                         ,L_STATUS_TEXT
33804                         ,AVERAGING_INTERVAL_CHR
33805                         ,L_USAGE_PERIOD
33806                         ,L_SETTLEMENT_INTERVAL
33807                         ,MINIMUM_QUANTITY_CHR
33808                         ,DEFAULT_QUANTITY_CHR
33809                         ,L_AMCV_FLAG
33810                         ,FIXED_QUANTITY_CHR
33811                         ,USAGE_DURATION_CHR
33812                         ,L_LEVEL_YN
33813                         ,L_USAGE_TYPE
33814                         ,L_UOM_QUANTIFIED
33815                         ,BASE_READING_CHR
33816                         ,L_USAGE_EST_METHOD
33817                         ,L_BILLING_SCHEDULE_TYPE
33818                         ,CUST_ACCT_ID_CHR           --OKC
33819                         ,BILL_TO_SITE_USE_ID_CHR    --OKC
33820                         ,INV_RULE_ID_CHR            --OKC
33821                         ,L_LINE_RENEWAL_TYPE_CODE     --OKC
33822                         ,SHIP_TO_SITE_USE_ID_CHR    --OKC
33823                         ,PAYMENT_TERM_ID_CHR       --OKC
33824 -------------------------------------------------------------------------------
33825 		  , EXCEPTION_COV_ID_CHR,
33826 		    L_INHERITANCE_TYPE,
33827 		    Prod_Upgrade_YN_CHR,
33828 		    Coverage_Type_CHR,
33829 		    TRANSFER_OPTION_CHR,
33830 		    PM_PROGRAM_ID_CHR,
33831 		    PM_CONF_REQ_YN_CHR,
33832 		    PM_SCH_EXISTS_YN_CHR,
33833 		    --DISCOUNT_LIST,
33834 		    ALLOW_BT_DISCOUNT_CHR,
33835 		    L_OFFSET_DURATION,
33836 		    --OFFSET_PERIOD,
33837 		    PRICE_LIST_ID_CHR,
33838 		    RCN_INCIDENT_SEVERITY_ID_CHR,
33839 		    RCN_PDF_ID_CHR,
33840 		    RCN_REACT_TIME_NAME,
33841 		    RCN_WORK_THRU_YN,
33842 		    RCN_REACT_ACTIVE_YN,
33843 		    RSN_REACT_TIME_NAME,
33844 		    L_LIMIT_UOM_QUANTIFIED,
33845 		    DISCOUNT_AMOUNT_CHR,
33846 		    DISCOUNT_PERCENT_CHR,
33847 		    L_Sync_Date_Install ;
33848 		-------------------------------------------------------------------------------
33849 
33850       Close l_line_rule_csr_nus;
33851    end if;
33852 
33853       Eflag:=0;
33854 
33855       Emsg:=NULL;
33856 
33857       l_check_var:=NULL;
33858 
33859       Open Cur_Klin_exists(P_Cle_ID);
33860       Fetch Cur_Klin_exists into l_check_var;
33861       Close Cur_Klin_exists;
33862 
33863       If(l_check_var is NULL) THEN
33864 
33865           BEGIN
33866              UPDATE OKC_K_LINES_BH
33867              SET
33868               CUST_ACCT_ID           = CUST_ACCT_ID_CHR
33869             , BILL_TO_SITE_USE_ID    = BILL_TO_SITE_USE_ID_CHR
33870             , INV_RULE_ID            = INV_RULE_ID_CHR
33871             , LINE_RENEWAL_TYPE_CODE = L_LINE_RENEWAL_TYPE_CODE
33872             , SHIP_TO_SITE_USE_ID    = SHIP_TO_SITE_USE_ID_CHR
33873 	    , PAYMENT_TERM_ID        = PAYMENT_TERM_ID_CHR
33874             , LINE_LIST_PRICE        = LINE_LIST_PRICE_CHR
33875 	  WHERE ID = P_CLE_ID
33876 	  and major_version =  p_major_version;
33877 
33878            EXCEPTION When others then
33879               Eflag:=1;
33880 	      Emsg :=SQLERRM;
33881           END;
33882 
33883            If(Eflag<>1) Then
33884            BEGIN
33885               INSERT INTO OKS_K_LINES_BH
33886                        ( ID
33887 		        ,MAJOR_VERSION
33888                         ,CLE_ID
33889                         ,DNZ_CHR_ID
33890                         ,DISCOUNT_LIST
33891                         ,ACCT_RULE_ID
33892                         ,PAYMENT_TYPE
33893                         ,CC_NO
33894                         ,CC_EXPIRY_DATE
33895                         ,CC_BANK_ACCT_ID
33896                         ,CC_AUTH_CODE
33897                         ,GRACE_DURATION
33898                         ,GRACE_PERIOD
33899                         ,INV_PRINT_FLAG
33900                         ,PRICE_UOM
33901                         ,TAX_AMOUNT
33902                         ,TAX_INCLUSIVE_YN
33903                         ,TAX_STATUS
33904                         ,TAX_CODE
33905                         ,TAX_EXEMPTION_ID
33906                         ,IB_TRANS_TYPE
33907                         ,IB_TRANS_DATE
33908                         --,PROD_PRICE
33909                         --,SERVICE_PRICE
33910                         ,CLVL_LIST_PRICE
33911                         ,CLVL_QUANTITY
33912                         ,CLVL_EXTENDED_AMT
33913                         ,TOPLVL_OPERAND_CODE
33914                         ,TOPLVL_OPERAND_VAL
33915                         ,CLVL_UOM_CODE
33916                         ,TOPLVL_QUANTITY
33917                         ,TOPLVL_UOM_CODE
33918                         ,TOPLVL_ADJ_PRICE
33919                         ,TOPLVL_PRICE_QTY
33920                         ,AVERAGING_INTERVAL
33921                         ,USAGE_PERIOD
33922                         ,SETTLEMENT_INTERVAL
33923                         ,MINIMUM_QUANTITY
33924                         ,DEFAULT_QUANTITY
33925                         ,AMCV_FLAG
33926                         ,FIXED_QUANTITY
33927                         ,USAGE_DURATION
33928                         ,LEVEL_YN
33929                         ,USAGE_TYPE
33930                         ,UOM_QUANTIFIED
33931                         ,BASE_READING
33932                         ,USAGE_EST_METHOD
33933                         ,BILLING_SCHEDULE_TYPE,
33934 -----------------------------------------------------------------------
33935 			EXCEPTION_COV_ID,
33936                         INHERITANCE_TYPE,
33937                         Prod_Upgrade_YN,
33938                         Coverage_Type,
33939                         TRANSFER_OPTION,
33940                         PM_PROGRAM_ID,
33941                         PM_CONF_REQ_YN,
33942                         PM_SCH_EXISTS_YN,
33943                         ALLOW_BT_DISCOUNT,
33944                         OFFSET_DURATION,
33945                         OFFSET_PERIOD,
33946                         INCIDENT_SEVERITY_ID,
33947                         PDF_ID,
33948                         WORK_THRU_YN,
33949                         REACT_ACTIVE_YN,
33950                         LIMIT_UOM_QUANTIFIED,
33951                         DISCOUNT_AMOUNT,
33952                         DISCOUNT_PERCENT,
33953                         Sync_Date_Install
33954 -----------------------------------------------------------------------
33955 
33956                         ,CREATED_BY
33957                         ,CREATION_DATE
33958                         ,LAST_UPDATED_BY
33959                         ,LAST_UPDATE_DATE
33960                         ,LAST_UPDATE_LOGIN
33961                         ,OBJECT_VERSION_NUMBER  )
33962                  VALUES (P_CLE_ID
33963 		        ,p_MAJOR_VERSION
33964                         ,P_CLE_ID
33965                         ,L_DNZ_CHR_ID
33966                         ,DISCOUNT_LIST_CHR
33967                         ,ACCT_RULE_ID_CHR
33968                         ,L_PAYMENT_TYPE
33969                         ,L_CC_NO
33970                         ,CC_EXPIRY_DATE_CHR
33971                         ,CC_BANK_ACCT_ID_CHR
33972                         ,L_CC_AUTH_CODE
33973                         ,GRACE_DURATION_CHR
33974                         ,L_GRACE_PERIOD
33975                         ,L_INV_PRINT_FLAG
33976                         ,L_PRICE_UOM
33977                         ,TAX_AMOUNT_CHR
33978                         ,L_TAX_INCLUSIVE_YN
33979                         ,L_TAX_STATUS
33980                         ,TAX_CODE_CHR
33981                         ,TAX_EXEMPTION_ID_CHR
33982                         ,L_IB_TRANS_TYPE
33983                         ,IB_TRANS_DATE_CHR
33984                         --,PROD_PRICE
33985                         --,SERVICE_PRICE
33986                         ,CLVL_LIST_PRICE_CHR
33987                         ,CLVL_QUANTITY_CHR
33988                         ,CLVL_EXTENDED_AMT_CHR
33989                         ,L_TOPLVL_OPERAND_CODE
33990                         ,TOPLVL_OPERAND_VAL_CHR
33991                         ,L_CLVL_UOM_CODE
33992                         ,TOPLVL_QUANTITY_CHR
33993                         ,L_TOPLVL_UOM_CODE
33994                         ,TOPLVL_ADJ_PRICE_CHR
33995                         ,TOPLVL_PRICE_QTY_CHR
33996                         ,AVERAGING_INTERVAL_CHR
33997                         ,L_USAGE_PERIOD
33998                         ,L_SETTLEMENT_INTERVAL
33999                         ,MINIMUM_QUANTITY_CHR
34000                         ,DEFAULT_QUANTITY_CHR
34001                         ,L_AMCV_FLAG
34002                         ,FIXED_QUANTITY_CHR
34003                         ,USAGE_DURATION_CHR
34004                         ,L_LEVEL_YN
34005                         ,L_USAGE_TYPE
34006                         ,L_UOM_QUANTIFIED
34007                         ,BASE_READING_CHR
34008                         ,L_USAGE_EST_METHOD
34009                         ,L_BILLING_SCHEDULE_TYPE,
34010 ---------------------------------------------------------
34011 			EXCEPTION_COV_ID_CHR,
34012                         L_INHERITANCE_TYPE,
34013                         Prod_Upgrade_YN_CHR,
34014                         Coverage_Type_CHR,
34015                         TRANSFER_OPTION_CHR,
34016                         PM_PROGRAM_ID_CHR,
34017                         PM_CONF_REQ_YN_CHR,
34018                         PM_SCH_EXISTS_YN_CHR,
34019                         ALLOW_BT_DISCOUNT_CHR,
34020 			NULL,
34021 			NULL,
34022                        --to_NUMBER(substr(OFFSET_DURATION,(INSTR(OFFSET_DURATION,'=')+1))),
34023                        --substr(OFFSET_DURATION,1,(INSTR(OFFSET_DURATION,'=')-1)) ,
34024                         RCN_INCIDENT_SEVERITY_ID_CHR,
34025                         RCN_PDF_ID_CHR,
34026                         RCN_WORK_THRU_YN,
34027                         RCN_REACT_ACTIVE_YN,
34028                         L_LIMIT_UOM_QUANTIFIED,
34029                         DISCOUNT_AMOUNT_CHR,
34030                         DISCOUNT_PERCENT_CHR,
34031                         L_Sync_Date_Install
34032 ---------------------------------------------------------
34033 			,1
34034                         ,sysdate
34035                         ,1
34036                         ,sysdate
34037                         ,2003
34038                         ,1   );
34039 
34040 	IF L_OFFSET_DURATION IS NOT NULL THEN
34041 
34042 	    UPDATE OKS_K_LINES_B T1
34043 	    SET (T1.offset_period ,T1.offset_duration) =
34044 	        (SELECT TIM2.UOM_CODE,TIM2.DURATION
34045 	         FROM okc_timevalues_b TIM ,okc_timevalues_b TIM2,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
34046 	         WHERE  TIM.Id = L_OFFSET_DURATION
34047 	         AND    RGP.CLE_ID = p_cle_id
34048 	         AND    RUL.rule_information1 = TIM.Id
34049 	         AND    RUL.rule_information_category = 'OFS'
34050 	         AND    RGP.ID = RUL.RGP_ID
34051              	 AND    TIM2.ID = TIM.TVE_ID_STARTED
34052                  AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
34053 	         AND    T1.CLE_ID = RGP.CLE_ID)
34054 	WHERE T1.CLE_ID = p_cle_id;
34055 /*
34056 	    UPDATE OKS_K_LINES_B T1
34057 	    SET (T1.offset_period ,T1.offset_duration) =
34058 	        (SELECT UOM_CODE,DURATION
34059 	         FROM okc_timevalues_b TIM ,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
34060 	         WHERE  RUL.Id = L_OFFSET_DURATION
34061 	         AND    RGP.CLE_ID = p_cle_id
34062 	         AND    RUL.rule_information1 = TIM.Id
34063 	         AND    RUL.rule_information_category = 'OFS'
34064 	         AND    RGP.ID = RUL.RGP_ID
34065 	         AND    RUL.DNZ_CHR_ID = TIM.DNZ_CHR_ID
34066 	         AND    RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
34067 	         AND    T1.CLE_ID = RGP.CLE_ID)
34068 		WHERE T1.CLE_ID = p_cle_id;
34069  */
34070 	END IF;
34071 
34072 
34073                    FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST
34074                    LOOP
34075                         INSERT INTO OKS_K_LINES_TLH (
34076                         id,
34077 			MAJOR_VERSION,
34078                         language,
34079                         source_lang,
34080                         sfwt_flag,
34081                         invoice_text,
34082                         ib_trx_details,
34083                         status_text,
34084                         react_time_name,
34085                         security_group_id,
34086                         created_by,
34087                         creation_date,
34088                         last_updated_by,
34089                         last_update_date,
34090                         last_update_login)
34091                         VALUES(
34092                         P_CLE_ID,
34093 			p_MAJOR_VERSION,
34094                         OKC_UTIL.g_language_code(lang_i),
34095                         L_USERENV_LANG,
34096                         'S',
34097                         L_invoice_text,
34098                         L_ib_trx_details,
34099                         L_status_text,
34100                         RCN_REACT_TIME_NAME,
34101                         null, --security_group_id,
34102                         1,
34103                         sysdate,
34104                         1,
34105                         sysdate,
34106                         2003
34107                         );
34108                    END LOOP;
34109 
34110           EXCEPTION When others then
34111             Eflag:=1;
34112             Emsg :=SQLERRM;
34113           END;
34114 
34115           End If;
34116 
34117       Else
34118         l_check_var := NULL;
34119         Open Cur_RGP_exists(P_RGP_ID);
34120         Fetch Cur_RGP_exists into l_check_var;
34121 	Close Cur_RGP_exists;
34122 
34123 	If(l_check_var is not null) Then
34124 
34125      	    BEGIN
34126               UPDATE OKC_K_LINES_BH
34127               SET CUST_ACCT_ID           = CUST_ACCT_ID_CHR
34128                 , BILL_TO_SITE_USE_ID    = BILL_TO_SITE_USE_ID_CHR
34129                 , INV_RULE_ID            = INV_RULE_ID_CHR
34130                 , LINE_RENEWAL_TYPE_CODE = L_LINE_RENEWAL_TYPE_CODE
34131                 , SHIP_TO_SITE_USE_ID    = SHIP_TO_SITE_USE_ID_CHR
34132                 , PAYMENT_TERM_ID        = PAYMENT_TERM_ID_CHR
34133                 , LINE_LIST_PRICE        = LINE_LIST_PRICE_CHR
34134 	      WHERE ID = P_CLE_ID
34135 	      and major_version =  p_major_version;
34136 
34137                EXCEPTION When others then
34138                  Eflag:=1;
34139                  Emsg :=SQLERRM;
34140                END;
34141 
34142           If(Eflag<> 1) Then
34143 
34144         --Updating oks_k_lines_bh
34145         BEGIN
34146 	  Update oks_k_lines_bh set
34147                          DISCOUNT_LIST          =  DISCOUNT_LIST_CHR
34148                         ,ACCT_RULE_ID           =  ACCT_RULE_ID_CHR
34149                         ,PAYMENT_TYPE           =  L_PAYMENT_TYPE
34150                         ,CC_NO                  =  L_CC_NO
34151                         ,CC_EXPIRY_DATE         = CC_EXPIRY_DATE_CHR
34152                         ,CC_BANK_ACCT_ID        =  CC_BANK_ACCT_ID_CHR
34153                         ,CC_AUTH_CODE           =  L_CC_AUTH_CODE
34154                         ,GRACE_DURATION         =  GRACE_DURATION_CHR
34155                         ,GRACE_PERIOD           =  L_GRACE_PERIOD
34156                   --      ,INVOICE_TEXT           = INVOICE_TEXT
34157                         ,INV_PRINT_FLAG         = L_INV_PRINT_FLAG
34158                         ,PRICE_UOM		= L_PRICE_UOM
34159                         ,TAX_AMOUNT		= TAX_AMOUNT_CHR
34160                         ,TAX_INCLUSIVE_YN	= L_TAX_INCLUSIVE_YN
34161                         ,TAX_STATUS		= L_TAX_STATUS
34162                         ,TAX_CODE		= TAX_CODE_CHR
34163                         ,TAX_EXEMPTION_ID	= TAX_EXEMPTION_ID_CHR
34164                         ,IB_TRANS_TYPE		= L_IB_TRANS_TYPE
34165                         ,IB_TRANS_DATE		= IB_TRANS_DATE_CHR
34166                   --      ,IB_TRX_DETAILS		= IB_TRX_DETAILS_CHR
34167                        ,CLVL_LIST_PRICE		= CLVL_LIST_PRICE_CHR
34168                         ,CLVL_QUANTITY		= CLVL_QUANTITY_CHR
34169                         ,CLVL_EXTENDED_AMT	= CLVL_EXTENDED_AMT_CHR
34170                         ,TOPLVL_OPERAND_CODE	= L_TOPLVL_OPERAND_CODE
34171                         ,TOPLVL_OPERAND_VAL	= TOPLVL_OPERAND_VAL_CHR
34172                         ,CLVL_UOM_CODE		= L_CLVL_UOM_CODE
34173                         ,TOPLVL_QUANTITY	= TOPLVL_QUANTITY_CHR
34174                         ,TOPLVL_UOM_CODE	= L_TOPLVL_UOM_CODE
34175                         ,TOPLVL_ADJ_PRICE	= TOPLVL_ADJ_PRICE_CHR
34176                         ,TOPLVL_PRICE_QTY	= TOPLVL_PRICE_QTY_CHR
34177                     --    ,STATUS_TEXT		= STATUS_TEXT_CHR
34178                         ,AVERAGING_INTERVAL	= AVERAGING_INTERVAL_CHR
34179                         ,USAGE_PERIOD		= L_USAGE_PERIOD
34180                         ,SETTLEMENT_INTERVAL	= L_SETTLEMENT_INTERVAL
34181                         ,MINIMUM_QUANTITY	= MINIMUM_QUANTITY_CHR
34182                         ,DEFAULT_QUANTITY	= DEFAULT_QUANTITY_CHR
34183                         ,AMCV_FLAG		= L_AMCV_FLAG
34184                         ,FIXED_QUANTITY		= FIXED_QUANTITY_CHR
34185                         ,USAGE_DURATION		= USAGE_DURATION_CHR
34186                         ,LEVEL_YN		= L_LEVEL_YN
34187                         ,USAGE_TYPE		= L_USAGE_TYPE
34188                         ,UOM_QUANTIFIED		= L_UOM_QUANTIFIED
34189                         ,BASE_READING		= BASE_READING_CHR
34190                         ,USAGE_EST_METHOD	= L_USAGE_EST_METHOD
34191                         ,BILLING_SCHEDULE_TYPE	= L_BILLING_SCHEDULE_TYPE,
34192 ---------------------------------------------------------------------------------------------------
34193 			EXCEPTION_COV_ID 	= EXCEPTION_COV_ID_CHR,
34194                         INHERITANCE_TYPE 	= L_INHERITANCE_TYPE,
34195                         Prod_Upgrade_YN 	= Prod_Upgrade_YN_CHR,
34196                         Coverage_Type 		= Coverage_Type_CHR,
34197                         TRANSFER_OPTION		= TRANSFER_OPTION_CHR,
34198                         PM_PROGRAM_ID 		= PM_PROGRAM_ID_CHR,
34199                         PM_CONF_REQ_YN 		= PM_CONF_REQ_YN_CHR,
34200                         PM_SCH_EXISTS_YN 	= PM_SCH_EXISTS_YN_CHR,
34201                         ALLOW_BT_DISCOUNT 	= ALLOW_BT_DISCOUNT_CHR,
34202                         OFFSET_DURATION 	= NULL,--to_NUMBER(substr(OFFSET_DURATION,(INSTR(OFFSET_DURATION,'=')+1))),
34203                         OFFSET_PERIOD 		= NULL,--substr(OFFSET_DURATION,1,(INSTR(OFFSET_DURATION,'=')-1)),
34204                         INCIDENT_SEVERITY_ID 	= RCN_INCIDENT_SEVERITY_ID_CHR,
34205                         PDF_ID 			= RCN_PDF_ID_CHR,
34206                         WORK_THRU_YN 		= RCN_WORK_THRU_YN,
34207                         REACT_ACTIVE_YN 	= RCN_REACT_ACTIVE_YN,
34208                         LIMIT_UOM_QUANTIFIED 	= L_LIMIT_UOM_QUANTIFIED,
34209                         DISCOUNT_AMOUNT 	= DISCOUNT_AMOUNT_CHR,
34210                         DISCOUNT_PERCENT 	= DISCOUNT_PERCENT_CHR,
34211                         Sync_Date_Install 	= L_Sync_Date_Install
34212           Where cle_id=p_cle_id
34213 	  and major_version =  p_major_version;
34214 
34215 	IF L_OFFSET_DURATION IS NOT NULL THEN
34216 
34217 	    UPDATE OKS_K_LINES_B T1
34218 	    SET (T1.offset_period ,T1.offset_duration) =
34219 	        (SELECT TIM2.UOM_CODE,TIM2.DURATION
34220 	         FROM okc_timevalues_b TIM ,okc_timevalues_b TIM2,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
34221 	         WHERE  TIM.Id = L_OFFSET_DURATION
34222 	         AND    RGP.CLE_ID = p_cle_id
34223 	         AND    RUL.rule_information1 = TIM.Id
34224 	         AND    RUL.rule_information_category = 'OFS'
34225 	         AND    RGP.ID = RUL.RGP_ID
34226              	 AND    TIM2.ID = TIM.TVE_ID_STARTED
34227                  AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
34228 	         AND    T1.CLE_ID = RGP.CLE_ID)
34229 	WHERE T1.CLE_ID = p_cle_id;
34230 /*
34231 	    UPDATE OKS_K_LINES_B T1
34232 	    SET (T1.offset_period ,T1.offset_duration) =
34233 	        (SELECT UOM_CODE,DURATION
34234 	         FROM okc_timevalues_b TIM ,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
34235 	         WHERE  RUL.Id = L_OFFSET_DURATION
34236 	         AND    RGP.CLE_ID = p_cle_id
34237 	         AND    RUL.rule_information1 = TIM.Id
34238 	         AND    RUL.rule_information_category = 'OFS'
34239 	         AND    RGP.ID = RUL.RGP_ID
34240 	         AND    RUL.DNZ_CHR_ID = TIM.DNZ_CHR_ID
34241 	         AND    RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
34242 	         AND    T1.CLE_ID = RGP.CLE_ID)
34243 	WHERE T1.CLE_ID = p_cle_id;
34244  */
34245 	END IF;
34246 
34247 
34248          FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST
34249          LOOP
34250 	  Update oks_k_lines_tlh
34251              set INVOICE_TEXT       = L_INVOICE_TEXT
34252                 ,IB_TRX_DETAILS     = L_IB_TRX_DETAILS
34253                 ,STATUS_TEXT        = L_STATUS_TEXT
34254                 ,React_Time_Name    = RCN_REACT_TIME_NAME
34255           Where id = p_cle_id
34256 	    and language    = OKC_UTIL.g_language_code(lang_i)
34257 	    and source_lang = L_USERENV_LANG
34258             and major_version =  p_major_version;
34259 
34260          END LOOP;
34261 
34262 	   EXCEPTION When others then
34263             Eflag:=1;
34264 	    Emsg :=SQLERRM;
34265 	  END;
34266 
34267          End If;
34268 
34269 	Else ---l_check_var is not null
34270            BEGIN
34271 	      Delete from oks_k_lines_bh where cle_id = P_Cle_ID
34272 	         and major_version =  p_major_version;
34273 
34274                 UPDATE OKC_K_LINES_BH
34275                    SET CUST_ACCT_ID           = CUST_ACCT_ID_CHR
34276 		     , BILL_TO_SITE_USE_ID    = BILL_TO_SITE_USE_ID_CHR
34277 	             , INV_RULE_ID            = INV_RULE_ID_CHR
34278 	             , LINE_RENEWAL_TYPE_CODE = L_LINE_RENEWAL_TYPE_CODE
34279 	             , SHIP_TO_SITE_USE_ID    = SHIP_TO_SITE_USE_ID_CHR
34280 	             , PAYMENT_TERM_ID        = PAYMENT_TERM_ID_CHR
34281                      , LINE_LIST_PRICE        = LINE_LIST_PRICE_CHR
34282 	         WHERE ID = P_CLE_ID
34283                    and major_version =  p_major_version;
34284 
34285 	   EXCEPTION When others then
34286 	          Eflag:=2;
34287 		  Emsg :=SQLERRM;
34288 	   END;
34289         End If;
34290      End If; -- l_check_var is not null
34291 if(Eflag=1) THEN
34292 
34293        DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
34294     ------------------------------------------------------------------------------------
34295     -- Begin of code to validate data type .
34296     -- If data fails validation then set the Eflag to 1
34297 
34298      -- Begin of code to validate data type .
34299 
34300        --1. Validation for DST rule .
34301        BEGIN
34302           DISCOUNT_LIST      := DISCOUNT_LIST_CHR;
34303        EXCEPTION
34304        WHEN OTHERS THEN
34305           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'DST') ;
34306           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34307           CLOSE L_LINE_DTLS_CSR;
34308           FND_MESSAGE.CLEAR;
34309           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_LIST');
34310           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34311           L_ERROR_MSG      := SQLERRM;
34312           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34313                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, LINE_NUMBER, SCRIPT_NAME  ,
34314                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34315                                       ERROR_MSG)
34316                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34317                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34318                                       'DST'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_LIST_CHR,
34319                                        L_ERROR_MSG );
34320            Eflag:=1;
34321        END;
34322 
34323        --2. Validation for ARL rule .
34324        BEGIN
34325           ACCT_RULE_ID      := ACCT_RULE_ID_CHR;
34326        EXCEPTION
34327        WHEN OTHERS THEN
34328           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'ARL') ;
34329           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34330           CLOSE L_LINE_DTLS_CSR;
34331           FND_MESSAGE.CLEAR;
34332           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
34333           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34334           L_ERROR_MSG      := SQLERRM;
34335           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34336                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION  ,LINE_NUMBER, SCRIPT_NAME  ,
34337                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34338                                       ERROR_MSG)
34339                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34340                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34341                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,ACCT_RULE_ID_CHR,
34342                                        L_ERROR_MSG );
34343            Eflag:=1;
34344        END;
34345 
34346        --3. Validation for CCR rule .
34347        BEGIN
34348           CC_BANK_ACCT_ID      := CC_BANK_ACCT_ID_CHR;
34349        EXCEPTION
34350        WHEN OTHERS THEN
34351           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'CCR') ;
34352           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34353           CLOSE L_LINE_DTLS_CSR;
34354           FND_MESSAGE.CLEAR;
34355           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
34356           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34357           L_ERROR_MSG      := SQLERRM;
34358           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34359                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34360                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34361                                       ERROR_MSG)
34362                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34363                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34364                                       'CCR'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CC_BANK_ACCT_ID_CHR,
34365                                        L_ERROR_MSG );
34366            Eflag:=1;
34367        END;
34368 
34369 
34370        --4. Validation for GPR rule .
34371        BEGIN
34372           GRACE_DURATION      := GRACE_DURATION_CHR;
34373        EXCEPTION
34374        WHEN OTHERS THEN
34375           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'GPR') ;
34376           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34377           CLOSE L_LINE_DTLS_CSR;
34378           FND_MESSAGE.CLEAR;
34379           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
34380           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34381           L_ERROR_MSG      := SQLERRM;
34382           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34383                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34384                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34385                                       ERROR_MSG)
34386                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34387                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34388                                       'GPR'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,GRACE_DURATION_CHR,
34389                                        L_ERROR_MSG );
34390            Eflag:=1;
34391        END;
34392        --5. Validation for IRT rule .
34393        BEGIN
34394           TAX_AMOUNT      := TAX_AMOUNT_CHR;
34395        EXCEPTION
34396        WHEN OTHERS THEN
34397           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'IRT') ;
34398           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34399           CLOSE L_LINE_DTLS_CSR;
34400           FND_MESSAGE.CLEAR;
34401           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
34402           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34403           L_ERROR_MSG      := SQLERRM;
34404           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34405                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34406                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34407                                       ERROR_MSG)
34408                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34409                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34410                                       'IRT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,TAX_AMOUNT_CHR,
34411                                        L_ERROR_MSG );
34412            Eflag:=1;
34413        END;
34414 
34415        --6. Validation for TAX rule .
34416        BEGIN
34417           TAX_CODE      := TAX_CODE_CHR;
34418        EXCEPTION
34419        WHEN OTHERS THEN
34420           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'TAX') ;
34421           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34422           CLOSE L_LINE_DTLS_CSR;
34423           FND_MESSAGE.CLEAR;
34424           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
34425           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34426           L_ERROR_MSG      := SQLERRM;
34427           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34428                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34429                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34430                                       ERROR_MSG)
34431                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34432                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34433                                       'TAX'    ,'OBJECT2_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_CODE_CHR,
34434                                        L_ERROR_MSG );
34435            Eflag:=1;
34436        END;
34437 
34438        --7. Validation for TAX rule .
34439        BEGIN
34440           TAX_EXEMPTION_ID      := TAX_EXEMPTION_ID_CHR;
34441        EXCEPTION
34442        WHEN OTHERS THEN
34443           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'TAX') ;
34444           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34445           CLOSE L_LINE_DTLS_CSR;
34446           FND_MESSAGE.CLEAR;
34447           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
34448           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34449           L_ERROR_MSG      := SQLERRM;
34450           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34451                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34452                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34453                                       ERROR_MSG)
34454                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34455                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34456                                       'TAX'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,TAX_EXEMPTION_ID_CHR,
34457                                        L_ERROR_MSG );
34458            Eflag:=1;
34459        END;
34460 
34461        --8. Validation for PDL rule .
34462        BEGIN
34463           CLVL_LIST_PRICE      := CLVL_LIST_PRICE_CHR;
34464        EXCEPTION
34465        WHEN OTHERS THEN
34466           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
34467           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34468           CLOSE L_LINE_DTLS_CSR;
34469           FND_MESSAGE.CLEAR;
34470           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_LIST_PRICE');
34471           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34472           L_ERROR_MSG      := SQLERRM;
34473           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34474                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34475                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34476                                       ERROR_MSG)
34477                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34478                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34479                                       'PDL'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,CLVL_LIST_PRICE_CHR,
34480                                        L_ERROR_MSG );
34481            Eflag:=1;
34482        END;
34483 
34484        --9. Validation for PDL rule .
34485        BEGIN
34486           CLVL_QUANTITY      := CLVL_QUANTITY_CHR;
34487        EXCEPTION
34488        WHEN OTHERS THEN
34489           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
34490           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34491           CLOSE L_LINE_DTLS_CSR;
34492           FND_MESSAGE.CLEAR;
34493           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_QUANTITY');
34494           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34495           L_ERROR_MSG      := SQLERRM;
34496           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34497                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34498                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34499                                       ERROR_MSG)
34500                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34501                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34502                                       'PDL'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CLVL_QUANTITY_CHR,
34503                                        L_ERROR_MSG );
34504            Eflag:=1;
34505        END;
34506 
34507        --10. Validation for PDL rule .
34508        BEGIN
34509           CLVL_EXTENDED_AMT      := CLVL_EXTENDED_AMT_CHR;
34510        EXCEPTION
34511        WHEN OTHERS THEN
34512           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
34513           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34514           CLOSE L_LINE_DTLS_CSR;
34515           FND_MESSAGE.CLEAR;
34516           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CLVL_EXTENDED_AMT');
34517           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34518           L_ERROR_MSG      := SQLERRM;
34519           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34520                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34521                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34522                                       ERROR_MSG)
34523                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34524                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34525                                       'PDL'    ,'RULE_INFORMATION3'   ,L_ATTRIBUTE_NAME         ,CLVL_EXTENDED_AMT_CHR,
34526                                        L_ERROR_MSG );
34527            Eflag:=1;
34528        END;
34529 
34530        --11. Validation for PDL rule .
34531        BEGIN
34532           TOPLVL_OPERAND_VAL      := TOPLVL_OPERAND_VAL_CHR;
34533        EXCEPTION
34534        WHEN OTHERS THEN
34535           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
34536           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34537           CLOSE L_LINE_DTLS_CSR;
34538           FND_MESSAGE.CLEAR;
34539           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_OPERAND_VAL');
34540           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34541           L_ERROR_MSG      := SQLERRM;
34542           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34543                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34544                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34545                                       ERROR_MSG)
34546                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34547                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34548                                       'PDL'    ,'RULE_INFORMATION6'   ,L_ATTRIBUTE_NAME         ,TOPLVL_OPERAND_VAL_CHR,
34549                                        L_ERROR_MSG );
34550            Eflag:=1;
34551        END;
34552 
34553        --12. Validation for PDL rule .
34554        BEGIN
34555           TOPLVL_QUANTITY      := TOPLVL_QUANTITY_CHR;
34556        EXCEPTION
34557        WHEN OTHERS THEN
34558           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
34559           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34560           CLOSE L_LINE_DTLS_CSR;
34561           FND_MESSAGE.CLEAR;
34562           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_QUANTITY');
34563           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34564           L_ERROR_MSG      := SQLERRM;
34565           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34566                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34567                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34568                                       ERROR_MSG)
34569                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34570                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34571                                       'PDL'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,TOPLVL_QUANTITY_CHR,
34572                                        L_ERROR_MSG );
34573            Eflag:=1;
34574        END;
34575 
34576        --13. Validation for PDL rule .
34577        BEGIN
34578           TOPLVL_ADJ_PRICE      := TOPLVL_ADJ_PRICE_CHR;
34579        EXCEPTION
34580        WHEN OTHERS THEN
34581           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
34582           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34583           CLOSE L_LINE_DTLS_CSR;
34584           FND_MESSAGE.CLEAR;
34585           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_ADJ_PRICE');
34586           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34587           L_ERROR_MSG      := SQLERRM;
34588           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34589                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34590                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34591                                       ERROR_MSG)
34592                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34593                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34594                                       'PDL'    ,'RULE_INFORMATION10'   ,L_ATTRIBUTE_NAME         ,TOPLVL_ADJ_PRICE_CHR,
34595                                        L_ERROR_MSG );
34596            Eflag:=1;
34597        END;
34598 
34599        --14. Validation for PDL rule .
34600        BEGIN
34601           TOPLVL_PRICE_QTY      := TOPLVL_PRICE_QTY_CHR;
34602        EXCEPTION
34603        WHEN OTHERS THEN
34604           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
34605           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34606           CLOSE L_LINE_DTLS_CSR;
34607           FND_MESSAGE.CLEAR;
34608           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TOPLVL_PRICE_QTY');
34609           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34610           L_ERROR_MSG      := SQLERRM;
34611           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34612                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34613                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34614                                       ERROR_MSG)
34615                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34616                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34617                                       'PDL'    ,'RULE_INFORMATION13'   ,L_ATTRIBUTE_NAME         ,TOPLVL_PRICE_QTY_CHR,
34618                                        L_ERROR_MSG );
34619            Eflag:=1;
34620        END;
34621 
34622        --15. Validation for QRE rule .
34623        BEGIN
34624           AVERAGING_INTERVAL      := AVERAGING_INTERVAL_CHR;
34625        EXCEPTION
34626        WHEN OTHERS THEN
34627           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
34628           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34629           CLOSE L_LINE_DTLS_CSR;
34630           FND_MESSAGE.CLEAR;
34631           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_AVERAGING_INTERVAL');
34632           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34633           L_ERROR_MSG      := SQLERRM;
34634           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34635                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34636                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34637                                       ERROR_MSG)
34638                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34639                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34640                                       'QRE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,AVERAGING_INTERVAL_CHR,
34641                                        L_ERROR_MSG );
34642            Eflag:=1;
34643        END;
34644 
34645        --16. Validation for QRE rule .
34646        BEGIN
34647           MINIMUM_QUANTITY      := MINIMUM_QUANTITY_CHR;
34648        EXCEPTION
34649        WHEN OTHERS THEN
34650           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
34651           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34652           CLOSE L_LINE_DTLS_CSR;
34653           FND_MESSAGE.CLEAR;
34654           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_MINIMUM_QUANTITY');
34655           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34656           L_ERROR_MSG      := SQLERRM;
34657           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34658                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34659                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34660                                       ERROR_MSG)
34661                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34662                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34663                                       'QRE'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,MINIMUM_QUANTITY_CHR,
34664                                        L_ERROR_MSG );
34665            Eflag:=1;
34666        END;
34667 
34668 
34669        --17. Validation for QRE rule .
34670        BEGIN
34671           DEFAULT_QUANTITY      := DEFAULT_QUANTITY_CHR;
34672        EXCEPTION
34673        WHEN OTHERS THEN
34674           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
34675           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34676           CLOSE L_LINE_DTLS_CSR;
34677           FND_MESSAGE.CLEAR;
34678           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DEFAULT_QUANTITY');
34679           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34680           L_ERROR_MSG      := SQLERRM;
34681           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34682                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34683                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34684                                       ERROR_MSG)
34685                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34686                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34687                                       'QRE'    ,'RULE_INFORMATION5'   ,L_ATTRIBUTE_NAME         ,DEFAULT_QUANTITY_CHR,
34688                                        L_ERROR_MSG );
34689            Eflag:=1;
34690        END;
34691 
34692        --18. Validation for QRE rule .
34693        BEGIN
34694           FIXED_QUANTITY      := FIXED_QUANTITY_CHR;
34695        EXCEPTION
34696        WHEN OTHERS THEN
34697           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
34698           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34699           CLOSE L_LINE_DTLS_CSR;
34700           FND_MESSAGE.CLEAR;
34701           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_FIXED_QUANTITY');
34702           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34703           L_ERROR_MSG      := SQLERRM;
34704           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34705                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34706                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34707                                       ERROR_MSG)
34708                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34709                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34710                                       'QRE'    ,'RULE_INFORMATION7'   ,L_ATTRIBUTE_NAME         ,FIXED_QUANTITY_CHR,
34711                                        L_ERROR_MSG );
34712            Eflag:=1;
34713        END;
34714 
34715        --19. Validation for QRE rule .
34716        BEGIN
34717           USAGE_DURATION      := USAGE_DURATION_CHR;
34718        EXCEPTION
34719        WHEN OTHERS THEN
34720           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
34721           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34722           CLOSE L_LINE_DTLS_CSR;
34723           FND_MESSAGE.CLEAR;
34724           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_USAGE_DURATION');
34725           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34726           L_ERROR_MSG      := SQLERRM;
34727           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34728                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34729                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34730                                       ERROR_MSG)
34731                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34732                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34733                                       'QRE'    ,'RULE_INFORMATION8'   ,L_ATTRIBUTE_NAME         ,USAGE_DURATION_CHR,
34734                                        L_ERROR_MSG );
34735            Eflag:=1;
34736        END;
34737 
34738        --20. Validation for QRE rule .
34739        BEGIN
34740           BASE_READING      := BASE_READING_CHR;
34741        EXCEPTION
34742        WHEN OTHERS THEN
34743           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'QRE') ;
34744           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34745           CLOSE L_LINE_DTLS_CSR;
34746           FND_MESSAGE.CLEAR;
34747           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BASE_READING');
34748           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34749           L_ERROR_MSG      := SQLERRM;
34750           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34751                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34752                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34753                                       ERROR_MSG)
34754                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34755                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34756                                       'QRE'    ,'RULE_INFORMATION12'   ,L_ATTRIBUTE_NAME         ,BASE_READING_CHR,
34757                                        L_ERROR_MSG );
34758            Eflag:=1;
34759        END;
34760 
34761        --21. Validation for CAN rule .
34762        BEGIN
34763           CUST_ACCT_ID      := CUST_ACCT_ID_CHR;
34764        EXCEPTION
34765        WHEN OTHERS THEN
34766           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'CAN') ;
34767           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34768           CLOSE L_LINE_DTLS_CSR;
34769           FND_MESSAGE.CLEAR;
34770           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
34771           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34772           L_ERROR_MSG      := SQLERRM;
34773           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34774                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34775                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34776                                       ERROR_MSG)
34777                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34778                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34779                                       'CAN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,CUST_ACCT_ID_CHR,
34780                                        L_ERROR_MSG );
34781            Eflag:=1;
34782        END;
34783 
34784        --22. Validation for BTO rule .
34785        BEGIN
34786           BILL_TO_SITE_USE_ID      := BILL_TO_SITE_USE_ID_CHR;
34787        EXCEPTION
34788        WHEN OTHERS THEN
34789           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'BTO') ;
34790           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34791           CLOSE L_LINE_DTLS_CSR;
34792           FND_MESSAGE.CLEAR;
34793           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
34794           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34795           L_ERROR_MSG      := SQLERRM;
34796           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34797                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34798                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34799                                       ERROR_MSG)
34800                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34801                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34802                                       'BTO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,BILL_TO_SITE_USE_ID_CHR,
34803                                        L_ERROR_MSG );
34804            Eflag:=1;
34805        END;
34806 
34807        --23. Validation for IRE rule .
34808        BEGIN
34809           INV_RULE_ID      := INV_RULE_ID_CHR;
34810        EXCEPTION
34811        WHEN OTHERS THEN
34812           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'IRE') ;
34813           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34814           CLOSE L_LINE_DTLS_CSR;
34815           FND_MESSAGE.CLEAR;
34816           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
34817           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34818           L_ERROR_MSG      := SQLERRM;
34819           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34820                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34821                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34822                                       ERROR_MSG)
34823                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34824                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34825                                       'IRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,INV_RULE_ID_CHR,
34826                                        L_ERROR_MSG );
34827            Eflag:=1;
34828        END;
34829 
34830        --24. Validation for STO rule .
34831        BEGIN
34832           SHIP_TO_SITE_USE_ID      := SHIP_TO_SITE_USE_ID_CHR;
34833        EXCEPTION
34834        WHEN OTHERS THEN
34835           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'STO') ;
34836           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34837           CLOSE L_LINE_DTLS_CSR;
34838           FND_MESSAGE.CLEAR;
34839           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
34840           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34841           L_ERROR_MSG      := SQLERRM;
34842           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34843                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34844                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34845                                       ERROR_MSG)
34846                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34847                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34848                                       'STO'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,SHIP_TO_SITE_USE_ID_CHR,
34849                                        L_ERROR_MSG );
34850            Eflag:=1;
34851        END;
34852 
34853        --25. Validation for PTR rule .
34854        BEGIN
34855           PAYMENT_TERM_ID      := PAYMENT_TERM_ID_CHR;
34856        EXCEPTION
34857        WHEN OTHERS THEN
34858           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PTR') ;
34859           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34860           CLOSE L_LINE_DTLS_CSR;
34861           FND_MESSAGE.CLEAR;
34862           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
34863           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34864           L_ERROR_MSG      := SQLERRM;
34865           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34866                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34867                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34868                                       ERROR_MSG)
34869                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34870                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34871                                       'PTR'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PAYMENT_TERM_ID_CHR,
34872                                        L_ERROR_MSG );
34873            Eflag:=1;
34874        END;
34875 /*
34876        --26. Validation for CCR rule .
34877        BEGIN
34878           CC_EXPIRY_DATE      := CC_EXPIRY_DATE_CHR;
34879        EXCEPTION
34880        WHEN OTHERS THEN
34881           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'CCR') ;
34882           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34883           CLOSE L_LINE_DTLS_CSR;
34884           FND_MESSAGE.CLEAR;
34885           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
34886           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34887           L_ERROR_MSG      := SQLERRM;
34888           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34889                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34890                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34891                                       ERROR_MSG)
34892                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34893                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34894                                       'CCR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,CC_EXPIRY_DATE_CHR,
34895                                        L_ERROR_MSG );
34896            Eflag:=1;
34897        END;
34898 
34899 */
34900 /*
34901        --27. Validation for IBR  rule .
34902        BEGIN
34903           IB_TRANS_DATE      := IB_TRANS_DATE_CHR;
34904        EXCEPTION
34905        WHEN OTHERS THEN
34906           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'IBR') ;
34907           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34908           CLOSE L_LINE_DTLS_CSR;
34909           FND_MESSAGE.CLEAR;
34910           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_IB_TRANS_DATE');
34911           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34912           L_ERROR_MSG      := SQLERRM;
34913           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34914                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34915                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34916                                       ERROR_MSG)
34917                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34918                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINEH',
34919                                       'IBR'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,IB_TRANS_DATE_CHR,
34920                                        L_ERROR_MSG );
34921            Eflag:=1;
34922        END;
34923 
34924 */
34925 
34926     --28
34927        BEGIN
34928           EXCEPTION_COV_ID      := EXCEPTION_COV_ID_chr;
34929        EXCEPTION
34930        WHEN OTHERS THEN
34931           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'ECE') ;
34932           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34933           CLOSE L_LINE_DTLS_CSR;
34934           FND_MESSAGE.CLEAR;
34935           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EXCEPTION_COV_ID');
34936           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34937           L_ERROR_MSG      := SQLERRM;
34938           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34939                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34940                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34941                                       ERROR_MSG)
34942                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34943                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
34944                                       'ECE'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,EXCEPTION_COV_ID_chr,
34945                                        L_ERROR_MSG );
34946           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || EXCEPTION_COV_ID_chr);
34947 	  Eflag:=1;
34948        END;
34949 --29
34950        BEGIN
34951           PM_PROGRAM_ID      := PM_PROGRAM_ID_chr;
34952        EXCEPTION
34953        WHEN OTHERS THEN
34954           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PMP') ;
34955           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34956           CLOSE L_LINE_DTLS_CSR;
34957           FND_MESSAGE.CLEAR;
34958           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PM_PROGRAM_ID');
34959           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34960           L_ERROR_MSG      := SQLERRM;
34961           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34962                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34963                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34964                                       ERROR_MSG)
34965                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34966                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
34967                                       'PMP'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PM_PROGRAM_ID_chr,
34968                                        L_ERROR_MSG );
34969           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PM_PROGRAM_ID_chr);
34970 	  Eflag:=1;
34971        END;
34972 --30
34973        BEGIN
34974           PRICE_LIST_ID      := PRICE_LIST_ID_chr;
34975        EXCEPTION
34976        WHEN OTHERS THEN
34977           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PRE') ;
34978           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
34979           CLOSE L_LINE_DTLS_CSR;
34980           FND_MESSAGE.CLEAR;
34981           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
34982           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
34983           L_ERROR_MSG      := SQLERRM;
34984           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
34985                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
34986                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
34987                                       ERROR_MSG)
34988                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
34989                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
34990                                       'PRE'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,PRICE_LIST_ID_chr,
34991                                        L_ERROR_MSG );
34992           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || PRICE_LIST_ID_chr);
34993 	  Eflag:=1;
34994        END;
34995 --31
34996        BEGIN
34997           RCN_INCIDENT_SEVERITY_ID      := RCN_INCIDENT_SEVERITY_ID_chr;
34998        EXCEPTION
34999        WHEN OTHERS THEN
35000           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'RCN') ;
35001           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
35002           CLOSE L_LINE_DTLS_CSR;
35003           FND_MESSAGE.CLEAR;
35004           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_INCIDENT_SVR_ID');
35005           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
35006           L_ERROR_MSG      := SQLERRM;
35007           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
35008                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
35009                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
35010                                       ERROR_MSG)
35011                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
35012                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
35013                                       'RCN'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         ,RCN_INCIDENT_SEVERITY_ID_chr,
35014                                        L_ERROR_MSG );
35015           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'OBJECT1_ID1' ||L_ATTRIBUTE_NAME || RCN_INCIDENT_SEVERITY_ID_chr);
35016 	  Eflag:=1;
35017        END;
35018 --32
35019        BEGIN
35020           RCN_PDF_ID      := RCN_PDF_ID_chr;
35021        EXCEPTION
35022        WHEN OTHERS THEN
35023           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'RCN') ;
35024           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
35025           CLOSE L_LINE_DTLS_CSR;
35026           FND_MESSAGE.CLEAR;
35027           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RCN_PDF_ID');
35028           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
35029           L_ERROR_MSG      := SQLERRM;
35030           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
35031                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
35032                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
35033                                       ERROR_MSG)
35034                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
35035                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
35036                                       'RCN'    ,'RULE_INFORMATION1'   ,L_ATTRIBUTE_NAME         ,RCN_PDF_ID_chr,
35037                                        L_ERROR_MSG );
35038           -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION1' ||L_ATTRIBUTE_NAME || RCN_PDF_ID_chr);
35039 	  Eflag:=1;
35040        END;
35041 --33
35042        BEGIN
35043           DISCOUNT_AMOUNT      := DISCOUNT_AMOUNT_chr;
35044        EXCEPTION
35045        WHEN OTHERS THEN
35046           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'LMT') ;
35047           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
35048           CLOSE L_LINE_DTLS_CSR;
35049           FND_MESSAGE.CLEAR;
35050           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_AMOUNT');
35051           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
35052           L_ERROR_MSG      := SQLERRM;
35053           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
35054                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
35055                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
35056                                       ERROR_MSG)
35057                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
35058                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
35059                                       'LMT'    ,'RULE_INFORMATION2'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_AMOUNT_chr,
35060                                        L_ERROR_MSG );
35061          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION2' ||L_ATTRIBUTE_NAME || DISCOUNT_AMOUNT_chr);
35062 
35063 	  Eflag:=1;
35064        END;
35065 --34
35066        BEGIN
35067           DISCOUNT_PERCENT      := DISCOUNT_PERCENT_chr;
35068        EXCEPTION
35069        WHEN OTHERS THEN
35070           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'LMT') ;
35071           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
35072           CLOSE L_LINE_DTLS_CSR;
35073           FND_MESSAGE.CLEAR;
35074           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_DISCOUNT_PERCENT');
35075           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
35076           L_ERROR_MSG      := SQLERRM;
35077           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
35078                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
35079                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
35080                                       ERROR_MSG)
35081                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
35082                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
35083                                       'LMT'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,DISCOUNT_PERCENT_chr,
35084                                        L_ERROR_MSG );
35085          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || DISCOUNT_PERCENT_chr);
35086 	  Eflag:=1;
35087        END;
35088 
35089 --35
35090        BEGIN
35091           LINE_LIST_PRICE      := LINE_LIST_PRICE_CHR;
35092        EXCEPTION
35093        WHEN OTHERS THEN
35094           OPEN  L_LINE_DTLS_CSR(P_CLE_ID,DNZ_CHR_ID,'PDL') ;
35095           FETCH L_LINE_DTLS_CSR INTO L_LINE_DTLS_REC;
35096           CLOSE L_LINE_DTLS_CSR;
35097           FND_MESSAGE.CLEAR;
35098           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_LINE_LIST_PRICE');
35099           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
35100           L_ERROR_MSG      := SQLERRM;
35101           INSERT INTO OKS_RULE_ERROR (ID,RGP_ID,CHR_ID,CLE_ID,
35102                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION ,LINE_NUMBER, SCRIPT_NAME  ,
35103                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
35104                                       ERROR_MSG)
35105                                VALUES (L_LINE_DTLS_REC.ID ,L_LINE_DTLS_REC.RGP_ID    , DNZ_CHR_ID, P_CLE_ID,
35106                                        L_LINE_DTLS_REC.CONTRACT_NUMBER,L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_LINE_DTLS_REC.MAJOR_VERSION, L_LINE_DTLS_REC.LINE_NUMBER,'LINE',
35107                                       'PDL'    ,'RULE_INFORMATION4'   ,L_ATTRIBUTE_NAME         ,LINE_LIST_PRICE_CHR,
35108                                        L_ERROR_MSG );
35109          -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT , L_LINE_DTLS_REC.CONTRACT_NUMBER      || L_LINE_DTLS_REC.CONTRACT_NUMBER_MODIFIER || L_LINE_DTLS_REC.LINE_NUMBER ||'RULE_INFORMATION4' ||L_ATTRIBUTE_NAME || LINE_LIST_PRICE_CHR);
35110 	  Eflag:=1;
35111        END;
35112 
35113    ----------------------------------------------------------------------------------------------------------------------
35114    --                                            End of validation .                                                   --
35115    ----------------------------------------------------------------------------------------------------------------------
35116 
35117   End If;
35118 
35119   If(Eflag <> 0) Then
35120      Eflag:=0;
35121      Raise Main_Exception;
35122   End If;
35123 
35124   x_return_status:= 'S';
35125 
35126   Exception
35127      When Main_exception THEN
35128         IF(Emsg is not null) THEN
35129            FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||' '||p_major_version||'with Error Message '||Emsg);
35130         End If;
35131         IF(L_ERROR_MSG is not null) THEN
35132            FND_FILE.PUT_LINE(FND_FILE.LOG ,'Validation for'||p_rgp_id||' '||p_major_version||'Failed with Error Message '||L_ERROR_MSG);
35133         End If;
35134         x_return_status := 'E';
35135     WHEN LOCK_EXCEPTION THEN
35136 	X_RETURN_STATUS := 'E';
35137 	L_ERROR_MSG := SQLERRM;
35138     	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for GETTING LOCK '||p_rgp_id||'with Error Message '||L_ERROR_MSG);
35139     WHEN OTHERS THEN
35140 	X_RETURN_STATUS := 'E';
35141 	L_ERROR_MSG := SQLERRM;
35142     	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
35143 
35144 
35145 END SYNCHRONIZE_RULE_LINEH;
35146 
35147 -----------------------------------------------------------------------------------------
35148 -- This is the  Procedure called from the procedure SYNCHRONIZE_RULE_DATA_SUBREQ         --
35149 --   code for -Synchronize Header History  rule data         --
35150 -----------------------------------------------------------------------------------------
35151 
35152 
35153 PROCEDURE SYNCHRONIZE_RULE_HDRH(
35154     P_RGP_ID          IN NUMBER,
35155     P_CHR_ID          IN NUMBER,
35156     p_major_version   in NUMBER ,
35157     p_us_yn           in BOOLEAN,
35158     x_return_status            out NOCOPY VARCHAR2)
35159 
35160 IS
35161 
35162 
35163 CHR_ID                    NUMBER ;
35164 DNZ_CHR_ID                NUMBER ;
35165 ACCT_RULE_ID              NUMBER ;
35166 L_PAYMENT_TYPE              VARCHAR2(2000) ;
35167 L_CC_NO                     VARCHAR2(2000) ;
35168 CC_EXPIRY_DATE            DATE;
35169 CC_BANK_ACCT_ID           NUMBER ;
35170 L_CC_AUTH_CODE              VARCHAR2(2000) ;
35171 GRACE_DURATION            NUMBER ;
35172 L_GRACE_PERIOD              VARCHAR2(2000) ;
35173 EST_REV_PERCENT           NUMBER ;
35174 EST_REV_DATE              DATE;
35175 L_INVOICE_TEXT              VARCHAR2(2000) ;
35176 L_INV_PRINT_FLAG            VARCHAR2(2000) ;
35177 L_PRICE_UOM                 VARCHAR2(2000) ;
35178 TAX_AMOUNT                NUMBER ;
35179 L_TAX_INCLUSIVE_YN          VARCHAR2(2000) ;
35180 L_TAX_STATUS                VARCHAR2(2000) ;
35181 TAX_CODE                  NUMBER ;
35182 TAX_EXEMPTION_ID          NUMBER ;
35183 L_BILLING_SCHEDULE_TYPE     VARCHAR2(2000) ;
35184 CUST_ACCT_ID              NUMBER ;
35185 BILL_TO_SITE_USE_ID       NUMBER ;
35186 INV_RULE_ID               NUMBER ;
35187 L_RENEWAL_TYPE_CODE         VARCHAR2(2000) ;
35188 RENEWAL_NOTIFY_TO         NUMBER ;
35189 RENEWAL_END_DATE          DATE;
35190 SHIP_TO_SITE_USE_ID       NUMBER ;
35191 PAYMENT_TERM_ID           NUMBER ;
35192 BILLING_PROFILE_ID        NUMBER ;
35193 L_RENEWAL_STATUS            VARCHAR2(2000) ;
35194 L_ELECTRONIC_RENEWAL_FLAG   VARCHAR2(2000) ;
35195 QUOTE_TO_CONTACT_ID       NUMBER ;
35196 QUOTE_TO_SITE_ID          NUMBER ;
35197 QUOTE_TO_EMAIL_ID         NUMBER ;
35198 QUOTE_TO_PHONE_ID         NUMBER ;
35199 QUOTE_TO_FAX_ID           NUMBER ;
35200 L_RENEWAL_PO_REQUIRED       VARCHAR2(2000) ;
35201 RENEWAL_PRICE_LIST        NUMBER ;
35202 L_RENEWAL_PRICING_TYPE      VARCHAR2(2000) ;
35203 RENEWAL_MARKUP_PERCENT    NUMBER ;
35204 RENEWAL_GRACE_DURATION    NUMBER ;
35205 L_RENEWAL_GRACE_PERIOD      VARCHAR2(2000) ;
35206 RENEWAL_EST_REV_PERCENT   NUMBER ;
35207 RENEWAL_EST_REV_DURATION  NUMBER ;
35208 L_RENEWAL_EST_REV_PERIOD    VARCHAR2(2000) ;
35209 RENEWAL_PRICE_LIST_USED   NUMBER ;
35210 L_RENEWAL_TYPE_USED         VARCHAR2(2000) ;
35211 RENEWAL_NOTIFICATION_TO   NUMBER ;
35212 L_RENEWAL_PO_USED           VARCHAR2(2000) ;
35213 L_RENEWAL_PRICING_TYPE_USED VARCHAR2(2000) ;
35214 RENEWAL_MARKUP_PERCENT_USED   NUMBER ;
35215 REV_EST_PERCENT_USED      NUMBER ;
35216 REV_EST_DURATION_USED     NUMBER ;
35217 BILLING_PROFILE_USED      NUMBER ;
35218 L_REV_EST_PERIOD_USED       VARCHAR2(2000) ;
35219 L_ERN_FLAG_USED_YN          VARCHAR2(2000) ;
35220 EVN_THRESHOLD_AMT         NUMBER ;
35221 L_EVN_THRESHOLD_CUR         VARCHAR2(2000) ;
35222 ERN_THRESHOLD_AMT         NUMBER ;
35223 L_ERN_THRESHOLD_CUR         VARCHAR2(2000) ;
35224 RENEWAL_GRACE_DURATION_USED   NUMBER ;
35225 L_RENEWAL_GRACE_PERIOD_USED VARCHAR2(2000) ;
35226 L_INV_TRX_TYPE              VARCHAR2(2000) ;
35227 L_INV_PRINT_PROFILE         VARCHAR2(2000) ;
35228 L_RENEWAL_PO_NUMBER         VARCHAR2(2000) ;
35229 L_AR_INTERFACE_YN           VARCHAR2(2000) ;
35230 L_HOLD_BILLING              VARCHAR2(2000) ;
35231 L_SUMMARY_TRX_YN            VARCHAR2(2000) ;
35232 L_SERVICE_PO_NUMBER         VARCHAR2(2000) ;
35233 L_SERVICE_PO_REQUIRED       VARCHAR2(2000) ;
35234 PRICE_LIST_ID             NUMBER ;
35235 L_CONVERSION_TYPE           VARCHAR2(2000) ;
35236 CONVERSION_RATE           NUMBER ;
35237 CONVERSION_RATE_DATE      DATE;
35238 CONVERSION_EURO_RATE      NUMBER ;
35239 
35240 
35241 
35242 -- FOLLOWING ARE NUMBER FIELDS --
35243 ACCT_RULE_ID_CHR              VARCHAR2(2000) ;
35244 CC_BANK_ACCT_ID_CHR           VARCHAR2(2000) ;
35245 GRACE_DURATION_CHR            VARCHAR2(2000) ;
35246 EST_REV_PERCENT_CHR           VARCHAR2(2000) ;
35247 TAX_AMOUNT_CHR                VARCHAR2(2000) ;
35248 TAX_CODE_CHR                  VARCHAR2(2000) ;
35249 TAX_EXEMPTION_ID_CHR          VARCHAR2(2000) ;
35250 CUST_ACCT_ID_CHR              VARCHAR2(2000) ;
35251 BILL_TO_SITE_USE_ID_CHR       VARCHAR2(2000) ;
35252 INV_RULE_ID_CHR               VARCHAR2(2000) ;
35253 RENEWAL_NOTIFY_TO_CHR         VARCHAR2(2000) ;
35254 SHIP_TO_SITE_USE_ID_CHR       VARCHAR2(2000) ;
35255 PAYMENT_TERM_ID_CHR           VARCHAR2(2000) ;
35256 BILLING_PROFILE_ID_CHR        VARCHAR2(2000) ;
35257 QUOTE_TO_CONTACT_ID_CHR       VARCHAR2(2000) ;
35258 QUOTE_TO_SITE_ID_CHR          VARCHAR2(2000) ;
35259 QUOTE_TO_EMAIL_ID_CHR         VARCHAR2(2000) ;
35260 QUOTE_TO_PHONE_ID_CHR         VARCHAR2(2000) ;
35261 QUOTE_TO_FAX_ID_CHR           VARCHAR2(2000) ;
35262 RENEWAL_PRICE_LIST_CHR        VARCHAR2(2000) ;
35263 RENEWAL_MARKUP_PERCENT_CHR    VARCHAR2(2000) ;
35264 RENEWAL_GRACE_DURATION_CHR    VARCHAR2(2000) ;
35265 RENEWAL_EST_REV_PERCENT_CHR   VARCHAR2(2000) ;
35266 RENEWAL_EST_REV_DURATION_CHR  VARCHAR2(2000) ;
35267 RENEWAL_PRICE_LIST_USED_CHR   VARCHAR2(2000) ;
35268 RENEWAL_NOTIFICATION_TO_CHR   VARCHAR2(2000) ;
35269 RENEWAL_MARKUP_PERCENT_USED_CH VARCHAR2(2000) ;
35270 REV_EST_PERCENT_USED_CHR      VARCHAR2(2000) ;
35271 REV_EST_DURATION_USED_CHR     VARCHAR2(2000) ;
35272 BILLING_PROFILE_USED_CHR      VARCHAR2(2000) ;
35273 EVN_THRESHOLD_AMT_CHR         VARCHAR2(2000) ;
35274 ERN_THRESHOLD_AMT_CHR         VARCHAR2(2000) ;
35275 RENEWAL_GRACE_DURATION_USED_CH VARCHAR2(2000) ;
35276 PRICE_LIST_ID_CHR             VARCHAR2(2000) ;
35277 CONVERSION_RATE_CHR           VARCHAR2(2000) ;
35278 CONVERSION_EURO_RATE_CHR      VARCHAR2(2000) ;
35279 
35280 -- FOLLOWING ARE DATE FIELDS --
35281 CC_EXPIRY_DATE_CHR            VARCHAR2(2000) ;
35282 EST_REV_DATE_CHR              VARCHAR2(2000) ;
35283 RENEWAL_END_DATE_CHR          VARCHAR2(2000) ;
35284 CONVERSION_RATE_DATE_CHR      VARCHAR2(2000) ;
35285 
35286 --Misc Variables --
35287 L_ATTRIBUTE_NAME              VARCHAR2(2000);
35288 L_ERROR_MSG                   VARCHAR2(2000);
35289 
35290 MAIN_EXCEPTION               EXCEPTION;
35291 VAL_EXCEPTION               EXCEPTION;
35292 Eflag                        NUMBER;
35293 Emsg                         VARCHAR2(2000);
35294 
35295 
35296 
35297 CURSOR l_hdr_rule_csr (p_id in NUMBER)is
35298 SELECT
35299         -- Checked in gsidev no conversion needed.
35300        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
35301        --               '!,.','!')                                                           ACCT_RULE_ID
35302         MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                   ACCT_RULE_ID
35303        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                             PAYMENT_TYPE
35304        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))             CC_NO
35305        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
35306                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CC_EXPIRY_DATE
35307        -- Checked in gsidev no conversion needed.
35308        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
35309        --               '!,.' , '!')                                                         CC_BANK_ACCT_ID
35310        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))             CC_BANK_ACCT_ID
35311 
35312        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))             CC_AUTH_CODE
35313        -- Checked in gsidev no conversion needed.
35314        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
35315        --               '!,.','!')                                                           GRACE_DURATION
35316        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))             GRACE_DURATION
35317        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))             GRACE_PERIOD
35318        -- Checked in gsidev no conversion needed.
35319        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
35320        --               '!,','!')                                                            EST_REV_PERCENT
35321        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1))             EST_REV_PERCENT
35322        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,
35323                     to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                  EST_REV_DATE
35324        -- Checked in gsidev conversion needed.
35325        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
35326                       '!,' ,'!' )                                                            TAX_AMOUNT
35327        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))             TAX_STATUS
35328        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
35329                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' , '!')     TAX_CODE
35330        -- Checked in gsidev no conversion needed.
35331        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
35332        --               '!,.','!')                                                           TAX_EXEMPTION_ID
35333        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                   TAX_EXEMPTION_ID
35334        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))             BILLING_SCHEDULE_TYPE
35335        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
35336                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )   BILLING_SCHEDULE_TYPE
35337        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
35338                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_- ,.','!')       BILLING_PROFILE_ID
35339        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION2))             RENEWAL_STATUS
35340        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION3))             ELECTRONIC_RENEWAL_FLAG
35341        -- Checked in gsidev no conversion needed.
35342        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
35343        --               '!,.' ,'!')                                                          QUOTE_TO_CONTACT_ID
35344        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1))                   QUOTE_TO_CONTACT_ID
35345        -- Checked in gsidev no conversion needed.
35346        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
35347        --               '!,.','!')                                                           QUOTE_TO_SITE_ID
35348        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4))            QUOTE_TO_SITE_ID
35349        -- Checked in gsidev no conversion needed.
35350        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
35351        --               '!,.','!')                                                           QUOTE_TO_EMAIL_ID
35352        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1))             QUOTE_TO_EMAIL_ID
35353        -- Checked in gsidev no conversion needed.
35354        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
35355        --               '!,.','!')                                                           QUOTE_TO_PHONE_ID
35356        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2))             QUOTE_TO_PHONE_ID
35357        -- Checked in gsidev no conversion needed.
35358        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
35359        --               '!,.','!')                                                           QUOTE_TO_FAX_ID
35360        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3))             QUOTE_TO_FAX_ID
35361        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPO' ,RUL.RULE_INFORMATION1))             RENEWAL_PO_REQUIRED
35362        -- Checked in gsidev no conversion needed.
35363        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
35364        --               '!,.','!')                                                           RENEWAL_PRICE_LIST
35365        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST
35366        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION1))             RENEWAL_PRICING_TYPE
35367        -- Checked in gsidev no conversion needed.
35368        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
35369        --               '!%,' ,'!')                                                          RENEWAL_MARKUP_PERCENT
35370        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2))             RENEWAL_MARKUP_PERCENT
35371        -- Checked in gsidev no conversion needed.
35372        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
35373        --               '!,.','!')                                                           RENEWAL_GRACE_DURATION
35374        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3))             RENEWAL_GRACE_DURATION
35375        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION4))             RENEWAL_GRACE_PERIOD
35376        -- Checked in gsidev no conversion needed.
35377        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
35378        --               '!%,' ,'!')                                                          RENEWAL_EST_REV_PERCENT
35379        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1))             RENEWAL_EST_REV_PERCENT
35380        -- Checked in gsidev no conversion needed.
35381        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
35382        --               '!,.','!')                                                           RENEWAL_EST_REV_DURATION
35383        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2))             RENEWAL_EST_REV_DURATION
35384        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION3))             RENEWAL_EST_REV_PERIOD
35385        -- Checked in gsidev no conversion needed.
35386        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
35387        --               '!,.','!')                                                           RENEWAL_PRICE_LIST_USED
35388        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST_USED
35389        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_USED
35390        -- Checked in gsidev no conversion needed.
35391        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
35392        --               '!,.','!')                                                           RENEWAL_NOTIFICATION_TO
35393        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFICATION_TO
35394        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION3))             RENEWAL_PO_USED
35395        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION4))             RENEWAL_PRICING_TYPE_USED
35396        -- Checked in gsidev no conversion needed.
35397        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
35398        --               '!,%' ,'!')                                                          RENEWAL_MARKUP_PERCENT_USED
35399        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5))             RENEWAL_MARKUP_PERCENT_USED
35400        -- Checked in gsidev conversion needed.
35401        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
35402                       '!%,' ,'!')                                                            REV_EST_PERCENT_USED
35403        -- Checked in gsidev no conversion needed.
35404        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
35405        --               '!,.','!')                                                           REV_EST_DURATION_USED
35406        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7))             REV_EST_DURATION_USED
35407        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION8))             REV_EST_PERIOD_USED
35408        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
35409                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')        BILLING_PROFILE_USED
35410        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION10))            ERN_FLAG_USED_YN
35411        -- Checked in gsidev no conversion needed.
35412        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
35413        --              '!,' ,'!')                                                            EVN_THRESHOLD_AMT
35414        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11))            EVN_THRESHOLD_AMT
35415        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION12))            EVN_THRESHOLD_CUR
35416        -- Checked in gsidev no conversion needed.
35417        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
35418        --              '!,' ,'!')                                                            ERN_THRESHOLD_AMT
35419        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13))            ERN_THRESHOLD_AMT
35420        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION14))            ERN_THRESHOLD_CUR
35421        -- Checked in gsidev no conversion needed.
35422        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
35423        --              '!,.','!')                                                            RENEWAL_GRACE_DURATION_USED
35424        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1))             RENEWAL_GRACE_DURATION_USED
35425        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION2))             RENEWAL_GRACE_PERIOD_USED
35426        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.OBJECT1_ID1))                   INV_TRX_TYPE
35427        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION9))             INV_PRINT_PROFILE
35428        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION10))            RENEWAL_PO_NUMBER
35429        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION11))            AR_INTERFACE_YN
35430        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION12))            HOLD_BILLING
35431        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION13))            SUMMARY_TRX_YN
35432        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION1))             SERVICE_PO_NUMBER
35433        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION2))             SERVICE_PO_REQUIRED
35434        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.OBJECT1_ID1))                   CONVERSION_TYPE       --OKC
35435        -- needs translation
35436        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
35437                      '!,','!')                                                               CONVERSION_RATE       --OKC
35438        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,
35439                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CONVERSION_RATE_DATE  --OKC
35440         -- needs translation
35441        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
35442                      '!,','!')                                                               CONVERSION_EURO_RATE  --OKC
35443        -- Checked in gsidev no conversion needed.
35444        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
35445        --              '!,.','!')                                                            CUST_ACCT_ID          --OKC
35446        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                   CUST_ACCT_ID          --OKC
35447        -- Checked in gsidev no conversion needed.
35448        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
35449        --              '!,.','!')                                                            BILL_TO_SITE_USE_ID   --OKC
35450        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                   BILL_TO_SITE_USE_ID   --OKC
35451        -- Checked in gsidev no conversion needed.
35452        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
35453        --              '!,.','!')                                                            INV_RULE_ID           --OKC
35454        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                   INV_RULE_ID           --OKC
35455        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_CODE     --OKC
35456        -- Checked in gsidev no conversion needed.
35457        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
35458        --              '!,.','!')                                                            RENEWAL_NOTIFY_TO     --OKC
35459        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFY_TO     --OKC
35460        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,
35461                   to_date(RUL.RULE_INFORMATION3,'yyyy/mm/dd hh24:mi:ss')))                    RENEWAL_END_DATE      --OKC
35462        -- Checked in gsidev no conversion needed.
35463        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
35464        --              '!,.','!')                                                            SHIP_TO_SITE_USE_ID   --OKC
35465        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                   SHIP_TO_SITE_USE_ID   --OKC
35466        -- Checked in gsidev no conversion needed.
35467        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
35468        --              '!,.','!')                                                            PAYMENT_TERM_ID       --OKC
35469        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                   PAYMENT_TERM_ID       --OKC
35470 
35471        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
35472                      '!,.','!')                                                              PRICE_LIST_ID         --OKC
35473 FROM OKC_RULE_GROUPS_BH RGP
35474    , OKC_RULES_BH RUL
35475 WHERE rgp.id = rul.rgp_id
35476   and rul.major_version=rgp.major_version
35477   and rgp.chr_id = P_CHR_ID
35478   and rgp.rgd_code = 'SVC_K'
35479   AND   RUL.RULE_INFORMATION_CATEGORY IN
35480        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
35481         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
35482   and rgp.RGD_CODE = 'SVC_K'
35483   and rgp.id =p_id
35484   and rgp.major_version = p_major_version;
35485 
35486 
35487 CURSOR l_hdr_rule_csr_nus (p_id in NUMBER)is
35488 SELECT
35489        -- Checked in gsidev no conversion needed.
35490        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1)),
35491        --               '!,. ','!')                                                           ACCT_RULE_ID
35492         MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ARL' ,RUL.OBJECT1_ID1))                   ACCT_RULE_ID
35493        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,'CCR'))                             PAYMENT_TYPE
35494        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION1))             CC_NO
35495        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,
35496                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CC_EXPIRY_DATE
35497        -- Checked in gsidev no conversion needed.
35498        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3)),
35499        --               '!,. ' , '!')                                                         CC_BANK_ACCT_ID
35500        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION3))             CC_BANK_ACCT_ID
35501 
35502        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CCR' ,RUL.RULE_INFORMATION4))             CC_AUTH_CODE
35503        -- Checked in gsidev no conversion needed.
35504        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1)),
35505        --               '!,. ','!')                                                           GRACE_DURATION
35506        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION1))             GRACE_DURATION
35507        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'GPR' ,RUL.RULE_INFORMATION2))             GRACE_PERIOD
35508        -- Checked in gsidev no conversion needed.
35509        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1)),
35510        --               '!. ','!')                                                            EST_REV_PERCENT
35511        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,RUL.RULE_INFORMATION1))             EST_REV_PERCENT
35512        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RVE' ,
35513                     to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                  EST_REV_DATE
35514        -- Checked in gsidev conversion needed.
35515        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRT' ,RUL.RULE_INFORMATION4)),
35516                       '!. ' ,'!' )                                                            TAX_AMOUNT
35517        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.RULE_INFORMATION2))             TAX_STATUS
35518        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT2_ID1)),
35519                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' , '!')     TAX_CODE
35520        -- Checked in gsidev no conversion needed.
35521        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1)),
35522        --               '!,. ','!')                                                           TAX_EXEMPTION_ID
35523        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'TAX' ,RUL.OBJECT1_ID1))                   TAX_EXEMPTION_ID
35524        --,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1))             BILLING_SCHEDULE_TYPE
35525        ,decode(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QRE' ,RUL.RULE_INFORMATION_CATEGORY)),'QRE','T',
35526                 MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SLH' ,RUL.RULE_INFORMATION1)) )   BILLING_SCHEDULE_TYPE
35527        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION1)),
35528                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ','!')       BILLING_PROFILE_ID
35529        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION2))             RENEWAL_STATUS
35530        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'ERN' ,RUL.RULE_INFORMATION3))             ELECTRONIC_RENEWAL_FLAG
35531        -- Checked in gsidev no conversion needed.
35532        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1)),
35533        --               '!,. ' ,'!')                                                          QUOTE_TO_CONTACT_ID
35534        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT1_ID1))                   QUOTE_TO_CONTACT_ID
35535        -- Checked in gsidev no conversion needed.
35536        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.OBJECT2_ID1)),
35537        --               '!,. ','!')                                                           QUOTE_TO_SITE_ID
35538        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION4))             QUOTE_TO_SITE_ID
35539        -- Checked in gsidev no conversion needed.
35540        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1)),
35541        --               '!,. ','!')                                                           QUOTE_TO_EMAIL_ID
35542        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION1))             QUOTE_TO_EMAIL_ID
35543        -- Checked in gsidev no conversion needed.
35544        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2)),
35545        --               '!,. ','!')                                                           QUOTE_TO_PHONE_ID
35546        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION2))             QUOTE_TO_PHONE_ID
35547        -- Checked in gsidev no conversion needed.
35548        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3)),
35549        --               '!,. ','!')                                                           QUOTE_TO_FAX_ID
35550        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'QTO' ,RUL.RULE_INFORMATION3))             QUOTE_TO_FAX_ID
35551        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPO' ,RUL.RULE_INFORMATION1))             RENEWAL_PO_REQUIRED
35552        -- Checked in gsidev no conversion needed.
35553        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1)),
35554        --               '!,. ','!')                                                           RENEWAL_PRICE_LIST
35555        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST
35556        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION1))             RENEWAL_PRICING_TYPE
35557        -- Checked in gsidev no conversion needed.
35558        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2)),
35559        --               '!%. ' ,'!')                                                          RENEWAL_MARKUP_PERCENT
35560        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION2))             RENEWAL_MARKUP_PERCENT
35561        -- Checked in gsidev no conversion needed.
35562        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3)),
35563        --               '!,. ','!')                                                           RENEWAL_GRACE_DURATION
35564        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION3))             RENEWAL_GRACE_DURATION
35565        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RPT' ,RUL.RULE_INFORMATION4))             RENEWAL_GRACE_PERIOD
35566        -- Checked in gsidev no conversion needed.
35567        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1)),
35568        --               '!%. ' ,'!')                                                          RENEWAL_EST_REV_PERCENT
35569        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION1))             RENEWAL_EST_REV_PERCENT
35570        -- Checked in gsidev no conversion needed.
35571        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2)),
35572        --               '!,. ','!')                                                           RENEWAL_EST_REV_DURATION
35573        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION2))             RENEWAL_EST_REV_DURATION
35574        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RER' ,RUL.RULE_INFORMATION3))             RENEWAL_EST_REV_PERIOD
35575        -- Checked in gsidev no conversion needed.
35576        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1)),
35577        --               '!,. ','!')                                                           RENEWAL_PRICE_LIST_USED
35578        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.OBJECT1_ID1))                   RENEWAL_PRICE_LIST_USED
35579        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_USED
35580        -- Checked in gsidev no conversion needed.
35581        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2)),
35582        --               '!,. ','!')                                                           RENEWAL_NOTIFICATION_TO
35583        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFICATION_TO
35584        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION3))             RENEWAL_PO_USED
35585        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION4))             RENEWAL_PRICING_TYPE_USED
35586        -- Checked in gsidev no conversion needed.
35587        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5)),
35588        --               '!. %' ,'!')                                                          RENEWAL_MARKUP_PERCENT_USED
35589        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION5))             RENEWAL_MARKUP_PERCENT_USED
35590        -- Checked in gsidev conversion needed.
35591        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION6)),
35592                       '!%. ' ,'!')                                                            REV_EST_PERCENT_USED
35593        -- Checked in gsidev no conversion needed.
35594        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7)),
35595        --               '!,. ','!')                                                           REV_EST_DURATION_USED
35596        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION7))             REV_EST_DURATION_USED
35597        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION8))             REV_EST_PERIOD_USED
35598        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION9)),
35599                       '!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_,. ','!')        BILLING_PROFILE_USED
35600        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION10))            ERN_FLAG_USED_YN
35601        -- Checked in gsidev no conversion needed.
35602        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11)),
35603        --              '!. ' ,'!')                                                            EVN_THRESHOLD_AMT
35604        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION11))            EVN_THRESHOLD_AMT
35605        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION12))            EVN_THRESHOLD_CUR
35606        -- Checked in gsidev no conversion needed.
35607        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13)),
35608        --              '!. ' ,'!')                                                            ERN_THRESHOLD_AMT
35609        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION13))            ERN_THRESHOLD_AMT
35610        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRU' ,RUL.RULE_INFORMATION14))            ERN_THRESHOLD_CUR
35611        -- Checked in gsidev no conversion needed.
35612        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1)),
35613        --              '!,. ','!')                                                            RENEWAL_GRACE_DURATION_USED
35614        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION1))             RENEWAL_GRACE_DURATION_USED
35615        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'RRE' ,RUL.RULE_INFORMATION2))             RENEWAL_GRACE_PERIOD_USED
35616        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.OBJECT1_ID1))                   INV_TRX_TYPE
35617        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION9))             INV_PRINT_PROFILE
35618        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION10))            RENEWAL_PO_NUMBER
35619        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION11))            AR_INTERFACE_YN
35620        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION12))            HOLD_BILLING
35621        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SBG' ,RUL.RULE_INFORMATION13))            SUMMARY_TRX_YN
35622        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION1))             SERVICE_PO_NUMBER
35623        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'SPO' ,RUL.RULE_INFORMATION2))             SERVICE_PO_REQUIRED
35624        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.OBJECT1_ID1))                   CONVERSION_TYPE       --OKC
35625        -- needs translation
35626        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION1)),
35627                      '!. ','!')                                                               CONVERSION_RATE       --OKC
35628        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,
35629                   to_date(RUL.RULE_INFORMATION2,'yyyy/mm/dd hh24:mi:ss')))                    CONVERSION_RATE_DATE  --OKC
35630         -- needs translation
35631        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CVN' ,RUL.RULE_INFORMATION3)),
35632                      '!. ','!')                                                               CONVERSION_EURO_RATE  --OKC
35633        -- Checked in gsidev no conversion needed.
35634        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1)),
35635        --              '!,. ','!')                                                            CUST_ACCT_ID          --OKC
35636        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'CAN' ,RUL.OBJECT1_ID1))                   CUST_ACCT_ID          --OKC
35637        -- Checked in gsidev no conversion needed.
35638        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1)),
35639        --              '!,. ','!')                                                            BILL_TO_SITE_USE_ID   --OKC
35640        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'BTO' ,RUL.OBJECT1_ID1))                   BILL_TO_SITE_USE_ID   --OKC
35641        -- Checked in gsidev no conversion needed.
35642        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1)),
35643        --              '!,. ','!')                                                            INV_RULE_ID           --OKC
35644        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'IRE' ,RUL.OBJECT1_ID1))                   INV_RULE_ID           --OKC
35645        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION1))             RENEWAL_TYPE_CODE     --OKC
35646        -- Checked in gsidev no conversion needed.
35647        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2)),
35648        --              '!,. ','!')                                                            RENEWAL_NOTIFY_TO     --OKC
35649        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,RUL.RULE_INFORMATION2))             RENEWAL_NOTIFY_TO     --OKC
35650        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'REN' ,
35651                   to_date(RUL.RULE_INFORMATION3,'yyyy/mm/dd hh24:mi:ss')))                    RENEWAL_END_DATE      --OKC
35652        -- Checked in gsidev no conversion needed.
35653        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1)),
35654        --              '!,. ','!')                                                            SHIP_TO_SITE_USE_ID   --OKC
35655        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'STO' ,RUL.OBJECT1_ID1))                   SHIP_TO_SITE_USE_ID   --OKC
35656        -- Checked in gsidev no conversion needed.
35657        --,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1)),
35658        --              '!,. ','!')                                                            PAYMENT_TERM_ID       --OKC
35659        ,MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PTR' ,RUL.OBJECT1_ID1))                   PAYMENT_TERM_ID       --OKC
35660 
35661        ,TRANSLATE(MAX(DECODE(RUL.RULE_INFORMATION_CATEGORY , 'PRE' ,RUL.OBJECT1_ID1)),
35662                      '!,. ','!')                                                              PRICE_LIST_ID         --OKC
35663 FROM OKC_RULE_GROUPS_BH RGP
35664    , OKC_RULES_BH RUL
35665 WHERE rgp.id = rul.rgp_id
35666   and rul.major_version=rgp.major_version
35667   and rgp.chr_id = P_CHR_ID
35668   and rgp.rgd_code = 'SVC_K'
35669   AND   RUL.RULE_INFORMATION_CATEGORY IN
35670        ('ARL','CCR','GPR','RVE','IRT','TAX','ERN','QTO', 'RPO', 'RPT','RER', 'RRU',
35671         'RRE', 'SBG', 'SPO','SLH','PRE', 'CVN','CAN', 'BTO', 'IRE', 'REN', 'STO', 'PTR')
35672   and rgp.RGD_CODE = 'SVC_K'
35673   and rgp.id =p_id
35674   and rgp.major_version = p_major_version;
35675 
35676 
35677 
35678 ----------------------------------------------------------------------------
35679 -- Cursor to populate data in OKS_RULE_ERROR table .                      --
35680 ----------------------------------------------------------------------------
35681 CURSOR L_HDR_DTLS_CSR ( P_HDR_ID  IN NUMBER , P_CATEGORY IN VARCHAR2 ) IS
35682 SELECT HDR.CONTRACT_NUMBER
35683      , HDR.CONTRACT_NUMBER_MODIFIER
35684      , RUL.MAJOR_VERSION
35685      , RUL.ID
35686      , RGP.ID RGP_ID
35687  FROM  OKC_K_HEADERS_BH HDR
35688      , OKC_RULE_GROUPS_BH RGP
35689      , OKC_RULES_BH RUL
35690 WHERE HDR.ID = P_HDR_ID
35691   AND RGP.DNZ_CHR_ID = P_HDR_ID
35692   AND RGP.CHR_ID = P_HDR_ID
35693   AND RGP.ID = RUL.RGP_ID
35694   AND RGP.DNZ_CHR_ID = RUL.DNZ_CHR_ID
35695   AND HDR.major_version = Rgp.major_version
35696   and Rgp.major_version = RUL.major_version
35697   AND RUL.major_version = p_major_version
35698   AND RUL.RULE_INFORMATION_CATEGORY = P_CATEGORY ;
35699 
35700 L_HDR_DTLS_REC L_HDR_DTLS_CSR%ROWTYPE;
35701 l_check_var varchar2(1);
35702 ----------------------------------------------------------------------------
35703 
35704 -----------------------------------------------------------------------------
35705 --Cursor to check if the records corresponding to chr_id exists
35706 --in oks_k_headers_bh
35707 -----------------------------------------------------------------------------
35708 
35709 Cursor Cur_KHdr_exists(p_chrid in number) IS
35710 select 'x'
35711 from  oks_k_headers_bh
35712 where chr_id=p_chrid
35713 and major_version = p_major_version;
35714 
35715 ------------------------------------------------------------------------------
35716 
35717 -----------------------------------------------------------------------------
35718 --Cursor to check if the records corresponding to rgp_id exists
35719 --in okc_rule_groups_bh
35720 -----------------------------------------------------------------------------
35721 
35722 Cursor Cur_RGP_exists(P_RGP_ID in number) IS
35723 select 'x'
35724 from  okc_rule_groups_bh
35725 where id = P_RGP_ID
35726 and chr_id is not null
35727 and major_version = p_major_version;
35728 
35729 ------------------------------------------------------------------------------
35730 
35731 BEGIN
35732  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
35733  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for Header History Rule Data Synchronization--------');
35734  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
35735 
35736 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
35737 
35738 if(p_us_yn) then
35739 
35740     OPEN l_hdr_rule_csr(p_rgp_id);
35741 
35742     FETCH l_hdr_rule_csr into
35743                          ACCT_RULE_ID_CHR
35744                         ,L_PAYMENT_TYPE
35745                         ,L_CC_NO
35746                         ,CC_EXPIRY_DATE_CHR
35747                         ,CC_BANK_ACCT_ID_CHR
35748                         ,L_CC_AUTH_CODE
35749                         ,GRACE_DURATION_CHR
35750                         ,L_GRACE_PERIOD
35751                         ,EST_REV_PERCENT_CHR
35752                         ,EST_REV_DATE_CHR
35753                         ,TAX_AMOUNT_CHR
35754                         ,L_TAX_STATUS
35755                         ,TAX_CODE_CHR
35756                         ,TAX_EXEMPTION_ID_CHR
35757                         ,L_BILLING_SCHEDULE_TYPE
35758                         ,BILLING_PROFILE_ID_CHR
35759                         ,L_RENEWAL_STATUS
35760                         ,L_ELECTRONIC_RENEWAL_FLAG
35761                         ,QUOTE_TO_CONTACT_ID_CHR
35762                         ,QUOTE_TO_SITE_ID_CHR
35763                         ,QUOTE_TO_EMAIL_ID_CHR
35764                         ,QUOTE_TO_PHONE_ID_CHR
35765                         ,QUOTE_TO_FAX_ID_CHR
35766                         ,L_RENEWAL_PO_REQUIRED
35767                         ,RENEWAL_PRICE_LIST_CHR
35768                         ,L_RENEWAL_PRICING_TYPE
35769                         ,RENEWAL_MARKUP_PERCENT_CHR
35770                         ,RENEWAL_GRACE_DURATION_CHR
35771                         ,L_RENEWAL_GRACE_PERIOD
35772                         ,RENEWAL_EST_REV_PERCENT_CHR
35773                         ,RENEWAL_EST_REV_DURATIOn_CHR
35774                         ,L_RENEWAL_EST_REV_PERIOD
35775                         ,RENEWAL_PRICE_LIST_USED_CHR
35776                         ,L_RENEWAL_TYPE_USED
35777                         ,RENEWAL_NOTIFICATION_TO_CHR
35778                         ,L_RENEWAL_PO_USED
35779                         ,L_RENEWAL_PRICING_TYPE_USED
35780                         ,RENEWAL_MARKUP_PERCENT_USED_CH
35781                         ,REV_EST_PERCENT_USED_CHR
35782                         ,REV_EST_DURATION_USED_CHR
35783                         ,L_REV_EST_PERIOD_USED
35784                         ,BILLING_PROFILE_USED_CHR
35785                         ,L_ERN_FLAG_USED_YN
35786                         ,EVN_THRESHOLD_AMT_CHR
35787                         ,L_EVN_THRESHOLD_CUR
35788                         ,ERN_THRESHOLD_AMT_CHR
35789                         ,L_ERN_THRESHOLD_CUR
35790                         ,RENEWAL_GRACE_DURATION_USED_CH
35791                         ,L_RENEWAL_GRACE_PERIOD_USED
35792                         ,L_INV_TRX_TYPE
35793                         ,L_INV_PRINT_PROFILE
35794                         ,L_RENEWAL_PO_NUMBER
35795                         ,L_AR_INTERFACE_YN
35796                         ,L_HOLD_BILLING
35797                         ,L_SUMMARY_TRX_YN
35798                         ,L_SERVICE_PO_NUMBER
35799                         ,L_SERVICE_PO_REQUIRED
35800                         ,L_CONVERSION_TYPE                 --OKC
35801                         ,CONVERSION_RATE_CHR              --OKC
35802                         ,CONVERSION_RATE_DATE_CHR         --OKC
35803                         ,CONVERSION_EURO_RATE_CHR         --OKC
35804                         ,CUST_ACCT_ID_CHR                 --OKC
35805                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
35806                         ,INV_RULE_ID_CHR                  --OKC
35807                         ,L_RENEWAL_TYPE_CODE                --OKC
35808                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
35809                         ,RENEWAL_END_DATE_CHR             --OKC
35810                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
35811                         ,PAYMENT_TERM_ID_CHR              --OKC
35812                         ,PRICE_LIST_ID_CHR  ; --OKC
35813 
35814       close l_hdr_rule_csr;
35815   else
35816     OPEN l_hdr_rule_csr_nus(p_rgp_id);
35817 
35818     FETCH l_hdr_rule_csr_nus into
35819                          ACCT_RULE_ID_CHR
35820                         ,L_PAYMENT_TYPE
35821                         ,L_CC_NO
35822                         ,CC_EXPIRY_DATE_CHR
35823                         ,CC_BANK_ACCT_ID_CHR
35824                         ,L_CC_AUTH_CODE
35825                         ,GRACE_DURATION_CHR
35826                         ,L_GRACE_PERIOD
35827                         ,EST_REV_PERCENT_CHR
35828                         ,EST_REV_DATE_CHR
35829                         ,TAX_AMOUNT_CHR
35830                         ,L_TAX_STATUS
35831                         ,TAX_CODE_CHR
35832                         ,TAX_EXEMPTION_ID_CHR
35833                         ,L_BILLING_SCHEDULE_TYPE
35834                         ,BILLING_PROFILE_ID_CHR
35835                         ,L_RENEWAL_STATUS
35836                         ,L_ELECTRONIC_RENEWAL_FLAG
35837                         ,QUOTE_TO_CONTACT_ID_CHR
35838                         ,QUOTE_TO_SITE_ID_CHR
35839                         ,QUOTE_TO_EMAIL_ID_CHR
35840                         ,QUOTE_TO_PHONE_ID_CHR
35841                         ,QUOTE_TO_FAX_ID_CHR
35842                         ,L_RENEWAL_PO_REQUIRED
35843                         ,RENEWAL_PRICE_LIST_CHR
35844                         ,L_RENEWAL_PRICING_TYPE
35845                         ,RENEWAL_MARKUP_PERCENT_CHR
35846                         ,RENEWAL_GRACE_DURATION_CHR
35847                         ,L_RENEWAL_GRACE_PERIOD
35848                         ,RENEWAL_EST_REV_PERCENT_CHR
35849                         ,RENEWAL_EST_REV_DURATIOn_CHR
35850                         ,L_RENEWAL_EST_REV_PERIOD
35851                         ,RENEWAL_PRICE_LIST_USED_CHR
35852                         ,L_RENEWAL_TYPE_USED
35853                         ,RENEWAL_NOTIFICATION_TO_CHR
35854                         ,L_RENEWAL_PO_USED
35855                         ,L_RENEWAL_PRICING_TYPE_USED
35856                         ,RENEWAL_MARKUP_PERCENT_USED_CH
35857                         ,REV_EST_PERCENT_USED_CHR
35858                         ,REV_EST_DURATION_USED_CHR
35859                         ,L_REV_EST_PERIOD_USED
35860                         ,BILLING_PROFILE_USED_CHR
35861                         ,L_ERN_FLAG_USED_YN
35862                         ,EVN_THRESHOLD_AMT_CHR
35863                         ,L_EVN_THRESHOLD_CUR
35864                         ,ERN_THRESHOLD_AMT_CHR
35865                         ,L_ERN_THRESHOLD_CUR
35866                         ,RENEWAL_GRACE_DURATION_USED_CH
35867                         ,L_RENEWAL_GRACE_PERIOD_USED
35868                         ,L_INV_TRX_TYPE
35869                         ,L_INV_PRINT_PROFILE
35870                         ,L_RENEWAL_PO_NUMBER
35871                         ,L_AR_INTERFACE_YN
35872                         ,L_HOLD_BILLING
35873                         ,L_SUMMARY_TRX_YN
35874                         ,L_SERVICE_PO_NUMBER
35875                         ,L_SERVICE_PO_REQUIRED
35876                         ,L_CONVERSION_TYPE                 --OKC
35877                         ,CONVERSION_RATE_CHR              --OKC
35878                         ,CONVERSION_RATE_DATE_CHR         --OKC
35879                         ,CONVERSION_EURO_RATE_CHR         --OKC
35880                         ,CUST_ACCT_ID_CHR                 --OKC
35881                         ,BILL_TO_SITE_USE_ID_CHR          --OKC
35882                         ,INV_RULE_ID_CHR                  --OKC
35883                         ,L_RENEWAL_TYPE_CODE                --OKC
35884                         ,RENEWAL_NOTIFY_TO_CHR            --OKC
35885                         ,RENEWAL_END_DATE_CHR             --OKC
35886                         ,SHIP_TO_SITE_USE_ID_CHR          --OKC
35887                         ,PAYMENT_TERM_ID_CHR              --OKC
35888                         ,PRICE_LIST_ID_CHR  ; --OKC
35889 
35890       close l_hdr_rule_csr_nus;
35891   end if;
35892 
35893       Eflag:=0;
35894 
35895       Emsg:=NULL;
35896 
35897     ------------------------------------------------------------------------------------
35898    -- Begin of code to check if the row exists in oks_headers_bh
35899 
35900       l_check_var:=NULL;
35901 
35902       Open Cur_KHdr_exists(P_CHR_ID);
35903       Fetch Cur_KHdr_exists into l_check_var;
35904       Close Cur_KHdr_exists;
35905 
35906       If(l_check_var is NULL) THEN
35907 
35908 	  BEGIN
35909 	    UPDATE okc_k_headers_bh SET
35910 	      CONVERSION_TYPE          =  L_CONVERSION_TYPE ,
35911               CONVERSION_RATE          =  CONVERSION_RATE_CHR ,
35912               CONVERSION_RATE_DATE     =  CONVERSION_RATE_DATE_CHR ,
35913               CONVERSION_EURO_RATE     =  CONVERSION_EURO_RATE_CHR ,
35914               CUST_ACCT_ID             =  CUST_ACCT_ID_CHR ,
35915               BILL_TO_SITE_USE_ID      =  BILL_TO_SITE_USE_ID_CHR  ,
35916               INV_RULE_ID              =  INV_RULE_ID_CHR ,
35917               RENEWAL_TYPE_CODE        =  L_RENEWAL_TYPE_CODE ,
35918               RENEWAL_NOTIFY_TO        =  RENEWAL_NOTIFY_TO_CHR ,
35919               RENEWAL_END_DATE         =  RENEWAL_END_DATE_CHR ,
35920               SHIP_TO_SITE_USE_ID      =  SHIP_TO_SITE_USE_ID_CHR ,
35921               PAYMENT_TERM_ID          =  PAYMENT_TERM_ID_CHR  ,
35922               PRICE_LIST_ID            =  PRICE_LIST_ID_CHR
35923             WHERE id = p_chr_id
35924 	     and major_version = p_major_version;
35925 
35926 	    EXCEPTION When others then
35927               Eflag:=1;
35928               Emsg :=SQLERRM;
35929 	  END;
35930 
35931 
35932           If( Eflag <> 1) Then
35933 	  BEGIN
35934 	     INSERT INTO oks_k_headers_bh(
35935 	        ID
35936 	       ,MAJOR_VERSION
35937 	      ,CHR_ID
35938 	      ,ACCT_RULE_ID
35939 	      ,PAYMENT_TYPE
35940 	      ,CC_NO
35941 	      ,CC_EXPIRY_DATE
35942 	      ,CC_BANK_ACCT_ID
35943 	      ,CC_AUTH_CODE
35944 	      ,GRACE_DURATION
35945 	      ,GRACE_PERIOD
35946 	      ,EST_REV_PERCENT
35947 	      ,EST_REV_DATE
35948 	      ,TAX_AMOUNT
35949 	      ,TAX_STATUS
35950 	      ,TAX_CODE
35951 	      ,TAX_EXEMPTION_ID
35952 	      ,BILLING_SCHEDULE_TYPE
35953 	      ,BILLING_PROFILE_ID
35954 	      ,RENEWAL_STATUS
35955 	      ,ELECTRONIC_RENEWAL_FLAG
35956 	      ,QUOTE_TO_CONTACT_ID
35957 	      ,QUOTE_TO_SITE_ID
35958 	      ,QUOTE_TO_EMAIL_ID
35959 	      ,QUOTE_TO_PHONE_ID
35960 	      ,QUOTE_TO_FAX_ID
35961 	      ,RENEWAL_PO_REQUIRED
35962 	      ,RENEWAL_PRICE_LIST
35963 	      ,RENEWAL_PRICING_TYPE
35964 	      ,RENEWAL_MARKUP_PERCENT
35965 	      ,RENEWAL_GRACE_DURATION
35966 	      ,RENEWAL_GRACE_PERIOD
35967 	      ,RENEWAL_EST_REV_PERCENT
35968 	      ,RENEWAL_EST_REV_DURATIOn
35969 	      ,RENEWAL_EST_REV_PERIOD
35970 	      ,RENEWAL_PRICE_LIST_USED
35971 	      ,RENEWAL_TYPE_USED
35972 	      ,RENEWAL_NOTIFICATION_TO
35973 	      ,RENEWAL_PO_USED
35974 	      ,RENEWAL_PRICING_TYPE_USED
35975 	      ,RENEWAL_MARKUP_PERCENT_USED
35976 	      ,REV_EST_PERCENT_USED
35977 	      ,REV_EST_DURATION_USED
35978 	      ,REV_EST_PERIOD_USED
35979 	      ,BILLING_PROFILE_USED
35980 	      ,ERN_FLAG_USED_YN
35981 	      ,EVN_THRESHOLD_AMT
35982 	      ,EVN_THRESHOLD_CUR
35983 	      ,ERN_THRESHOLD_AMT
35984 	      ,ERN_THRESHOLD_CUR
35985 	      ,RENEWAL_GRACE_DURATION_USED
35986 	      ,RENEWAL_GRACE_PERIOD_USED
35987 	      ,INV_TRX_TYPE
35988 	      ,INV_PRINT_PROFILE
35989 	      ,RENEWAL_PO_NUMBER
35990 	      ,AR_INTERFACE_YN
35991 	      ,HOLD_BILLING
35992 	      ,SUMMARY_TRX_YN
35993 	      ,SERVICE_PO_NUMBER
35994 	      ,SERVICE_PO_REQUIRED
35995 	      ,CREATED_BY
35996 	      ,CREATION_DATE
35997 	      ,LAST_UPDATED_BY
35998 	      ,LAST_UPDATE_DATE
35999 	      ,LAST_UPDATE_LOGIN
36000 	      ,OBJECT_VERSION_NUMBER  )
36001 	    VALUES (
36002 	       P_CHR_ID
36003 	       ,P_MAJOR_VERSION
36004 	      ,P_CHR_ID
36005 	      ,ACCT_RULE_ID_CHR
36006 	      ,L_PAYMENT_TYPE
36007 	      ,L_CC_NO
36008 	      ,CC_EXPIRY_DATE_CHR
36009 	      ,CC_BANK_ACCT_ID_CHR
36010 	      ,L_CC_AUTH_CODE
36011 	      ,GRACE_DURATION_CHR
36012 	      ,L_GRACE_PERIOD
36013 	      ,EST_REV_PERCENT_CHR
36014 	      ,EST_REV_DATE_CHR
36015 	      ,TAX_AMOUNT_CHR
36016 	      ,L_TAX_STATUS
36017 	      ,TAX_CODE_CHR
36018 	      ,TAX_EXEMPTION_ID_CHR
36019 	      ,L_BILLING_SCHEDULE_TYPE
36020 	      ,BILLING_PROFILE_ID_CHR
36021 	      ,L_RENEWAL_STATUS
36022 	      ,L_ELECTRONIC_RENEWAL_FLAG
36023 	      ,QUOTE_TO_CONTACT_ID_CHR
36024 	      ,QUOTE_TO_SITE_ID_CHR
36025 	      ,QUOTE_TO_EMAIL_ID_CHR
36026 	      ,QUOTE_TO_PHONE_ID_CHR
36027 	      ,QUOTE_TO_FAX_ID_CHR
36028 	      ,L_RENEWAL_PO_REQUIRED
36029 	      ,RENEWAL_PRICE_LIST_CHR
36030 	      ,L_RENEWAL_PRICING_TYPE
36031 	      ,RENEWAL_MARKUP_PERCENT_CHR
36032 	      ,RENEWAL_GRACE_DURATION_CHR
36033 	      ,L_RENEWAL_GRACE_PERIOD
36034 	      ,RENEWAL_EST_REV_PERCENT_CHR
36035 	      ,RENEWAL_EST_REV_DURATIOn_CHR
36036 	      ,L_RENEWAL_EST_REV_PERIOD
36037 	      ,RENEWAL_PRICE_LIST_USED_CHR
36038 	      ,L_RENEWAL_TYPE_USED
36039 	      ,RENEWAL_NOTIFICATION_TO_CHR
36040 	      ,L_RENEWAL_PO_USED
36041 	      ,L_RENEWAL_PRICING_TYPE_USED
36042 	      ,RENEWAL_MARKUP_PERCENT_USED_CH
36043 	      ,REV_EST_PERCENT_USED_CHR
36044 	      ,REV_EST_DURATION_USED_CHR
36045 	      ,L_REV_EST_PERIOD_USED
36046 	      ,BILLING_PROFILE_USED_CHR
36047 	      ,L_ERN_FLAG_USED_YN
36048 	      ,EVN_THRESHOLD_AMT_CHR
36049 	      ,L_EVN_THRESHOLD_CUR
36050 	      ,ERN_THRESHOLD_AMT_CHR
36051 	      ,L_ERN_THRESHOLD_CUR
36052 	      ,RENEWAL_GRACE_DURATION_USED_CH
36053 	      ,L_RENEWAL_GRACE_PERIOD_USED
36054 	      ,L_INV_TRX_TYPE
36055 	      ,L_INV_PRINT_PROFILE
36056 	      ,L_RENEWAL_PO_NUMBER
36057 	      ,L_AR_INTERFACE_YN
36058 	      ,L_HOLD_BILLING
36059 	      ,L_SUMMARY_TRX_YN
36060 	      ,L_SERVICE_PO_NUMBER
36061 	      ,L_SERVICE_PO_REQUIRED
36062 	      ,1
36063 	      ,SYSDATE
36064 	      ,1
36065 	      ,SYSDATE
36066 	      ,2003
36067 	      ,1   );
36068 
36069 
36070 	  EXCEPTION When others then
36071 	    Eflag:=1;
36072 	    Emsg :=SQLERRM;
36073 	  END;
36074 
36075 	  End If;
36076 
36077 
36078       Else
36079         l_check_var := NULL;
36080         Open Cur_RGP_exists(P_RGP_ID);
36081         Fetch Cur_RGP_exists into l_check_var;
36082 	Close Cur_RGP_exists;
36083 
36084 	If(l_check_var is not null) Then
36085 
36086         --Updating oks_k_headers_b
36087         BEGIN
36088 	  UPDATE OKS_K_HEADERS_BH
36089 	  SET
36090 	     ACCT_RULE_ID               =       ACCT_RULE_ID_CHR
36091             ,PAYMENT_TYPE		=       L_PAYMENT_TYPE
36092             ,CC_NO			=	L_CC_NO
36093             ,CC_EXPIRY_DATE		=	CC_EXPIRY_DATE_CHR
36094             ,CC_BANK_ACCT_ID		=	CC_BANK_ACCT_ID_CHR
36095             ,CC_AUTH_CODE		=	L_CC_AUTH_CODE
36096             ,GRACE_DURATION		=	GRACE_DURATION_CHR
36097             ,GRACE_PERIOD		=	L_GRACE_PERIOD
36098             ,EST_REV_PERCENT		=	EST_REV_PERCENT_CHR
36099             ,EST_REV_DATE		=	EST_REV_DATE_CHR
36100             ,TAX_AMOUNT			=	TAX_AMOUNT_CHR
36101             ,TAX_STATUS			=	L_TAX_STATUS
36102             ,TAX_CODE			=	TAX_CODE_CHR
36103             ,TAX_EXEMPTION_ID		=	TAX_EXEMPTION_ID_CHR
36104             ,BILLING_SCHEDULE_TYPE	=	L_BILLING_SCHEDULE_TYPE
36105             ,BILLING_PROFILE_ID		=	BILLING_PROFILE_ID_CHR
36106             ,RENEWAL_STATUS		=	L_RENEWAL_STATUS
36107             ,ELECTRONIC_RENEWAL_FLAG	=	L_ELECTRONIC_RENEWAL_FLAG
36108             ,QUOTE_TO_CONTACT_ID	=	QUOTE_TO_CONTACT_ID_CHR
36109             ,QUOTE_TO_SITE_ID		=	QUOTE_TO_SITE_ID_CHR
36110             ,QUOTE_TO_EMAIL_ID		=	QUOTE_TO_EMAIL_ID_CHR
36111             ,QUOTE_TO_PHONE_ID		=	QUOTE_TO_PHONE_ID_CHR
36112             ,QUOTE_TO_FAX_ID		=	QUOTE_TO_FAX_ID_CHR
36113             ,RENEWAL_PO_REQUIRED	=	L_RENEWAL_PO_REQUIRED
36114             ,RENEWAL_PRICE_LIST		=	RENEWAL_PRICE_LIST_CHR
36115             ,RENEWAL_PRICING_TYPE	=	L_RENEWAL_PRICING_TYPE
36116             ,RENEWAL_MARKUP_PERCENT	=	RENEWAL_MARKUP_PERCENT_CHR
36117             ,RENEWAL_GRACE_DURATION	=	RENEWAL_GRACE_DURATION_CHR
36118             ,RENEWAL_GRACE_PERIOD	=	L_RENEWAL_GRACE_PERIOD
36119             ,RENEWAL_EST_REV_PERCENT	=	RENEWAL_EST_REV_PERCENT_CHR
36120             ,RENEWAL_EST_REV_DURATION	=	RENEWAL_EST_REV_DURATIOn_CHR
36121             ,RENEWAL_EST_REV_PERIOD	=	L_RENEWAL_EST_REV_PERIOD
36122             ,RENEWAL_PRICE_LIST_USED	=	RENEWAL_PRICE_LIST_USED_CHR
36123             ,RENEWAL_TYPE_USED		=	L_RENEWAL_TYPE_USED
36124             ,RENEWAL_NOTIFICATION_TO	=	RENEWAL_NOTIFICATION_TO_CHR
36125             ,RENEWAL_PO_USED		=	L_RENEWAL_PO_USED
36126             ,RENEWAL_PRICING_TYPE_USED	=	L_RENEWAL_PRICING_TYPE_USED
36127             ,RENEWAL_MARKUP_PERCENT_USED=	RENEWAL_MARKUP_PERCENT_USED_CH
36128             ,REV_EST_PERCENT_USED	=	REV_EST_PERCENT_USED_CHR
36129             ,REV_EST_DURATION_USED	=	REV_EST_DURATION_USED_CHR
36130             ,REV_EST_PERIOD_USED	=	L_REV_EST_PERIOD_USED
36131             ,BILLING_PROFILE_USED	=	BILLING_PROFILE_USED_CHR
36132             ,ERN_FLAG_USED_YN		=	L_ERN_FLAG_USED_YN
36133             ,EVN_THRESHOLD_AMT		=	EVN_THRESHOLD_AMT_CHR
36134             ,EVN_THRESHOLD_CUR		=	L_EVN_THRESHOLD_CUR
36135             ,ERN_THRESHOLD_AMT		=	ERN_THRESHOLD_AMT_CHR
36136             ,ERN_THRESHOLD_CUR		=	L_ERN_THRESHOLD_CUR
36137             ,RENEWAL_GRACE_DURATION_USED=	RENEWAL_GRACE_DURATION_USED_CH
36138             ,RENEWAL_GRACE_PERIOD_USED	=	L_RENEWAL_GRACE_PERIOD_USED
36139             ,INV_TRX_TYPE		=	L_INV_TRX_TYPE
36140             ,INV_PRINT_PROFILE		=	L_INV_PRINT_PROFILE
36141             ,RENEWAL_PO_NUMBER		=	L_RENEWAL_PO_NUMBER
36142             ,AR_INTERFACE_YN		=	L_AR_INTERFACE_YN
36143             ,HOLD_BILLING		=	L_HOLD_BILLING
36144             ,SUMMARY_TRX_YN		=	L_SUMMARY_TRX_YN
36145             ,SERVICE_PO_NUMBER		=	L_SERVICE_PO_NUMBER
36146             ,SERVICE_PO_REQUIRED	=	L_SERVICE_PO_REQUIRED
36147 	  WHERE CHR_ID = P_CHR_ID
36148 	  and major_version = p_major_version;
36149 
36150 
36151 	     EXCEPTION When others then
36152                Eflag:=1;
36153                Emsg :=SQLERRM;
36154 
36155         END;
36156 
36157         If( Eflag <> 1) Then
36158           --Updating okc_k_headers_b
36159 
36160           BEGIN
36161 	    UPDATE okc_k_headers_bh SET
36162               CONVERSION_TYPE          =  L_CONVERSION_TYPE ,
36163               CONVERSION_RATE          =  CONVERSION_RATE_CHR ,
36164               CONVERSION_RATE_DATE     =  CONVERSION_RATE_DATE_CHR ,
36165               CONVERSION_EURO_RATE     =  CONVERSION_EURO_RATE_CHR,
36166               CUST_ACCT_ID             =  CUST_ACCT_ID_CHR ,
36167               BILL_TO_SITE_USE_ID      =  BILL_TO_SITE_USE_ID_CHR  ,
36168               INV_RULE_ID              =  INV_RULE_ID_CHR  ,
36169               RENEWAL_TYPE_CODE        =  L_RENEWAL_TYPE_CODE ,
36170               RENEWAL_NOTIFY_TO        =  RENEWAL_NOTIFY_TO_CHR ,
36171               RENEWAL_END_DATE         =  RENEWAL_END_DATE_CHR  ,
36172               SHIP_TO_SITE_USE_ID      =  SHIP_TO_SITE_USE_ID_CHR ,
36173               PAYMENT_TERM_ID          =  PAYMENT_TERM_ID_CHR  ,
36174               PRICE_LIST_ID            =  PRICE_LIST_ID_CHR
36175 	    WHERE id = p_chr_id
36176 	    and major_version = p_major_version;
36177 
36178              EXCEPTION When others then
36179                Eflag:=1;
36180                Emsg :=SQLERRM;
36181           END;
36182 
36183 	End If;
36184 
36185 
36186 	Else
36187 
36188 	  BEGIN
36189 
36190 	    Delete from oks_k_headers_bh where chr_id = P_CHR_ID
36191 	    and major_version = p_major_version;
36192 
36193 
36194 
36195 	        UPDATE okc_k_headers_bh SET
36196 	          CONVERSION_TYPE          =  L_CONVERSION_TYPE ,
36197 	          CONVERSION_RATE          =  CONVERSION_RATE_CHR ,
36198 		  CONVERSION_RATE_DATE     =  CONVERSION_RATE_DATE_CHR ,
36199 	          CONVERSION_EURO_RATE     =  CONVERSION_EURO_RATE_CHR ,
36200                   CUST_ACCT_ID             =  CUST_ACCT_ID_CHR ,
36201                   BILL_TO_SITE_USE_ID      =  BILL_TO_SITE_USE_ID_CHR  ,
36202                   INV_RULE_ID              =  INV_RULE_ID_CHR  ,
36203                   RENEWAL_TYPE_CODE        =  L_RENEWAL_TYPE_CODE,
36204                   RENEWAL_NOTIFY_TO        =  RENEWAL_NOTIFY_TO_CHR ,
36205                   RENEWAL_END_DATE         =  RENEWAL_END_DATE_CHR  ,
36206                   SHIP_TO_SITE_USE_ID      =  SHIP_TO_SITE_USE_ID_CHR ,
36207                   PAYMENT_TERM_ID          =  PAYMENT_TERM_ID_CHR  ,
36208                   PRICE_LIST_ID            =  PRICE_LIST_ID_CHR
36209                 WHERE id = p_chr_id
36210 	     and major_version = p_major_version;
36211 
36212 	        EXCEPTION When others then
36213                   Eflag:=2;
36214                   Emsg :=SQLERRM;
36215 
36216 
36217 
36218 
36219           END;
36220 
36221 	End If;
36222 
36223       End If;
36224 
36225 
36226       If(Eflag=1) Then
36227 
36228       DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
36229     ------------------------------------------------------------------------------------
36230     -- Begin of code to validate data type .
36231     -- If data fails validation then set the Eflag to 1
36232 
36233        --1. Validation for ARL rule .
36234        BEGIN
36235           ACCT_RULE_ID      := ACCT_RULE_ID_CHR;
36236        EXCEPTION
36237        WHEN OTHERS THEN
36238           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'ARL') ;
36239           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36240           CLOSE L_HDR_DTLS_CSR;
36241           FND_MESSAGE.CLEAR;
36242           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ACCT_RULE_ID');
36243           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36244           L_ERROR_MSG      := SQLERRM;
36245           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36246                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36247                                       RULE_INFORMATION_CATEGORY , COLUMN_NAME, ATTRIBUTE_NAME    , ATTRIBUTE_VALUE,
36248                                       ERROR_MSG)
36249                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36250                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36251                                       'ARL'    ,'OBJECT1_ID1'   ,L_ATTRIBUTE_NAME         , ACCT_RULE_ID_CHR,
36252                                        L_ERROR_MSG );
36253           Eflag:=1;
36254        END;
36255 
36256        --2. Validation for CCR rule .
36257        BEGIN
36258           CC_BANK_ACCT_ID      := CC_BANK_ACCT_ID_CHR;
36259        EXCEPTION
36260        WHEN OTHERS THEN
36261           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CCR') ;
36262           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36263           CLOSE L_HDR_DTLS_CSR;
36264           FND_MESSAGE.CLEAR;
36265           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_BANK_ACCT_ID');
36266           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36267           L_ERROR_MSG      := SQLERRM;
36268           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36269                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36270                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36271                                       ERROR_MSG)
36272                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36273                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36274                                       'CCR'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CC_BANK_ACCT_ID_CHR,
36275                                        L_ERROR_MSG );
36276           Eflag:=1;
36277        END;
36278 
36279        --3. Validation for GPR rule .
36280        BEGIN
36281           GRACE_DURATION    := GRACE_DURATION_CHR;
36282        EXCEPTION
36283        WHEN OTHERS THEN
36284           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'GPR') ;
36285           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36286           CLOSE L_HDR_DTLS_CSR;
36287           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_GRACE_DURATION');
36288           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36289           L_ERROR_MSG      := SQLERRM;
36290           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36291                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36292                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36293                                       ERROR_MSG)
36294                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36295                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36296                                       'GPR'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , GRACE_DURATION_CHR,
36297                                        L_ERROR_MSG );
36298           Eflag:=1;
36299        END;
36300 
36301        --4. Validation for RVE rule .
36302        BEGIN
36303           EST_REV_PERCENT      := EST_REV_PERCENT_CHR;
36304        EXCEPTION
36305        WHEN OTHERS THEN
36306           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RVE') ;
36307           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36308           CLOSE L_HDR_DTLS_CSR;
36309           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_PERCENT');
36310           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36311           L_ERROR_MSG      := SQLERRM;
36312           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36313                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36314                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36315                                       ERROR_MSG)
36316                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36317                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36318                                       'RVE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , EST_REV_PERCENT_CHR,
36319                                        L_ERROR_MSG );
36320           Eflag:=1;
36321        END;
36322 
36323        --5. Validation for IRT rule.
36324        BEGIN
36325           TAX_AMOUNT      := TAX_AMOUNT_CHR;
36326        EXCEPTION
36327        WHEN OTHERS THEN
36328           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'IRT') ;
36329           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36330           CLOSE L_HDR_DTLS_CSR;
36331           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_AMOUNT');
36332           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36333           L_ERROR_MSG      := SQLERRM;
36334           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36335                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36336                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36337                                       ERROR_MSG)
36338                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36339                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36340                                       'IRT'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , TAX_AMOUNT_CHR,
36341                                        L_ERROR_MSG );
36342           Eflag:=1;
36343        END;
36344 
36345        --6. Validation for TAX (TAX_CODE) rule.
36346        BEGIN
36347           TAX_CODE      := TAX_CODE_CHR;
36348        EXCEPTION
36349        WHEN OTHERS THEN
36350           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'TAX') ;
36351           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36352           CLOSE L_HDR_DTLS_CSR;
36353           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_CODE');
36354           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36355           L_ERROR_MSG      := SQLERRM;
36356           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36357                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36358                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36359                                       ERROR_MSG)
36360                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36361                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36362                                       'TAX'  ,'OBJECT2_ID1'    ,L_ATTRIBUTE_NAME         , TAX_CODE_CHR,
36363                                        L_ERROR_MSG );
36364           Eflag:=1;
36365        END;
36366 
36367        --7. Validation for TAX (TAX_EXEMPTION_ID) rule.
36368        BEGIN
36369           TAX_EXEMPTION_ID      := TAX_EXEMPTION_ID_CHR;
36370        EXCEPTION
36371        WHEN OTHERS THEN
36372           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'TAX');
36373           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36374           CLOSE L_HDR_DTLS_CSR;
36375           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_TAX_EXEMPTION_ID');
36376           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36377           L_ERROR_MSG      := SQLERRM;
36378           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36379                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36380                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36381                                       ERROR_MSG)
36382                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36383                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36384                                       'TAX'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , TAX_EXEMPTION_ID_CHR,
36385                                        L_ERROR_MSG );
36386           Eflag:=1;
36387        END;
36388 
36389 
36390        --8. Validation for CAN  rule.
36391        BEGIN
36392           CUST_ACCT_ID      := CUST_ACCT_ID_CHR;
36393        EXCEPTION
36394        WHEN OTHERS THEN
36395           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CAN');
36396           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36397           CLOSE L_HDR_DTLS_CSR;
36398           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CUST_ACCT_ID');
36399           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36400           L_ERROR_MSG      := SQLERRM;
36401           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36402                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36403                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36404                                       ERROR_MSG)
36405                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36406                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36407                                       'CAN'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , CUST_ACCT_ID_CHR,
36408                                        L_ERROR_MSG );
36409           Eflag:=1;
36410        END;
36411 
36412        --9. Validation for BTO  rule.
36413        BEGIN
36414           BILL_TO_SITE_USE_ID      := BILL_TO_SITE_USE_ID_CHR;
36415        EXCEPTION
36416        WHEN OTHERS THEN
36417           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'BTO');
36418           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36419           CLOSE L_HDR_DTLS_CSR;
36420           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILL_TO_SITE_USE_ID');
36421           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36422           L_ERROR_MSG      := SQLERRM;
36423           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36424                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36425                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36426                                       ERROR_MSG)
36427                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36428                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36429                                       'BTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , BILL_TO_SITE_USE_ID_CHR,
36430                                        L_ERROR_MSG );
36431           Eflag:=1;
36432        END;
36433 
36434 
36435        --10. Validation for IRE  rule.
36436        BEGIN
36437           INV_RULE_ID      := INV_RULE_ID_CHR;
36438        EXCEPTION
36439        WHEN OTHERS THEN
36440           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'IRE');
36441           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36442           CLOSE L_HDR_DTLS_CSR;
36443           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_INV_RULE_ID');
36444           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36445           L_ERROR_MSG      := SQLERRM;
36446           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36447                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36448                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36449                                       ERROR_MSG)
36450                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36451                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36452                                       'IRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , INV_RULE_ID_CHR,
36453                                        L_ERROR_MSG );
36454           Eflag:=1;
36455        END;
36456 
36457        --11. Validation for REN ( RENEWAL_NOTIFY_TO )  rule.
36458        BEGIN
36459           RENEWAL_NOTIFY_TO      := RENEWAL_NOTIFY_TO_CHR;
36460        EXCEPTION
36461        WHEN OTHERS THEN
36462           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'IRE');
36463           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36464           CLOSE L_HDR_DTLS_CSR;
36465           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFY_TO');
36466           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36467           L_ERROR_MSG      := SQLERRM;
36468           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36469                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36470                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36471                                       ERROR_MSG)
36472                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36473                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36474                                       'REN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFY_TO_CHR,
36475                                        L_ERROR_MSG );
36476           Eflag:=1;
36477        END;
36478 
36479        --12. Validation for STO rule.
36480        BEGIN
36481           SHIP_TO_SITE_USE_ID      := SHIP_TO_SITE_USE_ID_CHR;
36482        EXCEPTION
36483        WHEN OTHERS THEN
36484           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'STO');
36485           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36486           CLOSE L_HDR_DTLS_CSR;
36487           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_SHIP_TO_SITE_USE_ID');
36488           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36489           L_ERROR_MSG      := SQLERRM;
36490           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36491                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36492                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36493                                       ERROR_MSG)
36494                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36495                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36496                                       'STO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , SHIP_TO_SITE_USE_ID_CHR,
36497                                        L_ERROR_MSG );
36498           Eflag:=1;
36499        END;
36500 
36501        --13. Validation for PTR rule.
36502        BEGIN
36503           PAYMENT_TERM_ID      := PAYMENT_TERM_ID_CHR;
36504        EXCEPTION
36505        WHEN OTHERS THEN
36506           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'PTR');
36507           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36508           CLOSE L_HDR_DTLS_CSR;
36509           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PAYMENT_TERM_ID');
36510           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36511           L_ERROR_MSG      := SQLERRM;
36512           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36513                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36514                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36515                                       ERROR_MSG)
36516                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36517                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36518                                       'PTR'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PAYMENT_TERM_ID_CHR,
36519                                        L_ERROR_MSG );
36520           Eflag:=1;
36521        END;
36522 
36523        --14. Validation for ERN rule.
36524        BEGIN
36525           BILLING_PROFILE_ID      := BILLING_PROFILE_ID_CHR;
36526        EXCEPTION
36527        WHEN OTHERS THEN
36528           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'ERN');
36529           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36530           CLOSE L_HDR_DTLS_CSR;
36531           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_ID');
36532           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36533           L_ERROR_MSG      := SQLERRM;
36534           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36535                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36536                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36537                                       ERROR_MSG)
36538                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36539                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36540                                       'ERN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_ID_CHR,
36541                                        L_ERROR_MSG );
36542           Eflag:=1;
36543        END;
36544 
36545 
36546        --15. Validation for QTO ( QUOTE_TO_CONTACT_ID )rule.
36547        BEGIN
36548           QUOTE_TO_CONTACT_ID      := QUOTE_TO_CONTACT_ID_CHR;
36549        EXCEPTION
36550        WHEN OTHERS THEN
36551           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
36552           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36553           CLOSE L_HDR_DTLS_CSR;
36554           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_CONTACT_ID');
36555           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36556           L_ERROR_MSG      := SQLERRM;
36557           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36558                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36559                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36560                                       ERROR_MSG)
36561                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36562                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36563                                       'QTO'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_CONTACT_ID_CHR,
36564                                        L_ERROR_MSG );
36565           Eflag:=1;
36566        END;
36567 
36568        --16. Validation for QTO ( QUOTE_TO_SITE_ID ) rule.
36569        BEGIN
36570           QUOTE_TO_SITE_ID      := QUOTE_TO_SITE_ID_CHR;
36571        EXCEPTION
36572        WHEN OTHERS THEN
36573           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
36574           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36575           CLOSE L_HDR_DTLS_CSR;
36576           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_SITE_ID');
36577           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36578           L_ERROR_MSG      := SQLERRM;
36579           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36580                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36581                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36582                                       ERROR_MSG)
36583                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36584                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36585                                       'QTO'  ,'RULE_INFORMATION4'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_SITE_ID_CHR,
36586                                        L_ERROR_MSG );
36587           Eflag:=1;
36588        END;
36589 
36590        --17. Validation for QTO ( QUOTE_TO_EMAIL_ID ) rule.
36591        BEGIN
36592           QUOTE_TO_EMAIL_ID      := QUOTE_TO_EMAIL_ID_CHR;
36593        EXCEPTION
36594        WHEN OTHERS THEN
36595           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
36596           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36597           CLOSE L_HDR_DTLS_CSR;
36598           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_EMAIL_ID');
36599           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36600           L_ERROR_MSG      := SQLERRM;
36601           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36602                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36603                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36604                                       ERROR_MSG)
36605                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36606                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36607                                       'QTO'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_EMAIL_ID_CHR,
36608                                        L_ERROR_MSG );
36609           Eflag:=1;
36610        END;
36611 
36612        --18. Validation for QTO ( QUOTE_TO_PHONE_ID ) rule.
36613        BEGIN
36614           QUOTE_TO_PHONE_ID      := QUOTE_TO_PHONE_ID_CHR;
36615        EXCEPTION
36616        WHEN OTHERS THEN
36617           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
36618           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36619           CLOSE L_HDR_DTLS_CSR;
36620           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_PHONE_ID');
36621           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36622           L_ERROR_MSG      := SQLERRM;
36623           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36624                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36625                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36626                                       ERROR_MSG)
36627                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36628                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36629                                       'QTO'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_PHONE_ID_CHR,
36630                                        L_ERROR_MSG );
36631           Eflag:=1;
36632        END;
36633 
36634        --19. Validation for QTO ( QUOTE_TO_FAX_ID ) rule.
36635        BEGIN
36636           QUOTE_TO_FAX_ID      := QUOTE_TO_FAX_ID_CHR;
36637        EXCEPTION
36638        WHEN OTHERS THEN
36639           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'QTO');
36640           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36641           CLOSE L_HDR_DTLS_CSR;
36642           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_QUOTE_TO_FAX_ID');
36643           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36644           L_ERROR_MSG      := SQLERRM;
36645           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36646                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36647                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36648                                       ERROR_MSG)
36649                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36650                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36651                                       'QTO'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , QUOTE_TO_FAX_ID_CHR,
36652                                        L_ERROR_MSG );
36653           Eflag:=1;
36654        END;
36655 
36656        --20. Validation for RPT ( RENEWAL_PRICE_LIST ) rule.
36657        BEGIN
36658           RENEWAL_PRICE_LIST      := RENEWAL_PRICE_LIST_CHR;
36659        EXCEPTION
36660        WHEN OTHERS THEN
36661           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RPT');
36662           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36663           CLOSE L_HDR_DTLS_CSR;
36664           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST');
36665           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36666           L_ERROR_MSG      := SQLERRM;
36667           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36668                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36669                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36670                                       ERROR_MSG)
36671                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36672                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36673                                       'RPT'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_CHR,
36674                                        L_ERROR_MSG );
36675           Eflag:=1;
36676        END;
36677 
36678        --21. Validation for RPT ( RENEWAL_MARKUP_PERCENT ) rule.
36679        BEGIN
36680           RENEWAL_MARKUP_PERCENT      := RENEWAL_MARKUP_PERCENT_CHR;
36681        EXCEPTION
36682        WHEN OTHERS THEN
36683           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RPT');
36684           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36685           CLOSE L_HDR_DTLS_CSR;
36686           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MARKUP_PERCENT');
36687           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36688           L_ERROR_MSG      := SQLERRM;
36689           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36690                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36691                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36692                                       ERROR_MSG)
36693                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36694                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36695                                       'RPT'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_CHR,
36696                                        L_ERROR_MSG );
36697           Eflag:=1;
36698        END;
36699 
36700        --22. Validation for RPT ( RENEWAL_GRACE_DURATION ) rule.
36701        BEGIN
36702           RENEWAL_GRACE_DURATION      := RENEWAL_GRACE_DURATION_CHR;
36703        EXCEPTION
36704        WHEN OTHERS THEN
36705           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RPT');
36706           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36707           CLOSE L_HDR_DTLS_CSR;
36708           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GRACE_DURATION');
36709           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36710           L_ERROR_MSG      := SQLERRM;
36711           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36712                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36713                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36714                                       ERROR_MSG)
36715                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36716                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36717                                       'RPT'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_CHR,
36718                                        L_ERROR_MSG );
36719           Eflag:=1;
36720        END;
36721 
36722        --23. Validation for RER ( RENEWAL_EST_REV_PERCENT ) rule.
36723        BEGIN
36724           RENEWAL_EST_REV_PERCENT      := RENEWAL_EST_REV_PERCENT_CHR;
36725        EXCEPTION
36726        WHEN OTHERS THEN
36727           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RER');
36728           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36729           CLOSE L_HDR_DTLS_CSR;
36730           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_PERCENT');
36731           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36732           L_ERROR_MSG      := SQLERRM;
36733           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36734                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36735                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36736                                       ERROR_MSG)
36737                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36738                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36739                                       'RER'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_PERCENT_CHR,
36740                                        L_ERROR_MSG );
36741           Eflag:=1;
36742        END;
36743 
36744        --24. Validation for RER ( RENEWAL_EST_REV_DURATION ) rule.
36745        BEGIN
36746           RENEWAL_EST_REV_DURATION      := RENEWAL_EST_REV_DURATION_CHR;
36747        EXCEPTION
36748        WHEN OTHERS THEN
36749           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RER');
36750           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36751           CLOSE L_HDR_DTLS_CSR;
36752           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_EREV_DURATION');
36753           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36754           L_ERROR_MSG      := SQLERRM;
36755           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36756                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36757                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36758                                       ERROR_MSG)
36759                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36760                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36761                                       'RER'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_EST_REV_DURATION_CHR,
36762                                        L_ERROR_MSG );
36763           Eflag:=1;
36764        END;
36765 
36766        --25. Validation for RRU ( RENEWAL_PRICE_LIST_USED ) rule.
36767        BEGIN
36768           RENEWAL_PRICE_LIST_USED      := RENEWAL_PRICE_LIST_USED_CHR;
36769        EXCEPTION
36770        WHEN OTHERS THEN
36771           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
36772           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36773           CLOSE L_HDR_DTLS_CSR;
36774           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_PRICE_LIST_U');
36775           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36776           L_ERROR_MSG      := SQLERRM;
36777           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36778                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36779                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36780                                       ERROR_MSG)
36781                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36782                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36783                                       'RRU'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , RENEWAL_PRICE_LIST_USED_CHR,
36784                                        L_ERROR_MSG );
36785           Eflag:=1;
36786        END;
36787 
36788        --26. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
36789        BEGIN
36790           RENEWAL_NOTIFICATION_TO      := RENEWAL_NOTIFICATION_TO_CHR;
36791        EXCEPTION
36792        WHEN OTHERS THEN
36793           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
36794           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36795           CLOSE L_HDR_DTLS_CSR;
36796           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_NOTIFICATION');
36797           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36798           L_ERROR_MSG      := SQLERRM;
36799           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36800                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36801                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36802                                       ERROR_MSG)
36803                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36804                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36805                                       'RRU'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , RENEWAL_NOTIFICATION_TO_CHR,
36806                                        L_ERROR_MSG );
36807           Eflag:=1;
36808        END;
36809 
36810        --27. Validation for RRU ( RENEWAL_NOTIFICATION_TO ) rule.
36811        BEGIN
36812           RENEWAL_MARKUP_PERCENT_USED      := RENEWAL_MARKUP_PERCENT_USED_CH;
36813        EXCEPTION
36814        WHEN OTHERS THEN
36815           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
36816           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36817           CLOSE L_HDR_DTLS_CSR;
36818           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_MPERCENT_U');
36819           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36820           L_ERROR_MSG      := SQLERRM;
36821           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36822                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36823                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36824                                       ERROR_MSG)
36825                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36826                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36827                                       'RRU'  ,'RULE_INFORMATION5'    ,L_ATTRIBUTE_NAME         , RENEWAL_MARKUP_PERCENT_USED_CH,
36828                                        L_ERROR_MSG );
36829           Eflag:=1;
36830        END;
36831 
36832        --28. Validation for RRU ( REV_EST_PERCENT_USED ) rule.
36833        BEGIN
36834           REV_EST_PERCENT_USED      := REV_EST_PERCENT_USED_CHR;
36835        EXCEPTION
36836        WHEN OTHERS THEN
36837           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
36838           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36839           CLOSE L_HDR_DTLS_CSR;
36840           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_PERCENT_U');
36841           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36842           L_ERROR_MSG      := SQLERRM;
36843           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36844                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36845                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36846                                       ERROR_MSG)
36847                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36848                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36849                                       'RRU'  ,'RULE_INFORMATION6'    ,L_ATTRIBUTE_NAME         , REV_EST_PERCENT_USED_CHR,
36850                                        L_ERROR_MSG );
36851           Eflag:=1;
36852        END;
36853 
36854        --29. Validation for RRU ( REV_EST_DURATION_USED ) rule.
36855        BEGIN
36856           REV_EST_DURATION_USED      := REV_EST_DURATION_USED_CHR;
36857        EXCEPTION
36858        WHEN OTHERS THEN
36859           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
36860           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36861           CLOSE L_HDR_DTLS_CSR;
36862           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_REV_EST_DURATION_U');
36863           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36864           L_ERROR_MSG      := SQLERRM;
36865           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36866                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36867                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36868                                       ERROR_MSG)
36869                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36870                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36871                                       'RRU'  ,'RULE_INFORMATION7'    ,L_ATTRIBUTE_NAME         , REV_EST_DURATION_USED_CHR,
36872                                        L_ERROR_MSG );
36873           Eflag:=1;
36874        END;
36875 
36876        --30. Validation for RRU ( BILLING_PROFILE_USED ) rule.
36877        BEGIN
36878           BILLING_PROFILE_USED      := BILLING_PROFILE_USED_CHR;
36879        EXCEPTION
36880        WHEN OTHERS THEN
36881           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
36882           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36883           CLOSE L_HDR_DTLS_CSR;
36884           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_BILLING_PROFILE_U');
36885           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36886           L_ERROR_MSG      := SQLERRM;
36887           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36888                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36889                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36890                                       ERROR_MSG)
36891                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36892                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36893                                       'RRU'  ,'RULE_INFORMATION9'    ,L_ATTRIBUTE_NAME         , BILLING_PROFILE_USED_CHR,
36894                                        L_ERROR_MSG );
36895           Eflag:=1;
36896        END;
36897 
36898        --31. Validation for RRU ( EVN_THRESHOLD_AMT ) rule.
36899        BEGIN
36900           EVN_THRESHOLD_AMT      := EVN_THRESHOLD_AMT_CHR;
36901        EXCEPTION
36902        WHEN OTHERS THEN
36903           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
36904           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36905           CLOSE L_HDR_DTLS_CSR;
36906           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EVN_THRESHOLD_AMT');
36907           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36908           L_ERROR_MSG      := SQLERRM;
36909           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36910                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36911                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36912                                       ERROR_MSG)
36913                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36914                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36915                                       'RRU'  ,'RULE_INFORMATION11'    ,L_ATTRIBUTE_NAME         , EVN_THRESHOLD_AMT_CHR,
36916                                        L_ERROR_MSG );
36917           Eflag:=1;
36918        END;
36919 
36920        --32. Validation for RRU ( ERN_THRESHOLD_AMT ) rule.
36921        BEGIN
36922           ERN_THRESHOLD_AMT      := ERN_THRESHOLD_AMT_CHR;
36923        EXCEPTION
36924        WHEN OTHERS THEN
36925           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRU');
36926           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36927           CLOSE L_HDR_DTLS_CSR;
36928           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_ERN_THRESHOLD_AMT');
36929           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36930           L_ERROR_MSG      := SQLERRM;
36931           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36932                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36933                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36934                                       ERROR_MSG)
36935                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36936                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36937                                       'RRU'  ,'RULE_INFORMATION13'    ,L_ATTRIBUTE_NAME         , ERN_THRESHOLD_AMT_CHR,
36938                                        L_ERROR_MSG );
36939           Eflag:=1;
36940        END;
36941 
36942        --33. Validation for RRE ( RENEWAL_GRACE_DURATION_USED ) rule.
36943        BEGIN
36944           RENEWAL_GRACE_DURATION_USED      := RENEWAL_GRACE_DURATION_USED_CH;
36945        EXCEPTION
36946        WHEN OTHERS THEN
36947           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RRE');
36948           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36949           CLOSE L_HDR_DTLS_CSR;
36950           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_GDURATION_U');
36951           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36952           L_ERROR_MSG      := SQLERRM;
36953           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36954                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36955                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36956                                       ERROR_MSG)
36957                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36958                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36959                                       'RRE'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , RENEWAL_GRACE_DURATION_USED_CH,
36960                                        L_ERROR_MSG );
36961           Eflag:=1;
36962        END;
36963 
36964        --34. Validation for PRE ( PRICE_LIST_ID ) rule.
36965        BEGIN
36966           PRICE_LIST_ID      := PRICE_LIST_ID_CHR;
36967        EXCEPTION
36968        WHEN OTHERS THEN
36969           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'PRE');
36970           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36971           CLOSE L_HDR_DTLS_CSR;
36972           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_PRICE_LIST_ID');
36973           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36974           L_ERROR_MSG      := SQLERRM;
36975           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36976                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36977                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
36978                                       ERROR_MSG)
36979                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
36980                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
36981                                       'PRE'  ,'OBJECT1_ID1'    ,L_ATTRIBUTE_NAME         , PRICE_LIST_ID_CHR,
36982                                        L_ERROR_MSG );
36983           Eflag:=1;
36984        END;
36985 
36986        --35. Validation for CVN ( CONVERSION_RATE ) rule.
36987        BEGIN
36988           CONVERSION_RATE      := CONVERSION_RATE_CHR;
36989        EXCEPTION
36990        WHEN OTHERS THEN
36991           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CVN');
36992           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
36993           CLOSE L_HDR_DTLS_CSR;
36994           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE');
36995           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
36996           L_ERROR_MSG      := SQLERRM;
36997           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
36998                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
36999                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
37000                                       ERROR_MSG)
37001                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
37002                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
37003                                       'CVN'  ,'RULE_INFORMATION1'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_CHR,
37004                                        L_ERROR_MSG );
37005           Eflag:=1;
37006        END;
37007 
37008        --36. Validation for CVN ( CONVERSION_EURO_RATE ) rule.
37009        BEGIN
37010           CONVERSION_EURO_RATE      := CONVERSION_EURO_RATE_CHR;
37011        EXCEPTION
37012        WHEN OTHERS THEN
37013           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CVN');
37014           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
37015           CLOSE L_HDR_DTLS_CSR;
37016           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_EURO_RATE');
37017           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
37018           L_ERROR_MSG      := SQLERRM;
37019           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
37020                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
37021                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
37022                                       ERROR_MSG)
37023                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
37024                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
37025                                       'CVN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , CONVERSION_EURO_RATE_CHR,
37026                                        L_ERROR_MSG );
37027           Eflag:=1;
37028        END;
37029 
37030   /*
37031        --37. Validation for CCR ( CC_EXPIRY_DATE ) rule.
37032        BEGIN
37033           CC_EXPIRY_DATE      := to_date(CC_EXPIRY_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
37034        EXCEPTION
37035        WHEN OTHERS THEN
37036           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'CCR');
37037           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
37038           CLOSE L_HDR_DTLS_CSR;
37039           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CC_EXPIRY_DATE');
37040           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
37041           L_ERROR_MSG      := SQLERRM;
37042           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
37043                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
37044                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
37045                                       ERROR_MSG)
37046                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
37047                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
37048                                       'CCR'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CC_EXPIRY_DATE_CHR,
37049                                        L_ERROR_MSG );
37050           Eflag:=1;
37051        END;
37052 
37053 */
37054 /*
37055        --38. Validation for RVE ( EST_REV_DATE ) rule.
37056        BEGIN
37057           EST_REV_DATE      := to_date(EST_REV_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
37058        EXCEPTION
37059        WHEN OTHERS THEN
37060           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'RVE');
37061           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
37062           CLOSE L_HDR_DTLS_CSR;
37063           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_EST_REV_DATE');
37064           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
37065           L_ERROR_MSG      := SQLERRM;
37066           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
37067                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
37068                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
37069                                       ERROR_MSG)
37070                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
37071                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
37072                                       'RVE'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , EST_REV_DATE_CHR,
37073                                        L_ERROR_MSG );
37074           Eflag:=1;
37075        END;
37076 */
37077 /*
37078        --39. Validation for REN ( RENEWAL_END_DATE ) rule.
37079        BEGIN
37080           RENEWAL_END_DATE      := to_date(RENEWAL_END_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
37081        EXCEPTION
37082        WHEN OTHERS THEN
37083           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'REN');
37084           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
37085           CLOSE L_HDR_DTLS_CSR;
37086           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_RENEWAL_END_DATE');
37087           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
37088           L_ERROR_MSG      := SQLERRM;
37089           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
37090                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
37091                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
37092                                       ERROR_MSG)
37093                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
37094                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
37095                                       'REN'  ,'RULE_INFORMATION3'    ,L_ATTRIBUTE_NAME         , RENEWAL_END_DATE_CHR,
37096                                        L_ERROR_MSG );
37097           Eflag:=1;
37098        END;
37099 */
37100 /*
37101 
37102        --40. Validation for REN ( CONVERSION_RATE_DATE ) rule.
37103        BEGIN
37104           CONVERSION_RATE_DATE      := to_date(CONVERSION_RATE_DATE_CHR,'yyyy/mm/dd hh24:mi:ss');
37105        EXCEPTION
37106        WHEN OTHERS THEN
37107           OPEN  L_HDR_DTLS_CSR(P_CHR_ID,'REN');
37108           FETCH L_HDR_DTLS_CSR INTO L_HDR_DTLS_REC;
37109           CLOSE L_HDR_DTLS_CSR;
37110           FND_MESSAGE.SET_NAME('OKS','OKS_VAL_CONVERSION_RATE_DATE');
37111           L_ATTRIBUTE_NAME := FND_MESSAGE.GET;
37112           L_ERROR_MSG      := SQLERRM;
37113           INSERT INTO OKS_RULE_ERROR (ID                , RGP_ID                  , CHR_ID       ,
37114                                       CONTRACT_NUMBER   , CONTRACT_NUMBER_MODIFIER, MAJOR_VERSION, SCRIPT_NAME  ,
37115                                       RULE_INFORMATION_CATEGORY, COLUMN_NAME , ATTRIBUTE_NAME          , ATTRIBUTE_VALUE,
37116                                       ERROR_MSG)
37117                                VALUES (L_HDR_DTLS_REC.ID ,L_HDR_DTLS_REC.RGP_ID    , P_CHR_ID,
37118                                        L_HDR_DTLS_REC.CONTRACT_NUMBER,L_HDR_DTLS_REC.CONTRACT_NUMBER_MODIFIER , L_HDR_DTLS_REC.MAJOR_VERSION,'HDRH',
37119                                       'CVN'  ,'RULE_INFORMATION2'    ,L_ATTRIBUTE_NAME         , CONVERSION_RATE_DATE_CHR,
37120                                        L_ERROR_MSG );
37121           Eflag:=1;
37122        END;
37123 
37124   */
37125 
37126 
37127     -- End of code to validate data type .
37128   ---------------------------------------------------------------------------------------
37129 
37130      End If;
37131 
37132 
37133       If(Eflag <> 0) Then
37134         Eflag:=0;
37135         Raise Main_Exception;
37136       End If;
37137 
37138 
37139       x_return_status := 'S';
37140 
37141 
37142   Exception
37143      When Main_exception THEN
37144       IF(Emsg is not null) THEN
37145          FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||' '||p_major_version||'with Error Message '||Emsg);
37146       End If;
37147 
37148       IF(L_ERROR_MSG is not null) THEN
37149          FND_FILE.PUT_LINE(FND_FILE.LOG ,'Validation for'||p_rgp_id||' '||p_major_version||'Failed with Error Message '||L_ERROR_MSG);
37150       End If;
37151 
37152      x_return_status := 'E';
37153     WHEN OTHERS THEN
37154 	X_RETURN_STATUS := 'E';
37155 	L_ERROR_MSG := SQLERRM;
37156     	FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
37157 
37158 
37159 END SYNCHRONIZE_RULE_HDRH;
37160 
37161 Procedure SYNCHRONIZE_RULE_SLL(P_RGP_ID IN NUMBER,P_CLE_ID IN NUMBER,P_US_YN IN BOOLEAN, X_RETURN_STATUS OUT NOCOPY VARCHAR2)
37162 IS
37163 
37164 L_RGP_ID  CONSTANT NUMBER  := P_RGP_ID ;
37165 L_CLE_ID  CONSTANT NUMBER := P_CLE_ID ;
37166 L_ERROR_MSG                   VARCHAR2(2000);
37167 
37168 -- Addition of code on Mar-16-2004 starts
37169  CURSOR L_LVL_CSR( P_CLE_ID IN NUMBER ) is
37170   SELECT RUL.ID    RUL_ID
37171        , LINES.ID  CLE_ID
37172        , LINES.DNZ_CHR_ID DNZ_CHR_ID
37173        , NVL(LINES.CLE_ID , LINES.ID ) PARENT_CLE_ID
37174     FROM OKC_RULES_B RUL
37175        , OKC_K_LINES_B LINES
37176        , OKC_RULE_GROUPS_B RGP
37177    WHERE RUL.RULE_INFORMATION_CATEGORY = 'SLL'
37178      AND RUL.RGP_ID = RGP.ID
37179      AND RGP.DNZ_CHR_ID = LINES.DNZ_CHR_ID
37180      AND RGP.CLE_ID = LINES.ID
37181      AND RGP.CLE_ID IS NOT NULL
37182      AND RGP.CLE_ID = P_CLE_ID
37183      AND LINES.ID = P_CLE_ID;
37184 
37185   Type l_num_tbl is table of NUMBER index  by BINARY_INTEGER ;
37186   Type l_date_tbl is table of DATE  index  by BINARY_INTEGER ;
37187   Type l_chr_tbl is table of Varchar2(2000) index  by BINARY_INTEGER ;
37188   L_ERRM  VARCHAR2(1000);
37189 
37190   CLE_IDI        L_NUM_TBL;
37191   DNZ_CHR_IDI    L_NUM_TBL;
37192   PARENT_CLE_IDI L_NUM_TBL;
37193   RUL_IDI        L_NUM_TBL;
37194 -- Addition on Mar-16-2004 ends .
37195 
37196 
37197 BEGIN
37198 
37199  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37200  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for LINE RULE SLL  ----------------------------');
37201  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37202 
37203 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
37204 
37205 DELETE FROM OKS_STREAM_LEVELS_B
37206 WHERE cle_id = P_CLE_ID;
37207 
37208 If p_us_yn then
37209    insert into oks_stream_levels_b b1
37210     (ID
37211     ,CHR_ID
37212     ,CLE_ID
37213     ,DNZ_CHR_ID
37214     ,SEQUENCE_NO
37215     ,UOM_CODE
37216     ,START_DATE
37217     ,END_DATE
37218     ,LEVEL_PERIODS
37219     ,UOM_PER_PERIOD
37220     ,ADVANCE_PERIODS
37221     ,LEVEL_AMOUNT
37222     ,INVOICE_OFFSET_DAYS
37223     ,INTERFACE_OFFSET_DAYS
37224     ,COMMENTS
37225     ,DUE_ARR_YN
37226     ,AMOUNT
37227     ,LINES_DETAILED_YN
37228     ,OBJECT_VERSION_NUMBER
37229     ,SECURITY_GROUP_ID
37230     ,REQUEST_ID
37231     ,CREATED_BY
37232     ,CREATION_DATE
37233     ,LAST_UPDATED_BY
37234     ,LAST_UPDATE_DATE
37235     ,LAST_UPDATE_LOGIN)
37236      select
37237        rules.id       id,
37238        rgp.chr_id     chr_id,
37239        rgp.cle_id     cle_id,
37240        rgp.dnz_chr_id dnz_chr_id,
37241        rules.rule_information1 sequence_no,
37242        rules.object1_id1 uom_code,
37243        to_date(rules.rule_information2, 'yyyy/mm/dd hh24:mi:ss') start_date,
37244        null,
37245        rules.rule_information3 level_periods,
37246        rules.rule_information4  uom_per_period,
37247        rules.rule_information5 advance_periods,
37248        TRANSLATE( rules.rule_information6,'!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_, ' ,'!' ) level_amount,
37249        TRANSLATE( rules.rule_information7,'!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' ,'!' ) invoice_offset_days,
37250        TRANSLATE( rules.rule_information8,'!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' ,'!' ) interface_offset_days,
37251        rules.rule_information9   comments,
37252        rules.rule_information10  due_arr_yn,
37253        rules.rule_information11 amount,
37254        null,
37255        rules.object_version_number object_version_number,
37256        null,
37257        null,
37258        1,
37259        SYSDATE,
37260        1,
37261        SYSDATE,
37262        2003
37263   from okc_rule_groups_b rgp,
37264        okc_rules_b rules
37265  where rgp.rgd_code = 'SVC_K'
37266    and rgp.id = rules.rgp_id
37267    and rules.rule_information_category = 'SLL'
37268    and rgp.id = p_rgp_id
37269    and rgp.cle_id = p_cle_id;
37270 Else
37271 
37272    insert into oks_stream_levels_b b1
37273     (ID
37274     ,CHR_ID
37275     ,CLE_ID
37276     ,DNZ_CHR_ID
37277     ,SEQUENCE_NO
37278     ,UOM_CODE
37279     ,START_DATE
37280     ,END_DATE
37281     ,LEVEL_PERIODS
37282     ,UOM_PER_PERIOD
37283     ,ADVANCE_PERIODS
37284     ,LEVEL_AMOUNT
37285     ,INVOICE_OFFSET_DAYS
37286     ,INTERFACE_OFFSET_DAYS
37287     ,COMMENTS
37288     ,DUE_ARR_YN
37289     ,AMOUNT
37290     ,LINES_DETAILED_YN
37291     ,OBJECT_VERSION_NUMBER
37292     ,SECURITY_GROUP_ID
37293     ,REQUEST_ID
37294     ,CREATED_BY
37295     ,CREATION_DATE
37296     ,LAST_UPDATED_BY
37297     ,LAST_UPDATE_DATE
37298     ,LAST_UPDATE_LOGIN)
37299      select
37300        rules.id       id,
37301        rgp.chr_id     chr_id,
37302        rgp.cle_id     cle_id,
37303        rgp.dnz_chr_id dnz_chr_id,
37304        rules.rule_information1 sequence_no,
37305        rules.object1_id1 uom_code,
37306        to_date(rules.rule_information2, 'yyyy/mm/dd hh24:mi:ss') start_date,
37307        null,
37308        rules.rule_information3 level_periods,
37309        rules.rule_information4  uom_per_period,
37310        rules.rule_information5 advance_periods,
37311        TRANSLATE( rules.rule_information6,'!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_. ' ,'!' ) level_amount,
37312        TRANSLATE( rules.rule_information7,'!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' ,'!' ) invoice_offset_days,
37313        TRANSLATE( rules.rule_information8,'!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-,. ' ,'!' ) interface_offset_days,
37314        rules.rule_information9   comments,
37315        rules.rule_information10  due_arr_yn,
37316        rules.rule_information11 amount,
37317        null,
37318        rules.object_version_number object_version_number,
37319        null,
37320        null,
37321        1,
37322        SYSDATE,
37323        1,
37324        SYSDATE,
37325        2003
37326   from okc_rule_groups_b rgp,
37327        okc_rules_b rules
37328  where rgp.rgd_code = 'SVC_K'
37329    and rgp.id = rules.rgp_id
37330    and rules.rule_information_category = 'SLL'
37331    and rgp.id = p_rgp_id
37332    and rgp.cle_id = p_cle_id;
37333 End If;
37334 
37335   -- New code addition on Mar-16-2004 starts
37336 
37337   FND_FILE.PUT_LINE(FND_FILE.LOG ,'Successful on inserting rec in oks_stream_levels_b');
37338 
37339   OPEN  L_LVL_CSR ( p_cle_id );
37340   FETCH L_LVL_CSR BULK COLLECT INTO
37341                              RUL_IDI
37342                             ,CLE_IDI
37343                             ,DNZ_CHR_IDI
37344                             ,PARENT_CLE_IDI;
37345   CLOSE L_LVL_CSR;
37346   IF RUL_IDI.COUNT > 0 THEN
37347     FORALL I IN RUL_IDI.FIRST..RUL_IDI.LAST
37348       UPDATE OKS_LEVEL_ELEMENTS
37349          SET CLE_ID = CLE_IDI(I)
37350            , DNZ_CHR_ID = DNZ_CHR_IDI(I)
37351            , PARENT_CLE_ID = PARENT_CLE_IDI(I)
37352        WHERE RUL_ID = RUL_IDI(I);
37353   END IF;
37354 
37355   FND_FILE.PUT_LINE(FND_FILE.LOG ,'Successful update of oks_level_elements table ');
37356 
37357   -- New code addition on Mar-16-2004 ends
37358 
37359 
37360 X_RETURN_STATUS := 'S';
37361 
37362 EXCEPTION
37363 WHEN OTHERS THEN
37364 FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||SQLERRM);
37365 DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
37366 X_RETURN_STATUS := 'E';
37367 L_ERROR_MSG := SQLERRM;
37368 
37369 
37370 
37371 END SYNCHRONIZE_RULE_SLL;
37372 
37373 ---------------------------------------------------------------------------------------------
37374 --                  SYNCHRONIZE CODE FOR HEADER SLL RULE MIGRATION                         --
37375 ---------------------------------------------------------------------------------------------
37376 PROCEDURE SYNCHRONIZE_RULE_SLLH(P_RGP_ID IN NUMBER,P_CHR_ID IN NUMBER,P_US_YN IN BOOLEAN,X_RETURN_STATUS OUT NOCOPY VARCHAR2)
37377 IS
37378 
37379 L_RGP_ID  CONSTANT NUMBER := P_RGP_ID ;
37380 L_CHR_ID  CONSTANT NUMBER := P_CHR_ID ;
37381 L_ERROR_MSG VARCHAR2(2000);
37382 
37383 BEGIN
37384 
37385  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37386  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for HDR RULE SLL   ----------------------------');
37387  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37388 
37389 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
37390 
37391 DELETE FROM OKS_STREAM_LEVELS_B
37392 WHERE chr_id = P_CHR_ID;
37393 insert  into oks_stream_levels_b(
37394 ID,CHR_ID,CLE_ID,DNZ_CHR_ID,SEQUENCE_NO,UOM_CODE,START_DATE,END_DATE,
37395 LEVEL_PERIODS,UOM_PER_PERIOD,ADVANCE_PERIODS,LEVEL_AMOUNT,
37396 INVOICE_OFFSET_DAYS,INTERFACE_OFFSET_DAYS,COMMENTS,DUE_ARR_YN,
37397 AMOUNT,LINES_DETAILED_YN,OBJECT_VERSION_NUMBER,SECURITY_GROUP_ID,
37398 REQUEST_ID,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN)
37399 select rules.id id, rgp.chr_id chr_id, rgp.cle_id cle_id, rgp.dnz_chr_id
37400 	  dnz_chr_id, rules.rule_information1 sequence_no,
37401        rules.object1_id1 uom_code, to_date(rules.rule_information2,
37402        'yyyy/mm/dd hh24:mi:ss') start_date, null,
37403        rules.rule_information3 level_periods, rules.rule_information4
37404        uom_per_period, rules.rule_information5 advance_periods,
37405        rules.rule_information6 level_amount, replace(replace(substr(
37406        rule_information7, 0, length(RULE_INFORMATION7) -3 ), ','), '.')
37407        || replace(substr(RULE_INFORMATION7, -3), ',', '.')
37408        invoice_offset_days, replace(replace(substr(rule_information8, 0,
37409        length(RULE_INFORMATION8) -3 ), ','), '.') || replace(substr(
37410        RULE_INFORMATION8, -3), ', ','.') interface_offset_days,
37411        rules.rule_information9 comments, rules.rule_information10
37412        due_arr_yn, rules.rule_information11 amount, null,
37413        rules.object_version_number object_version_number, null, null, 1,
37414    	  SYSDATE, 1, SYSDATE, 2003
37415   from okc_rule_groups_b rgp,
37416 	  okc_rules_b rules
37417  where rgp.rgd_code = 'SVC_K'
37418    and rgp.id = P_RGP_ID
37419    and rgp.chr_id=P_CHR_ID
37420    and rules.rgp_id = rgp.id
37421    and rules.rule_information_category = 'SLL';
37422 
37423 X_RETURN_STATUS := 'S';
37424 
37425 EXCEPTION
37426   WHEN OTHERS THEN
37427        FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for SLL HDR Sync '||p_rgp_id||'with Error Message '||SQLERRM);
37428        DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
37429        X_RETURN_STATUS := 'E';
37430        L_ERROR_MSG := SQLERRM;
37431 
37432 END SYNCHRONIZE_RULE_SLLH;
37433 
37434 
37435 
37436 PROCEDURE SYNCHRONIZE_RULE_OFS(
37437 				P_RGP_ID IN NUMBER,
37438 				P_CLE_ID IN NUMBER,
37439 				P_DNZ_CHR_ID IN NUMBER,
37440 				P_MAJOR_VERSION IN NUMBER,
37441 				X_RETURN_STATUS OUT NOCOPY VARCHAR2) AS
37442 
37443 L_RGP_ID  CONSTANT NUMBER  := P_RGP_ID ;
37444 L_CLE_ID  CONSTANT NUMBER := P_CLE_ID ;
37445 L_DNZ_CHR_ID  CONSTANT NUMBER := P_DNZ_CHR_ID ;
37446 L_MAJOR_VERSION  CONSTANT NUMBER := P_MAJOR_VERSION ;
37447 L_ERROR_MSG                   VARCHAR2(2000);
37448 
37449 -----------------------------------------------------------------------------
37450 --Cursor to check if the records corresponding to CLE_ID exists
37451 --in oks_k_lines_b
37452 -----------------------------------------------------------------------------
37453 
37454 Cursor Cur_Klin_exists(p_cleid in number) IS
37455 select 'x'
37456 from  oks_k_lines_b
37457 where cle_id=p_cleid;
37458 
37459 Cursor Cur_Klinh_exists(p_cleid in number,p_major_version IN NUMBER) IS
37460 select 'x'
37461 from  oks_k_lines_bh
37462 where cle_id=p_cleid
37463 AND  major_version = p_major_version;
37464 -----------------------------------------------------------------------------
37465 --Cursor to check if the records corresponding to rgp_id exists
37466 --in okc_rule_groups_b
37467 -----------------------------------------------------------------------------
37468 
37469 Cursor Cur_RGP_exists(P_RGP_ID in number) IS
37470 select 'x'
37471 from  okc_rule_groups_b
37472 where id = P_RGP_ID
37473 and   cle_id is not null;
37474 
37475 Cursor Cur_RGPH_exists(P_RGP_ID in number,p_major_version IN NUMBER) IS
37476 select 'x'
37477 from  okc_rule_groups_bh
37478 where id = P_RGP_ID
37479 AND   major_version = p_major_version
37480 and   cle_id is not null;
37481 -----------------------------------------------------------------------------
37482 --Cursor to get Offset Period and Duration
37483 -----------------------------------------------------------------------------
37484 
37485 Cursor Cur_Off_Period(l_cleid in number,l_rgp_id IN NUMBER) IS
37486 	SELECT TIM2.UOM_CODE,TIM2.DURATION
37487 	FROM okc_timevalues_b TIM,okc_timevalues_b TIM2 ,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
37488 	WHERE  RGP.CLE_ID = l_cle_id
37489 	AND    RUL.rule_information1 = TIM.Id
37490 	AND    RUL.rule_information_category = 'OFS'
37491 	AND    RGP.ID = RUL.RGP_ID
37492 	AND    RUL.DNZ_CHR_ID = TIM.DNZ_CHR_ID
37493 	AND    RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
37494 	AND    TIM2.ID = TIM.TVE_ID_STARTED
37495 	AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
37496 	AND    RGP.ID = L_RGP_ID;
37497 
37498 Cursor Cur_Off_Period_H(l_cleid in number,l_rgp_id IN NUMBER,l_major_version IN NUMBER) IS
37499 	SELECT TIM2.UOM_CODE,TIM2.DURATION
37500 	FROM okc_timevalues_bh TIM,okc_timevalues_bh TIM2 ,okc_rules_bh Rul,OKC_RULE_GROUPS_BH RGP
37501 	WHERE  RGP.CLE_ID = l_cle_id
37502 	AND    RUL.rule_information1 = TIM.Id
37503 	AND    RUL.rule_information_category = 'OFS'
37504 	AND    RGP.ID = RUL.RGP_ID
37505 	AND    RUL.DNZ_CHR_ID = TIM.DNZ_CHR_ID
37506 	AND    RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
37507 	AND    TIM2.ID = TIM.TVE_ID_STARTED
37508 	AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
37509 	AND    RGP.ID = L_RGP_ID
37510 	AND    rgp.major_version = l_major_version
37511 	AND    rgp.major_Version = Rul.major_version
37512 	AND    rul.major_Version = tim.major_version
37513 	AND    tim.major_version = tim2.major_version;
37514 
37515 l_check_var Varchar2(2);
37516 l_off_period VARCHAR2(100) ;
37517 l_off_duraion NUMBER;
37518 
37519 BEGIN
37520 
37521  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37522  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for LINE RULE OFS  ----------------------------');
37523  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37524 
37525 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
37526 
37527 
37528 IF L_MAJOR_VERSION IS NULL THEN
37529 
37530    l_check_var := NULL;
37531    Open Cur_RGP_exists(P_RGP_ID);
37532    Fetch Cur_RGP_exists into l_check_var;
37533    Close Cur_RGP_exists;
37534 
37535    If(l_check_var is null) Then
37536 
37537       Delete from oks_k_lines_b where cle_id = P_Cle_ID;
37538 
37539    else
37540 
37541       l_check_var:=NULL;
37542 
37543       Open Cur_Klin_exists(P_Cle_ID);
37544       Fetch Cur_Klin_exists into l_check_var;
37545       Close Cur_Klin_exists;
37546 
37547 	If(l_check_var is NOT NULL) THEN
37548 
37549 
37550 	UPDATE OKS_K_LINES_B T1
37551 	    SET (T1.offset_period ,T1.offset_duration) =
37552 	        (SELECT TIM2.UOM_CODE,TIM2.DURATION
37553 	         FROM okc_timevalues_b TIM,okc_timevalues_b TIM2 ,okc_rules_b Rul,OKC_RULE_GROUPS_B RGP
37554 	         WHERE  RGP.CLE_ID = l_cle_id
37555 	         AND    RUL.rule_information1 = TIM.Id
37556 	         AND    RUL.rule_information_category = 'OFS'
37557 	         AND    RGP.ID = RUL.RGP_ID
37558 	         AND    RUL.DNZ_CHR_ID = TIM.DNZ_CHR_ID
37559 	         AND    RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
37560              AND    TIM2.ID = TIM.TVE_ID_STARTED
37561              AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
37562              AND    RGP.ID = L_RGP_ID)
37563         WHERE T1.CLE_ID = l_cle_id
37564              AND  T1.DNZ_CHR_ID = l_dnz_chr_id;
37565 
37566 	ELSE
37567 
37568 	      Open Cur_Off_Period(P_Cle_ID,P_RGP_ID);
37569 	      Fetch Cur_Off_Period into l_off_period,l_off_duraion;
37570 	      Close Cur_Off_Period;
37571 
37572 
37573               INSERT INTO OKS_K_LINES_B
37574                        ( ID
37575                         ,CLE_ID
37576                         ,DNZ_CHR_ID
37577             			,OFFSET_PERIOD
37578 			            ,OFFSET_DURATION
37579                         ,CREATED_BY
37580                         ,CREATION_DATE
37581                         ,LAST_UPDATED_BY
37582                         ,LAST_UPDATE_DATE
37583                         ,LAST_UPDATE_LOGIN
37584                         ,OBJECT_VERSION_NUMBER  )
37585                  VALUES (P_CLE_ID
37586                         ,P_CLE_ID
37587                         ,L_DNZ_CHR_ID
37588 			,l_off_period
37589 			,l_off_duraion
37590                         ,1
37591                         ,sysdate
37592                         ,1
37593                         ,sysdate
37594                         ,2003
37595                         ,1   );
37596 	END IF;
37597 
37598   end if;
37599 END IF;
37600 
37601 IF L_MAJOR_VERSION IS NOT NULL THEN
37602 
37603    l_check_var := NULL;
37604    Open Cur_RGPH_exists(P_RGP_ID,l_major_version);
37605    Fetch Cur_RGPH_exists into l_check_var;
37606    Close Cur_RGPH_exists;
37607 
37608    If(l_check_var is null) Then
37609 
37610       	DELETE FROM OKS_K_LINES_BH
37611 	WHERE cle_id = P_Cle_ID
37612 	AND   major_version = l_major_version;
37613 
37614    else
37615 
37616 
37617       l_check_var:=NULL;
37618 
37619       Open Cur_Klinh_exists(P_Cle_ID,l_major_version);
37620       Fetch Cur_Klinh_exists into l_check_var;
37621       Close Cur_Klinh_exists;
37622 
37623 	If(l_check_var is NOT NULL) THEN
37624 
37625 
37626 	UPDATE OKS_K_LINES_BH T1
37627 	    SET (T1.offset_period ,T1.offset_duration) =
37628 	        (SELECT TIM2.UOM_CODE,TIM2.DURATION
37629 	         FROM okc_timevalues_bh TIM ,okc_timevalues_bh TIM2,okc_rules_bh Rul,OKC_RULE_GROUPS_BH RGP
37630 	         WHERE  RGP.CLE_ID = l_cle_id
37631 	         AND    RUL.rule_information1 = TIM.Id
37632 	         AND    RUL.rule_information_category = 'OFS'
37633 	         AND    RGP.ID = RUL.RGP_ID
37634 	         AND    RUL.DNZ_CHR_ID = TIM.DNZ_CHR_ID
37635 	         AND    RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
37636              AND    TIM2.ID = TIM.TVE_ID_STARTED
37637              AND    TIM.DNZ_CHR_ID = TIM2.DNZ_CHR_ID
37638              	 AND    RGP.MAJOR_VERSION = RUL.MAJOR_VERSION
37639              	 AND    RGP.MAJOR_VERSION = l_major_version
37640              	 AND    RUL.MAJOR_VERSION = TIM.MAJOR_VERSION
37641                  AND    TIM2.MAJOR_VERSION = TIM.MAJOR_VERSION
37642                  AND    RGP.ID = L_RGP_ID)
37643         WHERE T1.CLE_ID = l_cle_id
37644              AND  T1.DNZ_CHR_ID = l_dnz_chr_id
37645 	     AND  T1.Major_Version = l_major_version;
37646 
37647 
37648 
37649 	ELSE
37650 
37651 	      Open Cur_Off_Period_H(P_Cle_ID,P_RGP_ID,l_major_version);
37652 	      Fetch Cur_Off_Period_H into l_off_period,l_off_duraion;
37653 	      Close Cur_Off_Period_H;
37654 
37655 
37656               INSERT INTO OKS_K_LINES_BH
37657                        ( ID
37658                         ,CLE_ID
37659                         ,DNZ_CHR_ID
37660                         ,MAJOR_VERSION
37661             			,OFFSET_PERIOD
37662 			            ,OFFSET_DURATION
37663                         ,CREATED_BY
37664                         ,CREATION_DATE
37665                         ,LAST_UPDATED_BY
37666                         ,LAST_UPDATE_DATE
37667                         ,LAST_UPDATE_LOGIN
37668                         ,OBJECT_VERSION_NUMBER  )
37669                  VALUES (P_CLE_ID
37670                         ,P_CLE_ID
37671                         ,L_DNZ_CHR_ID
37672                         ,P_MAJOR_VERSION
37673             			,l_off_period
37674 			             ,l_off_duraion
37675                         ,1
37676                         ,sysdate
37677                         ,1
37678                         ,sysdate
37679                         ,2003
37680                         ,1   );
37681 	END IF;
37682 
37683 
37684    end if;
37685 
37686 END IF;
37687 
37688 X_RETURN_STATUS := 'S';
37689 
37690 EXCEPTION
37691 WHEN OTHERS THEN
37692 DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
37693 X_RETURN_STATUS := 'E';
37694 L_ERROR_MSG := SQLERRM;
37695 FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
37696 
37697 END SYNCHRONIZE_RULE_OFS;
37698 
37699 
37700 PROCEDURE SYNCHRONIZE_RULE_CVR(
37701 				P_RGP_ID IN NUMBER,
37702 				P_CLE_ID IN NUMBER,
37703 				P_DNZ_CHR_ID IN NUMBER,
37704 				P_MAJOR_VERSION IN NUMBER,
37705 				X_RETURN_STATUS OUT NOCOPY VARCHAR2) AS
37706 
37707 L_RGP_ID  CONSTANT NUMBER  := P_RGP_ID ;
37708 L_CLE_ID  CONSTANT NUMBER := P_CLE_ID ;
37709 L_DNZ_CHR_ID  CONSTANT NUMBER := P_DNZ_CHR_ID ;
37710 L_MAJOR_VERSION  CONSTANT NUMBER := P_MAJOR_VERSION ;
37711 L_ERROR_MSG                   VARCHAR2(2000);
37712 
37713 Cursor Cur_RGP_exists(p_RGP_ID in number) IS
37714 select 'x'
37715 from  okc_rule_groups_b
37716 where id = p_RGP_ID
37717 and   cle_id is not null;
37718 
37719 Cursor Cur_RGPH_exists(P_RGP_ID in number,p_major_version IN NUMBER) IS
37720 select 'x'
37721 from  okc_rule_groups_bh
37722 where id = P_RGP_ID
37723 AND   major_version = p_major_version
37724 and   cle_id is not null;
37725 
37726 l_check_var VARCHAR2(1);
37727 
37728 BEGIN
37729 
37730  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37731  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for LINE RULE CVR  ----------------------------');
37732  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37733 
37734 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
37735 
37736 IF L_MAJOR_VERSION IS NULL THEN
37737 
37738 	BEGIN
37739 		l_check_var := NULL;
37740 		Open Cur_RGP_exists(L_RGP_ID);
37741 		Fetch Cur_RGP_exists into l_check_var;
37742 		Close Cur_RGP_exists;
37743 
37744 		IF(l_check_var is null) THEN
37745 			Delete from oks_k_lines_b where cle_id = L_Cle_ID;
37746 		END IF;
37747 
37748 		DELETE  OKS_COVERAGE_TIMES
37749 		WHERE   COV_TZE_LINE_ID IN (SELECT ID FROM OKS_COVERAGE_TIMEZONES
37750 							WHERE  CLE_ID = L_CLE_ID AND DNZ_CHR_ID = L_DNZ_CHR_ID)
37751 		AND	DNZ_CHR_ID = L_DNZ_CHR_ID;
37752 
37753 		DELETE  OKS_COVERAGE_TIMEZONES
37754 		WHERE  CLE_ID = L_CLE_ID
37755 		AND	DNZ_CHR_ID = L_DNZ_CHR_ID;
37756 
37757 		--COMMIT;
37758 
37759 
37760 
37761 		insert  into oks_coverage_timezones oct (
37762 		       id, cle_id, dnz_chr_id, timezone_id, default_yn, created_by,
37763 		       creation_date, last_updated_by, last_update_date,
37764 		       last_update_login, security_group_id, program_application_id,
37765 		       program_id, program_update_date, request_id, object_version_number)
37766 		select
37767 		       distinct rgp.cle_id, rgp.cle_id, rgp.dnz_chr_id, times.tze_id, 'Y',
37768 		       2003, sysdate, 2003, sysdate, 2003, null, null, null, null, null, 1
37769 		  from okc_rule_groups_b rgp,
37770 		       okc_rules_b rules,
37771 		       okc_timevalues_b times,
37772 		       okc_cover_times cvt
37773 		 where rgp.id = rules.rgp_id
37774 		   and rgp.dnz_chr_id = rules.dnz_chr_id
37775 		   and rules.rule_information_category = 'CVR'
37776 		   and rules.id = cvt.rul_id
37777 		   and cvt.tve_id = times.id
37778 		   and rgp.id = L_RGP_ID
37779 		   and rgp.dnz_chr_id = L_DNZ_CHR_ID
37780 		   and rgp.cle_id = L_CLE_ID;
37781 
37782 
37783 
37784 		insert into oks_coverage_times oct (
37785 		       id, cov_tze_line_id, dnz_chr_id, start_hour, start_minute,
37786 		       end_hour, end_minute, monday_yn, tuesday_yn, wednesday_yn,
37787 		       thursday_yn, friday_yn, saturday_yn, sunday_yn, created_by,
37788 		       creation_date, last_updated_by, last_update_date,
37789 		       last_update_login, security_group_id, program_application_id,
37790 		       program_id, program_update_date, request_id, object_version_number)
37791 		select
37792 		       time_val.id, tze.id tze_id, time_val.dnz_chr_id, time_val.start_hour,
37793 		       time_val.start_minute, time_val.end_hour, time_val.end_minute,
37794 			decode( time_val.start_day_of_week, 'MON', 'Y', 'N') monday_yn,
37795 			decode( time_val.start_day_of_week, 'TUE', 'Y', 'N') tuesday_yn,
37796 			decode (time_val.start_day_of_week, 'WED', 'Y', 'N') wednesday_yn,
37797 		       decode(time_val.start_day_of_week, 'THU', 'Y', 'N') thursday_yn,
37798 		       decode(time_val.start_day_of_week, 'FRI', 'Y', 'N') friday_yn,
37799 		       decode(time_val.start_day_of_week, 'SAT', 'Y', 'N') saturday_yn,
37800 		       decode(time_val.start_day_of_week, 'SUN', 'Y', 'N' ) sunday_yn, 2003,
37801 		       sysdate, 2003, sysdate, 2003, null, null, null, null, null, 1
37802 		  from okc_time_ig_startend_val_v time_val,
37803 		       okc_cover_times cvt,
37804 		       okc_rules_b rules,
37805 		       okc_rule_groups_b rgp,
37806 		       oks_coverage_timezones tze
37807 		 where time_val.id = cvt.tve_id
37808 		   and cvt.rul_id = rules.id
37809 		   and time_val.dnz_chr_id = cvt.dnz_chr_id
37810 		   and rules.rule_information_category = 'CVR'
37811 		   and rules.dnz_chr_id = rgp.dnz_chr_id
37812 		   and rules.rgp_id = rgp.id
37813 		   and rgp.cle_id = tze.id
37814 		   and rgp.dnz_chr_id = tze.dnz_chr_id
37815 		   and rgp.id = L_RGP_ID
37816 		   and rgp.dnz_chr_id = L_DNZ_CHR_ID
37817 		   and rgp.cle_id = L_CLE_ID;
37818 
37819 
37820 	END;
37821 
37822 ELSE
37823 
37824 --FOR HISTORY
37825 
37826 	BEGIN
37827 
37828 		l_check_var := NULL;
37829 		Open Cur_RGPH_exists(L_RGP_ID,L_MAJOR_VERSION);
37830 		Fetch Cur_RGPH_exists into l_check_var;
37831 		Close Cur_RGPH_exists;
37832 
37833 		If(l_check_var is null) Then
37834 
37835 			Delete from oks_k_lines_bh where cle_id = P_Cle_ID and major_version = L_MAJOR_VERSION;
37836 		END IF;
37837 
37838 		DELETE  OKS_COVERAGE_TIMES_H
37839 		WHERE   COV_TZE_LINE_ID IN (SELECT ID FROM OKS_COVERAGE_TIMEZONES_H
37840 							WHERE  CLE_ID = L_CLE_ID AND MAJOR_VERSION = L_MAJOR_VERSION
37841 							AND	DNZ_CHR_ID = L_DNZ_CHR_ID)
37842 		AND	MAJOR_VERSION = L_MAJOR_VERSION
37843 		AND	DNZ_CHR_ID = L_DNZ_CHR_ID;
37844 
37845 		DELETE  OKS_COVERAGE_TIMEZONES_H
37846 		WHERE  CLE_ID = L_CLE_ID
37847 		AND	DNZ_CHR_ID = L_DNZ_CHR_ID
37848 		AND	MAJOR_VERSION = L_MAJOR_VERSION;
37849 
37850 
37851 		INSERT INTO OKS_COVERAGE_TIMEZONES_H oct (
37852 		       id, cle_id, dnz_chr_id, timezone_id, default_yn, created_by,
37853 		       creation_date, last_updated_by, last_update_date,
37854 		       last_update_login, security_group_id, program_application_id,
37855 		       program_id, program_update_date, request_id, object_version_number,major_version)
37856 		select distinct rgp.cle_id, rgp.cle_id, rgp.dnz_chr_id, times.tze_id, 'Y',
37857 		       1, sysdate, 1, sysdate, 2003, null, null, null, null, null,1, times.major_version
37858 		  from okc_rule_groups_bh rgp,
37859 		       okc_rules_bh rules,
37860 		       okc_timevalues_bh times,
37861 		       okc_cover_times_h cvt
37862 		 where rgp.id = rules.rgp_id
37863 		   and rgp.dnz_chr_id = rules.dnz_chr_id
37864 		   and rules.rule_information_category = 'CVR'
37865 		   and rules.id = cvt.rul_id
37866 		   and cvt.tve_id = times.id
37867 		   and rgp.major_version = rules.major_version
37868 		   and cvt.major_version = rules.major_version
37869 		   and cvt.major_version = times.major_version
37870 		   and rgp.id = L_RGP_ID
37871 		   and rgp.dnz_chr_id = L_DNZ_CHR_ID
37872 		   and rgp.cle_id = L_CLE_ID
37873 		   and rgp.major_version = l_major_version;
37874 
37875 
37876 
37877 		INSERT INTO OKS_COVERAGE_TIMES_H oct (
37878 		       id, cov_tze_line_id, dnz_chr_id, start_hour, start_minute,
37879 		       end_hour, end_minute, monday_yn, tuesday_yn, wednesday_yn,
37880 		       thursday_yn, friday_yn, saturday_yn, sunday_yn, created_by,
37881 		       creation_date, last_updated_by, last_update_date,
37882 		       last_update_login, security_group_id, program_application_id,
37883 		       program_id, program_update_date, request_id,major_version, object_version_number)
37884 		select
37885 		       time_val.id, tze.id tze_id, time_val.dnz_chr_id, time_val.start_hour,
37886 		       time_val.start_minute, time_val.end_hour, time_val.end_minute,
37887 			decode( time_val.start_day_of_week, 'MON', 'Y', 'N') monday_yn,
37888 			decode( time_val.start_day_of_week, 'TUE', 'Y', 'N') tuesday_yn,
37889 			decode (time_val.start_day_of_week, 'WED', 'Y', 'N') wednesday_yn,
37890 		       decode(time_val.start_day_of_week, 'THU', 'Y', 'N') thursday_yn,
37891 		       decode(time_val.start_day_of_week, 'FRI', 'Y', 'N') friday_yn,
37892 		       decode(time_val.start_day_of_week, 'SAT', 'Y', 'N') saturday_yn,
37893 		       decode(time_val.start_day_of_week, 'SUN', 'Y', 'N' ) sunday_yn, 1,
37894 		       sysdate, 1, sysdate, 2003, null, null, null, null, null,tze.major_version, 1
37895 		  from oks_covtimes_hist_v time_val, --oks_time_ig_startend_val_hv time_val,
37896 		       okc_cover_times_h cvt,
37897 		       okc_rules_bh rules,
37898 		       okc_rule_groups_bh rgp,
37899 		       oks_coverage_timezones_h tze
37900 		 where time_val.id = cvt.tve_id
37901 		   and cvt.rul_id = rules.id
37902 		   and time_val.dnz_chr_id = cvt.dnz_chr_id
37903 		   and rules.rule_information_category = 'CVR'
37904 		   and rules.dnz_chr_id = rgp.dnz_chr_id
37905 		   and rules.rgp_id = rgp.id
37906 		   and rgp.id = L_RGP_ID
37907 		   and rgp.dnz_chr_id = L_DNZ_CHR_ID
37908 		   and rgp.cle_id = L_CLE_ID
37909 		   and rgp.cle_id = tze.id
37910 		   and rgp.dnz_chr_id = tze.dnz_chr_id
37911 		   and time_val.major_version = cvt.major_version
37912 		   and cvt.major_version = rules.major_version
37913 		   and rules.major_version = rgp.major_version
37914 		   and rgp.major_version = tze.major_version
37915 		   and rgp.major_version = l_major_version;
37916 
37917 
37918 	END;
37919 
37920 END IF;
37921 
37922 X_RETURN_STATUS := 'S';
37923 
37924 EXCEPTION
37925 WHEN OTHERS THEN
37926 DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
37927 X_RETURN_STATUS := 'E';
37928 L_ERROR_MSG := SQLERRM;
37929 FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
37930 
37931 END SYNCHRONIZE_RULE_CVR;
37932 
37933 Procedure SYNCHRONIZE_RULE_ATM(
37934 				P_RGP_ID IN NUMBER,
37935 				P_CLE_ID IN NUMBER,
37936 				P_DNZ_CHR_ID IN NUMBER,
37937 				X_RETURN_STATUS OUT NOCOPY VARCHAR2) AS
37938 
37939 L_RGP_ID  CONSTANT NUMBER  := P_RGP_ID ;
37940 L_CLE_ID  CONSTANT NUMBER := P_CLE_ID ;
37941 L_DNZ_CHR_ID  CONSTANT NUMBER := P_DNZ_CHR_ID ;
37942 L_ERROR_MSG                   VARCHAR2(2000);
37943 l_check_var     VARCHAR2(1) := NULL;
37944 CURSOR GET_RCN_RSN_INFO (L_RGP_ID IN NUMBER,L_CLE_ID IN NUMBER,L_DNZ_CHR_ID IN NUMBER) IS
37945 SELECT
37946 RGP.CLE_ID  ID,
37947 RGP.CLE_ID  CLE_ID,
37948 RGP.DNZ_CHR_ID DNZ_RGP_ID,
37949 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))RCN_INCIDENT_SEVERITY_ID,
37950 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))RCN_PDF_ID,
37951 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))RCN_REACT_TIME_NAME,
37952 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))RCN_WORK_THRU_YN,
37953 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))RCN_REACT_ACTIVE_YN,
37954 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))RSN_REACT_TIME_NAME
37955 FROM    OKC_RULE_GROUPS_B RGP,
37956         OKC_RULES_B RUL
37957 WHERE   RGP.ID  = RUL.RGP_ID
37958 AND    RUL.RULE_INFORMATION_CATEGORY IN ('RCN','RSN')
37959 AND    RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
37960 AND    RGP.CLE_ID IS NOT NULL
37961 AND RGP.ID  = L_RGP_ID
37962 AND RGP.CLE_ID  = L_CLE_ID
37963 AND RGP.DNZ_CHR_ID  = L_DNZ_CHR_ID
37964 GROUP BY RGP.CLE_ID ,RGP.CLE_ID, RGP.DNZ_CHR_ID;
37965 
37966 
37967 REC_RCN_RSN_INFO GET_RCN_RSN_INFO%ROWTYPE;
37968 
37969 Cursor Cur_Klin_exists(p_cleid in number) IS
37970 select 'x'
37971 from  oks_k_lines_b
37972 where cle_id=p_cleid;
37973  L_USERENV_LANG               VARCHAR2(100) := OKC_UTIL.get_userenv_lang ;
37974  l_NOT_FOUND NUMBER := 0;
37975 
37976 BEGIN ----MAIN BEGIN
37977  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37978  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for LINE RULE RCN/RSN--------------------------');
37979  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
37980 
37981 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
37982 
37983 DELETE   OKS_ACTION_TIMES
37984 WHERE  CLE_ID = L_CLE_ID
37985 AND	DNZ_CHR_ID = L_DNZ_CHR_ID;
37986 
37987 DELETE   OKS_ACTION_TIME_TYPES
37988 WHERE   CLE_ID = L_CLE_ID
37989 AND	DNZ_CHR_ID = L_DNZ_CHR_ID;
37990 
37991 BEGIN
37992 
37993 OPEN GET_RCN_RSN_INFO (L_RGP_ID ,L_CLE_ID,L_DNZ_CHR_ID );
37994 l_NOT_FOUND := 0;
37995 FETCH  GET_RCN_RSN_INFO INTO REC_RCN_RSN_INFO;
37996 
37997 	IF GET_RCN_RSN_INFO%NOTFOUND THEN
37998 		l_NOT_FOUND := 1;
37999 	END IF;
38000 
38001 CLOSE GET_RCN_RSN_INFO;
38002 
38003       l_check_var:=NULL;
38004 
38005       Open Cur_Klin_exists(L_Cle_ID);
38006       Fetch Cur_Klin_exists into l_check_var;
38007       Close Cur_Klin_exists;
38008 
38009 	IF ((l_check_var is NOT NULL) AND (l_NOT_FOUND = 1) ) THEN
38010 
38011 		DELETE OKS_K_LINES_TL
38012 		WHERE  ID IN (SELECT ID FROM OKS_K_LINES_B 	WHERE CLE_ID = l_CLE_ID
38013 								AND DNZ_CHR_ID = L_DNZ_CHR_ID);
38014 
38015 		DELETE OKS_K_LINES_B
38016 		WHERE CLE_ID = l_CLE_ID;
38017 
38018     	ELSIF((l_check_var is NOT NULL) AND (l_NOT_FOUND = 0))  THEN
38019 
38020 
38021         --Updating oks_k_lines_b
38022         BEGIN
38023             UPDATE OKS_K_LINES_B SET
38024             INCIDENT_SEVERITY_ID = REC_RCN_RSN_INFO.RCN_INCIDENT_SEVERITY_ID,
38025             PDF_ID              = REC_RCN_RSN_INFO.RCN_PDF_ID,
38026             --REACT_TIME_NAME     = REC_RCN_RSN_INFO.RCN_REACT_TIME_NAME,
38027             WORK_THRU_YN        =   REC_RCN_RSN_INFO.RCN_WORK_THRU_YN,
38028             REACT_ACTIVE_YN     = REC_RCN_RSN_INFO.RCN_REACT_ACTIVE_YN
38029             WHERE CLE_ID = L_CLE_ID
38030 	    AND DNZ_CHR_ID = L_DNZ_CHR_ID;
38031 
38032             FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST    LOOP
38033                 UPDATE  OKS_K_LINES_TL SET
38034                         REACT_TIME_NAME     = REC_RCN_RSN_INFO.RCN_REACT_TIME_NAME
38035                 WHERE   id= (SELECT id FROM OKS_K_LINES_B
38036 				WHERE CLE_ID = L_CLE_ID
38037 				AND DNZ_CHR_ID = L_DNZ_CHR_ID)
38038                 AND     language = OKC_UTIL.g_language_code(lang_i)
38039                 AND     source_lang = L_USERENV_LANG ;
38040             END LOOP;
38041         END;
38042     ELSE
38043         BEGIN
38044 	  IF (l_check_var is NOT NULL) THEN
38045             INSERT INTO OKS_K_LINES_B (
38046                                         ID
38047                                         ,CLE_ID
38048                                         ,DNZ_CHR_ID
38049                                         ,INCIDENT_SEVERITY_ID
38050                                         ,PDF_ID
38051                                         ,WORK_THRU_YN
38052                                         ,REACT_ACTIVE_YN
38053 					,OBJECT_VERSION_NUMBER
38054 					,CREATED_BY
38055 					,CREATION_DATE
38056 					,LAST_UPDATED_BY
38057 					,LAST_UPDATE_DATE
38058 					,LAST_UPDATE_LOGIN)
38059                 VALUES
38060                                        (
38061                                          REC_RCN_RSN_INFO.ID
38062                                         ,REC_RCN_RSN_INFO.CLE_ID
38063                                         ,REC_RCN_RSN_INFO.DNZ_RGP_ID
38064                                         ,REC_RCN_RSN_INFO.RCN_INCIDENT_SEVERITY_ID
38065                                         ,REC_RCN_RSN_INFO.RCN_PDF_ID
38066                                         ,REC_RCN_RSN_INFO.RCN_WORK_THRU_YN
38067                                         ,REC_RCN_RSN_INFO.RCN_REACT_ACTIVE_YN
38068 					,2003
38069                                         ,2003
38070                                         ,SYSDATE
38071                                         ,2003
38072                                         ,SYSDATE
38073                                         ,2003);
38074 
38075 
38076             FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST    LOOP
38077                 INSERT INTO OKS_K_LINES_TL(
38078                                             ID
38079                                             ,LANGUAGE
38080                                             ,SOURCE_LANG
38081                                             ,SFWT_FLAG
38082                                             ,INVOICE_TEXT
38083                                             ,IB_TRX_DETAILS
38084                                             ,STATUS_TEXT
38085                                             ,REACT_TIME_NAME
38086                                             ,SECURITY_GROUP_ID
38087                                             ,CREATED_BY
38088                                             ,CREATION_DATE
38089                                             ,LAST_UPDATED_BY
38090                                             ,LAST_UPDATE_DATE
38091                                             ,LAST_UPDATE_LOGIN)
38092                 VALUES
38093                                            (REC_RCN_RSN_INFO.ID
38094                                            ,OKC_UTIL.g_language_code(lang_i)
38095                                            ,L_USERENV_LANG
38096                                            ,'S'
38097                                            ,NULL
38098                                            ,NULL
38099                                            ,NULL
38100                                            ,REC_RCN_RSN_INFO.RCN_REACT_TIME_NAME
38101                                            ,NULL
38102                                            ,2003
38103                                            ,SYSDATE
38104                                            ,2003
38105                                            ,SYSDATE
38106                                            ,2003);
38107 
38108 
38109                     END LOOP;
38110            END IF;
38111         END;
38112     END IF;
38113 
38114 
38115 
38116 END;
38117 
38118 BEGIN
38119     IF REC_RCN_RSN_INFO.RCN_REACT_TIME_NAME IS NOT NULL THEN
38120                     INSERT INTO oks_action_time_types
38121                                                             (ID,
38122                                                             CLE_ID,
38123                                                             DNZ_CHR_ID,
38124                                                             ACTION_TYPE_CODE,
38125                                                             SECURITY_GROUP_ID,
38126                                                             PROGRAM_APPLICATION_ID,
38127                                                             PROGRAM_ID,
38128                                                             PROGRAM_UPDATE_DATE,
38129                                                             REQUEST_ID,
38130                                                             CREATED_BY,
38131                                                             CREATION_DATE,
38132                                                             LAST_UPDATED_BY,
38133                                                             LAST_UPDATE_DATE,
38134                                                             LAST_UPDATE_LOGIN,
38135                                                             OBJECT_VERSION_NUMBER)
38136                         VALUES
38137                                                            (okc_p_util.raw_to_number(sys_guid())
38138                                                             ,REC_RCN_RSN_INFO.CLE_ID
38139                                                             ,REC_RCN_RSN_INFO.DNZ_RGP_ID
38140                                                             ,'RCN',NULL,NULL,NULL,NULL,NULL,
38141                                                             2003,
38142                                                             SYSDATE,
38143                                                             2003,
38144                                                             sysdate,
38145                                                             2003,
38146                                                             2003);
38147 
38148     END IF;
38149 
38150     IF REC_RCN_RSN_INFO.RSN_REACT_TIME_NAME IS NOT NULL THEN
38151                     INSERT INTO oks_action_time_types
38152                                                             (ID,
38153                                                             CLE_ID,
38154                                                             DNZ_CHR_ID,
38155                                                             ACTION_TYPE_CODE,
38156                                                             SECURITY_GROUP_ID,
38157                                                             PROGRAM_APPLICATION_ID,
38158                                                             PROGRAM_ID,
38159                                                             PROGRAM_UPDATE_DATE,
38160                                                             REQUEST_ID,
38161                                                             CREATED_BY,
38162                                                             CREATION_DATE,
38163                                                             LAST_UPDATED_BY,
38164                                                             LAST_UPDATE_DATE,
38165                                                             LAST_UPDATE_LOGIN,
38166                                                             OBJECT_VERSION_NUMBER)
38167                         VALUES
38168                                                            (okc_p_util.raw_to_number(sys_guid())
38169                                                             ,REC_RCN_RSN_INFO.CLE_ID
38170                                                             ,REC_RCN_RSN_INFO.DNZ_RGP_ID
38171                                                             ,'RSN',NULL,NULL,NULL,NULL,NULL,
38172                                                             2003,
38173                                                             SYSDATE,
38174                                                             2003,
38175                                                             SYSDATE,
38176                                                             2003,
38177                                                             2003);
38178 
38179     END IF;
38180 
38181 END;
38182 
38183 
38184 BEGIN
38185 
38186 insert into oks_action_times oat (
38187        id, cov_action_type_id, cle_id, dnz_chr_id, sun_duration,
38188        mon_duration, tue_duration, wed_duration, thu_duration,
38189        fri_duration, sat_duration, uom_code, created_by, creation_date,
38190        last_updated_by, last_update_date, last_update_login,
38191        security_group_id, program_application_id, program_id,
38192        program_update_date, request_id, object_version_number)
38193 select   rin.rul_id, att.id, rgp.cle_id, att.dnz_chr_id,
38194         max(decode(tim.day_of_week, 'SUN', rin.duration)),
38195         max(decode( tim.day_of_week, 'MON', rin.duration)),
38196         max(decode( tim.day_of_week, 'TUE', rin.duration)),
38197         max(decode( tim.day_of_week, 'WED', rin.duration)),
38198         max(decode( tim.day_of_week, 'THU', rin.duration)),
38199         max(decode( tim.day_of_week, 'FRI', rin.duration)),
38200         max(decode( tim.day_of_week, 'SAT', rin.duration)), 'MIN', 2003, sysdate, 2003,
38201        sysdate, 2003, null, null, null, null, null, 1
38202   from okc_timevalues_b tim,
38203        okc_react_intervals rin,
38204        okc_rules_b rul,
38205        okc_rule_groups_b rgp,
38206        oks_action_time_types att
38207  where att.cle_id = rgp.cle_id
38208    and rgp.id = rul.rgp_id
38209    and rul.rule_information_category in ('RCN', 'RSN')
38210    and rul.id = rin.rul_id
38211    and rin.tve_id = tim.id
38212    and rgp.dnz_chr_id = rul.dnz_chr_id
38213    and rul.dnz_chr_id = att.dnz_chr_id
38214    and tim.dnz_chr_id = rin.dnz_chr_id
38215    and tim.dnz_chr_id = rgp.dnz_chr_id
38216    and tim.dnz_chr_id = rul.dnz_chr_id
38217    and tim.dnz_chr_id = att.dnz_chr_id
38218    and rul.rule_information_category = att.action_type_code
38219    and rgp.dnz_chr_id = l_dnz_chr_id
38220    and rgp.cle_id = l_cle_id
38221    and rgp.id = l_rgp_id
38222  group by rin.rul_id, att.id, rgp.cle_id, att.dnz_chr_id;
38223 
38224 END;
38225 
38226 
38227 
38228 X_RETURN_STATUS := 'S';
38229 
38230 EXCEPTION
38231 WHEN OTHERS THEN
38232 DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
38233 X_RETURN_STATUS := 'E';
38234 L_ERROR_MSG := SQLERRM;
38235 FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
38236 
38237 END SYNCHRONIZE_RULE_ATM;
38238 
38239 
38240 
38241 Procedure SYNCHRONIZE_RULE_ATMH(P_RGP_ID IN NUMBER,
38242 				P_CLE_ID IN NUMBER,
38243 				P_DNZ_CHR_ID IN NUMBER,
38244 				P_MAJOR_VERSION IN NUMBER,
38245 				X_RETURN_STATUS OUT NOCOPY VARCHAR2) AS
38246 
38247 L_RGP_ID  CONSTANT NUMBER  := P_RGP_ID ;
38248 L_CLE_ID  CONSTANT NUMBER := P_CLE_ID ;
38249 L_DNZ_CHR_ID  CONSTANT NUMBER := P_DNZ_CHR_ID ;
38250 L_MAJOR_VERSION  CONSTANT NUMBER := P_MAJOR_VERSION ;
38251 L_ERROR_MSG                   VARCHAR2(2000);
38252 l_check_var     VARCHAR2(1) := NULL;
38253 
38254 
38255 CURSOR GET_RCN_RSN_INFO (L_RGP_ID IN NUMBER,L_CLE_ID IN NUMBER,L_DNZ_CHR_ID IN NUMBER,L_MAJOR_VERSION IN NUMBER) IS
38256 SELECT
38257 RGP.CLE_ID  ID,
38258 RGP.CLE_ID  CLE_ID,
38259 RGP.DNZ_CHR_ID DNZ_RGP_ID,
38260 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.OBJECT1_ID1))RCN_INCIDENT_SEVERITY_ID,
38261 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION1))RCN_PDF_ID,
38262 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION2))RCN_REACT_TIME_NAME,
38263 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION3))RCN_WORK_THRU_YN,
38264 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RCN',RUL.RULE_INFORMATION4))RCN_REACT_ACTIVE_YN,
38265 MAX(decode(RUL.RULE_INFORMATION_CATEGORY,'RSN',RUL.RULE_INFORMATION2))RSN_REACT_TIME_NAME
38266 FROM    OKC_RULE_GROUPS_BH RGP,
38267         OKC_RULES_BH RUL
38268 WHERE   RGP.ID  = RUL.RGP_ID
38269 AND    RUL.RULE_INFORMATION_CATEGORY IN ('RCN','RSN')
38270 AND    RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
38271 AND    RGP.CLE_ID IS NOT NULL
38272 AND RGP.ID  = L_RGP_ID
38273 AND RGP.CLE_ID  = L_CLE_ID
38274 AND RGP.DNZ_CHR_ID  = L_DNZ_CHR_ID
38275 AND RGP.MAJOR_VERSION = RUL.MAJOR_VERSION
38276 AND RGP.MAJOR_VERSION = L_MAJOR_VERSION
38277 GROUP BY RGP.CLE_ID ,RGP.CLE_ID, RGP.DNZ_CHR_ID;
38278 
38279 
38280 REC_RCN_RSN_INFO GET_RCN_RSN_INFO%ROWTYPE;
38281 
38282 Cursor Cur_Klin_exists(p_cleid in number,p_major_version in number) IS
38283 select 'x'
38284 from  oks_k_lines_bh
38285 where cle_id=p_cleid
38286 AND MAJOR_VERSION = p_MAJOR_VERSION;
38287 
38288  L_USERENV_LANG               VARCHAR2(100) := OKC_UTIL.get_userenv_lang ;
38289 
38290 l_NOT_FOUND NUMBER := 0;
38291 
38292 BEGIN
38293  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
38294  FND_FILE.PUT_LINE(FND_FILE.LOG ,'--------------Start of Sub request for LINE RULE RCN/RSN--------------------------');
38295  FND_FILE.PUT_LINE(FND_FILE.LOG ,'----------------------------------------------------------------------------------');
38296 
38297 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
38298 
38299 DELETE   OKS_ACTION_TIMES_H
38300 WHERE  CLE_ID = L_CLE_ID
38301 AND DNZ_CHR_ID = L_DNZ_CHR_ID
38302 AND MAJOR_VERSION = L_MAJOR_VERSION;
38303 
38304 DELETE   OKS_ACTION_TIME_TYPES_H
38305 WHERE   CLE_ID = L_CLE_ID
38306 AND DNZ_CHR_ID = L_DNZ_CHR_ID
38307 AND MAJOR_VERSION = L_MAJOR_VERSION;
38308 
38309 BEGIN
38310 
38311 	OPEN GET_RCN_RSN_INFO (L_RGP_ID ,L_CLE_ID,L_DNZ_CHR_ID,L_MAJOR_VERSION);
38312 		l_NOT_FOUND := 0;
38313 	FETCH  GET_RCN_RSN_INFO INTO REC_RCN_RSN_INFO;
38314 
38315 	IF GET_RCN_RSN_INFO%NOTFOUND THEN
38316 		l_NOT_FOUND := 1;
38317 	END IF;
38318 
38319 	CLOSE GET_RCN_RSN_INFO;
38320 
38321 	l_check_var:=NULL;
38322 
38323 	Open Cur_Klin_exists(L_Cle_ID,L_MAJOR_VERSION);
38324 	Fetch Cur_Klin_exists into l_check_var;
38325 	Close Cur_Klin_exists;
38326 
38327 
38328 	IF ((l_check_var is NOT NULL) AND (l_NOT_FOUND = 1) ) THEN
38329 
38330 		DELETE OKS_K_LINES_TL
38331 		WHERE  ID IN (SELECT ID FROM OKS_K_LINES_B
38332 					WHERE CLE_ID = l_CLE_ID
38333 					AND DNZ_CHR_ID = L_DNZ_CHR_ID);
38334 
38335 		DELETE OKS_K_LINES_B
38336 		WHERE CLE_ID = l_CLE_ID
38337 		AND DNZ_CHR_ID = L_DNZ_CHR_ID;
38338 
38339     	ELSIF((l_check_var is NOT NULL) AND (l_NOT_FOUND = 0))  THEN
38340 
38341         --Updating oks_k_lines_b
38342         BEGIN
38343             UPDATE OKS_K_LINES_BH SET
38344             INCIDENT_SEVERITY_ID = REC_RCN_RSN_INFO.RCN_INCIDENT_SEVERITY_ID,
38345             PDF_ID              = REC_RCN_RSN_INFO.RCN_PDF_ID,
38346             --REACT_TIME_NAME     = REC_RCN_RSN_INFO.RCN_REACT_TIME_NAME,
38347             WORK_THRU_YN        =   REC_RCN_RSN_INFO.RCN_WORK_THRU_YN,
38348             REACT_ACTIVE_YN     = REC_RCN_RSN_INFO.RCN_REACT_ACTIVE_YN
38349             WHERE CLE_ID = L_CLE_ID
38350 	    AND DNZ_CHR_ID = L_DNZ_CHR_ID
38351 	    AND MAJOR_VERSION = L_MAJOR_VERSION;
38352 
38353             FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST    LOOP
38354                 UPDATE  OKS_K_LINES_TLH SET
38355                         REACT_TIME_NAME     = REC_RCN_RSN_INFO.RCN_REACT_TIME_NAME
38356                 WHERE   id= (SELECT id FROM OKS_K_LINES_BH
38357 				WHERE 	CLE_ID = L_CLE_ID
38358 				AND	DNZ_CHR_ID = L_DNZ_CHR_ID
38359 				AND 	MAJOR_VERSION = L_MAJOR_VERSION)
38360 		AND	MAJOR_VERSION = L_MAJOR_VERSION
38361                 AND     language = OKC_UTIL.g_language_code(lang_i)
38362                 AND     source_lang = L_USERENV_LANG ;
38363             END LOOP;
38364         END;
38365     ELSE
38366         BEGIN
38367 	  IF (l_check_var is NOT NULL) THEN
38368 
38369             INSERT INTO OKS_K_LINES_BH (
38370                                         ID
38371                                         ,CLE_ID
38372                                         ,DNZ_CHR_ID
38373                                         ,INCIDENT_SEVERITY_ID
38374                                         ,PDF_ID
38375                                         ,WORK_THRU_YN
38376                                         ,REACT_ACTIVE_YN
38377 					,MAJOR_VERSION
38378 					,OBJECT_VERSION_NUMBER
38379 					,CREATED_BY
38380 					,CREATION_DATE
38381 					,LAST_UPDATED_BY
38382 					,LAST_UPDATE_DATE
38383 					,LAST_UPDATE_LOGIN)
38384                 VALUES
38385                                        (
38386                                          REC_RCN_RSN_INFO.ID
38387                                         ,REC_RCN_RSN_INFO.CLE_ID
38388                                         ,REC_RCN_RSN_INFO.DNZ_RGP_ID
38389                                         ,REC_RCN_RSN_INFO.RCN_INCIDENT_SEVERITY_ID
38390                                         ,REC_RCN_RSN_INFO.RCN_PDF_ID
38391                                         ,REC_RCN_RSN_INFO.RCN_WORK_THRU_YN
38392                                         ,REC_RCN_RSN_INFO.RCN_REACT_ACTIVE_YN
38393 					,L_MAJOR_VERSION
38394 					,2003
38395                                         ,2003
38396                                         ,SYSDATE
38397                                         ,2003
38398                                         ,SYSDATE
38399                                         ,2003);
38400 
38401 
38402             FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST    LOOP
38403                 INSERT INTO OKS_K_LINES_TLH(
38404                                             ID
38405                                             ,LANGUAGE
38406                                             ,SOURCE_LANG
38407                                             ,SFWT_FLAG
38408                                             ,INVOICE_TEXT
38409                                             ,IB_TRX_DETAILS
38410                                             ,STATUS_TEXT
38411                                             ,REACT_TIME_NAME
38412                                             ,SECURITY_GROUP_ID
38413                                             ,CREATED_BY
38414                                             ,CREATION_DATE
38415                                             ,LAST_UPDATED_BY
38416                                             ,LAST_UPDATE_DATE
38417                                             ,LAST_UPDATE_LOGIN
38418 					    ,MAJOR_VERSION)
38419                 VALUES
38420                                            (REC_RCN_RSN_INFO.ID
38421                                            ,OKC_UTIL.g_language_code(lang_i)
38422                                            ,L_USERENV_LANG
38423                                            ,'S'
38424                                            ,NULL
38425                                            ,NULL
38426                                            ,NULL
38427                                            ,REC_RCN_RSN_INFO.RCN_REACT_TIME_NAME
38428                                            ,NULL
38429                                            ,2003
38430                                            ,SYSDATE
38431                                            ,2003
38432                                            ,SYSDATE
38433                                            ,2003
38434 					   ,L_MAJOR_VERSION);
38435 
38436 
38437                     END LOOP;
38438            END IF;
38439         END;
38440     END IF;
38441 
38442 
38443 
38444 END;
38445 
38446 BEGIN
38447     IF REC_RCN_RSN_INFO.RCN_REACT_TIME_NAME IS NOT NULL THEN
38448                     INSERT INTO oks_action_time_types_H
38449                                                             (ID,
38450                                                             CLE_ID,
38451                                                             DNZ_CHR_ID,
38452                                                             ACTION_TYPE_CODE,
38453                                                             SECURITY_GROUP_ID,
38454                                                             PROGRAM_APPLICATION_ID,
38455                                                             PROGRAM_ID,
38456                                                             PROGRAM_UPDATE_DATE,
38457                                                             REQUEST_ID,
38458                                                             CREATED_BY,
38459                                                             CREATION_DATE,
38460                                                             LAST_UPDATED_BY,
38461                                                             LAST_UPDATE_DATE,
38462                                                             LAST_UPDATE_LOGIN,
38463                                                             OBJECT_VERSION_NUMBER,
38464 							    MAJOR_VERSION)
38465                         VALUES
38466                                                            (okc_p_util.raw_to_number(sys_guid())
38467                                                             ,REC_RCN_RSN_INFO.CLE_ID
38468                                                             ,REC_RCN_RSN_INFO.DNZ_RGP_ID
38469                                                             ,'RCN',NULL,NULL,NULL,NULL,NULL,
38470                                                             2003,
38471                                                             SYSDATE,
38472                                                             2003,
38473                                                             sysdate,
38474                                                             2003,
38475                                                             1,
38476 							    l_major_version);
38477 
38478     END IF;
38479 
38480     IF REC_RCN_RSN_INFO.RSN_REACT_TIME_NAME IS NOT NULL THEN
38481                     INSERT INTO oks_action_time_types_H
38482                                                             (ID,
38483                                                             CLE_ID,
38484                                                             DNZ_CHR_ID,
38485                                                             ACTION_TYPE_CODE,
38486                                                             SECURITY_GROUP_ID,
38487                                                             PROGRAM_APPLICATION_ID,
38488                                                             PROGRAM_ID,
38489                                                             PROGRAM_UPDATE_DATE,
38490                                                             REQUEST_ID,
38491                                                             CREATED_BY,
38492                                                             CREATION_DATE,
38493                                                             LAST_UPDATED_BY,
38494                                                             LAST_UPDATE_DATE,
38495                                                             LAST_UPDATE_LOGIN,
38496                                                             OBJECT_VERSION_NUMBER,
38497 							    MAJOR_VERSION)
38498                         VALUES
38499                                                            (okc_p_util.raw_to_number(sys_guid())
38500                                                             ,REC_RCN_RSN_INFO.CLE_ID
38501                                                             ,REC_RCN_RSN_INFO.DNZ_RGP_ID
38502                                                             ,'RSN',NULL,NULL,NULL,NULL,NULL,
38503                                                             2003,
38504                                                             SYSDATE,
38505                                                             2003,
38506                                                             SYSDATE,
38507                                                             2003,
38508                                                             1,
38509 							    l_major_version);
38510 
38511     END IF;
38512 
38513 END;
38514 
38515 
38516 BEGIN
38517 
38518 insert into oks_action_times_h oat (
38519        id, cov_action_type_id, cle_id, dnz_chr_id, sun_duration,
38520        mon_duration, tue_duration, wed_duration, thu_duration,
38521        fri_duration, sat_duration, uom_code, created_by, creation_date,
38522        last_updated_by, last_update_date, last_update_login,
38523        security_group_id, program_application_id, program_id,
38524        program_update_date, request_id, object_version_number,major_version)
38525 select   rin.rul_id, att.id, rgp.cle_id, att.dnz_chr_id,
38526 	max(decode(tim.day_of_week, 'SUN', rin.duration)),
38527 	max(decode( tim.day_of_week, 'MON', rin.duration)),
38528 	max(decode( tim.day_of_week, 'TUE', rin.duration)),
38529 	max(decode( tim.day_of_week, 'WED', rin.duration)),
38530 	max(decode( tim.day_of_week, 'THU', rin.duration)),
38531 	max(decode( tim.day_of_week, 'FRI', rin.duration)),
38532 	max(decode( tim.day_of_week, 'SAT', rin.duration)), 'MIN', 1, sysdate, 1,
38533        sysdate, 2003, null, null, null, null, null,1, tim.major_version
38534   from okc_timevalues_bh tim,
38535        okc_react_intervals_h rin,
38536        okc_rules_bh rul,
38537        okc_rule_groups_bh rgp,
38538        oks_action_time_types_h att
38539  where att.cle_id = rgp.cle_id
38540    and rgp.id = rul.rgp_id
38541    and rul.rule_information_category in ('RCN', 'RSN')
38542    and rul.id = rin.rul_id
38543    and rin.tve_id = tim.id
38544    and rgp.dnz_chr_id = rul.dnz_chr_id
38545    and rul.dnz_chr_id = att.dnz_chr_id
38546    and tim.dnz_chr_id = rin.dnz_chr_id
38547    and tim.dnz_chr_id = rgp.dnz_chr_id
38548    and tim.dnz_chr_id = rul.dnz_chr_id
38549    and tim.dnz_chr_id = att.dnz_chr_id
38550    and rul.rule_information_category = att.action_type_code
38551    and rgp.major_Version = att.major_version
38552    and rgp.major_Version = rul.major_version
38553    and rul.major_Version = rin.major_version
38554    and rin.major_Version = tim.major_version
38555    and rgp.major_version = l_major_version
38556    and rgp.cle_id = l_cle_id
38557    and rgp.id = l_rgp_id
38558    and rgp.dnz_chr_id = l_dnz_chr_id
38559  group by rin.rul_id, att.id, rgp.cle_id, att.dnz_chr_id,tim.major_version;
38560 END;
38561 
38562 
38563 
38564 X_RETURN_STATUS := 'S';
38565 
38566 EXCEPTION
38567 WHEN OTHERS THEN
38568 DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
38569 X_RETURN_STATUS := 'E';
38570 L_ERROR_MSG := SQLERRM;
38571 FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
38572 
38573 END SYNCHRONIZE_RULE_ATMH;
38574 
38575 Procedure SYNCHRONIZE_RULE_PML(
38576 		P_RGP_ID IN NUMBER,
38577 		P_CLE_ID IN NUMBER,
38578 		P_DNZ_CHR_ID IN NUMBER,
38579 		X_RETURN_STATUS OUT NOCOPY VARCHAR2) AS
38580 
38581 L_RGP_ID  CONSTANT NUMBER  := P_RGP_ID ;
38582 L_CLE_ID  CONSTANT NUMBER := P_CLE_ID ;
38583 L_DNZ_CHR_ID  CONSTANT NUMBER := P_DNZ_CHR_ID ;
38584 L_ERROR_MSG VARCHAR2(2000);
38585 
38586 BEGIN
38587 
38588 DBMS_TRANSACTION.SAVEPOINT('BEFORE_TRANSACTION');
38589 
38590 	DELETE FROM OKS_PM_STREAM_LEVELS
38591 	WHERE CLE_ID = L_CLE_ID
38592 	AND DNZ_CHR_ID = L_DNZ_CHR_ID;
38593 
38594 	DELETE FROM OKS_PM_ACTIVITIES
38595 	WHERE CLE_ID = L_CLE_ID
38596 	AND DNZ_CHR_ID = L_DNZ_CHR_ID;
38597 
38598 
38599 
38600 INSERT INTO OKS_PM_ACTIVITIES
38601 (ID,
38602 CLE_ID,
38603 DNZ_CHR_ID,
38604 ACTIVITY_ID,
38605 SELECT_YN,
38606 CONF_REQ_YN,
38607 SCH_EXISTS_YN,
38608 PROGRAM_APPLICATION_ID,
38609 PROGRAM_ID,
38610 PROGRAM_UPDATE_DATE,
38611 OBJECT_VERSION_NUMBER,
38612 SECURITY_GROUP_ID,
38613 REQUEST_ID,
38614 CREATED_BY,
38615 CREATION_DATE,
38616 LAST_UPDATED_BY,
38617 LAST_UPDATE_DATE,
38618 LAST_UPDATE_LOGIN)
38619 SELECT
38620 RUL.ID,
38621 RGP.CLE_ID,
38622 RUL.DNZ_CHR_ID,
38623 RUL.OBJECT1_ID1,
38624 RUL.RULE_INFORMATION1,
38625 RUL.RULE_INFORMATION2,
38626 RUL.RULE_INFORMATION3,
38627 NULL,
38628 NULL,
38629 NULL,
38630 1,
38631 NULL,
38632 NULL,
38633 1,
38634 SYSDATE,
38635 1,
38636 SYSDATE,
38637 2003
38638 FROM    OKC_RULES_B RUL,
38639         OKC_RULE_GROUPS_B RGP
38640 WHERE   RUL.RGP_ID = RGP.ID
38641 AND     RUL.DNZ_CHR_ID = RGP.DNZ_CHR_ID
38642 AND     RUL.rule_information_category = 'PMA'
38643 AND	RGP.ID = L_RGP_ID
38644 AND 	RGP.DNZ_CHR_ID = L_DNZ_CHR_ID
38645 AND	RGP.CLE_ID = L_CLE_ID;
38646 
38647 
38648 Insert INTO OKS_PM_STREAM_LEVELS
38649 (ID,
38650 CLE_ID,
38651 DNZ_CHR_ID,
38652 ACTIVITY_LINE_ID,
38653 SEQUENCE_NUMBER,
38654 NUMBER_OF_OCCURENCES,
38655 START_DATE,
38656 END_DATE,
38657 FREQUENCY,
38658 FREQUENCY_UOM,
38659 OFFSET_DURATION,
38660 OFFSET_UOM,
38661 AUTOSCHEDULE_YN,
38662 PROGRAM_APPLICATION_ID,
38663 PROGRAM_ID,
38664 PROGRAM_UPDATE_DATE,
38665 OBJECT_VERSION_NUMBER,
38666 SECURITY_GROUP_ID,
38667 REQUEST_ID,
38668 CREATED_BY,
38669 CREATION_DATE,
38670 LAST_UPDATED_BY,
38671 LAST_UPDATE_DATE,
38672 LAST_UPDATE_LOGIN)
38673 select
38674 PML.ID,
38675 RGP.CLE_ID,
38676 PML.DNZ_CHR_ID,
38677 PML.OBJECT2_ID1,
38678 PML.RULE_INFORMATION1,
38679 PML.RULE_INFORMATION2,
38680 to_date(PML.RULE_INFORMATION3,'YYYY/MM/DD'),
38681 to_date(PML.RULE_INFORMATION4,'YYYY/MM/DD'),
38682 PML.RULE_INFORMATION5,
38683 PML.RULE_INFORMATION6,
38684 PML.RULE_INFORMATION7,
38685 PML.RULE_INFORMATION8,
38686 PML.RULE_INFORMATION9,
38687 NULL,
38688 NULL,
38689 NULL,
38690 1,
38691 NULL,
38692 NULL,
38693 1,
38694 SYSDATE,
38695 1,
38696 SYSDATE,
38697 2003
38698 FROM OKC_RULES_B PMP,
38699      OKC_RULES_B PML,
38700      OKC_RULE_GROUPS_B RGP
38701 WHERE   PML.object1_id1 = PMP.ID
38702 AND     RGP.ID = PMP.RGP_ID
38703 AND     RGP.ID = PML.RGP_ID
38704 AND     PMP.DNZ_CHR_ID = PML.DNZ_CHR_ID
38705 AND     PML.rule_information_category =   'PML'
38706 AND     PMP.rule_information_category =   'PMP'
38707 AND	RGP.ID = L_RGP_ID
38708 AND 	RGP.DNZ_CHR_ID = L_DNZ_CHR_ID
38709 AND	RGP.CLE_ID = L_CLE_ID;
38710 
38711 update oks_pm_schedules
38712 set activity_line_id=pma_rule_id,stream_line_id=rule_id
38713 where cle_id = l_cle_id
38714 AND DNZ_CHR_ID = L_DNZ_CHR_ID;
38715 
38716 X_RETURN_STATUS := 'S';
38717 
38718 EXCEPTION
38719 WHEN OTHERS THEN
38720 DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('BEFORE_TRANSACTION');
38721 X_RETURN_STATUS := 'E';
38722 L_ERROR_MSG := SQLERRM;
38723 FND_FILE.PUT_LINE(FND_FILE.LOG ,'DML Failed for'||p_rgp_id||'with Error Message '||L_ERROR_MSG);
38724 
38725 END SYNCHRONIZE_RULE_PML;
38726 
38727 
38728 -----------------------------------------------------------------------------------------
38729 -- This is the Main Procedure called from the concurrent request -                     --
38730 -- "Service Contracts - Reprocess/Synchronize rule data"                               --
38731 -----------------------------------------------------------------------------------------
38732 PROCEDURE SYNCHRONIZE_REPROC_RULE_DATA(
38733     ERRBUF            OUT  NOCOPY VARCHAR2,
38734     RETCODE           OUT  NOCOPY NUMBER,
38735     P_SUB_REQUESTS    IN NUMBER,
38736     P_BATCH_SIZE      IN NUMBER )
38737 IS
38738 
38739  TYPE L_NUM_TBL IS TABLE OF NUMBER INDEX  BY BINARY_INTEGER ;
38740  TYPE L_DATE_TBL IS TABLE OF DATE INDEX  BY BINARY_INTEGER ;
38741  TYPE L_CHR_TBL IS TABLE OF VARCHAR2(2000) INDEX  BY BINARY_INTEGER ;
38742 
38743  CURSOR L_GET_UPGRADE_INFO IS
38744   SELECT /*+ PARALLEL(RGP) */
38745          MIN(RGP.RGP_ID) MINID,
38746          MAX(RGP.RGP_ID) MAXID,
38747          AVG(RGP.RGP_ID) AVGID,
38748          STDDEV(RGP.RGP_ID) STDID,
38749          COUNT(*) TOTAL
38750     FROM OKS_RULE_UPGRADE RGP;
38751 
38752  L_GET_UPGRADE_INFO_REC L_GET_UPGRADE_INFO%ROWTYPE;
38753 
38754   CURSOR L_GET_REPROCESS_INFO IS
38755   SELECT /*+ PARALLEL(RGP) */
38756          MIN(RGP.ID) MINID,
38757          MAX(RGP.ID) MAXID,
38758          AVG(RGP.ID) AVGID,
38759          STDDEV(RGP.ID) STDID,
38760          COUNT(*) TOTAL
38761    FROM OKS_RULE_REPROCESS RGP;
38762 
38763 --- Code to prep the data in OKS_RULE_UPGRADE  --
38764  L_LINE_ID    L_NUM_TBL ;
38765  L_DNZ_CHR_ID L_NUM_TBL ;
38766  L_CUST_PO_NUMBER L_CHR_TBL;
38767  L_CUST_PO_NUMBER_REQ_YN L_CHR_TBL;
38768  L_PRICE_LIST_ID  L_NUM_TBL ;
38769 
38770  CURSOR L_UPGLINE_CSR IS
38771  SELECT /*+ PARALLEL(UPG) */
38772         UPG.RGP_ID
38773       , UPG.DNZ_CHR_ID
38774       , OKCH.CUST_PO_NUMBER
38775       , OKCH.CUST_PO_NUMBER_REQ_YN
38776       , OKCH.PRICE_LIST_ID
38777    FROM OKS_RULE_UPGRADE UPG
38778       , OKC_K_HEADERS_B OKCH
38779   WHERE UPG.RIC_CODE = 'LIN'
38780     AND NOT EXISTS ( SELECT 1 FROM OKS_K_LINES_B OKS1
38781                       WHERE OKS1.CLE_ID = UPG.RGP_ID )
38782     AND OKCH.ID = UPG.DNZ_CHR_ID
38783  GROUP BY UPG.RGP_ID, UPG.DNZ_CHR_ID, CUST_PO_NUMBER, CUST_PO_NUMBER_REQ_YN, PRICE_LIST_ID ;
38784 
38785  CURSOR L_REPROCESS_CNT_CSR IS
38786  SELECT /*+ INDEX_FFS( l OKS_RULE_REPROCESS_NU1)  */
38787         COUNT(*)
38788    FROM OKS_RULE_REPROCESS l;
38789 
38790  CURSOR L_UPGRADE_CNT_CSR IS
38791  SELECT /*+ INDEX_FFS( l OKS_RULE_UPGRADE_NU1)  */
38792          COUNT(*)
38793    FROM OKS_RULE_UPGRADE l;
38794 
38795 
38796  TYPE L_CSR IS REF CURSOR;
38797  L_UPGRD_CSR     L_CSR ;
38798  L_REPROC_CSR    L_CSR ;
38799  L_STMT          VARCHAR2(2000);
38800  START_ID        NUMBER;
38801  END_ID          NUMBER;
38802  I               NUMBER :=0 ;
38803 
38804 
38805  L_SUB_REQUESTS    NUMBER;
38806  L_RET             INTEGER;
38807  rc                INTEGER;
38808  trunc_curs        INTEGER;
38809  l_truncate_string     varchar2(2000);
38810   L_USERENV_LANG               VARCHAR2(100) := OKC_UTIL.get_userenv_lang ;
38811 
38812   ---------Variables for collecting table stats -----------------
38813  L_RETURN_CODE          VARCHAR2(100);
38814  L_ERROR_BUFFER         VARCHAR2(2000);
38815  IP_SUB_REQUESTS        INTEGER ;
38816  sync_sub_requests      INTEGER ;
38817  reproc_sub_requests    INTEGER ;
38818  l_batch_size           INTEGER ;
38819 
38820  -----------Variables for calculating distribution--------------
38821  P_BUCKET_VALUE         NUMBER ;
38822  L_REPROC_CNT           NUMBER ;
38823  L_UPGRD_CNT            NUMBER ;
38824 
38825  L_GET_REPROCESS_INFO_REC  L_GET_REPROCESS_INFO%ROWTYPE;
38826 
38827 
38828 BEGIN
38829 
38830   ----------------------------------------------------------------------------------------------------
38831   ---                  Added the following code to analyze the OKS_RULE_UPGRADE table              ---
38832   ----------------------------------------------------------------------------------------------------
38833   FND_STATS.Gather_Table_Stats(OWNNAME =>'OKS',
38834                                TABNAME =>'OKS_RULE_UPGRADE',
38835                                PERCENT => 20,
38836                                RETCODE => l_return_code,
38837                                ERRBUF  => l_error_buffer);
38838 
38839   ----------------------------------------------------------------------------------------------------
38840 
38841   ----------------------------------------------------------------------------------------------------
38842   ---                  Added the following code to analyze the OKS_RULE_REPROCESS table            ---
38843   ----------------------------------------------------------------------------------------------------
38844   FND_STATS.Gather_Table_Stats(OWNNAME =>'OKS',
38845                                TABNAME =>'OKS_RULE_REPROCESS',
38846                                PERCENT => 20,
38847                                RETCODE => l_return_code,
38848                                ERRBUF  => l_error_buffer);
38849 
38850   ----------------------------------------------------------------------------------------------------
38851 
38852   -- Code added on July-06-2004 as part of bug#3615375. This is to synchronize Warrant contract Headers
38853   -- that doesn't have any associated rules.
38854   INSERT /*+ PARALLEL(OKS1) */ INTO OKS_K_HEADERS_B OKS1
38855    ( OKS1.ID
38856     ,OKS1.CHR_ID
38857     ,OKS1.OBJECT_VERSION_NUMBER
38858     ,OKS1.CREATED_BY
38859     ,OKS1.CREATION_DATE
38860     ,OKS1.LAST_UPDATED_BY
38861     ,OKS1.LAST_UPDATE_DATE
38862     ,OKS1.LAST_UPDATE_LOGIN )
38863   SELECT  /*+ PARALLEL(UPG1) */
38864      DNZ_CHR_ID
38865     ,DNZ_CHR_ID
38866     ,1
38867     ,1
38868     ,SYSDATE
38869     ,1
38870     ,SYSDATE
38871     ,2003
38872    FROM OKS_RULE_UPGRADE UPG1
38873   WHERE UPG1.RIC_CODE = 'HDR'
38874     AND NOT EXISTS ( SELECT 1
38875                        FROM OKC_RULE_GROUPS_B RGP
38876                           , OKC_RULES_B RULE
38877                       WHERE RGP.DNZ_CHR_ID = UPG1.DNZ_CHR_ID
38878                         AND RGP.CHR_ID = UPG1.DNZ_CHR_ID
38879                         AND RGP.ID     = RULE.RGP_ID )
38880     AND NOT EXISTS ( SELECT 1 FROM OKS_K_HEADERS_B OKSHI
38881                       WHERE OKSHI.CHR_ID = UPG1.DNZ_CHR_ID )
38882   GROUP BY DNZ_CHR_ID;
38883 
38884  DELETE FROM OKS_RULE_UPGRADE
38885   WHERE RIC_CODE = 'HDR';
38886 
38887 
38888  DELETE /*+ PARALLEL(UPG1) */
38889    FROM OKS_RULE_UPGRADE UPG1
38890   WHERE UPG1.RIC_CODE = 'LIN'
38891     AND EXISTS ( SELECT /*+ INDEX_FFS( UPG2 OKS_RULE_UPGRADE_NU2) */ 1 FROM OKS_RULE_UPGRADE UPG2
38892                   WHERE UPG2.RGP_ID = UPG1.RGP_ID
38893                     AND UPG2.RIC_CODE = 'ALL' );
38894  COMMIT;
38895 
38896  DELETE /*+ PARALLEL(UPG1) */
38897    FROM OKS_RULE_UPGRADE UPG1
38898   WHERE UPG1.RIC_CODE = 'LIN'
38899     AND EXISTS ( SELECT 1 FROM OKS_K_LINES_B OKS
38900                   WHERE OKS.CLE_ID = UPG1.RGP_ID );
38901  COMMIT;
38902 
38903 
38904  DELETE /*+ PARALLEL(UPG1) */
38905    FROM OKS_RULE_UPGRADE UPG1
38906   WHERE UPG1.RIC_CODE = 'LIN'
38907     AND NOT EXISTS ( SELECT 1 FROM OKC_K_LINES_B OKC
38908                       WHERE OKC.ID = UPG1.RGP_ID );
38909  COMMIT;
38910 
38911 
38912  OPEN  L_UPGLINE_CSR;
38913  FETCH L_UPGLINE_CSR BULK COLLECT INTO L_LINE_ID ,L_DNZ_CHR_ID,L_CUST_PO_NUMBER, L_CUST_PO_NUMBER_REQ_YN, L_PRICE_LIST_ID;
38914  CLOSE L_UPGLINE_CSR;
38915 
38916  IF L_LINE_ID.COUNT > 0 THEN
38917    FORALL I IN L_LINE_ID.FIRST..L_LINE_ID.LAST
38918    INSERT /*+ PARALLEL(OKS) */ INTO OKS_K_LINES_B OKS
38919     (ID
38920     ,CLE_ID
38921     ,DNZ_CHR_ID
38922     ,CUST_PO_NUMBER
38923     ,CUST_PO_NUMBER_REQ_YN
38924     ,OBJECT_VERSION_NUMBER
38925     ,CREATED_BY
38926     ,CREATION_DATE
38927     ,LAST_UPDATED_BY
38928     ,LAST_UPDATE_DATE
38929     ,LAST_UPDATE_LOGIN)
38930    VALUES(
38931      L_LINE_ID(I)
38932     ,L_LINE_ID(I)
38933     ,L_DNZ_CHR_ID(I)
38934     ,L_CUST_PO_NUMBER(I)
38935     ,L_CUST_PO_NUMBER_REQ_YN(I)
38936     ,1
38937     ,1
38938     ,SYSDATE
38939     ,1
38940     ,SYSDATE
38941     ,2003 );
38942 
38943     FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST
38944     LOOP
38945     FORALL I IN L_LINE_ID.FIRST..L_LINE_ID.LAST
38946        INSERT INTO OKS_K_LINES_TL (ID
38947                                   ,LANGUAGE
38948                                   ,SOURCE_LANG
38949                                   ,SFWT_FLAG
38950                                   ,created_by
38951                                   ,creation_date
38952                                   ,last_updated_by
38953                                   ,last_update_date
38954                                   ,last_update_login)
38955                            VALUES(
38956                                    L_LINE_ID(I)
38957                                   ,OKC_UTIL.g_language_code(lang_i)
38958                                   ,L_USERENV_LANG
38959                                   ,'S'
38960                                   ,1
38961                                   ,sysdate
38962                                   ,1
38963                                   ,sysdate
38964                                   ,2003);
38965     END LOOP;
38966 
38967     FORALL I IN L_LINE_ID.FIRST..L_LINE_ID.LAST
38968     UPDATE OKC_K_LINES_B
38969        SET PRICE_LIST_ID = L_PRICE_LIST_ID(I)
38970      WHERE ID = L_LINE_ID(I);
38971 
38972    FORALL I IN L_LINE_ID.FIRST..L_LINE_ID.LAST
38973    DELETE FROM /*+ PARALLEL(UPG) */ OKS_RULE_UPGRADE UPG
38974     WHERE RGP_ID = L_LINE_ID(I)
38975      AND RIC_CODE = 'LIN';
38976    COMMIT;
38977   L_LINE_ID.DELETE;
38978   L_DNZ_CHR_ID.DELETE;
38979  END IF;
38980 
38981  l_truncate_string := 'TRUNCATE TABLE ' ;
38982  l_truncate_string := l_truncate_string || 'OKS';
38983  l_truncate_string := l_truncate_string || '.OKS_RULE_ERROR';
38984 
38985  IF P_SUB_REQUESTS IS NULL OR P_SUB_REQUESTS > 30 OR P_SUB_REQUESTS = 0 then
38986   ip_sub_requests := 30 ;
38987  ELSE
38988   ip_sub_requests := p_sub_requests ;
38989  END IF;
38990 
38991  IF p_batch_size is null or p_batch_size > 10000 or p_batch_size = 0 then
38992    l_batch_size := 10000;
38993  ELSE
38994    l_batch_size := p_batch_size;
38995  END IF;
38996 
38997  -------------------------------------------------------------------------------------
38998  --                       Code for Synchronization phase                            --
38999  -------------------------------------------------------------------------------------
39000  IF (FND_CONC_GLOBAL.REQUEST_DATA IS NULL) THEN
39001     trunc_curs := DBMS_SQL.OPEN_CURSOR;
39002     DBMS_SQL.PARSE(trunc_curs,l_truncate_string,dbms_sql.native);
39003     rc := dbms_sql.execute(trunc_curs);
39004     DBMS_SQL.CLOSE_CURSOR(trunc_curs);
39005 
39006     OPEN L_UPGRADE_CNT_CSR;
39007     FETCH L_UPGRADE_CNT_CSR INTO L_UPGRD_CNT;
39008     CLOSE L_UPGRADE_CNT_CSR;
39009 
39010     P_BUCKET_VALUE := CEIL(L_UPGRD_CNT/IP_SUB_REQUESTS);
39011 
39012     IF(P_BUCKET_VALUE = 0) THEN
39013       P_BUCKET_VALUE := 1;
39014     END IF;
39015 
39016     L_STMT := 'SELECT MIN(RGP_ID),MAX(RGP_ID)FROM (SELECT /*+  PARALLEL(L) */ RGP_ID ,FLOOR(SUM(COUNT(*)) OVER (ORDER BY RGP_ID ROWS UNBOUNDED PRECEDING)/ :1 ) BUCKET FROM   OKS_RULE_UPGRADE L GROUP BY RGP_ID) GROUP BY BUCKET';
39017 
39018     I:=0;
39019 
39020     OPEN L_UPGRD_CSR FOR L_STMT USING P_BUCKET_VALUE ;
39021     LOOP
39022         FETCH L_UPGRD_CSR INTO START_ID,END_ID;
39023         EXIT WHEN L_UPGRD_CSR%NOTFOUND;
39024         I:=I+1;
39025         L_RET := FND_REQUEST.SUBMIT_REQUEST('OKS',
39026                                  'OKS_SYNCHRONIZE_SUBREQUEST',
39027                                   TO_CHAR(I), -- UI JOB DISPLAY
39028                                   NULL,
39029                                   TRUE, -- TRUE MEANS IS SUBREQUEST
39030                                   NVL(l_batch_size,10000),
39031                                   START_ID,
39032                                   END_ID);
39033 
39034         IF (L_RET = 0) THEN
39035             ERRBUF := FND_MESSAGE.GET;
39036             RETCODE := 2;
39037             FND_FILE.PUT_LINE (FND_FILE.LOG, 'SUB-REQUEST FAILED TO SUBMIT: ' || ERRBUF);
39038             RETURN;
39039         ELSE
39040             FND_FILE.PUT_LINE (FND_FILE.LOG, 'SUB-REQUEST '||TO_CHAR(L_RET)||' SUBMITTED');
39041             FND_FILE.PUT_LINE (FND_FILE.LOG, 'SUB-REQUEST '||TO_CHAR(L_RET)||' LOW_ID ==>'||START_ID||' HIG_ID ==>'||END_ID);
39042            END IF;
39043     END LOOP;
39044     CLOSE L_UPGRD_CSR;
39045     IF( I > 0) THEN
39046       FND_CONC_GLOBAL.SET_REQ_GLOBALS(CONC_STATUS => 'PAUSED',
39047                                      REQUEST_DATA => TO_CHAR(IP_SUB_REQUESTS));
39048       ERRBUF := TO_CHAR(I) || ' SUB-REQUESTS SUBMITTED';
39049       RETCODE := 0;
39050       RETURN;
39051     END IF;
39052   ELSIF ((FND_CONC_GLOBAL.REQUEST_DATA IS NOT NULL) AND (FND_CONC_GLOBAL.REQUEST_DATA <>  'REPROCESS' )) THEN
39053     COMMIT;
39054     RETCODE := 0;
39055  END IF;
39056  -------------------------------------------------------------------------------------
39057  --                       Code for Reprocessing phase                               --
39058  -------------------------------------------------------------------------------------
39059  IF (FND_CONC_GLOBAL.REQUEST_DATA not in ('REPROCESS') OR FND_CONC_GLOBAL.REQUEST_DATA IS NULL) THEN
39060 
39061     OPEN L_REPROCESS_CNT_CSR;
39062     FETCH L_REPROCESS_CNT_CSR INTO L_REPROC_CNT;
39063     CLOSE L_REPROCESS_CNT_CSR;
39064 
39065     P_BUCKET_VALUE := CEIL(L_REPROC_CNT/IP_SUB_REQUESTS);
39066 
39067     IF(P_BUCKET_VALUE = 0) THEN
39068       P_BUCKET_VALUE := 1;
39069     END IF;
39070 
39071     L_STMT := 'SELECT MIN(ID),MAX(ID)FROM (SELECT /*+  PARALLEL(L) */ ID,FLOOR(SUM(COUNT(*)) OVER (ORDER BY ID ROWS UNBOUNDED PRECEDING)/:1) BUCKET  FROM   OKS_RULE_REPROCESS L GROUP BY ID )GROUP BY BUCKET';
39072     I:=0;
39073 
39074     OPEN L_REPROC_CSR FOR L_STMT USING P_BUCKET_VALUE ;
39075     LOOP
39076         FETCH L_REPROC_CSR INTO START_ID,END_ID;
39077         EXIT WHEN L_REPROC_CSR%NOTFOUND;
39078         I:=I+1;
39079         L_RET := FND_REQUEST.SUBMIT_REQUEST('OKS',
39080                                  'OKS_REPROCESS_SUBREQUEST',
39081                                   TO_CHAR(I), -- UI JOB DISPLAY
39082                                   NULL,
39083                                   TRUE, -- TRUE MEANS IS SUBREQUEST
39084                                   NVL(l_batch_size,10000),
39085                                   START_ID,
39086                                   END_ID);
39087 
39088 
39089         IF (L_RET = 0) THEN
39090             ERRBUF := FND_MESSAGE.GET;
39091             RETCODE := 2;
39092             FND_FILE.PUT_LINE (FND_FILE.LOG, 'SUB-REQUEST FAILED TO SUBMIT: ' || ERRBUF);
39093             RETURN;
39094         ELSE
39095             FND_FILE.PUT_LINE (FND_FILE.LOG, 'SUB-REQUEST '||TO_CHAR(L_RET)||' SUBMITTED');
39096             FND_FILE.PUT_LINE (FND_FILE.LOG, 'SUB-REQUEST '||TO_CHAR(L_RET)||' LOW_ID ==>'||START_ID||' HIG_ID ==>'||END_ID);
39097            END IF;
39098     END LOOP;
39099 
39100     CLOSE L_REPROC_CSR;
39101     IF( I > 0) THEN
39102       FND_CONC_GLOBAL.SET_REQ_GLOBALS(CONC_STATUS => 'PAUSED',
39103                                    REQUEST_DATA => 'REPROCESS' );
39104       ERRBUF := TO_CHAR(I) || ' SUB-REQUESTS SUBMITTED';
39105       RETCODE := 0;
39106       RETURN;
39107     END IF;
39108   ELSIF ((FND_CONC_GLOBAL.REQUEST_DATA IS NOT NULL)) THEN
39109     COMMIT;
39110     RETCODE := 0;
39111    -- RETURN;
39112  END IF;
39113 /* Commenting out the code as request ...Need to check with Hari if this code is required
39114  -------------------------------------------------------------------------------------
39115  --                       Code for processing credit card records                             --
39116  -------------------------------------------------------------------------------------
39117  IF (FND_CONC_GLOBAL.REQUEST_DATA <>  'CREDITCARD' OR FND_CONC_GLOBAL.REQUEST_DATA IS NULL) THEN
39118 
39119        l_ret := FND_REQUEST.submit_request('OKS',
39120                                            'OKSMIGCC',
39121                                            null, -- UI job display
39122                                            null,
39123                                            TRUE, -- TRUE means isSubRequest
39124                                            20,
39125                                            5000);
39126 
39127         IF (L_RET = 0) THEN
39128             ERRBUF := FND_MESSAGE.GET;
39129             RETCODE := 2;
39130             FND_FILE.PUT_LINE (FND_FILE.LOG, 'CREDIT CARD SUB-REQUEST FAILED TO SUBMIT: ' || ERRBUF);
39131             RETURN;
39132         ELSE
39133             FND_FILE.PUT_LINE (FND_FILE.LOG, 'SUB-REQUEST '||TO_CHAR(L_RET)||' SUBMITTED');
39134             FND_FILE.PUT_LINE (FND_FILE.LOG, 'SUB-REQUEST '||TO_CHAR(L_RET)||' LOW_ID ==>'||START_ID||' HIG_ID ==>'||END_ID);
39135 
39136             FND_CONC_GLOBAL.SET_REQ_GLOBALS(CONC_STATUS => 'PAUSED',
39137                                    REQUEST_DATA => 'CREDITCARD' );
39138              ERRBUF := TO_CHAR(I) || ' SUB-REQUESTS SUBMITTED';
39139              RETCODE := 0;
39140              RETURN;
39141         END IF;
39142   ELSIF ((FND_CONC_GLOBAL.REQUEST_DATA IS NOT NULL)) THEN
39143     COMMIT;
39144     RETCODE := 0;
39145     RETURN;
39146 
39147  END IF;
39148 
39149 End of commenting*/
39150 
39151 END SYNCHRONIZE_REPROC_RULE_DATA;
39152 
39153 END OKS_RULE_MIGRATE;