DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_VERSION_COMPARISON_PKG

Source


1 PACKAGE BODY OKE_VERSION_COMPARISON_PKG AS
2 /* $Header: OKEKVCPB.pls 120.6.12010000.3 2008/11/26 08:53:37 serukull ship $ */
3 
4     G_Pkg_Name       VARCHAR2(30) := 'OKE_VERSION_COMPARISON_PKG';
5     g_module          CONSTANT VARCHAR2(250) := 'oke.plsql.oke_approval_paths_pkg.';
6 
7     l_no_sequence NUMBER :=0;
8     l_amt_mask_1    VARCHAR2(80);
9     l_prc_mask_1    VARCHAR2(80);
10     l_amt_mask_2    VARCHAR2(80);
11     l_prc_mask_2    VARCHAR2(80);
12     l_object_type   OKE_VERSION_COMPARE_RESULTS.OBJECT_TYPE%TYPE;
13     l_object_name   OKE_VERSION_COMPARE_RESULTS.OBJECT_NAME%TYPE;
14     l_prompt        OKE_VERSION_COMPARE_RESULTS.PROMPT%TYPE;
15     l_data1         OKE_VERSION_COMPARE_RESULTS.V1DATA%TYPE;
16     l_data2         OKE_VERSION_COMPARE_RESULTS.V2DATA%TYPE;
17     l_current_flag  OKE_VERSION_COMPARE_RESULTS.CURRENT_FLAG%TYPE default 'N';
18     l_Object VARCHAR(80);               --lookup code  in fnd_lookup
19     L_Attribute_Object_Name VARCHAR(80); --object name in oke_object_attributes_vl
20 
21     L_Latest_Version NUMBER :=0;           --The highest version in HV table
22 
23 
24  PROCEDURE SET_FORMAT_MASKS( cur1 VARCHAR2, cur2 VARCHAR2 ) IS
25    l_precision NUMBER;
26    l_ext_precision  NUMBER;
27    l_min_acct_unit NUMBER;
28   BEGIN
29    l_amt_mask_1 := FND_CURRENCY.GET_FORMAT_MASK( NVL(cur1, 'USD') , 38 );
30    FND_CURRENCY.GET_INFO( NVL(cur1, 'USD'),l_precision,l_ext_precision,l_min_acct_unit);
31    FND_CURRENCY.BUILD_FORMAT_MASK(l_prc_mask_1,38,l_ext_precision,l_min_acct_unit);
32    IF Nvl(cur2,'USD')<>Nvl(cur1,'USD') THEN
33      l_amt_mask_2 := FND_CURRENCY.GET_FORMAT_MASK( NVL(cur2, 'USD') , 38 );
34      FND_CURRENCY.GET_INFO( NVL(cur2, 'USD'),l_precision,l_ext_precision,l_min_acct_unit);
35      FND_CURRENCY.BUILD_FORMAT_MASK(l_prc_mask_2,38,l_ext_precision,l_min_acct_unit);
36     ELSE
37      l_amt_mask_2 := l_amt_mask_1;
38      l_prc_mask_2 := l_prc_mask_1;
39    END IF;
40  END;
41 
42  PROCEDURE SET_AMOUNT_DIFF_DATA( data1 NUMBER, data2 NUMBER ) IS
43   BEGIN
44    l_data1 := Ltrim(Rtrim(TO_CHAR( data1, l_amt_mask_1 )));
45    l_data2 := Ltrim(Rtrim(TO_CHAR( data2, l_amt_mask_2 )));
46  END;
47 
48  PROCEDURE SET_PRICE_DIFF_DATA( data1 NUMBER, data2 NUMBER ) IS
49   BEGIN
50    l_data1 := Ltrim(Rtrim(TO_CHAR( data1, l_prc_mask_1 )));
51    l_data2 := Ltrim(Rtrim(TO_CHAR( data2, l_prc_mask_2 )));
52  END;
53 
54  FUNCTION get_full_path_linenum(vk_line_id NUMBER,vVersion NUMBER) RETURN VARCHAR2
55   IS
56     l_linenum varchar2(300):=null;
57     cursor c_lines is
58      SELECT line_number
59       FROM OKC_K_LINES_BH
60       WHERE major_version = vVersion
61       CONNECT BY PRIOR cle_id=id
62       START WITH id= vk_line_id AND major_version = vVersion;
63 
64   BEGIN
65     FOR c IN c_lines LOOP
66       IF l_linenum IS NULL THEN
67         l_linenum := c.line_number;
68        ELSE
69         l_linenum := c.line_number||'-->'||l_linenum;
70       END IF;
71     END LOOP;
72     RETURN l_linenum;
73 
74   EXCEPTION
75     WHEN OTHERS THEN
76         NULL;
77  END get_full_path_linenum;
78 
79  FUNCTION get_full_path_linenum(vk_line_id NUMBER) RETURN VARCHAR2
80   IS
81     l_linenum varchar2(300):=null;
82     cursor c_lines is
83      SELECT line_number
84       FROM OKC_K_LINES_B
85       CONNECT BY PRIOR cle_id=id
86       START WITH id= vk_line_id;
87 
88   BEGIN
89     FOR c IN c_lines LOOP
90       IF l_linenum IS NULL THEN
91         l_linenum := c.line_number;
92        ELSE
93         l_linenum := c.line_number||'-->'||l_linenum;
94       END IF;
95     END LOOP;
96     RETURN l_linenum;
97 
98   EXCEPTION
99     WHEN OTHERS THEN
100         NULL;
101  END get_full_path_linenum;
102 
103 FUNCTION  get_article_subject_name(p_sbt_code IN VARCHAR2)RETURN VARCHAR2
104    IS
105        l_not_found BOOLEAN;
106        l_meaning VARCHAR2(80);
107 
108        Cursor c Is
109          SELECT MEANING
110          FROM FND_LOOKUPS
111          WHERE LOOKUP_TYPE ='OKC_SUBJECT'
112          AND LOOKUP_CODE = p_sbt_code;
113 
114     BEGIN
115          open c;
116          fetch c into l_meaning;
117          l_not_found := c%NOTFOUND;
118          close c;
119 
120 /*
121          If (l_not_found) Then
122              raise NO_DATA_FOUND;
123          End If;
124 */
125        RETURN l_meaning;
126 
127    END get_article_subject_name;
128 
129 
130  PROCEDURE get_article_info(p_cat_type      IN   VARCHAR2,
131                             p_sav_sae_id    IN   NUMBER,
132                             p_sbt_code      IN   VARCHAR2,
133                             p_article_name  IN   VARCHAR2,
134                             x_sbt_code      OUT  NOCOPY             VARCHAR2,
135                             x_article_name  OUT  NOCOPY             VARCHAR2,
136                             x_subject_name  OUT  NOCOPY             VARCHAR2)
137    IS
138 
139       CURSOR C (p_id number)IS
140       SELECT Nvl(display_name,article_title) NAME ,ARTICLE_TYPE
141          FROM OKC_ARTICLES_V
142       WHERE article_id = p_id;
143 
144       l_name VARCHAR2(150);
145       l_sbt_code VARCHAR2(30);
146       l_not_found BOOLEAN;
147 
148    BEGIN
149       IF p_cat_type = 'STA' THEN
150           If (p_sav_sae_id is not null) Then
151 
152              OPEN C(p_sav_sae_id);
153              FETCH C into l_name,l_sbt_code;
154 
155              IF (C%NOTFOUND) THEN
156                CLOSE C;
157                RAISE NO_DATA_FOUND;
158              End If;
159 
160              CLOSE C;
161 
162              x_article_name := l_name;
163              x_sbt_code :=l_sbt_code;
164              x_subject_name := get_article_subject_name(x_sbt_code);
165 
166           END IF;
167 
168       ELSE
169           x_article_name :=p_article_name;
170           x_sbt_code :=p_sbt_code;
171           x_subject_name := get_article_subject_name(p_sbt_code);
172 
173       END IF;
174    END get_article_info;
175 
176 
177 PROCEDURE insert_comp_result(vHeader_id IN NUMBER,vVersion1 IN NUMBER, vVersion2 IN NUMBER)
178   IS
179     CREATED_BY NUMBER;
180     CREATION_DATE DATE;
181     LAST_UPDATE_DATE DATE;
182     LAST_UPDATE_BY NUMBER;
183     LAST_UPDATE_LOGIN NUMBER;
184     L_PROMPT_MULTI VARCHAR2(80);
185 
186     CURSOR C_Prompt_Multi (v_prompt varchar2) IS
187     SELECT o.attribute_name
188     FROM   oke_object_attributes_vl o
189     WHERE  o.attribute_code = l_prompt
190     AND    o.database_object_name=L_Attribute_Object_Name;
191 
192     BEGIN
193 
194         l_no_sequence :=l_no_sequence +1;
195 
196         CREATION_DATE := SYSDATE;
197         CREATED_BY := FND_GLOBAL.USER_ID;
198         LAST_UPDATE_DATE :=SYSDATE;
199         LAST_UPDATE_BY :=FND_GLOBAL.USER_ID;
200         LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
201 
202         OPEN C_Prompt_Multi (l_prompt );
203         FETCH C_Prompt_Multi INTO L_PROMPT_MULTI;
204         CLOSE C_Prompt_Multi;
205 
206         IF L_PROMPT_MULTI IS NULL THEN
207 	   L_PROMPT_MULTI :=l_prompt;
208         END IF;
209 
210         INSERT INTO OKE_VERSION_COMPARE_RESULTS
211         (k_header_id,
212          version1,
213 	 version2,
214          object_type,
215          object_id,
216 	 object_name,
217          sequence,
218 	 prompt,
219 	 v1data,
220 	 v2data,
221 	 current_flag,
222 	 creation_date,
223 	 created_by,
224 	 last_update_date,
225          last_update_by,
226 	 last_update_login)
227         VALUES
228          (vHeader_id,
229           vVersion1,
230           vVersion2,
231           l_object_type,
232           null,
233           l_object_name,
234           l_no_sequence,
235           L_PROMPT_MULTI,
236           l_data1,
237           l_data2,
238           l_current_flag,
239           CREATION_DATE,
240           CREATED_BY,
241           LAST_UPDATE_DATE,
242           LAST_UPDATE_BY,
243           LAST_UPDATE_LOGIN);
244 
245          l_data1 :='';
246          l_data2 :='';
247 
248 
249    EXCEPTION
250 	WHEN OTHERS THEN
251         NULL;
252 
253   END insert_comp_result;
254 
255 
256   PROCEDURE comp_all_items(p_Header_id IN NUMBER, p_Version_1 IN NUMBER, p_Version_2 IN NUMBER)
257   IS
258      l_api_name     CONSTANT VARCHAR2(30) := 'comp_all_items';
259      nTemp_Version  NUMBER;
260      nComparison    NUMBER;
261 
262      nCurrent_highest_version number :=0;  --The highest version in ver_comp result table
263 
264      vVersion1 NUMBER :=p_version_1;
265      vVersion2 NUMBER :=p_version_2;
266 
267      cursor c_nLatest_version is
268         SELECT MAX(MAJOR_VERSION)
269         FROM OKE_K_HEADERS_H
270         WHERE K_HEADER_ID=p_header_id;
271 
272      cursor c_nCurrent_highest_version is
273         SELECT MAX(version1)
274         FROM oke_version_compare_results
275         WHERE k_header_id=p_header_id;
276 
277      BEGIN
278 
279    IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
280       FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'Begin comparing all items ...');
281    END IF;
282       IF vVersion1 < vVersion2 THEN
283        nTemp_Version := vVersion1;
284        vVersion1 := vVersion2;
285        vVersion2 := nTemp_Version;
286       END IF;
287 
288       OPEN c_nLatest_version;
289       fetch c_nLatest_version into L_Latest_Version;
290       close c_nLatest_version;
291 
292       open c_nCurrent_highest_version;
293       FETCH c_nCurrent_highest_version INTO nCurrent_highest_version;
294       close c_nCurrent_highest_version;
295 
296       --clear table data
297       DELETE FROM oke_version_compare_results;
298       COMMIT;
299 
300       comp_headers(p_header_id ,vVersion1, vVersion2);
301       comp_header_parties(p_header_id ,vVersion1, vVersion2);
302       comp_header_terms(p_header_id,vVersion1, vVersion2);
303       comp_header_articles(p_header_id,vVersion1, vVersion2);
304       comp_lines(p_header_id, vVersion1, vVersion2);
305 
306       COMMIT;
307 
308       EXCEPTION
309           WHEN NO_DATA_FOUND THEN
310           NULL;
311           WHEN OTHERS THEN
312           NULL;
313 
314   END comp_all_items;
315 
316   PROCEDURE comp_headers(vHeader_id  IN NUMBER, vVersion1 IN NUMBER, vVersion2 IN NUMBER)
317   IS
318      TYPE r_header IS RECORD(
319         k_type                     OKE_K_HEADERS_SECURE_HV.k_type%TYPE,
320         buy_or_sell                OKE_K_HEADERS_SECURE_HV.buy_or_sell%TYPE,
321         boa_number                 OKE_K_HEADERS_SECURE_HV.boa_number%TYPE,
322         program_number             OKE_K_HEADERS_SECURE_HV.program_number%TYPE,
323         product_line               OKE_K_HEADERS_SECURE_HV.product_line%TYPE,
324         status                     OKE_K_HEADERS_SECURE_HV.status%TYPE,
325         project_name               OKE_K_HEADERS_SECURE_HV.project_name%TYPE,
326         line_value_total           OKE_K_HEADERS_SECURE_HV.line_value_total%TYPE,
327         undef_line_value_total     OKE_K_HEADERS_SECURE_HV.undef_line_value_total%TYPE,
328         k_value                    OKE_K_HEADERS_SECURE_HV.k_value%TYPE,
329         k_alias                    OKE_K_HEADERS_SECURE_HV.k_alias%TYPE,
330         currency_code              OKE_K_HEADERS_SECURE_HV.currency_code%TYPE,
331         priority_rating            OKE_K_HEADERS_SECURE_HV.priority_rating%TYPE,
332         major_version              OKE_K_HEADERS_SECURE_HV.major_version%TYPE,
333         award_date                 OKE_K_HEADERS_SECURE_HV.award_date%TYPE,
334         start_date                 OKE_K_HEADERS_SECURE_HV.start_date%TYPE,
335         end_date                   OKE_K_HEADERS_SECURE_HV.end_date%TYPE,
336         prime_k_number             OKE_K_HEADERS_SECURE_HV.prime_k_number%TYPE,
337         prime_k_alias              OKE_K_HEADERS_SECURE_HV.prime_k_alias%TYPE,
338         authoring_org              OKE_K_HEADERS_SECURE_HV.authoring_org%TYPE,
339 --      item_master_org            OKE_K_HEADERS_SECURE_HV.item_master_org%TYPE,
340         owning_organization        OKE_K_HEADERS_SECURE_HV.owning_organization%TYPE,
341         short_description          OKE_K_HEADERS_SECURE_HV.short_description%TYPE,
342         description                OKE_K_HEADERS_SECURE_HV.description%TYPE,
343         authorize_date             OKE_K_HEADERS_SECURE_HV.authorize_date%TYPE,
344         date_issued                OKE_K_HEADERS_SECURE_HV.date_issued%TYPE,
345         date_received              OKE_K_HEADERS_SECURE_HV.date_received%TYPE,
346         award_cancel_date          OKE_K_HEADERS_SECURE_HV.award_cancel_date%TYPE,
347         date_negotiated            OKE_K_HEADERS_SECURE_HV.date_negotiated%TYPE,
348         date_approved              OKE_K_HEADERS_SECURE_HV.date_approved%TYPE,
349         sic_code                   OKE_K_HEADERS_SECURE_HV.sic_code%TYPE,
350         date_sign_by_customer      OKE_K_HEADERS_SECURE_HV.date_sign_by_customer%TYPE,
351         date_sign_by_contractor    OKE_K_HEADERS_SECURE_HV.date_sign_by_contractor%TYPE,
352         faa_approve_date           OKE_K_HEADERS_SECURE_HV.faa_approve_date%TYPE,
353         customer_po_number         OKE_K_HEADERS_SECURE_HV.customer_po_number%TYPE,
354         no_competition_authorize   OKE_K_HEADERS_SECURE_HV.no_competition_authorize%TYPE,
355         export_flag                OKE_K_HEADERS_SECURE_HV.export_flag%TYPE,
356         classified_flag            OKE_K_HEADERS_SECURE_HV.classified_flag%TYPE,
357         penalty_clause_flag        OKE_K_HEADERS_SECURE_HV.penalty_clause_flag%TYPE,
358         reporting_flag             OKE_K_HEADERS_SECURE_HV.reporting_flag%TYPE,
359         sb_plan_req_flag           OKE_K_HEADERS_SECURE_HV.sb_plan_req_flag%TYPE,
360         sb_report_flag             OKE_K_HEADERS_SECURE_HV.sb_report_flag%TYPE,
361         cqa_flag                   OKE_K_HEADERS_SECURE_HV.cqa_flag%TYPE,
362         cfe_flag                   OKE_K_HEADERS_SECURE_HV.cfe_flag%TYPE,
363         prop_delivery_location     OKE_K_HEADERS_SECURE_HV.prop_delivery_location%TYPE,
364         prop_due_date_time         OKE_K_HEADERS_SECURE_HV.prop_due_date_time%TYPE,
365         prop_expire_date           OKE_K_HEADERS_SECURE_HV.prop_expire_date%TYPE,
366         copies_required            OKE_K_HEADERS_SECURE_HV.copies_required%TYPE,
367         --billing_methods                  OKE_K_HEADERS_SECURE_HV.billing_methods%TYPE,
368         --billing_methods_button           OKE_K_HEADERS_SECURE_HV.billing_methods_button%TYPE,
369         country_of_origin_code     OKE_K_HEADERS_SECURE_HV.country_of_origin_code%TYPE,
370         vat_code                   OKE_K_HEADERS_SECURE_HV.vat_code%TYPE,
371         cost_of_sale_rate          OKE_K_HEADERS_SECURE_HV.cost_of_sale_rate%TYPE,
372         nte_amount                 OKE_K_HEADERS_SECURE_HV.nte_amount%TYPE,
373         date_definitized           OKE_K_HEADERS_SECURE_HV.date_definitized%TYPE,
374         tech_data_wh_rate          OKE_K_HEADERS_SECURE_HV.tech_data_wh_rate%TYPE,
375         financial_ctrl_verified_flag          OKE_K_HEADERS_SECURE_HV.financial_ctrl_verified_flag%TYPE,
376         nte_warning_flag           OKE_K_HEADERS_SECURE_HV.nte_warning_flag%TYPE,
377         cas_flag                   OKE_K_HEADERS_SECURE_HV.cas_flag%TYPE,
378         dcaa_audit_req_flag        OKE_K_HEADERS_SECURE_HV.dcaa_audit_req_flag%TYPE,
379         interim_rpt_req_flag       OKE_K_HEADERS_SECURE_HV.interim_rpt_req_flag%TYPE,
380         cost_of_money              OKE_K_HEADERS_SECURE_HV.cost_of_money%TYPE,
381         oh_rates_final_flag        OKE_K_HEADERS_SECURE_HV.oh_rates_final_flag%TYPE,
382         progress_payment_flag      OKE_K_HEADERS_SECURE_HV.progress_payment_flag%TYPE,
383         progress_payment_rate      OKE_K_HEADERS_SECURE_HV.progress_payment_rate%TYPE,
384         progress_payment_liq_rate  OKE_K_HEADERS_SECURE_HV.progress_payment_liq_rate%TYPE,
385         alternate_liquidation_rate OKE_K_HEADERS_SECURE_HV.alternate_liquidation_rate%TYPE,
386         cost_share_flag            OKE_K_HEADERS_SECURE_HV.cost_share_flag%TYPE,
387         definitized_flag           OKE_K_HEADERS_SECURE_HV.definitized_flag%TYPE,
388         bill_without_def_flag      OKE_K_HEADERS_SECURE_HV.bill_without_def_flag%TYPE,
389         comments                   OKE_K_HEADERS_SECURE_HV.comments%TYPE
390         );
391 
392 
393      l_api_name     CONSTANT VARCHAR2(30) := 'comp_headers';
394      r_header_1 r_header;
395      r_header_2 r_header;
396 
397      CURSOR c IS
398        SELECT meaning
399        FROM   fnd_lookup_values_vl
400        WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
401        AND    lookup_code = l_Object
402        AND    view_application_id=777;
403 
404 
405   BEGIN
406 
407    IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
408      FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'Begin comparing header ...');
409    END IF;
410      L_Attribute_Object_Name :='OKE_K_HEADERS';
411      l_Object :='HEADER';
412 
413      OPEN c;
414      FETCH c INTO l_object_type;
415      CLOSE c;
416 
417      l_object_name :='';
418 
419      --
420      --If version1 is the current highest version
421      --
422      IF L_Latest_Version < vVersion1  THEN
423           l_current_flag := 'Y';
424 
425           SELECT k_type,
426                  buy_or_sell,
427 		 boa_number,
428                  program_number,
429                  product_line,
430                  status,
431                  project_name,
432                  line_value_total,
433                  undef_line_value_total,
434                  k_value,
435                  k_alias,
436                  currency_code,
437                  priority_rating,
438                  major_version,
439                  award_date,
440                  start_date,
441                  end_date,
442                  prime_k_number,
443                  prime_k_alias,
444                  authoring_org,
445                  --item_master_org,
446                  owning_organization,
447                  short_description,
448                  description,
449                  authorize_date,
450                  date_issued,
451                  date_received,
452                  award_cancel_date,
453                  date_negotiated,
454                  date_approved,
455                  sic_code,
456                  date_sign_by_customer,
457                  date_sign_by_contractor,
458                  faa_approve_date,
459                  customer_po_number,
460                  no_competition_authorize,
461                  export_flag,
462                  classified_flag,
463                  penalty_clause_flag,
464                  reporting_flag,
465                  sb_plan_req_flag,
466                  sb_report_flag,
467                  cqa_flag,
468                  cfe_flag,
469                  prop_delivery_location,
470                  prop_due_date_time,
471                  prop_expire_date,
472                  copies_required,
473                  --billing_methods,
474                  --billing_methods_button,
475                  country_of_origin_code,
476                  vat_code,
477                  cost_of_sale_rate,
478                  nte_amount,
479                  date_definitized,
480                  tech_data_wh_rate,
481                  financial_ctrl_verified_flag,
482                  nte_warning_flag,
483                  cas_flag,
484                  dcaa_audit_req_flag,
485                  interim_rpt_req_flag,
486                  cost_of_money,
487                  oh_rates_final_flag,
488                  progress_payment_flag,
489                  progress_payment_rate,
490                  progress_payment_liq_rate,
491                  alternate_liquidation_rate,
492                  cost_share_flag,
493                  definitized_flag,
494                  bill_without_def_flag,
495                  comments
496 
497                  INTO r_header_1
498                  FROM OKE_K_HEADERS_SECURE_V
499                  WHERE K_HEADER_ID=vHeader_id;
500 
501        ELSE
502            SELECT k_type,
503                  buy_or_sell,
504                  boa_number,
505                  program_number,
506                  product_line,
507                  status,
508                  project_name,
509                  line_value_total,
510                  undef_line_value_total,
511                  k_value,
512                  k_alias,
513                  currency_code,
514                  priority_rating,
515                  major_version,
516                  award_date,
517                  start_date,
518                  end_date,
519                  prime_k_number,
520                  prime_k_alias,
521                  authoring_org,
522                  --item_master_org,
523                  owning_organization,
524                  short_description,
525                  description,
526                  authorize_date,
527                  date_issued,
528                  date_received,
529                  award_cancel_date,
530                  date_negotiated,
531                  date_approved,
532                  sic_code,
533                  date_sign_by_customer,
534                  date_sign_by_contractor,
535                  faa_approve_date,
536                  customer_po_number,
537                  no_competition_authorize,
538                  export_flag,
539                  classified_flag,
540                  penalty_clause_flag,
541                  reporting_flag,
542                  sb_plan_req_flag,
543                  sb_report_flag,
544                  cqa_flag,
545                  cfe_flag,
546                  prop_delivery_location,
547                  prop_due_date_time,
548                  prop_expire_date,
549                  copies_required,
550                  --billing_methods,
551                  --billing_methods_button,
552                  country_of_origin_code,
553                  vat_code,
554                  cost_of_sale_rate,
555                  nte_amount,
556                  date_definitized,
557                  tech_data_wh_rate,
558                  financial_ctrl_verified_flag,
559                  nte_warning_flag,
560                  cas_flag,
561                  dcaa_audit_req_flag,
562                  interim_rpt_req_flag,
563                  cost_of_money,
564                  oh_rates_final_flag,
565                  progress_payment_flag,
566                  progress_payment_rate,
567                  progress_payment_liq_rate,
568                  alternate_liquidation_rate,
569                  cost_share_flag,
570                  definitized_flag,
571                  bill_without_def_flag,
572                  comments
573 
574                  INTO r_header_1
575                  FROM OKE_K_HEADERS_SECURE_HV
576                  WHERE K_HEADER_ID=vHeader_id
577                  AND MAJOR_VERSION=vVersion1;
578 
579         END IF;
580 
581         SELECT k_type,
582                  buy_or_sell,
583                  boa_number,
584                  program_number,
585                  product_line,
586                  status,
587                  project_name,
588                  line_value_total,
589                  undef_line_value_total,
590                  k_value,
591                  k_alias,
592                  currency_code,
593                  priority_rating,
594                  major_version,
595                  award_date,
596                  start_date,
597                  end_date,
598                  prime_k_number,
599                  prime_k_alias,
600                  authoring_org,
601     --           item_master_org,
602                  owning_organization,
603                  short_description,
604                  description,
605                  authorize_date,
606                  date_issued,
607                  date_received,
608                  award_cancel_date,
609                  date_negotiated,
610                  date_approved,
611                  sic_code,
612                  date_sign_by_customer,
613                  date_sign_by_contractor,
614                  faa_approve_date,
615                  customer_po_number,
616                  no_competition_authorize,
617                  export_flag,
618                  classified_flag,
619                  penalty_clause_flag,
620                  reporting_flag,
621                  sb_plan_req_flag,
622                  sb_report_flag,
623                  cqa_flag,
624                  cfe_flag,
625                  prop_delivery_location,
626                  prop_due_date_time,
627                  prop_expire_date,
628                  copies_required,
629                  --billing_methods,
630                  --billing_methods_button,
631                  country_of_origin_code,
632                  vat_code,
633                  cost_of_sale_rate,
634                  nte_amount,
635                  date_definitized,
636                  tech_data_wh_rate,
637                  financial_ctrl_verified_flag,
638                  nte_warning_flag,
639                  cas_flag,
640                  dcaa_audit_req_flag,
641                  interim_rpt_req_flag,
642                  cost_of_money,
643                  oh_rates_final_flag,
644                  progress_payment_flag,
645                  progress_payment_rate,
646                  progress_payment_liq_rate,
647                  alternate_liquidation_rate,
648                  cost_share_flag,
649                  definitized_flag,
650                  bill_without_def_flag,
651                  comments
652 
653               INTO r_header_2
654               FROM OKE_K_HEADERS_SECURE_HV
655               WHERE K_HEADER_ID=vHeader_id
656               AND MAJOR_VERSION=vVersion2;
657 
658      SET_FORMAT_MASKS( r_header_1.currency_code, r_header_2.currency_code );
659 
660      IF r_header_1.K_TYPE <> r_header_2.K_TYPE THEN
661         l_prompt := 'K_TYPE';
662         l_data1  := r_header_1.K_TYPE;
663         l_data2  := r_header_2.K_TYPE;
664 
665         insert_comp_result(vHeader_id,vVersion1,vVersion2);
666 
667      END IF;
668 
669      IF (r_header_1.BUY_OR_SELL <> r_header_2.BUY_OR_SELL)
670          OR( NOT((r_header_1.BUY_OR_SELL is null)and(r_header_2.BUY_OR_SELL is null))
671              AND ((r_header_1.BUY_OR_SELL is null)or(r_header_2.BUY_OR_SELL is null)))THEN
672         l_prompt := 'BUY_OR_SELL';
673         l_data1  := r_header_1.BUY_OR_SELL;
674         l_data2  := r_header_2.BUY_OR_SELL;
675 
676         insert_comp_result(vHeader_id,vVersion1,vVersion2);
677      END IF;
678 
679      IF (r_header_1.BOA_NUMBER <> r_header_2.BOA_NUMBER)
680         OR( NOT((r_header_1.BOA_NUMBER is null)and(r_header_2.BOA_NUMBER is null))
681              AND ((r_header_1.BOA_NUMBER is null)or(r_header_2.BOA_NUMBER is null)))THEN
682         l_prompt := 'BOA_NUMBER';
683         l_data1  := r_header_1.BOA_NUMBER;
684         l_data2  := r_header_2.BOA_NUMBER;
685 
686         insert_comp_result(vHeader_id,vVersion1,vVersion2);
687      END IF;
688 
689      IF (r_header_1.PROGRAM_NUMBER <> r_header_2.PROGRAM_NUMBER)
690          OR( NOT((r_header_1.program_number is null)and(r_header_2.program_number is null))
691              AND ((r_header_1.program_number is null)or(r_header_2.program_number is null)))THEN
692         l_prompt := 'PROGRAM_NUMBER';
693         l_data1  := r_header_1.program_number;
694         l_data2  := r_header_2.program_number;
695 
696         insert_comp_result(vHeader_id,vVersion1,vVersion2);
697      END IF;
698 
699      IF (r_header_1.product_line <> r_header_2.product_line)
700          OR( NOT((r_header_1.product_line is null)and(r_header_2.product_line is null))
701              AND ((r_header_1.product_line is null)or(r_header_2.product_line is null))) THEN
702         l_prompt := 'PRODUCT_LINE';
703         l_data1  := r_header_1.product_line;
704         l_data2  := r_header_2.product_line;
705 
706         insert_comp_result(vHeader_id,vVersion1,vVersion2);
707      END IF;
708 
709      IF r_header_1.STATUS <> r_header_2.STATUS THEN
710         l_prompt := 'STATUS';
711         l_data1  := r_header_1.STATUS;
712         l_data2  := r_header_2.STATUS;
713 
714         insert_comp_result(vHeader_id,vVersion1,vVersion2);
715      END IF;
716 
717      IF (r_header_1.PROJECT_NAME <> r_header_2.PROJECT_NAME)
718          OR( NOT((r_header_1.project_name is null)and(r_header_2.project_name is null))
719              AND ((r_header_1.project_name is null)or(r_header_2.project_name is null)))THEN
720         l_prompt := 'PROJECT_NAME';
721         l_data1  := r_header_1.PROJECT_NAME;
722         l_data2  := r_header_2.PROJECT_NAME;
723 
724         insert_comp_result(vHeader_id,vVersion1,vVersion2);
725      END IF;
726 
727       IF (r_header_1.LINE_VALUE_TOTAL <>  r_header_2.LINE_VALUE_TOTAL)
728          OR( NOT((r_header_1.line_value_total is null)and(r_header_2.line_value_total is null))
729              AND ((r_header_1.line_value_total is null)or(r_header_2.line_value_total is null))) THEN
730         l_prompt := 'LINE_VALUE_TOTAL';
731         SET_AMOUNT_DIFF_DATA( r_header_1.LINE_VALUE_TOTAL, r_header_2.LINE_VALUE_TOTAL);
732         insert_comp_result(vHeader_id,vVersion1,vVersion2);
733 
734      END IF;
735 
736      IF (r_header_1.UNDEF_LINE_VALUE_TOTAL <>  r_header_2.UNDEF_LINE_VALUE_TOTAL)
737          OR( NOT((r_header_1.UNDEF_line_value_total is null)and(r_header_2.UNDEF_line_value_total is null))
738              AND ((r_header_1.UNDEF_line_value_total is null)or(r_header_2.UNDEF_line_value_total is null))) THEN
739         l_prompt := 'UNDEF_LINE_VALUE_TOTAL';
740         SET_AMOUNT_DIFF_DATA( r_header_1.UNDEF_LINE_VALUE_TOTAL, r_header_2.UNDEF_LINE_VALUE_TOTAL);
741         insert_comp_result(vHeader_id,vVersion1,vVersion2);
742 
743      END IF;
744 
745      IF nvl(r_header_1.K_VALUE,0) <> nvl(r_header_2.K_VALUE,0) THEN
746         l_prompt := 'K_VALUE';
747         SET_AMOUNT_DIFF_DATA( r_header_1.k_value, r_header_2.k_value );
748         insert_comp_result(vHeader_id,vVersion1,vVersion2);
749      END IF;
750 
751      IF nvl(r_header_1.K_ALIAS,' ') <> nvl(r_header_2.K_ALIAS,' ') THEN
752         l_prompt := 'K_ALIAS';
753         l_data1  := r_header_1.k_alias;
754         l_data2  := r_header_2.K_alias;
755 
756         insert_comp_result(vHeader_id,vVersion1,vVersion2);
757      END IF;
758 
759      IF (r_header_1.currency_code <> r_header_2.currency_code )
760          OR( NOT((r_header_1.currency_code is null)and(r_header_2.currency_code is null))
761              AND ((r_header_1.currency_code is null)or(r_header_2.currency_code is null)))THEN
762         l_prompt := 'CURRENCY_CODE';
763         l_data1  := r_header_1.currency_code;
764         l_data2  := r_header_2.currency_code;
765 
766         insert_comp_result(vHeader_id,vVersion1,vVersion2);
767      END IF;
768 
769      IF( r_header_1.priority_rating <> r_header_2.priority_rating )
770          OR( NOT((r_header_1.priority_rating is null)and(r_header_2.priority_rating is null))
771              AND ((r_header_1.priority_rating is null)or(r_header_2.priority_rating is null)))THEN
772         l_prompt := 'PRIORITY_RATING';
773         l_data1  := r_header_1.priority_rating;
774         l_data2  := r_header_2.priority_rating;
775 
776         insert_comp_result(vHeader_id,vVersion1,vVersion2);
777      END IF;
778 /*
779      IF r_header_1.MAJOR_VERSION <>  r_header_2.MAJOR_VERSION THEN
780         l_prompt := 'OBJECT_VERSION_NUMBER';
781         l_data1  := r_header_1.MAJOR_VERSION;
782         l_data2  := r_header_2.MAJOR_VERSION;
783 
784         insert_comp_result(vHeader_id,vVersion1,vVersion2);
785      END IF;
786 */
787      IF (r_header_1.award_date <> r_header_2.award_date )
788 	 OR( NOT((r_header_1.award_date is null)and(r_header_2.award_date is null))
789              AND ((r_header_1.award_date is null)or(r_header_2.award_date is null)))THEN
790         l_prompt := 'AWARD_DATE';
791         l_data1  := r_header_1.award_date;
792         l_data2  := r_header_2.award_date;
793 
794         insert_comp_result(vHeader_id,vVersion1,vVersion2);
795      END IF;
796 
797      IF (r_header_1.START_DATE <>  r_header_2.START_DATE )
798 	 OR( NOT((r_header_1.start_date is null)and(r_header_2.start_date is null))
799              AND ((r_header_1.start_date is null)or(r_header_2.start_date is null)))THEN
800         l_prompt := 'START_DATE';
801         l_data1  := r_header_1.START_DATE;
802         l_data2  := r_header_2.START_DATE;
803 
804         insert_comp_result(vHeader_id,vVersion1,vVersion2);
805 
806      END IF;
807 
808      IF (r_header_1.end_date <> r_header_2.end_date)
809  	 OR( NOT((r_header_1.end_date is null)and(r_header_2.end_date is null))
810              AND ((r_header_1.end_date is null)or(r_header_2.end_date is null))) THEN
811         l_prompt := 'END_DATE';
812         l_data1  := r_header_1.end_date;
813         l_data2  := r_header_2.end_date;
814 
815         insert_comp_result(vHeader_id,vVersion1,vVersion2);
816      END IF;
817 
818      IF (r_header_1.prime_k_number <> r_header_2.prime_k_number )
819          OR( NOT((r_header_1.prime_k_number is null)and(r_header_2.prime_k_number is null))
820              AND ((r_header_1.prime_k_number is null)or(r_header_2.prime_k_number is null)))THEN
821         l_prompt := 'PRIME_K_NUMBER';
822         l_data1  := r_header_1.prime_k_number;
823         l_data2  := r_header_2.prime_k_number;
824 
825         insert_comp_result(vHeader_id,vVersion1,vVersion2);
826      END IF;
827 
828      IF (r_header_1.prime_k_alias <> r_header_2.prime_k_alias )
829 	 OR( NOT((r_header_1.prime_k_alias is null)and(r_header_2.prime_k_alias is null))
830              AND ((r_header_1.prime_k_alias is null)or(r_header_2.prime_k_alias is null)))THEN
831         l_prompt := 'PRIME_K_ALIAS';
832         l_data1  := r_header_1.prime_k_alias;
833         l_data2  := r_header_2.prime_k_alias;
834 
835         insert_comp_result(vHeader_id,vVersion1,vVersion2);
836      END IF;
837 
838      IF (r_header_1.authoring_org <> r_header_2.authoring_org )
839 	 OR( NOT((r_header_1.authoring_org is null)and(r_header_2.authoring_org is null))
840              AND ((r_header_1.authoring_org is null)or(r_header_2.authoring_org is null)))THEN
841         l_prompt := 'AUTHORING_ORG';
842         l_data1  := r_header_1.authoring_org;
843         l_data2  := r_header_2.authoring_org;
844 
845         insert_comp_result(vHeader_id,vVersion1,vVersion2);
846      END IF;
847 /*
848       IF r_header_1.item_master_org <> r_header_2.item_master_org THEN
849         l_prompt := 'ITEM_MASTER_ORG';
850         l_data1  := r_header_1.item_master_org;
851         l_data2  := r_header_2.item_master_org;
852 
853         insert_comp_result(vHeader_id,vVersion1,vVersion2);
854      END IF;
855 */
856 
857      IF (r_header_1.owning_organization <> r_header_2.owning_organization )
858          OR( NOT((r_header_1.owning_organization is null)and(r_header_2.owning_organization is null))
859              AND ((r_header_1.owning_organization is null)or(r_header_2.owning_organization is null)))THEN
860         l_prompt := 'OWNING_ORGANIZATION';
861         l_data1  := r_header_1.owning_organization;
862         l_data2  := r_header_2.owning_organization;
863 
864         insert_comp_result(vHeader_id,vVersion1,vVersion2);
865      END IF;
866 
867      IF nvl(r_header_1.short_description,' ') <> nvl(r_header_2.short_description,' ') THEN
868         l_prompt := 'SHORT_DESCRIPTION';
869         l_data1  := r_header_1.short_description;
870         l_data2  := r_header_2.short_description;
871 
872         insert_comp_result(vHeader_id,vVersion1,vVersion2);
873      END IF;
874 
875      IF (r_header_1.description <> r_header_2.description )
876 	 OR( NOT((r_header_1.description is null)and(r_header_2.description is null))
877              AND ((r_header_1.description is null)or(r_header_2.description is null)))THEN
878         l_prompt := 'DESCRIPTION';
879         l_data1  := r_header_1.description;
880         l_data2  := r_header_2.description;
881 
882         insert_comp_result(vHeader_id,vVersion1,vVersion2);
883      END IF;
884 
885      IF (r_header_1.authorize_date <> r_header_2.authorize_date )
886 	 OR( NOT((r_header_1.authorize_date is null)and(r_header_2.authorize_date is null))
887              AND ((r_header_1.authorize_date is null)or(r_header_2.authorize_date is null)))THEN
888         l_prompt := 'AUTHORIZE_DATE';
889         l_data1  := r_header_1.authorize_date;
890         l_data2  := r_header_2.authorize_date;
891 
892         insert_comp_result(vHeader_id,vVersion1,vVersion2);
893      END IF;
894 
895       IF (r_header_1.date_issued <> r_header_2.date_issued )
896 	 OR( NOT((r_header_1.date_issued is null)and(r_header_2.date_issued is null))
897              AND ((r_header_1.date_issued is null)or(r_header_2.date_issued is null)))THEN
898         l_prompt := 'DATE_ISSUED';
899         l_data1  := r_header_1.date_issued;
900         l_data2  := r_header_2.date_issued;
901 
902         insert_comp_result(vHeader_id,vVersion1,vVersion2);
903      END IF;
904 
905      IF (r_header_1.date_received <> r_header_2.date_received )
906 	 OR( NOT((r_header_1.date_received is null)and(r_header_2.date_received is null))
907              AND ((r_header_1.date_received is null)or(r_header_2.date_received is null)))THEN
908         l_prompt := 'DATE_RECEIVED';
909         l_data1  := r_header_1.date_received;
910         l_data2  := r_header_2.date_received;
911 
912         insert_comp_result(vHeader_id,vVersion1,vVersion2);
913      END IF;
914 
915      IF (r_header_1.award_cancel_date <> r_header_2.award_cancel_date )
916          OR( NOT((r_header_1.award_cancel_date is null)and(r_header_2.award_cancel_date is null))
917              AND ((r_header_1.award_cancel_date is null)or(r_header_2.award_cancel_date is null)))THEN
918         l_prompt := 'AWARD_CANCEL_DATE';
919         l_data1  := r_header_1.award_cancel_date;
920         l_data2  := r_header_2.award_cancel_date;
921 
922         insert_comp_result(vHeader_id,vVersion1,vVersion2);
923      END IF;
924 
925      IF (r_header_1.date_negotiated <> r_header_2.date_negotiated )
926 	 OR( NOT((r_header_1.date_negotiated is null)and(r_header_2.date_negotiated is null))
927              AND ((r_header_1.date_negotiated is null)or(r_header_2.date_negotiated is null)))THEN
928         l_prompt := 'DATE_NEGOTIATED';
929         l_data1  := r_header_1.date_negotiated;
930         l_data2  := r_header_2.date_negotiated;
931 
932         insert_comp_result(vHeader_id,vVersion1,vVersion2);
933      END IF;
934 
935 /*
936       IF (r_header_1.date_approved <> r_header_2.date_approved )
937 	 OR( NOT((r_header_1.date_approved is null)and(r_header_2.date_approved is null))
938              AND ((r_header_1.date_approved is null)or(r_header_2.date_approved is null)))THEN
939         l_prompt := 'DATE_APPROVED';
940         l_data1  := r_header_1.date_approved;
941         l_data2  := r_header_2.date_approved;
942 
943         insert_comp_result(vHeader_id,vVersion1,vVersion2);
944      END IF;
945 */
946      IF (r_header_1.sic_code <> r_header_2.sic_code )
947 	 OR( NOT((r_header_1.sic_code is null)and(r_header_2.sic_code is null))
948              AND ((r_header_1.sic_code is null)or(r_header_2.sic_code is null)))THEN
949         l_prompt := 'SIC_CODE';
950         l_data1  := r_header_1.sic_code;
951         l_data2  := r_header_2.sic_code;
952 
953         insert_comp_result(vHeader_id,vVersion1,vVersion2);
954      END IF;
955 
956      IF (r_header_1.date_sign_by_customer <> r_header_2.date_sign_by_customer )
957 	 OR( NOT((r_header_1.date_sign_by_customer is null)and(r_header_2.date_sign_by_customer is null))
958              AND ((r_header_1.date_sign_by_customer is null)or(r_header_2.date_sign_by_customer is null)))THEN
959         l_prompt := 'DATE_SIGN_BY_CUSTOMER';
960         l_data1  := r_header_1.date_sign_by_customer;
961         l_data2  := r_header_2.date_sign_by_customer;
962 
963         insert_comp_result(vHeader_id,vVersion1,vVersion2);
964      END IF;
965 
966 
967      IF (r_header_1.date_sign_by_contractor <> r_header_2.date_sign_by_contractor )
968 	 OR( NOT((r_header_1.date_sign_by_contractor is null)and(r_header_2.date_sign_by_contractor is null))
969              AND ((r_header_1.date_sign_by_customer is null)or(r_header_2.date_sign_by_contractor is null)))THEN
970         l_prompt := 'DATE_SIGN_BY_CONTRACTOR';
971         l_data1  := r_header_1.date_sign_by_contractor;
972         l_data2  := r_header_2.date_sign_by_contractor;
973 
974         insert_comp_result(vHeader_id,vVersion1,vVersion2);
975      END IF;
976 
977 
978       IF (r_header_1.faa_approve_date <> r_header_2.faa_approve_date )
979 	 OR( NOT((r_header_1.faa_approve_date is null)and(r_header_2.faa_approve_date is null))
980              AND ((r_header_1.faa_approve_date is null)or(r_header_2.faa_approve_date is null)))THEN
981         l_prompt := 'FAA_APPROVE_DATE';
982         l_data1  := r_header_1.faa_approve_date;
983         l_data2  := r_header_2.faa_approve_date;
984 
985         insert_comp_result(vHeader_id,vVersion1,vVersion2);
986      END IF;
987 
988      IF (r_header_1.customer_po_number <> r_header_2.customer_po_number )
989 	 OR( NOT((r_header_1.customer_po_number is null)and(r_header_2.customer_po_number is null))
990              AND ((r_header_1.customer_po_number is null)or(r_header_2.customer_po_number is null)))THEN
991         l_prompt := 'CUSTOMER_PO_NUMBER';
992         l_data1  := r_header_1.customer_po_number;
993         l_data2  := r_header_2.customer_po_number;
994 
995         insert_comp_result(vHeader_id,vVersion1,vVersion2);
996      END IF;
997 
998      IF (r_header_1.no_competition_authorize <> r_header_2.no_competition_authorize )
999 	 OR( NOT((r_header_1.no_competition_authorize is null)and(r_header_2.no_competition_authorize is null))
1000              AND ((r_header_1.no_competition_authorize is null)or(r_header_2.no_competition_authorize is null)))THEN
1001         l_prompt := 'NO_COMPETITION_AUTHORIZE';
1002         l_data1  := r_header_1.no_competition_authorize;
1003         l_data2  := r_header_2.no_competition_authorize;
1004 
1005         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1006      END IF;
1007 
1008      IF  ((r_header_1.export_flag = 'Y') AND (NVL(r_header_2.export_flag,' ')<>'Y'))
1009        OR((r_header_2.export_flag = 'Y') AND (NVL(r_header_1.export_flag,' ')<>'Y'))THEN
1010         l_prompt := 'EXPORT_YN';
1011         l_data1  := r_header_1.export_flag;
1012         l_data2  := r_header_2.export_flag;
1013 
1014         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1015      END IF;
1016 
1017       IF ((r_header_1.classified_flag = 'Y') AND (NVL(r_header_2.classified_flag, ' ')<>'Y' ))
1018        OR((r_header_2.classified_flag = 'Y') AND (NVL(r_header_1.classified_flag, ' ')<>'Y' ))THEN
1019         l_prompt := 'CLASSIFIED_YN';
1020         l_data1  := r_header_1.classified_flag;
1021         l_data2  := r_header_2.classified_flag;
1022 
1023         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1024      END IF;
1025 
1026      IF ((r_header_1.PENALTY_CLAUSE_FLAG = 'Y') AND (NVL(r_header_2.PENALTY_CLAUSE_FLAG, ' ')<>'Y' ))
1027        OR((r_header_2.PENALTY_CLAUSE_FLAG = 'Y') AND (NVL(r_header_1.PENALTY_CLAUSE_FLAG, ' ')<>'Y' ))THEN
1028         l_prompt := 'PENALTY_CLAUSE_YN';
1029         l_data1  := r_header_1.penalty_clause_flag;
1030         l_data2  := r_header_2.penalty_clause_flag;
1031 
1032         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1033      END IF;
1034 
1035      IF ((r_header_1.REPORTING_FLAG = 'Y') AND (NVL(r_header_2.REPORTING_FLAG, ' ')<>'Y' ))
1036        OR((r_header_2.REPORTING_FLAG = 'Y') AND (NVL(r_header_1.REPORTING_FLAG, ' ')<>'Y' ))THEN
1037         l_prompt := 'REPORTING_YN';
1038         l_data1  := r_header_1.reporting_flag;
1039         l_data2  := r_header_2.reporting_flag;
1040 
1041         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1042      END IF;
1043 
1044      IF ((r_header_1.SB_PLAN_REQ_FLAG = 'Y') AND (NVL(r_header_2.SB_PLAN_REQ_FLAG, ' ')<>'Y' ))
1045        OR((r_header_2.SB_PLAN_REQ_FLAG = 'Y') AND (NVL(r_header_1.SB_PLAN_REQ_FLAG, ' ')<>'Y' ))THEN
1046         l_prompt := 'SB_PLAN_REQ_YN';
1047         l_data1  := r_header_1.sb_plan_req_flag;
1048         l_data2  := r_header_2.sb_plan_req_flag;
1049 
1050         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1051      END IF;
1052 
1053       IF ((r_header_1.SB_REPORT_FLAG = 'Y') AND (NVL(r_header_2.SB_REPORT_FLAG, ' ')<>'Y' ))
1054        OR((r_header_2.SB_REPORT_FLAG = 'Y') AND (NVL(r_header_1.SB_REPORT_FLAG, ' ')<>'Y' ))THEN
1055         l_prompt := 'SB_REPORT_YN';
1056         l_data1  := r_header_1.sb_report_flag;
1057         l_data2  := r_header_2.sb_report_flag;
1058 
1059         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1060      END IF;
1061 
1062      IF ((r_header_1.CQA_FLAG = 'Y') AND (NVL(r_header_2.CQA_FLAG, ' ')<>'Y' ))
1063       OR((r_header_2.CQA_FLAG = 'Y') AND (NVL(r_header_1.CQA_FLAG, ' ')<>'Y' ))THEN
1064         l_prompt := 'CQA_YN';
1065         l_data1  := r_header_1.cqa_flag;
1066         l_data2  := r_header_2.cqa_flag;
1067 
1068         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1069      END IF;
1070 
1071      IF ((r_header_1.CFE_FLAG = 'Y') AND (NVL(r_header_2.CFE_FLAG, ' ')<>'Y' ))
1072       OR((r_header_2.CFE_FLAG = 'Y') AND (NVL(r_header_1.CFE_FLAG, ' ')<>'Y' ))THEN
1073         l_prompt := 'CFE_YN';
1074         l_data1  := r_header_1.cfe_flag;
1075         l_data2  := r_header_2.cfe_flag;
1076 
1077         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1078      END IF;
1079 
1080      IF (r_header_1.prop_delivery_location <> r_header_2.prop_delivery_location )
1081 	 OR( NOT((r_header_1.prop_delivery_location is null)and(r_header_2.prop_delivery_location is null))
1082              AND ((r_header_1.prop_delivery_location is null)or(r_header_2.prop_delivery_location is null)))THEN
1083         l_prompt := 'PROP_DELIVERY_LOCATION';
1084         l_data1  := r_header_1.prop_delivery_location;
1085         l_data2  := r_header_2.prop_delivery_location;
1086 
1087         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1088      END IF;
1089 
1090      IF (r_header_1.prop_due_date_time <> r_header_2.prop_due_date_time )
1091 	 OR( NOT((r_header_1.prop_due_date_time is null)and(r_header_2.prop_due_date_time is null))
1092              AND ((r_header_1.prop_due_date_time is null)or(r_header_2.prop_due_date_time is null)))THEN
1093         l_prompt := 'PROP_DUE_DATE_TIME';
1094         l_data1  := r_header_1.prop_due_date_time;
1095         l_data2  := r_header_2.prop_due_date_time;
1096 
1097         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1098      END IF;
1099 
1100      IF (r_header_1.prop_expire_date <> r_header_2.prop_expire_date )
1101 	 OR( NOT((r_header_1.prop_expire_date is null)and(r_header_2.prop_expire_date is null))
1102              AND ((r_header_1.prop_expire_date is null)or(r_header_2.prop_expire_date is null)))THEN
1103         l_prompt := 'PROP_EXPIRE_DATE';
1104         l_data1  := r_header_1.prop_expire_date;
1105         l_data2  := r_header_2.prop_expire_date;
1106 
1107         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1108      END IF;
1109 
1110      IF (r_header_1.copies_required <> r_header_2.copies_required )
1111 	 OR( NOT((r_header_1.copies_required is null)and(r_header_2.copies_required is null))
1112              AND ((r_header_1.copies_required is null)or(r_header_2.copies_required is null)))THEN
1113         l_prompt := 'COPIES_REQUIRED';
1114         l_data1  := r_header_1.copies_required;
1115         l_data2  := r_header_2.copies_required;
1116 
1117         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1118      END IF;
1119 /*
1120      IF (r_header_1.billing_methods <> r_header_2.billing_methods )
1121 	 OR( NOT((r_header_1. is null)and(r_header_2. is null))
1122              AND ((r_header_1. is null)or(r_header_2. is null)))THEN
1123         l_prompt := 'Billing Methods';
1124         l_data1  := r_header_1.billing_methods;
1125         l_data2  := r_header_2.billing_methods;
1126 
1127         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1128      END IF;
1129 
1130       IF r_header_1.billing_methods_button <> r_header_2.billing_methods_button
1131 	 OR( NOT((r_header_1.billing_methods_button is null)and(r_header_2.billing_methods_button is null))
1132              AND ((r_header_1.billing_methods_button is null)or(r_header_2.billing_methods_button is null)))THEN
1133         l_prompt := 'Billing methods button';
1134         l_data1  := r_header_1.billing_methods_button;
1135         l_data2  := r_header_2.billing_methods_button;
1136 
1137         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1138      END IF;
1139 */
1140      IF (r_header_1.country_of_origin_code <> r_header_2.country_of_origin_code )
1141 	 OR( NOT((r_header_1.country_of_origin_code is null)and(r_header_2.country_of_origin_code is null))
1142              AND ((r_header_1.country_of_origin_code is null)or(r_header_2.country_of_origin_code is null)))THEN
1143         l_prompt := 'COUNTRY_OF_ORIGIN_CODE';
1144         l_data1  := r_header_1.country_of_origin_code;
1145         l_data2  := r_header_2.country_of_origin_code;
1146 
1147         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1148      END IF;
1149 
1150      IF (r_header_1.vat_code <> r_header_2.vat_code )
1151 	 OR( NOT((r_header_1.vat_code is null)and(r_header_2.vat_code is null))
1152              AND ((r_header_1.vat_code is null)or(r_header_2.vat_code is null)))THEN
1153         l_prompt := 'VAT_CODE';
1154         l_data1  := r_header_1.vat_code;
1155         l_data2  := r_header_2.Vat_code;
1156 
1157         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1158      END IF;
1159 
1160      IF (r_header_1.cost_of_sale_rate <> r_header_2.cost_of_sale_rate )
1161 	 OR( NOT((r_header_1.cost_of_sale_rate is null)and(r_header_2.cost_of_sale_rate is null))
1162              AND ((r_header_1.cost_of_sale_rate is null)or(r_header_2.cost_of_sale_rate is null)))THEN
1163         l_prompt := 'COST_OF_SALE_RATE';
1164         l_data1  := r_header_1.cost_of_sale_rate;
1165         l_data2  := r_header_2.cost_of_sale_rate;
1166 
1167         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1168      END IF;
1169 
1170      IF (r_header_1.nte_amount <> r_header_2.nte_amount)
1171 	OR( NOT((r_header_1.nte_amount is null)and(r_header_2.nte_amount is null))
1172             AND ((r_header_1.nte_amount is null)or(r_header_2.nte_amount is null)))THEN
1173         l_prompt := 'NTE_AMOUNT';
1174         l_data1  := r_header_1.nte_amount;
1175         l_data2  := r_header_2.nte_amount;
1176 
1177         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1178      END IF;
1179 
1180      IF (r_header_1.date_definitized <> r_header_2.date_definitized )
1181 	 OR( NOT((r_header_1.date_definitized is null)and(r_header_2.date_definitized is null))
1182              AND ((r_header_1.date_definitized is null)or(r_header_2.date_definitized is null)))THEN
1183         l_prompt := 'DATE_DEFINITIZED';
1184         l_data1  := r_header_1.date_definitized;
1185         l_data2  := r_header_2.date_definitized;
1186 
1187         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1188      END IF;
1189 
1190       IF (r_header_1.tech_data_wh_rate <> r_header_2.tech_data_wh_rate )
1191 	 OR( NOT((r_header_1.tech_data_wh_rate is null)and(r_header_2.tech_data_wh_rate is null))
1192              AND ((r_header_1.tech_data_wh_rate is null)or(r_header_2.tech_data_wh_rate is null)))THEN
1193         l_prompt := 'TECH_DATA_WH_RATE';
1194         l_data1  := r_header_1.tech_data_wh_rate;
1195         l_data2  := r_header_2.tech_data_wh_rate;
1196 
1197         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1198      END IF;
1199 
1200      IF ((r_header_1.FINANCIAL_CTRL_VERIFIED_FLAG = 'Y') AND (NVL(r_header_2.FINANCIAL_CTRL_VERIFIED_FLAG, ' ')<>'Y' ))
1201       OR((r_header_2.FINANCIAL_CTRL_VERIFIED_FLAG = 'Y') AND (NVL(r_header_1.FINANCIAL_CTRL_VERIFIED_FLAG, ' ')<>'Y' ))THEN
1202         l_prompt := 'FINANCIAL_CTRL_VERIFIED_YN';
1203         l_data1  := r_header_1.financial_ctrl_verified_flag;
1204         l_data2  := r_header_2.financial_ctrl_verified_flag;
1205 
1206         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1207      END IF;
1208 
1209      IF ((r_header_1.NTE_WARNING_FLAG= 'Y') AND (NVL(r_header_2.NTE_WARNING_FLAG, ' ')<>'Y' ))
1210       OR((r_header_2.NTE_WARNING_FLAG= 'Y') AND (NVL(r_header_1.NTE_WARNING_FLAG, ' ')<>'Y' ))THEN
1211         l_prompt := 'NTE_WARNING_YN';
1212         l_data1  := r_header_1.nte_warning_flag;
1213         l_data2  := r_header_2.nte_warning_flag;
1214 
1215         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1216      END IF;
1217 
1218      IF ((r_header_1.CAS_FLAG= 'Y') AND (NVL(r_header_2.CAS_FLAG, ' ')<>'Y' ))
1219       OR((r_header_2.CAS_FLAG= 'Y') AND (NVL(r_header_1.CAS_FLAG, ' ')<>'Y' ))THEN
1220         l_prompt := 'CAS_YN';
1221         l_data1  := r_header_1.cas_flag;
1222         l_data2  := r_header_2.cas_flag;
1223 
1224         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1225      END IF;
1226 
1227      IF ((r_header_1.DCAA_AUDIT_REQ_FLAG= 'Y') AND (NVL(r_header_2.DCAA_AUDIT_REQ_FLAG, ' ')<>'Y' ))
1228       OR((r_header_2.DCAA_AUDIT_REQ_FLAG= 'Y') AND (NVL(r_header_1.DCAA_AUDIT_REQ_FLAG, ' ')<>'Y' ))THEN
1229         l_prompt := 'DCAA_AUDIT_REQ_YN';
1230         l_data1  := r_header_1.dcaa_audit_req_flag;
1231         l_data2  := r_header_2.dcaa_audit_req_flag;
1232 
1233         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1234      END IF;
1235 
1236      IF ((r_header_1.INTERIM_RPT_REQ_FLAG= 'Y') AND (NVL(r_header_2.INTERIM_RPT_REQ_FLAG, ' ')<>'Y' ))
1237       OR((r_header_2.INTERIM_RPT_REQ_FLAG= 'Y') AND (NVL(r_header_1.INTERIM_RPT_REQ_FLAG, ' ')<>'Y' ))THEN
1238         l_prompt := 'INTERIM_RPT_REQ_YN';
1239         l_data1  := r_header_1.interim_rpt_req_flag;
1240         l_data2  := r_header_2.interim_rpt_req_flag;
1241 
1242         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1243      END IF;
1244 
1245      IF (r_header_1.cost_of_money <> r_header_2.cost_of_money )
1246 	 OR( NOT((r_header_1.cost_of_money is null)and(r_header_2.cost_of_money is null))
1247              AND ((r_header_1.cost_of_money is null)or(r_header_2.cost_of_money is null)))THEN
1248         l_prompt := 'COST_OF_MONEY';
1249         l_data1  := r_header_1.cost_of_money;
1250         l_data2  := r_header_2.cost_of_money;
1251 
1252         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1253      END IF;
1254 
1255      IF ((r_header_1.OH_RATES_FINAL_FLAG= 'Y') AND (NVL(r_header_2.OH_RATES_FINAL_FLAG, ' ')<>'Y' ))
1256       OR((r_header_2.OH_RATES_FINAL_FLAG= 'Y') AND (NVL(r_header_1.OH_RATES_FINAL_FLAG, ' ')<>'Y' ))THEN
1257         l_prompt := 'OH_RATES_FINAL_YN';
1258         l_data1  := r_header_1.oh_rates_final_flag;
1259         l_data2  := r_header_2.oh_rates_final_flag;
1260 
1261         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1262      END IF;
1263 
1264      IF ((r_header_1.PROGRESS_PAYMENT_FLAG= 'Y') AND (NVL(r_header_2.PROGRESS_PAYMENT_FLAG, ' ')<>'Y' ))
1265       OR((r_header_2.PROGRESS_PAYMENT_FLAG= 'Y') AND (NVL(r_header_1.PROGRESS_PAYMENT_FLAG, ' ')<>'Y' ))THEN
1266         l_prompt := 'PROGRESS_PAYMENT_YN';
1267         l_data1  := r_header_1.progress_payment_flag;
1268         l_data2  := r_header_2.progress_payment_flag;
1269 
1270         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1271      END IF;
1272 
1273      IF (r_header_1.progress_payment_rate <> r_header_2.progress_payment_rate)
1274 	 OR( NOT((r_header_1.progress_payment_rate is null)and(r_header_2.progress_payment_rate is null))
1275              AND ((r_header_1.progress_payment_rate is null)or(r_header_2.progress_payment_rate is null)))THEN
1276         l_prompt := 'PROGRESS_PAYMENT_RATE';
1277         l_data1  := r_header_1.progress_payment_rate;
1278         l_data2  := r_header_2.progress_payment_rate;
1279 
1280         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1281      END IF;
1282 
1283      IF (r_header_1.progress_payment_liq_rate <> r_header_2.progress_payment_liq_rate )
1284 	 OR( NOT((r_header_1.progress_payment_liq_rate is null)and(r_header_2.progress_payment_liq_rate is null))
1285              AND ((r_header_1.progress_payment_liq_rate is null)or(r_header_2.progress_payment_liq_rate is null)))THEN
1286         l_prompt := 'PROGRESS_PAYMENT_LIQ_RATE';
1287         l_data1  := r_header_1.progress_payment_liq_rate;
1288         l_data2  := r_header_2.progress_payment_liq_rate;
1289 
1290         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1291      END IF;
1292 
1293       IF (r_header_1.alternate_liquidation_rate <> r_header_2.alternate_liquidation_rate )
1294 	 OR( NOT((r_header_1.alternate_liquidation_rate is null)and(r_header_2.alternate_liquidation_rate is null))
1295              AND ((r_header_1.alternate_liquidation_rate is null)or(r_header_2.alternate_liquidation_rate is null)))THEN
1296         l_prompt := 'ALTERNATE_LIQUIDATION_RATE';
1297         l_data1  := r_header_1.alternate_liquidation_rate;
1298         l_data2  := r_header_2.alternate_liquidation_rate;
1299 
1300         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1301      END IF;
1302 
1303      IF ((r_header_1.COST_SHARE_FLAG= 'Y') AND (NVL(r_header_2.COST_SHARE_FLAG, ' ')<>'Y' ))
1304       OR((r_header_2.COST_SHARE_FLAG= 'Y') AND (NVL(r_header_1.COST_SHARE_FLAG, ' ')<>'Y' )) THEN
1305         l_prompt := 'COST_SHARE_YN';
1306         l_data1  := r_header_1.cost_share_flag;
1307         l_data2  := r_header_2.cost_share_flag;
1308 
1309         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1310      END IF;
1311 
1312      IF ((r_header_1.DEFINITIZED_FLAG= 'Y') AND (NVL(r_header_2.DEFINITIZED_FLAG, ' ')<>'Y' ))
1313       OR((r_header_2.DEFINITIZED_FLAG= 'Y') AND (NVL(r_header_1.DEFINITIZED_FLAG, ' ')<>'Y' ))THEN
1314         l_prompt := 'DEFINITIZED_YN';
1315         l_data1  := r_header_1.definitized_flag;
1316         l_data2  := r_header_2.definitized_flag;
1317 
1318         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1319      END IF;
1320 
1321      IF ((r_header_1.BILL_WITHOUT_DEF_FLAG= 'Y') AND (NVL(r_header_2.BILL_WITHOUT_DEF_FLAG, ' ')<>'Y' ))
1322       OR((r_header_2.BILL_WITHOUT_DEF_FLAG= 'Y') AND (NVL(r_header_1.BILL_WITHOUT_DEF_FLAG, ' ')<>'Y' ))THEN
1323         l_prompt := 'BILL_WITHOUT_DEF_YN';
1324         l_data1  := r_header_1.bill_without_def_flag;
1325         l_data2  := r_header_2.bill_without_def_flag;
1326 
1327         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1328      END IF;
1329 
1330      IF (r_header_1.comments <> r_header_2.comments )
1331 	 OR( NOT((r_header_1.comments is null)and(r_header_2.comments is null))
1332              AND ((r_header_1.comments is null)or(r_header_2.comments is null)))THEN
1333         l_prompt := 'COMMENTS';
1334         l_data1  := r_header_1.comments;
1335         l_data2  := r_header_2.comments;
1336 
1337         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1338      END IF;
1339 
1340      EXCEPTION
1341 	WHEN NO_DATA_FOUND THEN
1342 	NULL;
1343         WHEN OTHERS THEN
1344 	NULL;
1345 
1346    END comp_headers;
1347 
1348    /* This procedure compare all the contract lines by an In-order sequence */
1349 
1350    PROCEDURE comp_lines(vHeader_id IN NUMBER, vVersion1 IN NUMBER, vVERSION2 IN NUMBER)
1351    AS
1352       TYPE r_line IS RECORD(
1353            major_version         OKE_K_LINES_SECURE_HV.major_version%TYPE,
1354            line_number           OKE_K_LINES_SECURE_HV.line_number%TYPE,
1355            status                OKE_K_LINES_SECURE_HV.status%TYPE,
1356            line_style            OKE_K_LINES_SECURE_HV.line_style%TYPE,
1357            project_number        OKE_K_LINES_SECURE_HV.project_number%TYPE,
1358            task_number           OKE_K_LINES_SECURE_HV.task_number%TYPE,
1359            start_date            OKE_K_LINES_SECURE_HV.start_date%TYPE,
1360            end_date              OKE_K_LINES_SECURE_HV.end_date%TYPE,
1361            delivery_date         OKE_K_LINES_SECURE_HV.delivery_date%TYPE,
1362            proposal_due_date     OKE_K_LINES_SECURE_HV.proposal_due_date%TYPE,
1363            item_number           OKE_K_LINES_SECURE_HV.item_number%TYPE,
1364            --item_description      OKE_K_LINES_SECURE_HV.item_description%TYPE,
1365            line_description      OKE_K_LINES_SECURE_HV.line_description%TYPE,
1366            customer_item_number  OKE_K_LINES_SECURE_HV.customer_item_number%TYPE,
1367            nsn_number            OKE_K_LINES_SECURE_HV.nsn_number%TYPE,
1368            nsp_flag              OKE_K_LINES_SECURE_HV.nsp_flag%TYPE,
1369            line_quantity         OKE_K_LINES_SECURE_HV.line_quantity%TYPE,
1370            uom_code              OKE_K_LINES_SECURE_HV.uom_code%TYPE,
1371            unit_price            OKE_K_LINES_SECURE_HV.unit_price%TYPE,
1372            undef_unit_price      OKE_K_LINES_SECURE_HV.undef_unit_price%TYPE,
1373            line_value            OKE_K_LINES_SECURE_HV.line_value%TYPE,
1374            undef_line_value      OKE_K_LINES_SECURE_HV.undef_line_value%TYPE,
1375            line_value_total      OKE_K_LINES_SECURE_HV.line_value_total%TYPE,
1376            undef_line_value_total    OKE_K_LINES_SECURE_HV.undef_line_value_total%TYPE,
1377            --line_value_copy       OKE_K_LINES_SECURE_HV.line_value_copy%TYPE,
1378            billable_flag         OKE_K_LINES_SECURE_HV.billable_flag%TYPE,
1379            shippable_flag        OKE_K_LINES_SECURE_HV.shippable_flag%TYPE,
1380            subcontracted_flag    OKE_K_LINES_SECURE_HV.subcontracted_flag%TYPE,
1381            drop_shipped_flag     OKE_K_LINES_SECURE_HV.drop_shipped_flag%TYPE,
1382            completed_flag        OKE_K_LINES_SECURE_HV.completed_flag%TYPE,
1383            comments              OKE_K_LINES_SECURE_HV.comments%TYPE,
1384            target_date_definitize    OKE_K_LINES_SECURE_HV.target_date_definitize%TYPE,
1385            discount_for_payment  OKE_K_LINES_SECURE_HV.discount_for_payment%TYPE,
1386            cost_of_sale_rate     OKE_K_LINES_SECURE_HV.cost_of_sale_rate%TYPE,
1387            financial_ctrl_flag   OKE_K_LINES_SECURE_HV.financial_ctrl_flag%TYPE,
1388            definitized_flag      OKE_K_LINES_SECURE_HV.definitized_flag%TYPE,
1389            bill_undefinitized_flag   OKE_K_LINES_SECURE_HV.bill_undefinitized_flag%TYPE,
1390            dcaa_audit_req_flag   OKE_K_LINES_SECURE_HV.dcaa_audit_req_flag%TYPE,
1391            cost_of_money         OKE_K_LINES_SECURE_HV.cost_of_money%TYPE,
1392            interim_rpt_req_flag  OKE_K_LINES_SECURE_HV.interim_rpt_req_flag%TYPE,
1393            nte_warning_flag      OKE_K_LINES_SECURE_HV.nte_warning_flag%TYPE,
1394            c_ssr_flag            OKE_K_LINES_SECURE_HV.c_ssr_flag%TYPE,
1395            c_scs_flag            OKE_K_LINES_SECURE_HV.c_scs_flag%TYPE,
1396            prepayment_amount     OKE_K_LINES_SECURE_HV.prepayment_amount%TYPE,
1397            prepayment_percentage OKE_K_LINES_SECURE_HV.prepayment_percentage%TYPE,
1398            progress_payment_flag OKE_K_LINES_SECURE_HV.progress_payment_flag%TYPE,
1399            progress_payment_rate OKE_K_LINES_SECURE_HV.progress_payment_rate%TYPE,
1400            progress_payment_liq_rate        OKE_K_LINES_SECURE_HV.progress_payment_liq_rate%TYPE,
1401            line_liquidation_rate OKE_K_LINES_SECURE_HV.line_liquidation_rate%TYPE,
1402            boe_description       OKE_K_LINES_SECURE_HV.boe_description%TYPE,
1403            billing_method        OKE_K_LINES_SECURE_HV.billing_method%TYPE,
1404            total_estimated_cost  OKE_K_LINES_SECURE_HV.total_estimated_cost%TYPE,
1405            customer_percent_in_order      OKE_K_LINES_SECURE_HV.customer_percent_in_order%TYPE,
1406            ceiling_cost          OKE_K_LINES_SECURE_HV.ceiling_cost%TYPE,
1407            level_of_effort_hours OKE_K_LINES_SECURE_HV.level_of_effort_hours%TYPE,
1408            award_fee             OKE_K_LINES_SECURE_HV.award_fee%TYPE,
1409            base_fee              OKE_K_LINES_SECURE_HV.base_fee%TYPE,
1410            minimum_fee           OKE_K_LINES_SECURE_HV.minimum_fee%TYPE,
1411            maximum_fee           OKE_K_LINES_SECURE_HV.maximum_fee%TYPE,
1412            award_fee_pool_amount OKE_K_LINES_SECURE_HV.award_fee_pool_amount%TYPE,
1413            fixed_fee             OKE_K_LINES_SECURE_HV.fixed_fee%TYPE,
1414            initial_fee           OKE_K_LINES_SECURE_HV.initial_fee%TYPE,
1415            final_fee             OKE_K_LINES_SECURE_HV.final_fee%TYPE,
1416            fee_ajt_formula       OKE_K_LINES_SECURE_HV.fee_ajt_formula%TYPE,
1417            target_cost           OKE_K_LINES_SECURE_HV.target_cost%TYPE,
1418            target_fee            OKE_K_LINES_SECURE_HV.target_fee%TYPE,
1419            target_price          OKE_K_LINES_SECURE_HV.target_price%TYPE,
1420            ceiling_price         OKE_K_LINES_SECURE_HV.ceiling_price%TYPE,
1421            cost_overrun_share_ratio    OKE_K_LINES_SECURE_HV.cost_overrun_share_ratio%TYPE,
1422            cost_underrun_share_ratio   OKE_K_LINES_SECURE_HV.cost_underrun_share_ratio%TYPE,
1423            final_pft_ajt_formula       OKE_K_LINES_SECURE_HV.final_pft_ajt_formula%TYPE,
1424            fixed_quantity              OKE_K_LINES_SECURE_HV.fixed_quantity%TYPE,
1425            minimum_quantity            OKE_K_LINES_SECURE_HV.minimum_quantity%TYPE,
1426            maximum_quantity            OKE_K_LINES_SECURE_HV.maximum_quantity%TYPE,
1427            estimated_total_quantity    OKE_K_LINES_SECURE_HV.estimated_total_quantity%TYPE,
1428            number_of_options           OKE_K_LINES_SECURE_HV.number_of_options%TYPE,
1429            initial_price               OKE_K_LINES_SECURE_HV.initial_price%TYPE,
1430            revised_price               OKE_K_LINES_SECURE_HV.revised_price%TYPE,
1431            material_cost_index         OKE_K_LINES_SECURE_HV.material_cost_index%TYPE,
1432            labor_cost_index            OKE_K_LINES_SECURE_HV.labor_cost_index%TYPE,
1433            date_of_price_redetermin    OKE_K_LINES_SECURE_HV.date_of_price_redetermin%TYPE,
1434            country_of_origin_code       OKE_K_LINES_SECURE_HV.country_of_origin_code%TYPE,
1435            export_flag                 OKE_K_LINES_SECURE_HV.export_flag%TYPE,
1436            export_license_num          OKE_K_LINES_SECURE_HV.export_license_num%TYPE,
1437            export_license_res          OKE_K_LINES_SECURE_HV.export_license_res%TYPE,
1438            cop_required_flag           OKE_K_LINES_SECURE_HV.cop_required_flag%TYPE,
1439            inspection_req_flag         OKE_K_LINES_SECURE_HV.inspection_req_flag%TYPE,
1440            subj_a133_flag              OKE_K_LINES_SECURE_HV.subj_a133_flag%TYPE,
1441            cfe_flag                    OKE_K_LINES_SECURE_HV.cfe_flag%TYPE,
1442            customer_approval_req_flag  OKE_K_LINES_SECURE_HV.customer_approval_req_flag%TYPE,
1443            data_item_name              OKE_K_LINES_SECURE_HV.data_item_name%TYPE,
1444            data_item_subtitle          OKE_K_LINES_SECURE_HV.data_item_subtitle%TYPE,
1445            cdrl_category               OKE_K_LINES_SECURE_HV.cdrl_category%TYPE,
1446            requiring_office            OKE_K_LINES_SECURE_HV.requiring_office%TYPE,
1447            date_of_first_submission     OKE_K_LINES_SECURE_HV.date_of_first_submission%TYPE,
1448            frequency                   OKE_K_LINES_SECURE_HV.frequency%TYPE,
1449            copies_required             OKE_K_LINES_SECURE_HV.copies_required%TYPE
1450            );
1451 
1452 
1453 
1454      l_api_name     CONSTANT VARCHAR2(30) := 'comp_lines';
1455 
1456        r_line_1 r_line;
1457        r_line_2 r_line;
1458 
1459        nDeliverables   NUMBER;
1460 
1461        TYPE c_top_nodes  IS REF CURSOR;
1462 
1463        v_top_nodes c_top_nodes;
1464        c_top_node OKE_K_LINES_SECURE_HV.K_LINE_ID%TYPE;
1465 
1466        nCurrent_line_id number;
1467        nSublines number;
1468 
1469        CURSOR c_nDifferent_lines_1 IS
1470          SELECT ID K_LINE_ID
1471          FROM OKC_K_LINES_BH a
1472          WHERE DNZ_CHR_ID=vHeader_id
1473          AND MAJOR_VERSION=vVersion1
1474          AND CLE_ID IS NULL
1475          AND NOT EXISTS
1476        ( SELECT 'x'
1477          FROM OKC_K_LINES_BH b
1478          WHERE b.ID=a.ID
1479          AND CLE_ID IS NULL
1480          AND MAJOR_VERSION=vVersion2)
1481          ORDER BY LINE_NUMBER;
1482 
1483         CURSOR c_nDifferent_lines_1_latest IS
1484          SELECT ID K_LINE_ID
1485          FROM OKC_K_LINES_B a
1486          WHERE DNZ_CHR_ID=vHeader_id
1487          AND CLE_ID IS NULL
1488          AND NOT EXISTS
1489        ( SELECT 'x'
1490          FROM OKC_K_LINES_BH b
1491          WHERE b.ID=a.ID
1492          AND CLE_ID IS NULL
1493          AND MAJOR_VERSION=vVersion2)
1494          ORDER BY LINE_NUMBER;
1495 
1496        CURSOR c_nDifferent_lines_2 IS
1497          SELECT ID K_LINE_ID
1498          FROM OKC_K_LINES_BH a
1499          WHERE DNZ_CHR_ID=vHeader_id
1500          AND MAJOR_VERSION=vVersion2
1501          AND CLE_ID IS NULL
1502          AND NOT EXISTS
1503        ( SELECT 'x'
1504          FROM OKC_K_LINES_BH b
1505          WHERE b.ID=a.ID
1506          AND CLE_ID IS NULL
1507          AND MAJOR_VERSION=vVersion1)
1508          ORDER BY LINE_NUMBER;
1509 
1510         CURSOR c_nDifferent_lines_2_latest IS
1511          SELECT ID K_LINE_ID
1512          FROM OKC_K_LINES_BH a
1513          WHERE DNZ_CHR_ID=vHeader_id
1514          AND MAJOR_VERSION=vVersion2
1515          AND CLE_ID IS NULL
1516          AND NOT EXISTS
1517        ( SELECT 'x'
1518          FROM OKC_K_LINES_B b
1519          WHERE b.ID=a.ID
1520          AND CLE_ID IS NULL)
1521          ORDER BY LINE_NUMBER;
1522 
1523        CURSOR c IS
1524        SELECT meaning
1525        FROM   fnd_lookup_values_vl
1526        WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
1527        AND    lookup_code = l_Object
1528        AND    view_application_id=777;
1529 
1530    BEGIN
1531 
1532    IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1533      FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'Begin comparing lines ...');
1534    END IF;
1535      L_Attribute_Object_Name :='OKE_K_LINES';
1536      l_Object :='LINE';
1537 
1538      OPEN c;
1539      FETCH c INTO l_object_type;
1540      CLOSE c;
1541 
1542     --Get lines in version1 which are not in the version2
1543 
1544     IF L_Latest_Version >= vVersion1 THEN
1545 
1546       FOR c_nDifferent_line IN c_nDifferent_lines_1 LOOP
1547         l_object_name := get_full_path_linenum(c_nDifferent_line.k_line_id,vVersion1);
1548         l_prompt :='';
1549 
1550         l_Object :='NO_LINE';
1551 
1552         OPEN c;
1553         FETCH c INTO l_data2;
1554         CLOSE c;
1555 
1556         l_data1  :='';
1557 
1558         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1559       END LOOP;
1560 
1561       FOR c_nDifferent_line IN c_nDifferent_lines_2 LOOP
1562         l_object_name := get_full_path_linenum(c_nDifferent_line.k_line_id,vVersion2);
1563         l_prompt :='';
1564 
1565         l_Object :='NO_LINE';
1566 
1567         OPEN c;
1568         FETCH c INTO l_data1;
1569         CLOSE c;
1570 
1571         l_data2  :='';
1572 
1573         insert_comp_result(vHeader_id,vVersion1,vVersion2);
1574 
1575       END LOOP;
1576 
1577       OPEN v_top_nodes FOR
1578         SELECT a.ID K_LINE_ID
1579          FROM  OKC_K_LINES_BH A, OKC_K_LINES_BH B
1580          WHERE a.DNZ_CHR_ID=vHeader_id
1581            AND a.MAJOR_VERSION=vVersion1
1582            AND a.CLE_ID IS NULL
1583            AND a.ID = b.ID
1584            AND b.CLE_ID IS NULL
1585            AND b.MAJOR_VERSION=vVersion2
1586          ORDER BY a.LINE_NUMBER
1587       ;
1588 
1589     ELSE
1590 
1591        FOR c_nDifferent_line IN c_nDifferent_lines_1_latest LOOP
1592          l_object_name := get_full_path_linenum(c_nDifferent_line.k_line_id);
1593          l_prompt :='';
1594 
1595          l_Object :='NO_LINE';
1596 
1597          OPEN c;
1598          FETCH c INTO l_data2;
1599          CLOSE c;
1600 
1601          l_data1  :='';
1602 
1603          insert_comp_result(vHeader_id,vVersion1,vVersion2);
1604        END LOOP;
1605 
1606        FOR c_nDifferent_line IN c_nDifferent_lines_2_latest LOOP
1607          l_object_name :=get_full_path_linenum(c_nDifferent_line.k_line_id);
1608          l_prompt :='';
1609 
1610          l_Object :='NO_LINE';
1611 
1612          OPEN c;
1613          FETCH c INTO l_data1;
1614          CLOSE c;
1615 
1616          l_data2  :='';
1617 
1618          insert_comp_result(vHeader_id,vVersion1,vVersion2);
1619 
1620        END LOOP;
1621 
1622        OPEN v_top_nodes FOR
1623          SELECT a.ID K_LINE_ID
1624           FROM  OKC_K_LINES_B A, OKC_K_LINES_BH B
1625           WHERE a.DNZ_CHR_ID=vHeader_id
1626             AND a.CLE_ID IS NULL
1627             AND a.ID = b.ID
1628             AND b.CLE_ID IS NULL
1629             AND MAJOR_VERSION=vVersion2
1630           ORDER BY a.LINE_NUMBER
1631        ;
1632 
1633     END IF;
1634 
1635     LOOP
1636 
1637      IF L_Latest_Version < vVersion1 THEN
1638 
1639         FETCH  v_top_nodes INTO c_top_node;
1640         EXIT WHEN v_top_nodes%NOTFOUND;
1641 
1642 
1643 
1644         L_Attribute_Object_Name :='OKE_K_LINES';
1645         l_Object  :='LINE';
1646 
1647         OPEN c;
1648         FETCH c INTO l_object_type;
1649         CLOSE c;
1650 
1651         nCurrent_line_id := c_top_node;
1652         l_object_name :=get_full_path_linenum(nCurrent_line_id);
1653 
1654            SELECT
1655                major_version,
1656                line_number,
1657                status,
1658                line_style,
1659                project_number,
1660                task_number,
1661                start_date,
1662                end_date,
1663                delivery_date,
1664                proposal_due_date,
1665                item_number,
1666                --item_description,
1667                line_description,
1668                customer_item_number,
1669                nsn_number,
1670                nsp_flag,
1671                line_quantity,
1672                uom_code,
1673                unit_price,
1674                undef_unit_price,
1675                line_value,
1676                undef_line_value,
1677                line_value_total,
1678                undef_line_value_total,
1679                --line_value_copy,
1680                billable_flag,
1681                shippable_flag,
1682                subcontracted_flag,
1683                drop_shipped_flag,
1684                completed_flag,
1685                comments,
1686                target_date_definitize,
1687                discount_for_payment,
1688                cost_of_sale_rate,
1689                financial_ctrl_flag,
1690                definitized_flag,
1691                bill_undefinitized_flag,
1692                dcaa_audit_req_flag,
1693                cost_of_money,
1694                interim_rpt_req_flag,
1695                nte_warning_flag,
1696                c_ssr_flag,
1697                c_scs_flag,
1698                prepayment_amount,
1699                prepayment_percentage,
1700                progress_payment_flag,
1701                progress_payment_rate,
1702 		progress_payment_liq_rate,
1703 		line_liquidation_rate,
1704 		boe_description,
1705 		billing_method,
1706 		total_estimated_cost,
1707 		customer_percent_in_order,
1708 		ceiling_cost,
1709 		level_of_effort_hours,
1710 		award_fee,
1711 		base_fee,
1712 		minimum_fee,
1713 		maximum_fee,
1714 		award_fee_pool_amount,
1715 		fixed_fee,
1716 		initial_fee,
1717 		final_fee,
1718 		fee_ajt_formula,
1719 		target_cost,
1720 		target_fee,
1721 		target_price,
1722 		ceiling_price,
1723 		cost_overrun_share_ratio,
1724 		cost_underrun_share_ratio,
1725 		final_pft_ajt_formula,
1726 		fixed_quantity,
1727 		minimum_quantity,
1728 		maximum_quantity,
1729 		estimated_total_quantity,
1730 		number_of_options,
1731 		initial_price,
1732 		revised_price,
1733 		material_cost_index,
1734 		labor_cost_index,
1735 		date_of_price_redetermin,
1736 		country_of_origin_code,
1737 		export_flag,
1738 		export_license_num,
1739 		export_license_res,
1740 		cop_required_flag,
1741 		inspection_req_flag,
1742 		subj_a133_flag,
1743 		cfe_flag,
1744 		customer_approval_req_flag,
1745 		data_item_name,
1746 		data_item_subtitle,
1747 		cdrl_category,
1748 		requiring_office,
1749 		date_of_first_submission,
1750 		frequency,
1751 		copies_required
1752 
1753            INTO r_line_1
1754            FROM OKE_K_LINES_SECURE_V
1755            WHERE K_LINE_ID=c_top_node;
1756 
1757 --dbms_output.put_line ('LASTEST VERSION top line number'||r_line_1.line_number);
1758 
1759      ELSE
1760 
1761 
1762 	FETCH  v_top_nodes INTO c_top_node;
1763         EXIT WHEN v_top_nodes%NOTFOUND;
1764         nCurrent_line_id := c_top_node;
1765 
1766         L_Attribute_Object_Name :='OKE_K_LINES';
1767         l_Object  :='LINE';
1768 
1769 	OPEN c;
1770         FETCH c INTO l_object_type;
1771         CLOSE c;
1772 
1773         l_object_name :=get_full_path_linenum(nCurrent_line_id,vVersion1);
1774 
1775 
1776            SELECT
1777 
1778 		major_version,
1779 		line_number,
1780 		status,
1781 		line_style,
1782 		project_number,
1783 		task_number,
1784 		start_date,
1785 		end_date,
1786 		delivery_date,
1787 		proposal_due_date,
1788 		item_number,
1789 		--item_description,
1790 		line_description,
1791 		customer_item_number,
1792 		nsn_number,
1793 		nsp_flag,
1794 		line_quantity,
1795 		uom_code,
1796 		unit_price,
1797 		undef_unit_price,
1798 		line_value,
1799 		undef_line_value,
1800 		line_value_total,
1801 		undef_line_value_total,
1802 		--line_value_copy,
1803 		billable_flag,
1804 		shippable_flag,
1805 		subcontracted_flag,
1806 		drop_shipped_flag,
1807 		completed_flag,
1808 		comments,
1809 		target_date_definitize,
1810 		discount_for_payment,
1811 		cost_of_sale_rate,
1812 		financial_ctrl_flag,
1813 		definitized_flag,
1814 		bill_undefinitized_flag,
1815 		dcaa_audit_req_flag,
1816 		cost_of_money,
1817 		interim_rpt_req_flag,
1818 		nte_warning_flag,
1819 		c_ssr_flag,
1820 		c_scs_flag,
1821 		prepayment_amount,
1822 		prepayment_percentage,
1823 		progress_payment_flag,
1824 		progress_payment_rate,
1825 		progress_payment_liq_rate,
1826 		line_liquidation_rate,
1827 		boe_description,
1828 		billing_method,
1829 		total_estimated_cost,
1830 		customer_percent_in_order,
1831 		ceiling_cost,
1832 		level_of_effort_hours,
1833 		award_fee,
1834 		base_fee,
1835 		minimum_fee,
1836 		maximum_fee,
1837 		award_fee_pool_amount,
1838 		fixed_fee,
1839 		initial_fee,
1840 		final_fee,
1841 		fee_ajt_formula,
1842 		target_cost,
1843 		target_fee,
1844 		target_price,
1845 		ceiling_price,
1846 		cost_overrun_share_ratio,
1847 		cost_underrun_share_ratio,
1848 		final_pft_ajt_formula,
1849 		fixed_quantity,
1850 		minimum_quantity,
1851 		maximum_quantity,
1852 		estimated_total_quantity,
1853 		number_of_options,
1854 		initial_price,
1855 		revised_price,
1856 		material_cost_index,
1857 		labor_cost_index,
1858 		date_of_price_redetermin,
1859 		country_of_origin_code,
1860 		export_flag,
1861 		export_license_num,
1862 		export_license_res,
1863 		cop_required_flag,
1864 		inspection_req_flag,
1865 		subj_a133_flag,
1866 		cfe_flag,
1867 		customer_approval_req_flag,
1868 		data_item_name,
1869 		data_item_subtitle,
1870 		cdrl_category,
1871 		requiring_office,
1872 		date_of_first_submission,
1873 		frequency,
1874 		copies_required
1875 
1876         INTO r_line_1
1877         from oke_k_lineS_SECURE_hv
1878         where k_line_id=nCurrent_line_id
1879 	and major_version=vVersion1;
1880 
1881 --dbms_output.put_line ('HISTORY  top line number'||r_line_1.line_number);
1882 
1883      END IF;
1884 
1885 
1886         SELECT
1887 
1888 		major_version,
1889 		line_number,
1890 		status,
1891 		line_style,
1892 		project_number,
1893 		task_number,
1894 		start_date,
1895 		end_date,
1896 		delivery_date,
1897 		proposal_due_date,
1898 		item_number,
1899 		--item_description,
1900 		line_description,
1901 		customer_item_number,
1902 		nsn_number,
1903 		nsp_flag,
1904 		line_quantity,
1905 		uom_code,
1906 		unit_price,
1907 		undef_unit_price,
1908 		line_value,
1909 		undef_line_value,
1910 		line_value_total,
1911 		undef_line_value_total,
1912 		--line_value_copy,
1913 		billable_flag,
1914 		shippable_flag,
1915 		subcontracted_flag,
1916 		drop_shipped_flag,
1917 		completed_flag,
1918 		comments,
1919 		target_date_definitize,
1920 		discount_for_payment,
1921 		cost_of_sale_rate,
1922 		financial_ctrl_flag,
1923 		definitized_flag,
1924 		bill_undefinitized_flag,
1925 		dcaa_audit_req_flag,
1926 		cost_of_money,
1927 		interim_rpt_req_flag,
1928 		nte_warning_flag,
1929 		c_ssr_flag,
1930 		c_scs_flag,
1931 		prepayment_amount,
1932 		prepayment_percentage,
1933 		progress_payment_flag,
1934 		progress_payment_rate,
1935 		progress_payment_liq_rate,
1936 		line_liquidation_rate,
1937 		boe_description,
1938 		billing_method,
1939 		total_estimated_cost,
1940 		customer_percent_in_order,
1941 		ceiling_cost,
1942 		level_of_effort_hours,
1943 		award_fee,
1944 		base_fee,
1945 		minimum_fee,
1946 		maximum_fee,
1947 		award_fee_pool_amount,
1948 		fixed_fee,
1949 		initial_fee,
1950 		final_fee,
1951 		fee_ajt_formula,
1952 		target_cost,
1953 		target_fee,
1954 		target_price,
1955 		ceiling_price,
1956 		cost_overrun_share_ratio,
1957 		cost_underrun_share_ratio,
1958 		final_pft_ajt_formula,
1959 		fixed_quantity,
1960 		minimum_quantity,
1961 		maximum_quantity,
1962 		estimated_total_quantity,
1963 		number_of_options,
1964 		initial_price,
1965 		revised_price,
1966 		material_cost_index,
1967 		labor_cost_index,
1968 		date_of_price_redetermin,
1969 		country_of_origin_code,
1970 		export_flag,
1971 		export_license_num,
1972 		export_license_res,
1973 		cop_required_flag,
1974 		inspection_req_flag,
1975 		subj_a133_flag,
1976 		cfe_flag,
1977 		customer_approval_req_flag,
1978 		data_item_name,
1979 		data_item_subtitle,
1980 		cdrl_category,
1981 		requiring_office,
1982 		date_of_first_submission,
1983 		frequency,
1984 		copies_required
1985 
1986         INTO r_line_2
1987         FROM OKE_K_LINES_SECURE_HV
1988         WHERE K_LINE_ID=nCurrent_line_id
1989         AND MAJOR_VERSION= vVersion2;
1990 
1991 /*
1992         IF r_line_1.MAJOR_VERSION <>r_line_2.MAJOR_VERSION THEN
1993            l_prompt :='OBJECT_VERSION_NUMBER';
1994            l_data1  :=r_line_1.MAJOR_VERSION;
1995            l_data2  :=r_line_2.MAJOR_VERSION;
1996 
1997            insert_comp_result(vHeader_id,vVersion1,vVersion2);
1998         END IF;
1999 */
2000 
2001        IF (r_line_1.line_number <> r_line_2.line_number )
2002             OR( NOT((r_line_1.line_number is null)and(r_line_2.line_number is null))
2003              AND ((r_line_1.line_number is null)or(r_line_2.line_number is null)))THEN
2004            l_prompt :='LINE_NUMBER';
2005            l_data1  :=r_line_1.line_number;
2006            l_data2  :=r_line_2.line_number;
2007 
2008         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2009         END IF;
2010 
2011         IF (r_line_1.status  <>r_line_2.status )
2012 	    OR( NOT((r_line_1.status is null)and(r_line_2.status is null))
2013              AND ((r_line_1.status is null)or(r_line_2.status is null)))THEN
2014            l_prompt :='STATUS';
2015            l_data1  :=r_line_1.status;
2016            l_data2  :=r_line_2.status;
2017         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2018         END IF;
2019 
2020         IF (r_line_1.line_style <>r_line_2.line_style )
2021 	     OR( NOT((r_line_1.line_style is null)and(r_line_2.line_style is null))
2022              AND ((r_line_1.line_style is null)or(r_line_2.line_style is null)))THEN
2023            l_prompt :='LINE_STYLE';
2024            l_data1  :=r_line_1.line_style;
2025            l_data2  :=r_line_2.line_style;
2026 
2027         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2028         END IF;
2029 
2030         IF (r_line_1.project_number <>r_line_2.project_number )
2031              OR( NOT((r_line_1.project_number is null)and(r_line_2.project_number is null))
2032              AND ((r_line_1.project_number is null)or(r_line_2.project_number is null)))THEN
2033            l_prompt :='PROJECT_NUMBER';
2034            l_data1  :=r_line_1.project_number;
2035            l_data2  :=r_line_2.project_number;
2036 
2037            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2038         END IF;
2039 
2040         IF (r_line_1.task_number <>r_line_2.task_number )
2041 	     OR( NOT((r_line_1.task_number is null)and(r_line_2.task_number is null))
2042              AND ((r_line_1.task_number is null)or(r_line_2.task_number is null)))THEN
2043            l_prompt :='TASK_NUMBER';
2044            l_data1  :=r_line_1.task_number;
2045            l_data2  :=r_line_2.task_number;
2046 
2047         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2048         END IF;
2049 
2050         IF (r_line_1.start_date <>r_line_2.start_date )
2051 	     OR( NOT((r_line_1.start_date is null)and(r_line_2.start_date is null))
2052              AND ((r_line_1.start_date is null)or(r_line_2.start_date is null)))THEN
2053            l_prompt :='START_DATE';
2054            l_data1  :=r_line_1.start_date;
2055            l_data2  :=r_line_2.start_date;
2056         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2057         END IF;
2058 
2059         IF (r_line_1.end_date <>r_line_2.end_date )
2060 		 OR( NOT((r_line_1.end_date is null)and(r_line_2.end_date is null))
2061              AND ((r_line_1.end_date is null)or(r_line_2.end_date is null)))THEN
2062            l_prompt :='END_DATE';
2063            l_data1  :=r_line_1.end_date;
2064            l_data2  :=r_line_2.end_date;
2065 
2066         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2067         END IF;
2068 
2069         IF (r_line_1.delivery_date <>r_line_2.delivery_date )
2070 		 OR( NOT((r_line_1.delivery_date is null)and(r_line_2.delivery_date is null))
2071              AND ((r_line_1.delivery_date is null)or(r_line_2.delivery_date is null)))THEN
2072            l_prompt :='DELIVERY_DATE';
2073            l_data1  :=r_line_1.delivery_date;
2074            l_data2  :=r_line_2.delivery_date;
2075 
2076            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2077         END IF;
2078 
2079         IF (r_line_1.proposal_due_date <>r_line_2.proposal_due_date )
2080 		 OR( NOT((r_line_1.proposal_due_date is null)and(r_line_2.proposal_due_date is null))
2081              AND ((r_line_1.proposal_due_date is null)or(r_line_2.proposal_due_date is null)))THEN
2082            l_prompt :='PROPOSAL_DUE_DATE';
2083            l_data1  :=r_line_1.proposal_due_date;
2084            l_data2  :=r_line_2.proposal_due_date;
2085 
2086         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2087         END IF;
2088 
2089         IF (r_line_1.item_number <>r_line_2.item_number )
2090 		 OR( NOT((r_line_1.item_number is null)and(r_line_2.item_number is null))
2091              AND ((r_line_1.item_number is null)or(r_line_2.item_number is null)))THEN
2092            l_prompt :='ITEM_NUMBER';
2093            l_data1  :=r_line_1.item_number;
2094            l_data2  :=r_line_2.item_number;
2095         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2096         END IF;
2097 /*
2098         IF r_line_1.item_description <>r_line_2.item_description THEN
2099            l_prompt :='Item Description';
2100            l_data1  :=r_line_1.item_description;
2101            l_data2  :=r_line_2.item_description;
2102 
2103         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2104         END IF;
2105 */
2106         IF (r_line_1.line_description <>r_line_2.line_description )
2107 		 OR( NOT((r_line_1.line_description is null)and(r_line_2.line_description is null))
2108              AND ((r_line_1.line_description is null)or(r_line_2.line_description is null)))THEN
2109            l_prompt :='LINE_DESCRIPTION';
2110            l_data1  :=r_line_1.line_description;
2111            l_data2  :=r_line_2.line_description;
2112         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2113         END IF;
2114 
2115 
2116         IF (r_line_1.customer_item_number <>r_line_2.customer_item_number )
2117 		 OR( NOT((r_line_1.customer_item_number is null)and(r_line_2.customer_item_number is null))
2118              AND ((r_line_1.customer_item_number is null)or(r_line_2.customer_item_number is null)))THEN
2119            l_prompt :='CUSTOMER_ITEM_NUMBER';
2120            l_data1  :=r_line_1.customer_item_number;
2121            l_data2  :=r_line_2.customer_item_number;
2122 
2123            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2124         END IF;
2125 
2126         IF (r_line_1.nsn_number <>r_line_2.nsn_number )
2127 		 OR( NOT((r_line_1.nsn_number is null)and(r_line_2.nsn_number is null))
2128              AND ((r_line_1.nsn_number is null)or(r_line_2.nsn_number is null)))THEN
2129            l_prompt :='NSN_NUMBER';
2130            l_data1  :=r_line_1.nsn_number;
2131            l_data2  :=r_line_2.nsn_number;
2132 
2133         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2134         END IF;
2135 
2136         IF ((r_line_1.nsp_flag = 'Y') AND (NVL(r_line_2.nsp_flag, ' ')<>'Y'))
2137 	 OR((r_line_2.nsp_flag = 'Y') AND (NVL(r_line_1.nsp_flag, ' ')<>'Y')) THEN
2138            l_prompt :='NSP_YN';
2139            l_data1  :=r_line_1.nsp_flag;
2140            l_data2  :=r_line_2.nsp_flag;
2141         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2142         END IF;
2143 
2144         IF r_line_1.line_quantity <>r_line_2.line_quantity THEN
2145            l_prompt :='LINE_QUANTITY';
2146            l_data1  :=r_line_1.line_quantity;
2147            l_data2  :=r_line_2.line_quantity;
2148 
2149         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2150         END IF;
2151 
2152         IF (r_line_1.uom_code <>r_line_2.uom_code )
2153 		 OR( NOT((r_line_1.uom_code is null)and(r_line_2.uom_code is null))
2154              AND ((r_line_1.uom_code is null)or(r_line_2.uom_code is null)))THEN
2155            l_prompt :='UOM_CODE';
2156            l_data1  :=r_line_1.uom_code;
2157            l_data2  :=r_line_2.uom_code;
2158 
2159            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2160         END IF;
2161 
2162         IF (r_line_1.unit_price <>r_line_2.unit_price)
2163 		 OR( NOT((r_line_1.unit_price is null)and(r_line_2.unit_price is null))
2164              AND ((r_line_1.unit_price is null)or(r_line_2.unit_price is null)))THEN
2165           l_prompt :='UNIT_PRICE';
2166           SET_PRICE_DIFF_DATA( r_line_1.unit_price, r_line_2.unit_price );
2167           insert_comp_result(vHeader_id,vVersion1,vVersion2);
2168         END IF;
2169 
2170         IF (r_line_1.undef_unit_price <>r_line_2.undef_unit_price )
2171 		 OR( NOT((r_line_1.undef_unit_price is null)and(r_line_2.undef_unit_price is null))
2172              AND ((r_line_1.undef_unit_price is null)or(r_line_2.undef_unit_price is null)))THEN
2173           l_prompt :='UNDEF_UNIT_PRICE';
2174           SET_PRICE_DIFF_DATA( r_line_1.undef_unit_price, r_line_2.undef_unit_price );
2175           insert_comp_result(vHeader_id,vVersion1,vVersion2);
2176         END IF;
2177 
2178         IF (r_line_1.line_value_total <>r_line_2.line_value_total )
2179 		 OR( NOT((r_line_1.line_value_total is null)and(r_line_2.line_value_total is null))
2180              AND ((r_line_1.line_value_total is null)or(r_line_2.line_value_total is null)))THEN
2181           l_prompt :='LINE_VALUE_TOTAL';
2182           SET_AMOUNT_DIFF_DATA( r_line_1.line_value_total, r_line_2.line_value_total );
2183           insert_comp_result(vHeader_id,vVersion1,vVersion2);
2184         END IF;
2185 
2186         IF (r_line_1.undef_line_value_total <>r_line_2.undef_line_value_total )
2187 		 OR( NOT((r_line_1.undef_line_value_total is null)and(r_line_2.undef_line_value_total is null))
2188              AND ((r_line_1.undef_line_value_total is null)or(r_line_2.undef_line_value_total is null)))THEN
2189           l_prompt :='UNDEF_LINE_VALUE_TOTAL';
2190           SET_AMOUNT_DIFF_DATA( r_line_1.undef_line_value_total, r_line_2.undef_line_value_total );
2191           insert_comp_result(vHeader_id,vVersion1,vVersion2);
2192         END IF;
2193 /*
2194         IF r_line_1.line_value_copy <>r_line_2.line_value_copy THEN
2195            l_prompt :='Line value copy';
2196            l_data1  :=r_line_1.line_value_copy;
2197            l_data2  :=r_line_2.line_value_copy;
2198 
2199         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2200         END IF;
2201 */
2202         IF ((r_line_1.BILLABLE_FLAG = 'Y') AND (NVL(r_line_2.BILLABLE_FLAG, ' ')<>'Y'))
2203 	 OR((r_line_2.BILLABLE_FLAG = 'Y') AND (NVL(r_line_1.BILLABLE_FLAG, ' ')<>'Y'))THEN
2204            l_prompt :='BILLABLE_YN';
2205            l_data1  :=r_line_1.billable_flag;
2206            l_data2  :=r_line_2.billable_flag;
2207         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2208         END IF;
2209 
2210         IF ((r_line_1.SHIPPABLE_FLAG = 'Y') AND (NVL(r_line_2.SHIPPABLE_FLAG, ' ')<>'Y'))
2211 	 OR((r_line_2.SHIPPABLE_FLAG = 'Y') AND (NVL(r_line_1.SHIPPABLE_FLAG, ' ')<>'Y'))THEN
2212            l_prompt :='SHIPPABLE_YN';
2213            l_data1  :=r_line_1.SHIPPABLE_FLAG;
2214            l_data2  :=r_line_2.SHIPPABLE_FLAG;
2215 
2216         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2217         END IF;
2218 
2219         IF ((r_line_1.SUBCONTRACTED_FLAG = 'Y') AND (NVL(r_line_2.SUBCONTRACTED_FLAG, ' ')<>'Y'))
2220 	 OR((r_line_2.SUBCONTRACTED_FLAG = 'Y') AND (NVL(r_line_1.SUBCONTRACTED_FLAG, ' ')<>'Y'))THEN
2221            l_prompt :='SUBCONTRACTED_YN';
2222            l_data1  :=r_line_1.subcontracted_flag;
2223            l_data2  :=r_line_2.subcontracted_flag;
2224 
2225            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2226         END IF;
2227 
2228         IF ((r_line_1.DROP_SHIPPED_FLAG = 'Y') AND (NVL(r_line_2.DROP_SHIPPED_FLAG, ' ')<>'Y'))
2229 	 OR((r_line_2.DROP_SHIPPED_FLAG = 'Y') AND (NVL(r_line_1.DROP_SHIPPED_FLAG, ' ')<>'Y'))THEN
2230            l_prompt :='DROP_SHIPPED_YN';
2231            l_data1  :=r_line_1.drop_shipped_flag;
2232            l_data2  :=r_line_2.drop_shipped_flag;
2233 
2234            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2235         END IF;
2236 
2237         IF ((r_line_1.COMPLETED_FLAG = 'Y') AND (NVL(r_line_2.COMPLETED_FLAG, ' ')<>'Y'))
2238 	 OR((r_line_2.COMPLETED_FLAG = 'Y') AND (NVL(r_line_1.COMPLETED_FLAG, ' ')<>'Y'))  THEN
2239            l_prompt :='COMPLETED_YN';
2240            l_data1  :=r_line_1.completed_flag;
2241            l_data2  :=r_line_2.completed_flag;
2242 
2243            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2244         END IF;
2245 
2246         IF (r_line_1.comments <>r_line_2.comments )
2247 		OR( NOT((r_line_1.comments is null)and(r_line_2.comments is null))
2248              AND ((r_line_1.comments is null)or(r_line_2.comments is null)))THEN
2249            l_prompt :='COMMENTS';
2250            l_data1  :=r_line_1.comments;
2251            l_data2  :=r_line_2.comments;
2252 
2253            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2254         END IF;
2255 
2256 
2257         IF (r_line_1.target_date_definitize <>r_line_2.target_date_definitize )
2258 		 OR( NOT((r_line_1.target_date_definitize is null)and(r_line_2.target_date_definitize is null))
2259              AND ((r_line_1.target_date_definitize is null)or(r_line_2.target_date_definitize is null)))THEN
2260            l_prompt :='TARGET_DATE_DEFINITIZE';
2261            l_data1  :=r_line_1.target_date_definitize;
2262            l_data2  :=r_line_2.target_date_definitize;
2263 
2264            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2265         END IF;
2266 
2267         IF (r_line_1.discount_for_payment <>r_line_2.discount_for_payment )
2268 		 OR( NOT((r_line_1.discount_for_payment is null)and(r_line_2.discount_for_payment is null))
2269              AND ((r_line_1.discount_for_payment is null)or(r_line_2.discount_for_payment is null)))THEN
2270            l_prompt :='DISCOUNT_FOR_PAYMENT';
2271            l_data1  :=r_line_1.discount_for_payment;
2272            l_data2  :=r_line_2.discount_for_payment;
2273 
2274         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2275         END IF;
2276 
2277         IF (r_line_1.cost_of_sale_rate <>r_line_2.cost_of_sale_rate)
2278 		 OR( NOT((r_line_1.cost_of_sale_rate is null)and(r_line_2.cost_of_sale_rate is null))
2279              AND ((r_line_1.cost_of_sale_rate is null)or(r_line_2.cost_of_sale_rate is null)))THEN
2280            l_prompt :='COST_OF_SALE_RATE';
2281            l_data1  :=r_line_1.cost_of_sale_rate;
2282            l_data2  :=r_line_2.cost_of_sale_rate;
2283         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2284         END IF;
2285 
2286         IF ((r_line_1.FINANCIAL_CTRL_FLAG = 'Y') AND (NVL(r_line_2.FINANCIAL_CTRL_FLAG, ' ')<>'Y'))
2287 	 OR((r_line_2.FINANCIAL_CTRL_FLAG = 'Y') AND (NVL(r_line_1.FINANCIAL_CTRL_FLAG, ' ')<>'Y'))  THEN
2288            l_prompt :='FINANCIAL_CTRL_YN';
2289            l_data1  :=r_line_1.financial_ctrl_flag;
2290            l_data2  :=r_line_2.financial_ctrl_flag;
2291 
2292         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2293         END IF;
2294 
2295         IF ((r_line_1.DEFINITIZED_FLAG = 'Y') AND (NVL(r_line_2.DEFINITIZED_FLAG, ' ')<>'Y'))
2296 	 OR((r_line_2.DEFINITIZED_FLAG = 'Y') AND (NVL(r_line_1.DEFINITIZED_FLAG, ' ')<>'Y')) THEN
2297 
2298            l_prompt :='DEFINITIZED_YN';
2299            l_data1  :=r_line_1.definitized_flag;
2300            l_data2  :=r_line_2.definitized_flag;
2301 
2302            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2303         END IF;
2304 
2305         IF ((r_line_1.BILL_UNDEFINITIZED_FLAG = 'Y') AND (NVL(r_line_2.BILL_UNDEFINITIZED_FLAG, ' ')<>'Y'))
2306 	 OR((r_line_2.BILL_UNDEFINITIZED_FLAG = 'Y') AND (NVL(r_line_1.BILL_UNDEFINITIZED_FLAG, ' ')<>'Y')) THEN
2307 
2308            l_prompt :='BILL_UNDEFINITIZED_YN';
2309            l_data1  :=r_line_1.bill_undefinitized_flag;
2310            l_data2  :=r_line_2.bill_undefinitized_flag;
2311 
2312         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2313         END IF;
2314 
2315         IF ((r_line_1.DCAA_AUDIT_REQ_FLAG = 'Y') AND (NVL(r_line_2.DCAA_AUDIT_REQ_FLAG, ' ')<>'Y'))
2316 	 OR((r_line_2.DCAA_AUDIT_REQ_FLAG = 'Y') AND (NVL(r_line_1.DCAA_AUDIT_REQ_FLAG, ' ')<>'Y'))  THEN
2317 
2318            l_prompt :='DCAA_AUDIT_REQ_YN';
2319            l_data1  :=r_line_1.dcaa_audit_req_flag;
2320            l_data2  :=r_line_2.dcaa_audit_req_flag;
2321         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2322         END IF;
2323 
2324         IF (r_line_1.cost_of_money <>r_line_2.cost_of_money )
2325 		 OR( NOT((r_line_1.cost_of_money is null)and(r_line_2.cost_of_money is null))
2326              AND ((r_line_1.cost_of_money is null)or(r_line_2.cost_of_money is null)))THEN
2327            l_prompt :='COST_OF_MONEY_YN';
2328            l_data1  :=r_line_1.cost_of_money;
2329            l_data2  :=r_line_2.cost_of_money;
2330 
2331         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2332         END IF;
2333 
2334         IF ((r_line_1.INTERIM_RPT_REQ_FLAG = 'Y') AND (NVL(r_line_2.INTERIM_RPT_REQ_FLAG, ' ')<>'Y'))
2335 	 OR((r_line_2.INTERIM_RPT_REQ_FLAG = 'Y') AND (NVL(r_line_1.INTERIM_RPT_REQ_FLAG, ' ')<>'Y')) THEN
2336 
2337            l_prompt :='INTERIM_RPT_REQ_YN';
2338            l_data1  :=r_line_1.interim_rpt_req_flag;
2339            l_data2  :=r_line_2.interim_rpt_req_flag;
2340 
2341            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2342         END IF;
2343 
2344         IF ((r_line_1.NTE_WARNING_FLAG = 'Y') AND (NVL(r_line_2.NTE_WARNING_FLAG, ' ')<>'Y'))
2345 	 OR((r_line_2.NTE_WARNING_FLAG = 'Y') AND (NVL(r_line_1.NTE_WARNING_FLAG, ' ')<>'Y'))  THEN
2346 
2347            l_prompt :='NTE_WARNING_YN';
2348            l_data1  :=r_line_1.nte_warning_flag;
2349            l_data2  :=r_line_2.nte_warning_flag;
2350 
2351         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2352         END IF;
2353 
2354         IF ((r_line_1.C_SSR_FLAG = 'Y') AND (NVL(r_line_2.C_SSR_FLAG, ' ')<>'Y'))
2355 	 OR((r_line_2.C_SSR_FLAG = 'Y') AND (NVL(r_line_1.C_SSR_FLAG, ' ')<>'Y'))  THEN
2356 
2357            l_prompt :='C_SSR_YN';
2358            l_data1  :=r_line_1.c_ssr_flag;
2359            l_data2  :=r_line_2.c_ssr_flag;
2360         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2361         END IF;
2362 
2363         IF ((r_line_1.C_SCS_FLAG = 'Y') AND (NVL(r_line_2.C_SCS_FLAG, ' ')<>'Y'))
2364 	 OR((r_line_2.C_SCS_FLAG = 'Y') AND (NVL(r_line_1.C_SCS_FLAG, ' ')<>'Y')) THEN
2365 
2366            l_prompt :='C_SCS_YN';
2367            l_data1  :=r_line_1.c_scs_flag;
2368            l_data2  :=r_line_2.c_scs_flag;
2369 
2370         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2371         END IF;
2372 
2373         IF (r_line_1.prepayment_amount <>r_line_2.prepayment_amount )
2374 		 OR( NOT((r_line_1.prepayment_amount is null)and(r_line_2.prepayment_amount is null))
2375              AND ((r_line_1.prepayment_amount is null)or(r_line_2.prepayment_amount is null)))THEN
2376            l_prompt :='PREPAYMENT_AMOUNT';
2377            SET_AMOUNT_DIFF_DATA( r_line_1.prepayment_amount, r_line_2.prepayment_amount );
2378            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2379         END IF;
2380 
2381         IF (r_line_1.prepayment_percentage <>r_line_2.prepayment_percentage )
2382 		 OR( NOT((r_line_1.prepayment_percentage is null)and(r_line_2.prepayment_percentage is null))
2383              AND ((r_line_1.prepayment_percentage is null)or(r_line_2.prepayment_percentage is null)))THEN
2384            l_prompt :='PREPAYMENT_PERCENTAGE';
2385            l_data1  :=r_line_1.prepayment_percentage;
2386            l_data2  :=r_line_2.prepayment_percentage;
2387 
2388         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2389         END IF;
2390 
2391         IF ((r_line_1.PROGRESS_PAYMENT_FLAG = 'Y') AND (NVL(r_line_2.PROGRESS_PAYMENT_FLAG, ' ')<>'Y'))
2392 	 OR((r_line_2.PROGRESS_PAYMENT_FLAG = 'Y') AND (NVL(r_line_1.PROGRESS_PAYMENT_FLAG, ' ')<>'Y'))THEN
2393 
2394            l_prompt :='PROGRESS_PAYMENT_YN';
2395            l_data1  :=r_line_1.progress_payment_flag;
2396            l_data2  :=r_line_2.progress_payment_flag;
2397         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2398         END IF;
2399 
2400         IF (r_line_1.progress_payment_rate <>r_line_2.progress_payment_rate )
2401 		 OR( NOT((r_line_1.progress_payment_rate is null)and(r_line_2.progress_payment_rate is null))
2402              AND ((r_line_1.progress_payment_rate is null)or(r_line_2.progress_payment_rate is null)))THEN
2403            l_prompt :='PROGRESS_PAYMENT_RATE';
2404            l_data1  :=r_line_1.progress_payment_rate;
2405            l_data2  :=r_line_2.progress_payment_rate;
2406 
2407         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2408         END IF;
2409 
2410 
2411         IF (r_line_1.progress_payment_liq_rate <>r_line_2.progress_payment_liq_rate )
2412 		 OR( NOT((r_line_1.progress_payment_liq_rate is null)and(r_line_2.progress_payment_liq_rate is null))
2413              AND ((r_line_1.progress_payment_liq_rate is null)or(r_line_2.progress_payment_liq_rate is null)))THEN
2414            l_prompt :='PROGRESS_PAYMENT_LIQ_RATE';
2415            l_data1  :=r_line_1.progress_payment_liq_rate;
2416            l_data2  :=r_line_2.progress_payment_liq_rate;
2417 
2418            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2419         END IF;
2420 
2421         IF (r_line_1.line_liquidation_rate <>r_line_2.line_liquidation_rate )
2422 		 OR( NOT((r_line_1.line_liquidation_rate is null)and(r_line_2.line_liquidation_rate is null))
2423              AND ((r_line_1.line_liquidation_rate is null)or(r_line_2.line_liquidation_rate is null)))THEN
2424            l_prompt :='LINE_LIQUIDATION_RATE';
2425            l_data1  :=r_line_1.line_liquidation_rate;
2426            l_data2  :=r_line_2.line_liquidation_rate;
2427 
2428         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2429         END IF;
2430 
2431         IF (r_line_1.boe_description <>r_line_2.boe_description )
2432 		 OR( NOT((r_line_1.boe_description is null)and(r_line_2.boe_description is null))
2433              AND ((r_line_1.boe_description is null)or(r_line_2.boe_description is null)))THEN
2434            l_prompt :='BOE_DESCRIPTION';
2435            l_data1  :=r_line_1.boe_description;
2436            l_data2  :=r_line_2.boe_description;
2437         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2438         END IF;
2439 
2440         IF (r_line_1.billing_method <>r_line_2.billing_method )
2441 		 OR( NOT((r_line_1.billing_method is null)and(r_line_2.billing_method is null))
2442              AND ((r_line_1.billing_method is null)or(r_line_2.billing_method is null)))THEN
2443            l_prompt :='BILLING_METHOD';
2444            l_data1  :=r_line_1.billing_method;
2445            l_data2  :=r_line_2.billing_method;
2446 
2447         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2448         END IF;
2449 
2450         IF (r_line_1.total_estimated_cost <>r_line_2.total_estimated_cost )
2451 		 OR( NOT((r_line_1.total_estimated_cost is null)and(r_line_2.total_estimated_cost is null))
2452              AND ((r_line_1.total_estimated_cost is null)or(r_line_2.total_estimated_cost is null)))THEN
2453            l_prompt :='TOTAL_ESTIMATED_COST';
2454            l_data1  :=r_line_1.total_estimated_cost;
2455            l_data2  :=r_line_2.total_estimated_cost;
2456 
2457            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2458         END IF;
2459 
2460         IF (r_line_1.customer_percent_in_order <>r_line_2.customer_percent_in_order )
2461 		 OR( NOT((r_line_1.customer_percent_in_order is null)and(r_line_2.customer_percent_in_order is null))
2462              AND ((r_line_1.customer_percent_in_order is null)or(r_line_2.customer_percent_in_order is null)))THEN
2463            l_prompt :='CUSTOMER_PERCENT_IN_ORDER';
2464            l_data1  :=r_line_1.customer_percent_in_order;
2465            l_data2  :=r_line_2.customer_percent_in_order;
2466 
2467         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2468         END IF;
2469 
2470         IF (r_line_1.ceiling_cost <>r_line_2.ceiling_cost )
2471 		 OR( NOT((r_line_1.ceiling_cost is null)and(r_line_2.ceiling_cost is null))
2472              AND ((r_line_1.ceiling_cost is null)or(r_line_2.ceiling_cost is null)))THEN
2473            l_prompt :='CEILING_COST';
2474            l_data1  :=r_line_1.ceiling_cost;
2475            l_data2  :=r_line_2.ceiling_cost;
2476         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2477         END IF;
2478 
2479         IF (r_line_1.level_of_effort_hours <>r_line_2.level_of_effort_hours )
2480 		 OR( NOT((r_line_1.level_of_effort_hours is null)and(r_line_2.level_of_effort_hours is null))
2481              AND ((r_line_1.level_of_effort_hours is null)or(r_line_2.level_of_effort_hours is null)))THEN
2482            l_prompt :='LEVEL_OF_EFFORT_HOURS';
2483            l_data1  :=r_line_1.level_of_effort_hours;
2484            l_data2  :=r_line_2.level_of_effort_hours;
2485 
2486         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2487         END IF;
2488 
2489 
2490         IF (r_line_1.award_fee <>r_line_2.award_fee )
2491 		 OR( NOT((r_line_1.award_fee is null)and(r_line_2.award_fee is null))
2492              AND ((r_line_1.award_fee is null)or(r_line_2.award_fee is null)))THEN
2493            l_prompt :='AWARD_FEE';
2494            l_data1  :=r_line_1.award_fee;
2495            l_data2  :=r_line_2.award_fee;
2496 
2497            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2498         END IF;
2499 
2500         IF (r_line_1.base_fee <>r_line_2.base_fee )
2501 		 OR( NOT((r_line_1.base_fee is null)and(r_line_2.base_fee is null))
2502              AND ((r_line_1.base_fee is null)or(r_line_2.base_fee is null)))THEN
2503            l_prompt :='BASE_FEE';
2504            l_data1  :=r_line_1.base_fee;
2505            l_data2  :=r_line_2.base_fee;
2506 
2507         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2508         END IF;
2509 
2510         IF (r_line_1.minimum_fee <>r_line_2.minimum_fee  )
2511 		 OR( NOT((r_line_1.minimum_fee is null)and(r_line_2.minimum_fee is null))
2512              AND ((r_line_1.minimum_fee is null)or(r_line_2.minimum_fee is null)))THEN
2513            l_prompt :='MINIMUM_FEE';
2514            l_data1  :=r_line_1.minimum_fee;
2515            l_data2  :=r_line_2.minimum_fee;
2516         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2517         END IF;
2518 
2519         IF (r_line_1.maximum_fee <>r_line_2.maximum_fee )
2520 		 OR( NOT((r_line_1.maximum_fee is null)and(r_line_2.maximum_fee is null))
2521              AND ((r_line_1.maximum_fee is null)or(r_line_2.maximum_fee is null)))THEN
2522            l_prompt :='MAXIMUM_FEE';
2523            l_data1  :=r_line_1.maximum_fee;
2524            l_data2  :=r_line_2.maximum_fee;
2525 
2526         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2527         END IF;
2528 
2529         IF (r_line_1.award_fee_pool_amount <>r_line_2.award_fee_pool_amount )
2530 		 OR( NOT((r_line_1.award_fee_pool_amount is null)and(r_line_2.award_fee_pool_amount is null))
2531              AND ((r_line_1.award_fee_pool_amount is null)or(r_line_2.award_fee_pool_amount is null)))THEN
2532            l_prompt :='AWARD_FEE_POOL_AMOUNT';
2533            l_data1  :=r_line_1.award_fee_pool_amount;
2534            l_data2  :=r_line_2.award_fee_pool_amount;
2535 
2536            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2537         END IF;
2538 
2539         IF (r_line_1.fixed_fee <>r_line_2.fixed_fee )
2540 		 OR( NOT((r_line_1.fixed_fee is null)and(r_line_2.fixed_fee is null))
2541              AND ((r_line_1.fixed_fee is null)or(r_line_2.fixed_fee is null)))THEN
2542            l_prompt :='FIXED_FEE';
2543            l_data1  :=r_line_1.fixed_fee;
2544            l_data2  :=r_line_2.fixed_fee;
2545 
2546         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2547         END IF;
2548 
2549         IF (r_line_1.initial_fee <>r_line_2.initial_fee )
2550 		 OR( NOT((r_line_1.initial_fee is null)and(r_line_2.initial_fee is null))
2551              AND ((r_line_1.initial_fee is null)or(r_line_2.initial_fee is null)))THEN
2552            l_prompt :='INITIAL_FEE';
2553            l_data1  :=r_line_1.initial_fee;
2554            l_data2  :=r_line_2.initial_fee;
2555         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2556         END IF;
2557 
2558         IF (r_line_1.final_fee <>r_line_2.final_fee)
2559 		   OR( NOT((r_line_1.final_fee is null)and(r_line_2.final_fee is null))
2560              AND ((r_line_1.final_fee is null)or(r_line_2.final_fee is null)))THEN
2561            l_prompt :='FINAL_FEE';
2562            l_data1  :=r_line_1.final_fee;
2563            l_data2  :=r_line_2.final_fee;
2564 
2565         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2566         END IF;
2567 
2568         IF (r_line_1.fee_ajt_formula <>r_line_2.fee_ajt_formula)
2569 		 OR( NOT((r_line_1.fee_ajt_formula is null)and(r_line_2.fee_ajt_formula is null))
2570              AND ((r_line_1.fee_ajt_formula is null)or(r_line_2.fee_ajt_formula is null)))THEN
2571            l_prompt :='FEE_AJT_FORMULA';
2572            l_data1  :=r_line_1.fee_ajt_formula;
2573            l_data2  :=r_line_2.fee_ajt_formula;
2574 
2575            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2576         END IF;
2577 
2578         IF (r_line_1.target_cost <>r_line_2.target_cost )
2579 		 OR( NOT((r_line_1.target_cost is null)and(r_line_2.target_cost is null))
2580              AND ((r_line_1.target_cost is null)or(r_line_2.target_cost is null)))THEN
2581            l_prompt :='TARGET_COST';
2582            l_data1  :=r_line_1.target_cost;
2583            l_data2  :=r_line_2.target_cost;
2584 
2585         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2586         END IF;
2587 
2588         IF (r_line_1.target_fee <>r_line_2.target_fee)
2589 		 OR( NOT((r_line_1.target_fee is null)and(r_line_2.target_fee is null))
2590              AND ((r_line_1.target_fee is null)or(r_line_2.target_fee is null)))THEN
2591            l_prompt :='TARGET_FEE';
2592            l_data1  :=r_line_1.target_fee;
2593            l_data2  :=r_line_2.target_fee;
2594         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2595         END IF;
2596 
2597         IF (r_line_1.ceiling_price <>r_line_2.ceiling_price )
2598 		 OR( NOT((r_line_1.ceiling_price is null)and(r_line_2.ceiling_price is null))
2599              AND ((r_line_1.ceiling_price is null)or(r_line_2.ceiling_price is null)))THEN
2600           l_prompt :='CEILING_PRICE';
2601           SET_PRICE_DIFF_DATA( r_line_1.ceiling_price, r_line_2.ceiling_price );
2602           insert_comp_result(vHeader_id,vVersion1,vVersion2);
2603         END IF;
2604 
2605         IF (r_line_1.target_price <>r_line_2.target_price)
2606 		 OR( NOT((r_line_1.target_price is null)and(r_line_2.target_price is null))
2607              AND ((r_line_1.target_price is null)or(r_line_2.target_price is null)))THEN
2608           l_prompt :='TARGET_PRICE';
2609           SET_PRICE_DIFF_DATA( r_line_1.target_price, r_line_2.target_price );
2610           insert_comp_result(vHeader_id,vVersion1,vVersion2);
2611         END IF;
2612 
2613         IF (r_line_1.cost_overrun_share_ratio <>r_line_2.cost_overrun_share_ratio )
2614 		 OR( NOT((r_line_1.cost_overrun_share_ratio is null)and(r_line_2.cost_overrun_share_ratio is null))
2615              AND ((r_line_1.cost_overrun_share_ratio is null)or(r_line_2.cost_overrun_share_ratio is null)))THEN
2616            l_prompt :='COST_OVERRUN_SHARE_RATIO';
2617            l_data1  :=r_line_1.cost_overrun_share_ratio;
2618            l_data2  :=r_line_2.cost_overrun_share_ratio;
2619 
2620            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2621         END IF;
2622 
2623         IF (r_line_1.cost_underrun_share_ratio <>r_line_2.cost_underrun_share_ratio )
2624 		 OR( NOT((r_line_1.cost_underrun_share_ratio is null)and(r_line_2.cost_underrun_share_ratio is null))
2625              AND ((r_line_1.cost_underrun_share_ratio is null)or(r_line_2.cost_underrun_share_ratio is null)))THEN
2626            l_prompt :='COST_UNDERRUN_SHARE_RATIO';
2627            l_data1  :=r_line_1.cost_underrun_share_ratio;
2628            l_data2  :=r_line_2.cost_underrun_share_ratio;
2629 
2630         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2631         END IF;
2632 
2633         IF (r_line_1.final_pft_ajt_formula <>r_line_2.final_pft_ajt_formula )
2634 		 OR( NOT((r_line_1.final_pft_ajt_formula is null)and(r_line_2.final_pft_ajt_formula is null))
2635              AND ((r_line_1.final_pft_ajt_formula is null)or(r_line_2.final_pft_ajt_formula is null)))THEN
2636            l_prompt :='FINAL_PFT_AJT_FORMULA';
2637            l_data1  :=r_line_1.final_pft_ajt_formula;
2638            l_data2  :=r_line_2.final_pft_ajt_formula;
2639         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2640         END IF;
2641 
2642         IF (r_line_1.fixed_quantity <>r_line_2.fixed_quantity )
2643 		 OR( NOT((r_line_1.fixed_quantity is null)and(r_line_2.fixed_quantity is null))
2644              AND ((r_line_1.fixed_quantity is null)or(r_line_2.fixed_quantity is null)))THEN
2645            l_prompt :='FIXED_QUANTITY';
2646            l_data1  :=r_line_1.fixed_quantity;
2647            l_data2  :=r_line_2.fixed_quantity;
2648 
2649         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2650         END IF;
2651 
2652 
2653         IF (r_line_1.minimum_quantity <>r_line_2.minimum_quantity )
2654 		 OR( NOT((r_line_1.minimum_quantity is null)and(r_line_2.minimum_quantity is null))
2655              AND ((r_line_1.minimum_quantity is null)or(r_line_2.minimum_quantity is null)))THEN
2656            l_prompt :='MINIMUM_QUANTITY';
2657            l_data1  :=r_line_1.minimum_quantity;
2658            l_data2  :=r_line_2.minimum_quantity;
2659 
2660            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2661         END IF;
2662 
2663         IF (r_line_1.maximum_quantity <>r_line_2.maximum_quantity )
2664 		 OR( NOT((r_line_1.maximum_quantity is null)and(r_line_2.maximum_quantity is null))
2665              AND ((r_line_1.maximum_quantity is null)or(r_line_2.maximum_quantity is null)))THEN
2666            l_prompt :='MAXIMUM_QUANTITY';
2667            l_data1  :=r_line_1.maximum_quantity;
2668            l_data2  :=r_line_2.maximum_quantity;
2669 
2670         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2671         END IF;
2672 
2673         IF (r_line_1.estimated_total_quantity <>r_line_2.estimated_total_quantity )
2674 		 OR( NOT((r_line_1.estimated_total_quantity is null)and(r_line_2.estimated_total_quantity is null))
2675              AND ((r_line_1.estimated_total_quantity is null)or(r_line_2.estimated_total_quantity is null)))THEN
2676            l_prompt :='ESTIMATED_TOTAL_QUANTITY';
2677            l_data1  :=r_line_1.estimated_total_quantity;
2678            l_data2  :=r_line_2.estimated_total_quantity;
2679         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2680         END IF;
2681 
2682         IF (r_line_1.number_of_options <>r_line_2.number_of_options )
2683 		 OR( NOT((r_line_1.number_of_options is null)and(r_line_2.number_of_options is null))
2684              AND ((r_line_1.number_of_options is null)or(r_line_2.number_of_options is null)))THEN
2685            l_prompt :='NUMBER_OF_OPTIONS';
2686            l_data1  :=r_line_1.number_of_options;
2687            l_data2  :=r_line_2.number_of_options;
2688 
2689         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2690         END IF;
2691 
2692         IF (r_line_1.initial_price <>r_line_2.initial_price )
2693 		 OR( NOT((r_line_1.initial_price is null)and(r_line_2.initial_price is null))
2694              AND ((r_line_1.initial_price is null)or(r_line_2.initial_price is null)))THEN
2695            l_prompt :='INITIAL_PRICE';
2696            SET_PRICE_DIFF_DATA( r_line_1.initial_price, r_line_2.initial_price );
2697            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2698         END IF;
2699 
2700         IF (r_line_1.revised_price <>r_line_2.revised_price )
2701 		 OR( NOT((r_line_1.revised_price is null)and(r_line_2.revised_price is null))
2702              AND ((r_line_1.revised_price is null)or(r_line_2.revised_price is null)))THEN
2703           l_prompt :='REVISED_PRICE';
2704           SET_PRICE_DIFF_DATA( r_line_1.revised_price, r_line_2.revised_price );
2705           insert_comp_result(vHeader_id,vVersion1,vVersion2);
2706         END IF;
2707 
2708         IF (r_line_1.material_cost_index <>r_line_2.material_cost_index )
2709 		 OR( NOT((r_line_1.material_cost_index is null)and(r_line_2.material_cost_index is null))
2710              AND ((r_line_1.material_cost_index is null)or(r_line_2.material_cost_index is null)))THEN
2711            l_prompt :='MATERIAL_COST_INDEX';
2712            l_data1  :=r_line_1.material_cost_index;
2713            l_data2  :=r_line_2.material_cost_index;
2714         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2715         END IF;
2716 
2717         IF (r_line_1.labor_cost_index <>r_line_2.labor_cost_index )
2718 		 OR( NOT((r_line_1.labor_cost_index is null)and(r_line_2.labor_cost_index is null))
2719              AND ((r_line_1.labor_cost_index is null)or(r_line_2.labor_cost_index is null)))THEN
2720            l_prompt :='LABOR_COST_INDEX';
2721            l_data1  :=r_line_1.labor_cost_index;
2722            l_data2  :=r_line_2.labor_cost_index;
2723 
2724         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2725         END IF;
2726 
2727         IF (r_line_1.date_of_price_redetermin <>r_line_2.date_of_price_redetermin )
2728 		 OR( NOT((r_line_1.date_of_price_redetermin is null)and(r_line_2.date_of_price_redetermin is null))
2729              AND ((r_line_1.date_of_price_redetermin is null)or(r_line_2.date_of_price_redetermin is null)))THEN
2730            l_prompt :='DATE_OF_PRICE_REDETERMIN';
2731            l_data1  :=r_line_1.date_of_price_redetermin;
2732            l_data2  :=r_line_2.date_of_price_redetermin;
2733 
2734            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2735         END IF;
2736 
2737         IF (r_line_1.country_of_origin_code <>r_line_2.country_of_origin_code)
2738 		 OR( NOT((r_line_1.country_of_origin_code is null)and(r_line_2.country_of_origin_code is null))
2739              AND ((r_line_1.country_of_origin_code is null)or(r_line_2.country_of_origin_code is null)))THEN
2740            l_prompt :='COUNTRY_OF_ORIGIN_CODE';
2741            l_data1  :=r_line_1.country_of_origin_code;
2742            l_data2  :=r_line_2.country_of_origin_code;
2743 
2744         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2745         END IF;
2746 
2747         IF ((r_line_1.EXPORT_FLAG = 'Y') AND (NVL(r_line_2.EXPORT_FLAG, ' ')<>'Y'))
2748 	 OR((r_line_2.EXPORT_FLAG = 'Y') AND (NVL(r_line_1.EXPORT_FLAG, ' ')<>'Y'))  THEN
2749 
2750            l_prompt :='EXPORT_YN';
2751            l_data1  :=r_line_1.export_flag;
2752            l_data2  :=r_line_2.export_flag;
2753         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2754         END IF;
2755 
2756         IF (r_line_1.export_license_num <>r_line_2.export_license_num )
2757 		 OR( NOT((r_line_1.export_license_num is null)and(r_line_2.export_license_num is null))
2758              AND ((r_line_1.export_license_num is null)or(r_line_2.export_license_num is null)))THEN
2759            l_prompt :='EXPORT_LICENSE_NUM';
2760            l_data1  :=r_line_1.export_license_num;
2761            l_data2  :=r_line_2.export_license_num;
2762 
2763         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2764         END IF;
2765 
2766         IF (r_line_1.export_license_res <>r_line_2.export_license_res )
2767 		 OR( NOT((r_line_1.export_license_res is null)and(r_line_2.export_license_res is null))
2768              AND ((r_line_1.export_license_res is null)or(r_line_2.export_license_res is null)))THEN
2769            l_prompt :='EXPORT_LICENSE_RES';
2770            l_data1  :=r_line_1.export_license_res;
2771            l_data2  :=r_line_2.export_license_res;
2772 
2773            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2774         END IF;
2775 
2776         IF ((r_line_1.COP_REQUIRED_FLAG = 'Y') AND (NVL(r_line_2.COP_REQUIRED_FLAG, ' ')<>'Y'))
2777 	 OR((r_line_2.COP_REQUIRED_FLAG = 'Y') AND (NVL(r_line_1.COP_REQUIRED_FLAG, ' ')<>'Y'))  THEN
2778 
2779            l_prompt :='COP_REQUIRED_YN';
2780            l_data1  :=r_line_1.cop_required_flag;
2781            l_data2  :=r_line_2.cop_required_flag;
2782 
2783         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2784         END IF;
2785 
2786         IF ((r_line_1.INSPECTION_REQ_FLAG = 'Y') AND (NVL(r_line_2.INSPECTION_REQ_FLAG, ' ')<>'Y'))
2787 	 OR((r_line_2.INSPECTION_REQ_FLAG = 'Y') AND (NVL(r_line_1.INSPECTION_REQ_FLAG, ' ')<>'Y'))  THEN
2788 
2789            l_prompt :='INSPECTION_REQ_YN';
2790            l_data1  :=r_line_1.inspection_req_flag;
2791            l_data2  :=r_line_2.inspection_req_flag;
2792         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2793         END IF;
2794 
2795         IF ((r_line_1.SUBJ_A133_FLAG = 'Y') AND (NVL(r_line_2.SUBJ_A133_FLAG, ' ')<>'Y'))
2796 	 OR((r_line_2.SUBJ_A133_FLAG = 'Y') AND (NVL(r_line_1.SUBJ_A133_FLAG, ' ')<>'Y')) THEN
2797 
2798            l_prompt :='SUBJ_A133_YN';
2799            l_data1  :=r_line_1.subj_a133_flag;
2800            l_data2  :=r_line_2.subj_a133_flag;
2801 
2802         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2803         END IF;
2804 
2805 
2806         IF ((r_line_1.CFE_FLAG = 'Y') AND (NVL(r_line_2.CFE_FLAG, ' ')<>'Y'))
2807 	 OR((r_line_2.CFE_FLAG = 'Y') AND (NVL(r_line_1.CFE_FLAG, ' ')<>'Y'))  THEN
2808 
2809            l_prompt :='CFE_YN';
2810            l_data1  :=r_line_1.cfe_flag;
2811            l_data2  :=r_line_2.cfe_flag;
2812 
2813            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2814         END IF;
2815 
2816         IF ((r_line_1.CUSTOMER_APPROVAL_REQ_FLAG = 'Y') AND (NVL(r_line_2.CUSTOMER_APPROVAL_REQ_FLAG, ' ')<>'Y'))
2817 	 OR((r_line_2.CUSTOMER_APPROVAL_REQ_FLAG = 'Y') AND (NVL(r_line_1.CUSTOMER_APPROVAL_REQ_FLAG, ' ')<>'Y'))  THEN
2818 
2819            l_prompt :='CUSTOMER_APPROVAL_REQ_YN';
2820            l_data1  :=r_line_1.customer_approval_req_flag;
2821            l_data2  :=r_line_2.customer_approval_req_flag;
2822 
2823         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2824         END IF;
2825 
2826         IF (r_line_1.data_item_name <>r_line_2.data_item_name )
2827 		 OR( NOT((r_line_1.data_item_name is null)and(r_line_2.data_item_name is null))
2828              AND ((r_line_1.data_item_name is null)or(r_line_2.data_item_name is null)))THEN
2829            l_prompt :='DATA_ITEM_NAME';
2830            l_data1  :=r_line_1.data_item_name;
2831            l_data2  :=r_line_2.data_item_name;
2832         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2833         END IF;
2834 
2835         IF (r_line_1.data_item_subtitle <>r_line_2.data_item_subtitle )
2836 		 OR( NOT((r_line_1.data_item_subtitle is null)and(r_line_2.data_item_subtitle is null))
2837              AND ((r_line_1.data_item_subtitle is null)or(r_line_2.data_item_subtitle is null)))THEN
2838            l_prompt :='DATA_ITEM_SUBTITLE';
2839            l_data1  :=r_line_1.data_item_subtitle;
2840            l_data2  :=r_line_2.data_item_subtitle;
2841 
2842         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2843         END IF;
2844 
2845         IF (r_line_1.cdrl_category <>r_line_2.cdrl_category )
2846 		 OR( NOT((r_line_1.cdrl_category is null)and(r_line_2.cdrl_category is null))
2847              AND ((r_line_1.cdrl_category is null)or(r_line_2.cdrl_category is null)))THEN
2848            l_prompt :='CDRL_CATEGORY';
2849            l_data1  :=r_line_1.cdrl_category;
2850            l_data2  :=r_line_2.cdrl_category;
2851 
2852            insert_comp_result(vHeader_id,vVersion1,vVersion2);
2853         END IF;
2854 
2855         IF (r_line_1.requiring_office <>r_line_2.requiring_office )
2856 		 OR( NOT((r_line_1.requiring_office is null)and(r_line_2.requiring_office is null))
2857              AND ((r_line_1.requiring_office is null)or(r_line_2.requiring_office is null)))THEN
2858            l_prompt :='REQUIRING_OFFICE';
2859            l_data1  :=r_line_1.requiring_office;
2860            l_data2  :=r_line_2.requiring_office;
2861 
2862         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2863         END IF;
2864 
2865         IF (r_line_1.date_of_first_submission <>r_line_2.date_of_first_submission )
2866 		 OR( NOT((r_line_1.date_of_first_submission is null)and(r_line_2.date_of_first_submission is null))
2867              AND ((r_line_1.date_of_first_submission is null)or(r_line_2.date_of_first_submission is null)))THEN
2868            l_prompt :='DATE_OF_FIRST_SUBMISSION';
2869            l_data1  :=r_line_1.date_of_first_submission;
2870            l_data2  :=r_line_2.date_of_first_submission;
2871         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2872         END IF;
2873 
2874         IF (r_line_1.frequency <>r_line_2.frequency )
2875 		 OR( NOT((r_line_1.frequency is null)and(r_line_2.frequency is null))
2876              AND ((r_line_1.frequency is null)or(r_line_2.frequency is null)))THEN
2877            l_prompt :='FREQUENCY';
2878            l_data1  :=r_line_1.frequency;
2879            l_data2  :=r_line_2.frequency;
2880 
2881         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2882         END IF;
2883 
2884         IF (r_line_1.copies_required <>r_line_2.copies_required )
2885 		 OR( NOT((r_line_1.copies_required is null)and(r_line_2.copies_required is null))
2886              AND ((r_line_1.copies_required is null)or(r_line_2.copies_required is null)))THEN
2887            l_prompt :='COPIES_REQUIRED';
2888            l_data1  :=r_line_1.copies_required;
2889            l_data2  :=r_line_2.copies_required;
2890 
2891         insert_comp_result(vHeader_id,vVersion1,vVersion2);
2892         END IF;
2893 
2894         comp_line_parties(vHeader_id,vVersion1, vVersion2,nCurrent_line_id);
2895 
2896         comp_line_terms(vHeader_id,vVersion1, vVersion2,nCurrent_line_id);
2897 
2898         comp_line_articles(vHeader_id,vVersion1, vVersion2,nCurrent_line_id);
2899 
2900 	If L_Latest_Version >= vVersion1 THEN
2901            SELECT count(*)
2902            INTO nDeliverables
2903       	   from oke_k_deliverables_bh
2904      	   where k_header_id=vHeader_id
2905       	   and k_line_id=nCurrent_line_id
2906       	   and major_version=vVersion1;
2907 
2908            SELECT count(*)
2909            INTO nSublines
2910            FROM okc_k_lines_bh
2911            WHERE CLE_ID=nCurrent_line_id
2912            AND MAJOR_VERSION= vVersion1;
2913 
2914         ELSE
2915            SELECT count(*)
2916            INTO nDeliverables
2917       	   from oke_k_deliverables_b
2918      	   where k_header_id=vHeader_id
2919       	   and k_line_id=nCurrent_line_id;
2920 
2921            SELECT  count(*)
2922            INTO nSublines
2923            FROM okc_k_lines_b
2924            WHERE CLE_ID=nCurrent_line_id;
2925         END IF;
2926 
2927         IF nDeliverables>0 THEN
2928 --DBMS_OUTPUT.PUT_LINE('Top Line has  '||nDeliverables|| ' deliverables, to  compare.');
2929 	   comp_line_deliverables(vHeader_id,vVersion1, vVersion2,nCurrent_line_id);
2930         END IF;
2931 
2932         IF nSublines>0  THEN
2933 
2934            comp_subline(vHeader_id, vVersion1, vVersion2, nCurrent_line_id);
2935 
2936         END IF;
2937 
2938       END LOOP;
2939       CLOSE v_top_nodes;
2940 
2941        EXCEPTION
2942             WHEN NO_DATA_FOUND THEN
2943             NULL;
2944             WHEN OTHERS THEN
2945 	    NULL;
2946 
2947   END comp_lines;
2948 
2949   PROCEDURE comp_subline(vHeader_id IN NUMBER, vVersion1 IN NUMBER, vVersion2 IN NUMBER, vParentLineId IN NUMBER)
2950   AS
2951      TYPE r_current_Line IS RECORD(
2952 		major_version         OKE_K_LINES_SECURE_HV.major_version%TYPE,
2953 		line_number           OKE_K_LINES_SECURE_HV.line_number%TYPE,
2954 		status                OKE_K_LINES_SECURE_HV.status%TYPE,
2955 		line_style            OKE_K_LINES_SECURE_HV.line_style%TYPE,
2956 		project_number        OKE_K_LINES_SECURE_HV.project_number%TYPE,
2957 		task_number           OKE_K_LINES_SECURE_HV.task_number%TYPE,
2958 		start_date            OKE_K_LINES_SECURE_HV.start_date%TYPE,
2959 		end_date              OKE_K_LINES_SECURE_HV.end_date%TYPE,
2960 		delivery_date         OKE_K_LINES_SECURE_HV.delivery_date%TYPE,
2961 		proposal_due_date     OKE_K_LINES_SECURE_HV.proposal_due_date%TYPE,
2962 		item_number           OKE_K_LINES_SECURE_HV.item_number%TYPE,
2963               --item_description      OKE_K_LINES_SECURE_HV.item_description%TYPE,
2964 		line_description      OKE_K_LINES_SECURE_HV.line_description%TYPE,
2965 		customer_item_number  OKE_K_LINES_SECURE_HV.customer_item_number%TYPE,
2966 		nsn_number            OKE_K_LINES_SECURE_HV.nsn_number%TYPE,
2967 		nsp_flag              OKE_K_LINES_SECURE_HV.nsp_flag%TYPE,
2968 		line_quantity         OKE_K_LINES_SECURE_HV.line_quantity%TYPE,
2969 		uom_code              OKE_K_LINES_SECURE_HV.uom_code%TYPE,
2970 		unit_price            OKE_K_LINES_SECURE_HV.unit_price%TYPE,
2971 		undef_unit_price      OKE_K_LINES_SECURE_HV.undef_unit_price%TYPE,
2972 		line_value            OKE_K_LINES_SECURE_HV.line_value%TYPE,
2973 		undef_line_value      OKE_K_LINES_SECURE_HV.undef_line_value%TYPE,
2974 		line_value_total      OKE_K_LINES_SECURE_HV.line_value_total%TYPE,
2975 		undef_line_value_total    OKE_K_LINES_SECURE_HV.undef_line_value_total%TYPE,
2976 		--line_value_copy       OKE_K_LINES_SECURE_HV.line_value_copy%TYPE,
2977 		billable_flag         OKE_K_LINES_SECURE_HV.billable_flag%TYPE,
2978 		shippable_flag        OKE_K_LINES_SECURE_HV.shippable_flag%TYPE,
2979 		subcontracted_flag    OKE_K_LINES_SECURE_HV.subcontracted_flag%TYPE,
2980 		drop_shipped_flag     OKE_K_LINES_SECURE_HV.drop_shipped_flag%TYPE,
2981 		completed_flag        OKE_K_LINES_SECURE_HV.completed_flag%TYPE,
2982 		comments              OKE_K_LINES_SECURE_HV.comments%TYPE,
2983 		target_date_definitize    OKE_K_LINES_SECURE_HV.target_date_definitize%TYPE,
2984 		discount_for_payment  OKE_K_LINES_SECURE_HV.discount_for_payment%TYPE,
2985 		cost_of_sale_rate     OKE_K_LINES_SECURE_HV.cost_of_sale_rate%TYPE,
2986 		financial_ctrl_flag   OKE_K_LINES_SECURE_HV.financial_ctrl_flag%TYPE,
2987 		definitized_flag      OKE_K_LINES_SECURE_HV.definitized_flag%TYPE,
2988 		bill_undefinitized_flag   OKE_K_LINES_SECURE_HV.bill_undefinitized_flag%TYPE,
2989 		dcaa_audit_req_flag   OKE_K_LINES_SECURE_HV.dcaa_audit_req_flag%TYPE,
2990 		cost_of_money         OKE_K_LINES_SECURE_HV.cost_of_money%TYPE,
2991 		interim_rpt_req_flag  OKE_K_LINES_SECURE_HV.interim_rpt_req_flag%TYPE,
2992 		nte_warning_flag      OKE_K_LINES_SECURE_HV.nte_warning_flag%TYPE,
2993 		c_ssr_flag            OKE_K_LINES_SECURE_HV.c_ssr_flag%TYPE,
2994 		c_scs_flag            OKE_K_LINES_SECURE_HV.c_scs_flag%TYPE,
2995 		prepayment_amount     OKE_K_LINES_SECURE_HV.prepayment_amount%TYPE,
2996 		prepayment_percentage OKE_K_LINES_SECURE_HV.prepayment_percentage%TYPE,
2997 		progress_payment_flag OKE_K_LINES_SECURE_HV.progress_payment_flag%TYPE,
2998 		progress_payment_rate OKE_K_LINES_SECURE_HV.progress_payment_rate%TYPE,
2999 		progress_payment_liq_rate        OKE_K_LINES_SECURE_HV.progress_payment_liq_rate%TYPE,
3000 		line_liquidation_rate OKE_K_LINES_SECURE_HV.line_liquidation_rate%TYPE,
3001 		boe_description       OKE_K_LINES_SECURE_HV.boe_description%TYPE,
3002 		billing_method        OKE_K_LINES_SECURE_HV.billing_method%TYPE,
3003 		total_estimated_cost  OKE_K_LINES_SECURE_HV.total_estimated_cost%TYPE,
3004 		customer_percent_in_order      OKE_K_LINES_SECURE_HV.customer_percent_in_order%TYPE,
3005 		ceiling_cost          OKE_K_LINES_SECURE_HV.ceiling_cost%TYPE,
3006 		level_of_effort_hours OKE_K_LINES_SECURE_HV.level_of_effort_hours%TYPE,
3007 		award_fee             OKE_K_LINES_SECURE_HV.award_fee%TYPE,
3008 		base_fee              OKE_K_LINES_SECURE_HV.base_fee%TYPE,
3009 		minimum_fee           OKE_K_LINES_SECURE_HV.minimum_fee%TYPE,
3010 		maximum_fee           OKE_K_LINES_SECURE_HV.maximum_fee%TYPE,
3011 		award_fee_pool_amount OKE_K_LINES_SECURE_HV.award_fee_pool_amount%TYPE,
3012 		fixed_fee             OKE_K_LINES_SECURE_HV.fixed_fee%TYPE,
3013 		initial_fee           OKE_K_LINES_SECURE_HV.initial_fee%TYPE,
3014 		final_fee             OKE_K_LINES_SECURE_HV.final_fee%TYPE,
3015 		fee_ajt_formula       OKE_K_LINES_SECURE_HV.fee_ajt_formula%TYPE,
3016 		target_cost           OKE_K_LINES_SECURE_HV.target_cost%TYPE,
3017 		target_fee            OKE_K_LINES_SECURE_HV.target_fee%TYPE,
3018 		target_price          OKE_K_LINES_SECURE_HV.target_price%TYPE,
3019 		ceiling_price         OKE_K_LINES_SECURE_HV.ceiling_price%TYPE,
3020 		cost_overrun_share_ratio    OKE_K_LINES_SECURE_HV.cost_overrun_share_ratio%TYPE,
3021 		cost_underrun_share_ratio   OKE_K_LINES_SECURE_HV.cost_underrun_share_ratio%TYPE,
3022 		final_pft_ajt_formula       OKE_K_LINES_SECURE_HV.final_pft_ajt_formula%TYPE,
3023 		fixed_quantity              OKE_K_LINES_SECURE_HV.fixed_quantity%TYPE,
3024 		minimum_quantity            OKE_K_LINES_SECURE_HV.minimum_quantity%TYPE,
3025 		maximum_quantity            OKE_K_LINES_SECURE_HV.maximum_quantity%TYPE,
3026 		estimated_total_quantity    OKE_K_LINES_SECURE_HV.estimated_total_quantity%TYPE,
3027 		number_of_options           OKE_K_LINES_SECURE_HV.number_of_options%TYPE,
3028 		initial_price               OKE_K_LINES_SECURE_HV.initial_price%TYPE,
3029 		revised_price               OKE_K_LINES_SECURE_HV.revised_price%TYPE,
3030 		material_cost_index         OKE_K_LINES_SECURE_HV.material_cost_index%TYPE,
3031 		labor_cost_index            OKE_K_LINES_SECURE_HV.labor_cost_index%TYPE,
3032 		date_of_price_redetermin    OKE_K_LINES_SECURE_HV.date_of_price_redetermin%TYPE,
3033 		country_of_origin_code       OKE_K_LINES_SECURE_HV.country_of_origin_code%TYPE,
3034 		export_flag                 OKE_K_LINES_SECURE_HV.export_flag%TYPE,
3035 		export_license_num          OKE_K_LINES_SECURE_HV.export_license_num%TYPE,
3036 		export_license_res          OKE_K_LINES_SECURE_HV.export_license_res%TYPE,
3037 		cop_required_flag           OKE_K_LINES_SECURE_HV.cop_required_flag%TYPE,
3038 		inspection_req_flag         OKE_K_LINES_SECURE_HV.inspection_req_flag%TYPE,
3039 		subj_a133_flag              OKE_K_LINES_SECURE_HV.subj_a133_flag%TYPE,
3040 		cfe_flag                    OKE_K_LINES_SECURE_HV.cfe_flag%TYPE,
3041 		customer_approval_req_flag  OKE_K_LINES_SECURE_HV.customer_approval_req_flag%TYPE,
3042 		data_item_name              OKE_K_LINES_SECURE_HV.data_item_name%TYPE,
3043 		data_item_subtitle          OKE_K_LINES_SECURE_HV.data_item_subtitle%TYPE,
3044 		cdrl_category               OKE_K_LINES_SECURE_HV.cdrl_category%TYPE,
3045 		requiring_office            OKE_K_LINES_SECURE_HV.requiring_office%TYPE,
3046 		date_of_first_submission     OKE_K_LINES_SECURE_HV.date_of_first_submission%TYPE,
3047 		frequency                   OKE_K_LINES_SECURE_HV.frequency%TYPE,
3048 		copies_required             OKE_K_LINES_SECURE_HV.copies_required%TYPE
3049 
3050 		);
3051 
3052        r_current_line_1 r_current_line;
3053        r_current_line_2 r_current_line;
3054 
3055        l_numOfSublines NUMBER;
3056        nDeliverables   NUMBER;
3057        full_line_path varchar2(300);
3058 
3059        nCurrent_line_id NUMBER;
3060 
3061        TYPE c_sub_nodes IS REF CURSOR;
3062        v_sub_nodes c_sub_nodes;
3063        c_sub_node OKE_K_LINES_SECURE_HV.parent_line_id%TYPE;
3064 
3065        CURSOR c_nDifferent_lines_1 IS
3066          SELECT ID K_LINE_ID
3067          FROM OKC_K_LINES_BH a
3068          WHERE DNZ_CHR_ID=vHeader_id
3069          AND CLE_ID=vParentLineId
3070          AND MAJOR_VERSION=vVersion1
3071          AND NOT EXISTS
3072        ( SELECT 'x'
3073          FROM OKC_K_LINES_BH b
3074          WHERE b.ID=a.ID
3075          AND CLE_ID=vParentLineId
3076          AND MAJOR_VERSION=vVersion2)
3077          ORDER BY LINE_NUMBER;
3078 
3079        CURSOR c_nDifferent_lines_1_latest IS
3080          SELECT ID K_LINE_ID
3081          FROM OKC_K_LINES_B a
3082          WHERE DNZ_CHR_ID=vHeader_id
3083          AND CLE_ID=vParentLineId
3084          AND NOT EXISTS
3085        ( SELECT 'x'
3086          FROM OKC_K_LINES_BH b
3087          WHERE b.ID=a.ID
3088          AND CLE_ID=vParentLineId
3089          AND MAJOR_VERSION=vVersion2)
3090          ORDER BY LINE_NUMBER;
3091 
3092        CURSOR c_nDifferent_lines_2 IS
3093          SELECT ID K_LINE_ID
3094          FROM OKC_K_LINES_BH a
3095          WHERE DNZ_CHR_ID=vHeader_id
3096          AND CLE_ID=vParentLineId
3097          AND MAJOR_VERSION=vVersion2
3098          AND NOT EXISTS
3099        ( SELECT 'x'
3100          FROM OKC_K_LINES_BH b
3101          WHERE b.ID=a.ID
3102          AND CLE_ID=vParentLineId
3103          AND MAJOR_VERSION=vVersion1)
3104          ORDER BY LINE_NUMBER;
3105 
3106         CURSOR c_nDifferent_lines_2_latest IS
3107          SELECT ID K_LINE_ID
3108          FROM OKC_K_LINES_BH a
3109          WHERE DNZ_CHR_ID=vHeader_id
3110          AND CLE_ID=vParentLineId
3111          AND MAJOR_VERSION=vVersion2
3112          AND NOT EXISTS
3113        ( SELECT 'x'
3114          FROM OKC_K_LINES_B b
3115          WHERE b.ID=a.ID
3116          AND CLE_ID=vParentLineId)
3117          ORDER BY LINE_NUMBER;
3118 
3119       CURSOR c IS
3120        SELECT meaning
3121        FROM   fnd_lookup_values_vl
3122        WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
3123        AND    lookup_code = l_Object
3124        AND    view_application_id=777;
3125 
3126      l_api_name     CONSTANT VARCHAR2(30) := 'comp_sublines';
3127 
3128      BEGIN
3129    IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
3130         FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'Begin comparing sub-lines ...');
3131     END IF;
3132 
3133         L_Attribute_Object_Name :='OKE_K_LINES';
3134         l_Object  :='LINE';
3135 
3136         OPEN c;
3137         FETCH c INTO l_object_type;
3138         CLOSE c;
3139 
3140 	IF L_Latest_Version >=vVersion1 THEN
3141 
3142             FOR c_nDifferent_line IN c_nDifferent_lines_1 LOOP
3143 
3144 
3145               l_object_name:=get_full_path_linenum(c_nDifferent_line.k_line_id,vVersion1);
3146               l_prompt :='';
3147               l_Object  :='NO_LINE';
3148 
3149               OPEN c;
3150               FETCH c INTO l_data2;
3151               CLOSE c;
3152 
3153               l_data1  :='';
3154 
3155               insert_comp_result(vHeader_id,vVersion1,vVersion2);
3156 
3157             END LOOP;
3158 
3159             FOR c_nDifferent_line IN c_nDifferent_lines_2 LOOP
3160 
3161               l_object_name :=get_full_path_linenum(c_nDifferent_line.k_line_id,vVersion2);
3162               l_prompt :='';
3163 
3164 	      l_Object  :='NO_LINE';
3165 
3166               OPEN c;
3167               FETCH c INTO l_data1;
3168               CLOSE c;
3169 
3170               l_data2  :='';
3171 
3172               insert_comp_result(vHeader_id,vVersion1,vVersion2);
3173 
3174             END LOOP;
3175 
3176             OPEN v_sub_nodes FOR
3177               SELECT a.ID K_LINE_ID
3178                FROM  OKC_K_LINES_BH A, OKC_K_LINES_BH B
3179                WHERE a.DNZ_CHR_ID=vHeader_id
3180                  AND a.MAJOR_VERSION=vVersion1
3181                  AND a.CLE_ID=vParentLineId
3182                  AND a.ID = b.ID
3183                  AND b.CLE_ID=vParentLineId
3184                  AND b.MAJOR_VERSION=vVersion2
3185                ORDER BY a.LINE_NUMBER
3186             ;
3187 
3188 
3189         ELSE
3190              FOR c_nDifferent_line IN c_nDifferent_lines_1_latest LOOP
3191               l_object_name:=get_full_path_linenum(c_nDifferent_line.k_line_id);
3192               l_prompt :='';
3193 
3194               l_Object  :='NO_LINE';
3195 
3196               OPEN c;
3197               FETCH c INTO l_data2;
3198               CLOSE c;
3199 
3200               l_data1  :='';
3201 
3202               insert_comp_result(vHeader_id,vVersion1,vVersion2);
3203 
3204             END LOOP;
3205 
3206             FOR c_nDifferent_line IN c_nDifferent_lines_2_latest LOOP
3207               l_object_name :=get_full_path_linenum(c_nDifferent_line.k_line_id);
3208               l_prompt :='';
3209 
3210               l_Object  :='NO_LINE';
3211 
3212               OPEN c;
3213               FETCH c INTO l_data1;
3214               CLOSE c;
3215 
3216               l_data2  :='';
3217 
3218               insert_comp_result(vHeader_id,vVersion1,vVersion2);
3219 
3220             END LOOP;
3221 
3222              OPEN v_sub_nodes FOR
3223                SELECT a.ID K_LINE_ID
3224                 FROM  OKC_K_LINES_B A, OKC_K_LINES_BH B
3225                 WHERE a.DNZ_CHR_ID=vHeader_id
3226                   AND a.CLE_ID=vParentLineId
3227                   AND a.ID = b.ID
3228                   AND b.CLE_ID=vParentLineId
3229                   AND MAJOR_VERSION=vVersion2
3230                 ORDER BY a.LINE_NUMBER
3231              ;
3232 
3233         End IF;
3234 
3235         LOOP
3236 
3237           L_Attribute_Object_Name :='OKE_K_LINES';
3238           l_Object  :='LINE';
3239 
3240           OPEN c;
3241           FETCH c INTO l_object_type;
3242           CLOSE c;
3243 
3244           IF L_Latest_Version >=vVersion1 THEN
3245 		 FETCH v_sub_nodes INTO c_sub_node;
3246                  EXIT WHEN v_sub_nodes%NOTFOUND;
3247 
3248          	 nCurrent_line_id := c_sub_node;
3249 
3250 
3251  	         l_object_name :=get_full_path_linenum(nCurrent_line_id,vVersion1);
3252 
3253                  SELECT
3254 			major_version,
3255 			line_number,
3256 			status,
3257 			line_style,
3258 			project_number,
3259 			task_number,
3260 			start_date,
3261 			end_date,
3262 			delivery_date,
3263 			proposal_due_date,
3264 			item_number,
3265 			--item_description,
3266 			line_description,
3267 			customer_item_number,
3268 			nsn_number,
3269 			nsp_flag,
3270 			line_quantity,
3271 			uom_code,
3272 			unit_price,
3273 			undef_unit_price,
3274 			line_value,
3275 			undef_line_value,
3276 			line_value_total,
3277 			undef_line_value_total,
3278                         --line_value_copy,
3279 			billable_flag,
3280 			shippable_flag,
3281 			subcontracted_flag,
3282 			drop_shipped_flag,
3283 			completed_flag,
3284 			comments,
3285 			target_date_definitize,
3286 			discount_for_payment,
3287 			cost_of_sale_rate,
3288 			financial_ctrl_flag,
3289 			definitized_flag,
3290 			bill_undefinitized_flag,
3291 			dcaa_audit_req_flag,
3292 			cost_of_money,
3293 			interim_rpt_req_flag,
3294 			nte_warning_flag,
3295 			c_ssr_flag,
3296 			c_scs_flag,
3297 			prepayment_amount,
3298 			prepayment_percentage,
3299 			progress_payment_flag,
3300 			progress_payment_rate,
3301 			progress_payment_liq_rate,
3302 			line_liquidation_rate,
3303 			boe_description,
3304 			billing_method,
3305 			total_estimated_cost,
3306 			customer_percent_in_order,
3307 			ceiling_cost,
3308 			level_of_effort_hours,
3309 			award_fee,
3310 			base_fee,
3311 			minimum_fee,
3312 			maximum_fee,
3313 			award_fee_pool_amount,
3314 			fixed_fee,
3315 			initial_fee,
3316 			final_fee,
3317 			fee_ajt_formula,
3318 			target_cost,
3319 			target_fee,
3320 			target_price,
3321 			ceiling_price,
3322 			cost_overrun_share_ratio,
3323 			cost_underrun_share_ratio,
3324 			final_pft_ajt_formula,
3325 			fixed_quantity,
3326 			minimum_quantity,
3327 			maximum_quantity,
3328 			estimated_total_quantity,
3329 			number_of_options,
3330 			initial_price,
3331 			revised_price,
3332 			material_cost_index,
3333 			labor_cost_index,
3334 			date_of_price_redetermin,
3335 			country_of_origin_code,
3336 			export_flag,
3337 			export_license_num,
3338 			export_license_res,
3339 			cop_required_flag,
3340 			inspection_req_flag,
3341 			subj_a133_flag,
3342 			cfe_flag,
3343 			customer_approval_req_flag,
3344 			data_item_name,
3345 			data_item_subtitle,
3346 			cdrl_category,
3347 			requiring_office,
3348 			date_of_first_submission,
3349 			frequency,
3350 			copies_required
3351 
3352 
3353         INTO r_current_line_1
3354         FROM OKE_K_LINES_SECURE_HV
3355         WHERE K_LINE_ID=c_sub_node
3356         AND MAJOR_VERSION= vVersion1;
3357 
3358 --dbms_output.put_line('In HISTORY subline id '||r_current_line_1.line_number);
3359 
3360 	ELSE
3361 		FETCH v_sub_nodes INTO c_sub_node;
3362                 EXIT WHEN v_sub_nodes%NOTFOUND;
3363 		nCurrent_line_id :=c_sub_node;
3364 
3365     	 l_object_name :=get_full_path_linenum(nCurrent_line_id);
3366 
3367 	 	 SELECT
3368 			major_version,
3369 			line_number,
3370 			status,
3371 			line_style,
3372 			project_number,
3373 			task_number,
3374 			start_date,
3375 			end_date,
3376 			delivery_date,
3377 			proposal_due_date,
3378 			item_number,
3379 			--item_description,
3380 			line_description,
3381 			customer_item_number,
3382 			nsn_number,
3383 			nsp_flag,
3384 			line_quantity,
3385 			uom_code,
3386 			unit_price,
3387 			undef_unit_price,
3388 			line_value,
3389 			undef_line_value,
3390 			line_value_total,
3391 			undef_line_value_total,
3392 			--line_value_copy,
3393 			billable_flag,
3394 			shippable_flag,
3395 			subcontracted_flag,
3396 			drop_shipped_flag,
3397 			completed_flag,
3398 			comments,
3399 			target_date_definitize,
3400 			discount_for_payment,
3401 			cost_of_sale_rate,
3402 			financial_ctrl_flag,
3403 			definitized_flag,
3404 			bill_undefinitized_flag,
3405 			dcaa_audit_req_flag,
3406 			cost_of_money,
3407 			interim_rpt_req_flag,
3408 			nte_warning_flag,
3409 			c_ssr_flag,
3410 			c_scs_flag,
3411 			prepayment_amount,
3412 			prepayment_percentage,
3413 			progress_payment_flag,
3414 			progress_payment_rate,
3415 			progress_payment_liq_rate,
3416 			line_liquidation_rate,
3417 			boe_description,
3418 			billing_method,
3419 			total_estimated_cost,
3420 			customer_percent_in_order,
3421 			ceiling_cost,
3422 			level_of_effort_hours,
3423 			award_fee,
3424 			base_fee,
3425 			minimum_fee,
3426 			maximum_fee,
3427 			award_fee_pool_amount,
3428 			fixed_fee,
3429 			initial_fee,
3430 			final_fee,
3431 			fee_ajt_formula,
3432 			target_cost,
3433 			target_fee,
3434 			target_price,
3435 			ceiling_price,
3436 			cost_overrun_share_ratio,
3437 			cost_underrun_share_ratio,
3438 			final_pft_ajt_formula,
3439 			fixed_quantity,
3440 			minimum_quantity,
3441 			maximum_quantity,
3442 			estimated_total_quantity,
3443 			number_of_options,
3444 			initial_price,
3445 			revised_price,
3446 			material_cost_index,
3447 			labor_cost_index,
3448 			date_of_price_redetermin,
3449 			country_of_origin_code,
3450 			export_flag,
3451 			export_license_num,
3452 			export_license_res,
3453 			cop_required_flag,
3454 			inspection_req_flag,
3455 			subj_a133_flag,
3456 			cfe_flag,
3457 			customer_approval_req_flag,
3458 			data_item_name,
3459 			data_item_subtitle,
3460 			cdrl_category,
3461 			requiring_office,
3462 			date_of_first_submission,
3463 			frequency,
3464 			copies_required
3465 
3466 
3467         INTO r_current_line_1
3468         FROM OKE_K_LINES_SECURE_V
3469         WHERE K_LINE_ID=c_sub_node;
3470 
3471         --dbms_output.put_line('In LATEST  subline id '||r_current_line_1.line_number);
3472 
3473 	END IF;
3474 
3475 
3476         SELECT
3477 			major_version,
3478 			line_number,
3479 			status,
3480 			line_style,
3481 			project_number,
3482 			task_number,
3483 			start_date,
3484 			end_date,
3485 			delivery_date,
3486 			proposal_due_date,
3487 			item_number,
3488 			--item_description,
3489 			line_description,
3490 			customer_item_number,
3491 			nsn_number,
3492 			nsp_flag,
3493 			line_quantity,
3494 			uom_code,
3495 			unit_price,
3496 			undef_unit_price,
3497 			line_value,
3498 			undef_line_value,
3499 			line_value_total,
3500 			undef_line_value_total,
3501 			--line_value_copy,
3502 			billable_flag,
3503 			shippable_flag,
3504 			subcontracted_flag,
3505 			drop_shipped_flag,
3506 			completed_flag,
3507 			comments,
3508 			target_date_definitize,
3509 			discount_for_payment,
3510 			cost_of_sale_rate,
3511 			financial_ctrl_flag,
3512 			definitized_flag,
3513 			bill_undefinitized_flag,
3514 			dcaa_audit_req_flag,
3515 			cost_of_money,
3516 			interim_rpt_req_flag,
3517 			nte_warning_flag,
3518 			c_ssr_flag,
3519 			c_scs_flag,
3520 			prepayment_amount,
3521 			prepayment_percentage,
3522 			progress_payment_flag,
3523 			progress_payment_rate,
3524 			progress_payment_liq_rate,
3525 			line_liquidation_rate,
3526 			boe_description,
3527 			billing_method,
3528 			total_estimated_cost,
3529 			customer_percent_in_order,
3530 			ceiling_cost,
3531 			level_of_effort_hours,
3532 			award_fee,
3533 			base_fee,
3534 			minimum_fee,
3535 			maximum_fee,
3536 			award_fee_pool_amount,
3537 			fixed_fee,
3538 			initial_fee,
3539 			final_fee,
3540 			fee_ajt_formula,
3541 			target_cost,
3542 			target_fee,
3543 			target_price,
3544 			ceiling_price,
3545 			cost_overrun_share_ratio,
3546 			cost_underrun_share_ratio,
3547 			final_pft_ajt_formula,
3548 			fixed_quantity,
3549 			minimum_quantity,
3550 			maximum_quantity,
3551 			estimated_total_quantity,
3552 			number_of_options,
3553 			initial_price,
3554 			revised_price,
3555 			material_cost_index,
3556 			labor_cost_index,
3557 			date_of_price_redetermin,
3558 			country_of_origin_code,
3559 			export_flag,
3560 			export_license_num,
3561 			export_license_res,
3562 			cop_required_flag,
3563 			inspection_req_flag,
3564 			subj_a133_flag,
3565 			cfe_flag,
3566 			customer_approval_req_flag,
3567 			data_item_name,
3568 			data_item_subtitle,
3569 			cdrl_category,
3570 			requiring_office,
3571 			date_of_first_submission,
3572 			frequency,
3573 			copies_required
3574 
3575         INTO r_current_line_2
3576         FROM OKE_K_LINES_SECURE_HV
3577         WHERE K_LINE_ID=c_sub_node
3578         AND MAJOR_VERSION= vVersion2;
3579 
3580         IF (r_current_line_1.line_number <> r_current_line_2.line_number )
3581             OR( NOT((r_current_line_1.line_number is null)and(r_current_line_2.line_number is null))
3582              AND ((r_current_line_1.line_number is null)or(r_current_line_2.line_number is null)))THEN
3583            l_prompt :='LINE_NUMBER';
3584            l_data1  :=r_current_line_1.line_number;
3585            l_data2  :=r_current_line_2.line_number;
3586 
3587         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3588         END IF;
3589 
3590         IF (r_current_line_1.status  <>r_current_line_2.status )
3591 	    OR( NOT((r_current_line_1.status is null)and(r_current_line_2.status is null))
3592              AND ((r_current_line_1.status is null)or(r_current_line_2.status is null)))THEN
3593            l_prompt :='STATUS';
3594            l_data1  :=r_current_line_1.status;
3595            l_data2  :=r_current_line_2.status;
3596         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3597         END IF;
3598 
3599         IF (r_current_line_1.line_style <>r_current_line_2.line_style )
3600 	     OR( NOT((r_current_line_1.line_style is null)and(r_current_line_2.line_style is null))
3601              AND ((r_current_line_1.line_style is null)or(r_current_line_2.line_style is null)))THEN
3602            l_prompt :='LINE_STYLE';
3603            l_data1  :=r_current_line_1.line_style;
3604            l_data2  :=r_current_line_2.line_style;
3605 
3606         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3607         END IF;
3608 
3609         IF (r_current_line_1.project_number <>r_current_line_2.project_number )
3610              OR( NOT((r_current_line_1.project_number is null)and(r_current_line_2.project_number is null))
3611              AND ((r_current_line_1.project_number is null)or(r_current_line_2.project_number is null)))THEN
3612            l_prompt :='PROJECT_NUMBER';
3613            l_data1  :=r_current_line_1.project_number;
3614            l_data2  :=r_current_line_2.project_number;
3615 
3616            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3617         END IF;
3618 
3619         IF (r_current_line_1.task_number <>r_current_line_2.task_number )
3620 	     OR( NOT((r_current_line_1.task_number is null)and(r_current_line_2.task_number is null))
3621              AND ((r_current_line_1.task_number is null)or(r_current_line_2.task_number is null)))THEN
3622            l_prompt :='TASK_NUMBER';
3623            l_data1  :=r_current_line_1.task_number;
3624            l_data2  :=r_current_line_2.task_number;
3625 
3626         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3627         END IF;
3628 
3629         IF (r_current_line_1.start_date <>r_current_line_2.start_date )
3630 	     OR( NOT((r_current_line_1.start_date is null)and(r_current_line_2.start_date is null))
3631              AND ((r_current_line_1.start_date is null)or(r_current_line_2.start_date is null)))THEN
3632            l_prompt :='START_DATE';
3633            l_data1  :=r_current_line_1.start_date;
3634            l_data2  :=r_current_line_2.start_date;
3635         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3636         END IF;
3637 
3638         IF (r_current_line_1.end_date <>r_current_line_2.end_date )
3639 		 OR( NOT((r_current_line_1.end_date is null)and(r_current_line_2.end_date is null))
3640              AND ((r_current_line_1.end_date is null)or(r_current_line_2.end_date is null)))THEN
3641            l_prompt :='END_DATE';
3642            l_data1  :=r_current_line_1.end_date;
3643            l_data2  :=r_current_line_2.end_date;
3644 
3645         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3646         END IF;
3647 
3648         IF (r_current_line_1.delivery_date <>r_current_line_2.delivery_date )
3649 		 OR( NOT((r_current_line_1.delivery_date is null)and(r_current_line_2.delivery_date is null))
3650              AND ((r_current_line_1.delivery_date is null)or(r_current_line_2.delivery_date is null)))THEN
3651            l_prompt :='DELIVERY_DATE';
3652            l_data1  :=r_current_line_1.delivery_date;
3653            l_data2  :=r_current_line_2.delivery_date;
3654 
3655            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3656         END IF;
3657 
3658         IF (r_current_line_1.proposal_due_date <>r_current_line_2.proposal_due_date )
3659 		 OR( NOT((r_current_line_1.proposal_due_date is null)and(r_current_line_2.proposal_due_date is null))
3660              AND ((r_current_line_1.proposal_due_date is null)or(r_current_line_2.proposal_due_date is null)))THEN
3661            l_prompt :='PROPOSAL_DUE_DATE';
3662            l_data1  :=r_current_line_1.proposal_due_date;
3663            l_data2  :=r_current_line_2.proposal_due_date;
3664 
3665         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3666         END IF;
3667 
3668         IF (r_current_line_1.item_number <>r_current_line_2.item_number )
3669 		 OR( NOT((r_current_line_1.item_number is null)and(r_current_line_2.item_number is null))
3670              AND ((r_current_line_1.item_number is null)or(r_current_line_2.item_number is null)))THEN
3671            l_prompt :='ITEM_NUMBER';
3672            l_data1  :=r_current_line_1.item_number;
3673            l_data2  :=r_current_line_2.item_number;
3674         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3675         END IF;
3676 /*
3677         IF r_current_line_1.item_description <>r_current_line_2.item_description THEN
3678            l_prompt :='item_description';
3679            l_data1  :=r_current_line_1.item_description;
3680            l_data2  :=r_current_line_2.item_description;
3681 
3682         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3683         END IF;
3684 */
3685 
3686         IF (r_current_line_1.line_description <>r_current_line_2.line_description )
3687 		 OR( NOT((r_current_line_1.line_description is null)and(r_current_line_2.line_description is null))
3688              AND ((r_current_line_1.line_description is null)or(r_current_line_2.line_description is null)))THEN
3689            l_prompt :='LINE_DESCRIPTION';
3690            l_data1  :=r_current_line_1.line_description;
3691            l_data2  :=r_current_line_2.line_description;
3692         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3693         END IF;
3694 
3695 
3696         IF (r_current_line_1.customer_item_number <>r_current_line_2.customer_item_number )
3697 		 OR( NOT((r_current_line_1.customer_item_number is null)and(r_current_line_2.customer_item_number is null))
3698              AND ((r_current_line_1.customer_item_number is null)or(r_current_line_2.customer_item_number is null)))THEN
3699            l_prompt :='CUSTOMER_ITEM_NUMBER';
3700            l_data1  :=r_current_line_1.customer_item_number;
3701            l_data2  :=r_current_line_2.customer_item_number;
3702 
3703            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3704         END IF;
3705 
3706         IF (r_current_line_1.nsn_number <>r_current_line_2.nsn_number )
3707 		 OR( NOT((r_current_line_1.nsn_number is null)and(r_current_line_2.nsn_number is null))
3708              AND ((r_current_line_1.nsn_number is null)or(r_current_line_2.nsn_number is null)))THEN
3709            l_prompt :='NSN_NUMBER';
3710            l_data1  :=r_current_line_1.nsn_number;
3711            l_data2  :=r_current_line_2.nsn_number;
3712 
3713         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3714         END IF;
3715 
3716         IF ((r_current_line_1.nsp_flag = 'Y') AND (NVL(r_current_line_2.nsp_flag,' ')<>'Y'))
3717 	 OR((r_current_line_2.nsp_flag = 'Y') AND (NVL(r_current_line_1.nsp_flag,' ')<>'Y'))THEN
3718            l_prompt :='NSP_YN';
3719            l_data1  :=r_current_line_1.nsp_flag;
3720            l_data2  :=r_current_line_2.nsp_flag;
3721         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3722         END IF;
3723 
3724         IF (r_current_line_1.line_quantity <>r_current_line_2.line_quantity )
3725 		 OR( NOT((r_current_line_1.line_quantity is null)and(r_current_line_2.line_quantity is null))
3726              AND ((r_current_line_1.line_quantity is null)or(r_current_line_2.line_quantity is null)))THEN
3727            l_prompt :='LINE_QUANTITY';
3728            l_data1  :=r_current_line_1.line_quantity;
3729            l_data2  :=r_current_line_2.line_quantity;
3730 
3731         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3732         END IF;
3733 
3734         IF (r_current_line_1.uom_code <>r_current_line_2.uom_code )
3735 		 OR( NOT((r_current_line_1.uom_code is null)and(r_current_line_2.uom_code is null))
3736              AND ((r_current_line_1.uom_code is null)or(r_current_line_2.uom_code is null)))THEN
3737            l_prompt :='UOM_CODE';
3738            l_data1  :=r_current_line_1.uom_code;
3739            l_data2  :=r_current_line_2.uom_code;
3740 
3741            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3742         END IF;
3743 
3744         IF (r_current_line_1.unit_price <>r_current_line_2.unit_price)
3745 		 OR( NOT((r_current_line_1.unit_price is null)and(r_current_line_2.unit_price is null))
3746              AND ((r_current_line_1.unit_price is null)or(r_current_line_2.unit_price is null)))THEN
3747           l_prompt :='UNIT_PRICE';
3748           SET_PRICE_DIFF_DATA( r_current_line_1.unit_price, r_current_line_2.unit_price );
3749           insert_comp_result(vHeader_id,vVersion1,vVersion2);
3750         END IF;
3751 
3752         IF (r_current_line_1.undef_unit_price <>r_current_line_2.undef_unit_price )
3753 		 OR( NOT((r_current_line_1.undef_unit_price is null)and(r_current_line_2.undef_unit_price is null))
3754              AND ((r_current_line_1.undef_unit_price is null)or(r_current_line_2.undef_unit_price is null)))THEN
3755           l_prompt :='UNDEF_UNIT_PRICE';
3756           SET_PRICE_DIFF_DATA( r_current_line_1.undef_unit_price, r_current_line_2.undef_unit_price );
3757           insert_comp_result(vHeader_id,vVersion1,vVersion2);
3758         END IF;
3759 
3760         IF (r_current_line_1.line_value_total <>r_current_line_2.line_value_total )
3761 		 OR( NOT((r_current_line_1.line_value_total is null)and(r_current_line_2.line_value_total is null))
3762              AND ((r_current_line_1.line_value_total is null)or(r_current_line_2.line_value_total is null)))THEN
3763           l_prompt :='LINE_VALUE_TOTAL';
3764           SET_AMOUNT_DIFF_DATA( r_current_line_1.line_value_total, r_current_line_2.line_value_total );
3765           insert_comp_result(vHeader_id,vVersion1,vVersion2);
3766         END IF;
3767 
3768         IF (r_current_line_1.undef_line_value_total <>r_current_line_2.undef_line_value_total )
3769 		 OR( NOT((r_current_line_1.undef_line_value_total is null)and(r_current_line_2.undef_line_value_total is null))
3770              AND ((r_current_line_1.undef_line_value_total is null)or(r_current_line_2.undef_line_value_total is null)))THEN
3771            l_prompt :='UNDEF_LINE_VALUE_TOTAL';
3772            SET_AMOUNT_DIFF_DATA( r_current_line_1.undef_line_value_total, r_current_line_2.undef_line_value_total );
3773            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3774         END IF;
3775 /*
3776         IF r_current_line_1.line_value_copy <>r_current_line_2.line_value_copy THEN
3777            l_prompt :='LINE_VALUE_COPY';
3778            l_data1  :=r_current_line_1.line_value_copy;
3779            l_data2  :=r_current_line_2.line_value_copy;
3780 
3781         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3782         END IF;
3783 */
3784         IF ((r_current_line_1.BILLABLE_FLAG = 'Y') AND (NVL(r_current_line_2.BILLABLE_FLAG,' ')<>'Y'))
3785 	 OR((r_current_line_2.BILLABLE_FLAG = 'Y') AND (NVL(r_current_line_1.BILLABLE_FLAG,' ')<>'Y'))  THEN
3786            l_prompt :='BILLABLE_YN';
3787            l_data1  :=r_current_line_1.billable_flag;
3788            l_data2  :=r_current_line_2.billable_flag;
3789 
3790         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3791         END IF;
3792 
3793         IF ((r_current_line_1.SHIPPABLE_FLAG = 'Y') AND (NVL(r_current_line_2.SHIPPABLE_FLAG,' ')<>'Y'))
3794 	 OR((r_current_line_2.SHIPPABLE_FLAG = 'Y') AND (NVL(r_current_line_1.SHIPPABLE_FLAG,' ')<>'Y'))  THEN
3795            l_prompt :='SHIPPABLE_YN';
3796            l_data1  :=r_current_line_1.SHIPPABLE_FLAG;
3797            l_data2  :=r_current_line_2.SHIPPABLE_FLAG;
3798 
3799         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3800         END IF;
3801 
3802         IF ((r_current_line_1.subcontracted_flag = 'Y') AND (NVL(r_current_line_2.subcontracted_flag,' ')<>'Y'))
3803 	 OR((r_current_line_2.subcontracted_flag = 'Y') AND (NVL(r_current_line_1.subcontracted_flag,' ')<>'Y'))THEN
3804            l_prompt :='SUBCONTRACTED_YN';
3805            l_data1  :=r_current_line_1.subcontracted_flag;
3806            l_data2  :=r_current_line_2.subcontracted_flag;
3807 
3808            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3809         END IF;
3810 
3811         IF ((r_current_line_1.drop_shipped_flag = 'Y') AND (NVL(r_current_line_2.drop_shipped_flag,' ')<>'Y'))
3812 	 OR((r_current_line_2.drop_shipped_flag = 'Y') AND (NVL(r_current_line_1.drop_shipped_flag,' ')<>'Y'))THEN
3813            l_prompt :='DROP_SHIPPED_YN';
3814            l_data1  :=r_current_line_1.drop_shipped_flag;
3815            l_data2  :=r_current_line_2.drop_shipped_flag;
3816 
3817         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3818         END IF;
3819 
3820         IF ((r_current_line_1.COMPLETED_FLAG = 'Y') AND (NVL(r_current_line_2.COMPLETED_FLAG,' ')<>'Y'))
3821 	 OR((r_current_line_2.COMPLETED_FLAG = 'Y') AND (NVL(r_current_line_1.COMPLETED_FLAG,' ')<>'Y')) THEN
3822            l_prompt :='COMPLETED_YN';
3823            l_data1  :=r_current_line_1.completed_flag;
3824            l_data2  :=r_current_line_2.completed_flag;
3825 
3826         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3827         END IF;
3828 
3829         IF (r_current_line_1.comments <>r_current_line_2.comments )
3830 		OR( NOT((r_current_line_1.comments is null)and(r_current_line_2.comments is null))
3831              AND ((r_current_line_1.comments is null)or(r_current_line_2.comments is null)))THEN
3832            l_prompt :='COMMENTS';
3833            l_data1  :=r_current_line_1.comments;
3834            l_data2  :=r_current_line_2.comments;
3835 
3836         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3837         END IF;
3838 
3839 
3840         IF (r_current_line_1.target_date_definitize <>r_current_line_2.target_date_definitize )
3841 		 OR( NOT((r_current_line_1.target_date_definitize is null)and(r_current_line_2.target_date_definitize is null))
3842              AND ((r_current_line_1.target_date_definitize is null)or(r_current_line_2.target_date_definitize is null)))THEN
3843            l_prompt :='TARGET_DATE_DEFINITIZE';
3844            l_data1  :=r_current_line_1.target_date_definitize;
3845            l_data2  :=r_current_line_2.target_date_definitize;
3846 
3847            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3848         END IF;
3849 
3850         IF (r_current_line_1.discount_for_payment <>r_current_line_2.discount_for_payment )
3851 		 OR( NOT((r_current_line_1.discount_for_payment is null)and(r_current_line_2.discount_for_payment is null))
3852              AND ((r_current_line_1.discount_for_payment is null)or(r_current_line_2.discount_for_payment is null)))THEN
3853           l_prompt :='DISCOUNT_FOR_PAYMENT';
3854           l_data1  :=r_current_line_1.discount_for_payment;
3855           l_data2  :=r_current_line_2.discount_for_payment;
3856           insert_comp_result(vHeader_id,vVersion1,vVersion2);
3857         END IF;
3858 
3859         IF (r_current_line_1.cost_of_sale_rate <>r_current_line_2.cost_of_sale_rate)
3860 		 OR( NOT((r_current_line_1.cost_of_sale_rate is null)and(r_current_line_2.cost_of_sale_rate is null))
3861              AND ((r_current_line_1.cost_of_sale_rate is null)or(r_current_line_2.cost_of_sale_rate is null)))THEN
3862            l_prompt :='COST_OF_SALE_RATE';
3863            l_data1  :=r_current_line_1.cost_of_sale_rate;
3864            l_data2  :=r_current_line_2.cost_of_sale_rate;
3865         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3866         END IF;
3867 
3868         IF ((r_current_line_1.financial_ctrl_flag = 'Y') AND (NVL(r_current_line_2.financial_ctrl_flag,' ')<>'Y'))
3869 	 OR((r_current_line_2.financial_ctrl_flag = 'Y') AND (NVL(r_current_line_1.financial_ctrl_flag,' ')<>'Y')) THEN
3870            l_prompt :='FINANCIAL_CTRL_YN';
3871            l_data1  :=r_current_line_1.financial_ctrl_flag;
3872            l_data2  :=r_current_line_2.financial_ctrl_flag;
3873 
3874         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3875         END IF;
3876 
3877         IF ((r_current_line_1.definitized_flag = 'Y') AND (NVL(r_current_line_2.definitized_flag,' ')<>'Y'))
3878 	 OR((r_current_line_2.definitized_flag = 'Y') AND (NVL(r_current_line_1.definitized_flag,' ')<>'Y')) THEN
3879 
3880            l_prompt :='DEFINITIZED_YN';
3881            l_data1  :=r_current_line_1.definitized_flag;
3882            l_data2  :=r_current_line_2.definitized_flag;
3883 
3884            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3885         END IF;
3886 
3887         IF ((r_current_line_1.BILL_UNDEFINITIZED_FLAG = 'Y') AND (NVL(r_current_line_2.BILL_UNDEFINITIZED_FLAG,' ')<>'Y'))
3888 	 OR((r_current_line_2.BILL_UNDEFINITIZED_FLAG = 'Y') AND (NVL(r_current_line_1.BILL_UNDEFINITIZED_FLAG,' ')<>'Y'))THEN
3889 
3890            l_prompt :='BILL_UNDEFINITIZED_YN';
3891            l_data1  :=r_current_line_1.bill_undefinitized_flag;
3892            l_data2  :=r_current_line_2.bill_undefinitized_flag;
3893 
3894         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3895         END IF;
3896 
3897         IF ((r_current_line_1.DCAA_AUDIT_REQ_FLAG = 'Y') AND (NVL(r_current_line_2.DCAA_AUDIT_REQ_FLAG,' ')<>'Y'))
3898 	 OR((r_current_line_2.DCAA_AUDIT_REQ_FLAG = 'Y') AND (NVL(r_current_line_1.DCAA_AUDIT_REQ_FLAG,' ')<>'Y'))THEN
3899 
3900            l_prompt :='DCAA_AUDIT_REQ_YN';
3901            l_data1  :=r_current_line_1.dcaa_audit_req_flag;
3902            l_data2  :=r_current_line_2.dcaa_audit_req_flag;
3903         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3904         END IF;
3905 
3906         IF (r_current_line_1.cost_of_money <>r_current_line_2.cost_of_money )
3907 		 OR( NOT((r_current_line_1.cost_of_money is null)and(r_current_line_2.cost_of_money is null))
3908              AND ((r_current_line_1.cost_of_money is null)or(r_current_line_2.cost_of_money is null)))THEN
3909            l_prompt :='COST_OF_MONEY_YN';
3910            l_data1  :=r_current_line_1.cost_of_money;
3911            l_data2  :=r_current_line_2.cost_of_money;
3912 
3913         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3914         END IF;
3915 
3916         IF ((r_current_line_1.interim_rpt_req_flag = 'Y') AND (NVL(r_current_line_2.interim_rpt_req_flag,' ')<>'Y'))
3917 	 OR((r_current_line_2.interim_rpt_req_flag = 'Y') AND (NVL(r_current_line_1.interim_rpt_req_flag,' ')<>'Y'))THEN
3918 
3919            l_prompt :='INTERIM_RPT_REQ_YN';
3920            l_data1  :=r_current_line_1.interim_rpt_req_flag;
3921            l_data2  :=r_current_line_2.interim_rpt_req_flag;
3922 
3923            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3924         END IF;
3925 
3926         IF ((r_current_line_1.nte_warning_flag = 'Y') AND (NVL(r_current_line_2.nte_warning_flag,' ')<>'Y'))
3927 	 OR((r_current_line_2.nte_warning_flag = 'Y') AND (NVL(r_current_line_1.nte_warning_flag,' ')<>'Y'))THEN
3928 
3929            l_prompt :='NTE_WARNING_YN';
3930            l_data1  :=r_current_line_1.nte_warning_flag;
3931            l_data2  :=r_current_line_2.nte_warning_flag;
3932 
3933         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3934         END IF;
3935 
3936         IF ((r_current_line_1.c_ssr_flag = 'Y') AND (NVL(r_current_line_2.c_ssr_flag,' ')<>'Y'))
3937 	 OR((r_current_line_2.c_ssr_flag = 'Y') AND (NVL(r_current_line_1.c_ssr_flag,' ')<>'Y')) THEN
3938 
3939            l_prompt :='C_SSR_YN';
3940            l_data1  :=r_current_line_1.c_ssr_flag;
3941            l_data2  :=r_current_line_2.c_ssr_flag;
3942         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3943         END IF;
3944 
3945         IF ((r_current_line_1.c_scs_flag = 'Y') AND (NVL(r_current_line_2.c_scs_flag,' ')<>'Y'))
3946 	 OR((r_current_line_2.c_scs_flag = 'Y') AND (NVL(r_current_line_1.c_scs_flag,' ')<>'Y'))THEN
3947 
3948            l_prompt :='C_SCS_YN';
3949            l_data1  :=r_current_line_1.c_scs_flag;
3950            l_data2  :=r_current_line_2.c_scs_flag;
3951 
3952         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3953         END IF;
3954 
3955         IF (r_current_line_1.prepayment_amount <>r_current_line_2.prepayment_amount )
3956 		 OR( NOT((r_current_line_1.prepayment_amount is null)and(r_current_line_2.prepayment_amount is null))
3957              AND ((r_current_line_1.prepayment_amount is null)or(r_current_line_2.prepayment_amount is null)))THEN
3958            l_prompt :='PREPAYMENT_AMOUNT';
3959            SET_AMOUNT_DIFF_DATA( r_current_line_1.prepayment_amount, r_current_line_2.prepayment_amount );
3960            insert_comp_result(vHeader_id,vVersion1,vVersion2);
3961         END IF;
3962 
3963         IF (r_current_line_1.prepayment_percentage <>r_current_line_2.prepayment_percentage )
3964 		 OR( NOT((r_current_line_1.prepayment_percentage is null)and(r_current_line_2.prepayment_percentage is null))
3965              AND ((r_current_line_1.prepayment_percentage is null)or(r_current_line_2.prepayment_percentage is null)))THEN
3966            l_prompt :='PREPAYMENT_PERCENTAGE';
3967            l_data1  :=r_current_line_1.prepayment_percentage;
3968            l_data2  :=r_current_line_2.prepayment_percentage;
3969 
3970         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3971         END IF;
3972 
3973         IF ((r_current_line_1.progress_payment_flag = 'Y') AND (NVL(r_current_line_2.progress_payment_flag,' ')<>'Y'))
3974 	 OR((r_current_line_2.progress_payment_flag = 'Y') AND (NVL(r_current_line_1.progress_payment_flag,' ')<>'Y'))THEN
3975 
3976            l_prompt :='PROGRESS_PAYMENT_YN';
3977            l_data1  :=r_current_line_1.progress_payment_flag;
3978            l_data2  :=r_current_line_2.progress_payment_flag;
3979         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3980         END IF;
3981 
3982         IF (r_current_line_1.progress_payment_rate <>r_current_line_2.progress_payment_rate )
3983 		 OR( NOT((r_current_line_1.progress_payment_rate is null)and(r_current_line_2.progress_payment_rate is null))
3984              AND ((r_current_line_1.progress_payment_rate is null)or(r_current_line_2.progress_payment_rate is null)))THEN
3985            l_prompt :='PROGRESS_PAYMENT_RATE';
3986            l_data1  :=r_current_line_1.progress_payment_rate;
3987            l_data2  :=r_current_line_2.progress_payment_rate;
3988 
3989         insert_comp_result(vHeader_id,vVersion1,vVersion2);
3990         END IF;
3991 
3992 
3993         IF (r_current_line_1.progress_payment_liq_rate <>r_current_line_2.progress_payment_liq_rate )
3994 		 OR( NOT((r_current_line_1.progress_payment_liq_rate is null)and(r_current_line_2.progress_payment_liq_rate is null))
3995              AND ((r_current_line_1.progress_payment_liq_rate is null)or(r_current_line_2.progress_payment_liq_rate is null)))THEN
3996            l_prompt :='PROGRESS_PAYMENT_LIQ_RATE';
3997            l_data1  :=r_current_line_1.progress_payment_liq_rate;
3998            l_data2  :=r_current_line_2.progress_payment_liq_rate;
3999 
4000            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4001         END IF;
4002 
4003         IF (r_current_line_1.line_liquidation_rate <>r_current_line_2.line_liquidation_rate )
4004 		 OR( NOT((r_current_line_1.line_liquidation_rate is null)and(r_current_line_1.line_liquidation_rate is null))
4005              AND ((r_current_line_1.line_liquidation_rate is null)or(r_current_line_1.line_liquidation_rate is null)))THEN
4006            l_prompt :='LINE_LIQUIDATION_RATE';
4007            l_data1  :=r_current_line_1.line_liquidation_rate;
4008            l_data2  :=r_current_line_2.line_liquidation_rate;
4009 
4010         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4011         END IF;
4012 
4013         IF (r_current_line_1.boe_description <>r_current_line_2.boe_description )
4014 		 OR( NOT((r_current_line_1.boe_description is null)and(r_current_line_2.boe_description is null))
4015              AND ((r_current_line_1.boe_description is null)or(r_current_line_2.boe_description is null)))THEN
4016            l_prompt :='BOE_DESCRIPTION';
4017            l_data1  :=r_current_line_1.boe_description;
4018            l_data2  :=r_current_line_2.boe_description;
4019         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4020         END IF;
4021 
4022         IF (r_current_line_1.billing_method <>r_current_line_2.billing_method )
4023 		 OR( NOT((r_current_line_1.billing_method is null)and(r_current_line_2.billing_method is null))
4024              AND ((r_current_line_1.billing_method is null)or(r_current_line_2.billing_method is null)))THEN
4025            l_prompt :='BILLING_METHOD';
4026            l_data1  :=r_current_line_1.billing_method;
4027            l_data2  :=r_current_line_2.billing_method;
4028 
4029         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4030         END IF;
4031 
4032 ------
4033         IF (r_current_line_1.total_estimated_cost <>r_current_line_2.total_estimated_cost )
4034 		 OR( NOT((r_current_line_1.total_estimated_cost is null)and(r_current_line_2.total_estimated_cost is null))
4035              AND ((r_current_line_1.total_estimated_cost is null)or(r_current_line_2.total_estimated_cost is null)))THEN
4036            l_prompt :='TOTAL_ESTIMATED_COST';
4037            l_data1  :=r_current_line_1.total_estimated_cost;
4038            l_data2  :=r_current_line_2.total_estimated_cost;
4039 
4040            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4041         END IF;
4042 
4043         IF (r_current_line_1.customer_percent_in_order <>r_current_line_2.customer_percent_in_order )
4044 		 OR( NOT((r_current_line_1.customer_percent_in_order is null)and(r_current_line_2.customer_percent_in_order is null))
4045              AND ((r_current_line_1.customer_percent_in_order is null)or(r_current_line_2.customer_percent_in_order is null)))THEN
4046            l_prompt :='CUSTOMER_PERCENT_IN_ORDER';
4047            l_data1  :=r_current_line_1.customer_percent_in_order;
4048            l_data2  :=r_current_line_2.customer_percent_in_order;
4049 
4050         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4051         END IF;
4052 
4053         IF (r_current_line_1.ceiling_cost <>r_current_line_2.ceiling_cost )
4054 		 OR( NOT((r_current_line_1.ceiling_cost is null)and(r_current_line_2.ceiling_cost is null))
4055              AND ((r_current_line_1.ceiling_cost is null)or(r_current_line_2.ceiling_cost is null)))THEN
4056            l_prompt :='CEILING_COST';
4057            l_data1  :=r_current_line_1.ceiling_cost;
4058            l_data2  :=r_current_line_2.ceiling_cost;
4059         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4060         END IF;
4061 
4062         IF (r_current_line_1.level_of_effort_hours <>r_current_line_2.level_of_effort_hours )
4063 		 OR( NOT((r_current_line_1.level_of_effort_hours is null)and(r_current_line_2.level_of_effort_hours is null))
4064              AND ((r_current_line_1.level_of_effort_hours is null)or(r_current_line_2.level_of_effort_hours is null)))THEN
4065            l_prompt :='LEVEL_OF_EFFORT_HOURS';
4066            l_data1  :=r_current_line_1.level_of_effort_hours;
4067            l_data2  :=r_current_line_2.level_of_effort_hours;
4068 
4069         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4070         END IF;
4071 
4072 
4073         IF (r_current_line_1.award_fee <>r_current_line_2.award_fee )
4074 		 OR( NOT((r_current_line_1.award_fee is null)and(r_current_line_2.award_fee is null))
4075              AND ((r_current_line_1.award_fee is null)or(r_current_line_2.award_fee is null)))THEN
4076            l_prompt :='AWARD_FEE';
4077            l_data1  :=r_current_line_1.award_fee;
4078            l_data2  :=r_current_line_2.award_fee;
4079 
4080            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4081         END IF;
4082 
4083         IF (r_current_line_1.base_fee <>r_current_line_2.base_fee )
4084 		 OR( NOT((r_current_line_1.base_fee is null)and(r_current_line_2.base_fee is null))
4085              AND ((r_current_line_1.base_fee is null)or(r_current_line_2.base_fee is null)))THEN
4086            l_prompt :='BASE_FEE';
4087            l_data1  :=r_current_line_1.base_fee;
4088            l_data2  :=r_current_line_2.base_fee;
4089 
4090         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4091         END IF;
4092 
4093         IF (r_current_line_1.minimum_fee <>r_current_line_2.minimum_fee  )
4094 		 OR( NOT((r_current_line_1.minimum_fee is null)and(r_current_line_2.minimum_fee is null))
4095              AND ((r_current_line_1.minimum_fee is null)or(r_current_line_2.minimum_fee is null)))THEN
4096            l_prompt :='MINIMUM_FEE';
4097            l_data1  :=r_current_line_1.minimum_fee;
4098            l_data2  :=r_current_line_2.minimum_fee;
4099         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4100         END IF;
4101 
4102         IF (r_current_line_1.maximum_fee <>r_current_line_2.maximum_fee )
4103 		 OR( NOT((r_current_line_1.maximum_fee is null)and(r_current_line_2.maximum_fee is null))
4104              AND ((r_current_line_1.maximum_fee is null)or(r_current_line_2.maximum_fee is null)))THEN
4105            l_prompt :='MAXIMUM_FEE';
4106            l_data1  :=r_current_line_1.maximum_fee;
4107            l_data2  :=r_current_line_2.maximum_fee;
4108 
4109         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4110         END IF;
4111 
4112         IF (r_current_line_1.award_fee_pool_amount <>r_current_line_2.award_fee_pool_amount )
4113 		 OR( NOT((r_current_line_1.award_fee_pool_amount is null)and(r_current_line_2.award_fee_pool_amount is null))
4114              AND ((r_current_line_1.award_fee_pool_amount is null)or(r_current_line_2.award_fee_pool_amount is null)))THEN
4115            l_prompt :='AWARD_FEE_POOL_AMOUNT';
4116            l_data1  :=r_current_line_1.award_fee_pool_amount;
4117            l_data2  :=r_current_line_2.award_fee_pool_amount;
4118 
4119            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4120         END IF;
4121 
4122         IF (r_current_line_1.fixed_fee <>r_current_line_2.fixed_fee )
4123 		 OR( NOT((r_current_line_1.fixed_fee is null)and(r_current_line_2.fixed_fee is null))
4124              AND ((r_current_line_1.fixed_fee is null)or(r_current_line_2.fixed_fee is null)))THEN
4125            l_prompt :='FIXED_FEE';
4126            l_data1  :=r_current_line_1.fixed_fee;
4127            l_data2  :=r_current_line_2.fixed_fee;
4128 
4129         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4130         END IF;
4131 
4132         IF (r_current_line_1.initial_fee <>r_current_line_2.initial_fee )
4133 		 OR( NOT((r_current_line_1.initial_fee is null)and(r_current_line_2.initial_fee is null))
4134              AND ((r_current_line_1.initial_fee is null)or(r_current_line_2.initial_fee is null)))THEN
4135            l_prompt :='INITIAL_FEE';
4136            l_data1  :=r_current_line_1.initial_fee;
4137            l_data2  :=r_current_line_2.initial_fee;
4138         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4139         END IF;
4140 
4141         IF (r_current_line_1.final_fee <>r_current_line_2.final_fee)
4142 		   OR( NOT((r_current_line_1.final_fee is null)and(r_current_line_2.final_fee is null))
4143              AND ((r_current_line_1.final_fee is null)or(r_current_line_2.final_fee is null)))THEN
4144            l_prompt :='FINAL_FEE';
4145            l_data1  :=r_current_line_1.final_fee;
4146            l_data2  :=r_current_line_2.final_fee;
4147 
4148         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4149         END IF;
4150 
4151         IF (r_current_line_1.fee_ajt_formula <>r_current_line_2.fee_ajt_formula)
4152 		 OR( NOT((r_current_line_1.fee_ajt_formula is null)and(r_current_line_2.fee_ajt_formula is null))
4153              AND ((r_current_line_1.fee_ajt_formula is null)or(r_current_line_2.fee_ajt_formula is null)))THEN
4154            l_prompt :='FEE_AJT_FORMULA';
4155            l_data1  :=r_current_line_1.fee_ajt_formula;
4156            l_data2  :=r_current_line_2.fee_ajt_formula;
4157 
4158            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4159         END IF;
4160 
4161         IF (r_current_line_1.target_cost <>r_current_line_2.target_cost )
4162 		 OR( NOT((r_current_line_1.target_cost is null)and(r_current_line_2.target_cost is null))
4163              AND ((r_current_line_1.target_cost is null)or(r_current_line_2.target_cost is null)))THEN
4164            l_prompt :='TARGET_COST';
4165            l_data1  :=r_current_line_1.target_cost;
4166            l_data2  :=r_current_line_2.target_cost;
4167 
4168         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4169         END IF;
4170 
4171         IF (r_current_line_1.target_fee <>r_current_line_2.target_fee)
4172 		 OR( NOT((r_current_line_1.target_fee is null)and(r_current_line_2.target_fee is null))
4173              AND ((r_current_line_1.target_fee is null)or(r_current_line_2.target_fee is null)))THEN
4174            l_prompt :='TARGET_FEE';
4175            l_data1  :=r_current_line_1.target_fee;
4176            l_data2  :=r_current_line_2.target_fee;
4177         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4178         END IF;
4179 
4180         IF (r_current_line_1.ceiling_price <>r_current_line_2.ceiling_price )
4181 		 OR( NOT((r_current_line_1.ceiling_price is null)and(r_current_line_2.ceiling_price is null))
4182              AND ((r_current_line_1.ceiling_price is null)or(r_current_line_2.ceiling_price is null)))THEN
4183           l_prompt :='CEILING_PRICE';
4184           SET_PRICE_DIFF_DATA( r_current_line_1.ceiling_price, r_current_line_2.ceiling_price );
4185           insert_comp_result(vHeader_id,vVersion1,vVersion2);
4186         END IF;
4187 
4188         IF (r_current_line_1.target_price <>r_current_line_2.target_price)
4189 		 OR( NOT((r_current_line_1.target_price is null)and(r_current_line_2.target_price is null))
4190              AND ((r_current_line_1.target_price is null)or(r_current_line_2.target_price is null)))THEN
4191           l_prompt :='TARGET_PRICE';
4192           SET_PRICE_DIFF_DATA( r_current_line_1.target_price, r_current_line_2.target_price );
4193           insert_comp_result(vHeader_id,vVersion1,vVersion2);
4194         END IF;
4195 
4196         IF (r_current_line_1.cost_overrun_share_ratio <>r_current_line_2.cost_overrun_share_ratio )
4197 		 OR( NOT((r_current_line_1.cost_overrun_share_ratio is null)and(r_current_line_2.cost_overrun_share_ratio is null))
4198              AND ((r_current_line_1.cost_overrun_share_ratio is null)or(r_current_line_2.cost_overrun_share_ratio is null)))THEN
4199            l_prompt :='COST_OVERRUN_SHARE_RATIO';
4200            l_data1  :=r_current_line_1.cost_overrun_share_ratio;
4201            l_data2  :=r_current_line_2.cost_overrun_share_ratio;
4202 
4203            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4204         END IF;
4205 
4206         IF (r_current_line_1.cost_underrun_share_ratio <>r_current_line_2.cost_underrun_share_ratio )
4207 		 OR( NOT((r_current_line_1.cost_underrun_share_ratio is null)and(r_current_line_2.cost_underrun_share_ratio is null))
4208              AND ((r_current_line_1.cost_underrun_share_ratio is null)or(r_current_line_2.cost_underrun_share_ratio is null)))THEN
4209            l_prompt :='COST_UNDERRUN_SHARE_RATIO';
4210            l_data1  :=r_current_line_1.cost_underrun_share_ratio;
4211            l_data2  :=r_current_line_2.cost_underrun_share_ratio;
4212 
4213         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4214         END IF;
4215 
4216         IF (r_current_line_1.final_pft_ajt_formula <>r_current_line_2.final_pft_ajt_formula )
4217 		 OR( NOT((r_current_line_1.final_pft_ajt_formula is null)and(r_current_line_2.final_pft_ajt_formula is null))
4218              AND ((r_current_line_1.final_pft_ajt_formula is null)or(r_current_line_2.final_pft_ajt_formula is null)))THEN
4219            l_prompt :='FINAL_PFT_AJT_FORMULA';
4220            l_data1  :=r_current_line_1.final_pft_ajt_formula;
4221            l_data2  :=r_current_line_2.final_pft_ajt_formula;
4222         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4223         END IF;
4224 
4225         IF (r_current_line_1.fixed_quantity <>r_current_line_2.fixed_quantity )
4226 		 OR( NOT((r_current_line_1.fixed_quantity is null)and(r_current_line_2.fixed_quantity is null))
4227              AND ((r_current_line_1.fixed_quantity is null)or(r_current_line_2.fixed_quantity is null)))THEN
4228            l_prompt :='FIXED_QUANTITY';
4229            l_data1  :=r_current_line_1.fixed_quantity;
4230            l_data2  :=r_current_line_2.fixed_quantity;
4231 
4232         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4233         END IF;
4234 
4235 
4236         IF (r_current_line_1.minimum_quantity <>r_current_line_2.minimum_quantity )
4237 		 OR( NOT((r_current_line_1.minimum_quantity is null)and(r_current_line_2.minimum_quantity is null))
4238              AND ((r_current_line_1.minimum_quantity is null)or(r_current_line_2.minimum_quantity is null)))THEN
4239            l_prompt :='MUNIMUM_QUANTITY';
4240            l_data1  :=r_current_line_1.minimum_quantity;
4241            l_data2  :=r_current_line_2.minimum_quantity;
4242 
4243            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4244         END IF;
4245 
4246         IF (r_current_line_1.maximum_quantity <>r_current_line_2.maximum_quantity )
4247 		 OR( NOT((r_current_line_1.maximum_quantity is null)and(r_current_line_2.maximum_quantity is null))
4248              AND ((r_current_line_1.maximum_quantity is null)or(r_current_line_2.maximum_quantity is null)))THEN
4249            l_prompt :='MAXIMUM_QUANTITY';
4250            l_data1  :=r_current_line_1.maximum_quantity;
4251            l_data2  :=r_current_line_2.maximum_quantity;
4252 
4253         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4254         END IF;
4255 
4256         IF (r_current_line_1.estimated_total_quantity <>r_current_line_2.estimated_total_quantity )
4257 		 OR( NOT((r_current_line_1.estimated_total_quantity is null)and(r_current_line_2.estimated_total_quantity is null))
4258              AND ((r_current_line_1.estimated_total_quantity is null)or(r_current_line_2.estimated_total_quantity is null)))THEN
4259            l_prompt :='ESTIMATED_TOTAL_QUANTITY';
4260            l_data1  :=r_current_line_1.estimated_total_quantity;
4261            l_data2  :=r_current_line_2.estimated_total_quantity;
4262         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4263         END IF;
4264 
4265         IF (r_current_line_1.number_of_options <>r_current_line_2.number_of_options )
4266 		 OR( NOT((r_current_line_1.number_of_options is null)and(r_current_line_2.number_of_options is null))
4267              AND ((r_current_line_1.number_of_options is null)or(r_current_line_2.number_of_options is null)))THEN
4268            l_prompt :='NUMBER_OF_OPTIONS';
4269            l_data1  :=r_current_line_1.number_of_options;
4270            l_data2  :=r_current_line_2.number_of_options;
4271 
4272         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4273         END IF;
4274 
4275         IF (r_current_line_1.initial_price <>r_current_line_2.initial_price )
4276 		 OR( NOT((r_current_line_1.initial_price is null)and(r_current_line_2.initial_price is null))
4277              AND ((r_current_line_1.initial_price is null)or(r_current_line_2.initial_price is null)))THEN
4278           l_prompt :='INITIAL_PRICE';
4279           SET_PRICE_DIFF_DATA( r_current_line_1.initial_price, r_current_line_2.initial_price );
4280           insert_comp_result(vHeader_id,vVersion1,vVersion2);
4281         END IF;
4282 
4283         IF (r_current_line_1.revised_price <>r_current_line_2.revised_price )
4284 		 OR( NOT((r_current_line_1.revised_price is null)and(r_current_line_2.revised_price is null))
4285              AND ((r_current_line_1.revised_price is null)or(r_current_line_2.revised_price is null)))THEN
4286           l_prompt :='REVISED_PRICE';
4287           SET_PRICE_DIFF_DATA( r_current_line_1.revised_price, r_current_line_2.revised_price );
4288           insert_comp_result(vHeader_id,vVersion1,vVersion2);
4289         END IF;
4290 
4291         IF (r_current_line_1.material_cost_index <>r_current_line_2.material_cost_index )
4292 		 OR( NOT((r_current_line_1.material_cost_index is null)and(r_current_line_2.material_cost_index is null))
4293              AND ((r_current_line_1.material_cost_index is null)or(r_current_line_2.material_cost_index is null)))THEN
4294            l_prompt :='MATERIAL_COST_INDEX';
4295            l_data1  :=r_current_line_1.material_cost_index;
4296            l_data2  :=r_current_line_2.material_cost_index;
4297         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4298         END IF;
4299 
4300         IF (r_current_line_1.labor_cost_index <>r_current_line_2.labor_cost_index )
4301 		 OR( NOT((r_current_line_1.labor_cost_index is null)and(r_current_line_2.labor_cost_index is null))
4302              AND ((r_current_line_1.labor_cost_index is null)or(r_current_line_2.labor_cost_index is null)))THEN
4303            l_prompt :='LABOR_COST_INDEX';
4304            l_data1  :=r_current_line_1.labor_cost_index;
4305            l_data2  :=r_current_line_2.labor_cost_index;
4306 
4307         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4308         END IF;
4309 
4310         IF (r_current_line_1.date_of_price_redetermin <>r_current_line_2.date_of_price_redetermin )
4311 		 OR( NOT((r_current_line_1.date_of_price_redetermin is null)and(r_current_line_2.date_of_price_redetermin is null))
4312              AND ((r_current_line_1.date_of_price_redetermin is null)or(r_current_line_2.date_of_price_redetermin is null)))THEN
4313            l_prompt :='DATE_OF_PRICE_REDTERMIN';
4314            l_data1  :=r_current_line_1.date_of_price_redetermin;
4315            l_data2  :=r_current_line_2.date_of_price_redetermin;
4316 
4317            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4318         END IF;
4319 
4320         IF (r_current_line_1.country_of_origin_code <>r_current_line_2.country_of_origin_code)
4321 		 OR( NOT((r_current_line_1.country_of_origin_code is null)and(r_current_line_2.country_of_origin_code is null))
4322              AND ((r_current_line_1.country_of_origin_code is null)or(r_current_line_2.country_of_origin_code is null)))THEN
4323            l_prompt :='COUNTRY_OF_ORIGIN_CODE';
4324            l_data1  :=r_current_line_1.country_of_origin_code;
4325            l_data2  :=r_current_line_2.country_of_origin_code;
4326 
4327         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4328         END IF;
4329 
4330         IF ((r_current_line_1.export_flag = 'Y') AND (NVL(r_current_line_2.export_flag,' ')<>'Y'))
4331 	 OR((r_current_line_2.export_flag = 'Y') AND (NVL(r_current_line_1.export_flag,' ')<>'Y'))THEN
4332 
4333            l_prompt :='EXPORT_YN';
4334            l_data1  :=r_current_line_1.export_flag;
4335            l_data2  :=r_current_line_2.export_flag;
4336         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4337         END IF;
4338 
4339         IF (r_current_line_1.export_license_num <>r_current_line_2.export_license_num )
4340 		 OR( NOT((r_current_line_1.export_license_num is null)and(r_current_line_2.export_license_num is null))
4341              AND ((r_current_line_1.export_license_num is null)or(r_current_line_2.export_license_num is null)))THEN
4342            l_prompt :='EXPORT_LICENSE_NUM';
4343            l_data1  :=r_current_line_1.export_license_num;
4344            l_data2  :=r_current_line_2.export_license_num;
4345 
4346         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4347         END IF;
4348 
4349         IF (r_current_line_1.export_license_res <>r_current_line_2.export_license_res )
4350 		 OR( NOT((r_current_line_1.export_license_res is null)and(r_current_line_2.export_license_res is null))
4351              AND ((r_current_line_1.export_license_res is null)or(r_current_line_2.export_license_res is null)))THEN
4352            l_prompt :='EXPORT_LICENSE_RES';
4353            l_data1  :=r_current_line_1.export_license_res;
4354            l_data2  :=r_current_line_2.export_license_res;
4355 
4356            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4357         END IF;
4358 
4359         IF ((r_current_line_1.cop_required_flag = 'Y') AND (NVL(r_current_line_2.cop_required_flag,' ')<>'Y'))
4360 	 OR((r_current_line_2.cop_required_flag = 'Y') AND (NVL(r_current_line_1.cop_required_flag,' ')<>'Y'))THEN
4361 
4362            l_prompt :='COP_REQUIRED_YN';
4363            l_data1  :=r_current_line_1.cop_required_flag;
4364            l_data2  :=r_current_line_2.cop_required_flag;
4365 
4366         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4367         END IF;
4368 
4369         IF ((r_current_line_1.inspection_req_flag = 'Y') AND (NVL(r_current_line_2.inspection_req_flag,' ')<>'Y'))
4370 	 OR((r_current_line_2.inspection_req_flag = 'Y') AND (NVL(r_current_line_1.inspection_req_flag,' ')<>'Y'))THEN
4371 
4372            l_prompt :='INSPECTION_REQ_YN';
4373            l_data1  :=r_current_line_1.inspection_req_flag;
4374            l_data2  :=r_current_line_2.inspection_req_flag;
4375 
4376            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4377         END IF;
4378 
4379         IF ((r_current_line_1.subj_a133_flag = 'Y') AND (NVL(r_current_line_2.subj_a133_flag,' ')<>'Y'))
4380 	 OR((r_current_line_2.subj_a133_flag = 'Y') AND (NVL(r_current_line_1.subj_a133_flag,' ')<>'Y'))THEN
4381            l_prompt :='SUBJ_AL33_YN';
4382            l_data1  :=r_current_line_1.subj_a133_flag;
4383            l_data2  :=r_current_line_2.subj_a133_flag;
4384 
4385            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4386         END IF;
4387 
4388 
4389         IF ((r_current_line_1.cfe_flag = 'Y') AND (NVL(r_current_line_2.cfe_flag,' ')<>'Y'))
4390 	 OR((r_current_line_2.cfe_flag = 'Y') AND (NVL(r_current_line_1.cfe_flag,' ')<>'Y'))THEN
4391 
4392            l_prompt :='CFE_YN';
4393            l_data1  :=r_current_line_1.cfe_flag;
4394            l_data2  :=r_current_line_2.cfe_flag;
4395 
4396            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4397         END IF;
4398 
4399         IF ((r_current_line_1.customer_approval_req_flag = 'Y') AND (NVL(r_current_line_2.customer_approval_req_flag,' ')<>'Y'))
4400 	 OR((r_current_line_2.customer_approval_req_flag = 'Y') AND (NVL(r_current_line_1.customer_approval_req_flag,' ')<>'Y'))THEN
4401 
4402            l_prompt :='CUSTOMER_APPROVAL_REQ_YN';
4403            l_data1  :=r_current_line_1.customer_approval_req_flag;
4404            l_data2  :=r_current_line_2.customer_approval_req_flag;
4405 
4406         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4407         END IF;
4408 
4409         IF (r_current_line_1.data_item_name <>r_current_line_2.data_item_name )
4410 		 OR( NOT((r_current_line_1.data_item_name is null)and(r_current_line_2.data_item_name is null))
4411              AND ((r_current_line_1.data_item_name is null)or(r_current_line_2.data_item_name is null)))THEN
4412            l_prompt :='DATA_ITEM_NAME';
4413            l_data1  :=r_current_line_1.data_item_name;
4414            l_data2  :=r_current_line_2.data_item_name;
4415         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4416         END IF;
4417 
4418         IF (r_current_line_1.data_item_subtitle <>r_current_line_2.data_item_subtitle )
4419 		 OR( NOT((r_current_line_1.data_item_subtitle is null)and(r_current_line_2.data_item_subtitle is null))
4420              AND ((r_current_line_1.data_item_subtitle is null)or(r_current_line_2.data_item_subtitle is null)))THEN
4421            l_prompt :='DATA_ITEM_SUBTITLE';
4422            l_data1  :=r_current_line_1.data_item_subtitle;
4423            l_data2  :=r_current_line_2.data_item_subtitle;
4424 
4425         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4426         END IF;
4427 
4428         IF (r_current_line_1.cdrl_category <>r_current_line_2.cdrl_category )
4429 		 OR( NOT((r_current_line_1.cdrl_category is null)and(r_current_line_2.cdrl_category is null))
4430              AND ((r_current_line_1.cdrl_category is null)or(r_current_line_2.cdrl_category is null)))THEN
4431            l_prompt :='CDRL_CATEGORY';
4432            l_data1  :=r_current_line_1.cdrl_category;
4433            l_data2  :=r_current_line_2.cdrl_category;
4434 
4435            insert_comp_result(vHeader_id,vVersion1,vVersion2);
4436         END IF;
4437 
4438         IF (r_current_line_1.requiring_office <>r_current_line_2.requiring_office )
4439 		 OR( NOT((r_current_line_1.requiring_office is null)and(r_current_line_2.requiring_office is null))
4440              AND ((r_current_line_1.requiring_office is null)or(r_current_line_2.requiring_office is null)))THEN
4441            l_prompt :='REQUIRING_OFFICE';
4442            l_data1  :=r_current_line_1.requiring_office;
4443            l_data2  :=r_current_line_2.requiring_office;
4444 
4445         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4446         END IF;
4447 
4448         IF (r_current_line_1.date_of_first_submission <>r_current_line_2.date_of_first_submission )
4449 		 OR( NOT((r_current_line_1.date_of_first_submission is null)and(r_current_line_2.date_of_first_submission is null))
4450              AND ((r_current_line_1.date_of_first_submission is null)or(r_current_line_2.date_of_first_submission is null)))THEN
4451            l_prompt :='DATE_OF_FIRST_SUBMISSION';
4452            l_data1  :=r_current_line_1.date_of_first_submission;
4453            l_data2  :=r_current_line_2.date_of_first_submission;
4454         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4455         END IF;
4456 
4457         IF (r_current_line_1.frequency <>r_current_line_2.frequency )
4458 		 OR( NOT((r_current_line_1.frequency is null)and(r_current_line_2.frequency is null))
4459              AND ((r_current_line_1.frequency is null)or(r_current_line_2.frequency is null)))THEN
4460            l_prompt :='FREQUENCY';
4461            l_data1  :=r_current_line_1.frequency;
4462            l_data2  :=r_current_line_2.frequency;
4463 
4464         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4465         END IF;
4466 
4467         IF (r_current_line_1.copies_required <>r_current_line_2.copies_required )
4468 		 OR( NOT((r_current_line_1.copies_required is null)and(r_current_line_2.copies_required is null))
4469              AND ((r_current_line_1.copies_required is null)or(r_current_line_2.copies_required is null)))THEN
4470            l_prompt :='COPIES_REQUIRED';
4471            l_data1  :=r_current_line_1.copies_required;
4472            l_data2  :=r_current_line_2.copies_required;
4473 
4474         insert_comp_result(vHeader_id,vVersion1,vVersion2);
4475         END IF;
4476 
4477         comp_line_parties(vHeader_id,vVersion1, vVersion2,nCurrent_line_id);
4478 
4479         comp_line_terms(vHeader_id,vVersion1, vVersion2,nCurrent_line_id);
4480 
4481         comp_line_articles(vHeader_id,vVersion1, vVersion2,nCurrent_line_id);
4482 
4483         IF L_Latest_Version >= vVersion1 THEN
4484            SELECT count(*)
4485            INTO nDeliverables
4486       	   from oke_k_deliverables_bh
4487      	   where k_header_id=vHeader_id
4488       	   and k_line_id=nCurrent_line_id
4489            AND MAJOR_VERSION=vVersion1;
4490 
4491           SELECT count(*)
4492           INTO l_numOfSublines
4493           FROM OKC_K_LINES_BH
4494           WHERE DNZ_CHR_ID=vHeader_id
4495           AND CLE_ID=nCurrent_line_id
4496           AND MAJOR_VERSION=vVersion1;
4497 
4498         ELSE
4499            SELECT count(*)
4500            INTO nDeliverables
4501       	   from oke_k_deliverables_b
4502      	   where k_header_id=vHeader_id
4503       	   and k_line_id=nCurrent_line_id;
4504 
4505 	  SELECT count(*)
4506           INTO l_numOfSublines
4507           FROM OKC_K_LINES_B
4508           WHERE DNZ_CHR_ID=vHeader_id
4509           AND CLE_ID=nCurrent_line_id;
4510         END IF;
4511 
4512         IF nDeliverables>0 THEN
4513 	   comp_line_deliverables(vHeader_id,vVersion1, vVersion2,nCurrent_line_id);
4514 
4515         END IF;
4516 
4517         IF l_numOfSublines >0 THEN
4518            comp_subline(vHeader_id,vVersion1, vVersion2, nCurrent_line_id);
4519         END IF;
4520 
4521       END LOOP;
4522 
4523       CLOSE v_sub_nodes;
4524 
4525       EXCEPTION
4526             WHEN NO_DATA_FOUND THEN
4527             NULL;
4528 	    WHEN OTHERS THEN
4529             NULL;
4530 
4531      END comp_subline;
4532 
4533 
4534      PROCEDURE comp_header_terms(vHeader_id IN NUMBER,vVersion_1 IN NUMBER,vVersion_2 IN NUMBER)
4535      IS
4536 
4537            CURSOR c_header_terms_1 IS
4538              SELECT
4539              major_version,
4540              term_code,
4541              term_value_pk1,
4542              term_value_pk2,
4543              term_name,
4544              term_value
4545              from oke_k_all_terms_hv
4546              where k_header_id=vHeader_id
4547              and k_line_id is null
4548              and major_version=vVersion_1;
4549 
4550            CURSOR c_header_terms_1_latest IS
4551              SELECT
4552              major_version,
4553              term_code,
4554              term_value_pk1,
4555              term_value_pk2,
4556              term_name,
4557              term_value
4558              from oke_k_all_terms_v
4559              where k_header_id=vHeader_id
4560              and k_line_id is null;
4561 
4562            CURSOR c_header_terms_2 IS
4563              SELECT
4564              major_version,
4565              term_code,
4566              term_value_pk1,
4567              term_value_pk2,
4568              term_name,
4569              term_value
4570              from oke_k_all_terms_hv
4571              where k_header_id=vHeader_id
4572              and k_line_id is null
4573              and major_version=vVersion_2;
4574 
4575            CURSOR c IS
4576      	     SELECT meaning
4577        	     FROM   fnd_lookup_values_vl
4578              WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
4579              AND    lookup_code = l_Object
4580              AND    view_application_id=777;
4581 
4582            vTermDifference NUMBER;
4583          BEGIN
4584 
4585               l_object_name :='';
4586               l_Object  :='TERM';
4587 
4588               OPEN c;
4589               FETCH c INTO l_object_type;
4590               CLOSE c;
4591 
4592 	    IF L_Latest_Version >= vVersion_1 THEN
4593               FOR c_header_term_1 IN c_header_terms_1 LOOP
4594                   vTermDifference :=0;
4595                   FOR c_header_term_2 IN c_header_terms_2 LOOP
4596                       IF c_header_term_1.term_code = c_header_term_2.term_code
4597                          AND c_header_term_1.term_value_pk1 = c_header_term_2.term_value_pk1
4598                          AND c_header_term_1.term_value_pk2 =c_header_term_2.term_value_pk2
4599                       THEN vTermDifference := vTermDifference+1;
4600                       END IF;
4601                   END LOOP;
4602                   IF vTermDifference =0 THEN
4603                      l_prompt := c_header_term_1.term_name||'--'||c_header_term_1.term_value;
4604 		     l_Object  :='NO_TERM';
4605 
4606                      l_object_name :='';
4607 
4608                      OPEN c;
4609                      FETCH c INTO l_data2;
4610                      CLOSE c;
4611 
4612                      l_data1  := '';
4613                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4614                   END IF;
4615               END LOOP;
4616 
4617               FOR c_header_term_2 IN c_header_terms_2 LOOP
4618                   vTermDifference :=0;
4619                   FOR c_header_term_1 IN c_header_terms_1 LOOP
4620                       IF c_header_term_2.term_code = c_header_term_1.term_code
4621                          AND c_header_term_2.term_value_pk1 = c_header_term_1.term_value_pk1
4622                          AND c_header_term_2.term_value_pk2 =c_header_term_1.term_value_pk2
4623                       THEN vTermDifference :=vTermDifference+1 ;
4624                       END IF;
4625                   END LOOP;
4626                   IF vTermDifference =0 THEN
4627                      l_prompt := c_header_term_2.term_name||'--'||c_header_term_2.term_value;
4628 		     l_Object  :='NO_TERM';
4629 
4630                      l_object_name :='';
4631 
4632                      OPEN c;
4633                      FETCH c INTO l_data1;
4634                      CLOSE c;
4635 
4636                      l_data2  := '';
4637 
4638                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4639                   END IF;
4640               END LOOP;
4641 
4642              ELSE
4643 
4644 
4645 
4646 	       FOR c_header_term_1 IN c_header_terms_1_latest LOOP
4647                   vTermDifference :=0;
4648                   FOR c_header_term_2 IN c_header_terms_2 LOOP
4649 
4650                       IF c_header_term_1.term_code = c_header_term_2.term_code
4651                          AND c_header_term_1.term_value_pk1 = c_header_term_2.term_value_pk1
4652                          AND c_header_term_1.term_value_pk2 = c_header_term_2.term_value_pk2
4653                       THEN
4654 
4655 
4656 
4657                       vTermDifference :=vTermDifference+1 ;
4658                       END IF;
4659                   END LOOP;
4660 
4661 
4662                   IF vTermDifference =0 THEN
4663                      l_prompt := c_header_term_1.term_name||'--'||c_header_term_1.term_value;
4664                      l_Object  :='NO_TERM';
4665 
4666                      l_object_name :='';
4667 
4668                      OPEN c;
4669                      FETCH c INTO l_data2;
4670                      CLOSE c;
4671 
4672                      l_data1  := '';
4673 
4674                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4675                   END IF;
4676               END LOOP;
4677 
4678               FOR c_header_term_2 IN c_header_terms_2 LOOP
4679                   vTermDifference :=0;
4680                   FOR c_header_term_1 IN c_header_terms_1_latest LOOP
4681                       IF c_header_term_2.term_code = c_header_term_1.term_code
4682                          AND c_header_term_2.term_value_pk1 = c_header_term_1.term_value_pk1
4683                          AND c_header_term_2.term_value_pk2 =c_header_term_1.term_value_pk2
4684                       THEN vTermDifference := vTermDifference+1;
4685                       END IF;
4686                   END LOOP;
4687                   IF vTermDifference =0 THEN
4688                      l_prompt := c_header_term_2.term_name||'--'||c_header_term_2.term_value;
4689 	             l_Object  :='NO_TERM';
4690 
4691                      l_object_name :='';
4692 
4693                      OPEN c;
4694                      FETCH c INTO l_data1;
4695                      CLOSE c;
4696 
4697                      l_data2  := '';
4698 
4699                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4700                   END IF;
4701               END LOOP;
4702 
4703 	     END IF;
4704 
4705 
4706 	     EXCEPTION
4707             	WHEN NO_DATA_FOUND THEN
4708                 NULL;
4709 		WHEN OTHERS THEN
4710 		NULL;
4711      END comp_header_terms;
4712 
4713 
4714      PROCEDURE comp_line_terms(vHeader_id IN NUMBER,vVersion_1 IN NUMBER,vVersion_2 IN NUMBER,vLine_id IN NUMBER)
4715         IS
4716 
4717            CURSOR c_line_terms_1 IS
4718              SELECT
4719              major_version,
4720              term_code,
4721              term_value_pk1,
4722              term_value_pk2,
4723              term_name,
4724              term_value
4725              from oke_k_all_terms_hv
4726              where k_header_id=vHeader_id
4727              and k_line_id = vLine_id
4728              and major_version=vVersion_1;
4729 
4730            CURSOR c_line_terms_1_latest IS
4731              SELECT
4732              major_version,
4733              term_code,
4734              term_value_pk1,
4735              term_value_pk2,
4736              term_name,
4737              term_value
4738              from oke_k_all_terms_v
4739              where k_header_id=vHeader_id
4740              and k_line_id = vLine_id;
4741 
4742            CURSOR c_line_terms_2 IS
4743              SELECT
4744              major_version,
4745              term_code,
4746              term_value_pk1,
4747              term_value_pk2,
4748              term_name,
4749              term_value
4750              from oke_k_all_terms_hv
4751              where k_header_id=vHeader_id
4752              and k_line_id = vLine_id
4753              and major_version=vVersion_2;
4754 
4755            CURSOR c IS
4756      	     SELECT meaning
4757        	     FROM   fnd_lookup_values_vl
4758              WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
4759              AND    lookup_code = l_Object
4760              AND    view_application_id=777;
4761 
4762            vTermDifference NUMBER;
4763          BEGIN
4764 
4765               l_object_name :='';
4766               l_Object  :='TERM';
4767 
4768               OPEN c;
4769               FETCH c INTO l_object_type;
4770               CLOSE c;
4771 
4772 	    IF L_Latest_Version >= vVersion_1 THEN
4773               FOR c_line_term_1 IN c_line_terms_1 LOOP
4774                   vTermDifference :=0;
4775                   FOR c_line_term_2 IN c_line_terms_2 LOOP
4776                       IF c_line_term_1.term_code = c_line_term_2.term_code
4777                          AND c_line_term_1.term_value_pk1 = c_line_term_2.term_value_pk1
4778                          AND c_line_term_1.term_value_pk2 =c_line_term_2.term_value_pk2
4779                       THEN vTermDifference := vTermDifference+1;
4780                       END IF;
4781                   END LOOP;
4782                   IF vTermDifference =0 THEN
4783                      l_prompt := c_line_term_1.term_name||'--'||c_line_term_1.term_value;
4784 		     l_Object  :='NO_TERM';
4785 
4786                      l_object_name :=get_full_path_linenum(vLine_id,vVersion_1);
4787 
4788                      OPEN c;
4789                      FETCH c INTO l_data2;
4790                      CLOSE c;
4791 
4792                      l_data1  := '';
4793                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4794                   END IF;
4795               END LOOP;
4796 
4797               FOR c_line_term_2 IN c_line_terms_2 LOOP
4798                   vTermDifference :=0;
4799                   FOR c_line_term_1 IN c_line_terms_1 LOOP
4800                       IF c_line_term_2.term_code = c_line_term_1.term_code
4801                          AND c_line_term_2.term_value_pk1 = c_line_term_1.term_value_pk1
4802                          AND c_line_term_2.term_value_pk2 =c_line_term_1.term_value_pk2
4803                       THEN vTermDifference :=vTermDifference+1 ;
4804                       END IF;
4805                   END LOOP;
4806                   IF vTermDifference =0 THEN
4807                      l_prompt := c_line_term_2.term_name||'--'||c_line_term_2.term_value;
4808 		     l_Object  :='NO_TERM';
4809 
4810                      l_object_name :=get_full_path_linenum(vLine_id,vVersion_2);
4811 
4812                      OPEN c;
4813                      FETCH c INTO l_data1;
4814                      CLOSE c;
4815 
4816                      l_data2  := '';
4817 
4818                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4819                   END IF;
4820               END LOOP;
4821 
4822              ELSE
4823 	       FOR c_line_term_1 IN c_line_terms_1_latest LOOP
4824                   vTermDifference :=0;
4825                   FOR c_line_term_2 IN c_line_terms_2 LOOP
4826                       IF c_line_term_1.term_code = c_line_term_2.term_code
4827                          AND c_line_term_1.term_value_pk1 = c_line_term_2.term_value_pk1
4828                          AND c_line_term_1.term_value_pk2 = c_line_term_2.term_value_pk2
4829                       THEN vTermDifference :=vTermDifference+1 ;
4830                       END IF;
4831                   END LOOP;
4832                   IF vTermDifference =0 THEN
4833                      l_prompt := c_line_term_1.term_name||'--'||c_line_term_1.term_value;
4834                      l_Object  :='NO_TERM';
4835 
4836                      l_object_name :=get_full_path_linenum(vLine_id);
4837 
4838                      OPEN c;
4839                      FETCH c INTO l_data2;
4840                      CLOSE c;
4841 
4842                      l_data1  := '';
4843 
4844                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4845                   END IF;
4846               END LOOP;
4847 
4848               FOR c_line_term_2 IN c_line_terms_2 LOOP
4849                   vTermDifference :=0;
4850                   FOR c_line_term_1 IN c_line_terms_1_latest LOOP
4851                       IF c_line_term_2.term_code = c_line_term_1.term_code
4852                          AND c_line_term_2.term_value_pk1 = c_line_term_1.term_value_pk1
4853                          AND c_line_term_2.term_value_pk2 =c_line_term_1.term_value_pk2
4854                       THEN vTermDifference := vTermDifference+1;
4855                       END IF;
4856                   END LOOP;
4857                   IF vTermDifference =0 THEN
4858                      l_prompt := c_line_term_2.term_name||'--'||c_line_term_2.term_value;
4859 	             l_Object  :='NO_TERM';
4860 
4861                      l_object_name :=nvl(get_full_path_linenum(vLine_id,vVersion_2),'');
4862 
4863                      OPEN c;
4864                      FETCH c INTO l_data1;
4865                      CLOSE c;
4866 
4867                      l_data2  := '';
4868 
4869                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4870                   END IF;
4871               END LOOP;
4872 
4873 	     END IF;
4874 
4875 
4876 	     EXCEPTION
4877             	WHEN NO_DATA_FOUND THEN
4878                 NULL;
4879 		WHEN OTHERS THEN
4880 		NULL;
4881      END comp_line_terms;
4882 
4883 
4884 
4885 
4886   PROCEDURE comp_header_parties(vHeader_id IN NUMBER, vVersion_1 IN NUMBER, vVersion_2 IN NUMBER)
4887   IS
4888 
4889     CURSOR c_parties_1 IS
4890      SELECT
4891         role,
4892         cognomen,
4893         alias,
4894         object1_id1,
4895         object1_id2,
4896         jtot_object1_code
4897      FROM  okc_k_party_roles_hv
4898      WHERE chr_id=vHeader_id
4899      AND   dnz_chr_id=vHeader_id
4900      AND major_version=vVersion_1;
4901 
4902 
4903    CURSOR c_parties_2 IS
4904      SELECT
4905         role,
4906         cognomen,
4907         alias,
4908         object1_id1,
4909         object1_id2,
4910         jtot_object1_code
4911      FROM  okc_k_party_roles_hv
4912      WHERE chr_id=vHeader_id
4913      AND   dnz_chr_id=vHeader_id
4914      AND major_version=vVersion_2;
4915 
4916 
4917     /* Parties in the latest version  */
4918 
4919     CURSOR c_parties_latest IS
4920      SELECT
4921         role,
4922         cognomen,
4923         alias,
4924         object1_id1,
4925         object1_id2,
4926         jtot_object1_code
4927      FROM  okc_k_party_roles_v
4928      WHERE chr_id=vHeader_id
4929      AND   dnz_chr_id=vHeader_id;
4930 
4931     CURSOR c IS
4932        SELECT meaning
4933        FROM   fnd_lookup_values_vl
4934        WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
4935        AND    lookup_code = l_Object
4936        AND    view_application_id=777;
4937 
4938     l_PartyDifference NUMBER;
4939     l_name varchar(80);
4940 
4941     BEGIN
4942 
4943 
4944 
4945        l_object_name :='';
4946        l_object      :='PARTY';
4947 
4948        OPEN c;
4949        FETCH c INTO l_object_type;
4950        CLOSE c;
4951 
4952        IF L_Latest_Version >= vVersion_1 THEN
4953               FOR c_party_1 IN c_parties_1 LOOP
4954                   l_PartyDifference :=0;
4955                   FOR c_party_2 IN c_parties_2 LOOP
4956                       IF c_party_1.role = c_party_2.role
4957                          AND nvl(c_party_1.object1_id1,' ') = nvl(c_party_2.object1_id1,' ')
4958                       THEN l_PartyDifference := l_PartyDifference+1;
4959                       END IF;
4960                   END LOOP;
4961                   IF l_PartyDifference =0 THEN
4962 
4963                      l_name := OKC_UTIL.get_name_from_jtfv(c_party_1.jtot_object1_code,c_party_1.object1_id1,c_party_1.object1_id2);
4964 
4965                      If (l_name is not null) Then
4966                          l_prompt := c_party_1.role||'--'||l_name;
4967                      ELSE
4968                          l_prompt := c_party_1.role;
4969                      End if;
4970 
4971                      l_Object  :='NO_PARTY';
4972                      l_object_name :='';
4973 
4974 
4975                      OPEN c;
4976                      FETCH c INTO l_data2;
4977                      CLOSE c;
4978 
4979                      l_data1  := '';
4980                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
4981                   END IF;
4982               END LOOP;
4983 
4984               FOR c_party_2 IN c_parties_2 LOOP
4985                   l_PartyDifference :=0;
4986                   FOR c_party_1 IN c_parties_1 LOOP
4987                       IF c_party_1.role = c_party_2.role
4988                          AND nvl(c_party_1.object1_id1,' ') = nvl(c_party_2.object1_id1,' ')
4989                       THEN l_PartyDifference := l_PartyDifference+1;
4990                       END IF;
4991                   END LOOP;
4992                   IF l_PartyDifference =0 THEN
4993 
4994                      l_name := OKC_UTIL.get_name_from_jtfv(c_party_2.jtot_object1_code,c_party_2.object1_id1,c_party_2.object1_id2);
4995 
4996                      IF(l_name IS NOT NULL) THEN
4997                          l_prompt := c_party_2.role||'--'||l_name;
4998                      ELSE
4999                          l_prompt := c_party_2.role;
5000 
5001                      END IF;
5002 
5003                      l_Object  :='NO_PARTY';
5004                      l_object_name :='';
5005 
5006                      OPEN c;
5007                      FETCH c INTO l_data1;
5008                      CLOSE c;
5009 
5010                      l_data2  := '';
5011                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
5012                   END IF;
5013               END LOOP;
5014 
5015 
5016              ELSE
5017 	      FOR c_party_1 IN c_parties_latest LOOP
5018                   l_PartyDifference :=0;
5019                   FOR c_party_2 IN c_parties_2 LOOP
5020                       IF c_party_1.role = c_party_2.role
5021                          AND nvl(c_party_1.object1_id1, ' ') = nvl(c_party_2.object1_id1,' ')
5022                       THEN l_PartyDifference := l_PartyDifference+1;
5023                       END IF;
5024                   END LOOP;
5025                   IF l_PartyDifference =0 THEN
5026 
5027                      l_name := OKC_UTIL.get_name_from_jtfv(c_party_1.jtot_object1_code,c_party_1.object1_id1,c_party_1.object1_id2);
5028                      IF(l_name is not null) THEN
5029                         l_prompt := c_party_1.role||'--'||l_name;
5030                      ELSE
5031                         l_prompt := c_party_1.role;
5032                      END IF;
5033 
5034 		     l_Object  :='NO_PARTY';
5035 
5036                      l_object_name :='';
5037 
5038                      OPEN c;
5039                      FETCH c INTO l_data2;
5040                      CLOSE c;
5041 
5042                      l_data1  := '';
5043                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
5044                   END IF;
5045               END LOOP;
5046 
5047               FOR c_party_2 IN c_parties_2 LOOP
5048                   l_PartyDifference :=0;
5049                   FOR c_party_1 IN c_parties_latest LOOP
5050                       IF c_party_1.role = c_party_2.role
5051                          AND nvl(c_party_1.object1_id1, ' ') = nvl(c_party_2.object1_id1,' ')
5052                       THEN l_PartyDifference := l_PartyDifference+1;
5053                       END IF;
5054                   END LOOP;
5055                   IF l_PartyDifference =0 THEN
5056 
5057                      l_name := OKC_UTIL.get_name_from_jtfv(c_party_2.jtot_object1_code,c_party_2.object1_id1,c_party_2.object1_id2);
5058                      IF(l_name is not null) THEN
5059                           l_prompt := c_party_2.role||'--'||l_name;
5060                      ELSE
5061                           l_prompt := c_party_2.role;
5062                      END IF;
5063 
5064 		     l_Object  :='NO_PARTY';
5065                      l_object_name :='';
5066 
5067                      OPEN c;
5068                      FETCH c INTO l_data1;
5069                      CLOSE c;
5070 
5071                      l_data2  := '';
5072                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
5073                   END IF;
5074               END LOOP;
5075 
5076 	     END IF;
5077 
5078 	     EXCEPTION
5079             	WHEN NO_DATA_FOUND THEN
5080                 NULL;
5081 		WHEN OTHERS THEN
5082 		NULL;
5083 
5084   END comp_header_parties;
5085 
5086 
5087   PROCEDURE comp_line_parties(vHeader_id IN NUMBER, vVersion_1 IN NUMBER, vVersion_2 IN NUMBER,vLine_id NUMBER)
5088   IS
5089 
5090     CURSOR c_parties_1 IS
5091      SELECT
5092         role,
5093         cognomen,
5094         alias,
5095         object1_id1,
5096         object1_id2,
5097         jtot_object1_code
5098      FROM  okc_k_party_roles_hv
5099      WHERE dnz_chr_id=vHeader_id
5100      AND cle_id = vLine_id
5101      AND major_version=vVersion_1;
5102 
5103 
5104    CURSOR c_parties_2 IS
5105      SELECT
5106         role,
5107         cognomen,
5108         alias,
5109         object1_id1,
5110         object1_id2,
5111         jtot_object1_code
5112      FROM  okc_k_party_roles_hv
5113      WHERE dnz_chr_id=vHeader_id
5114      AND cle_id = vLine_id
5115      AND major_version=vVersion_2;
5116 
5117 
5118     /* Parties in the latest version  */
5119 
5120     CURSOR c_parties_latest IS
5121      SELECT
5122         role,
5123         cognomen,
5124         alias,
5125         object1_id1,
5126         object1_id2,
5127         jtot_object1_code
5128      FROM  okc_k_party_roles_v
5129      WHERE dnz_chr_id=vHeader_id
5130      AND cle_id = vLine_id;
5131 
5132     CURSOR c IS
5133        SELECT meaning
5134        FROM   fnd_lookup_values_vl
5135        WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
5136        AND    lookup_code = l_Object
5137        AND    view_application_id=777;
5138 
5139     l_PartyDifference NUMBER;
5140     l_name varchar(80);
5141 
5142     BEGIN
5143 
5144        l_object_name :='';
5145        l_object      :='PARTY';
5146 
5147        OPEN c;
5148        FETCH c INTO l_object_type;
5149        CLOSE c;
5150 
5151        IF L_Latest_Version >= vVersion_1 THEN
5152               FOR c_party_1 IN c_parties_1 LOOP
5153                   l_PartyDifference :=0;
5154                   FOR c_party_2 IN c_parties_2 LOOP
5155                       IF c_party_1.role = c_party_2.role
5156                          AND nvl(c_party_1.object1_id1,' ') = nvl(c_party_2.object1_id1,' ')
5157                       THEN l_PartyDifference := l_PartyDifference+1;
5158                       END IF;
5159                   END LOOP;
5160                   IF l_PartyDifference =0 THEN
5161 
5162                      l_name := OKC_UTIL.get_name_from_jtfv(c_party_1.jtot_object1_code,c_party_1.object1_id1,c_party_1.object1_id2);
5163                      IF(l_name is not null) THEN
5164                         l_prompt := c_party_1.role||'--'||l_name;
5165                      ELSE
5166                         l_prompt := c_party_1.role;
5167                      END IF;
5168 
5169 		     l_Object  :='NO_PARTY';
5170 
5171                      l_object_name :=nvl(get_full_path_linenum(vLine_id,vVersion_1),'');
5172 
5173                      OPEN c;
5174                      FETCH c INTO l_data2;
5175                      CLOSE c;
5176 
5177                      l_data1  := '';
5178                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
5179                   END IF;
5180               END LOOP;
5181 
5182               FOR c_party_2 IN c_parties_2 LOOP
5183                   l_PartyDifference :=0;
5184                   FOR c_party_1 IN c_parties_1 LOOP
5185                       IF c_party_1.role = c_party_2.role
5186                          AND nvl(c_party_1.object1_id1,' ') = nvl(c_party_2.object1_id1,' ')
5187                       THEN l_PartyDifference := l_PartyDifference+1;
5188                       END IF;
5189                   END LOOP;
5190                   IF l_PartyDifference =0 THEN
5191 
5192                      l_name := OKC_UTIL.get_name_from_jtfv(c_party_2.jtot_object1_code,c_party_2.object1_id1,c_party_2.object1_id2);
5193                      IF(l_name is not null)THEN
5194                         l_prompt := c_party_2.role||'--'||l_name;
5195                      ELSE
5196                         l_prompt := c_party_2.role;
5197                      END IF;
5198 
5199 		     l_Object  :='NO_PARTY';
5200 
5201                      l_object_name :=nvl(get_full_path_linenum(vLine_id,vVersion_2),'');
5202 
5203                      OPEN c;
5204                      FETCH c INTO l_data1;
5205                      CLOSE c;
5206 
5207                      l_data2  := '';
5208                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
5209                   END IF;
5210               END LOOP;
5211 
5212              ELSE
5213 
5214                FOR c_party_1 IN c_parties_latest LOOP
5215                   l_PartyDifference :=0;
5216                   FOR c_party_2 IN c_parties_2 LOOP
5217                       IF c_party_1.role = c_party_2.role
5218                          AND nvl(c_party_1.object1_id1,' ') = nvl(c_party_2.object1_id1,' ')
5219                       THEN l_PartyDifference := l_PartyDifference+1;
5220                       END IF;
5221                   END LOOP;
5222                   IF l_PartyDifference =0 THEN
5223 
5224                      l_name := OKC_UTIL.get_name_from_jtfv(c_party_1.jtot_object1_code,c_party_1.object1_id1,c_party_1.object1_id2);
5225 
5226                      if(l_name is not null)then
5227                         l_prompt := c_party_1.role||'--'||l_name;
5228                      else
5229                         l_prompt := c_party_1.role;
5230                      end if;
5231 
5232 		     l_Object  :='NO_PARTY';
5233 
5234 
5235                      l_object_name :=nvl(get_full_path_linenum(vLine_id),'');
5236 
5237                      OPEN c;
5238                      FETCH c INTO l_data2;
5239                      CLOSE c;
5240 
5241                      l_data1  := '';
5242                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
5243                   END IF;
5244               END LOOP;
5245 
5246               FOR c_party_2 IN c_parties_2 LOOP
5247                   l_PartyDifference :=0;
5248                   FOR c_party_1 IN c_parties_latest LOOP
5249                       IF c_party_1.role = c_party_2.role
5250                          AND nvl(c_party_1.object1_id1,' ') = nvl(c_party_2.object1_id1,' ')
5251                       THEN l_PartyDifference := l_PartyDifference+1;
5252                       END IF;
5253                   END LOOP;
5254                   IF l_PartyDifference =0 THEN
5255 
5256                      l_name := OKC_UTIL.get_name_from_jtfv(c_party_2.jtot_object1_code,c_party_2.object1_id1,c_party_2.object1_id2);
5257                      if(l_name is not null)then
5258                          l_prompt := c_party_2.role||'--'||l_name;
5259                      else
5260                          l_prompt := c_party_2.role;
5261                      end if;
5262 
5263 		     l_Object  :='NO_PARTY';
5264 
5265                      l_object_name :=nvl(get_full_path_linenum(vLine_id),'');
5266 
5267                      OPEN c;
5268                      FETCH c INTO l_data1;
5269                      CLOSE c;
5270 
5271                      l_data2  := '';
5272                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
5273                   END IF;
5274               END LOOP;
5275 
5276 	     END IF;
5277 
5278 	     EXCEPTION
5279             	WHEN NO_DATA_FOUND THEN
5280                 NULL;
5281 		WHEN OTHERS THEN
5282 		NULL;
5283 
5284   END comp_line_parties;
5285 
5286 
5287 
5288   PROCEDURE comp_line_deliverables(vHeader_id IN NUMBER,vVersion1 IN NUMBER, vVersion2 IN NUMBER,vCurrentLineId IN NUMBER)
5289   IS
5290     TYPE r_deliverable IS RECORD(
5291  	deliverable_num                 oke_k_deliverables_vlh.deliverable_num%TYPE,
5292         item_id                         oke_k_deliverables_vlh.item_id%TYPE,
5293         description                     oke_k_deliverables_vlh.description%TYPE,
5294         project_number                  oke_k_deliverables_vlh.project_number%TYPE,
5295 	project_name                    oke_k_deliverables_vlh.project_name%TYPE,
5296 	task_number                     oke_k_deliverables_vlh.task_number%TYPE,
5297         --task_name                     oke_k_deliverables_vlh.task_name%TYPE,
5298 	delivery_date                   oke_k_deliverables_vlh.delivery_date%TYPE,
5299 	status_code                     oke_k_deliverables_vlh.status_code%TYPE,
5300 	parent_deliverable_id           oke_k_deliverables_vlh.parent_deliverable_id%TYPE,
5301 	direction                       oke_k_deliverables_vlh.direction%TYPE,
5302 	ship_to_org_id                	oke_k_deliverables_vlh.ship_to_org_id %TYPE,
5303 	ship_to_location_id  		oke_k_deliverables_vlh.ship_to_location_id%TYPE,
5304 	ship_from_org_id 		oke_k_deliverables_vlh.ship_from_org_id%TYPE,
5305 	ship_from_location_id  		oke_k_deliverables_vlh.ship_from_location_id%TYPE,
5306 	start_date                      oke_k_deliverables_vlh.start_date%TYPE,
5307 	end_date                        oke_k_deliverables_vlh.end_date%TYPE,
5308 	need_by_date 			oke_k_deliverables_vlh.need_by_date%TYPE,
5309 	priority_code                   oke_k_deliverables_vlh.priority_code%TYPE,
5310 	currency_code   		oke_k_deliverables_vlh.currency_code%TYPE,
5311 	unit_price   			oke_k_deliverables_vlh.unit_price%TYPE,
5312 	uom_code  			oke_k_deliverables_vlh.uom_code%TYPE,
5313 	quantity  			oke_k_deliverables_vlh.quantity%TYPE,
5314 	country_of_origin_code   	oke_k_deliverables_vlh.country_of_origin_code%TYPE,
5315 	subcontracted_flag   		oke_k_deliverables_vlh.subcontracted_flag%TYPE,
5316 	dependency_flag    		oke_k_deliverables_vlh.dependency_flag%TYPE,
5317 	billable_flag      		oke_k_deliverables_vlh.billable_flag%TYPE,
5318 	billing_event_id                oke_k_deliverables_vlh.billing_event_id%TYPE,
5319 	drop_shipped_flag               oke_k_deliverables_vlh.drop_shipped_flag%TYPE,
5320 	completed_flag                  oke_k_deliverables_vlh.completed_flag%TYPE,
5321 	available_for_ship_flag    	oke_k_deliverables_vlh.available_for_ship_flag%TYPE,
5322 	create_demand    		oke_k_deliverables_vlh.create_demand%TYPE,
5323 	ready_to_bill    		oke_k_deliverables_vlh.ready_to_bill%TYPE,
5324 	ready_to_procure    		oke_k_deliverables_vlh.ready_to_procure%TYPE,
5325 	mps_transaction_id              oke_k_deliverables_vlh.mps_transaction_id%TYPE,
5326 	shipping_request_id             oke_k_deliverables_vlh.shipping_request_id%TYPE,
5327 	unit_number 			oke_k_deliverables_vlh.unit_number%TYPE,
5328 	ndb_schedule_designator    	oke_k_deliverables_vlh.ndb_schedule_designator%TYPE,
5329 	shippable_flag    		oke_k_deliverables_vlh.shippable_flag%TYPE,
5330 	cfe_req_flag			oke_k_deliverables_vlh.cfe_req_flag%TYPE,
5331 	inspection_req_flag		oke_k_deliverables_vlh.inspection_req_flag%TYPE,
5332 	interim_rpt_req_flag		oke_k_deliverables_vlh.interim_rpt_req_flag%TYPE,
5333 	lot_applies_flag		oke_k_deliverables_vlh.lot_applies_flag%TYPE,
5334 	customer_approval_req_flag	oke_k_deliverables_vlh.customer_approval_req_flag%TYPE,
5335 	date_of_first_submission	oke_k_deliverables_vlh.date_of_first_submission%TYPE,
5336 	frequency			oke_k_deliverables_vlh.frequency%TYPE,
5337 	acq_doc_number			oke_k_deliverables_vlh.acq_doc_number%TYPE,
5338 	submission_flag 		oke_k_deliverables_vlh.submission_flag%TYPE,
5339 	data_item_subtitle		oke_k_deliverables_vlh.data_item_subtitle%TYPE,
5340 	total_num_of_copies		oke_k_deliverables_vlh.total_num_of_copies%TYPE,
5341 	cdrl_category			oke_k_deliverables_vlh.cdrl_category%TYPE,
5342 	data_item_name			oke_k_deliverables_vlh.data_item_name%TYPE,
5343 	export_flag			oke_k_deliverables_vlh.export_flag%TYPE,
5344 	export_license_num		oke_k_deliverables_vlh.export_license_num%TYPE,
5345 	export_license_res		oke_k_deliverables_vlh.export_license_res%TYPE,
5346 	comments			oke_k_deliverables_vlh.comments%TYPE,
5347 	sfwt_flag			oke_k_deliverables_vlh.sfwt_flag%TYPE,
5348 	status				oke_k_deliverables_vlh.status%TYPE,
5349 	volume				oke_k_deliverables_vlh.volume%TYPE,
5350 	volume_uom_code		        oke_k_deliverables_vlh.volume_uom_code%TYPE,
5351 	weight				oke_k_deliverables_vlh.weight%TYPE,
5352 	weight_uom_code			oke_k_deliverables_vlh.weight_uom_code%TYPE,
5353 	expenditure_type		oke_k_deliverables_vlh.expenditure_type%TYPE,
5354 	expenditure_organization_id	oke_k_deliverables_vlh.expenditure_organization_id%TYPE,
5355 	expenditure_item_date		oke_k_deliverables_vlh.expenditure_item_date%TYPE,
5356 	destination_type_code		oke_k_deliverables_vlh.destination_type_code%TYPE,
5357 	rate_type			oke_k_deliverables_vlh.rate_type%TYPE,
5358 	rate_date			oke_k_deliverables_vlh.rate_date%TYPE,
5359 	exchange_rate			oke_k_deliverables_vlh.exchange_rate%TYPE,
5360 	expected_shipment_date    	oke_k_deliverables_vlh.expected_shipment_date%TYPE,
5361 	initiate_shipment_date   	oke_k_deliverables_vlh.initiate_shipment_date%TYPE,
5362 	promised_shipment_date   	oke_k_deliverables_vlh.promised_shipment_date%TYPE
5363 
5364 	);
5365 
5366     	r_deliverable_1 r_deliverable;
5367     	r_deliverable_2 r_deliverable;
5368 
5369         type c_deliverables_1 is ref cursor;
5370 
5371         v_deliverables_1 c_deliverables_1;
5372 	current_deliverable_1 oke_k_deliverables_vlh.deliverable_id%TYPE;
5373         current_deliverable_num oke_k_deliverables_vlh.deliverable_num%TYPE;
5374 
5375         CURSOR c_deliverables_2 IS
5376          SELECT deliverable_id
5377          from oke_k_deliverables_bh
5378          where k_header_id=vHeader_id
5379          and k_line_id=vCurrentLineId
5380          and major_version=vVersion2
5381          ORDER BY deliverable_num;
5382 
5383         --current_deliverable_2 oke_k_deliverable_vlh.deliverable_id%TYPE;
5384 
5385         vDifference NUMBER;
5386         l_buy_or_sell varchar2(10);
5387 
5388 
5389         CURSOR c IS
5390             SELECT meaning
5391             FROM   fnd_lookup_values_vl
5392             WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
5393             AND    lookup_code = l_Object
5394             AND    view_application_id=777;
5395 
5396         CURSOR c_item(v_item_id number) IS
5397 	    SELECT name
5398             FROM OKE_SYSTEM_ITEMS_V
5399             WHERE id1=v_item_id;
5400 
5401         CURSOR c_buy_or_sell(v_header_id NUMBER)IS
5402             SELECT buy_or_sell
5403             FROM OKE_K_HEADERS_V
5404             WHERE k_header_id = v_header_id;
5405 
5406         cursor c1(p_id number) is
5407   	select name from hr_organization_units
5408   	where organization_id = p_id;
5409 
5410   	cursor c2 (p_id number) is
5411   	select name from okx_vendors_v
5412   	where id1 = p_id;
5413 
5414   	cursor c3(p_id number) is
5415   	select name from okx_customer_accounts_v
5416   	where id1 = p_id;
5417 
5418   	cursor c4(p_id number) is
5419   	select name from okx_vendors_v
5420  	where id1 = p_id;
5421 
5422   	cursor c5(p_id number) is
5423   	select name from okx_organization_defs_v
5424   	where id1 = p_id;
5425 
5426   	cursor c6(p_id number) is
5427   	select name from okx_customer_accounts_v
5428   	where id1 = p_id;
5429 
5430         --inbound ship to
5431         CURSOR c_ship_to_location_in(v_ship_to_location_id number)IS
5432             SELECT name
5433             from OKX_LOCATIONS_V
5434             where id1 = v_ship_to_location_id;
5435 
5436         --outbound ship to
5437         CURSOR c_ship_to_location_out(v_ship_to_location_id number)IS
5438             SELECT name
5439             from OKE_CUST_SITE_USES_V
5440             where id1 = v_ship_to_location_id
5441             and site_use_code = 'SHIP_TO';
5442 
5443         --outbound ship from
5444         CURSOR c_ship_from_location_out(v_ship_from_location_id number)IS
5445             SELECT name
5446             from okx_locations_v
5447             where id1 = v_ship_from_location_id;
5448 
5449         --sell/inbound ship from
5450         CURSOR c_ship_from_location_si(v_ship_from_location_id number)IS
5451             SELECT name
5452             from OKE_CUST_SITE_USES_V
5453             where id1 = v_ship_from_location_id
5454             and site_use_code = 'SHIP_TO';
5455 
5456         --buy/inbound ship from
5457         CURSOR c_ship_from_location_bi(v_ship_from_location_id number)IS
5458             SELECT name
5459             from OKE_VENDOR_SITES_V
5460             where id1 = v_ship_from_location_id;
5461 
5462         CURSOR c_expenditure_org(v_org_id number) IS
5463             SELECT name
5464             FROM pa_organizations_expend_v
5465             WHERE organization_id=v_org_id;
5466      l_api_name     CONSTANT VARCHAR2(30) := 'comp_line_deliverables';
5467   BEGIN
5468 
5469    IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
5470      FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'Begin comparing line deliverables ...');
5471    END IF;
5472 
5473      L_Attribute_Object_Name :='OKE_K_DELIVERABLES';
5474 
5475     --v_object_name :=get_full_path_linenum(vCurrentLineId,vVersion1);
5476 
5477      l_Object  :='DELIVERABLE';
5478 
5479      OPEN c;
5480      FETCH c INTO l_object_type;
5481      CLOSE c;
5482 
5483     IF L_Latest_Version >= vVersion1 THEN
5484      OPEN v_deliverables_1 FOR
5485       	 SELECT deliverable_id
5486       	 from oke_k_deliverables_bh
5487      	 where k_header_id=vHeader_id
5488       	 and k_line_id=vCurrentLineId
5489          and major_version=vVersion1
5490          ORDER BY deliverable_num;
5491     ELSE
5492      OPEN v_deliverables_1 FOR
5493       	 SELECT deliverable_id
5494       	 from oke_k_deliverables_b
5495      	 where k_header_id=vHeader_id
5496       	 and k_line_id=vCurrentLineId
5497          ORDER BY deliverable_num;
5498     END IF;
5499 
5500     LOOP
5501       FETCH v_deliverables_1 INTO current_deliverable_1;
5502       EXIT WHEN v_deliverables_1%NOTFOUND;
5503 
5504 
5505         vDifference :=0;
5506         FOR c_deliverable_2 IN c_deliverables_2 LOOP
5507 
5508             IF current_deliverable_1 = c_deliverable_2.deliverable_id 	THEN
5509                vDifference :=vDifference +1;
5510             END IF;
5511 
5512         END LOOP;
5513 
5514 
5515         IF L_Latest_Version >= vVersion1 THEN
5516 
5517            SELECT deliverable_num
5518            INTO current_deliverable_num
5519            from oke_k_deliverables_bh
5520            where k_header_id=vHeader_id
5521            and k_line_id=vCurrentLineId
5522            and major_version=vVersion1
5523            and deliverable_id=current_deliverable_1;
5524 
5525            l_object_name :=get_full_path_linenum(vCurrentLineId,vVersion1) ||'*'||current_deliverable_num;
5526         ELSE
5527 
5528 	   SELECT deliverable_num
5529            INTO current_deliverable_num
5530            from oke_k_deliverables_b
5531            where k_header_id=vHeader_id
5532            and k_line_id=vCurrentLineId
5533            and deliverable_id=current_deliverable_1;
5534 
5535            l_object_name :=get_full_path_linenum(vCurrentLineId) ||'*'||current_deliverable_num;
5536         END IF;
5537 
5538 
5539 
5540         IF vDifference = 0 THEN
5541            l_prompt := '';
5542 
5543 	   l_Object  :='NO_DELIVERABLE';
5544 
5545            OPEN c;
5546            FETCH c INTO l_data2;
5547            CLOSE c;
5548 
5549 
5550            l_data1  := '';
5551 
5552            insert_comp_result(vHeader_id,vVersion1,vVersion2);
5553 
5554 
5555         ELSE
5556 
5557 
5558            IF L_Latest_Version >= vVersion1 THEN
5559 
5560               l_object_name :=get_full_path_linenum(vCurrentLineId,vVersion1)||'*'||current_deliverable_num;
5561               SELECT
5562 		deliverable_num,
5563 		item_id,
5564                 description,
5565 		project_number,
5566 		project_name,
5567 		task_number,
5568 		delivery_date,
5569 		status_code,
5570 		parent_deliverable_id,
5571 		direction,
5572 		ship_to_org_id,
5573 		ship_to_location_id,
5574 		ship_from_org_id,
5575 		ship_from_location_id,
5576 		start_date,
5577 		end_date,
5578 		need_by_date,
5579 		priority_code,
5580 		currency_code,
5581 		unit_price,
5582 		uom_code,
5583 		quantity,
5584 		country_of_origin_code,
5585 		subcontracted_flag,
5586 		dependency_flag,
5587 		billable_flag,
5588 		billing_event_id,
5589 		drop_shipped_flag,
5590 		completed_flag,
5591 		available_for_ship_flag,
5592 		create_demand,
5593 		ready_to_bill,
5594 		ready_to_procure,
5595 		mps_transaction_id,
5596 		shipping_request_id,
5597 		unit_number,
5598 		ndb_schedule_designator,
5599 		shippable_flag,
5600 		cfe_req_flag,
5601 		inspection_req_flag,
5602 		interim_rpt_req_flag,
5603 		lot_applies_flag,
5604 		customer_approval_req_flag,
5605 		date_of_first_submission,
5606 		frequency,
5607 		acq_doc_number,
5608 		submission_flag,
5609 		data_item_subtitle,
5610 		total_num_of_copies,
5611 		cdrl_category,
5612 		data_item_name,
5613 		export_flag,
5614 		export_license_num,
5615 		export_license_res,
5616 		comments,
5617 		sfwt_flag,
5618 		status,
5619 		volume,
5620 		volume_uom_code,
5621 		weight,
5622 		weight_uom_code,
5623 		expenditure_type,
5624 		expenditure_organization_id,
5625 		expenditure_item_date,
5626 		destination_type_code,
5627 		rate_type,
5628 		rate_date,
5629 		exchange_rate,
5630 		expected_shipment_date,
5631 		initiate_shipment_date,
5632 		promised_shipment_date
5633 
5634 
5635            INTO r_deliverable_1
5636            FROM oke_k_deliverables_vlh
5637            WHERE deliverable_id=current_deliverable_1
5638            AND major_version=vVersion1;
5639 
5640 
5641         ELSE
5642 	   l_object_name :=get_full_path_linenum(vCurrentLineId)||'*'||current_deliverable_num;
5643 
5644            SELECT
5645 		deliverable_num,
5646 		item_id,
5647                 description,
5648                 project_number,
5649 		project_name,
5650 		task_number,
5651 		delivery_date,
5652 		status_code,
5653 		parent_deliverable_id,
5654 		direction,
5655 		ship_to_org_id,
5656 		ship_to_location_id,
5657 		ship_from_org_id,
5658 		ship_from_location_id,
5659 		start_date,
5660 		end_date,
5661 		need_by_date,
5662 		priority_code,
5663 		currency_code,
5664 		unit_price,
5665 		uom_code,
5666 		quantity,
5667 		country_of_origin_code,
5668 		subcontracted_flag,
5669 		dependency_flag,
5670 		billable_flag,
5671 		billing_event_id,
5672 		drop_shipped_flag,
5673 		completed_flag,
5674 		available_for_ship_flag,
5675 		create_demand,
5676 		ready_to_bill,
5677 		ready_to_procure,
5678 		mps_transaction_id,
5679 		shipping_request_id,
5680 		unit_number,
5681 		ndb_schedule_designator,
5682 		shippable_flag,
5683 		cfe_req_flag,
5684 		inspection_req_flag,
5685 		interim_rpt_req_flag,
5686 		lot_applies_flag,
5687 		customer_approval_req_flag,
5688 		date_of_first_submission,
5689 		frequency,
5690 		acq_doc_number,
5691 		submission_flag,
5692 		data_item_subtitle,
5693 		total_num_of_copies,
5694 		cdrl_category,
5695 		data_item_name,
5696 		export_flag,
5697 		export_license_num,
5698 		export_license_res,
5699 		comments,
5700 		sfwt_flag,
5701 		status,
5702 		volume,
5703 		volume_uom_code,
5704 		weight,
5705 		weight_uom_code,
5706 		expenditure_type,
5707 		expenditure_organization_id,
5708 		expenditure_item_date,
5709 		destination_type_code,
5710 		rate_type,
5711 		rate_date,
5712 		exchange_rate,
5713 		expected_shipment_date,
5714 		initiate_shipment_date,
5715 		promised_shipment_date
5716 
5717            INTO r_deliverable_1
5718            FROM oke_k_deliverables_vl
5719            WHERE deliverable_id=current_deliverable_1
5720            AND major_version=vVersion1;
5721 
5722 
5723         END IF;
5724 
5725            SELECT
5726 		deliverable_num,
5727 		item_id,
5728                 description,
5729                 project_number,
5730 		project_name,
5731 		task_number,
5732 		delivery_date,
5733 		status_code,
5734 		parent_deliverable_id,
5735 		direction,
5736 		ship_to_org_id,
5737 		ship_to_location_id,
5738 		ship_from_org_id,
5739 		ship_from_location_id,
5740 		start_date,
5741 		end_date,
5742 		need_by_date,
5743 		priority_code,
5744 		currency_code,
5745 		unit_price,
5746 		uom_code,
5747 		quantity,
5748 		country_of_origin_code,
5749 		subcontracted_flag,
5750 		dependency_flag,
5751 		billable_flag,
5752 		billing_event_id,
5753 		drop_shipped_flag,
5754 		completed_flag,
5755 		available_for_ship_flag,
5756 		create_demand,
5757 		ready_to_bill,
5758 		ready_to_procure,
5759 		mps_transaction_id,
5760 		shipping_request_id,
5761 		unit_number,
5762 		ndb_schedule_designator,
5763 		shippable_flag,
5764 		cfe_req_flag,
5765 		inspection_req_flag,
5766 		interim_rpt_req_flag,
5767 		lot_applies_flag,
5768 		customer_approval_req_flag,
5769 		date_of_first_submission,
5770 		frequency,
5771 		acq_doc_number,
5772 		submission_flag,
5773 		data_item_subtitle,
5774 		total_num_of_copies,
5775 		cdrl_category,
5776 		data_item_name,
5777 		export_flag,
5778 		export_license_num,
5779 		export_license_res,
5780 		comments,
5781 		sfwt_flag,
5782 		status,
5783 		volume,
5784 		volume_uom_code,
5785 		weight,
5786 		weight_uom_code,
5787 		expenditure_type,
5788 		expenditure_organization_id,
5789 		expenditure_item_date,
5790 		destination_type_code,
5791 		rate_type,
5792 		rate_date,
5793 		exchange_rate,
5794 		expected_shipment_date,
5795 		initiate_shipment_date,
5796 		promised_shipment_date
5797 
5798 
5799            INTO r_deliverable_2
5800            FROM oke_k_deliverables_vlh
5801            WHERE deliverable_id=current_deliverable_1
5802            AND major_version=vVersion2;
5803 
5804 	   IF (r_deliverable_1.deliverable_num <> r_deliverable_2.deliverable_num)
5805 		 OR( NOT((  r_deliverable_1.deliverable_num is null)and(r_deliverable_2.deliverable_num is null))
5806              AND (( r_deliverable_1.deliverable_num is null)or(r_deliverable_2.deliverable_num is null)))THEN
5807               l_prompt :='DELIVERABLE_NUM';
5808               l_data1  :=r_deliverable_1.deliverable_num;
5809               l_data2  :=r_deliverable_2.deliverable_num;
5810 
5811               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5812             END IF;
5813 
5814 	   IF nvl(r_deliverable_1.item_id,0) <> nvl(r_deliverable_2.item_id,0) THEN
5815 		-- OR( NOT((  r_deliverable_1.item_id is null)and(r_deliverable_2.item_id is null))
5816              --AND (( r_deliverable_1.item_id is null)or(r_deliverable_2.item_id is null)))THEN
5817               l_prompt :='ITEM';
5818 
5819               OPEN c_item(r_deliverable_1.item_id);
5820               FETCH c_item INTO l_data1;
5821               CLOSE c_item;
5822 
5823               OPEN c_item(r_deliverable_2.item_id);
5824               FETCH c_item INTO l_data2;
5825               CLOSE c_item;
5826 
5827               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5828             END IF;
5829 
5830            IF nvl(r_deliverable_1.description,' ') <> nvl(r_deliverable_2.description, ' ')THEN
5831               l_prompt :='DESCRIPTION';
5832               l_data1  :=r_deliverable_1.description;
5833               l_data2  :=r_deliverable_2.description;
5834 
5835               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5836            END IF;
5837 
5838            IF (r_deliverable_1.project_number <> r_deliverable_2.project_number)
5839 		 OR( NOT((  r_deliverable_1.project_number is null)and(r_deliverable_2.project_number is null))
5840              AND (( r_deliverable_1.project_number is null)or(r_deliverable_2.project_number is null)))THEN
5841               l_prompt :='PROJECT_NUMBER';
5842               l_data1  :=r_deliverable_1.project_number;
5843               l_data2  :=r_deliverable_2.project_number;
5844 
5845               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5846             END IF;
5847 
5848            IF (r_deliverable_1.delivery_date <>r_deliverable_2.delivery_date)
5849 		 OR( NOT((  r_deliverable_1.delivery_date is null)and(r_deliverable_2.delivery_date is null))
5850              AND (( r_deliverable_1.delivery_date is null)or(r_deliverable_2.delivery_date is null)))THEN
5851               l_prompt :='DELIVERY_DATE';
5852               l_data1  :=r_deliverable_1.delivery_date;
5853               l_data2  :=r_deliverable_2.delivery_date;
5854 
5855               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5856             END IF;
5857 /*
5858 	    IF (r_deliverable_1.status_code <> r_deliverable_2.status_code)
5859 		 OR( NOT((  r_deliverable_1.status_code is null)and(r_deliverable_2.status_code is null))
5860              AND (( r_deliverable_1.status_code is null)or(r_deliverable_2.status_code is null)))THEN
5861               l_prompt :='STATUS_CODE';
5862               l_data1  :=r_deliverable_1.status_code;
5863               l_data2  :=r_deliverable_2.status_code;
5864 
5865               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5866             END IF;
5867 */
5868 
5869             IF (r_deliverable_1.parent_deliverable_id <> r_deliverable_2.parent_deliverable_id)
5870 		 OR( NOT((  r_deliverable_1.parent_deliverable_id is null)and(r_deliverable_2.parent_deliverable_id is null))
5871              AND (( r_deliverable_1.parent_deliverable_id is null)or(r_deliverable_2.parent_deliverable_id is null)))THEN
5872               l_prompt :='PARENT_DELIVERABLE_ID';
5873               l_data1  :=r_deliverable_1.parent_deliverable_id;
5874               l_data2  :=r_deliverable_2.parent_deliverable_id;
5875 
5876               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5877             END IF;
5878 
5879             IF (r_deliverable_1.direction <> r_deliverable_2.direction)
5880 		 OR( NOT((  r_deliverable_1.direction is null)and(r_deliverable_2.direction is null))
5881              AND (( r_deliverable_1.direction is null)or(r_deliverable_2.direction is null)))THEN
5882               l_prompt :='DIRECTION';
5883               l_data1  :=r_deliverable_1.direction;
5884               l_data2  :=r_deliverable_2.direction;
5885 
5886               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5887             END IF;
5888 
5889             IF (r_deliverable_1.task_number <>r_deliverable_2.task_number)
5890 		 OR( NOT((  r_deliverable_1.task_number is null)and(r_deliverable_2.task_number is null))
5891              AND (( r_deliverable_1.task_number is null)or(r_deliverable_2.task_number is null)))THEN
5892               l_prompt :='TASK_NUMBER';
5893               l_data1  :=r_deliverable_1.task_number;
5894               l_data2  :=r_deliverable_2.task_number;
5895 
5896               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5897             END IF;
5898 
5899             IF nvl(r_deliverable_1.ship_to_org_id,0) <>nvl(r_deliverable_2.ship_to_org_id,0)  THEN
5900               l_prompt :='SHIP_TO_ORG';
5901 
5902                IF (nvl(r_deliverable_1.direction,' ')= 'IN') THEN
5903 
5904                  OPEN c5(r_deliverable_1.ship_to_org_id);
5905                  FETCH c5 INTO  l_data1;
5906                  CLOSE c5;
5907 
5908                  OPEN c5(r_deliverable_2.ship_to_org_id);
5909                  FETCH c5 INTO  l_data2;
5910                  CLOSE c5;
5911 
5912                ELSE
5913 
5914                  OPEN  c6(r_deliverable_1.ship_to_org_id);
5915                  FETCH c6 INTO  l_data1;
5916                  CLOSE c6;
5917 
5918                  OPEN c6(r_deliverable_2.ship_to_org_id);
5919                  FETCH c6 INTO  l_data2;
5920                  CLOSE c6;
5921             END IF;
5922 
5923               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5924             END IF;
5925 
5926             IF nvl(r_deliverable_1.ship_to_location_id,0) <> nvl(r_deliverable_2.ship_to_location_id,0) THEN
5927 
5928               l_prompt :='SHIP_TO_LOCATION';
5929 
5930               IF (nvl(r_deliverable_1.direction,' ')= 'OUT') THEN
5931                     OPEN c_ship_to_location_out(r_deliverable_1.ship_to_location_id);
5932                     FETCH c_ship_to_location_out INTO  l_data1;
5933                     CLOSE c_ship_to_location_out;
5934 
5935                     OPEN c_ship_to_location_out(r_deliverable_2.ship_to_location_id);
5936                     FETCH c_ship_to_location_out INTO  l_data2;
5937                     CLOSE c_ship_to_location_out;
5938 
5939 
5940               ELSE
5941                      OPEN c_ship_to_location_in(r_deliverable_1.ship_to_location_id);
5942                      FETCH c_ship_to_location_in INTO  l_data1;
5943                      CLOSE c_ship_to_location_in;
5944 
5945                      OPEN c_ship_to_location_in(r_deliverable_2.ship_to_location_id);
5946                      FETCH c_ship_to_location_in INTO  l_data2;
5947                      CLOSE c_ship_to_location_in;
5948 
5949 
5950               END IF;
5951 
5952               insert_comp_result(vHeader_id,vVersion1,vVersion2);
5953             END IF;
5954 
5955            IF nvl(r_deliverable_1.ship_from_org_id,0) <> nvl(r_deliverable_2.ship_from_org_id,0 ) THEN
5956               l_prompt :='SHIP_FROM_ORG';
5957 
5958               OPEN c_buy_or_sell(vHeader_id);
5959               FETCH c_buy_or_sell INTO l_buy_or_sell;
5960               CLOSE c_buy_or_sell;
5961 
5962               IF (nvl(r_deliverable_1.direction,' ')= 'IN') THEN
5963                  IF  l_buy_or_sell = 'B' then
5964                      OPEN c4(r_deliverable_1.ship_from_org_id);
5965                      FETCH c4 INTO  l_data1;
5966                      CLOSE c4;
5967 
5968                      OPEN c4(r_deliverable_2.ship_from_org_id);
5969                      FETCH c4 INTO  l_data2;
5970                      CLOSE c4;
5971 
5972                  ELSE
5973                      OPEN c6(r_deliverable_1.ship_from_org_id);
5974                      FETCH c6 INTO  l_data1;
5975                      CLOSE c6;
5976 
5977                      OPEN c6(r_deliverable_2.ship_from_org_id);
5978                      FETCH c6 INTO  l_data2;
5979                      CLOSE c6;
5980 
5981                  END IF;
5982                ELSE
5983                      OPEN c5(r_deliverable_1.ship_from_org_id);
5984                      FETCH c5 INTO  l_data1;
5985                      CLOSE c5;
5986 
5987                      OPEN c5(r_deliverable_2.ship_from_org_id);
5988                      FETCH c5 INTO  l_data2;
5989                      CLOSE c5;
5990                END IF;
5991 
5992                insert_comp_result(vHeader_id,vVersion1,vVersion2);
5993             END IF;
5994 
5995             IF NVL(r_deliverable_1.ship_from_location_id,0) <> NVL(r_deliverable_2.ship_from_location_id,0 )THEN
5996               l_prompt :='SHIP_FROM_LOCATION';
5997 
5998               OPEN c_buy_or_sell(vHeader_id);
5999               FETCH c_buy_or_sell INTO l_buy_or_sell;
6000               CLOSE c_buy_or_sell;
6001 
6002               IF (nvl(r_deliverable_1.direction,' ')= 'OUT')THEN
6003                     OPEN c_ship_from_location_out(r_deliverable_1.ship_from_location_id);
6004                     FETCH c_ship_from_location_out INTO  l_data1;
6005                     CLOSE c_ship_from_location_out;
6006 
6007                     OPEN c_ship_from_location_out(r_deliverable_2.ship_from_location_id);
6008                     FETCH c_ship_from_location_out INTO  l_data2;
6009                     CLOSE c_ship_from_location_out;
6010 
6011               ELSE
6012                     IF  (l_buy_or_sell='S')  THEN
6013                         OPEN c_ship_from_location_si(r_deliverable_1.ship_from_location_id);
6014                         FETCH c_ship_from_location_si INTO  l_data1;
6015                         CLOSE c_ship_from_location_si;
6016 
6017                         OPEN c_ship_from_location_si(r_deliverable_2.ship_from_location_id);
6018                         FETCH c_ship_from_location_si INTO  l_data2;
6019                         CLOSE c_ship_from_location_si;
6020 
6021                     ELSE
6022                         OPEN c_ship_from_location_bi(r_deliverable_1.ship_from_location_id);
6023                         FETCH c_ship_from_location_bi INTO  l_data1;
6024                         CLOSE c_ship_from_location_bi;
6025 
6026                         OPEN c_ship_from_location_bi(r_deliverable_2.ship_from_location_id);
6027                         FETCH c_ship_from_location_bi INTO  l_data2;
6028                         CLOSE c_ship_from_location_bi;
6029                     END IF;
6030                END IF;
6031 
6032               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6033             END IF;
6034 
6035             IF (r_deliverable_1.need_by_date <>r_deliverable_2.need_by_date)
6036  		 OR( NOT((  r_deliverable_1.need_by_date is null)and(r_deliverable_2.need_by_date is null))
6037              AND (( r_deliverable_1.need_by_date is null)or(r_deliverable_2.need_by_date is null)))THEN
6038               l_prompt :='NEED_BY_DATE';
6039               l_data1  :=r_deliverable_1.need_by_date;
6040               l_data2  :=r_deliverable_2.need_by_date;
6041 
6042               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6043             END IF;
6044 
6045 
6046 
6047            IF (r_deliverable_1.currency_code <>r_deliverable_2.currency_code)
6048 		 OR( NOT((  r_deliverable_1.delivery_date is null)and(r_deliverable_2.delivery_date is null))
6049              AND (( r_deliverable_1.delivery_date is null)or(r_deliverable_2.delivery_date is null)))THEN
6050               l_prompt :='CURRENCY_CODE';
6051               l_data1  :=r_deliverable_1.currency_code;
6052               l_data2  :=r_deliverable_2.currency_code;
6053 
6054               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6055             END IF;
6056 
6057             IF (r_deliverable_1.unit_price <>r_deliverable_2.unit_price)
6058 		 OR( NOT((  r_deliverable_1.unit_price is null)and(r_deliverable_2.unit_price is null))
6059              AND (( r_deliverable_1.unit_price is null)or(r_deliverable_2.unit_price is null)))THEN
6060               l_prompt :='UNIT_PRICE';
6061               l_data1  :=r_deliverable_1.unit_price;
6062               l_data2  :=r_deliverable_2.unit_price;
6063 
6064               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6065             END IF;
6066 
6067             IF (r_deliverable_1.uom_code <>r_deliverable_2.uom_code)
6068 		 OR( NOT((  r_deliverable_1.uom_code is null)and(r_deliverable_2.uom_code is null))
6069              AND (( r_deliverable_1.uom_code is null)or(r_deliverable_2.uom_code is null)))THEN
6070               l_prompt :='UOM_CODE';
6071               l_data1  :=r_deliverable_1.uom_code;
6072               l_data2  :=r_deliverable_2.uom_code;
6073 
6074               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6075             END IF;
6076 
6077 
6078             IF nvl(r_deliverable_1.quantity,0) <>nvl(r_deliverable_2.quantity,0) THEN
6079               l_prompt :='QUANTITY';
6080               l_data1  :=r_deliverable_1.quantity;
6081               l_data2  :=r_deliverable_2.quantity;
6082 
6083               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6084             END IF;
6085 
6086             IF (r_deliverable_1.country_of_origin_code <>r_deliverable_2.country_of_origin_code)
6087 		 OR( NOT((  r_deliverable_1.country_of_origin_code is null)and(r_deliverable_2.country_of_origin_code is null))
6088              AND (( r_deliverable_1.country_of_origin_code is null)or(r_deliverable_2.country_of_origin_code is null)))THEN
6089               l_prompt :='COUNTRY_OF_ORIGIN_CODE';
6090               l_data1  :=r_deliverable_1.country_of_origin_code;
6091               l_data2  :=r_deliverable_2.country_of_origin_code;
6092 
6093               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6094             END IF;
6095 
6096             IF ((r_deliverable_1.subcontracted_flag = 'Y') AND (NVL(r_deliverable_2.subcontracted_flag ,' ')<>'Y'))
6097              OR((r_deliverable_2.subcontracted_flag = 'Y') AND (NVL(r_deliverable_1.subcontracted_flag ,' ')<>'Y'))THEN
6098               l_prompt :='SUBCONTRACTED_FLAG';
6099               l_data1  :=r_deliverable_1.subcontracted_flag;
6100               l_data2  :=r_deliverable_2.subcontracted_flag;
6101 
6102               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6103             END IF;
6104 
6105             IF ((r_deliverable_1.dependency_flag = 'Y') AND (NVL(r_deliverable_2.dependency_flag ,' ')<>'Y'))
6106              OR((r_deliverable_2.dependency_flag = 'Y') AND (NVL(r_deliverable_1.dependency_flag ,' ')<>'Y')) THEN
6107               l_prompt :='DEPENDENCY_FLAG';
6108               l_data1  :=r_deliverable_1.dependency_flag;
6109               l_data2  :=r_deliverable_2.dependency_flag;
6110 
6111               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6112             END IF;
6113 
6114             IF ((r_deliverable_1.billable_flag = 'Y') AND (NVL(r_deliverable_2.billable_flag,' ')<>'Y'))
6115              OR((r_deliverable_2.billable_flag = 'Y') AND (NVL(r_deliverable_1.billable_flag,' ')<>'Y')) THEN
6116               l_prompt :='BILLABLE_FLAG';
6117               l_data1  :=r_deliverable_1.billable_flag;
6118               l_data2  :=r_deliverable_2.billable_flag;
6119 
6120               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6121             END IF;
6122 
6123             IF ((r_deliverable_1.shippable_flag = 'Y') AND (NVL(r_deliverable_2.shippable_flag,' ')<>'Y'))
6124              OR((r_deliverable_2.shippable_flag = 'Y') AND (NVL(r_deliverable_1.shippable_flag,' ')<>'Y')) THEN
6125               l_prompt :='SHIPPABLE_FLAG';
6126               l_data1  :=r_deliverable_1.shippable_flag;
6127               l_data2  :=r_deliverable_2.shippable_flag;
6128 
6129               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6130             END IF;
6131 
6132 	    IF (r_deliverable_1.start_date <> r_deliverable_2.start_date)
6133 		 OR( NOT((  r_deliverable_1.start_date is null)and(r_deliverable_2.start_date is null))
6134              AND (( r_deliverable_1.start_date is null)or(r_deliverable_2.start_date is null)))THEN
6135               l_prompt :='START_DATE';
6136               l_data1  :=r_deliverable_1.start_date;
6137               l_data2  :=r_deliverable_2.start_date;
6138               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6139             END IF;
6140 
6141 	    IF (r_deliverable_1.end_date <> r_deliverable_2.end_date)
6142 		 OR( NOT((  r_deliverable_1.end_date is null)and(r_deliverable_2.end_date is null))
6143              AND (( r_deliverable_1.end_date is null)or(r_deliverable_2.end_date is null)))THEN
6144               l_prompt :='END_DATE';
6145               l_data1  :=r_deliverable_1.end_date;
6146               l_data2  :=r_deliverable_2.end_date;
6147 
6148               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6149             END IF;
6150 
6151 	    IF (r_deliverable_1.priority_code <> r_deliverable_2.priority_code)
6152 		 OR( NOT((  r_deliverable_1.priority_code is null)and(r_deliverable_2.priority_code is null))
6153              AND (( r_deliverable_1.priority_code is null)or(r_deliverable_2.priority_code is null)))THEN
6154               l_prompt :='PRIORITY_CODE';
6155               l_data1  :=r_deliverable_1.priority_code;
6156               l_data2  :=r_deliverable_2.priority_code;
6157 
6158               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6159             END IF;
6160 
6161             IF ((r_deliverable_1.available_for_ship_flag = 'Y') AND (NVL(r_deliverable_2.available_for_ship_flag ,' ')<>'Y'))
6162              OR((r_deliverable_2.available_for_ship_flag = 'Y') AND (NVL(r_deliverable_1.available_for_ship_flag ,' ')<>'Y'))THEN
6163               l_prompt :='AVAILABLE_FOR_SHIP_FLAG';
6164               l_data1  :=r_deliverable_1.available_for_ship_flag;
6165               l_data2  :=r_deliverable_2.available_for_ship_flag;
6166 
6167               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6168             END IF;
6169 
6170             IF (r_deliverable_1.create_demand <>r_deliverable_2.create_demand)
6171 		 OR( NOT((  r_deliverable_1.create_demand is null)and(r_deliverable_2.create_demand is null))
6172              AND (( r_deliverable_1.create_demand is null)or(r_deliverable_2.create_demand is null)))THEN
6173               l_prompt :='CREATE_DEMAND';
6174               l_data1  :=r_deliverable_1.create_demand;
6175               l_data2  :=r_deliverable_2.create_demand;
6176 
6177               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6178             END IF;
6179 
6180              IF (r_deliverable_1.ready_to_bill <>r_deliverable_2.ready_to_bill )
6181 		 OR( NOT((  r_deliverable_1.ready_to_bill is null)and(r_deliverable_2.ready_to_bill is null))
6182              AND (( r_deliverable_1.ready_to_bill is null)or(r_deliverable_2.ready_to_bill is null)))THEN
6183               l_prompt :='READY_TO_BILL';
6184               l_data1  :=r_deliverable_1.ready_to_bill;
6185               l_data2  :=r_deliverable_2.ready_to_bill;
6186 
6187               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6188             END IF;
6189 
6190             IF (r_deliverable_1.ready_to_procure <>r_deliverable_2.ready_to_procure )
6191 		 OR( NOT((  r_deliverable_1.ready_to_procure is null)and(r_deliverable_2.ready_to_procure is null))
6192              AND (( r_deliverable_1.ready_to_procure is null)or(r_deliverable_2.ready_to_procure is null)))THEN
6193               l_prompt :='READY_TO_PROCURE';
6194               l_data1  :=r_deliverable_1.ready_to_procure;
6195               l_data2  :=r_deliverable_2.ready_to_procure;
6196 
6197               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6198             END IF;
6199 
6200 	    IF ((r_deliverable_1.drop_shipped_flag = 'Y') AND (NVL(r_deliverable_2.drop_shipped_flag ,' ')<>'Y'))
6201              OR((r_deliverable_2.drop_shipped_flag = 'Y') AND (NVL(r_deliverable_1.drop_shipped_flag ,' ')<>'Y'))THEN
6202               l_prompt :='DROP_SHIPPED_FLAG';
6203               l_data1  :=r_deliverable_1.drop_shipped_flag;
6204               l_data2  :=r_deliverable_2.drop_shipped_flag;
6205 
6206               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6207             END IF;
6208 
6209             IF (r_deliverable_1.billing_event_id <> r_deliverable_2.billing_event_id)
6210 		 OR( NOT((  r_deliverable_1.billing_event_id is null)and(r_deliverable_2.billing_event_id is null))
6211              AND (( r_deliverable_1.billing_event_id is null)or(r_deliverable_2.billing_event_id is null)))THEN
6212               l_prompt :='BILLING_EVENT_ID';
6213               l_data1  :=r_deliverable_1.billing_event_id;
6214               l_data2  :=r_deliverable_2.billing_event_id;
6215 
6216               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6217             END IF;
6218 
6219             IF (r_deliverable_1.ndb_schedule_designator <>r_deliverable_2.ndb_schedule_designator)
6220 		 OR( NOT((  r_deliverable_1.ndb_schedule_designator is null)and(r_deliverable_2.ndb_schedule_designator is null))
6221              AND (( r_deliverable_1.ndb_schedule_designator is null)or(r_deliverable_2.ndb_schedule_designator is null)))THEN
6222               l_prompt :='NDB_SCHEDULE_DESIGNATOR';
6223               l_data1  :=r_deliverable_1.ndb_schedule_designator;
6224               l_data2  :=r_deliverable_2.ndb_schedule_designator;
6225 
6226               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6227             END IF;
6228 
6229             IF (r_deliverable_1.expected_shipment_date <>r_deliverable_2.expected_shipment_date)
6230 		 OR( NOT((  r_deliverable_1.expected_shipment_date is null)and(r_deliverable_2.expected_shipment_date is null))
6231              AND (( r_deliverable_1.expected_shipment_date is null)or(r_deliverable_2.expected_shipment_date is null)))THEN
6232               l_prompt :='EXPECTED_SHIPMENT_DATE';
6233               l_data1  :=r_deliverable_1.expected_shipment_date;
6234               l_data2  :=r_deliverable_2.expected_shipment_date;
6235 
6236               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6237             END IF;
6238 
6239 /*
6240             IF (r_deliverable_1.initiate_shipment_date <> r_deliverable_2.initiate_shipment_date)
6241 		 OR( NOT((  r_deliverable_1.initiate_shipment_date is null)and(r_deliverable_2.initiate_shipment_date is null))
6242              AND (( r_deliverable_1.initiate_shipment_date is null)or(r_deliverable_2.initiate_shipment_date is null)))THEN
6243               l_prompt :='INITIATE_SHIPMENT_DATE';
6244               l_data1  :=r_deliverable_1.initiate_shipment_date;
6245               l_data2  :=r_deliverable_2.initiate_shipment_date;
6246 
6247               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6248             END IF;
6249 */
6250             IF (r_deliverable_1.promised_shipment_date <>r_deliverable_2.promised_shipment_date)
6251 		 OR( NOT((  r_deliverable_1.promised_shipment_date is null)and(r_deliverable_2.promised_shipment_date is null))
6252              AND (( r_deliverable_1.promised_shipment_date is null)or(r_deliverable_2.promised_shipment_date is null)))THEN
6253               l_prompt :='PROMISED_SHIPMENT_DATE';
6254               l_data1  :=r_deliverable_1.promised_shipment_date;
6255               l_data2  :=r_deliverable_2.promised_shipment_date;
6256 
6257               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6258             END IF;
6259 
6260             IF (r_deliverable_1.comments <>r_deliverable_2.comments )
6261 		 OR( NOT((  r_deliverable_1.comments is null)and(r_deliverable_2.comments is null))
6262              AND (( r_deliverable_1.comments is null)or(r_deliverable_2.comments is null)))THEN
6263               l_prompt :='COMMENTS';
6264               l_data1  :=r_deliverable_1.comments;
6265               l_data2  :=r_deliverable_2.comments;
6266 
6267               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6268             END IF;
6269 
6270 	   IF ((r_deliverable_1.completed_flag = 'Y') AND (NVL(r_deliverable_2.completed_flag ,' ')<>'Y'))
6271             OR((r_deliverable_2.completed_flag = 'Y') AND (NVL(r_deliverable_1.completed_flag ,' ')<>'Y')) THEN
6272               l_prompt :='COMPLETED_FLAG';
6273               l_data1  :=r_deliverable_1.completed_flag;
6274               l_data2  :=r_deliverable_2.completed_flag;
6275 
6276               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6277             END IF;
6278 
6279 	    IF (r_deliverable_1.mps_transaction_id <>r_deliverable_2.mps_transaction_id )
6280 		 OR( NOT((  r_deliverable_1.mps_transaction_id is null)and(r_deliverable_2.mps_transaction_id is null))
6281              AND (( r_deliverable_1.mps_transaction_id is null)or(r_deliverable_2.mps_transaction_id is null)))THEN
6282               l_prompt :='MPS_TRANSACTION_ID';
6283               l_data1  :=r_deliverable_1.mps_transaction_id;
6284               l_data2  :=r_deliverable_2.mps_transaction_id;
6285 
6286               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6287             END IF;
6288 
6289 	    IF (r_deliverable_1.shipping_request_id <>r_deliverable_2.shipping_request_id )
6290 		 OR( NOT((  r_deliverable_1.shipping_request_id is null)and(r_deliverable_2.shipping_request_id is null))
6291              AND (( r_deliverable_1.shipping_request_id is null)or(r_deliverable_2.shipping_request_id is null)))THEN
6292               l_prompt :='SHIPPING_REQUEST_ID';
6293               l_data1  :=r_deliverable_1.shipping_request_id;
6294               l_data2  :=r_deliverable_2.shipping_request_id;
6295 
6296               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6297             END IF;
6298 
6299             IF ((r_deliverable_1.inspection_req_flag = 'Y') AND (NVL(r_deliverable_2.inspection_req_flag ,' ')<>'Y'))
6300              OR((r_deliverable_2.inspection_req_flag = 'Y') AND (NVL(r_deliverable_1.inspection_req_flag ,' ')<>'Y')) THEN
6301               l_prompt :='INSPECTION_REQ_FLAG';
6302               l_data1  :=r_deliverable_1.inspection_req_flag;
6303               l_data2  :=r_deliverable_2.inspection_req_flag;
6304 
6305               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6306             END IF;
6307 
6308 	    IF ((r_deliverable_1.interim_rpt_req_flag = 'Y') AND (NVL(r_deliverable_2.interim_rpt_req_flag ,' ')<>'Y'))
6309              OR((r_deliverable_2.interim_rpt_req_flag = 'Y') AND (NVL(r_deliverable_1.interim_rpt_req_flag ,' ')<>'Y')) THEN
6310               l_prompt :='INTERIM_RPT_REQ_FLAG';
6311               l_data1  :=r_deliverable_1.interim_rpt_req_flag;
6312               l_data2  :=r_deliverable_2.interim_rpt_req_flag;
6313 
6314               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6315             END IF;
6316 
6317 	    IF ((r_deliverable_1.customer_approval_req_flag = 'Y') AND (NVL(r_deliverable_2.customer_approval_req_flag ,' ')<>'Y'))
6318              OR((r_deliverable_2.customer_approval_req_flag = 'Y') AND (NVL(r_deliverable_1.customer_approval_req_flag ,' ')<>'Y'))THEN
6319               l_prompt :='CUSTOMER_APPROVAL_REQ_FLAG';
6320               l_data1  :=r_deliverable_1.customer_approval_req_flag;
6321               l_data2  :=r_deliverable_2.customer_approval_req_flag;
6322 
6323               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6324             END IF;
6325 
6326             IF (r_deliverable_1.date_of_first_submission <>r_deliverable_2.date_of_first_submission )
6327 		 OR( NOT((  r_deliverable_1.date_of_first_submission is null)and(r_deliverable_2.date_of_first_submission is null))
6328              AND (( r_deliverable_1.date_of_first_submission is null)or(r_deliverable_2.date_of_first_submission is null)))THEN
6329               l_prompt :='DATE_OF_FIRST_SUBMISSION';
6330               l_data1  :=r_deliverable_1.date_of_first_submission;
6331               l_data2  :=r_deliverable_2.date_of_first_submission;
6332 
6333               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6334             END IF;
6335 
6336 	    IF (r_deliverable_1.frequency <>r_deliverable_2.frequency )
6337 		 OR( NOT((  r_deliverable_1.frequency is null)and(r_deliverable_2.frequency is null))
6338              AND (( r_deliverable_1.frequency is null)or(r_deliverable_2.frequency is null)))THEN
6339               l_prompt :='FREQUENCY';
6340               l_data1  :=r_deliverable_1.frequency;
6341               l_data2  :=r_deliverable_2.frequency;
6342 
6343               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6344             END IF;
6345 
6346 	    IF ((r_deliverable_1.submission_flag = 'Y') AND (NVL(r_deliverable_2.submission_flag ,' ')<>'Y'))
6347              OR((r_deliverable_2.submission_flag = 'Y') AND (NVL(r_deliverable_1.submission_flag ,' ')<>'Y'))THEN
6348               l_prompt :='SUBMISSION_FLAG';
6349               l_data1  :=r_deliverable_1.submission_flag;
6350               l_data2  :=r_deliverable_2.submission_flag;
6351 
6352               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6353             END IF;
6354 
6355             IF (r_deliverable_1.data_item_subtitle <>r_deliverable_2.data_item_subtitle )
6356 		 OR( NOT((  r_deliverable_1.data_item_subtitle is null)and(r_deliverable_2.data_item_subtitle is null))
6357              AND (( r_deliverable_1.data_item_subtitle is null)or(r_deliverable_2.data_item_subtitle is null)))THEN
6358               l_prompt :='DATA_ITEM_SUBTITLE';
6359               l_data1  :=r_deliverable_1.data_item_subtitle;
6360               l_data2  :=r_deliverable_2.data_item_subtitle;
6361 
6362               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6363             END IF;
6364 
6365 	    IF (r_deliverable_1.total_num_of_copies <>r_deliverable_2.total_num_of_copies )
6366 		 OR( NOT((  r_deliverable_1.total_num_of_copies is null)and(r_deliverable_2.total_num_of_copies is null))
6367              AND (( r_deliverable_1.total_num_of_copies is null)or(r_deliverable_2.total_num_of_copies is null)))THEN
6368               l_prompt :='TOTAL_NUM_OF_COPIES';
6369               l_data1  :=r_deliverable_1.total_num_of_copies;
6370               l_data2  :=r_deliverable_2.total_num_of_copies;
6371 
6372               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6373             END IF;
6374 
6375 	    IF (r_deliverable_1.cdrl_category <>r_deliverable_2.cdrl_category )
6376 		 OR( NOT((  r_deliverable_1.cdrl_category is null)and(r_deliverable_2.cdrl_category is null))
6377              AND (( r_deliverable_1.cdrl_category is null)or(r_deliverable_2.cdrl_category is null)))THEN
6378               l_prompt :='CDRL_CATEGORY';
6379               l_data1  :=r_deliverable_1.cdrl_category;
6380               l_data2  :=r_deliverable_2.cdrl_category;
6381 
6382               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6383             END IF;
6384 
6385             IF (r_deliverable_1.data_item_name <>r_deliverable_2.data_item_name )
6386 		 OR( NOT((  r_deliverable_1.data_item_name is null)and(r_deliverable_2.data_item_name is null))
6387              AND (( r_deliverable_1.data_item_name is null)or(r_deliverable_2.data_item_name is null)))THEN
6388               l_prompt :='DATA_ITEM_NAME';
6389               l_data1  :=r_deliverable_1.data_item_name;
6390               l_data2  :=r_deliverable_2.data_item_name;
6391 
6392               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6393             END IF;
6394 
6395 	    IF ((r_deliverable_1.export_flag = 'Y') AND (NVL(r_deliverable_2.export_flag ,' ')<>'Y'))
6396              OR((r_deliverable_2.export_flag = 'Y') AND (NVL(r_deliverable_1.export_flag ,' ')<>'Y'))THEN
6397               l_prompt :='EXPORT_FLAG';
6398               l_data1  :=r_deliverable_1.export_flag;
6399               l_data2  :=r_deliverable_2.export_flag;
6400 
6401               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6402             END IF;
6403 
6404 	    IF (r_deliverable_1.export_license_num <>r_deliverable_2.export_license_num )
6405 		 OR( NOT((  r_deliverable_1.export_license_num is null)and(r_deliverable_2.export_license_num is null))
6406              AND (( r_deliverable_1.export_license_num is null)or(r_deliverable_2.export_license_num is null)))THEN
6407               l_prompt :='EXPORT_LICENSE_NUM';
6408               l_data1  :=r_deliverable_1.export_license_num;
6409               l_data2  :=r_deliverable_2.export_license_num;
6410 
6411               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6412             END IF;
6413 
6414             IF (r_deliverable_1.export_license_res <>r_deliverable_2.export_license_res )
6415 		 OR( NOT((  r_deliverable_1.export_license_res is null)and(r_deliverable_2.export_license_res is null))
6416              AND (( r_deliverable_1.export_license_res is null)or(r_deliverable_2.export_license_res is null)))THEN
6417               l_prompt :='EXPORT_LICENSE_RES';
6418               l_data1  :=r_deliverable_1.export_license_res;
6419               l_data2  :=r_deliverable_2.export_license_res;
6420 
6421               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6422             END IF;
6423 
6424 	    IF (r_deliverable_1.status <>r_deliverable_2.status )
6425 		 OR( NOT((  r_deliverable_1.status is null)and(r_deliverable_2.status is null))
6426              AND (( r_deliverable_1.status is null)or(r_deliverable_2.status is null)))THEN
6427               l_prompt :='STATUS';
6428               l_data1  :=r_deliverable_1.status;
6429               l_data2  :=r_deliverable_2.status;
6430 
6431               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6432             END IF;
6433 
6434 	    IF (r_deliverable_1.volume <>r_deliverable_2.volume )
6435 		 OR( NOT((  r_deliverable_1.volume is null)and(r_deliverable_2.volume is null))
6436              AND (( r_deliverable_1.volume is null)or(r_deliverable_2.volume is null)))THEN
6437               l_prompt :='VOLUME ';
6438               l_data1  :=r_deliverable_1.volume;
6439               l_data2  :=r_deliverable_2.volume;
6440 
6441               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6442             END IF;
6443 
6444 	   IF (r_deliverable_1.volume_uom_code <>r_deliverable_2.volume_uom_code )
6445 		 OR( NOT((  r_deliverable_1.volume_uom_code is null)and(r_deliverable_2.volume_uom_code is null))
6446              AND (( r_deliverable_1.volume_uom_code is null)or(r_deliverable_2.volume_uom_code is null)))THEN
6447               l_prompt :='VOLUME_UOM_CODE';
6448               l_data1  :=r_deliverable_1.volume_uom_code;
6449               l_data2  :=r_deliverable_2.volume_uom_code;
6450 
6451               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6452             END IF;
6453 
6454 	    IF (r_deliverable_1.weight <>r_deliverable_2.weight )
6455 		 OR( NOT((  r_deliverable_1.weight is null)and(r_deliverable_2.weight is null))
6456              AND (( r_deliverable_1.weight is null)or(r_deliverable_2.weight is null)))THEN
6457               l_prompt :='WEIGHT';
6458               l_data1  :=r_deliverable_1.weight;
6459               l_data2  :=r_deliverable_2.weight;
6460 
6461               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6462             END IF;
6463 
6464 	    IF (r_deliverable_1.weight_uom_code <>r_deliverable_2.weight_uom_code )
6465 		 OR( NOT((  r_deliverable_1.weight_uom_code is null)and(r_deliverable_2.weight_uom_code is null))
6466              AND (( r_deliverable_1.weight_uom_code is null)or(r_deliverable_2.weight_uom_code is null)))THEN
6467               l_prompt :='WEIGHT_UOM_CODE';
6468               l_data1  :=r_deliverable_1.weight_uom_code;
6469               l_data2  :=r_deliverable_2.weight_uom_code;
6470 
6471               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6472             END IF;
6473 
6474             IF (r_deliverable_1.expenditure_type <>r_deliverable_2.expenditure_type )
6475 		 OR( NOT((  r_deliverable_1.expenditure_type is null)and(r_deliverable_2.expenditure_type is null))
6476              AND (( r_deliverable_1.expenditure_type is null)or(r_deliverable_2.expenditure_type is null)))THEN
6477               l_prompt :='EXPENDITURE_TYPE';
6478               l_data1  :=r_deliverable_1.expenditure_type;
6479               l_data2  :=r_deliverable_2.expenditure_type;
6480 
6481               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6482             END IF;
6483 
6484             IF (r_deliverable_1.expenditure_organization_id <>r_deliverable_2. expenditure_organization_id)
6485 		 OR( NOT((  r_deliverable_1.expenditure_organization_id is null)and(r_deliverable_2.expenditure_organization_id is null))
6486              AND (( r_deliverable_1.expenditure_organization_id is null)or(r_deliverable_2.expenditure_organization_id is null)))THEN
6487               l_prompt :='EXPENDITURE_ORGANIZATION';
6488 
6489               OPEN c_expenditure_org(r_deliverable_1.expenditure_organization_id);
6490               FETCH c_expenditure_org INTO l_data1;
6491               CLOSE c_expenditure_org;
6492 
6493               OPEN c_expenditure_org(r_deliverable_2.expenditure_organization_id);
6494               FETCH c_expenditure_org INTO l_data2;
6495               CLOSE c_expenditure_org;
6496 
6497               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6498             END IF;
6499 
6500             IF (r_deliverable_1.expenditure_item_date <>r_deliverable_2.expenditure_item_date  )
6501 		 OR( NOT((  r_deliverable_1.expenditure_item_date is null)and(r_deliverable_2.expenditure_item_date is null))
6502              AND (( r_deliverable_1.expenditure_item_date is null)or(r_deliverable_2.expenditure_item_date is null)))THEN
6503               l_prompt :='EXPENDITURE_ITEM_DATE';
6504               l_data1  :=r_deliverable_1.expenditure_item_date;
6505               l_data2  :=r_deliverable_2.expenditure_item_date;
6506 
6507               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6508             END IF;
6509 
6510             IF (r_deliverable_1.destination_type_code <>r_deliverable_2.destination_type_code )
6511 		 OR( NOT((  r_deliverable_1.destination_type_code is null)and(r_deliverable_2.destination_type_code is null))
6512              AND (( r_deliverable_1.destination_type_code is null)or(r_deliverable_2.destination_type_code is null)))THEN
6513               l_prompt :='DESTINATION_TYPE_CODE';
6514               l_data1  :=r_deliverable_1.destination_type_code;
6515               l_data2  :=r_deliverable_2.destination_type_code;
6516 
6517               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6518             END IF;
6519 
6520             IF (r_deliverable_1.rate_type <>r_deliverable_2.rate_type )
6521 		 OR( NOT((  r_deliverable_1.rate_type is null)and(r_deliverable_2.rate_type is null))
6522              AND (( r_deliverable_1.rate_type is null)or(r_deliverable_2.rate_type is null)))THEN
6523               l_prompt :='BILL_RATE_TYPE';
6524               l_data1  :=r_deliverable_1.rate_type;
6525               l_data2  :=r_deliverable_2.rate_type;
6526 
6527               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6528             END IF;
6529 
6530             IF (r_deliverable_1.rate_date <>r_deliverable_2.rate_date )
6531 		 OR( NOT((  r_deliverable_1.rate_date is null)and(r_deliverable_2.rate_date is null))
6532              AND (( r_deliverable_1.rate_date is null)or(r_deliverable_2.rate_date is null)))THEN
6533               l_prompt :='BILL_RATE_DATE';
6534               l_data1  :=r_deliverable_1.rate_date;
6535               l_data2  :=r_deliverable_2.rate_date;
6536 
6537               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6538             END IF;
6539 
6540 
6541             IF (r_deliverable_1.exchange_rate <>r_deliverable_2.exchange_rate )
6542 		 OR( NOT((  r_deliverable_1.exchange_rate is null)and(r_deliverable_2.exchange_rate is null))
6543              AND (( r_deliverable_1.exchange_rate is null)or(r_deliverable_2.exchange_rate is null)))THEN
6544               l_prompt :='BILL_EXCHANGE_RATE';
6545               l_data1  :=r_deliverable_1.exchange_rate;
6546               l_data2  :=r_deliverable_2.exchange_rate;
6547 
6548               insert_comp_result(vHeader_id,vVersion1,vVersion2);
6549             END IF;
6550 
6551         END IF;
6552 
6553      END LOOP;
6554 
6555      CLOSE  v_deliverables_1;
6556 
6557      FOR c_deliverable_2 IN c_deliverables_2 LOOP
6558         vDifference :=0;
6559 
6560 	LOOP
6561             FETCH v_deliverables_1 INTO current_deliverable_1;
6562             EXIT WHEN v_deliverables_1%NOTFOUND;
6563 
6564             IF c_deliverable_2.deliverable_id = current_deliverable_1 	THEN
6565                vDifference :=vDifference +1;
6566             END IF;
6567 
6568         END LOOP;
6569 
6570         IF vDifference = 0 THEN
6571            l_prompt := '';
6572 
6573            l_Object  :='NO_DELIVERABLE';
6574 
6575            OPEN c;
6576            FETCH c INTO l_data1;
6577            CLOSE c;
6578 
6579            l_data2  := '';
6580 
6581            SELECT deliverable_num
6582            INTO current_deliverable_num
6583            from oke_k_deliverables_bh
6584            where k_header_id=vHeader_id
6585            and k_line_id=vCurrentLineId
6586            and major_version=vVersion2
6587            and deliverable_id=c_deliverable_2.deliverable_id;
6588 
6589            l_object_name := get_full_path_linenum(vCurrentLineId,vVersion2)||'*'||current_deliverable_num;
6590 
6591 
6592            insert_comp_result(vHeader_id,vVersion1,vVersion2);
6593 
6594         END IF;
6595 
6596      END LOOP;
6597 
6598         EXCEPTION
6599             WHEN OTHERS THEN
6600             NULL;
6601 
6602   END comp_line_deliverables;
6603 
6604   PROCEDURE comp_header_articles(vHeader_id IN NUMBER, vVersion_1 IN NUMBER, vVersion_2 IN NUMBER)
6605   IS
6606      CURSOR c_articles_1 IS
6607      SELECT
6608         CHR_ID,
6609         CLE_ID,
6610         CAT_ID,
6611         CAT_TYPE,
6612         SFWT_FLAG,
6613         --SAV_SAE_ID,
6614        (SELECT sav_sae_id FROM okc_k_articles_bh WHERE id=h.id AND major_version=h.major_version) SAV_SAE_ID,
6615         SAV_SAV_RELEASE,
6616         SBT_CODE,
6617         COMMENTS,
6618         NAME,
6619         TEXT
6620      FROM  okc_k_articles_hv h
6621      WHERE dnz_chr_id=vHeader_id
6622      AND cle_id is null
6623      AND major_version=vVersion_1;
6624 
6625 
6626    CURSOR c_articles_2 IS
6627      SELECT
6628         CHR_ID,
6629         CLE_ID,
6630         CAT_ID,
6631         CAT_TYPE,
6632         SFWT_FLAG,
6633 --        SAV_SAE_ID,
6634         (SELECT sav_sae_id FROM okc_k_articles_bh WHERE id=h.id AND major_version=h.major_version) SAV_SAE_ID,
6635         SAV_SAV_RELEASE,
6636         SBT_CODE,
6637         COMMENTS,
6638         NAME,
6639         TEXT
6640      FROM  okc_k_articles_hv h
6641      WHERE dnz_chr_id=vHeader_id
6642      AND cle_id is null
6643      AND major_version=vVersion_2;
6644 
6645     /* Articles in the latest version  */
6646 
6647    CURSOR c_articles_latest IS
6648      SELECT
6649         CHR_ID,
6650         CLE_ID,
6651         CAT_ID,
6652         CAT_TYPE,
6653         SFWT_FLAG,
6654 --        SAV_SAE_ID,
6655         (SELECT sav_sae_id FROM okc_k_articles_b WHERE id=k.id) SAV_SAE_ID,
6656         SAV_SAV_RELEASE,
6657         SBT_CODE,
6658         COMMENTS,
6659         NAME,
6660         TEXT
6661      FROM  okc_k_articles_v k
6662      WHERE dnz_chr_id=vHeader_id
6663      AND cle_id is null;
6664 
6665     CURSOR c IS
6666        SELECT meaning
6667        FROM   fnd_lookup_values_vl
6668        WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
6669        AND    lookup_code = l_Object
6670        AND    view_application_id=777;
6671 
6672     l_ArticleDifference NUMBER;
6673     l_name varchar(80);
6674 
6675     l_sbt_code_1     varchar(30);
6676     l_sbt_code_2     varchar(30);
6677     l_article_name_1 varchar(150);
6678     l_article_name_2 varchar(150);
6679     l_subject_name_1 varchar(80);
6680     l_subject_name_2 varchar(80);
6681     l_release        varchar(150);
6682 
6683     BEGIN
6684        l_object_name :='';
6685        l_object      :='ARTICLE';
6686 
6687        OPEN c;
6688        FETCH c INTO l_object_type;
6689        CLOSE c;
6690 
6691        IF L_Latest_Version >= vVersion_1 THEN
6692 
6693               FOR c_article_1 IN c_articles_1 LOOP
6694                   l_ArticleDifference :=0;
6695 
6696                   get_article_info(p_cat_type      =>   c_article_1.cat_type,
6697                                        p_sav_sae_id    =>   c_article_1.sav_sae_id,
6698                                        p_sbt_code      =>   c_article_1.sbt_code,
6699                                        p_article_name  =>   c_article_1.name,
6700                                        x_sbt_code      =>   l_sbt_code_1,
6701                                        x_article_name  =>   l_article_name_1,
6702                                        x_subject_name  =>   l_subject_name_1);
6703 
6704                   FOR c_article_2 IN c_articles_2 LOOP
6705 
6706                       get_article_info(p_cat_type      =>   c_article_2.cat_type,
6707                                        p_sav_sae_id    =>   c_article_2.sav_sae_id,
6708                                        p_sbt_code      =>   c_article_2.sbt_code,
6709                                        p_article_name  =>   c_article_2.name,
6710                                        x_sbt_code      =>   l_sbt_code_2,
6711                                        x_article_name  =>   l_article_name_2,
6712                                        x_subject_name  =>   l_subject_name_2);
6713 
6714                       IF l_article_name_1 = l_article_name_2
6715                          and nvl(c_article_1.sav_sav_release,' ') = nvl(c_article_2.sav_sav_release,' ')
6716                       THEN l_ArticleDifference := l_ArticleDifference+1;
6717                       END IF;
6718                   END LOOP;
6719 
6720                   l_release := c_article_1.sav_sav_release;
6721 
6722                   IF l_ArticleDifference =0 THEN
6723                      l_prompt :=l_article_name_1||'('||l_release||')';
6724                      l_Object  :='NO_ARTICLE';
6725                      l_object_name :='';
6726 
6727                      OPEN c;
6728                      FETCH c INTO l_data2;
6729                      CLOSE c;
6730 
6731                      l_data1  := '';
6732                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
6733 
6734                   END IF;
6735               END LOOP;
6736 
6737               FOR c_article_2 IN c_articles_2 LOOP
6738                   l_ArticleDifference :=0;
6739 
6740                    get_article_info(p_cat_type      =>   c_article_2.cat_type,
6741                                        p_sav_sae_id    =>   c_article_2.sav_sae_id,
6742                                        p_sbt_code      =>   c_article_2.sbt_code,
6743                                        p_article_name  =>   c_article_2.name,
6744                                        x_sbt_code      =>   l_sbt_code_2,
6745                                        x_article_name  =>   l_article_name_2,
6746                                        x_subject_name  =>   l_subject_name_2);
6747 
6748                   FOR c_article_1 IN c_articles_1 LOOP
6749                       get_article_info(p_cat_type      =>   c_article_1.cat_type,
6750                                        p_sav_sae_id    =>   c_article_1.sav_sae_id,
6751                                        p_sbt_code      =>   c_article_1.sbt_code,
6752                                        p_article_name  =>   c_article_1.name,
6753                                        x_sbt_code      =>   l_sbt_code_1,
6754                                        x_article_name  =>   l_article_name_1,
6755                                        x_subject_name  =>   l_subject_name_1);
6756 
6757                       IF l_article_name_1 = l_article_name_2
6758                          AND nvl(c_article_1.sav_sav_release,' ') = nvl(c_article_2.sav_sav_release,' ')
6759                       THEN l_ArticleDifference := l_ArticleDifference+1;
6760                       END IF;
6761 
6762                   END LOOP;
6763 
6764                   l_release := c_article_2.sav_sav_release;
6765 
6766                   IF l_ArticleDifference =0 THEN
6767                      l_prompt :=l_article_name_2||'('||l_release||')';
6768                      l_Object  :='NO_ARTICLE';
6769                      l_object_name :='';
6770 
6771                      OPEN c;
6772                      FETCH c INTO l_data1;
6773                      CLOSE c;
6774 
6775                      l_data2  := '';
6776                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
6777 
6778                   END IF;
6779               END LOOP;
6780 
6781              ELSE
6782 
6783 	      FOR c_article_1 IN c_articles_latest LOOP
6784                   l_ArticleDifference :=0;
6785                  get_article_info(p_cat_type      =>   c_article_1.cat_type,
6786                                       p_sav_sae_id    =>   c_article_1.sav_sae_id,
6787                                        p_sbt_code      =>   c_article_1.sbt_code,
6788                                        p_article_name  =>   c_article_1.name,
6789                                        x_sbt_code      =>   l_sbt_code_1,
6790                                        x_article_name  =>   l_article_name_1,
6791                                        x_subject_name  =>   l_subject_name_1);
6792 
6793                   FOR c_article_2 IN c_articles_2 LOOP
6794                       get_article_info(p_cat_type      =>   c_article_2.cat_type,
6795                                        p_sav_sae_id    =>   c_article_2.sav_sae_id,
6796                                        p_sbt_code      =>   c_article_2.sbt_code,
6797                                        p_article_name  =>   c_article_2.name,
6798                                        x_sbt_code      =>   l_sbt_code_2,
6799                                        x_article_name  =>   l_article_name_2,
6800                                        x_subject_name  =>   l_subject_name_2);
6801 
6802                       IF l_article_name_1 = l_article_name_2
6803                          AND nvl(c_article_1.sav_sav_release, ' ') = nvl(c_article_2.sav_sav_release,' ')
6804                       THEN l_ArticleDifference := l_ArticleDifference+1;
6805                       END IF;
6806 
6807                   END LOOP;
6808 
6809                   l_release := c_article_1.sav_sav_release;
6810 
6811                   IF l_ArticleDifference =0 THEN
6812                      l_prompt := l_article_name_1||'('||l_release||')';
6813 		     l_Object  :='NO_ARTICLE';
6814                      l_object_name :='';
6815 
6816                      OPEN c;
6817                      FETCH c INTO l_data2;
6818                      CLOSE c;
6819 
6820                      l_data1  := '';
6821                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
6822                   END IF;
6823 
6824               END LOOP;
6825 
6826               FOR c_article_2 IN c_articles_2 LOOP
6827 
6828                   l_ArticleDifference :=0;
6829                   get_article_info(p_cat_type      =>   c_article_2.cat_type,
6830                                      p_sav_sae_id    =>   c_article_2.sav_sae_id,
6831                                      p_sbt_code      =>   c_article_2.sbt_code,
6832                                      p_article_name  =>   c_article_2.name,
6833                                      x_sbt_code      =>   l_sbt_code_2,
6834                                      x_article_name  =>   l_article_name_2,
6835                                      x_subject_name  =>   l_subject_name_2);
6836 
6837                   FOR c_article_1 IN c_articles_latest LOOP
6838                     get_article_info(p_cat_type      =>   c_article_1.cat_type,
6839                                      p_sav_sae_id    =>   c_article_1.sav_sae_id,
6840                                      p_sbt_code      =>   c_article_1.sbt_code,
6841                                      p_article_name  =>   c_article_1.name,
6842                                      x_sbt_code      =>   l_sbt_code_1,
6843                                      x_article_name  =>   l_article_name_1,
6844                                      x_subject_name  =>   l_subject_name_1);
6845 
6846                     IF l_article_name_1 = l_article_name_2
6847                        AND nvl(c_article_1.sav_sav_release, ' ') = nvl(c_article_2.sav_sav_release,' ')
6848                     THEN l_ArticleDifference := l_ArticleDifference+1;
6849                     END IF;
6850 
6851                   END LOOP;
6852 
6853                   l_release := c_article_2.sav_sav_release;
6854 
6855                   IF l_ArticleDifference =0 THEN
6856                      l_prompt :=  l_article_name_2||'('||l_release||')';
6857 		     l_Object  :='NO_ARTICLE';
6858                      l_object_name :='';
6859 
6860                      OPEN c;
6861                      FETCH c INTO l_data1;
6862                      CLOSE c;
6863 
6864                      l_data2  := '';
6865                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
6866 
6867                   END IF;
6868               END LOOP;
6869 
6870 	     END IF;
6871 
6872 	     EXCEPTION
6873             	WHEN NO_DATA_FOUND THEN
6874                 NULL;
6875 		WHEN OTHERS THEN
6876 		NULL;
6877 
6878   END comp_header_articles;
6879 
6880 
6881   PROCEDURE comp_line_articles(vHeader_id IN NUMBER, vVersion_1 IN NUMBER, vVersion_2 IN NUMBER,vLine_id IN NUMBER)
6882   IS CURSOR c_articles_1 IS
6883      SELECT
6884         CHR_ID,
6885         CLE_ID,
6886         CAT_ID,
6887         CAT_TYPE,
6888         SFWT_FLAG,
6889         -- SAV_SAE_ID,
6890         (SELECT sav_sae_id FROM okc_k_articles_bh WHERE id=h.id AND major_version=h.major_version) SAV_SAE_ID,
6891         SAV_SAV_RELEASE,
6892         SBT_CODE,
6893         COMMENTS,
6894         NAME,
6895         TEXT
6896      FROM  okc_k_articles_hv h
6897      WHERE dnz_chr_id=vHeader_id
6898      AND cle_id =vLine_id
6899      AND major_version=vVersion_1;
6900 
6901 
6902    CURSOR c_articles_2 IS
6903      SELECT
6904         CHR_ID,
6905         CLE_ID,
6906         CAT_ID,
6907         CAT_TYPE,
6908         SFWT_FLAG,
6909         -- SAV_SAE_ID,
6910         (SELECT sav_sae_id FROM okc_k_articles_bh WHERE id=h.id AND major_version=h.major_version) SAV_SAE_ID,
6911         SAV_SAV_RELEASE,
6912         SBT_CODE,
6913         COMMENTS,
6914         NAME,
6915         TEXT
6916      FROM  okc_k_articles_hv h
6917      WHERE dnz_chr_id=vHeader_id
6918      AND cle_id = vLine_id
6919      AND major_version=vVersion_2;
6920 
6921     /* Articles in the latest version  */
6922 
6923    CURSOR c_articles_latest IS
6924      SELECT
6925         CHR_ID,
6926         CLE_ID,
6927         CAT_ID,
6928         CAT_TYPE,
6929         SFWT_FLAG,
6930         -- SAV_SAE_ID,
6931         (SELECT sav_sae_id FROM okc_k_articles_b WHERE id=k.id) SAV_SAE_ID,
6932         SAV_SAV_RELEASE,
6933         SBT_CODE,
6934         COMMENTS,
6935         NAME,
6936         TEXT
6937      FROM  okc_k_articles_v k
6938      WHERE dnz_chr_id=vHeader_id
6939      AND cle_id =vLine_id;
6940 
6941     CURSOR c IS
6942        SELECT meaning
6943        FROM   fnd_lookup_values_vl
6944        WHERE  lookup_type = 'VER_COMP_OBJECT_TYPE'
6945        AND    lookup_code = l_Object
6946        AND    view_application_id=777;
6947 
6948     l_ArticleDifference NUMBER;
6949     l_name varchar(80);
6950 
6951     l_sbt_code_1     varchar(30);
6952     l_sbt_code_2     varchar(30);
6953     l_article_name_1 varchar(150);
6954     l_article_name_2 varchar(150);
6955     l_subject_name_1 varchar(80);
6956     l_subject_name_2 varchar(80);
6957     l_release        varchar(150);
6958 
6959     BEGIN
6960        l_object_name :='';
6961        l_object      :='ARTICLE';
6962 
6963        OPEN c;
6964        FETCH c INTO l_object_type;
6965        CLOSE c;
6966 
6967        IF L_Latest_Version >= vVersion_1 THEN
6968 
6969               FOR c_article_1 IN c_articles_1 LOOP
6970                   l_ArticleDifference :=0;
6971                 get_article_info(p_cat_type      =>   c_article_1.cat_type,
6972                                        p_sav_sae_id    =>   c_article_1.sav_sae_id,
6973                                        p_sbt_code      =>   c_article_1.sbt_code,
6974                                        p_article_name  =>   c_article_1.name,
6975                                        x_sbt_code      =>   l_sbt_code_1,
6976                                        x_article_name  =>   l_article_name_1,
6977                                        x_subject_name  =>   l_subject_name_1);
6978 
6979                  FOR c_article_2 IN c_articles_2 LOOP
6980                        get_article_info(p_cat_type      =>   c_article_2.cat_type,
6981                                        p_sav_sae_id    =>   c_article_2.sav_sae_id,
6982                                        p_sbt_code      =>   c_article_2.sbt_code,
6983                                        p_article_name  =>   c_article_2.name,
6984                                        x_sbt_code      =>   l_sbt_code_2,
6985                                        x_article_name  =>   l_article_name_2,
6986                                        x_subject_name  =>   l_subject_name_2);
6987 
6988                       IF l_article_name_1 = l_article_name_2
6989                          and nvl(c_article_1.sav_sav_release,' ') = nvl(c_article_2.sav_sav_release,' ')
6990                       THEN l_ArticleDifference := l_ArticleDifference+1;
6991                       END IF;
6992                   END LOOP;
6993 
6994                   l_release := c_article_1.sav_sav_release;
6995 
6996                   IF l_ArticleDifference =0 THEN
6997                      l_prompt := l_article_name_1||'('||l_release||')';
6998                      l_Object  :='NO_ARTICLE';
6999                      l_object_name :=  get_full_path_linenum(vLine_id,vVersion_1);
7000 
7001                      OPEN c;
7002                      FETCH c INTO l_data2;
7003                      CLOSE c;
7004 
7005                      l_data1  := '';
7006                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
7007 
7008                   END IF;
7009               END LOOP;
7010 
7011               FOR c_article_2 IN c_articles_2 LOOP
7012                   l_ArticleDifference :=0;
7013                   get_article_info(p_cat_type      =>   c_article_2.cat_type,
7014                                        p_sav_sae_id    =>   c_article_2.sav_sae_id,
7015                                        p_sbt_code      =>   c_article_2.sbt_code,
7016                                        p_article_name  =>   c_article_2.name,
7017                                        x_sbt_code      =>   l_sbt_code_2,
7018                                        x_article_name  =>   l_article_name_2,
7019                                        x_subject_name  =>   l_subject_name_2);
7020 
7021                   FOR c_article_1 IN c_articles_1 LOOP
7022                       get_article_info(p_cat_type      =>   c_article_1.cat_type,
7023                                        p_sav_sae_id    =>   c_article_1.sav_sae_id,
7024                                        p_sbt_code      =>   c_article_1.sbt_code,
7025                                        p_article_name  =>   c_article_1.name,
7026                                        x_sbt_code      =>   l_sbt_code_1,
7027                                        x_article_name  =>   l_article_name_1,
7028                                        x_subject_name  =>   l_subject_name_1);
7029 
7030                       IF l_article_name_1 = l_article_name_2
7031                          AND nvl(c_article_1.sav_sav_release,' ') = nvl(c_article_2.sav_sav_release,' ')
7032                       THEN l_ArticleDifference := l_ArticleDifference+1;
7033                       END IF;
7034 
7035                   END LOOP;
7036 
7037                   l_release := c_article_2.sav_sav_release;
7038 
7039                   IF l_ArticleDifference =0 THEN
7040                      l_prompt := l_article_name_2||'('||l_release||')';
7041                      l_Object  :='NO_ARTICLE';
7042                      l_object_name :=get_full_path_linenum(vLine_id,vVersion_2);
7043 
7044                      OPEN c;
7045                      FETCH c INTO l_data1;
7046                      CLOSE c;
7047 
7048                      l_data2  := '';
7049                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
7050 
7051                   END IF;
7052               END LOOP;
7053 
7054 
7055              ELSE
7056 
7057 	      FOR c_article_1 IN c_articles_latest LOOP
7058 
7059                       get_article_info(p_cat_type      =>   c_article_1.cat_type,
7060                                        p_sav_sae_id    =>   c_article_1.sav_sae_id,
7061                                        p_sbt_code      =>   c_article_1.sbt_code,
7062                                        p_article_name  =>   c_article_1.name,
7063                                        x_sbt_code      =>   l_sbt_code_1,
7064                                        x_article_name  =>   l_article_name_1,
7065                                        x_subject_name  =>   l_subject_name_1);
7066 
7067                   l_ArticleDifference :=0;
7068                   FOR c_article_2 IN c_articles_2 LOOP
7069                       get_article_info(p_cat_type      =>   c_article_2.cat_type,
7070                                        p_sav_sae_id    =>   c_article_2.sav_sae_id,
7071                                        p_sbt_code      =>   c_article_2.sbt_code,
7072                                        p_article_name  =>   c_article_2.name,
7073                                        x_sbt_code      =>   l_sbt_code_2,
7074                                        x_article_name  =>   l_article_name_2,
7075                                        x_subject_name  =>   l_subject_name_2);
7076 
7077                       IF l_article_name_1 = l_article_name_2
7078                          AND nvl(c_article_1.sav_sav_release, ' ') = nvl(c_article_2.sav_sav_release,' ')
7079                       THEN l_ArticleDifference := l_ArticleDifference+1;
7080                       END IF;
7081 
7082                   END LOOP;
7083 
7084                   l_release := c_article_1.sav_sav_release;
7085 
7086                   IF l_ArticleDifference =0 THEN
7087                      l_prompt :=l_article_name_1||'('||l_release||')';
7088 		     l_Object  :='NO_ARTICLE';
7089                      l_object_name :=get_full_path_linenum(vLine_id);
7090 
7091                      OPEN c;
7092                      FETCH c INTO l_data2;
7093                      CLOSE c;
7094 
7095                      l_data1  := '';
7096                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
7097                   END IF;
7098 
7099               END LOOP;
7100 
7101               FOR c_article_2 IN c_articles_2 LOOP
7102                   get_article_info(p_cat_type      =>   c_article_2.cat_type,
7103                                      p_sav_sae_id    =>   c_article_2.sav_sae_id,
7104                                      p_sbt_code      =>   c_article_2.sbt_code,
7105                                      p_article_name  =>   c_article_2.name,
7106                                      x_sbt_code      =>   l_sbt_code_2,
7107                                      x_article_name  =>   l_article_name_2,
7108                                      x_subject_name  =>   l_subject_name_2);
7109                   l_ArticleDifference :=0;
7110                   FOR c_article_1 IN c_articles_latest LOOP
7111                     get_article_info(p_cat_type      =>   c_article_1.cat_type,
7112                                      p_sav_sae_id    =>   c_article_1.sav_sae_id,
7113                                      p_sbt_code      =>   c_article_1.sbt_code,
7114                                      p_article_name  =>   c_article_1.name,
7115                                      x_sbt_code      =>   l_sbt_code_1,
7116                                      x_article_name  =>   l_article_name_1,
7117                                      x_subject_name  =>   l_subject_name_1);
7118 
7119                     IF l_article_name_1 = l_article_name_2
7120                        AND nvl(c_article_1.sav_sav_release, ' ') = nvl(c_article_2.sav_sav_release,' ')
7121                     THEN l_ArticleDifference := l_ArticleDifference+1;
7122                     END IF;
7123 
7124                   END LOOP;
7125 
7126                   l_release := c_article_2.sav_sav_release;
7127 
7128                   IF l_ArticleDifference =0 THEN
7129                      l_prompt :=l_article_name_2||'('||l_release||')';
7130 		     l_Object  :='NO_ARTICLE';
7131                      l_object_name :=get_full_path_linenum(vLine_id,vVersion_2);
7132 
7133                      OPEN c;
7134                      FETCH c INTO l_data1;
7135                      CLOSE c;
7136 
7137                      l_data2  := '';
7138                      insert_comp_result(vHeader_id,vVersion_1,vVersion_2);
7139 
7140                   END IF;
7141               END LOOP;
7142 
7143 	     END IF;
7144 
7145 	     EXCEPTION
7146             	WHEN NO_DATA_FOUND THEN
7147                 NULL;
7148 		WHEN OTHERS THEN
7149 		NULL;
7150 
7151   END comp_line_articles;
7152 
7153 
7154 
7155 END OKE_VERSION_COMPARISON_PKG;