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