[Home] [Help]
PACKAGE BODY: APPS.PA_COST_DIST_OVERRIDES_PKG
Source
1 PACKAGE BODY PA_COST_DIST_OVERRIDES_PKG as
2 /* $Header: PAXPRORB.pls 120.2 2005/08/03 13:57:27 aaggarwa noship $ */
3
4 PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
5 X_Cost_Dist_Override_Id IN OUT NOCOPY NUMBER,
6 X_Project_Id NUMBER,
7 X_Override_To_Org_Id NUMBER,
8 X_Start_Date_Active DATE,
9 X_Last_Update_Date DATE,
10 X_Last_Updated_By NUMBER,
11 X_Creation_Date DATE,
12 X_Created_By NUMBER,
13 X_Last_Update_Login NUMBER,
14 X_Person_Id NUMBER,
15 X_Expenditure_Category VARCHAR2,
16 X_Override_From_Org_Id NUMBER,
17 X_End_Date_Active DATE
18 ) IS
19 CURSOR C IS SELECT rowid FROM PA_COST_DIST_OVERRIDES
20 WHERE cost_distribution_override_id = X_Cost_Dist_Override_Id;
21 CURSOR C2 IS SELECT pa_cost_dist_overrides_s.nextval FROM sys.dual;
22 BEGIN
23 if (X_Cost_Dist_Override_Id is NULL) then
24 OPEN C2;
25 FETCH C2 INTO X_Cost_Dist_Override_Id;
26 CLOSE C2;
27 end if;
28
29 INSERT INTO PA_COST_DIST_OVERRIDES(
30 cost_distribution_override_id,
31 project_id,
32 override_to_organization_id,
33 start_date_active,
34 last_update_date,
35 last_updated_by,
36 creation_date,
37 created_by,
38 last_update_login,
39 person_id,
40 expenditure_category,
41 override_from_organization_id,
42 end_date_active
43 ) VALUES (
44 X_Cost_Dist_Override_Id,
45 X_Project_Id,
46 X_Override_To_Org_Id,
47 X_Start_Date_Active,
48 X_Last_Update_Date,
49 X_Last_Updated_By,
50 X_Creation_Date,
51 X_Created_By,
52 X_Last_Update_Login,
53 X_Person_Id,
54 X_Expenditure_Category,
55 X_Override_From_Org_Id,
56 X_End_Date_Active
57 );
58
59 OPEN C;
60 FETCH C INTO X_Rowid;
61 if (C%NOTFOUND) then
62 CLOSE C;
63 Raise NO_DATA_FOUND;
64 end if;
65 CLOSE C;
66 END Insert_Row;
67
68
69 PROCEDURE Lock_Row(X_Rowid VARCHAR2,
70 X_Cost_Dist_Override_Id NUMBER,
71 X_Project_Id NUMBER,
72 X_Override_To_Org_Id NUMBER,
73 X_Start_Date_Active DATE,
74 X_Person_Id NUMBER,
75 X_Expenditure_Category VARCHAR2,
76 X_Override_From_Org_Id NUMBER,
77 X_End_Date_Active DATE
78 ) IS
79 CURSOR C IS
80 SELECT *
81 FROM PA_COST_DIST_OVERRIDES
82 WHERE rowid = X_Rowid
83 FOR UPDATE of Cost_Distribution_Override_Id NOWAIT;
84 Recinfo C%ROWTYPE;
85
86
87 BEGIN
88 OPEN C;
89 FETCH C INTO Recinfo;
90 if (C%NOTFOUND) then
91 CLOSE C;
92 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
93 APP_EXCEPTION.Raise_Exception;
94 end if;
95 CLOSE C;
96 if (
97 (Recinfo.cost_distribution_override_id = X_Cost_Dist_Override_Id)
98 AND (Recinfo.project_id = X_Project_Id)
99 AND (Recinfo.override_to_organization_id = X_Override_To_Org_Id)
100 AND (Recinfo.start_date_active = X_Start_Date_Active)
101 AND ( (Recinfo.person_id = X_Person_Id)
102 OR ( (Recinfo.person_id IS NULL)
103 AND (X_Person_Id IS NULL)))
104 AND ( (Recinfo.expenditure_category = X_Expenditure_Category)
105 OR ( (Recinfo.expenditure_category IS NULL)
106 AND (X_Expenditure_Category IS NULL)))
107 AND ( (Recinfo.override_from_organization_id = X_Override_From_Org_Id)
108 OR ( (Recinfo.override_from_organization_id IS NULL)
109 AND (X_Override_From_Org_Id IS NULL)))
110 AND ( (Recinfo.end_date_active = X_End_Date_Active)
111 OR ( (Recinfo.end_date_active IS NULL)
112 AND (X_End_Date_Active IS NULL)))
113 ) then
114 return;
115 else
116 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
117 APP_EXCEPTION.Raise_Exception;
118 end if;
119 END Lock_Row;
120
121
122
123 PROCEDURE Update_Row(X_Rowid VARCHAR2,
124 X_Cost_Dist_Override_Id NUMBER,
125 X_Project_Id NUMBER,
126 X_Override_To_Org_Id NUMBER,
127 X_Start_Date_Active DATE,
128 X_Last_Update_Date DATE,
129 X_Last_Updated_By NUMBER,
130 X_Last_Update_Login NUMBER,
131 X_Person_Id NUMBER,
132 X_Expenditure_Category VARCHAR2,
133 X_Override_From_Org_Id NUMBER,
134 X_End_Date_Active DATE
135 ) IS
136 BEGIN
137 UPDATE PA_COST_DIST_OVERRIDES
138 SET
139 cost_distribution_override_id = X_Cost_Dist_Override_Id,
140 project_id = X_Project_Id,
141 override_to_organization_id = X_Override_To_Org_Id,
142 start_date_active = X_Start_Date_Active,
143 last_update_date = X_Last_Update_Date,
144 last_updated_by = X_Last_Updated_By,
145 last_update_login = X_Last_Update_Login,
146 person_id = X_Person_Id,
147 expenditure_category = X_Expenditure_Category,
148 override_from_organization_id = X_Override_From_Org_Id,
149 end_date_active = X_End_Date_Active
150 WHERE rowid = X_Rowid;
151 if (SQL%NOTFOUND) then
152 Raise NO_DATA_FOUND;
153 end if;
154 END Update_Row;
155 PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
156 BEGIN
157 DELETE FROM PA_COST_DIST_OVERRIDES
158 WHERE rowid = X_Rowid;
159 if (SQL%NOTFOUND) then
160 Raise NO_DATA_FOUND;
161 end if;
162 END Delete_Row;
163
164
165 END PA_COST_DIST_OVERRIDES_PKG;