DBA Data[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;