DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_PROJ_ASSET_ASSIGN_PKG

Source


1 PACKAGE BODY PA_PROJ_ASSET_ASSIGN_PKG as
2 /* $Header: PAXASSNB.pls 120.2 2005/08/19 16:18:54 ramurthy noship $ */
3 
4   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
5 
6                        X_Project_Asset_Id               NUMBER,
7                        X_Task_Id                        NUMBER,
8                        X_Project_Id                     NUMBER,
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   		) IS
15     CURSOR C IS SELECT rowid FROM pa_project_asset_assignments
16                  WHERE  project_asset_id = X_project_asset_id AND
17 			project_id = X_project_id AND
18 			task_id = X_task_id;
19 
20    BEGIN
21 
22        INSERT INTO pa_project_asset_assignments(
23               project_asset_id,
24               task_id,
25               project_id,
26               last_update_date,
27               last_updated_by,
28               creation_date,
29               created_by,
30               last_update_login
31              ) VALUES (
32               X_Project_Asset_Id,
33               X_Task_Id,
34               X_Project_Id,
35               X_Last_Update_Date,
36               X_Last_Updated_By,
37               X_Creation_Date,
38               X_Created_By,
39               X_Last_Update_Login
40              );
41 
42     OPEN C;
43     FETCH C INTO X_Rowid;
44     if (C%NOTFOUND) then
45       CLOSE C;
46       Raise NO_DATA_FOUND;
47     end if;
48     CLOSE C;
49   END Insert_Row;
50 
51 
52   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
53                      X_Project_Asset_Id                 NUMBER,
54                      X_Task_Id                          NUMBER,
55                      X_Project_Id                       NUMBER
56   ) IS
57     CURSOR C IS
58         SELECT *
59         FROM   pa_project_asset_assignments
60         WHERE  rowid = X_Rowid
61         FOR UPDATE of project_asset_id, project_id, task_id  NOWAIT;
62     Recinfo C%ROWTYPE;
63 
64   BEGIN
65     OPEN C;
66     FETCH C INTO Recinfo;
67     if (C%NOTFOUND) then
68       CLOSE C;
69       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
70       APP_EXCEPTION.Raise_Exception;
71     end if;
72     CLOSE C;
73     if (
74                (Recinfo.project_asset_id =  X_Project_Asset_Id)
75            AND (   (Recinfo.task_id =  X_Task_Id)
76                 OR (    (Recinfo.task_id IS NULL)
77                     AND (X_Task_Id IS NULL)))
78            AND (Recinfo.project_id =  X_Project_Id)
79       ) then
80       return;
81     else
82       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
83       APP_EXCEPTION.Raise_Exception;
84     end if;
85   END Lock_Row;
86 
87 
88 
89   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
90                        X_Project_Asset_Id               NUMBER,
91                        X_Task_Id                        NUMBER,
92                        X_Project_Id                     NUMBER,
93                        X_Last_Update_Date               DATE,
94                        X_Last_Updated_By                NUMBER,
95                        X_Last_Update_Login              NUMBER
96 
97   ) IS
98   BEGIN
99     UPDATE pa_project_asset_assignments
100     SET
101        project_asset_id                =     X_Project_Asset_Id,
102        task_id                         =     X_Task_Id,
103        project_id                      =     X_Project_Id,
104        last_update_date                =     X_Last_Update_Date,
105        last_updated_by                 =     X_Last_Updated_By,
106        last_update_login               =     X_Last_Update_Login
107     WHERE rowid = X_Rowid;
108 
109     if (SQL%NOTFOUND) then
110       Raise NO_DATA_FOUND;
111     end if;
112   END Update_Row;
113 
114   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
115   BEGIN
116     DELETE FROM pa_project_asset_assignments
117     WHERE rowid = X_Rowid;
118 
119     if (SQL%NOTFOUND) then
120       Raise NO_DATA_FOUND;
121     end if;
122   END Delete_Row;
123 
124 
125 END PA_PROJ_ASSET_ASSIGN_PKG;