DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_PRINT_FORM_PUB

Source


1 PACKAGE BODY oke_print_form_pub AS
2 /* $Header: OKEPPFMB.pls 115.7 2002/11/19 21:22:28 jxtang ship $ */
3 
4 G_PKG_NAME     CONSTANT VARCHAR2(30) := 'OKE_PRINT_FORM_PUB';
5 
6 --
7 -- Private Utility Procedures
8 --
9 PROCEDURE Convert_Value_To_ID
10 ( p_header_rec             IN    PFH_Rec_Type
11 , x_header_rec             OUT NOCOPY   PFH_Rec_Type
12 , p_line_tbl               IN    PFL_Tbl_Type
13 , x_line_tbl               OUT NOCOPY   PFL_Tbl_Type
14 , p_api_name               IN    VARCHAR2
15 , x_return_status          OUT NOCOPY   VARCHAR2
16 ) IS
17 
18 cursor kh
19 ( c_contract_number  varchar2
20 , c_k_type_code      varchar2
21 , c_buy_or_sell      varchar2
22 ) is
23   select k_header_id
24   from   oke_k_headers_v
25   where  k_number_disp = c_contract_number
26   and    k_type_code = c_k_type_code
27   and    buy_or_sell = c_buy_or_sell;
28 
29 cursor kl
30 ( c_header_id    number
31 , c_line_number  varchar2
32 ) is
33   select id
34   from   okc_k_lines_b
35   where  dnz_chr_id = c_header_id
36   and    line_number = c_line_number;
37 
38 cursor kd
39 ( c_header_id        number
40 , c_line_id          number
41 , c_deliverable_num  varchar2
42 ) is
43   select deliverable_id
44   from   oke_k_deliverables_b
45   where  k_header_id = c_header_id
46   and    k_line_id = c_line_id
47   and    deliverable_num = c_deliverable_num;
48 
49 cursor sts ( c_status_name  varchar2 ) is
50   select lookup_code
51   from   fnd_lookup_values_vl
52   where  view_application_id = 777
53   and    lookup_type = 'PRINT_FORM_STATUS'
54   and    meaning = c_status_name;
55 
56 cursor pfh
57 ( c_header_id        number
58 , c_print_form_code  varchar2
59 , c_form_header_num  varchar2
60 ) is
61   select form_header_id
62   from   oke_k_form_headers
63   where  k_header_id = c_header_id
64   and    print_form_code = c_print_form_code
65   and    form_header_number = c_form_header_num;
66 
67 i number;
68 
69 BEGIN
70 
71   x_header_rec := p_header_rec;
72   x_line_tbl := p_line_tbl;
73 
74   --
75   -- Converting Contract Header Number to ID
76   --
77   IF ( x_header_rec.Contract_Header_ID IS NULL
78      AND x_header_rec.Contract_Number IS NOT NULL ) THEN
79     OPEN kh ( x_header_rec.Contract_Number
80             , x_header_rec.K_Type_Code
81             , x_header_rec.Buy_Or_Sell );
82     FETCH kh INTO x_header_rec.Contract_Header_ID;
83     CLOSE kh;
84   END IF;
85 
86   --
87   -- Converting Contract Line Number to ID
88   --
89   IF ( x_header_rec.Contract_Line_ID IS NULL
90      AND x_header_rec.Contract_Line_Number IS NOT NULL ) THEN
91     OPEN kl ( x_header_rec.contract_header_id
92             , x_header_rec.contract_line_number );
93     FETCH kl INTO x_header_rec.Contract_Line_ID;
94     CLOSE kl;
95   END IF;
96 
97   --
98   -- Converting Contract Deliverable Number to ID
99   --
100   IF ( x_header_rec.Deliverable_ID IS NULL
101      AND x_header_rec.Deliverable_Number IS NOT NULL ) THEN
102     OPEN kd ( x_header_rec.contract_header_id
103             , x_header_rec.contract_line_id
104             , x_header_rec.deliverable_number );
105     FETCH kd INTO x_header_rec.Deliverable_ID;
106     CLOSE kd;
107   END IF;
108 
109   --
110   -- Converting Form Status Name to Code
111   --
112   IF ( x_header_rec.Status_Code IS NULL
113      AND x_header_rec.Status_Name IS NOT NULL ) THEN
114     OPEN sts ( x_header_rec.status_name );
115     FETCH sts INTO x_header_rec.Status_Code;
116     CLOSE sts;
117   END IF;
118 
119   --
120   -- Converting Form Header Number to ID if API is UPDATE_PRINT_FORM
121   --
122   IF ( p_api_name = 'UPDATE_PRINT_FORM' ) THEN
123     IF ( x_header_rec.Form_Header_ID IS NULL
124       AND x_header_rec.Form_Header_Number IS NOT NULL ) THEN
125       OPEN pfh ( x_header_rec.contract_header_id
126                , x_header_rec.print_form_code
127                , x_header_rec.form_header_number );
128       FETCH pfh INTO x_header_rec.Form_Header_ID;
129       CLOSE pfh;
130     END IF;
131   END IF;
132 
133   --
134   -- Now loop through all lines
135   --
136   i := p_line_tbl.FIRST;
137 
138   LOOP
139     --
140     -- Converting Contract Header Number to ID
141     --
142     IF ( x_line_tbl(i).Contract_Header_ID IS NULL
143        AND x_line_tbl(i).Contract_Number IS NOT NULL ) THEN
144       OPEN kh ( x_line_tbl(i).Contract_Number
145               , x_line_tbl(i).K_Type_Code
146               , x_line_tbl(i).Buy_Or_Sell );
147       FETCH kh INTO x_line_tbl(i).Contract_Header_ID;
148       CLOSE kh;
149     END IF;
150 
151     --
152     -- Converting Contract Line Number to ID
153     --
154     IF ( x_line_tbl(i).Contract_Line_ID IS NULL
155        AND x_line_tbl(i).Contract_Line_Number IS NOT NULL ) THEN
156       OPEN kl ( x_line_tbl(i).contract_header_id
157               , x_line_tbl(i).contract_line_number );
158       FETCH kl INTO x_line_tbl(i).Contract_Line_ID;
159       CLOSE kl;
160     END IF;
161 
162     --
163     -- Converting Contract Deliverable Number to ID
164     --
165     IF ( x_line_tbl(i).Deliverable_ID IS NULL
166        AND x_line_tbl(i).Deliverable_Number IS NOT NULL ) THEN
167       OPEN kd ( x_line_tbl(i).contract_header_id
168               , x_line_tbl(i).contract_line_id
169               , x_line_tbl(i).deliverable_number );
170       FETCH kd INTO x_line_tbl(i).Deliverable_ID;
171       CLOSE kd;
172     END IF;
173 
174     EXIT WHEN ( i = p_line_tbl.LAST );
175     i := p_line_tbl.NEXT(i);
176   END LOOP;
177 
178 EXCEPTION
179   WHEN OTHERS THEN
180     FND_MSG_PUB.add_exc_msg
181                ( p_pkg_name        => G_PKG_NAME
182                , p_procedure_name  => 'CONVERT_VALUE_TO_ID' );
183     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
184 
185 END Convert_Value_To_ID;
186 
187 
188 PROCEDURE Validate_Data
189 ( p_header_rec             IN    PFH_Rec_Type
190 , p_api_name               IN    VARCHAR2
191 , x_return_status          OUT NOCOPY   VARCHAR2
192 ) IS
193 
194 cursor kh is
195   select count(1)
196   from   okc_k_headers_b
197   where  id = p_header_rec.contract_header_id;
198 
199 cursor kl is
200   select count(1)
201   from   okc_k_lines_b
202   where  id = p_header_rec.contract_line_id;
203 
204 cursor kd is
205   select count(1)
206   from   oke_k_deliverables_b
207   where  deliverable_id = p_header_rec.deliverable_id;
208 
209 cursor pf is
210   select count(1)
211   from   oke_print_forms_b
212   where  print_form_code = p_header_rec.print_form_code;
213 
214 cursor kpf is
215   select count(1)
216   from   oke_k_print_forms
217   where  k_header_id = p_header_rec.contract_header_id
218   and    print_form_code = p_header_rec.print_form_code;
219 
220 cursor sts is
221   select count(1)
222   from   fnd_lookup_values_vl
223   where  view_application_id = 777
224   and    lookup_type = 'PRINT_FORM_STATUS'
225   and    lookup_code = p_header_rec.status_code;
226 
227 cursor pfhnum is
228   select count(1)
229   from   oke_k_form_headers
230   where  k_header_id = p_header_rec.contract_header_id
231   and    print_form_code = p_header_rec.print_form_code
232   and    form_header_number = p_header_rec.form_header_number;
233 
234 cursor pfhid is
235   select count(1)
236   from   oke_k_form_headers
237   where  form_header_id = p_header_rec.form_header_id;
238 
239 l_row_exists NUMBER;
240 
241 BEGIN
242 
243   x_return_status := FND_API.G_RET_STS_SUCCESS;
244 
245   --
246   -- Step 4 : validate contract header ID
247   --
248   IF ( p_header_rec.Contract_Header_ID IS NULL
249      AND p_header_rec.Contract_Number IS NULL ) THEN
250     --
251     -- Make sure either ID or number is provided
252     --
253     FND_MESSAGE.Set_Name('OKE','OKE_API_MISSING_VALUE');
254     FND_MESSAGE.Set_Token('VALUE' , 'CONTRACT_HEADER_ID');
255     FND_MSG_PUB.Add;
256     x_return_status := FND_API.G_RET_STS_ERROR;
257 
258   ELSIF ( p_header_rec.Contract_Header_ID IS NULL
259         AND p_header_rec.Contract_Number IS NOT NULL ) THEN
260     --
261     -- Check to see if number is valid
262     --
263     FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
264     FND_MESSAGE.Set_Token('VALUE' , 'CONTRACT_NUMBER');
265     FND_MSG_PUB.Add;
266     x_return_status := FND_API.G_RET_STS_ERROR;
267 
268   ELSIF ( p_header_rec.Contract_Header_ID IS NOT NULL ) THEN
269     --
270     -- Validate Contract Header ID
271     --
272     OPEN kh;
273     FETCH kh INTO l_row_exists;
274     CLOSE kh;
275     IF ( l_row_exists = 0 ) THEN
276       FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
277       FND_MESSAGE.Set_Token('VALUE' , 'CONTRACT_HEADER_ID');
278       FND_MSG_PUB.Add;
279       x_return_status := FND_API.G_RET_STS_ERROR;
280     END IF;
281 
282   END IF;
283 
284   --
285   -- Step 5 : validate contract line ID
286   --
287   IF ( p_header_rec.Contract_Line_ID IS NULL
288         AND p_header_rec.Contract_Line_Number IS NOT NULL ) THEN
289     --
290     -- Check to see if number is valid
291     --
292     FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
293     FND_MESSAGE.Set_Token('VALUE' , 'CONTRACT_LINE_NUMBER');
294     FND_MSG_PUB.Add;
295     x_return_status := FND_API.G_RET_STS_ERROR;
296 
297   ELSIF ( p_header_rec.Contract_Line_ID IS NOT NULL ) THEN
298     --
299     -- Validate Contract Line ID
300     --
301     OPEN kl;
302     FETCH kl INTO l_row_exists;
303     CLOSE kl;
304     IF ( l_row_exists = 0 ) THEN
305       FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
306       FND_MESSAGE.Set_Token('VALUE' , 'CONTRACT_LINE_ID');
307       FND_MSG_PUB.Add;
308       x_return_status := FND_API.G_RET_STS_ERROR;
309     END IF;
310 
311   END IF;
312 
313   --
314   -- Step 6 : validate deliverable ID
315   --
316   IF ( p_header_rec.Deliverable_ID IS NULL
317         AND p_header_rec.Deliverable_Number IS NOT NULL ) THEN
318     --
319     -- Check to see if deliverable number is valid
320     --
321     FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
322     FND_MESSAGE.Set_Token('VALUE' , 'DELIVERABLE_NUMBER');
323     FND_MSG_PUB.Add;
324     x_return_status := FND_API.G_RET_STS_ERROR;
325 
326   ELSIF ( p_header_rec.Deliverable_ID IS NOT NULL ) THEN
327     --
328     -- Validate Deliverable ID
329     --
330     OPEN kd;
331     FETCH kd INTO l_row_exists;
332     CLOSE kd;
333     IF ( l_row_exists = 0 ) THEN
334       FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
335       FND_MESSAGE.Set_Token('VALUE' , 'DELIVERABLE_ID');
336       FND_MSG_PUB.Add;
337       x_return_status := FND_API.G_RET_STS_ERROR;
338     END IF;
339 
340   END IF;
341 
342   --
343   -- Step 7 : validate status code
344   --
345   IF ( p_header_rec.Status_Code IS NULL
346         AND p_header_rec.Status_Name IS NULL ) THEN
347     --
348     -- Make sure either Code or Name is provided
349     --
350     FND_MESSAGE.Set_Name('OKE','OKE_API_MISSING_VALUE');
351     FND_MESSAGE.Set_Token('VALUE' , 'STATUS_CODE');
352     FND_MSG_PUB.Add;
353     x_return_status := FND_API.G_RET_STS_ERROR;
354 
355   ELSIF ( p_header_rec.Status_Code IS NULL
356         AND p_header_rec.Status_Name IS NOT NULL ) THEN
357     --
358     -- Check to see if name is valid
359     --
360     FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
361     FND_MESSAGE.Set_Token('VALUE' , 'STATUS_NAME');
362     FND_MSG_PUB.Add;
363     x_return_status := FND_API.G_RET_STS_ERROR;
364 
365   ELSIF ( p_header_rec.Status_Code IS NOT NULL ) THEN
366     --
367     -- Validate Status Code
368     --
369     OPEN sts;
370     FETCH sts INTO l_row_exists;
371     CLOSE sts;
372     IF ( l_row_exists = 0 ) THEN
373       FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
374       FND_MESSAGE.Set_Token('VALUE' , 'STATUS_CODE');
375       FND_MSG_PUB.Add;
376       x_return_status := FND_API.G_RET_STS_ERROR;
377     END IF;
378 
379   END IF;
380 
381   --
382   -- Step 8 : API specific validations
383   --
384   IF ( p_api_name = 'CREATE_PRINT_FORM' ) THEN
385     --
386     -- Step 1 : validate print form code
387     --
388     IF ( p_header_rec.Print_Form_Code IS NULL ) THEN
389       --
390       -- Make sure either Code or Name is provided
391       --
392       FND_MESSAGE.Set_Name('OKE','OKE_API_MISSING_VALUE');
393       FND_MESSAGE.Set_Token('VALUE' , 'PRINT_FORM_CODE');
394       FND_MSG_PUB.Add;
395       x_return_status := FND_API.G_RET_STS_ERROR;
396 
397     ELSIF ( p_header_rec.Print_Form_Code IS NOT NULL ) THEN
398       --
399       -- Validate Status Code
400       --
401       OPEN pf;
402       FETCH pf INTO l_row_exists;
403       CLOSE pf;
404       IF ( l_row_exists = 0 ) THEN
405         FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
406         FND_MESSAGE.Set_Token('VALUE' , 'PRINT_FORM_CODE');
407         FND_MSG_PUB.Add;
408         x_return_status := FND_API.G_RET_STS_ERROR;
409       END IF;
410 
411     END IF;
412 
413     --
414     -- Step 2 : validate form date
415     --
416     IF ( p_header_rec.Form_Date IS NULL ) THEN
417       --
418       -- Make sure Form date is provided
419       --
420       FND_MESSAGE.Set_Name('OKE','OKE_API_MISSING_VALUE');
421       FND_MESSAGE.Set_Token('VALUE' , 'FORM_DATE');
422       FND_MSG_PUB.Add;
423       x_return_status := FND_API.G_RET_STS_ERROR;
424 
425     END IF;
426 
427     --
428     -- Step 3 : validate form number
429     --
430     IF ( p_header_rec.Form_Header_Number IS NULL ) THEN
431       --
432       -- Make sure Form Header Number is provided
433       --
434       FND_MESSAGE.Set_Name('OKE','OKE_API_MISSING_VALUE');
438 
435       FND_MESSAGE.Set_Token('VALUE' , 'FORM_DATE');
436       FND_MSG_PUB.Add;
437       x_return_status := FND_API.G_RET_STS_ERROR;
439     ELSE
440 
441       OPEN pfhnum;
442       FETCH pfhnum INTO l_row_exists;
443       CLOSE pfhnum;
444       IF ( l_row_exists > 0 ) THEN
445         FND_MESSAGE.Set_Name('OKE','OKE_API_DUPLICATE_VALUE');
446         FND_MESSAGE.Set_Token('VALUE' , 'FORM_HEADER_NUMBER');
447         FND_MSG_PUB.Add;
448         x_return_status := FND_API.G_RET_STS_ERROR;
449       END IF;
450 
451     END IF;
452 
453     --
454     -- Step 8 : validate contract print form requirement
455     --
456     OPEN kpf;
457     FETCH kpf INTO l_row_exists;
458     CLOSE kpf;
459     IF ( l_row_exists = 0 ) THEN
460       FND_MESSAGE.Set_Name('OKE','OKE_FORM_INVALID_FOR_CONTRACT');
461       FND_MSG_PUB.Add;
462       x_return_status := FND_API.G_RET_STS_ERROR;
463     END IF;
464 
465   ELSIF ( p_api_name = 'UPDATE_PRINT_FORM' ) THEN
466     --
467     -- Make sure an existing instance is specified
468     --
469     IF ( p_header_rec.form_header_id IS NULL
470        AND p_header_rec.form_header_number IS NULL ) THEN
471       FND_MESSAGE.Set_Name('OKE','OKE_API_MISSING_VALUE');
472       FND_MESSAGE.Set_Token('VALUE','FORM_HEADER_NUMBER');
473       FND_MSG_PUB.Add;
474       x_return_status := FND_API.G_RET_STS_ERROR;
475 
476     ELSIF ( p_header_rec.form_header_id IS NULL
477        AND p_header_rec.form_header_number IS NOT NULL ) THEN
478       FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
479       FND_MESSAGE.Set_Token('VALUE','FORM_HEADER_NUMBER');
480       FND_MSG_PUB.Add;
481       x_return_status := FND_API.G_RET_STS_ERROR;
482 
483     ELSE
484       OPEN pfhid;
485       FETCH pfhid INTO l_row_exists;
486       CLOSE pfhid;
487       IF ( l_row_exists = 0 ) THEN
488         FND_MESSAGE.Set_Name('OKE','OKE_API_INVALID_VALUE');
489         FND_MESSAGE.Set_Token('VALUE','FORM_HEADER_ID');
490         FND_MSG_PUB.Add;
491         x_return_status := FND_API.G_RET_STS_ERROR;
492       END IF;
493 
494     END IF;
495 
496   END IF;
497 
498 EXCEPTION
499   WHEN OTHERS THEN
500     FND_MSG_PUB.add_exc_msg
501                ( p_pkg_name        => G_PKG_NAME
502                , p_procedure_name  => 'VALIDATE_DATA' );
503     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
504 
505 END Validate_Data;
506 
507 
508 PROCEDURE Create_Form
509 ( p_header_rec             IN    PFH_Rec_Type
510 , p_line_tbl               IN    PFL_Tbl_Type
511 , x_form_header_id         OUT NOCOPY   NUMBER
512 , x_return_status          OUT NOCOPY   VARCHAR2
513 ) IS
514 
515   l_user_id   NUMBER := FND_GLOBAL.user_id;
516   l_login_id  NUMBER := FND_GLOBAL.login_id;
517   i           NUMBER;
518 
519 BEGIN
520 
521   SELECT oke_k_form_headers_s.nextval
522   INTO   x_form_header_id
523   FROM   dual;
524 
525   INSERT INTO oke_k_form_headers
526   ( form_header_id
527   , creation_date
528   , created_by
529   , last_update_date
530   , last_updated_by
531   , last_update_login
532   , print_form_code
533   , form_header_number
534   , form_date
535   , status_code
536   , k_header_id
537   , k_line_id
538   , deliverable_id
539   , reference1 , reference2 , reference3 , reference4 , reference5
540   , text01 , text02 , text03 , text04 , text05
541   , text06 , text07 , text08 , text09 , text10
542   , text11 , text12 , text13 , text14 , text15
543   , text16 , text17 , text18 , text19 , text20
544   , text21 , text22 , text23 , text24 , text25
545   , text26 , text27 , text28 , text29 , text30
546   , text31 , text32 , text33 , text34 , text35
547   , text36 , text37 , text38 , text39 , text40
548   , text41 , text42 , text43 , text44 , text45
549   , text46 , text47 , text48 , text49 , text50
550   , number01 , number02 , number03 , number04 , number05
551   , number06 , number07 , number08 , number09 , number10
552   , number11 , number12 , number13 , number14 , number15
553   , number16 , number17 , number18 , number19 , number20
554   , number21 , number22 , number23 , number24 , number25
555   , number26 , number27 , number28 , number29 , number30
556   , number31 , number32 , number33 , number34 , number35
557   , number36 , number37 , number38 , number39 , number40
558   , number41 , number42 , number43 , number44 , number45
559   , number46 , number47 , number48 , number49 , number50
560   , date01 , date02 , date03 , date04 , date05
561   , date06 , date07 , date08 , date09 , date10
562   , date11 , date12 , date13 , date14 , date15
563   , date16 , date17 , date18 , date19 , date20
564   , date21 , date22 , date23 , date24 , date25
565   , date26 , date27 , date28 , date29 , date30
566   , date31 , date32 , date33 , date34 , date35
567   , date36 , date37 , date38 , date39 , date40
568   , date41 , date42 , date43 , date44 , date45
569   , date46 , date47 , date48 , date49 , date50 )
570   SELECT
571     x_form_header_id
572   , sysdate
573   , l_user_id
574   , sysdate
575   , l_user_id
576   , l_login_id
577   , p_header_rec.print_form_code
578   , p_header_rec.form_header_number
579   , p_header_rec.form_date
580   , p_header_rec.status_code
581   , p_header_rec.contract_header_id
582   , p_header_rec.contract_line_id
583   , p_header_rec.deliverable_id
584   , p_header_rec.reference1
585   , p_header_rec.reference2
589   , decode(p_header_rec.text01 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text01)
586   , p_header_rec.reference3
587   , p_header_rec.reference4
588   , p_header_rec.reference5
590   , decode(p_header_rec.text02 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text02)
591   , decode(p_header_rec.text03 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text03)
592   , decode(p_header_rec.text04 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text04)
593   , decode(p_header_rec.text05 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text05)
594   , decode(p_header_rec.text06 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text06)
595   , decode(p_header_rec.text07 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text07)
596   , decode(p_header_rec.text08 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text08)
597   , decode(p_header_rec.text09 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text09)
598   , decode(p_header_rec.text10 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text10)
599   , decode(p_header_rec.text11 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text11)
600   , decode(p_header_rec.text12 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text12)
601   , decode(p_header_rec.text13 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text13)
602   , decode(p_header_rec.text14 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text14)
603   , decode(p_header_rec.text15 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text15)
604   , decode(p_header_rec.text16 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text16)
605   , decode(p_header_rec.text17 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text17)
606   , decode(p_header_rec.text18 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text18)
607   , decode(p_header_rec.text19 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text19)
608   , decode(p_header_rec.text20 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text20)
609   , decode(p_header_rec.text21 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text21)
610   , decode(p_header_rec.text22 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text22)
611   , decode(p_header_rec.text23 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text23)
612   , decode(p_header_rec.text24 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text24)
613   , decode(p_header_rec.text25 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text25)
614   , decode(p_header_rec.text26 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text26)
615   , decode(p_header_rec.text27 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text27)
616   , decode(p_header_rec.text28 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text28)
617   , decode(p_header_rec.text29 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text29)
618   , decode(p_header_rec.text30 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text30)
619   , decode(p_header_rec.text31 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text31)
620   , decode(p_header_rec.text32 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text32)
621   , decode(p_header_rec.text33 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text33)
622   , decode(p_header_rec.text34 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text34)
623   , decode(p_header_rec.text35 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text35)
624   , decode(p_header_rec.text36 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text36)
625   , decode(p_header_rec.text37 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text37)
626   , decode(p_header_rec.text38 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text38)
627   , decode(p_header_rec.text39 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text39)
628   , decode(p_header_rec.text40 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text40)
629   , decode(p_header_rec.text41 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text41)
630   , decode(p_header_rec.text42 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text42)
631   , decode(p_header_rec.text43 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text43)
632   , decode(p_header_rec.text44 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text44)
633   , decode(p_header_rec.text45 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text45)
634   , decode(p_header_rec.text46 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text46)
635   , decode(p_header_rec.text47 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text47)
636   , decode(p_header_rec.text48 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text48)
637   , decode(p_header_rec.text49 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text49)
638   , decode(p_header_rec.text50 , FND_API.G_MISS_CHAR , NULL , p_header_rec.text50)
639   , decode(p_header_rec.number01 , FND_API.G_MISS_NUM , NULL , p_header_rec.number01)
640   , decode(p_header_rec.number02 , FND_API.G_MISS_NUM , NULL , p_header_rec.number02)
641   , decode(p_header_rec.number03 , FND_API.G_MISS_NUM , NULL , p_header_rec.number03)
642   , decode(p_header_rec.number04 , FND_API.G_MISS_NUM , NULL , p_header_rec.number04)
643   , decode(p_header_rec.number05 , FND_API.G_MISS_NUM , NULL , p_header_rec.number05)
644   , decode(p_header_rec.number06 , FND_API.G_MISS_NUM , NULL , p_header_rec.number06)
645   , decode(p_header_rec.number07 , FND_API.G_MISS_NUM , NULL , p_header_rec.number07)
646   , decode(p_header_rec.number08 , FND_API.G_MISS_NUM , NULL , p_header_rec.number08)
647   , decode(p_header_rec.number09 , FND_API.G_MISS_NUM , NULL , p_header_rec.number09)
648   , decode(p_header_rec.number10 , FND_API.G_MISS_NUM , NULL , p_header_rec.number10)
649   , decode(p_header_rec.number11 , FND_API.G_MISS_NUM , NULL , p_header_rec.number11)
650   , decode(p_header_rec.number12 , FND_API.G_MISS_NUM , NULL , p_header_rec.number12)
651   , decode(p_header_rec.number13 , FND_API.G_MISS_NUM , NULL , p_header_rec.number13)
652   , decode(p_header_rec.number14 , FND_API.G_MISS_NUM , NULL , p_header_rec.number14)
653   , decode(p_header_rec.number15 , FND_API.G_MISS_NUM , NULL , p_header_rec.number15)
654   , decode(p_header_rec.number16 , FND_API.G_MISS_NUM , NULL , p_header_rec.number16)
655   , decode(p_header_rec.number17 , FND_API.G_MISS_NUM , NULL , p_header_rec.number17)
656   , decode(p_header_rec.number18 , FND_API.G_MISS_NUM , NULL , p_header_rec.number18)
657   , decode(p_header_rec.number19 , FND_API.G_MISS_NUM , NULL , p_header_rec.number19)
661   , decode(p_header_rec.number23 , FND_API.G_MISS_NUM , NULL , p_header_rec.number23)
658   , decode(p_header_rec.number20 , FND_API.G_MISS_NUM , NULL , p_header_rec.number20)
659   , decode(p_header_rec.number21 , FND_API.G_MISS_NUM , NULL , p_header_rec.number21)
660   , decode(p_header_rec.number22 , FND_API.G_MISS_NUM , NULL , p_header_rec.number22)
662   , decode(p_header_rec.number24 , FND_API.G_MISS_NUM , NULL , p_header_rec.number24)
663   , decode(p_header_rec.number25 , FND_API.G_MISS_NUM , NULL , p_header_rec.number25)
664   , decode(p_header_rec.number26 , FND_API.G_MISS_NUM , NULL , p_header_rec.number26)
665   , decode(p_header_rec.number27 , FND_API.G_MISS_NUM , NULL , p_header_rec.number27)
666   , decode(p_header_rec.number28 , FND_API.G_MISS_NUM , NULL , p_header_rec.number28)
667   , decode(p_header_rec.number29 , FND_API.G_MISS_NUM , NULL , p_header_rec.number29)
668   , decode(p_header_rec.number30 , FND_API.G_MISS_NUM , NULL , p_header_rec.number30)
669   , decode(p_header_rec.number31 , FND_API.G_MISS_NUM , NULL , p_header_rec.number31)
670   , decode(p_header_rec.number32 , FND_API.G_MISS_NUM , NULL , p_header_rec.number32)
671   , decode(p_header_rec.number33 , FND_API.G_MISS_NUM , NULL , p_header_rec.number33)
672   , decode(p_header_rec.number34 , FND_API.G_MISS_NUM , NULL , p_header_rec.number34)
673   , decode(p_header_rec.number35 , FND_API.G_MISS_NUM , NULL , p_header_rec.number35)
674   , decode(p_header_rec.number36 , FND_API.G_MISS_NUM , NULL , p_header_rec.number36)
675   , decode(p_header_rec.number37 , FND_API.G_MISS_NUM , NULL , p_header_rec.number37)
676   , decode(p_header_rec.number38 , FND_API.G_MISS_NUM , NULL , p_header_rec.number38)
677   , decode(p_header_rec.number39 , FND_API.G_MISS_NUM , NULL , p_header_rec.number39)
678   , decode(p_header_rec.number40 , FND_API.G_MISS_NUM , NULL , p_header_rec.number40)
679   , decode(p_header_rec.number41 , FND_API.G_MISS_NUM , NULL , p_header_rec.number41)
680   , decode(p_header_rec.number42 , FND_API.G_MISS_NUM , NULL , p_header_rec.number42)
681   , decode(p_header_rec.number43 , FND_API.G_MISS_NUM , NULL , p_header_rec.number43)
682   , decode(p_header_rec.number44 , FND_API.G_MISS_NUM , NULL , p_header_rec.number44)
683   , decode(p_header_rec.number45 , FND_API.G_MISS_NUM , NULL , p_header_rec.number45)
684   , decode(p_header_rec.number46 , FND_API.G_MISS_NUM , NULL , p_header_rec.number46)
685   , decode(p_header_rec.number47 , FND_API.G_MISS_NUM , NULL , p_header_rec.number47)
686   , decode(p_header_rec.number48 , FND_API.G_MISS_NUM , NULL , p_header_rec.number48)
687   , decode(p_header_rec.number49 , FND_API.G_MISS_NUM , NULL , p_header_rec.number49)
688   , decode(p_header_rec.number50 , FND_API.G_MISS_NUM , NULL , p_header_rec.number50)
689   , decode(p_header_rec.date01 , FND_API.G_MISS_DATE , NULL , p_header_rec.date01)
690   , decode(p_header_rec.date02 , FND_API.G_MISS_DATE , NULL , p_header_rec.date02)
691   , decode(p_header_rec.date03 , FND_API.G_MISS_DATE , NULL , p_header_rec.date03)
692   , decode(p_header_rec.date04 , FND_API.G_MISS_DATE , NULL , p_header_rec.date04)
693   , decode(p_header_rec.date05 , FND_API.G_MISS_DATE , NULL , p_header_rec.date05)
694   , decode(p_header_rec.date06 , FND_API.G_MISS_DATE , NULL , p_header_rec.date06)
695   , decode(p_header_rec.date07 , FND_API.G_MISS_DATE , NULL , p_header_rec.date07)
696   , decode(p_header_rec.date08 , FND_API.G_MISS_DATE , NULL , p_header_rec.date08)
697   , decode(p_header_rec.date09 , FND_API.G_MISS_DATE , NULL , p_header_rec.date09)
698   , decode(p_header_rec.date10 , FND_API.G_MISS_DATE , NULL , p_header_rec.date10)
699   , decode(p_header_rec.date11 , FND_API.G_MISS_DATE , NULL , p_header_rec.date11)
700   , decode(p_header_rec.date12 , FND_API.G_MISS_DATE , NULL , p_header_rec.date12)
701   , decode(p_header_rec.date13 , FND_API.G_MISS_DATE , NULL , p_header_rec.date13)
702   , decode(p_header_rec.date14 , FND_API.G_MISS_DATE , NULL , p_header_rec.date14)
703   , decode(p_header_rec.date15 , FND_API.G_MISS_DATE , NULL , p_header_rec.date15)
704   , decode(p_header_rec.date16 , FND_API.G_MISS_DATE , NULL , p_header_rec.date16)
705   , decode(p_header_rec.date17 , FND_API.G_MISS_DATE , NULL , p_header_rec.date17)
706   , decode(p_header_rec.date18 , FND_API.G_MISS_DATE , NULL , p_header_rec.date18)
707   , decode(p_header_rec.date19 , FND_API.G_MISS_DATE , NULL , p_header_rec.date19)
708   , decode(p_header_rec.date20 , FND_API.G_MISS_DATE , NULL , p_header_rec.date20)
709   , decode(p_header_rec.date21 , FND_API.G_MISS_DATE , NULL , p_header_rec.date21)
710   , decode(p_header_rec.date22 , FND_API.G_MISS_DATE , NULL , p_header_rec.date22)
711   , decode(p_header_rec.date23 , FND_API.G_MISS_DATE , NULL , p_header_rec.date23)
712   , decode(p_header_rec.date24 , FND_API.G_MISS_DATE , NULL , p_header_rec.date24)
713   , decode(p_header_rec.date25 , FND_API.G_MISS_DATE , NULL , p_header_rec.date25)
714   , decode(p_header_rec.date26 , FND_API.G_MISS_DATE , NULL , p_header_rec.date26)
715   , decode(p_header_rec.date27 , FND_API.G_MISS_DATE , NULL , p_header_rec.date27)
716   , decode(p_header_rec.date28 , FND_API.G_MISS_DATE , NULL , p_header_rec.date28)
717   , decode(p_header_rec.date29 , FND_API.G_MISS_DATE , NULL , p_header_rec.date29)
718   , decode(p_header_rec.date30 , FND_API.G_MISS_DATE , NULL , p_header_rec.date30)
719   , decode(p_header_rec.date31 , FND_API.G_MISS_DATE , NULL , p_header_rec.date31)
720   , decode(p_header_rec.date32 , FND_API.G_MISS_DATE , NULL , p_header_rec.date32)
721   , decode(p_header_rec.date33 , FND_API.G_MISS_DATE , NULL , p_header_rec.date33)
722   , decode(p_header_rec.date34 , FND_API.G_MISS_DATE , NULL , p_header_rec.date34)
723   , decode(p_header_rec.date35 , FND_API.G_MISS_DATE , NULL , p_header_rec.date35)
724   , decode(p_header_rec.date36 , FND_API.G_MISS_DATE , NULL , p_header_rec.date36)
725   , decode(p_header_rec.date37 , FND_API.G_MISS_DATE , NULL , p_header_rec.date37)
726   , decode(p_header_rec.date38 , FND_API.G_MISS_DATE , NULL , p_header_rec.date38)
727   , decode(p_header_rec.date39 , FND_API.G_MISS_DATE , NULL , p_header_rec.date39)
731   , decode(p_header_rec.date43 , FND_API.G_MISS_DATE , NULL , p_header_rec.date43)
728   , decode(p_header_rec.date40 , FND_API.G_MISS_DATE , NULL , p_header_rec.date40)
729   , decode(p_header_rec.date41 , FND_API.G_MISS_DATE , NULL , p_header_rec.date41)
730   , decode(p_header_rec.date42 , FND_API.G_MISS_DATE , NULL , p_header_rec.date42)
732   , decode(p_header_rec.date44 , FND_API.G_MISS_DATE , NULL , p_header_rec.date44)
733   , decode(p_header_rec.date45 , FND_API.G_MISS_DATE , NULL , p_header_rec.date45)
734   , decode(p_header_rec.date46 , FND_API.G_MISS_DATE , NULL , p_header_rec.date46)
735   , decode(p_header_rec.date47 , FND_API.G_MISS_DATE , NULL , p_header_rec.date47)
736   , decode(p_header_rec.date48 , FND_API.G_MISS_DATE , NULL , p_header_rec.date48)
737   , decode(p_header_rec.date49 , FND_API.G_MISS_DATE , NULL , p_header_rec.date49)
738   , decode(p_header_rec.date50 , FND_API.G_MISS_DATE , NULL , p_header_rec.date50)
739   FROM dual;
740 
741   i := p_line_tbl.FIRST;
742   LOOP
743     INSERT INTO oke_k_form_lines
744     ( form_header_id
745     , creation_date
746     , created_by
747     , last_update_date
748     , last_updated_by
749     , last_update_login
750     , form_line_number
751     , k_header_id
752     , k_line_id
753     , deliverable_id
754     , reference1 , reference2 , reference3 , reference4 , reference5
755     , text01 , text02 , text03 , text04 , text05
756     , text06 , text07 , text08 , text09 , text10
757     , text11 , text12 , text13 , text14 , text15
758     , text16 , text17 , text18 , text19 , text20
759     , text21 , text22 , text23 , text24 , text25
760     , text26 , text27 , text28 , text29 , text30
761     , text31 , text32 , text33 , text34 , text35
762     , text36 , text37 , text38 , text39 , text40
763     , text41 , text42 , text43 , text44 , text45
764     , text46 , text47 , text48 , text49 , text50
765     , number01 , number02 , number03 , number04 , number05
766     , number06 , number07 , number08 , number09 , number10
767     , number11 , number12 , number13 , number14 , number15
768     , number16 , number17 , number18 , number19 , number20
769     , number21 , number22 , number23 , number24 , number25
770     , number26 , number27 , number28 , number29 , number30
771     , number31 , number32 , number33 , number34 , number35
772     , number36 , number37 , number38 , number39 , number40
773     , number41 , number42 , number43 , number44 , number45
774     , number46 , number47 , number48 , number49 , number50
775     , date01 , date02 , date03 , date04 , date05
776     , date06 , date07 , date08 , date09 , date10
777     , date11 , date12 , date13 , date14 , date15
778     , date16 , date17 , date18 , date19 , date20
779     , date21 , date22 , date23 , date24 , date25
780     , date26 , date27 , date28 , date29 , date30
781     , date31 , date32 , date33 , date34 , date35
782     , date36 , date37 , date38 , date39 , date40
783     , date41 , date42 , date43 , date44 , date45
784     , date46 , date47 , date48 , date49 , date50 )
785     SELECT
786       x_form_header_id
787     , sysdate
788     , l_user_id
789     , sysdate
790     , l_user_id
791     , l_login_id
792     , p_line_tbl(i).form_line_number
793     , p_line_tbl(i).contract_header_id
794     , p_line_tbl(i).contract_line_id
795     , p_line_tbl(i).deliverable_id
796     , p_line_tbl(i).reference1
797     , p_line_tbl(i).reference2
798     , p_line_tbl(i).reference3
799     , p_line_tbl(i).reference4
800     , p_line_tbl(i).reference5
801     , decode(p_line_tbl(i).text01 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text01)
802     , decode(p_line_tbl(i).text02 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text02)
803     , decode(p_line_tbl(i).text03 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text03)
804     , decode(p_line_tbl(i).text04 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text04)
805     , decode(p_line_tbl(i).text05 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text05)
806     , decode(p_line_tbl(i).text06 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text06)
807     , decode(p_line_tbl(i).text07 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text07)
808     , decode(p_line_tbl(i).text08 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text08)
809     , decode(p_line_tbl(i).text09 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text09)
810     , decode(p_line_tbl(i).text10 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text10)
811     , decode(p_line_tbl(i).text11 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text11)
812     , decode(p_line_tbl(i).text12 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text12)
813     , decode(p_line_tbl(i).text13 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text13)
814     , decode(p_line_tbl(i).text14 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text14)
815     , decode(p_line_tbl(i).text15 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text15)
816     , decode(p_line_tbl(i).text16 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text16)
817     , decode(p_line_tbl(i).text17 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text17)
818     , decode(p_line_tbl(i).text18 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text18)
819     , decode(p_line_tbl(i).text19 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text19)
820     , decode(p_line_tbl(i).text20 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text20)
821     , decode(p_line_tbl(i).text21 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text21)
822     , decode(p_line_tbl(i).text22 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text22)
823     , decode(p_line_tbl(i).text23 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text23)
824     , decode(p_line_tbl(i).text24 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text24)
825     , decode(p_line_tbl(i).text25 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text25)
826     , decode(p_line_tbl(i).text26 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text26)
830     , decode(p_line_tbl(i).text30 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text30)
827     , decode(p_line_tbl(i).text27 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text27)
828     , decode(p_line_tbl(i).text28 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text28)
829     , decode(p_line_tbl(i).text29 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text29)
831     , decode(p_line_tbl(i).text31 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text31)
832     , decode(p_line_tbl(i).text32 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text32)
833     , decode(p_line_tbl(i).text33 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text33)
834     , decode(p_line_tbl(i).text34 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text34)
835     , decode(p_line_tbl(i).text35 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text35)
836     , decode(p_line_tbl(i).text36 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text36)
837     , decode(p_line_tbl(i).text37 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text37)
838     , decode(p_line_tbl(i).text38 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text38)
839     , decode(p_line_tbl(i).text39 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text39)
840     , decode(p_line_tbl(i).text40 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text40)
841     , decode(p_line_tbl(i).text41 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text41)
842     , decode(p_line_tbl(i).text42 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text42)
843     , decode(p_line_tbl(i).text43 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text43)
844     , decode(p_line_tbl(i).text44 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text44)
845     , decode(p_line_tbl(i).text45 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text45)
846     , decode(p_line_tbl(i).text46 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text46)
847     , decode(p_line_tbl(i).text47 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text47)
848     , decode(p_line_tbl(i).text48 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text48)
849     , decode(p_line_tbl(i).text49 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text49)
850     , decode(p_line_tbl(i).text50 , FND_API.G_MISS_CHAR , NULL , p_line_tbl(i).text50)
851     , decode(p_line_tbl(i).number01 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number01)
852     , decode(p_line_tbl(i).number02 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number02)
853     , decode(p_line_tbl(i).number03 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number03)
854     , decode(p_line_tbl(i).number04 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number04)
855     , decode(p_line_tbl(i).number05 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number05)
856     , decode(p_line_tbl(i).number06 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number06)
857     , decode(p_line_tbl(i).number07 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number07)
858     , decode(p_line_tbl(i).number08 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number08)
859     , decode(p_line_tbl(i).number09 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number09)
860     , decode(p_line_tbl(i).number10 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number10)
861     , decode(p_line_tbl(i).number11 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number11)
862     , decode(p_line_tbl(i).number12 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number12)
863     , decode(p_line_tbl(i).number13 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number13)
864     , decode(p_line_tbl(i).number14 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number14)
865     , decode(p_line_tbl(i).number15 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number15)
866     , decode(p_line_tbl(i).number16 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number16)
867     , decode(p_line_tbl(i).number17 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number17)
868     , decode(p_line_tbl(i).number18 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number18)
869     , decode(p_line_tbl(i).number19 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number19)
870     , decode(p_line_tbl(i).number20 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number20)
871     , decode(p_line_tbl(i).number21 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number21)
872     , decode(p_line_tbl(i).number22 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number22)
873     , decode(p_line_tbl(i).number23 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number23)
874     , decode(p_line_tbl(i).number24 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number24)
875     , decode(p_line_tbl(i).number25 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number25)
876     , decode(p_line_tbl(i).number26 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number26)
877     , decode(p_line_tbl(i).number27 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number27)
878     , decode(p_line_tbl(i).number28 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number28)
879     , decode(p_line_tbl(i).number29 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number29)
880     , decode(p_line_tbl(i).number30 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number30)
881     , decode(p_line_tbl(i).number31 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number31)
882     , decode(p_line_tbl(i).number32 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number32)
883     , decode(p_line_tbl(i).number33 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number33)
884     , decode(p_line_tbl(i).number34 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number34)
885     , decode(p_line_tbl(i).number35 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number35)
886     , decode(p_line_tbl(i).number36 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number36)
887     , decode(p_line_tbl(i).number37 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number37)
888     , decode(p_line_tbl(i).number38 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number38)
889     , decode(p_line_tbl(i).number39 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number39)
890     , decode(p_line_tbl(i).number40 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number40)
891     , decode(p_line_tbl(i).number41 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number41)
892     , decode(p_line_tbl(i).number42 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number42)
896     , decode(p_line_tbl(i).number46 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number46)
893     , decode(p_line_tbl(i).number43 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number43)
894     , decode(p_line_tbl(i).number44 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number44)
895     , decode(p_line_tbl(i).number45 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number45)
897     , decode(p_line_tbl(i).number47 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number47)
898     , decode(p_line_tbl(i).number48 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number48)
899     , decode(p_line_tbl(i).number49 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number49)
900     , decode(p_line_tbl(i).number50 , FND_API.G_MISS_NUM , NULL , p_line_tbl(i).number50)
901     , decode(p_line_tbl(i).date01 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date01)
902     , decode(p_line_tbl(i).date02 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date02)
903     , decode(p_line_tbl(i).date03 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date03)
904     , decode(p_line_tbl(i).date04 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date04)
905     , decode(p_line_tbl(i).date05 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date05)
906     , decode(p_line_tbl(i).date06 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date06)
907     , decode(p_line_tbl(i).date07 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date07)
908     , decode(p_line_tbl(i).date08 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date08)
909     , decode(p_line_tbl(i).date09 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date09)
910     , decode(p_line_tbl(i).date10 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date10)
911     , decode(p_line_tbl(i).date11 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date11)
912     , decode(p_line_tbl(i).date12 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date12)
913     , decode(p_line_tbl(i).date13 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date13)
914     , decode(p_line_tbl(i).date14 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date14)
915     , decode(p_line_tbl(i).date15 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date15)
916     , decode(p_line_tbl(i).date16 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date16)
917     , decode(p_line_tbl(i).date17 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date17)
918     , decode(p_line_tbl(i).date18 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date18)
919     , decode(p_line_tbl(i).date19 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date19)
920     , decode(p_line_tbl(i).date20 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date20)
921     , decode(p_line_tbl(i).date21 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date21)
922     , decode(p_line_tbl(i).date22 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date22)
923     , decode(p_line_tbl(i).date23 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date23)
924     , decode(p_line_tbl(i).date24 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date24)
925     , decode(p_line_tbl(i).date25 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date25)
926     , decode(p_line_tbl(i).date26 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date26)
927     , decode(p_line_tbl(i).date27 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date27)
928     , decode(p_line_tbl(i).date28 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date28)
929     , decode(p_line_tbl(i).date29 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date29)
930     , decode(p_line_tbl(i).date30 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date30)
931     , decode(p_line_tbl(i).date31 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date31)
932     , decode(p_line_tbl(i).date32 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date32)
933     , decode(p_line_tbl(i).date33 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date33)
934     , decode(p_line_tbl(i).date34 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date34)
935     , decode(p_line_tbl(i).date35 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date35)
936     , decode(p_line_tbl(i).date36 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date36)
937     , decode(p_line_tbl(i).date37 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date37)
938     , decode(p_line_tbl(i).date38 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date38)
939     , decode(p_line_tbl(i).date39 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date39)
940     , decode(p_line_tbl(i).date40 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date40)
941     , decode(p_line_tbl(i).date41 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date41)
942     , decode(p_line_tbl(i).date42 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date42)
943     , decode(p_line_tbl(i).date43 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date43)
944     , decode(p_line_tbl(i).date44 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date44)
945     , decode(p_line_tbl(i).date45 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date45)
946     , decode(p_line_tbl(i).date46 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date46)
947     , decode(p_line_tbl(i).date47 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date47)
948     , decode(p_line_tbl(i).date48 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date48)
949     , decode(p_line_tbl(i).date49 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date49)
950     , decode(p_line_tbl(i).date50 , FND_API.G_MISS_DATE , NULL , p_line_tbl(i).date50)
951     FROM dual;
952 
953     EXIT WHEN ( i = p_line_tbl.LAST );
954     i := p_line_tbl.NEXT(i);
955   END LOOP;
956 
957   x_return_status := FND_API.G_RET_STS_SUCCESS;
958 
959 EXCEPTION
960   WHEN OTHERS THEN
961     FND_MSG_PUB.add_exc_msg
962                ( p_pkg_name        => G_PKG_NAME
963                , p_procedure_name  => 'CREATE_FORM' );
964     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
965 
966 END Create_Form;
967 
968 
969 PROCEDURE Update_Form
970 ( p_header_rec             IN    PFH_Rec_Type
971 , p_line_tbl               IN    PFL_Tbl_Type
972 , x_return_status          OUT NOCOPY   VARCHAR2
973 ) IS
974 
975   l_user_id   NUMBER := FND_GLOBAL.user_id;
976   l_login_id  NUMBER := FND_GLOBAL.login_id;
977   i           NUMBER;
981   UPDATE oke_k_form_headers
978 
979 BEGIN
980 
982   SET last_update_date  = sysdate
983   ,   last_updated_by   = l_user_id
984   ,   last_update_login = l_login_id
985   ,   status_code       = p_header_rec.status_code
986   ,   k_line_id         = p_header_rec.contract_line_id
987   ,   deliverable_id    = p_header_rec.deliverable_id
988   ,   text01 = decode(p_header_rec.text01,FND_API.G_MISS_CHAR,text01,p_header_rec.text01)
989   ,   text02 = decode(p_header_rec.text02,FND_API.G_MISS_CHAR,text02,p_header_rec.text02)
990   ,   text03 = decode(p_header_rec.text03,FND_API.G_MISS_CHAR,text03,p_header_rec.text03)
991   ,   text04 = decode(p_header_rec.text04,FND_API.G_MISS_CHAR,text04,p_header_rec.text04)
992   ,   text05 = decode(p_header_rec.text05,FND_API.G_MISS_CHAR,text05,p_header_rec.text05)
993   ,   text06 = decode(p_header_rec.text06,FND_API.G_MISS_CHAR,text06,p_header_rec.text06)
994   ,   text07 = decode(p_header_rec.text07,FND_API.G_MISS_CHAR,text07,p_header_rec.text07)
995   ,   text08 = decode(p_header_rec.text08,FND_API.G_MISS_CHAR,text08,p_header_rec.text08)
996   ,   text09 = decode(p_header_rec.text09,FND_API.G_MISS_CHAR,text09,p_header_rec.text09)
997   ,   text10 = decode(p_header_rec.text10,FND_API.G_MISS_CHAR,text10,p_header_rec.text10)
998   ,   text11 = decode(p_header_rec.text11,FND_API.G_MISS_CHAR,text11,p_header_rec.text11)
999   ,   text12 = decode(p_header_rec.text12,FND_API.G_MISS_CHAR,text12,p_header_rec.text12)
1000   ,   text13 = decode(p_header_rec.text13,FND_API.G_MISS_CHAR,text13,p_header_rec.text13)
1001   ,   text14 = decode(p_header_rec.text14,FND_API.G_MISS_CHAR,text14,p_header_rec.text14)
1002   ,   text15 = decode(p_header_rec.text15,FND_API.G_MISS_CHAR,text15,p_header_rec.text15)
1003   ,   text16 = decode(p_header_rec.text16,FND_API.G_MISS_CHAR,text16,p_header_rec.text16)
1004   ,   text17 = decode(p_header_rec.text17,FND_API.G_MISS_CHAR,text17,p_header_rec.text17)
1005   ,   text18 = decode(p_header_rec.text18,FND_API.G_MISS_CHAR,text18,p_header_rec.text18)
1006   ,   text19 = decode(p_header_rec.text19,FND_API.G_MISS_CHAR,text19,p_header_rec.text19)
1007   ,   text20 = decode(p_header_rec.text20,FND_API.G_MISS_CHAR,text20,p_header_rec.text20)
1008   ,   text21 = decode(p_header_rec.text21,FND_API.G_MISS_CHAR,text21,p_header_rec.text21)
1009   ,   text22 = decode(p_header_rec.text22,FND_API.G_MISS_CHAR,text22,p_header_rec.text22)
1010   ,   text23 = decode(p_header_rec.text23,FND_API.G_MISS_CHAR,text23,p_header_rec.text23)
1011   ,   text24 = decode(p_header_rec.text24,FND_API.G_MISS_CHAR,text24,p_header_rec.text24)
1012   ,   text25 = decode(p_header_rec.text25,FND_API.G_MISS_CHAR,text25,p_header_rec.text25)
1013   ,   text26 = decode(p_header_rec.text26,FND_API.G_MISS_CHAR,text26,p_header_rec.text26)
1014   ,   text27 = decode(p_header_rec.text27,FND_API.G_MISS_CHAR,text27,p_header_rec.text27)
1015   ,   text28 = decode(p_header_rec.text28,FND_API.G_MISS_CHAR,text28,p_header_rec.text28)
1016   ,   text29 = decode(p_header_rec.text29,FND_API.G_MISS_CHAR,text29,p_header_rec.text29)
1017   ,   text30 = decode(p_header_rec.text30,FND_API.G_MISS_CHAR,text30,p_header_rec.text30)
1018   ,   text31 = decode(p_header_rec.text31,FND_API.G_MISS_CHAR,text31,p_header_rec.text31)
1019   ,   text32 = decode(p_header_rec.text32,FND_API.G_MISS_CHAR,text32,p_header_rec.text32)
1020   ,   text33 = decode(p_header_rec.text33,FND_API.G_MISS_CHAR,text33,p_header_rec.text33)
1021   ,   text34 = decode(p_header_rec.text34,FND_API.G_MISS_CHAR,text34,p_header_rec.text34)
1022   ,   text35 = decode(p_header_rec.text35,FND_API.G_MISS_CHAR,text35,p_header_rec.text35)
1023   ,   text36 = decode(p_header_rec.text36,FND_API.G_MISS_CHAR,text36,p_header_rec.text36)
1024   ,   text37 = decode(p_header_rec.text37,FND_API.G_MISS_CHAR,text37,p_header_rec.text37)
1025   ,   text38 = decode(p_header_rec.text38,FND_API.G_MISS_CHAR,text38,p_header_rec.text38)
1026   ,   text39 = decode(p_header_rec.text39,FND_API.G_MISS_CHAR,text39,p_header_rec.text39)
1027   ,   text40 = decode(p_header_rec.text40,FND_API.G_MISS_CHAR,text40,p_header_rec.text40)
1028   ,   text41 = decode(p_header_rec.text41,FND_API.G_MISS_CHAR,text41,p_header_rec.text41)
1029   ,   text42 = decode(p_header_rec.text42,FND_API.G_MISS_CHAR,text42,p_header_rec.text42)
1030   ,   text43 = decode(p_header_rec.text43,FND_API.G_MISS_CHAR,text43,p_header_rec.text43)
1031   ,   text44 = decode(p_header_rec.text44,FND_API.G_MISS_CHAR,text44,p_header_rec.text44)
1032   ,   text45 = decode(p_header_rec.text45,FND_API.G_MISS_CHAR,text45,p_header_rec.text45)
1033   ,   text46 = decode(p_header_rec.text46,FND_API.G_MISS_CHAR,text46,p_header_rec.text46)
1034   ,   text47 = decode(p_header_rec.text47,FND_API.G_MISS_CHAR,text47,p_header_rec.text47)
1035   ,   text48 = decode(p_header_rec.text48,FND_API.G_MISS_CHAR,text48,p_header_rec.text48)
1036   ,   text49 = decode(p_header_rec.text49,FND_API.G_MISS_CHAR,text49,p_header_rec.text49)
1037   ,   text50 = decode(p_header_rec.text50,FND_API.G_MISS_CHAR,text50,p_header_rec.text50)
1038   ,   number01 = decode(p_header_rec.number01,FND_API.G_MISS_NUM,number01,p_header_rec.number01)
1039   ,   number02 = decode(p_header_rec.number02,FND_API.G_MISS_NUM,number02,p_header_rec.number02)
1040   ,   number03 = decode(p_header_rec.number03,FND_API.G_MISS_NUM,number03,p_header_rec.number03)
1041   ,   number04 = decode(p_header_rec.number04,FND_API.G_MISS_NUM,number04,p_header_rec.number04)
1042   ,   number05 = decode(p_header_rec.number05,FND_API.G_MISS_NUM,number05,p_header_rec.number05)
1043   ,   number06 = decode(p_header_rec.number06,FND_API.G_MISS_NUM,number06,p_header_rec.number06)
1044   ,   number07 = decode(p_header_rec.number07,FND_API.G_MISS_NUM,number07,p_header_rec.number07)
1045   ,   number08 = decode(p_header_rec.number08,FND_API.G_MISS_NUM,number08,p_header_rec.number08)
1046   ,   number09 = decode(p_header_rec.number09,FND_API.G_MISS_NUM,number09,p_header_rec.number09)
1047   ,   number10 = decode(p_header_rec.number10,FND_API.G_MISS_NUM,number10,p_header_rec.number10)
1051   ,   number14 = decode(p_header_rec.number14,FND_API.G_MISS_NUM,number14,p_header_rec.number14)
1048   ,   number11 = decode(p_header_rec.number11,FND_API.G_MISS_NUM,number11,p_header_rec.number11)
1049   ,   number12 = decode(p_header_rec.number12,FND_API.G_MISS_NUM,number12,p_header_rec.number12)
1050   ,   number13 = decode(p_header_rec.number13,FND_API.G_MISS_NUM,number13,p_header_rec.number13)
1052   ,   number15 = decode(p_header_rec.number15,FND_API.G_MISS_NUM,number15,p_header_rec.number15)
1053   ,   number16 = decode(p_header_rec.number16,FND_API.G_MISS_NUM,number16,p_header_rec.number16)
1054   ,   number17 = decode(p_header_rec.number17,FND_API.G_MISS_NUM,number17,p_header_rec.number17)
1055   ,   number18 = decode(p_header_rec.number18,FND_API.G_MISS_NUM,number18,p_header_rec.number18)
1056   ,   number19 = decode(p_header_rec.number19,FND_API.G_MISS_NUM,number19,p_header_rec.number19)
1057   ,   number20 = decode(p_header_rec.number20,FND_API.G_MISS_NUM,number20,p_header_rec.number20)
1058   ,   number21 = decode(p_header_rec.number21,FND_API.G_MISS_NUM,number21,p_header_rec.number21)
1059   ,   number22 = decode(p_header_rec.number22,FND_API.G_MISS_NUM,number22,p_header_rec.number22)
1060   ,   number23 = decode(p_header_rec.number23,FND_API.G_MISS_NUM,number23,p_header_rec.number23)
1061   ,   number24 = decode(p_header_rec.number24,FND_API.G_MISS_NUM,number24,p_header_rec.number24)
1062   ,   number25 = decode(p_header_rec.number25,FND_API.G_MISS_NUM,number25,p_header_rec.number25)
1063   ,   number26 = decode(p_header_rec.number26,FND_API.G_MISS_NUM,number26,p_header_rec.number26)
1064   ,   number27 = decode(p_header_rec.number27,FND_API.G_MISS_NUM,number27,p_header_rec.number27)
1065   ,   number28 = decode(p_header_rec.number28,FND_API.G_MISS_NUM,number28,p_header_rec.number28)
1066   ,   number29 = decode(p_header_rec.number29,FND_API.G_MISS_NUM,number29,p_header_rec.number29)
1067   ,   number30 = decode(p_header_rec.number30,FND_API.G_MISS_NUM,number30,p_header_rec.number30)
1068   ,   number31 = decode(p_header_rec.number31,FND_API.G_MISS_NUM,number31,p_header_rec.number31)
1069   ,   number32 = decode(p_header_rec.number32,FND_API.G_MISS_NUM,number32,p_header_rec.number32)
1070   ,   number33 = decode(p_header_rec.number33,FND_API.G_MISS_NUM,number33,p_header_rec.number33)
1071   ,   number34 = decode(p_header_rec.number34,FND_API.G_MISS_NUM,number34,p_header_rec.number34)
1072   ,   number35 = decode(p_header_rec.number35,FND_API.G_MISS_NUM,number35,p_header_rec.number35)
1073   ,   number36 = decode(p_header_rec.number36,FND_API.G_MISS_NUM,number36,p_header_rec.number36)
1074   ,   number37 = decode(p_header_rec.number37,FND_API.G_MISS_NUM,number37,p_header_rec.number37)
1075   ,   number38 = decode(p_header_rec.number38,FND_API.G_MISS_NUM,number38,p_header_rec.number38)
1076   ,   number39 = decode(p_header_rec.number39,FND_API.G_MISS_NUM,number39,p_header_rec.number39)
1077   ,   number40 = decode(p_header_rec.number40,FND_API.G_MISS_NUM,number40,p_header_rec.number40)
1078   ,   number41 = decode(p_header_rec.number41,FND_API.G_MISS_NUM,number41,p_header_rec.number41)
1079   ,   number42 = decode(p_header_rec.number42,FND_API.G_MISS_NUM,number42,p_header_rec.number42)
1080   ,   number43 = decode(p_header_rec.number43,FND_API.G_MISS_NUM,number43,p_header_rec.number43)
1081   ,   number44 = decode(p_header_rec.number44,FND_API.G_MISS_NUM,number44,p_header_rec.number44)
1082   ,   number45 = decode(p_header_rec.number45,FND_API.G_MISS_NUM,number45,p_header_rec.number45)
1083   ,   number46 = decode(p_header_rec.number46,FND_API.G_MISS_NUM,number46,p_header_rec.number46)
1084   ,   number47 = decode(p_header_rec.number47,FND_API.G_MISS_NUM,number47,p_header_rec.number47)
1085   ,   number48 = decode(p_header_rec.number48,FND_API.G_MISS_NUM,number48,p_header_rec.number48)
1086   ,   number49 = decode(p_header_rec.number49,FND_API.G_MISS_NUM,number49,p_header_rec.number49)
1087   ,   number50 = decode(p_header_rec.number50,FND_API.G_MISS_NUM,number50,p_header_rec.number50)
1088   ,   date01 = decode(p_header_rec.date01,FND_API.G_MISS_DATE,date01,p_header_rec.date01)
1089   ,   date02 = decode(p_header_rec.date02,FND_API.G_MISS_DATE,date02,p_header_rec.date02)
1090   ,   date03 = decode(p_header_rec.date03,FND_API.G_MISS_DATE,date03,p_header_rec.date03)
1091   ,   date04 = decode(p_header_rec.date04,FND_API.G_MISS_DATE,date04,p_header_rec.date04)
1092   ,   date05 = decode(p_header_rec.date05,FND_API.G_MISS_DATE,date05,p_header_rec.date05)
1093   ,   date06 = decode(p_header_rec.date06,FND_API.G_MISS_DATE,date06,p_header_rec.date06)
1094   ,   date07 = decode(p_header_rec.date07,FND_API.G_MISS_DATE,date07,p_header_rec.date07)
1095   ,   date08 = decode(p_header_rec.date08,FND_API.G_MISS_DATE,date08,p_header_rec.date08)
1096   ,   date09 = decode(p_header_rec.date09,FND_API.G_MISS_DATE,date09,p_header_rec.date09)
1097   ,   date10 = decode(p_header_rec.date10,FND_API.G_MISS_DATE,date10,p_header_rec.date10)
1098   ,   date11 = decode(p_header_rec.date11,FND_API.G_MISS_DATE,date11,p_header_rec.date11)
1099   ,   date12 = decode(p_header_rec.date12,FND_API.G_MISS_DATE,date12,p_header_rec.date12)
1100   ,   date13 = decode(p_header_rec.date13,FND_API.G_MISS_DATE,date13,p_header_rec.date13)
1101   ,   date14 = decode(p_header_rec.date14,FND_API.G_MISS_DATE,date14,p_header_rec.date14)
1102   ,   date15 = decode(p_header_rec.date15,FND_API.G_MISS_DATE,date15,p_header_rec.date15)
1103   ,   date16 = decode(p_header_rec.date16,FND_API.G_MISS_DATE,date16,p_header_rec.date16)
1104   ,   date17 = decode(p_header_rec.date17,FND_API.G_MISS_DATE,date17,p_header_rec.date17)
1105   ,   date18 = decode(p_header_rec.date18,FND_API.G_MISS_DATE,date18,p_header_rec.date18)
1106   ,   date19 = decode(p_header_rec.date19,FND_API.G_MISS_DATE,date19,p_header_rec.date19)
1107   ,   date20 = decode(p_header_rec.date20,FND_API.G_MISS_DATE,date20,p_header_rec.date20)
1108   ,   date21 = decode(p_header_rec.date21,FND_API.G_MISS_DATE,date21,p_header_rec.date21)
1109   ,   date22 = decode(p_header_rec.date22,FND_API.G_MISS_DATE,date22,p_header_rec.date22)
1110   ,   date23 = decode(p_header_rec.date23,FND_API.G_MISS_DATE,date23,p_header_rec.date23)
1111   ,   date24 = decode(p_header_rec.date24,FND_API.G_MISS_DATE,date24,p_header_rec.date24)
1115   ,   date28 = decode(p_header_rec.date28,FND_API.G_MISS_DATE,date28,p_header_rec.date28)
1112   ,   date25 = decode(p_header_rec.date25,FND_API.G_MISS_DATE,date25,p_header_rec.date25)
1113   ,   date26 = decode(p_header_rec.date26,FND_API.G_MISS_DATE,date26,p_header_rec.date26)
1114   ,   date27 = decode(p_header_rec.date27,FND_API.G_MISS_DATE,date27,p_header_rec.date27)
1116   ,   date29 = decode(p_header_rec.date29,FND_API.G_MISS_DATE,date29,p_header_rec.date29)
1117   ,   date30 = decode(p_header_rec.date30,FND_API.G_MISS_DATE,date30,p_header_rec.date30)
1118   ,   date31 = decode(p_header_rec.date31,FND_API.G_MISS_DATE,date31,p_header_rec.date31)
1119   ,   date32 = decode(p_header_rec.date32,FND_API.G_MISS_DATE,date32,p_header_rec.date32)
1120   ,   date33 = decode(p_header_rec.date33,FND_API.G_MISS_DATE,date33,p_header_rec.date33)
1121   ,   date34 = decode(p_header_rec.date34,FND_API.G_MISS_DATE,date34,p_header_rec.date34)
1122   ,   date35 = decode(p_header_rec.date35,FND_API.G_MISS_DATE,date35,p_header_rec.date35)
1123   ,   date36 = decode(p_header_rec.date36,FND_API.G_MISS_DATE,date36,p_header_rec.date36)
1124   ,   date37 = decode(p_header_rec.date37,FND_API.G_MISS_DATE,date37,p_header_rec.date37)
1125   ,   date38 = decode(p_header_rec.date38,FND_API.G_MISS_DATE,date38,p_header_rec.date38)
1126   ,   date39 = decode(p_header_rec.date39,FND_API.G_MISS_DATE,date39,p_header_rec.date39)
1127   ,   date40 = decode(p_header_rec.date40,FND_API.G_MISS_DATE,date40,p_header_rec.date40)
1128   ,   date41 = decode(p_header_rec.date41,FND_API.G_MISS_DATE,date41,p_header_rec.date41)
1129   ,   date42 = decode(p_header_rec.date42,FND_API.G_MISS_DATE,date42,p_header_rec.date42)
1130   ,   date43 = decode(p_header_rec.date43,FND_API.G_MISS_DATE,date43,p_header_rec.date43)
1131   ,   date44 = decode(p_header_rec.date44,FND_API.G_MISS_DATE,date44,p_header_rec.date44)
1132   ,   date45 = decode(p_header_rec.date45,FND_API.G_MISS_DATE,date45,p_header_rec.date45)
1133   ,   date46 = decode(p_header_rec.date46,FND_API.G_MISS_DATE,date46,p_header_rec.date46)
1134   ,   date47 = decode(p_header_rec.date47,FND_API.G_MISS_DATE,date47,p_header_rec.date47)
1135   ,   date48 = decode(p_header_rec.date48,FND_API.G_MISS_DATE,date48,p_header_rec.date48)
1136   ,   date49 = decode(p_header_rec.date49,FND_API.G_MISS_DATE,date49,p_header_rec.date49)
1137   ,   date50 = decode(p_header_rec.date50,FND_API.G_MISS_DATE,date50,p_header_rec.date50)
1138   WHERE form_header_id = p_header_rec.form_header_id;
1139 
1140   i := p_line_tbl.FIRST;
1141   LOOP
1142 
1143     UPDATE oke_k_form_lines
1144     SET last_update_date  = sysdate
1145     ,   last_updated_by   = l_user_id
1146     ,   last_update_login = l_login_id
1147     ,   text01 = decode(p_line_tbl(i).text01,FND_API.G_MISS_CHAR,text01,p_line_tbl(i).text01)
1148     ,   text02 = decode(p_line_tbl(i).text02,FND_API.G_MISS_CHAR,text02,p_line_tbl(i).text02)
1149     ,   text03 = decode(p_line_tbl(i).text03,FND_API.G_MISS_CHAR,text03,p_line_tbl(i).text03)
1150     ,   text04 = decode(p_line_tbl(i).text04,FND_API.G_MISS_CHAR,text04,p_line_tbl(i).text04)
1151     ,   text05 = decode(p_line_tbl(i).text05,FND_API.G_MISS_CHAR,text05,p_line_tbl(i).text05)
1152     ,   text06 = decode(p_line_tbl(i).text06,FND_API.G_MISS_CHAR,text06,p_line_tbl(i).text06)
1153     ,   text07 = decode(p_line_tbl(i).text07,FND_API.G_MISS_CHAR,text07,p_line_tbl(i).text07)
1154     ,   text08 = decode(p_line_tbl(i).text08,FND_API.G_MISS_CHAR,text08,p_line_tbl(i).text08)
1155     ,   text09 = decode(p_line_tbl(i).text09,FND_API.G_MISS_CHAR,text09,p_line_tbl(i).text09)
1156     ,   text10 = decode(p_line_tbl(i).text10,FND_API.G_MISS_CHAR,text10,p_line_tbl(i).text10)
1157     ,   text11 = decode(p_line_tbl(i).text11,FND_API.G_MISS_CHAR,text11,p_line_tbl(i).text11)
1158     ,   text12 = decode(p_line_tbl(i).text12,FND_API.G_MISS_CHAR,text12,p_line_tbl(i).text12)
1159     ,   text13 = decode(p_line_tbl(i).text13,FND_API.G_MISS_CHAR,text13,p_line_tbl(i).text13)
1160     ,   text14 = decode(p_line_tbl(i).text14,FND_API.G_MISS_CHAR,text14,p_line_tbl(i).text14)
1161     ,   text15 = decode(p_line_tbl(i).text15,FND_API.G_MISS_CHAR,text15,p_line_tbl(i).text15)
1162     ,   text16 = decode(p_line_tbl(i).text16,FND_API.G_MISS_CHAR,text16,p_line_tbl(i).text16)
1163     ,   text17 = decode(p_line_tbl(i).text17,FND_API.G_MISS_CHAR,text17,p_line_tbl(i).text17)
1164     ,   text18 = decode(p_line_tbl(i).text18,FND_API.G_MISS_CHAR,text18,p_line_tbl(i).text18)
1165     ,   text19 = decode(p_line_tbl(i).text19,FND_API.G_MISS_CHAR,text19,p_line_tbl(i).text19)
1166     ,   text20 = decode(p_line_tbl(i).text20,FND_API.G_MISS_CHAR,text20,p_line_tbl(i).text20)
1167     ,   text21 = decode(p_line_tbl(i).text21,FND_API.G_MISS_CHAR,text21,p_line_tbl(i).text21)
1168     ,   text22 = decode(p_line_tbl(i).text22,FND_API.G_MISS_CHAR,text22,p_line_tbl(i).text22)
1169     ,   text23 = decode(p_line_tbl(i).text23,FND_API.G_MISS_CHAR,text23,p_line_tbl(i).text23)
1170     ,   text24 = decode(p_line_tbl(i).text24,FND_API.G_MISS_CHAR,text24,p_line_tbl(i).text24)
1171     ,   text25 = decode(p_line_tbl(i).text25,FND_API.G_MISS_CHAR,text25,p_line_tbl(i).text25)
1172     ,   text26 = decode(p_line_tbl(i).text26,FND_API.G_MISS_CHAR,text26,p_line_tbl(i).text26)
1173     ,   text27 = decode(p_line_tbl(i).text27,FND_API.G_MISS_CHAR,text27,p_line_tbl(i).text27)
1174     ,   text28 = decode(p_line_tbl(i).text28,FND_API.G_MISS_CHAR,text28,p_line_tbl(i).text28)
1175     ,   text29 = decode(p_line_tbl(i).text29,FND_API.G_MISS_CHAR,text29,p_line_tbl(i).text29)
1176     ,   text30 = decode(p_line_tbl(i).text30,FND_API.G_MISS_CHAR,text30,p_line_tbl(i).text30)
1177     ,   text31 = decode(p_line_tbl(i).text31,FND_API.G_MISS_CHAR,text31,p_line_tbl(i).text31)
1178     ,   text32 = decode(p_line_tbl(i).text32,FND_API.G_MISS_CHAR,text32,p_line_tbl(i).text32)
1179     ,   text33 = decode(p_line_tbl(i).text33,FND_API.G_MISS_CHAR,text33,p_line_tbl(i).text33)
1180     ,   text34 = decode(p_line_tbl(i).text34,FND_API.G_MISS_CHAR,text34,p_line_tbl(i).text34)
1181     ,   text35 = decode(p_line_tbl(i).text35,FND_API.G_MISS_CHAR,text35,p_line_tbl(i).text35)
1185     ,   text39 = decode(p_line_tbl(i).text39,FND_API.G_MISS_CHAR,text39,p_line_tbl(i).text39)
1182     ,   text36 = decode(p_line_tbl(i).text36,FND_API.G_MISS_CHAR,text36,p_line_tbl(i).text36)
1183     ,   text37 = decode(p_line_tbl(i).text37,FND_API.G_MISS_CHAR,text37,p_line_tbl(i).text37)
1184     ,   text38 = decode(p_line_tbl(i).text38,FND_API.G_MISS_CHAR,text38,p_line_tbl(i).text38)
1186     ,   text40 = decode(p_line_tbl(i).text40,FND_API.G_MISS_CHAR,text40,p_line_tbl(i).text40)
1187     ,   text41 = decode(p_line_tbl(i).text41,FND_API.G_MISS_CHAR,text41,p_line_tbl(i).text41)
1188     ,   text42 = decode(p_line_tbl(i).text42,FND_API.G_MISS_CHAR,text42,p_line_tbl(i).text42)
1189     ,   text43 = decode(p_line_tbl(i).text43,FND_API.G_MISS_CHAR,text43,p_line_tbl(i).text43)
1190     ,   text44 = decode(p_line_tbl(i).text44,FND_API.G_MISS_CHAR,text44,p_line_tbl(i).text44)
1191     ,   text45 = decode(p_line_tbl(i).text45,FND_API.G_MISS_CHAR,text45,p_line_tbl(i).text45)
1192     ,   text46 = decode(p_line_tbl(i).text46,FND_API.G_MISS_CHAR,text46,p_line_tbl(i).text46)
1193     ,   text47 = decode(p_line_tbl(i).text47,FND_API.G_MISS_CHAR,text47,p_line_tbl(i).text47)
1194     ,   text48 = decode(p_line_tbl(i).text48,FND_API.G_MISS_CHAR,text48,p_line_tbl(i).text48)
1195     ,   text49 = decode(p_line_tbl(i).text49,FND_API.G_MISS_CHAR,text49,p_line_tbl(i).text49)
1196     ,   text50 = decode(p_line_tbl(i).text50,FND_API.G_MISS_CHAR,text50,p_line_tbl(i).text50)
1197     ,   number01 = decode(p_line_tbl(i).number01,FND_API.G_MISS_NUM,number01,p_line_tbl(i).number01)
1198     ,   number02 = decode(p_line_tbl(i).number02,FND_API.G_MISS_NUM,number02,p_line_tbl(i).number02)
1199     ,   number03 = decode(p_line_tbl(i).number03,FND_API.G_MISS_NUM,number03,p_line_tbl(i).number03)
1200     ,   number04 = decode(p_line_tbl(i).number04,FND_API.G_MISS_NUM,number04,p_line_tbl(i).number04)
1201     ,   number05 = decode(p_line_tbl(i).number05,FND_API.G_MISS_NUM,number05,p_line_tbl(i).number05)
1202     ,   number06 = decode(p_line_tbl(i).number06,FND_API.G_MISS_NUM,number06,p_line_tbl(i).number06)
1203     ,   number07 = decode(p_line_tbl(i).number07,FND_API.G_MISS_NUM,number07,p_line_tbl(i).number07)
1204     ,   number08 = decode(p_line_tbl(i).number08,FND_API.G_MISS_NUM,number08,p_line_tbl(i).number08)
1205     ,   number09 = decode(p_line_tbl(i).number09,FND_API.G_MISS_NUM,number09,p_line_tbl(i).number09)
1206     ,   number10 = decode(p_line_tbl(i).number10,FND_API.G_MISS_NUM,number10,p_line_tbl(i).number10)
1207     ,   number11 = decode(p_line_tbl(i).number11,FND_API.G_MISS_NUM,number11,p_line_tbl(i).number11)
1208     ,   number12 = decode(p_line_tbl(i).number12,FND_API.G_MISS_NUM,number12,p_line_tbl(i).number12)
1209     ,   number13 = decode(p_line_tbl(i).number13,FND_API.G_MISS_NUM,number13,p_line_tbl(i).number13)
1210     ,   number14 = decode(p_line_tbl(i).number14,FND_API.G_MISS_NUM,number14,p_line_tbl(i).number14)
1211     ,   number15 = decode(p_line_tbl(i).number15,FND_API.G_MISS_NUM,number15,p_line_tbl(i).number15)
1212     ,   number16 = decode(p_line_tbl(i).number16,FND_API.G_MISS_NUM,number16,p_line_tbl(i).number16)
1213     ,   number17 = decode(p_line_tbl(i).number17,FND_API.G_MISS_NUM,number17,p_line_tbl(i).number17)
1214     ,   number18 = decode(p_line_tbl(i).number18,FND_API.G_MISS_NUM,number18,p_line_tbl(i).number18)
1215     ,   number19 = decode(p_line_tbl(i).number19,FND_API.G_MISS_NUM,number19,p_line_tbl(i).number19)
1216     ,   number20 = decode(p_line_tbl(i).number20,FND_API.G_MISS_NUM,number20,p_line_tbl(i).number20)
1217     ,   number21 = decode(p_line_tbl(i).number21,FND_API.G_MISS_NUM,number21,p_line_tbl(i).number21)
1218     ,   number22 = decode(p_line_tbl(i).number22,FND_API.G_MISS_NUM,number22,p_line_tbl(i).number22)
1219     ,   number23 = decode(p_line_tbl(i).number23,FND_API.G_MISS_NUM,number23,p_line_tbl(i).number23)
1220     ,   number24 = decode(p_line_tbl(i).number24,FND_API.G_MISS_NUM,number24,p_line_tbl(i).number24)
1221     ,   number25 = decode(p_line_tbl(i).number25,FND_API.G_MISS_NUM,number25,p_line_tbl(i).number25)
1222     ,   number26 = decode(p_line_tbl(i).number26,FND_API.G_MISS_NUM,number26,p_line_tbl(i).number26)
1223     ,   number27 = decode(p_line_tbl(i).number27,FND_API.G_MISS_NUM,number27,p_line_tbl(i).number27)
1224     ,   number28 = decode(p_line_tbl(i).number28,FND_API.G_MISS_NUM,number28,p_line_tbl(i).number28)
1225     ,   number29 = decode(p_line_tbl(i).number29,FND_API.G_MISS_NUM,number29,p_line_tbl(i).number29)
1226     ,   number30 = decode(p_line_tbl(i).number30,FND_API.G_MISS_NUM,number30,p_line_tbl(i).number30)
1227     ,   number31 = decode(p_line_tbl(i).number31,FND_API.G_MISS_NUM,number31,p_line_tbl(i).number31)
1228     ,   number32 = decode(p_line_tbl(i).number32,FND_API.G_MISS_NUM,number32,p_line_tbl(i).number32)
1232     ,   number36 = decode(p_line_tbl(i).number36,FND_API.G_MISS_NUM,number36,p_line_tbl(i).number36)
1229     ,   number33 = decode(p_line_tbl(i).number33,FND_API.G_MISS_NUM,number33,p_line_tbl(i).number33)
1230     ,   number34 = decode(p_line_tbl(i).number34,FND_API.G_MISS_NUM,number34,p_line_tbl(i).number34)
1231     ,   number35 = decode(p_line_tbl(i).number35,FND_API.G_MISS_NUM,number35,p_line_tbl(i).number35)
1233     ,   number37 = decode(p_line_tbl(i).number37,FND_API.G_MISS_NUM,number37,p_line_tbl(i).number37)
1234     ,   number38 = decode(p_line_tbl(i).number38,FND_API.G_MISS_NUM,number38,p_line_tbl(i).number38)
1235     ,   number39 = decode(p_line_tbl(i).number39,FND_API.G_MISS_NUM,number39,p_line_tbl(i).number39)
1236     ,   number40 = decode(p_line_tbl(i).number40,FND_API.G_MISS_NUM,number40,p_line_tbl(i).number40)
1237     ,   number41 = decode(p_line_tbl(i).number41,FND_API.G_MISS_NUM,number41,p_line_tbl(i).number41)
1238     ,   number42 = decode(p_line_tbl(i).number42,FND_API.G_MISS_NUM,number42,p_line_tbl(i).number42)
1239     ,   number43 = decode(p_line_tbl(i).number43,FND_API.G_MISS_NUM,number43,p_line_tbl(i).number43)
1240     ,   number44 = decode(p_line_tbl(i).number44,FND_API.G_MISS_NUM,number44,p_line_tbl(i).number44)
1241     ,   number45 = decode(p_line_tbl(i).number45,FND_API.G_MISS_NUM,number45,p_line_tbl(i).number45)
1242     ,   number46 = decode(p_line_tbl(i).number46,FND_API.G_MISS_NUM,number46,p_line_tbl(i).number46)
1243     ,   number47 = decode(p_line_tbl(i).number47,FND_API.G_MISS_NUM,number47,p_line_tbl(i).number47)
1244     ,   number48 = decode(p_line_tbl(i).number48,FND_API.G_MISS_NUM,number48,p_line_tbl(i).number48)
1245     ,   number49 = decode(p_line_tbl(i).number49,FND_API.G_MISS_NUM,number49,p_line_tbl(i).number49)
1246     ,   number50 = decode(p_line_tbl(i).number50,FND_API.G_MISS_NUM,number50,p_line_tbl(i).number50)
1247     ,   date01 = decode(p_line_tbl(i).date01,FND_API.G_MISS_DATE,date01,p_line_tbl(i).date01)
1248     ,   date02 = decode(p_line_tbl(i).date02,FND_API.G_MISS_DATE,date02,p_line_tbl(i).date02)
1249     ,   date03 = decode(p_line_tbl(i).date03,FND_API.G_MISS_DATE,date03,p_line_tbl(i).date03)
1250     ,   date04 = decode(p_line_tbl(i).date04,FND_API.G_MISS_DATE,date04,p_line_tbl(i).date04)
1251     ,   date05 = decode(p_line_tbl(i).date05,FND_API.G_MISS_DATE,date05,p_line_tbl(i).date05)
1252     ,   date06 = decode(p_line_tbl(i).date06,FND_API.G_MISS_DATE,date06,p_line_tbl(i).date06)
1253     ,   date07 = decode(p_line_tbl(i).date07,FND_API.G_MISS_DATE,date07,p_line_tbl(i).date07)
1254     ,   date08 = decode(p_line_tbl(i).date08,FND_API.G_MISS_DATE,date08,p_line_tbl(i).date08)
1255     ,   date09 = decode(p_line_tbl(i).date09,FND_API.G_MISS_DATE,date09,p_line_tbl(i).date09)
1256     ,   date10 = decode(p_line_tbl(i).date10,FND_API.G_MISS_DATE,date10,p_line_tbl(i).date10)
1257     ,   date11 = decode(p_line_tbl(i).date11,FND_API.G_MISS_DATE,date11,p_line_tbl(i).date11)
1258     ,   date12 = decode(p_line_tbl(i).date12,FND_API.G_MISS_DATE,date12,p_line_tbl(i).date12)
1259     ,   date13 = decode(p_line_tbl(i).date13,FND_API.G_MISS_DATE,date13,p_line_tbl(i).date13)
1260     ,   date14 = decode(p_line_tbl(i).date14,FND_API.G_MISS_DATE,date14,p_line_tbl(i).date14)
1261     ,   date15 = decode(p_line_tbl(i).date15,FND_API.G_MISS_DATE,date15,p_line_tbl(i).date15)
1262     ,   date16 = decode(p_line_tbl(i).date16,FND_API.G_MISS_DATE,date16,p_line_tbl(i).date16)
1263     ,   date17 = decode(p_line_tbl(i).date17,FND_API.G_MISS_DATE,date17,p_line_tbl(i).date17)
1264     ,   date18 = decode(p_line_tbl(i).date18,FND_API.G_MISS_DATE,date18,p_line_tbl(i).date18)
1265     ,   date19 = decode(p_line_tbl(i).date19,FND_API.G_MISS_DATE,date19,p_line_tbl(i).date19)
1266     ,   date20 = decode(p_line_tbl(i).date20,FND_API.G_MISS_DATE,date20,p_line_tbl(i).date20)
1267     ,   date21 = decode(p_line_tbl(i).date21,FND_API.G_MISS_DATE,date21,p_line_tbl(i).date21)
1271     ,   date25 = decode(p_line_tbl(i).date25,FND_API.G_MISS_DATE,date25,p_line_tbl(i).date25)
1268     ,   date22 = decode(p_line_tbl(i).date22,FND_API.G_MISS_DATE,date22,p_line_tbl(i).date22)
1269     ,   date23 = decode(p_line_tbl(i).date23,FND_API.G_MISS_DATE,date23,p_line_tbl(i).date23)
1270     ,   date24 = decode(p_line_tbl(i).date24,FND_API.G_MISS_DATE,date24,p_line_tbl(i).date24)
1272     ,   date26 = decode(p_line_tbl(i).date26,FND_API.G_MISS_DATE,date26,p_line_tbl(i).date26)
1273     ,   date27 = decode(p_line_tbl(i).date27,FND_API.G_MISS_DATE,date27,p_line_tbl(i).date27)
1274     ,   date28 = decode(p_line_tbl(i).date28,FND_API.G_MISS_DATE,date28,p_line_tbl(i).date28)
1275     ,   date29 = decode(p_line_tbl(i).date29,FND_API.G_MISS_DATE,date29,p_line_tbl(i).date29)
1276     ,   date30 = decode(p_line_tbl(i).date30,FND_API.G_MISS_DATE,date30,p_line_tbl(i).date30)
1277     ,   date31 = decode(p_line_tbl(i).date31,FND_API.G_MISS_DATE,date31,p_line_tbl(i).date31)
1278     ,   date32 = decode(p_line_tbl(i).date32,FND_API.G_MISS_DATE,date32,p_line_tbl(i).date32)
1279     ,   date33 = decode(p_line_tbl(i).date33,FND_API.G_MISS_DATE,date33,p_line_tbl(i).date33)
1280     ,   date34 = decode(p_line_tbl(i).date34,FND_API.G_MISS_DATE,date34,p_line_tbl(i).date34)
1281     ,   date35 = decode(p_line_tbl(i).date35,FND_API.G_MISS_DATE,date35,p_line_tbl(i).date35)
1282     ,   date36 = decode(p_line_tbl(i).date36,FND_API.G_MISS_DATE,date36,p_line_tbl(i).date36)
1283     ,   date37 = decode(p_line_tbl(i).date37,FND_API.G_MISS_DATE,date37,p_line_tbl(i).date37)
1284     ,   date38 = decode(p_line_tbl(i).date38,FND_API.G_MISS_DATE,date38,p_line_tbl(i).date38)
1285     ,   date39 = decode(p_line_tbl(i).date39,FND_API.G_MISS_DATE,date39,p_line_tbl(i).date39)
1286     ,   date40 = decode(p_line_tbl(i).date40,FND_API.G_MISS_DATE,date40,p_line_tbl(i).date40)
1287     ,   date41 = decode(p_line_tbl(i).date41,FND_API.G_MISS_DATE,date41,p_line_tbl(i).date41)
1288     ,   date42 = decode(p_line_tbl(i).date42,FND_API.G_MISS_DATE,date42,p_line_tbl(i).date42)
1289     ,   date43 = decode(p_line_tbl(i).date43,FND_API.G_MISS_DATE,date43,p_line_tbl(i).date43)
1290     ,   date44 = decode(p_line_tbl(i).date44,FND_API.G_MISS_DATE,date44,p_line_tbl(i).date44)
1291     ,   date45 = decode(p_line_tbl(i).date45,FND_API.G_MISS_DATE,date45,p_line_tbl(i).date45)
1292     ,   date46 = decode(p_line_tbl(i).date46,FND_API.G_MISS_DATE,date46,p_line_tbl(i).date46)
1293     ,   date47 = decode(p_line_tbl(i).date47,FND_API.G_MISS_DATE,date47,p_line_tbl(i).date47)
1294     ,   date48 = decode(p_line_tbl(i).date48,FND_API.G_MISS_DATE,date48,p_line_tbl(i).date48)
1295     ,   date49 = decode(p_line_tbl(i).date49,FND_API.G_MISS_DATE,date49,p_line_tbl(i).date49)
1296     ,   date50 = decode(p_line_tbl(i).date50,FND_API.G_MISS_DATE,date50,p_line_tbl(i).date50)
1297     WHERE form_header_id = p_header_rec.form_header_id
1298     AND   form_line_number = p_line_tbl(i).form_line_number;
1299 
1300     EXIT WHEN ( i = p_line_tbl.LAST );
1301     i := p_line_tbl.NEXT(i);
1302   END LOOP;
1303 
1304   x_return_status := FND_API.G_RET_STS_SUCCESS;
1305 
1306 EXCEPTION
1307   WHEN OTHERS THEN
1308     FND_MSG_PUB.add_exc_msg
1309                ( p_pkg_name        => G_PKG_NAME
1310                , p_procedure_name  => 'UPDATE_FORM' );
1311     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1312 
1313 END Update_Form;
1314 
1315 -- --------------------------------------------------------------------
1316 
1317 --
1318 -- API Body
1319 --
1320 
1321 --
1322 --  API Name      : Create_Print_Form
1323 --  Type          : Public
1324 --  Pre-reqs      : None
1325 --  Function      : Creates a new instances of a print form
1326 --
1327 --  Parameters    :
1328 --  IN            : p_api_version            NUMBER
1329 --                  p_commit                 VARCHAR2
1330 --                  p_init_msg_list          VARCHAR2
1331 --                  p_header_rec             PFH_Rec_Type
1332 --                  p_line_tbl               PFL_Tbl_Type
1333 --  OUT           : x_msg_count              NUMBER
1334 --                  x_msg_data               VARCHAR2
1335 --                  x_return_status          VARCHAR2
1336 --
1337 --  Version       : Current Version - 1.0
1338 --                  Initial Version - 1.0
1339 --
1340 PROCEDURE create_print_form
1341 (  p_api_version            IN    NUMBER
1342 ,  p_commit                 IN    VARCHAR2
1343 ,  p_init_msg_list          IN    VARCHAR2
1347 ,  p_header_rec             IN    PFH_Rec_Type
1344 ,  x_msg_count              OUT NOCOPY   NUMBER
1345 ,  x_msg_data               OUT NOCOPY   VARCHAR2
1346 ,  x_return_status          OUT NOCOPY   VARCHAR2
1348 ,  p_line_tbl               IN    PFL_Tbl_Type
1349 ,  x_form_header_id         OUT NOCOPY   NUMBER
1350 ) IS
1351 
1352 l_api_name      CONSTANT VARCHAR2(30) := 'CREATE_PRINT_FORM';
1353 l_api_version   CONSTANT NUMBER       := 1.0;
1354 
1355 l_header_rec    PFH_Rec_Type;
1356 l_line_tbl      PFL_Tbl_Type;
1357 l_return_status VARCHAR2(1);
1358 
1359 BEGIN
1360   --
1361   -- Standard Start of API savepoint
1362   --
1363   SAVEPOINT create_print_form_pub;
1364 
1365   --
1366   -- Check API incompatibility
1367   --
1368   IF NOT FND_API.Compatible_API_Call( l_api_version
1369                                     , p_api_version
1370                                     , l_api_name
1371                                     , G_PKG_NAME )
1372   THEN
1373     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1374   END IF;
1375 
1376   --
1377   -- Initialize the message table if requested.
1378   --
1379   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
1380     FND_MSG_PUB.initialize;
1381   END IF;
1382 
1383   --
1384   -- Set API return status to success
1385   --
1386   x_return_status := FND_API.G_RET_STS_SUCCESS;
1387   l_return_status := FND_API.G_RET_STS_SUCCESS;
1388 
1389   --
1390   -- Step 1 : Value to ID conversions
1391   --
1392   Convert_Value_To_ID( p_header_rec
1393                      , l_header_rec
1394                      , p_line_tbl
1395                      , l_line_tbl
1396                      , l_api_name
1397                      , l_return_status );
1398 
1399   --
1400   -- Step 1.1 : If anything happens, abort API
1401   --
1402   IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
1403     x_return_status := FND_API.G_RET_STS_ERROR;
1404     RAISE FND_API.G_EXC_ERROR;
1405   ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1406     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1407     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1408   END IF;
1409 
1410   --
1411   -- Step 2 : Data Validation
1412   --
1413   Validate_Data( l_header_rec
1414                , l_api_name
1415                , l_return_status );
1416 
1417   --
1418   -- Step 2.1 : If anything happens, abort API
1419   --
1420   IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
1421     x_return_status := FND_API.G_RET_STS_ERROR;
1422     RAISE FND_API.G_EXC_ERROR;
1423   ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1424     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1425     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1426   END IF;
1427 
1428   --
1429   -- Step 3 : DML
1430   --
1431   create_form( l_header_rec
1432              , p_line_tbl
1433              , x_form_header_id
1434              , l_return_status );
1435 
1436   --
1437   -- Step 3.1 : If anything happens, abort API
1438   --
1439   IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
1440     x_return_status := FND_API.G_RET_STS_ERROR;
1441     RAISE FND_API.G_EXC_ERROR;
1442   ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1443     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1444     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1445   END IF;
1446 
1447   --
1448   -- Stanard commit check
1449   --
1450   IF FND_API.To_Boolean( p_commit ) THEN
1451     COMMIT WORK;
1452   END IF;
1453 
1454   --
1455   -- Standard call to get message count and if count is 1, get message
1456   -- info
1457   --
1458   FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
1459                            , p_data  => x_msg_data );
1460 
1461 EXCEPTION
1462   WHEN FND_API.G_EXC_ERROR THEN
1463     ROLLBACK TO create_print_form_pub;
1464     x_return_status := FND_API.G_RET_STS_ERROR;
1465     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
1466                              , p_data  => x_msg_data );
1467 
1468   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1469     ROLLBACK TO create_print_form_pub;
1470     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1471     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
1472                              , p_data  => x_msg_data );
1473 
1474   WHEN OTHERS THEN
1475     ROLLBACK TO create_print_form_pub;
1476     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1477     IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1478       FND_MSG_PUB.add_exc_msg
1479                  ( p_pkg_name        => G_PKG_NAME
1480                  , p_procedure_name  => l_api_name );
1481 
1482     END IF;
1483     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
1484                              , p_data  => x_msg_data );
1485 
1486 END create_print_form;
1487 
1488 
1489 --
1490 --  API Name      : Update_Print_Form
1491 --  Type          : Public
1492 --  Pre-reqs      : None
1493 --  Function      : Updates an existing instance of a print form
1494 --
1495 --  Parameters    :
1496 --  IN            : p_api_version            NUMBER
1497 --                  p_commit                 VARCHAR2
1498 --                  p_init_msg_list          VARCHAR2
1499 --                  p_header_rec             PFH_Rec_Type
1500 --                  p_line_tbl               PFL_Tbl_Type
1501 --                  x_msg_count              NUMBER
1502 --                  x_msg_data               VARCHAR2
1503 --                  x_return_status          VARCHAR2
1504 --
1505 --  Version       : Current Version - 1.0
1506 --                  Initial Version - 1.0
1507 --
1508 PROCEDURE update_print_form
1512 ,  x_msg_count              OUT NOCOPY   NUMBER
1509 (  p_api_version            IN    NUMBER
1510 ,  p_commit                 IN    VARCHAR2
1511 ,  p_init_msg_list          IN    VARCHAR2
1513 ,  x_msg_data               OUT NOCOPY   VARCHAR2
1514 ,  x_return_status          OUT NOCOPY   VARCHAR2
1515 ,  p_header_rec             IN    PFH_Rec_Type
1516 ,  p_line_tbl               IN    PFL_Tbl_Type
1517 ) IS
1518 
1519 l_api_name      CONSTANT VARCHAR2(30) := 'UPDATE_PRINT_FORM';
1520 l_api_version   CONSTANT NUMBER       := 1.0;
1521 
1522 l_header_rec    PFH_Rec_Type;
1523 l_line_tbl      PFL_Tbl_Type;
1524 l_return_status VARCHAR2(1);
1525 
1526 BEGIN
1527   --
1528   -- Standard Start of API savepoint
1529   --
1530   SAVEPOINT update_print_form_pub;
1531 
1532   --
1533   -- Check API incompatibility
1534   --
1535   IF NOT FND_API.Compatible_API_Call( l_api_version
1536                                     , p_api_version
1537                                     , l_api_name
1538                                     , G_PKG_NAME )
1539   THEN
1540     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1541   END IF;
1542 
1543   --
1544   -- Initialize the message table if requested.
1545   --
1546   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
1547     FND_MSG_PUB.initialize;
1548   END IF;
1549 
1550   --
1551   -- Set API return status to success
1552   --
1553   x_return_status := FND_API.G_RET_STS_SUCCESS;
1554   l_return_status := FND_API.G_RET_STS_SUCCESS;
1555 
1556   --
1557   -- Step 1 : Value to ID conversions
1558   --
1559   Convert_Value_To_ID( p_header_rec
1560                      , l_header_rec
1561                      , p_line_tbl
1562                      , l_line_tbl
1563                      , l_api_name
1564                      , l_return_status );
1565 
1566   --
1567   -- Step 1.1 : If anything happens, abort API
1568   --
1569   IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
1570     x_return_status := FND_API.G_RET_STS_ERROR;
1571     RAISE FND_API.G_EXC_ERROR;
1572   ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1573     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1574     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1575   END IF;
1576 
1577   --
1578   -- Step 2 : Data Validation
1579   --
1580   Validate_Data( p_header_rec
1581                , l_api_name
1582                , l_return_status );
1583 
1584   --
1585   -- Step 2.1 : If anything happens, abort API
1586   --
1587   IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
1588     x_return_status := FND_API.G_RET_STS_ERROR;
1589     RAISE FND_API.G_EXC_ERROR;
1590   ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1591     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1592     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1593   END IF;
1594 
1595   --
1596   -- Step 3 : DML
1597   --
1598   update_form( l_header_rec
1599              , p_line_tbl
1600              , l_return_status );
1601 
1602   --
1603   -- Step 3.1 : If anything happens, abort API
1604   --
1605   IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
1606     x_return_status := FND_API.G_RET_STS_ERROR;
1607     RAISE FND_API.G_EXC_ERROR;
1608   ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1609     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1610     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1611   END IF;
1612 
1613   --
1614   -- Stanard commit check
1615   --
1616   IF FND_API.To_Boolean( p_commit ) THEN
1617     COMMIT WORK;
1618   END IF;
1619 
1620   --
1621   -- Standard call to get message count and if count is 1, get message
1622   -- info
1623   --
1624   FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
1625                            , p_data  => x_msg_data );
1626 
1627 EXCEPTION
1628   WHEN FND_API.G_EXC_ERROR THEN
1629     ROLLBACK TO update_print_form_pub;
1630     x_return_status := FND_API.G_RET_STS_ERROR;
1631     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
1632                              , p_data  => x_msg_data );
1633 
1634   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1635     ROLLBACK TO update_print_form_pub;
1636     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1637     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
1638                              , p_data  => x_msg_data );
1639 
1640   WHEN OTHERS THEN
1641     ROLLBACK TO update_print_form_pub;
1642     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1643     IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1644       FND_MSG_PUB.add_exc_msg
1645                  ( p_pkg_name        => G_PKG_NAME
1646                  , p_procedure_name  => l_api_name );
1647 
1648     END IF;
1649     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
1650                              , p_data  => x_msg_data );
1651 
1652 END update_print_form;
1653 
1654 
1655 END oke_print_form_pub;