104: and nvl(pasa.default_flag,past.default_flag) = 'Y'
105: and nvl(pasa.per_system_status,past.per_system_status) = 'ACTIVE_ASSIGN';
106: --
107: BEGIN
108: hr_utility.set_location('per_assignments_v7_pkg.insert_row',10);
109: if (X_Assignment_Id is NULL) then
110: OPEN C2;
111: FETCH C2 INTO X_Assignment_Id;
112: CLOSE C2;
110: OPEN C2;
111: FETCH C2 INTO X_Assignment_Id;
112: CLOSE C2;
113: end if;
114: hr_utility.set_location('per_assignments_v7_pkg.insert_row',20);
115: open c3;
116: fetch c3 into X_assignment_status_type_id;
117: close c3;
118: --
115: open c3;
116: fetch c3 into X_assignment_status_type_id;
117: close c3;
118: --
119: hr_utility.set_location('per_assignments_v7_pkg.insert_row',30);
120: hr_assignment.gen_new_ass_sequence(X_person_id
121: ,X_Assignment_type
122: ,X_assignment_sequence);
123: --
120: hr_assignment.gen_new_ass_sequence(X_person_id
121: ,X_Assignment_type
122: ,X_assignment_sequence);
123: --
124: hr_utility.set_location('per_assignments_v7_pkg.insert_row',40);
125: hr_assignment.gen_new_ass_number(X_Assignment_Id
126: ,X_business_group_id
127: ,X_employee_number
128: ,X_assignment_sequence
129: ,X_assignment_number);
130: --
131: -- Check for current primary
132: --
133: hr_utility.set_location('per_assignments_v7_pkg.insert_row',50);
134:
135: -- Added the parameter X_eff_dt for the bug 6817459
136: per_assignments_v7_pkg.check_primary(X_person_id => X_person_id
137: ,X_eff_dt => X_Effective_Start_Date
136: per_assignments_v7_pkg.check_primary(X_person_id => X_person_id
137: ,X_eff_dt => X_Effective_Start_Date
138: ,X_primary_flag => X_primary_flag);
139: --
140: hr_utility.set_location('per_assignments_v7_pkg.insert_row',60);
141: INSERT INTO PER_ASSIGNMENTS_F(
142: assignment_id,
143: effective_start_date,
144: effective_end_date,
318: CLOSE C;
319: --
320: -- add the person to the appropriate security lists
321: --
322: hr_utility.set_location('per_assignments_v7_pkg.insert_row',70);
323: hr_security_internal.add_to_person_list
324: (p_effective_date => sysdate
325: ,p_assignment_id => X_Assignment_Id);
326: --
323: hr_security_internal.add_to_person_list
324: (p_effective_date => sysdate
325: ,p_assignment_id => X_Assignment_Id);
326: --
327: hr_utility.set_location('per_assignments_v7_pkg.insert_row',80);
328: END Insert_Row;
329: --
330: PROCEDURE Lock_Row(X_Rowid VARCHAR2,
331: X_Assignment_Id NUMBER,
414: WHERE rowid = X_Rowid
415: FOR UPDATE of Assignment_Id NOWAIT;
416: Recinfo C%ROWTYPE;
417: BEGIN
418: hr_utility.set_location('per_assignments_v7_pkg.lock_row',10);
419: OPEN C;
420: FETCH C INTO Recinfo;
421: if (C%NOTFOUND) then
422: CLOSE C;
422: CLOSE C;
423: RAISE NO_DATA_FOUND;
424: end if;
425: CLOSE C;
426: hr_utility.set_location('per_assignments_v7_pkg.lock_row',20);
427: if (
428: ( (Recinfo.assignment_id = X_Assignment_Id)
429: OR ( (Recinfo.assignment_id IS NULL)
430: AND (X_Assignment_Id IS NULL)))
673: else
674: FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
675: APP_EXCEPTION.RAISE_EXCEPTION;
676: end if;
677: hr_utility.set_location('per_assignments_v7_pkg.lock_row',30);
678: END Lock_Row;
679: PROCEDURE Update_Row(X_Rowid VARCHAR2,
680: X_Assignment_Id NUMBER,
681: X_Effective_Start_Date DATE,
771: --
772: l_old_org_id per_all_assignments_f.organization_id%TYPE;
773: --
774: BEGIN
775: hr_utility.set_location('per_assignments_v7_pkg.update_row',10);
776: if X_Current_application_id = 810
777: then
778: hr_utility.set_location('per_assignments_v7_pkg.update_row',20);
779: per_assignments_v7_pkg.get_future_changes(X_assignment_id
774: BEGIN
775: hr_utility.set_location('per_assignments_v7_pkg.update_row',10);
776: if X_Current_application_id = 810
777: then
778: hr_utility.set_location('per_assignments_v7_pkg.update_row',20);
779: per_assignments_v7_pkg.get_future_changes(X_assignment_id
780: ,X_effective_start_date
781: ,X_Current_application_id);
782: hr_utility.set_location('per_assignments_v7_pkg.update_row',30);
778: hr_utility.set_location('per_assignments_v7_pkg.update_row',20);
779: per_assignments_v7_pkg.get_future_changes(X_assignment_id
780: ,X_effective_start_date
781: ,X_Current_application_id);
782: hr_utility.set_location('per_assignments_v7_pkg.update_row',30);
783: end if;
784: --
785: -- get the current organization
786: --
788: fetch org into l_old_org_id;
789: if org%NOTFOUND then
790: close org;
791: else
792: hr_utility.set_location('per_assignments_v7_pkg.update_row',40);
793: close org;
794: end if;
795: --
796: hr_utility.set_location('per_assignments_v7_pkg.update_row',50);
792: hr_utility.set_location('per_assignments_v7_pkg.update_row',40);
793: close org;
794: end if;
795: --
796: hr_utility.set_location('per_assignments_v7_pkg.update_row',50);
797: UPDATE PER_ASSIGNMENTS_F
798: SET
799: assignment_id = X_Assignment_Id,
800: effective_start_date = X_Effective_Start_Date,
882: WHERE rowid = X_rowid;
883: if (SQL%NOTFOUND) then
884: RAISE NO_DATA_FOUND;
885: end if;
886: hr_utility.set_location('per_assignments_v7_pkg.update_row',60);
887: --
888: -- update the security lists
889: --
890: if (l_old_org_id = X_Business_Group_Id
888: -- update the security lists
889: --
890: if (l_old_org_id = X_Business_Group_Id
891: and X_Organization_Id <> X_Business_Group_Id) then
892: hr_utility.set_location('per_assignments_v7_pkg.update_row',70);
893: hr_security_internal.clear_from_person_list(X_Person_Id);
894: end if;
895: hr_utility.set_location('per_assignments_v7_pkg.update_row',80);
896: --2468956: change the date from sysdate to x_effective_start_date in following
891: and X_Organization_Id <> X_Business_Group_Id) then
892: hr_utility.set_location('per_assignments_v7_pkg.update_row',70);
893: hr_security_internal.clear_from_person_list(X_Person_Id);
894: end if;
895: hr_utility.set_location('per_assignments_v7_pkg.update_row',80);
896: --2468956: change the date from sysdate to x_effective_start_date in following
897: hr_security_internal.add_to_person_list(X_Effective_Start_Date,X_Assignment_Id);
898: hr_utility.set_location('per_assignments_v7_pkg.update_row',90);
899: --
894: end if;
895: hr_utility.set_location('per_assignments_v7_pkg.update_row',80);
896: --2468956: change the date from sysdate to x_effective_start_date in following
897: hr_security_internal.add_to_person_list(X_Effective_Start_Date,X_Assignment_Id);
898: hr_utility.set_location('per_assignments_v7_pkg.update_row',90);
899: --
900: END Update_Row;
901: PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
902: BEGIN
899: --
900: END Update_Row;
901: PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
902: BEGIN
903: hr_utility.set_location('per_assignments_v7_pkg.delete_row',10);
904: DELETE FROM PER_ASSIGNMENTS_F
905: WHERE rowid = X_Rowid;
906: if (SQL%NOTFOUND) then
907: RAISE NO_DATA_FOUND;
905: WHERE rowid = X_Rowid;
906: if (SQL%NOTFOUND) then
907: RAISE NO_DATA_FOUND;
908: end if;
909: hr_utility.set_location('per_assignments_v7_pkg.delete_row',20);
910: END Delete_Row;
911: --
912: PROCEDURE get_location_address (X_location_id NUMBER
913: ,X_Address_Line_1 IN OUT NOCOPY VARCHAR2
1099: --
1100: l_dummy VARCHAR2(1);
1101: --
1102: begin
1103: hr_utility.set_location('Entering: get_previous_changes',10);
1104: open get_previous_changes;
1105: fetch get_previous_changes into l_dummy;
1106: if get_previous_changes%found
1107: then
1109: fnd_message.set_name('PER','HR_6839_EMP_REF_DATE_CHG');
1110: app_exception.raise_exception;
1111: end if;
1112: close get_previous_changes;
1113: hr_utility.set_location('Leaving: get_previous_changes',20);
1114: end;
1115: --
1116: procedure get_future_changes (x_assignment_id NUMBER
1117: ,x_effective_start_date DATE