[Home] [Help]
PACKAGE BODY: APPS.PA_PROJECT_CONTACTS_PKG
Source
1 PACKAGE BODY PA_PROJECT_CONTACTS_PKG as
2 /* $Header: PAXPRCOB.pls 120.1 2005/08/19 17:17:12 mwasowic noship $ */
3
4 PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
5
6 X_Project_Id NUMBER,
7 X_Customer_Id NUMBER,
8 X_Bill_Ship_Customer_Id NUMBER,
9 X_Contact_Id NUMBER,
10 X_Project_Contact_Type_Code VARCHAR2,
11 X_Last_Update_Date DATE,
12 X_Last_Updated_By NUMBER,
13 X_Creation_Date DATE,
14 X_Created_By NUMBER,
15 X_Last_Update_Login NUMBER,
16 X_Record_Version_Number NUMBER
17 ) IS
18 CURSOR C IS SELECT rowid FROM pa_project_contacts
19 WHERE project_id = X_Project_Id
20 AND customer_id = X_Customer_Id
21 AND contact_id = X_Contact_Id;
22
23 BEGIN
24
25
26 INSERT INTO pa_project_contacts(
27
28 project_id,
29 customer_id,
30 bill_ship_customer_id,
31 contact_id,
32 project_contact_type_code,
33 last_update_date,
34 last_updated_by,
35 creation_date,
36 created_by,
37 last_update_login,
38 record_version_number
39 ) VALUES (
40
41 X_Project_Id,
42 X_Customer_Id,
43 X_Bill_Ship_Customer_Id,
44 X_Contact_Id,
45 X_Project_Contact_Type_Code,
46 X_Last_Update_Date,
47 X_Last_Updated_By,
48 X_Creation_Date,
49 X_Created_By,
50 X_Last_Update_Login,
51 X_Record_Version_Number
52 );
53
54 OPEN C;
55 FETCH C INTO X_Rowid;
56 if (C%NOTFOUND) then
57 CLOSE C;
58 Raise NO_DATA_FOUND;
59 end if;
60 CLOSE C;
61 END Insert_Row;
62
63
64 PROCEDURE Lock_Row(X_Rowid VARCHAR2,
65
66 X_Project_Id NUMBER,
67 X_Customer_Id NUMBER,
68 X_Contact_Id NUMBER,
69 X_Project_Contact_Type_Code VARCHAR2,
70 X_Record_Version_Number NUMBER
71 ) IS
72 CURSOR C IS
73 SELECT *
74 FROM pa_project_contacts
75 WHERE rowid = X_Rowid
76 FOR UPDATE of Project_Id NOWAIT;
77 Recinfo C%ROWTYPE;
78
79
80 BEGIN
81 OPEN C;
82 FETCH C INTO Recinfo;
83 if (C%NOTFOUND) then
84 CLOSE C;
85 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
86 APP_EXCEPTION.Raise_Exception;
87 end if;
88 CLOSE C;
89 if recinfo.record_version_number <> x_record_version_number
90 then
91 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
92 APP_EXCEPTION.Raise_Exception;
93 end if;
94 if (
95
96 (Recinfo.project_id = X_Project_Id)
97 AND (Recinfo.customer_id = X_Customer_Id)
98 AND (Recinfo.contact_id = X_Contact_Id)
99 AND (Recinfo.project_contact_type_code = X_Project_Contact_Type_Code
100 )
101 ) then
102 return;
103 else
104 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
105 APP_EXCEPTION.Raise_Exception;
106 end if;
107 END Lock_Row;
108
109
110
111 PROCEDURE Update_Row(X_Rowid VARCHAR2,
112
113 X_Project_Id NUMBER,
114 X_Customer_Id NUMBER,
115 X_Bill_Ship_Customer_Id NUMBER,
116 X_Contact_Id NUMBER,
117 X_Project_Contact_Type_Code VARCHAR2,
118 X_Last_Update_Date DATE,
119 X_Last_Updated_By NUMBER,
120 X_Last_Update_Login NUMBER,
121 X_Record_Version_Number NUMBER
122
123 ) IS
124 CURSOR C IS
125 SELECT *
126 FROM pa_project_contacts
127 WHERE rowid = X_Rowid;
128 Recinfo C%ROWTYPE;
129 BEGIN
130 OPEN C;
131 FETCH C INTO Recinfo;
132 if (C%NOTFOUND) then
133 CLOSE C;
134 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
135 APP_EXCEPTION.Raise_Exception;
136 end if;
137 CLOSE C;
138 if recinfo.record_version_number <> x_record_version_number
139 then
140 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
141 APP_EXCEPTION.Raise_Exception;
142 end if;
143 UPDATE pa_project_contacts
144 SET
145 project_id = X_Project_Id,
146 customer_id = X_Customer_Id,
147 bill_ship_customer_id = X_Bill_Ship_Customer_Id,
148 contact_id = X_Contact_Id,
149 project_contact_type_code = X_Project_Contact_Type_Code,
150 last_update_date = X_Last_Update_Date,
151 last_updated_by = X_Last_Updated_By,
152 last_update_login = X_Last_Update_Login,
153 record_Version_number = X_Record_Version_Number + 1
154 WHERE rowid = X_Rowid;
155
156 if (SQL%NOTFOUND) then
157 Raise NO_DATA_FOUND;
158 end if;
159 END Update_Row;
160 PROCEDURE Delete_Row(X_Rowid VARCHAR2,
161 x_record_version_number number) IS
162 CURSOR C IS
163 SELECT *
164 FROM pa_project_contacts
165 WHERE rowid = X_Rowid;
166 Recinfo C%ROWTYPE;
167
168 BEGIN
169 OPEN C;
170 FETCH C INTO Recinfo;
171 if (C%NOTFOUND) then
172 CLOSE C;
173 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
174 APP_EXCEPTION.Raise_Exception;
175 end if;
176 CLOSE C;
177 if recinfo.record_version_number <> x_record_version_number
178 then
179 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
180 APP_EXCEPTION.Raise_Exception;
181 end if;
182 DELETE FROM pa_project_contacts
183 WHERE rowid = X_Rowid;
184
185 if (SQL%NOTFOUND) then
186 Raise NO_DATA_FOUND;
187 end if;
188 END Delete_Row;
189
190
191 END PA_PROJECT_CONTACTS_PKG;