DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_PEOPLE_V14_PKG

Source


1 PACKAGE BODY PER_PEOPLE_V14_PKG AS
2 /* $Header: peper14t.pkb 120.1 2005/12/06 23:21:51 amigarg noship $ */
3 PROCEDURE form_startup(X_Business_group_id IN OUT NOCOPY NUMBER
4                       ,X_Set_Of_Books_Id IN OUT NOCOPY NUMBER
5                       ,X_Resp_Appl_Id NUMBER
6                       ,X_Resp_Id NUMBER
7                       ,X_Legislation_Code IN OUT NOCOPY VARCHAR2
8                       ,X_business_group_name IN OUT NOCOPY VARCHAR2
9                       ,X_property_on NUMBER
10                       ,X_property_off NUMBER
11                       ,X_Query_Only_Flag VARCHAR2
12                       ,X_employee_property IN OUT NOCOPY NUMBER
13                       ,X_expense_check_to_address IN OUT NOCOPY VARCHAR2
14                       ,X_expense_to_address_meaning IN OUT NOCOPY VARCHAR2
15                       ,X_chart_of_accounts_id IN OUT NOCOPY NUMBER
16                       ,X_set_of_books_name IN OUT NOCOPY VARCHAR2
17                       ,X_Session_Date IN OUT NOCOPY DATE
18                       ,X_End_Of_Time IN OUT NOCOPY DATE
19                       ,X_current_appl_id IN OUT NOCOPY NUMBER
20                       ,X_person_type_id IN OUT NOCOPY NUMBER
21                       ,X_current_employee_flag IN OUT NOCOPY VARCHAR2
22                       ,X_current_applicant_flag IN OUT NOCOPY VARCHAR2
23                       ,X_current_emp_or_apl_flag IN OUT NOCOPY VARCHAR2)
24 IS
25 --
26 CURSOR data_group
27 IS
28 SELECT dgu.oracle_id
29 ,      fr.data_group_application_id
30 FROM   fnd_data_group_units dgu
31 ,      fnd_responsibility fr
32 WHERE  fr.data_group_id = dgu.data_group_id
33 AND    fr.data_group_application_id = dgu.application_id
34 AND    fr.application_id = X_Resp_Appl_Id
35 AND    fr.responsibility_id = X_Resp_Id;
36 --
37 --
38 CURSOR chart_of_accounts
39 IS
40 SELECT gsb.chart_of_accounts_id
41 ,      gsb.name
42 FROM   gl_sets_of_books gsb
43 WHERE  gsb.set_of_books_id = X_Set_Of_Books_Id;
44 --
45 CURSOR bg_details
46 IS
47 SELECT pbg.legislation_code
48 ,      pbg.name
49 ,      DECODE(pbg.METHOD_OF_GENERATION_EMP_NUM,'A'
50 ,      X_property_off , X_property_on)
51 FROM   per_business_groups pbg
52 WHERE  pbg.business_group_id = X_Business_group_id;
53 --
54 CURSOR expense_address
55 IS
56 SELECT hl.meaning
57 FROM   hr_lookups hl
58 WHERE  hl.lookup_type= 'HOME_OFFICE'
59 AND    hl.lookup_code = X_expense_check_to_address;
60 --
61 CURSOR person_type IS
62 SELECT ppt.person_type_id
63 ,      pst.current_employee_flag
64 ,      pst.current_applicant_flag
65 ,      pst.current_emp_or_apl_flag
66 ,      TRUNC(SYSDATE)
67 ,      TO_DATE('31/12/4712','DD/MM/YYYY')
68 FROM per_person_types ppt
69 ,    per_startup_person_types pst
70 WHERE ppt.business_group_id = X_Business_group_id -- Bug 3648460
71 AND   ppt.system_person_type = pst.system_person_type
72 AND   ppt.system_person_type = DECODE(X_current_appl_id,810,'OTHER','EMP')
73 AND   ppt.default_flag = 'Y'
74 AND   pst.default_flag = 'Y';
75 --
76 l_sql_text VARCHAR2(2000):=NULL;
77 l_sql_cursor INTEGER;
78 l_rows_fetched INTEGER;
79 l_rows NUMBER;
80 l_oracle_id NUMBER;
81 l_fsp_business_group_id NUMBER;
82 l_set_of_books_id NUMBER;
83 l_dummy BOOLEAN;
84 l_status VARCHAR2(1);
85 l_ap_status VARCHAR2(1);
86 l_po_status VARCHAR2(1);
87 l_industry VARCHAR2(1);
88 --
89 BEGIN
90   --
91   -- Check whether responsibility is allowed to use form
92   --
93   OPEN data_group;
94   FETCH data_group INTO l_oracle_id, X_current_appl_id;
95   CLOSE data_group;
96   --
97   -- If query only mode then ignore this test
98   --
99   IF (SUBSTR(X_Query_Only_Flag,1,1) <> 'Y')
100   THEN
101   --
102   -- Check HR not Installed and Liscensed.
103   --
104   IF (fnd_installation.get(appl_id => 800
105                           ,dep_appl_id => 800
106                           ,status => l_status
107                           ,industry => l_industry))
108   THEN
109 	 -- If installed and Not OTA
110 	 -- then error
111 	 IF (l_status = 'I')
112 	  AND (X_current_appl_id <> 810)
113 	 THEN
114 		hr_utility.set_message('801','HR_6041_PO_EMP_HR_INSTALLED');
115 		hr_utility.raise_error;
116 		hr_utility.raise_error;
117 	 END IF;
118   END IF;
119   END IF;
120 
121   --
122   -- Check Purchasing and Payables not Installed and Liscensed.
123   --
124     l_dummy :=fnd_installation.get(appl_id => 201
125                           ,dep_appl_id => 201
126                           ,status => l_ap_status
127                           ,industry => l_industry);
128 
129      l_dummy :=fnd_installation.get(appl_id => 200
130                           ,dep_appl_id => 200
131                           ,status => l_po_status
132                           ,industry => l_industry);
133 	 --
134 	 -- If either AP or PO is fully installed (l_status = 'I')
135 	 -- get the set of books from financials_system_parameters
136 	 --
137     IF (l_ap_status = 'I') OR  (l_po_status = 'I')
138     THEN
139   --
140   -- Dynamic SQL cursor to get round the problem of Table not existing.
141   -- This uses a similar method to OCI but Via PL/SQL instead.
142   --
143     BEGIN
144       --
145       l_sql_text := 'select fsp.set_of_books_id '
146                  || ',fsp.expense_check_address_flag '
147                  || 'from financials_system_parameters fsp';
148       --
149       -- Open Cursor for Processing Sql statment.
150       --
151       l_sql_cursor := dbms_sql.open_cursor;
152       --
153       -- Parse SQL statement.
154       --
155       dbms_sql.parse(l_sql_cursor, l_sql_text, dbms_sql.v7);
156       --
157       -- Map the local variables to each returned Column
158       --
159       dbms_sql.define_column(l_sql_cursor, 1, l_set_of_books_id);
160       dbms_sql.define_column(l_sql_cursor,2, X_expense_check_to_address,30);
161       --
162       -- Execute the SQL statement.
163       --
164       l_rows_fetched := dbms_sql.EXECUTE(l_sql_cursor);
165       --
166       --
167       l_rows := dbms_sql.fetch_rows(l_sql_cursor);
168       --
169       IF l_rows > 1
170       THEN
171 	hr_utility.set_message('801','HR_6153_ALL_PROCEDURE_FAIL');
172       	hr_utility.set_message_token('PROCEDURE','Form_startup');
173         hr_utility.raise_error;
174       END IF;
175       --
176       IF l_rows > 0
177       THEN
178         --
179         -- Extract the select list for the current row into local variables.
180         --
181         dbms_sql.column_value(l_sql_cursor, 1, l_set_of_books_id);
182         dbms_sql.column_value(l_sql_cursor, 2, X_expense_check_to_address);
183       END IF;
184       --
185       -- Close cursor used for processing SQL statement.
186       --
187       dbms_sql.close_cursor(l_sql_cursor);
188     END;
189     END IF;
190   --
191   --
192   IF l_set_of_books_id IS NOT NULL
193   THEN
194       X_Set_Of_Books_ID := l_set_of_books_id;
195   END IF;
196   --
197   -- Get the chart of Accounts id for the GL Flexfield
198   -- If set of books profile is set.
199   -- Note: with shared install this table should always exist
200   --       so no need for Dynamic PL/SQL cursor.
201   --
202   IF X_Set_Of_Books_Id IS NOT NULL
203   THEN
204     OPEN chart_of_accounts;
205     FETCH chart_of_accounts INTO X_chart_of_accounts_id
206 			 ,X_set_of_books_name;
207     IF chart_of_accounts%NOTFOUND THEN
208       hr_utility.set_message('801','HR_6153_ALL_PROCEDURE_FAIL');
209       hr_utility.set_message_token('PROCEDURE','Form_startup');
210       hr_utility.raise_error;
211     END IF;
212     CLOSE chart_of_accounts;
213   END IF;
214   --
215   -- Gets the Legislation of the Business Group (used to Default style
216   -- for the address) and the form property of the Employee Number field
217   -- which is toggled based on whether the Business group has
218   -- its generation set to A(utomatic) or not.
219   --
220   OPEN bg_details;
221   FETCH bg_details INTO X_Legislation_Code
222                        ,X_business_group_name
223                        ,X_employee_property;
224   CLOSE bg_details;
225   --
226   OPEN expense_address;
227   FETCH expense_address INTO X_expense_to_address_meaning;
228   CLOSE expense_address;
229   --
230   -- Get the Default Employee Person_type from Per_Person_types
231   -- and the start and end dates for a row entered as of sysdate.
232   --
233   OPEN person_type;
234   FETCH person_type INTO X_person_type_id,X_current_employee_flag
235                         ,X_current_applicant_flag,X_current_emp_or_apl_flag
236                         ,X_Session_Date,X_End_Of_Time;
237   CLOSE person_type;
238   --
239 END;
240 --
241 PROCEDURE Insert_period_of_Service(X_Person_Id NUMBER
242                                   ,X_Business_Group_Id NUMBER
243                                   ,X_Date_Start DATE
244                                   ,X_Period_of_Service_Id IN OUT NOCOPY NUMBER)
245 IS
246 CURSOR C1 IS SELECT per_periods_of_service_s.NEXTVAL FROM sys.dual;
247 --
248 -- START WWBUG 1390173 fix
249 --
250 l_old   ben_pps_ler.g_pps_ler_rec;
251 l_new   ben_pps_ler.g_pps_ler_rec;
252 --
253 -- END WWBUG 1390173 fix
254 --
255 --
256 
257 BEGIN
258   OPEN C1;
259   FETCH C1 INTO X_Period_of_Service_Id;
260   CLOSE C1;
261 --
262   INSERT INTO PER_PERIODS_OF_SERVICE(
263    PERIOD_OF_SERVICE_ID
264   ,BUSINESS_GROUP_ID
265   ,PERSON_ID
266   ,DATE_START
267   ) VALUES (
268   X_Period_of_Service_Id
269  ,X_Business_Group_Id
270  ,X_Person_Id
271  ,X_Date_Start);
272 --
273 --
274 -- START WWBUG 1390173 fix
275 --
276 l_new.PERSON_ID := x_person_id;
277 l_new.BUSINESS_GROUP_ID := x_business_group_id;
278 l_new.DATE_START := x_date_start;
279 l_new.ACTUAL_TERMINATION_DATE := NULL;
280 l_new.LEAVING_REASON := NULL;
281 l_new.ADJUSTED_SVC_DATE := NULL;
282 l_new.ATTRIBUTE1 := NULL;
283 l_new.ATTRIBUTE2 := NULL;
284 l_new.ATTRIBUTE3 := NULL;
285 l_new.ATTRIBUTE4 := NULL;
286 l_new.ATTRIBUTE5 := NULL;
287 l_new.final_process_date := NULL;
288 --
289 ben_pps_ler.ler_chk(p_old            => l_old
290                    ,p_new            => l_new
291                    ,p_event          => 'INSERTING'
292                    ,p_effective_date => x_date_start);
293 --
294 -- END WWBUG 1390173 fix
295 --
296 --
297 END insert_period_of_service;
298 --
299 PROCEDURE Insert_Row(X_Rowid                        IN OUT NOCOPY VARCHAR2,
300                      X_Person_Id                           IN OUT NOCOPY NUMBER,
301                      X_Party_Id                            NUMBER DEFAULT NULL,
302                      X_Effective_Start_Date                DATE,
303                      X_Effective_End_Date                  DATE,
304                      X_Business_Group_Id                   NUMBER,
305                      X_Person_Type_Id                      NUMBER,
306                      X_Last_Name                           VARCHAR2,
307                      X_Start_Date                          DATE,
308                      X_Applicant_Number                    VARCHAR2,
309                      X_Comment_Id                          NUMBER,
310                      X_Current_Applicant_Flag              VARCHAR2,
311                      X_Current_Emp_Or_Apl_Flag             VARCHAR2,
312                      X_Current_Employee_Flag               VARCHAR2,
313                      X_Date_Employee_Data_Verified         DATE,
314                      X_Date_Of_Birth                       DATE,
315                      X_Email_Address                       VARCHAR2,
316                      X_Employee_Number                     VARCHAR2,
317                      X_Expense_Check_To_Address       VARCHAR2,
318                      X_First_Name                          VARCHAR2,
319                      X_Full_Name                           VARCHAR2,
320                      X_Known_As                            VARCHAR2,
321                      X_Marital_Status                      VARCHAR2,
322                      X_Middle_Names                        VARCHAR2,
323                      X_Nationality                         VARCHAR2,
324                      X_National_Identifier                 VARCHAR2,
325                      X_Previous_Last_Name                  VARCHAR2,
326                      X_Registered_Disabled_Flag            VARCHAR2,
327                      X_Sex                                 VARCHAR2,
328                      X_Title                               VARCHAR2,
329                      X_Vendor_Id                           NUMBER,
330                      X_Work_Telephone                      VARCHAR2,
331                      X_Attribute_Category                  VARCHAR2,
332                      X_Attribute1                          VARCHAR2,
333                      X_Attribute2                          VARCHAR2,
334                      X_Attribute3                          VARCHAR2,
335                      X_Attribute4                          VARCHAR2,
336                      X_Attribute5                          VARCHAR2,
337                      X_Attribute6                          VARCHAR2,
338                      X_Attribute7                          VARCHAR2,
339                      X_Attribute8                          VARCHAR2,
340                      X_Attribute9                          VARCHAR2,
341                      X_Attribute10                         VARCHAR2,
342                      X_Attribute11                         VARCHAR2,
343                      X_Attribute12                         VARCHAR2,
344                      X_Attribute13                         VARCHAR2,
345                      X_Attribute14                         VARCHAR2,
346                      X_Attribute15                         VARCHAR2,
347                      X_Attribute16                         VARCHAR2,
348                      X_Attribute17                         VARCHAR2,
349                      X_Attribute18                         VARCHAR2,
350                      X_Attribute19                         VARCHAR2,
351                      X_Attribute20                         VARCHAR2,
352                      X_Attribute21                         VARCHAR2,
353                      X_Attribute22                         VARCHAR2,
354                      X_Attribute23                         VARCHAR2,
355                      X_Attribute24                         VARCHAR2,
356                      X_Attribute25                         VARCHAR2,
357                      X_Attribute26                         VARCHAR2,
358                      X_Attribute27                         VARCHAR2,
359                      X_Attribute28                         VARCHAR2,
360                      X_Attribute29                         VARCHAR2,
361                      X_Attribute30                         VARCHAR2,
362                      X_Per_Information_Category            VARCHAR2,
363                      X_Per_Information1                    VARCHAR2,
364                      X_Per_Information2                    VARCHAR2,
365                      X_Per_Information3                    VARCHAR2,
366                      X_Per_Information4                    VARCHAR2,
367                      X_Per_Information5                    VARCHAR2,
368                      X_Per_Information6                    VARCHAR2,
369                      X_Per_Information7                    VARCHAR2,
370                      X_Per_Information8                    VARCHAR2,
371                      X_Per_Information9                    VARCHAR2,
372                      X_Per_Information10                   VARCHAR2,
373                      X_Per_Information11                   VARCHAR2,
374                      X_Per_Information12                   VARCHAR2,
375                      X_Per_Information13                   VARCHAR2,
376                      X_Per_Information14                   VARCHAR2,
377                      X_Per_Information15                   VARCHAR2,
378                      X_Per_Information16                   VARCHAR2,
379                      X_Per_Information17                   VARCHAR2,
383                      X_Per_Information21                   VARCHAR2,
380                      X_Per_Information18                   VARCHAR2,
381                      X_Per_Information19                   VARCHAR2,
382                      X_Per_Information20                   VARCHAR2,
384                      X_Per_Information22                   VARCHAR2,
385                      X_Per_Information23                   VARCHAR2,
386                      X_Per_Information24                   VARCHAR2,
387                      X_Per_Information25                   VARCHAR2,
388                      X_Per_Information26                   VARCHAR2,
389                      X_Per_Information27                   VARCHAR2,
390                      X_Per_Information28                   VARCHAR2,
391                      X_Per_Information29                   VARCHAR2,
392                      X_Per_Information30                   VARCHAR2,
393                      X_Last_Update_Date                    DATE,
394                      X_Last_Updated_By                     NUMBER,
395                      X_Last_Update_Login                   NUMBER,
396                      X_Created_By                          NUMBER,
397                      X_Creation_Date                       DATE,
398                      X_Order_Name                          VARCHAR2,
399                      X_Global_Name                         VARCHAR2,
400                      X_Local_Name                          VARCHAR2,
401                      X_PERIOD_OF_SERVICE_ID         IN OUT NOCOPY NUMBER,
402 				 X_TOWN_OF_BIRTH                       VARCHAR2 DEFAULT NULL,
403 				 X_REGION_OF_BIRTH                     VARCHAR2 DEFAULT NULL,
404 				 X_COUNTRY_OF_BIRTH                    VARCHAR2 DEFAULT NULL,
405 			      X_GLOBAL_PERSON_ID                    VARCHAR2 DEFAULT NULL,
406                      X_blood_type            VARCHAR2 default NULL,
407                      X_correspondence_language VARCHAR2 default NULL,
408                      X_honors                 VARCHAR2 default NULL,
409                      X_pre_name_adjunct       VARCHAR2 default NULL,
410                      X_rehire_authorizor      VARCHAR2 default NULL,
411                      X_rehire_recommendation  VARCHAR2 default NULL,
412                      X_resume_exists          VARCHAR2 default NULL,
413                      X_resume_last_updated    DATE default NULL,
414                      X_second_passport_exists VARCHAR2 default NULL,
415                      X_student_status     VARCHAR2 default NULL,
416                      X_suffix             VARCHAR2 default NULL,
417                      X_date_of_death      DATE default NULL,
418                      X_uses_tobacco_flag  VARCHAR2 default NULL,
419                      X_fast_path_employee VARCHAR2 default NULL,
420                      X_fte_capacity    VARCHAR2 default NULL
421  ) IS
422 l_period_of_service_id NUMBER;
423    CURSOR C IS SELECT ROWID FROM PER_ALL_PEOPLE_F
424              WHERE person_id = X_Person_Id;
425     CURSOR C2 IS SELECT per_people_s.NEXTVAL FROM sys.dual;
426 --
427 CURSOR c_person IS
428   SELECT *
429   FROM   per_all_people_f
430   WHERE  person_id = x_person_id
431   AND    x_effective_start_date
432          BETWEEN effective_start_date
433          AND     effective_end_date;
434 --
435 l_person per_all_people_f%ROWTYPE;
436 --
437 l_phone_ovn        NUMBER       := NULL ;
438 l_phone_id         NUMBER       := NULL ;
439   l_proc VARCHAR2(72):='per_people_v14_pkg.insert_row';
440 --
441 BEGIN
442   hr_utility.set_location('Entering: '||l_proc,10);
443    IF (X_Person_Id IS NULL) THEN
444      OPEN C2;
445      FETCH C2 INTO X_Person_Id;
446      CLOSE C2;
447    END IF;
448 
449    -- Verify party id, if one is passed in
450    IF X_party_id IS NOT NULL THEN
451      --
452      per_per_bus.chk_party_id
453        (p_person_id             => X_person_id
454        ,p_party_id              => X_party_id
455        ,p_effective_date        => X_effective_start_date
456        ,p_object_version_number => NULL);
457    END IF;
458    hr_utility.set_location(l_proc,20);
459   INSERT INTO PER_ALL_PEOPLE_F(
460           person_id,
461           effective_start_date,
462           effective_end_date,
463           business_group_id,
464           person_type_id,
465           last_name,
466           start_date,
467           applicant_number,
468           comment_id,
469           current_applicant_flag,
470           current_emp_or_apl_flag,
471           current_employee_flag,
472           date_employee_data_verified,
473           date_of_birth,
474           email_address,
475           employee_number,
476           expense_check_send_to_address,
477           first_name,
478           full_name,
479           known_as,
480           marital_status,
481           middle_names,
482           nationality,
483           national_identifier,
484           previous_last_name,
485           registered_disabled_flag,
486           sex,
487           title,
488           vendor_id,
489     --    work_telephone,      -- Now handled by the Create_phone call.
490           attribute_category,
491           attribute1,
492           attribute2,
493           attribute3,
494           attribute4,
495           attribute5,
496           attribute6,
497           attribute7,
498           attribute8,
499           attribute9,
500           attribute10,
501           attribute11,
502           attribute12,
503           attribute13,
507           attribute17,
504           attribute14,
505           attribute15,
506           attribute16,
508           attribute18,
509           attribute19,
510           attribute20,
511           attribute21,
512           attribute22,
513           attribute23,
514           attribute24,
515           attribute25,
516           attribute26,
517           attribute27,
518           attribute28,
519           attribute29,
520           attribute30,
521           per_information_category,
522           per_information1,
523           per_information2,
524           per_information3,
525           per_information4,
526           per_information5,
527           per_information6,
528           per_information7,
529           per_information8,
530           per_information9,
531           per_information10,
532           per_information11,
533           per_information12,
534           per_information13,
535           per_information14,
536           per_information15,
537           per_information16,
538           per_information17,
539           per_information18,
540           per_information19,
541           per_information20,
542           per_information21,
543           per_information22,
544           per_information23,
545           per_information24,
546           per_information25,
547           per_information26,
548           per_information27,
549           per_information28,
550           per_information29,
551           per_information30,
552           last_update_date,
553           last_updated_by,
554           last_update_login,
555           created_by,
556           creation_date,
557 		town_of_birth,
558 		region_of_birth,
559 		country_of_birth,
560 		global_person_id,
561         party_id,
562         blood_type,
563         correspondence_language,
564         honors,
565         pre_name_adjunct,
566         rehire_authorizor,
567         rehire_recommendation,
568         resume_exists,
569         resume_last_updated,
570         second_passport_exists,
571         student_status,
572         suffix,
573         date_of_death,
574         uses_tobacco_flag,
575         fast_path_employee,
576         fte_capacity,
577         order_name,   -- #3889584
578         global_name,
579         local_name
580          ) VALUES (
581           X_Person_Id,
582           X_Effective_Start_Date,
583           X_Effective_End_Date,
584           X_Business_Group_Id,
585 --          X_Person_Type_Id,
586           hr_person_type_usage_info.get_default_person_type_id(X_Person_Type_Id),
587           X_Last_Name,
588           X_Start_Date,
589           X_Applicant_Number,
590           X_Comment_Id,
591           X_Current_Applicant_Flag,
592           X_Current_Emp_Or_Apl_Flag,
593           X_Current_Employee_Flag,
594           X_Date_Employee_Data_Verified,
595           X_Date_Of_Birth,
596           X_Email_Address,
597           X_Employee_Number,
598           X_Expense_Check_To_Address,
599           X_First_Name,
600           X_Full_Name,
601           X_Known_As,
602           X_Marital_Status,
603           X_Middle_Names,
604           X_Nationality,
605           X_National_Identifier,
606           X_Previous_Last_Name,
607           X_Registered_Disabled_Flag,
608           X_Sex,
609           X_Title,
610           X_Vendor_Id,
611 --        X_Work_Telephone, -- Now handled by the Create_phone call.
612           X_Attribute_Category,
613           X_Attribute1,
614           X_Attribute2,
615           X_Attribute3,
616           X_Attribute4,
617           X_Attribute5,
618           X_Attribute6,
619           X_Attribute7,
620           X_Attribute8,
621           X_Attribute9,
622           X_Attribute10,
623           X_Attribute11,
624           X_Attribute12,
625           X_Attribute13,
626           X_Attribute14,
627           X_Attribute15,
628           X_Attribute16,
629           X_Attribute17,
630           X_Attribute18,
631           X_Attribute19,
632           X_Attribute20,
633           X_Attribute21,
634           X_Attribute22,
635           X_Attribute23,
636           X_Attribute24,
637           X_Attribute25,
638           X_Attribute26,
639           X_Attribute27,
640           X_Attribute28,
641           X_Attribute29,
642           X_Attribute30,
643           X_per_information_category,
644           X_per_information1,
645           X_per_information2,
646           X_per_information3,
647           X_per_information4,
648           X_per_information5,
649           X_per_information6,
650           X_per_information7,
651           X_per_information8,
652           X_per_information9,
653           X_per_information10,
654           X_per_information11,
655           X_per_information12,
656           X_per_information13,
657           X_per_information14,
658           X_per_information15,
659           X_per_information16,
660           X_per_information17,
661           X_per_information18,
662           X_per_information19,
666           X_per_information23,
663           X_per_information20,
664           X_per_information21,
665           X_per_information22,
667           X_per_information24,
668           X_per_information25,
669           X_per_information26,
670           X_per_information27,
671           X_per_information28,
672           X_per_information29,
673           X_per_information30,
674           X_Last_Update_Date,
675           X_Last_Updated_By,
676           X_Last_Update_Login,
677           X_Created_By,
678           X_Creation_Date,
679 		X_town_of_birth,
680 		X_region_of_birth,
681 		X_country_of_birth,
682 		X_global_person_id,
683           X_party_id,
684           X_blood_type,
685           X_correspondence_language,
686           X_honors,
687           X_pre_name_adjunct,
688           X_rehire_authorizor,
689           X_rehire_recommendation,
690           X_resume_exists,
691           X_resume_last_updated,
692           X_second_passport_exists,
693           X_student_status,
694           X_suffix,
695           X_date_of_death,
696           X_uses_tobacco_flag,
697           X_fast_path_employee,
698           X_fte_capacity,
699           X_Order_Name,
700           X_Global_Name,
701           X_Local_Name);
702 
703   hr_utility.set_location(l_proc,30);
704   --kramajey uncommented the part of the commented code to make sure the person details are
705   --populated in l_person Bug 4093145
706 
707   --
708   OPEN c_person;
709     --
710     FETCH c_person INTO l_person;
711     --
712   CLOSE c_person;
713   --
714     /* BEGIN OF PARTY_ID WORK */
715   /* This is being commented out as part of TCA party unmerge. This part of the code
716    is being called from per_person_type_usage_internal.maintain_person_type_usage
717   --
718   per_hrtca_merge.create_tca_person(p_rec => l_person);
719   hr_utility.set_location('UPDATING party id',10);
720   --
721   -- Now assign the resulting party id back to the record.
722   --
723 --Bug fix 4861893
724 --update statement modified ,per_All_people_f used  instead of per_people_f.
725 IF x_party_id IS NULL THEN
726     UPDATE per_all_people_f
727        SET party_id = l_person.party_id
728      WHERE person_id = x_person_id;
729   END IF;
730   --
731   */
732   /* END OF PARTY ID WORK */
733   --
734   -- HR/WF synchronization call
735   --
736   per_hrwf_synch.per_per_wf(p_rec      => l_person,
737                             p_action   => 'INSERT');
738   --
739   --
740   -- Create a phone row if the work_telephone parm is not null.
741   -- Use p_start_date (i.e., p_date_received passed from per_applicant_pkg)
742   -- as the value for effective date and date from.
743   --
744   IF x_work_telephone IS NOT NULL THEN
745   hr_utility.set_location(l_proc,40);
746          hr_phone_api.create_phone
747             (p_date_from                 => x_effective_start_date
748             ,p_date_to                   => NULL
749             ,p_phone_type                => 'W1'
750             ,p_phone_number              => x_work_telephone
751             ,p_parent_id                 => x_person_id
752             ,p_parent_table              => 'PER_ALL_PEOPLE_F'
753             ,p_validate                  => FALSE
754             ,p_effective_date            => x_start_date
755             ,p_object_version_number     => l_phone_ovn  --out
756             ,p_phone_id                  => l_phone_id   --out
757             );
758   END IF;
759   hr_utility.set_location(l_proc,50);
760   --
761   OPEN C;
762   FETCH C INTO X_Rowid;
763   IF (C%NOTFOUND) THEN
764     CLOSE C;
765     RAISE NO_DATA_FOUND;
766   END IF;
767   CLOSE C;
768   hr_utility.set_location(l_proc,60);
769 --
770 -- add the person to the security lists
771 --
772   IF (X_current_emp_or_apl_flag='Y') THEN
773   hr_utility.set_location(l_proc,70);
774     hr_security_internal.populate_new_person
775     (p_person_id         => X_Person_Id
776     ,p_business_group_id => X_Business_group_Id);
777   END IF;
778   hr_utility.set_location(l_proc,80);
779   IF (X_current_employee_flag IS NOT NULL)
780   THEN
781   hr_utility.set_location(l_proc,90);
782     insert_period_of_service(X_Person_id => X_Person_Id
783                             ,X_Business_Group_Id => X_Business_Group_id
784                             ,X_Date_Start => X_effective_Start_Date
785                             ,X_Period_Of_Service_Id => X_Period_Of_Service_Id
786                             );
787   END IF;
788 -- PTU : Start of Changes
789 
790  hr_per_type_usage_internal.maintain_person_type_usage
791         (p_effective_date       => X_effective_Start_Date
792         ,p_person_id            => X_Person_Id
793         ,p_person_type_id       => X_Person_Type_Id
794         );
795 
796 -- PTU : End of Changes
797 
798   hr_utility.set_location('Leaving '||l_proc,100);
799 END Insert_Row;
800 --
801 PROCEDURE Lock_Row(X_Rowid                                 VARCHAR2,
802                    X_Person_Id                             NUMBER,
806                    X_Person_Type_Id                        NUMBER,
803                    X_Effective_Start_Date                  DATE,
804                    X_Effective_End_Date                    DATE,
805                    X_Business_Group_Id                     NUMBER,
807                    X_Last_Name                             VARCHAR2,
808                    X_Start_Date                            DATE,
809                    X_Applicant_Number                      VARCHAR2,
810                    X_Comment_Id                            NUMBER,
811                    X_Current_Applicant_Flag                VARCHAR2,
812                    X_Current_Emp_Or_Apl_Flag               VARCHAR2,
813                    X_Current_Employee_Flag                 VARCHAR2,
814                    X_Date_Employee_Data_Verified           DATE,
815                    X_Date_Of_Birth                         DATE,
816                    X_Email_Address                         VARCHAR2,
817                    X_Employee_Number                       VARCHAR2,
818                    X_Expense_Check_To_Address              VARCHAR2,
819                    X_First_Name                            VARCHAR2,
820                    X_Full_Name                             VARCHAR2,
821                    X_Known_As                              VARCHAR2,
822                    X_Marital_Status                        VARCHAR2,
823                    X_Middle_Names                          VARCHAR2,
824                    X_Nationality                           VARCHAR2,
825                    X_National_Identifier                   VARCHAR2,
826                    X_Previous_Last_Name                    VARCHAR2,
827                    X_Registered_Disabled_Flag              VARCHAR2,
828                    X_Sex                                   VARCHAR2,
829                    X_Title                                 VARCHAR2,
830                    X_Vendor_Id                             NUMBER,
831                    X_Work_Telephone                        VARCHAR2,
832                    X_Attribute_Category                    VARCHAR2,
833                    X_Attribute1                            VARCHAR2,
834                    X_Attribute2                            VARCHAR2,
835                    X_Attribute3                            VARCHAR2,
836                    X_Attribute4                            VARCHAR2,
837                    X_Attribute5                            VARCHAR2,
838                    X_Attribute6                            VARCHAR2,
839                    X_Attribute7                            VARCHAR2,
840                    X_Attribute8                            VARCHAR2,
841                    X_Attribute9                            VARCHAR2,
842                    X_Attribute10                           VARCHAR2,
843                    X_Attribute11                           VARCHAR2,
844                    X_Attribute12                           VARCHAR2,
845                    X_Attribute13                           VARCHAR2,
846                    X_Attribute14                           VARCHAR2,
847                    X_Attribute15                           VARCHAR2,
848                    X_Attribute16                           VARCHAR2,
849                    X_Attribute17                           VARCHAR2,
850                    X_Attribute18                           VARCHAR2,
851                    X_Attribute19                           VARCHAR2,
852                    X_Attribute20                           VARCHAR2,
853                    X_Attribute21                           VARCHAR2,
854                    X_Attribute22                           VARCHAR2,
855                    X_Attribute23                           VARCHAR2,
856                    X_Attribute24                           VARCHAR2,
857                    X_Attribute25                           VARCHAR2,
858                    X_Attribute26                           VARCHAR2,
859                    X_Attribute27                           VARCHAR2,
860                    X_Attribute28                           VARCHAR2,
861                    X_Attribute29                           VARCHAR2,
862                    X_Attribute30                           VARCHAR2,
863                    X_Per_Information_Category              VARCHAR2,
864                    X_Per_Information1                      VARCHAR2,
865                    X_Per_Information2                      VARCHAR2,
866                    X_Per_Information3                      VARCHAR2,
867                    X_Per_Information4                      VARCHAR2,
868                    X_Per_Information5                      VARCHAR2,
869                    X_Per_Information6                      VARCHAR2,
870                    X_Per_Information7                      VARCHAR2,
871                    X_Per_Information8                      VARCHAR2,
872                    X_Per_Information9                      VARCHAR2,
873                    X_Per_Information10                     VARCHAR2,
874                    X_Per_Information11                     VARCHAR2,
875                    X_Per_Information12                     VARCHAR2,
876                    X_Per_Information13                     VARCHAR2,
877                    X_Per_Information14                     VARCHAR2,
878                    X_Per_Information15                     VARCHAR2,
879                    X_Per_Information16                     VARCHAR2,
880                    X_Per_Information17                     VARCHAR2,
881                    X_Per_Information18                     VARCHAR2,
882                    X_Per_Information19                     VARCHAR2,
886                    X_Per_Information23                     VARCHAR2,
883                    X_Per_Information20                     VARCHAR2,
884                    X_Per_Information21                     VARCHAR2,
885                    X_Per_Information22                     VARCHAR2,
887                    X_Per_Information24                     VARCHAR2,
888                    X_Per_Information25                     VARCHAR2,
889                    X_Per_Information26                     VARCHAR2,
890                    X_Per_Information27                     VARCHAR2,
891                    X_Per_Information28                     VARCHAR2,
892                    X_Per_Information29                     VARCHAR2,
893                    X_Per_Information30                     VARCHAR2) IS
894 
895   CURSOR C IS
896       SELECT *
897       FROM   PER_ALL_PEOPLE_F
898       WHERE  ROWID = X_Rowid
899       FOR UPDATE OF Person_Id  NOWAIT;
900   Recinfo C%ROWTYPE;
901 
902   --
903   -- Declare a similar cursor to lock the phone row.
904   --
905   CURSOR csr_phones IS
906       SELECT phone_number
907       FROM per_phones
908       WHERE parent_id = X_person_id
909       FOR UPDATE OF phone_id NOWAIT;
910   phoneinfo csr_phones%ROWTYPE;
911 
912 BEGIN
913   OPEN C;
914   FETCH C INTO Recinfo;
915   IF (C%NOTFOUND) THEN
916     CLOSE C;
917     RAISE NO_DATA_FOUND;
918   END IF;
919   CLOSE C;
920 
921   OPEN csr_phones;
922   FETCH csr_phones INTO phoneinfo;
923     -- no need to raise an error if no data found. Phone is not mandatory.
924   CLOSE csr_phones;
925 
926   IF (
927           (   (Recinfo.person_id = X_Person_Id)
928            OR (    (Recinfo.person_id IS NULL)
929                AND (X_Person_Id IS NULL)))
930       AND (   (Recinfo.effective_start_date = X_Effective_Start_Date)
931            OR (    (Recinfo.effective_start_date IS NULL)
932                AND (X_Effective_Start_Date IS NULL)))
933       AND (   (Recinfo.effective_end_date = X_Effective_End_Date)
934            OR (    (Recinfo.effective_end_date IS NULL)
935                AND (X_Effective_End_Date IS NULL)))
936       AND (   (Recinfo.business_group_id = X_Business_Group_Id)
937            OR (    (Recinfo.business_group_id IS NULL)
938                AND (X_Business_Group_Id IS NULL)))
939 -- PTU : Changes
940 --      AND (   (Recinfo.person_type_id = X_Person_Type_Id)
941 --           OR (    (Recinfo.person_type_id IS NULL)
942 --               AND (X_Person_Type_Id IS NULL)))
943 -- PTU : End Changes
944       AND (   (Recinfo.last_name = X_Last_Name)
945            OR (    (Recinfo.last_name IS NULL)
946                AND (X_Last_Name IS NULL)))
947       AND (   (Recinfo.start_date = X_Start_Date)
948            OR (    (Recinfo.start_date IS NULL)
949                AND (X_Start_Date IS NULL)))
950       AND (   (Recinfo.applicant_number = X_Applicant_Number)
951            OR (    (Recinfo.applicant_number IS NULL)
952                AND (X_Applicant_Number IS NULL)))
953       AND (   (Recinfo.comment_id = X_Comment_Id)
954            OR (    (Recinfo.comment_id IS NULL)
955                AND (X_Comment_Id IS NULL)))
956       AND (   (Recinfo.current_applicant_flag = X_Current_Applicant_Flag)
957            OR (    (Recinfo.current_applicant_flag IS NULL)
958                AND (X_Current_Applicant_Flag IS NULL)))
959       AND (   (Recinfo.current_emp_or_apl_flag = X_Current_Emp_Or_Apl_Flag)
960            OR (    (Recinfo.current_emp_or_apl_flag IS NULL)
961                AND (X_Current_Emp_Or_Apl_Flag IS NULL)))
962       AND (   (Recinfo.current_employee_flag = X_Current_Employee_Flag)
963            OR (    (Recinfo.current_employee_flag IS NULL)
964                AND (X_Current_Employee_Flag IS NULL)))
965       AND (
966 (Recinfo.date_employee_data_verified = X_Date_Employee_Data_Verified)
967            OR (    (Recinfo.date_employee_data_verified IS NULL)
968                AND (X_Date_Employee_Data_Verified IS NULL)))
969       AND (   (Recinfo.date_of_birth = X_Date_Of_Birth)
970            OR (    (Recinfo.date_of_birth IS NULL)
971                AND (X_Date_Of_Birth IS NULL)))
972       AND (   (Recinfo.email_address = X_Email_Address)
973            OR (    (Recinfo.email_address IS NULL)
974                AND (X_Email_Address IS NULL)))
975       AND (   (Recinfo.employee_number = X_Employee_Number)
976            OR (    (Recinfo.employee_number IS NULL)
977                AND (X_Employee_Number IS NULL)))
978       AND (   (Recinfo.expense_check_send_to_address =
979       X_Expense_Check_To_Address)
980            OR (    (Recinfo.expense_check_send_to_address IS NULL)
981                AND (X_Expense_Check_To_Address IS NULL)))
982       AND (   (Recinfo.first_name = X_First_Name)
983            OR (    (Recinfo.first_name IS NULL)
984                AND (X_First_Name IS NULL)))
985       AND (   (Recinfo.full_name = X_Full_Name)
986            OR (    (Recinfo.full_name IS NULL)
987                AND (X_Full_Name IS NULL)))
988       AND (   (Recinfo.known_as = X_Known_As)
989            OR (    (Recinfo.known_as IS NULL)
990                AND (X_Known_As IS NULL)))
991       AND (   (Recinfo.marital_status = X_Marital_Status)
992            OR (    (Recinfo.marital_status IS NULL)
993                AND (X_Marital_Status IS NULL)))
994       AND (   (Recinfo.middle_names = X_Middle_Names)
995            OR (    (Recinfo.middle_names IS NULL)
996                AND (X_Middle_Names IS NULL)))
997       AND (   (Recinfo.nationality = X_Nationality)
998            OR (    (Recinfo.nationality IS NULL)
999                AND (X_Nationality IS NULL)))
1003       AND (   (Recinfo.previous_last_name = X_Previous_Last_Name)
1000       AND (   (Recinfo.national_identifier = X_National_Identifier)
1001            OR (    (Recinfo.national_identifier IS NULL)
1002                AND (X_National_Identifier IS NULL)))
1004            OR (    (Recinfo.previous_last_name IS NULL)
1005                AND (X_Previous_Last_Name IS NULL)))
1006       AND (   (Recinfo.registered_disabled_flag = X_Registered_Disabled_Flag)
1007            OR (    (Recinfo.registered_disabled_flag IS NULL)
1008                AND (X_Registered_Disabled_Flag IS NULL)))
1009       AND (   (Recinfo.sex = X_Sex)
1010            OR (    (Recinfo.sex IS NULL)
1011                AND (X_Sex IS NULL)))
1012       AND (   (Recinfo.title = X_Title)
1013            OR (    (Recinfo.title IS NULL)
1014                AND (X_Title IS NULL)))
1015       AND (   (Recinfo.vendor_id = X_Vendor_Id)
1016            OR (    (Recinfo.vendor_id IS NULL)
1017                AND (X_Vendor_Id IS NULL)))
1018       AND (   (phoneinfo.phone_number = X_Work_Telephone)
1019            OR (    (phoneinfo.phone_number IS NULL)
1020                AND (X_Work_Telephone IS NULL)))
1021 
1022        )
1023 THEN
1024      IF (
1025          (   (Recinfo.attribute_category = X_Attribute_Category)
1026            OR (    (Recinfo.attribute_category IS NULL)
1027                AND (X_Attribute_Category IS NULL)))
1028       AND (   (Recinfo.attribute1 = X_Attribute1)
1029            OR (    (Recinfo.attribute1 IS NULL)
1030                AND (X_Attribute1 IS NULL)))
1031       AND (   (Recinfo.attribute2 = X_Attribute2)
1032            OR (    (Recinfo.attribute2 IS NULL)
1033                AND (X_Attribute2 IS NULL)))
1034       AND (   (Recinfo.attribute3 = X_Attribute3)
1035            OR (    (Recinfo.attribute3 IS NULL)
1036                AND (X_Attribute3 IS NULL)))
1037       AND (   (Recinfo.attribute4 = X_Attribute4)
1038            OR (    (Recinfo.attribute4 IS NULL)
1039                AND (X_Attribute4 IS NULL)))
1040       AND (   (Recinfo.attribute5 = X_Attribute5)
1041            OR (    (Recinfo.attribute5 IS NULL)
1042                AND (X_Attribute5 IS NULL)))
1043       AND (   (Recinfo.attribute6 = X_Attribute6)
1044            OR (    (Recinfo.attribute6 IS NULL)
1045                AND (X_Attribute6 IS NULL)))
1046       AND (   (Recinfo.attribute7 = X_Attribute7)
1047            OR (    (Recinfo.attribute7 IS NULL)
1048                AND (X_Attribute7 IS NULL)))
1049       AND (   (Recinfo.attribute8 = X_Attribute8)
1050            OR (    (Recinfo.attribute8 IS NULL)
1051                AND (X_Attribute8 IS NULL)))
1052       AND (   (Recinfo.attribute9 = X_Attribute9)
1053            OR (    (Recinfo.attribute9 IS NULL)
1054                AND (X_Attribute9 IS NULL)))
1055       AND (   (Recinfo.attribute10 = X_Attribute10)
1056            OR (    (Recinfo.attribute10 IS NULL)
1057                AND (X_Attribute10 IS NULL)))
1058       AND (   (Recinfo.attribute11 = X_Attribute11)
1059            OR (    (Recinfo.attribute11 IS NULL)
1060                AND (X_Attribute11 IS NULL)))
1061       AND (   (Recinfo.attribute12 = X_Attribute12)
1062            OR (    (Recinfo.attribute12 IS NULL)
1063                AND (X_Attribute12 IS NULL)))
1064       AND (   (Recinfo.attribute13 = X_Attribute13)
1065            OR (    (Recinfo.attribute13 IS NULL)
1066                AND (X_Attribute13 IS NULL)))
1067       AND (   (Recinfo.attribute14 = X_Attribute14)
1068            OR (    (Recinfo.attribute14 IS NULL)
1069                AND (X_Attribute14 IS NULL)))
1070       AND (   (Recinfo.attribute15 = X_Attribute15)
1071            OR (    (Recinfo.attribute15 IS NULL)
1072                AND (X_Attribute15 IS NULL)))
1073       AND (   (Recinfo.attribute16 = X_Attribute16)
1074            OR (    (Recinfo.attribute16 IS NULL)
1075                AND (X_Attribute16 IS NULL)))
1076       AND (   (Recinfo.attribute17 = X_Attribute17)
1077            OR (    (Recinfo.attribute17 IS NULL)
1078                AND (X_Attribute17 IS NULL)))
1079       AND (   (Recinfo.attribute18 = X_Attribute18)
1080            OR (    (Recinfo.attribute18 IS NULL)
1081                AND (X_Attribute18 IS NULL)))
1082       AND (   (Recinfo.attribute19 = X_Attribute19)
1083            OR (    (Recinfo.attribute19 IS NULL)
1084                AND (X_Attribute19 IS NULL)))
1085       AND (   (Recinfo.attribute20 = X_Attribute20)
1086            OR (    (Recinfo.attribute20 IS NULL)
1087                AND (X_Attribute20 IS NULL)))
1088       AND (   (Recinfo.attribute21 = X_Attribute21)
1089            OR (    (Recinfo.attribute21 IS NULL)
1090                AND (X_Attribute21 IS NULL)))
1091       AND (   (Recinfo.attribute22 = X_Attribute22)
1092            OR (    (Recinfo.attribute22 IS NULL)
1093                AND (X_Attribute22 IS NULL)))
1094       AND (   (Recinfo.attribute23 = X_Attribute23)
1095            OR (    (Recinfo.attribute23 IS NULL)
1096                AND (X_Attribute23 IS NULL)))
1097       AND (   (Recinfo.attribute24 = X_Attribute24)
1098            OR (    (Recinfo.attribute24 IS NULL)
1099                AND (X_Attribute24 IS NULL)))
1100       AND (   (Recinfo.attribute25 = X_Attribute25)
1101            OR (    (Recinfo.attribute25 IS NULL)
1102                AND (X_Attribute25 IS NULL)))
1103       AND (   (Recinfo.attribute26 = X_Attribute26)
1104            OR (    (Recinfo.attribute26 IS NULL)
1105                AND (X_Attribute26 IS NULL)))
1109       AND (   (Recinfo.attribute28 = X_Attribute28)
1106       AND (   (Recinfo.attribute27 = X_Attribute27)
1107            OR (    (Recinfo.attribute27 IS NULL)
1108                AND (X_Attribute27 IS NULL)))
1110            OR (    (Recinfo.attribute28 IS NULL)
1111                AND (X_Attribute28 IS NULL)))
1112       AND (   (Recinfo.attribute29 = X_Attribute29)
1113            OR (    (Recinfo.attribute29 IS NULL)
1114                AND (X_Attribute29 IS NULL)))
1115       AND (   (Recinfo.attribute30 = X_Attribute30)
1116            OR (    (Recinfo.attribute30 IS NULL)
1117                AND (X_Attribute30 IS NULL)))
1118       AND (   (Recinfo.per_information_category = X_Per_Information_Category)
1119            OR (    (Recinfo.per_information_category IS NULL)
1120                AND (X_Per_Information_Category IS NULL)))
1121       AND (   (Recinfo.per_information1 = X_Per_Information1)
1122            OR (    (Recinfo.per_information1 IS NULL)
1123                AND (X_Per_Information1 IS NULL)))
1124       AND (   (Recinfo.per_information2 = X_Per_Information2)
1125            OR (    (Recinfo.per_information2 IS NULL)
1126                AND (X_Per_Information2 IS NULL)))
1127       AND (   (Recinfo.per_information3 = X_Per_Information3)
1128            OR (    (Recinfo.per_information3 IS NULL)
1129                AND (X_Per_Information3 IS NULL)))
1130       AND (   (Recinfo.per_information4 = X_Per_Information4)
1131            OR (    (Recinfo.per_information4 IS NULL)
1132                AND (X_Per_Information4 IS NULL)))
1133       AND (   (Recinfo.per_information5 = X_Per_Information5)
1134            OR (    (Recinfo.per_information5 IS NULL)
1135                AND (X_Per_Information5 IS NULL)))
1136       AND (   (Recinfo.per_information6 = X_Per_Information6)
1137            OR (    (Recinfo.per_information6 IS NULL)
1138                AND (X_Per_Information6 IS NULL)))
1139       AND (   (Recinfo.per_information7 = X_Per_Information7)
1140            OR (    (Recinfo.per_information7 IS NULL)
1141                AND (X_Per_Information7 IS NULL)))
1142       AND (   (Recinfo.per_information8 = X_Per_Information8)
1143            OR (    (Recinfo.per_information8 IS NULL)
1144                AND (X_Per_Information8 IS NULL)))
1145       AND (   (Recinfo.per_information9 = X_Per_Information9)
1146            OR (    (Recinfo.per_information9 IS NULL)
1147                AND (X_Per_Information9 IS NULL)))
1148       AND (   (Recinfo.per_information10 = X_Per_Information10)
1149            OR (    (Recinfo.per_information10 IS NULL)
1150                AND (X_Per_Information10 IS NULL)))
1151       AND (   (Recinfo.per_information11 = X_Per_Information11)
1152            OR (    (Recinfo.per_information11 IS NULL)
1153                AND (X_Per_Information11 IS NULL)))
1154       AND (   (Recinfo.per_information12 = X_Per_Information12)
1155            OR (    (Recinfo.per_information12 IS NULL)
1156                AND (X_Per_Information12 IS NULL)))
1157       AND (   (Recinfo.per_information13 = X_Per_Information13)
1158            OR (    (Recinfo.per_information13 IS NULL)
1159                AND (X_Per_Information13 IS NULL)))
1160       AND (   (Recinfo.per_information14 = X_Per_Information14)
1161            OR (    (Recinfo.per_information14 IS NULL)
1162                AND (X_Per_Information14 IS NULL)))
1163       AND (   (Recinfo.per_information15 = X_Per_Information15)
1164            OR (    (Recinfo.per_information15 IS NULL)
1165                AND (X_Per_Information15 IS NULL)))
1166       AND (   (Recinfo.per_information16 = X_Per_Information16)
1167            OR (    (Recinfo.per_information16 IS NULL)
1168                AND (X_Per_Information16 IS NULL)))
1169       AND (   (Recinfo.per_information17 = X_Per_Information17)
1170            OR (    (Recinfo.per_information17 IS NULL)
1171                AND (X_Per_Information17 IS NULL)))
1172       AND (   (Recinfo.per_information18 = X_Per_Information18)
1173            OR (    (Recinfo.per_information18 IS NULL)
1174                AND (X_Per_Information18 IS NULL)))
1175       AND (   (Recinfo.per_information19 = X_Per_Information19)
1176            OR (    (Recinfo.per_information19 IS NULL)
1177                AND (X_Per_Information19 IS NULL)))
1178       AND (   (Recinfo.per_information20 = X_Per_Information20)
1179            OR (    (Recinfo.per_information20 IS NULL)
1180                AND (X_Per_Information20 IS NULL)))
1181       AND (   (Recinfo.per_information21 = X_Per_Information21)
1182            OR (    (Recinfo.per_information21 IS NULL)
1183                AND (X_Per_Information21 IS NULL)))
1184       AND (   (Recinfo.per_information22 = X_Per_Information22)
1185            OR (    (Recinfo.per_information22 IS NULL)
1186                AND (X_Per_Information22 IS NULL)))
1187       AND (   (Recinfo.per_information23 = X_Per_Information23)
1188            OR (    (Recinfo.per_information23 IS NULL)
1189                AND (X_Per_Information23 IS NULL)))
1190       AND (   (Recinfo.per_information24 = X_Per_Information24)
1191            OR (    (Recinfo.per_information24 IS NULL)
1192                AND (X_Per_Information24 IS NULL)))
1193       AND (   (Recinfo.per_information25 = X_Per_Information25)
1194            OR (    (Recinfo.per_information25 IS NULL)
1195                AND (X_Per_Information25 IS NULL)))
1196       AND (   (Recinfo.per_information26 = X_Per_Information26)
1197            OR (    (Recinfo.per_information26 IS NULL)
1198                AND (X_Per_Information26 IS NULL)))
1199       AND (   (Recinfo.per_information27 = X_Per_Information27)
1200            OR (    (Recinfo.per_information27 IS NULL)
1201                AND (X_Per_Information27 IS NULL)))
1202       AND (   (Recinfo.per_information28 = X_Per_Information28)
1203            OR (    (Recinfo.per_information28 IS NULL)
1204                AND (X_Per_Information28 IS NULL)))
1205       AND (   (Recinfo.per_information29 = X_Per_Information29)
1206            OR (    (Recinfo.per_information29 IS NULL)
1207                AND (X_Per_Information29 IS NULL)))
1208       AND (   (Recinfo.per_information30 = X_Per_Information30)
1209            OR (    (Recinfo.per_information30 IS NULL)
1210                AND (X_Per_Information30 IS NULL)))
1211           ) THEN
1212     RETURN;
1213   ELSE
1214     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
1215     APP_EXCEPTION.RAISE_EXCEPTION;
1216   END IF;
1217  END IF;
1218 END Lock_Row;
1219 --
1220 END PER_PEOPLE_V14_PKG;