[Home] [Help]
PACKAGE BODY: APPS.QA_PC_ELEMENT_REL_PKG
Source
1 PACKAGE BODY QA_PC_ELEMENT_REL_PKG as
2 /* $Header: qapceleb.pls 120.2 2005/12/19 04:05:42 srhariha noship $ */
3 PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
4 X_Element_Relationship_Id IN OUT NOCOPY NUMBER,
5 X_Plan_Relationship_Id NUMBER,
6 X_Parent_Char_id NUMBER,
7 X_Child_Char_id NUMBER,
8 X_Element_Relationship_Type NUMBER,
9 X_Link_Flag NUMBER,
10 X_Last_Update_Date DATE,
11 X_Last_Updated_By NUMBER,
12 X_Creation_Date DATE,
13 X_Created_By NUMBER,
14 X_Last_Update_Login NUMBER
15 ) IS
16 CURSOR C IS SELECT rowid FROM QA_PC_ELEMENT_RELATIONSHIP
17 WHERE element_relationship_id = X_Element_Relationship_Id;
18 CURSOR C2 IS SELECT qa_pc_element_relationship_s.nextval FROM dual;
19
20 BEGIN
21 if (X_Element_Relationship_Id is NULL) then
22 OPEN C2;
23 FETCH C2 INTO X_Element_Relationship_Id;
24 CLOSE C2;
25 end if;
26 INSERT INTO QA_PC_ELEMENT_RELATIONSHIP(
27 element_relationship_id,
28 plan_relationship_id,
29 parent_char_id,
30 child_char_id,
31 element_relationship_type,
32 link_flag,
33 last_update_date,
34 last_updated_by,
35 creation_date,
36 created_by,
37 last_update_login
38 ) VALUES (
39 X_Element_Relationship_Id,
40 X_Plan_Relationship_Id,
41 X_Parent_Char_id,
42 X_Child_Char_id,
43 X_Element_Relationship_Type,
44 X_Link_Flag,
45 X_Last_Update_Date,
46 X_Last_Updated_By,
47 X_Creation_Date,
48 X_Created_By,
49 X_Last_Update_Login
50 );
51 OPEN C;
52 FETCH C INTO X_Rowid;
53 if (C%NOTFOUND) then
54 CLOSE C;
55 Raise NO_DATA_FOUND;
56 end if;
57 CLOSE C;
58 END Insert_Row;
59
60 PROCEDURE Lock_Row( X_Rowid VARCHAR2,
61 X_Element_Relationship_Id NUMBER,
62 X_Plan_Relationship_Id NUMBER,
63 X_Parent_Char_id NUMBER,
64 X_Child_Char_id NUMBER,
65 X_Element_Relationship_Type NUMBER,
66 X_Link_Flag NUMBER,
67 X_Last_Update_Date DATE,
68 X_Last_Updated_By NUMBER,
69 X_Creation_Date DATE,
70 X_Created_By NUMBER
71 ) IS
72 CURSOR C IS
73 SELECT *
74 FROM QA_PC_ELEMENT_RELATIONSHIP
75 WHERE rowid = X_Rowid
76 FOR UPDATE of element_relationship_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 (
90 (Recinfo.element_relationship_id = X_Element_Relationship_Id)
91 AND (Recinfo.plan_relationship_id = X_Plan_Relationship_Id)
92 AND (Recinfo.parent_char_id = X_Parent_Char_id)
93 AND (Recinfo.child_char_id = X_Child_Char_id)
94 AND (Recinfo.element_relationship_type = X_Element_Relationship_Type)
95 AND (Recinfo.link_flag = X_Link_Flag)
96 AND (Recinfo.last_update_date = X_Last_Update_Date)
97 AND (Recinfo.last_updated_by = X_Last_Updated_By)
98 AND (Recinfo.creation_date = X_Creation_Date)
99 AND (Recinfo.created_by = X_Created_By)
100 ) then
101 return;
102 else
103 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
104 APP_EXCEPTION.Raise_Exception;
105 end if;
106 END Lock_Row;
107
108 PROCEDURE Update_Row (X_Rowid VARCHAR2,
109 X_Element_Relationship_Id NUMBER,
110 X_Plan_Relationship_Id NUMBER,
111 X_Parent_Char_id NUMBER,
112 X_Child_Char_id NUMBER,
113 X_Element_Relationship_Type NUMBER,
114 X_Link_Flag NUMBER,
115 X_Last_Update_Date DATE,
116 X_Last_Updated_By NUMBER,
117 X_Creation_Date DATE,
118 X_Created_By NUMBER,
119 X_Last_Update_Login NUMBER
120 ) IS
121
122 BEGIN
123 UPDATE QA_PC_ELEMENT_RELATIONSHIP
124 SET
125 element_relationship_id = X_Element_Relationship_Id,
126 plan_relationship_id = X_Plan_Relationship_Id,
127 parent_char_id = X_Parent_Char_id,
128 child_char_id = X_Child_Char_id,
129 element_relationship_type = X_Element_Relationship_Type,
130 link_flag = X_Link_Flag,
131 last_update_date = X_Last_Update_Date,
132 last_updated_by = X_Last_Updated_By,
133 creation_date = X_Creation_Date,
134 created_by = X_Created_By,
135 last_update_login = X_Last_Update_Login
136
137 WHERE rowid = X_Rowid;
138
139 if (SQL%NOTFOUND) then
140 Raise NO_DATA_FOUND;
141 end if;
142 END Update_Row;
143
144 PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
145 BEGIN
146 DELETE FROM QA_PC_ELEMENT_RELATIONSHIP
147 WHERE rowid = X_Rowid;
148
149 if (SQL%NOTFOUND) then
150 Raise NO_DATA_FOUND;
151 end if;
152 END Delete_Row;
153
154
155 END QA_PC_ELEMENT_REL_PKG;