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